OPC-UA: only support the encryption policy selected in config.
By default open62541 client accepts all supported policies, but in makes problem
when negociating with some servers while most clients seems to only support
one policy at a time.
// widget_assign.ysl2
widget_desc("Assign") {
longdesc
||
Arguments are either:
- name=value: setting variable with literal value.
- name=other_name: copy variable content into another
"active"+"inactive" labeled elements can be provided to show feedback when pressed
Exemples:
HMI:Assign:notify=1@notify=/PLCVAR
HMI:Assign:ack=2:notify=1@ack=.local_var@notify=/PLCVAR
||
shortdesc > Assign variables on click
}
widget_class("Assign") {
||
frequency = 2;
onmouseup(evt) {
svg_root.removeEventListener("pointerup", this.bound_onmouseup, true);
if(this.enable_state) {
this.activity_state = false
this.request_animate();
this.assign();
}
}
onmousedown(){
if(this.enable_state) {
svg_root.addEventListener("pointerup", this.bound_onmouseup, true);
this.activity_state = true;
this.request_animate();
}
}
||
}
widget_defs("Assign") {
optional_activable();
| init: function() {
| this.bound_onmouseup = this.onmouseup.bind(this);
| this.element.addEventListener("pointerdown", this.onmousedown.bind(this));
| },
| assignments: {},
| dispatch: function(value, oldval, varnum) {
const "widget", ".";
foreach "path" {
const "varid","generate-id()";
const "varnum","position()-1";
if "@assign" foreach "$widget/path[@assign]" if "$varid = generate-id()" {
| if(varnum == «$varnum») this.assignments["«@assign»"] = value;
}
}
| },
| assign: function() {
const "paths","path";
foreach "arg[contains(@value,'=')]"{
const "name","substring-before(@value,'=')";
const "value","substring-after(@value,'=')";
const "index" foreach "$paths" if "@assign = $name" value "position()-1";
const "isVarName", "regexp:test($value,'^[a-zA-Z_][a-zA-Z0-9_]+$')";
choose {
when "$isVarName"{
| const «$value» = this.assignments["«$value»"];
| if(«$value» != undefined)
| this.apply_hmi_value(«$index», «$value»);
}
otherwise {
| this.apply_hmi_value(«$index», «$value»);
}
}
}
| },
}