39. TwinCAT HMI如何将PLC变量与控件数据双向绑定?

 

使用TwinCAT HMI数据双向绑定功能,可以更方便的进行读取与写入数据的设置。

在使用TextboxComboBoxNumeric Input等带有输入功能的控件时,如果只在TextValue属性上绑定变量不做绑定变量的配置时,控件默认只会把PLC变量的数据读取到控件中显示。

在控件中输入数据后并不会把输入数据写到绑定的PLC变量,相比在控件事件中调用WriteSymbol函数的方式,可以使用数据双向绑定的功能更方便的进行数据写入。

鼠标右键单击,选择变量后选择“Edit Symbol”或鼠标左键双击绑定符号,即可打开对话框,在“Binding Mode”中选择“Two-Way”;当触发特定事件时,读取控件中输入的值并写入绑定变量,在“Binding Event”中选择要写入数据时触发的事件,如:onUserInteractionFinished。


Info参考资料:https://infosys.beckhoff.com/content/1033/te2000_tc3_hmi_engineering/4995383179.html?id=5958415696114998347

2025.6.18 云龙 供稿

 

注:如果双向绑定一个HMI internal Symbols的REAL或LREAL类型的变量,需要在HMI对话框中按下两次回车键才能将数据发送。

如果想实现一次回车就发送数据,可以加入一段JavaScript程序

在textbox控件上添加一个动作,当OnUserInteractionFinished后,将js程序写给textbox控件

 

JavaScript代码如下:

let textboxControl = TcHmi.Controls.get('Angle')

let str = textboxControl.getText();

let f = parseFloat(str);

console.log(typeof f);

console.log(f);

TcHmi.Symbol.write('Angle', TcHmi.SymbolType.Internal, f);

2025.9.29 王冬翠 更新