Bonjour à tous,
j' arrive à lire, avec un code python, une valeur sur un automate en opc ua mais j'ai une erreur pour écrire vers l'automate: Pouvez-vous m'aider ?
ci-dessous le code et le détail de l'erreur ensuite
Merci à vous pour vos lumières
Requested session timeout to be 3600000ms, got 30000ms instead
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33try: # Connexion au serveur OPC UA client.connect() print(f"Connecté au serveur OPC UA à {url}") # Accéder à un objet ou une variable spécifique dans l'automate node = client.get_node("ns=4;i=7") # Remplacez par l'ID de votre nœud print(f"Node trouvé : {node}") # Lire la valeur d'une variable value = node.get_value() print(f"Valeur lue : {value}") # Écrire une nouvelle valeur dans la variable # node.set_value (2,6) # Remplacez cette valeur par la valeur que vous souhaitez écrire # print("Nouvelle valeur écrite dans le nœud") #write_value_real("ns=4;i=8",5.5) #write_value_real('ns=4;i=8',5.5) node1 = client.get_node("ns=4;i=8") new_value= 5.6 node1.set_value(new_value) print(f"Nouvelle valeur écrite dans le nœud : {new_value}") finally: # Déconnexion du serveur OPC UA client.disconnect() print("Déconnecté du serveur OPC UA")
Connecté au serveur OPC UA à opc.tcp://140.80.1.2:4840
Node trouvé : ns=4;i=7
Valeur lue : 50
Déconnecté du serveur OPC UA
Traceback (most recent call last):
File "d:\Pyython Prog\Test_opc", line 58, in <module>
node1.set_value(new_value)
~~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\Users\daveb\AppData\Local\Programs\Python\Python313\Lib\site-packages\opcua\common\node.py", line 217, in set_value
self.set_attribute(ua.AttributeIds.Value, datavalue)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\daveb\AppData\Local\Programs\Python\Python313\Lib\site-packages\opcua\common\node.py", line 263, in set_attribute
result[0].check()
~~~~~~~~~~~~~~~^^
File "C:\Users\daveb\AppData\Local\Programs\Python\Python313\Lib\site-packages\opcua\ua\uatypes.py", line 218, in check
raise UaStatusCodeError(self.value)
opcua.ua.uaerrors._auto.BadWriteNotSupported: "The server does not support writing the combination of value, status and timestamps provided."(BadWriteNotSupported)
PS C:\Users\daveb>








Répondre avec citation
Partager