你的位置: 首页> 电力配电> 人机界面

如何在人机界面(HMI)上显示SIMOTION的Cam曲线

2016-10-30 14:57:28 |人围观 | 评论:

1 在 hmi 上显示 cam
当项目运行时,为了能在HMI上以图形方式显示项目中生成的Cam曲线,目前有一个方法实现此功能,就是调用功能块 FBGetCamValueForHMI 将Cam的位置轮廓显示在HMI上。

1.1 FBGetCamValueForHMI 功能块
在 simotion的程序单元中调用FBGetCamValueForHMI 功能块,还需要在 WinccFlexible中进行相关配置。
在调用 FB功能块前,Cam必须使用系统函数_interpolateCam 进行插补。
在HMI系统上显示的点数定义在数据常量 giNR_OF_SET_POINTS 中,从值保存在数组中,最大的点数为 999,也就是说常量 giNR_OF_SET_POINTS 不能超过 999。如果改变此常量的默认值,需在WinccFlexible中必须进行相应的配置。
Cam图形在WinccFlexible中的输出是以线性类型来表示的。
功能块读出与固定主值相关的从值并且将它们写入到一个数组中。主轴距离由Cam的系统变量来计算 ("leadingrange.start"-"leadingrange.end") /NR_OF_SET_POINTS。系统功能块 _getcamfollowingvalue 用于读出从位置值。
注意:
由于可能会造成较高的系统负荷,所以建议此功能块在 motion task中调用。

1.2 调用FB
在插补生成 Cam曲线后,可以调用 FB 块。必须在WinccFlexible中设置趋势指针 Transfer1,它触发WinccFlexible中的Cam曲线显示。
"Trend Request" 指针在WinccFlexible中进行设置,指示当前显示的Cam。
示例: 调用FB 后,如果使用图像显示功能显示Cam曲线,则在simotion中创建指针变量:
• myTrendTransfer : 在HMI中设置的指针 "Trend Transfer1"
• myTrendRequest : 在HMI中设置的指针 "Trend Request"

1.3 在WinccFlexible中配置HMI
"cam display" 功能用于在WinccFlexible中显示Cam。一个 cam 需要一个 "cam buffer" , 在此数组中填入FB的 INOUT变量 "SlaveValues" 。此外,Cam显示必须通过一个指针触发。

1.4 FB的输入/输出接口
表 1-1: FBGetCamValueForHMI 参数描述





标签:
名称 参数类型 数据类型 描述
cam IN CamType 被显示的Cam
camType IN EnumCamPositionMode 显示带或不带比例缩放(BASIC / ACTUAL)
slaveValues IN/OUT aSlaveCamValue 决定从位置的数组
minSlaveValue OUT REAL 从位置的开始值
maxSlaveValue OUT REAL 从位置的结束值
minMasterValue OUT REAL 主位置的开始值
maxMasterValue OUT REAL 主要位置的结束值
:参数类型IN =输入参数,OUT =输出参数,IN/OUT =输入/输出参数