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

在使用Textbox、ComboBox、Numeric Input等带有输入功能的控件时,如果只在Text或Value属性上绑定变量不做绑定变量的配置时,控件默认只会把PLC变量的数据读取到控件中显示。
在控件中输入数据后并不会把输入数据写到绑定的PLC变量,相比在控件事件中调用WriteSymbol函数的方式,可以使用数据双向绑定的功能更方便的进行数据写入。


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

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 王冬翠 更新