提问人:Cédric Moers 提问时间:10/18/2023 最后编辑:Cédric Moers 更新时间:10/19/2023 访问量:87
如何在 TwinCAT 3 HMI Engineering 中访问用户控制参数的属性
How to access properties of user-control parameters in TwinCAT 3 HMI Engineering
问:
本期问题与倍福产品TE2000 |TwinCAT 3 HMI 工程组态。(使用 v1.12.760.48)
在一个 PLC 项目中,我声明了一个功能块 (MyFB) 的实例,该实例公开了 get+set 属性(例如)。这些属性在 HMI 项目中是可见的,并且可以在使用直接绑定时读取和设置(例如;这按预期工作。MyFB.TestStringAsProperty
MAIN.MyFBInstance.TestStringAsProperty
但是,当我尝试将用户控件与参数结合使用时,我遇到了一个问题。我定义了一个带有参数的用户控件:。尝试绑定 TextBox.Text 时,将显示 string 属性,并给人一种这应该起作用的错觉。MyFBView
Model : MyFB
Model.TestStringAsProperty
在实践中,我注意到属性的字符串值不显示,并且在 TextBox 中键入文本不起作用。此外,控制台中还会出现一条错误消息:
无法按路径读取值,因为当前值中的 path: “MyFbView_1::Model” 下方不存在标记:“TestStringAsProperty”。 域:TcHmi.System.Symbol
所以我的问题是:是否需要特定的步骤或配置来启用从用户控件的参数进行属性访问?如果没有,解决此问题的正确方法是什么?
当然,解决方法之一是绑定到后备变量本身,但这会破坏属性的使用:保护后备变量和数据隐藏。
一些补充说明:
- 该属性本身工作正常,并且在 PLC 在线视图和直接在 HMI 中绑定时(没有用户控制 + 参数)的值都是正确的。
- PLC项目中的属性声明包括
{attribute 'monitoring' := 'call'}
- 与属性的绑定定义为具有绑定事件的双向绑定:onTextChanged
- 模型参数本身是绑定的,并且此绑定是有效的(因为绑定到“MyFbView_1::Model”的变量是有效的。
- 模型参数本身是绑定的,并在更改时更新(不轮询)
- model 参数已启用
Allow SymbolExpressions in object
有关解决此问题的任何指导或见解将不胜感激。
答: 暂无答案
评论