DIALOGUER AVEC UN AUTOMATE SCHNEIDER À PARTIR D'UN SERVER OPC

cs_JACKY007 Messages postés 23 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 1 décembre 2010 - 20 juin 2006 à 08:59
cs_guda Messages postés 20 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 février 2013 - 11 févr. 2013 à 11:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38190-dialoguer-avec-un-automate-schneider-a-partir-d-un-server-opc

cs_guda Messages postés 20 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 février 2013
11 févr. 2013 à 11:14
Bonjour,

Votre problème est uniquement due au fait qu'un item ne peut être écrit, que s'il est connu du serveur. Il faut créer un group avec cet item et ensuite y accéder.

j'ai donc rajouté
Private groupWrite As Opc.Da.Subscription
Private groupStateWrite As New Opc.Da.SubscriptionState
groupStateWrite = New Opc.Da.SubscriptionState()
groupStateWrite.Name = "Group_Write"
groupStateWrite.Active = False ' not needed to read if you want to write only
groupStateWrite.ClientHandle = 1
groupStateWrite.UpdateRate = 0
groupWrite = server.CreateSubscription(groupStateWrite)

items(0) = New Opc.Da.Item
items(0).ItemName = "MON_ITEM"
groupWrite.AddItems(items) 'on rajoute ces items au groupe d'écriture

Ensuite, lorsque je veux écrire un item, je vais accéder à groupWrite
Dim item As Opc.Da.ItemValue() = New Opc.Da.ItemValue(0) {} 'créé un tableau d'item contenant qu'une seule valeur
item(0) = New Opc.Da.ItemValue ' créé l'item a écrire
item(0).ItemName = "MON_ITEM" 'pas obligatoire car le plus important c'est le ServerHandle
item(0).ServerHandle = index_de_Mon_item
item(0).Value = 1
result = groupWrite.Write(item)
oliz3 Messages postés 3 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 11:10
Bonjour

appel le fabricant du SErveur OFS (OPC de Schneider) ils pourront t'aider.
sinon OPCfoundation.org
@+

Schneider electric Chorus : 0825 012 999
ahmed29vb6 Messages postés 4 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 28 novembre 2008
28 nov. 2008 à 16:11
pouvez vous poster lez projet en entier
pour voir aussi l interface pour pouvoir faire l essai
merci
oliz3 Messages postés 3 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 1 décembre 2008
27 juin 2007 à 14:52
Bonjour,
vous pouvez demander de l'aide sur la programmation des serveurs Schneider directement chez le fabricant au 0825012999
En plus si vous etes abonnés vous pourrez telecharger et tester le serveur OFS V3.31 compatible .NET.
Salutations
ludolechinois Messages postés 12 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 27 février 2008
11 juin 2007 à 10:35
Bonjour Jacky007,
Je suis interesse par les bibliotheques gratuite avec exemple. Peux tu me donner plus d'information et ou est ce que je peux les telecharger
cs_JACKY007 Messages postés 23 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 1 décembre 2010
20 juin 2006 à 08:59
Des codes de ce type (et qui fonctionne) existe déjà dans les codes sources (notamment en VB6).
Des bibliothèques gratuites (avec exemples...) permettent de se connecter via OPC à toute sorte d'Automates (ABB, Siemens ou comme ici Schneider). Donc pas la peine de ré-inventer la roue !
Rejoignez-nous