opcua read e write
This commit is contained in:
1 parent
6750251703
commit
289e09ddba
4 files changed
+4062
-13
No files matched your search
@@ -0,0 +1,97 @@
|
||||
<script type="text/javascript">
|
||||
RED.nodes.registerType('opcua-briq-write', {
|
||||
category: 'plc',
|
||||
color: '#ffaaff',
|
||||
defaults: {
|
||||
name: { value: "" }
|
||||
},
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
icon: "serial.png",
|
||||
label: function () {
|
||||
return this.name || "opcua write";
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-template-name="opcua-briq-write">
|
||||
<div class="form-row">
|
||||
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
||||
<input type="text" id="node-input-name" placeholder="Name">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-help-name="opcua-briq-write">
|
||||
<p>Scrive variabili multiple su opcua</p>
|
||||
<code>msg.opcua_server</code> deve contenere
|
||||
<ul>
|
||||
<li><code>id</code>: identifica questa connessione al server (se già aperta in precedenza, viene riutilizzata). Esempio: <code>"plc_macchina_1"</code>.</li>
|
||||
<li><code>url</code>: url connessione, per esempio <code>opc.tcp://127.0.0.1:4840/</code></li>
|
||||
<li><code>client_settings</code>: dizionario di impostazioni per libreria node-opcua, in <a href="https://node-opcua.github.io/api_doc/latest/classes/node-opcua.OPCUAClient.html">questo formato</a>. Può essere vuoto.</li>
|
||||
</ul>
|
||||
<code>msg.nodesToWrite</code> deve essere una lista di oggetti fatti così:
|
||||
<ul>
|
||||
<li><code>nodeId</code>: indirizzo del nodo (per esempio <code>ns=3;s="DB"."Varname"</code>)</li>
|
||||
<li><code>dataType</code>: tipo di dato del nodo, per esempio <code>"String"</code>. Tutti i valori <a href="https://node-opcua.github.io/api_doc/latest/enums/node-opcua.DataType.html">sono elencati qui</a>.</li>
|
||||
<li><code>value</code>: il valore da scrivere, coerente con il <code>dataType</code> indicato.</li>
|
||||
<li><code>label</code>: se fornito, sostituisce <code>nodeId</code> in eventuali messaggi di errore</li>
|
||||
</ul>
|
||||
<code>msg.verifyWrittenValues</code>: se <code>true</code>, richiede al nodo di rileggere subito le variabili e verificare che i valori siano quelli appena scritti.
|
||||
<p>
|
||||
Il messaggio di uscita aggiunge a quello d'ingresso le chiavi:
|
||||
<li><code>msg.payload</code>: <code>"write ok"</code> oppure <code>"write ok & verified"</code></li>
|
||||
<li><code>msg.raw_response</code>: risposta grezza della libreria node-opcua</li>
|
||||
<li><code>msg.error</code>: errore, se presente</li>
|
||||
</p>
|
||||
<p>
|
||||
Il messaggio di uscita toglie a quello d'ingresso le chiavi:
|
||||
<li><code>msg.error</code>: se non c'è errore</li>
|
||||
</p>
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
RED.nodes.registerType('opcua-briq-read', {
|
||||
category: 'plc',
|
||||
color: '#ffaaff',
|
||||
defaults: {
|
||||
name: { value: "" }
|
||||
},
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
icon: "serial.png",
|
||||
label: function () {
|
||||
return this.name || "s7 read";
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-template-name="opcua-briq-read">
|
||||
<div class="form-row">
|
||||
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
||||
<input type="text" id="node-input-name" placeholder="Name">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-help-name="opcua-briq-read">
|
||||
<p>Legge variabili multiple da opcua</p>
|
||||
<code>msg.opcua_server</code> deve contenere
|
||||
<ul>
|
||||
<li><code>id</code>: identifica questa connessione al server (se già aperta in precedenza, viene riutilizzata). Esempio: <code>"plc_macchina_1"</code>.</li>
|
||||
<li><code>url</code>: url connessione, per esempio <code>opc.tcp://127.0.0.1:4840/</code></li>
|
||||
<li><code>client_settings</code>: dizionario di impostazioni per libreria node-opcua, in <a href="https://node-opcua.github.io/api_doc/latest/classes/node-opcua.OPCUAClient.html">questo formato</a>. Può essere vuoto.</li>
|
||||
</ul>
|
||||
<code>msg.nodesToRead</code> deve essere una lista di oggetti fatti così:
|
||||
<ul>
|
||||
<li><code>nodeId</code>: indirizzo del nodo (per esempio <code>ns=3;s="DB"."Varname"</code>)</li>
|
||||
<li><code>label</code>: se fornito, sostituisce <code>nodeId</code> come chiave di questo valore nel dizionario <code>msg.payload</code></li>
|
||||
</ul>
|
||||
<p>
|
||||
Il messaggio di uscita aggiunge a quello d'ingresso le chiavi:
|
||||
<li><code>msg.payload</code>: dizionario label -> valore</li>
|
||||
<li><code>msg.raw_response</code>: risposta grezza della libreria node-opcua</li>
|
||||
<li><code>msg.error</code>: errore, se presente</li>
|
||||
</p>
|
||||
<p>
|
||||
Il messaggio di uscita toglie a quello d'ingresso le chiavi:
|
||||
<li><code>msg.error</code>: se non c'è errore</li>
|
||||
</p>
|
||||
</script>
|
||||
Reference in new issue
Block a user