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

时间:2023-03-17来源:佚名

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 = 输入/输出参数

1.5 LAD 示意图

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图1: FBGetCamValueForHMI 的LAD示意图

2 功能块的调用编程及HMI设置

在用户项目中,该功能是用于在触摸屏上显示Cam曲线。
2.1 Simotion中创建Cam
首先要创建Cam:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图2: 创建Cam曲线

2.2 Simotion中Cam显示功能块的编程
(1) 导入FBGetCamValueForHMI 功能块
右键点击项目导航中的“Program”,在弹出的菜单中选择“Imporrt external source-ST source file”导入功能块源文件:

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

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图3: 导入ST源文件

(2) 创建程序单元及全局变量

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图4: 创建全局变量

(3) 在HMICamDisplay程序单元中连接功能块程序单元

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图5:连接调用的程序单元

(4) 用MCC语言编辑Cam曲线显示程序(调用功能块FBGetCamValueForHMI)

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图6:连接调用的程序单元

(5) 将程序分配到simotion系统执行级中

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图7: 程序分配

2.3 WinccFlexible中HMI设置
在HMI中使用了一个特殊的方法,即在控件TrendView中显示数组曲线的方法来实现Cam曲线的显示:
(1) 建立simotion与HMI的连接

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


图8: 建立simotion与HMI的连接

(2) 创建HMI变量
仅用于显示Cam曲线的变量Tag有:

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

这些变量在SIMOTION中已创建。其中myslavevalue为Cam曲线数据,而mytrendrequest以及mytrandtransfer用于控制HMI什么时候读取Cam曲线。
注意:
设置myslavevalue的访问方法为cyclic continuous或on_command:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图9: 设置myslavevalues的访问方法为cyclic continuous

(3)在HMI上插入一个显示趋势图控件TrendView
在其属性->Properties->Trend中设置如下:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图10: 趋势图设置

其中Samples的数量与FBGetCamValueForHMI中获取的点数相同,在Source settings中设置如下:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图11: 趋势图设置

(4) 运行测试
完成后运行屏,显示曲线画面后,myTremdrequest第0位置1:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图12: 运行测试

将myTrendtransfer设为H8001后,即将第0,15位置1后,曲线上传至HMI:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图13: 运行测试

在屏上显示Cam曲线:

如何在人机界面(HMI)上显示SIMOTION的Cam曲线
图14: 运行测试

    热销商品

    新品日本EIGHT百利内六角扳手进口八牌球头六角匙螺丝刀TLN-S9 S7

    新品日本EIGHT百利内六角扳手TLN-S9S7,采用高品质进口合金钢制造,硬度高、耐磨损,确保长久使用寿命。其独特的球头设计,可在多角度灵活操作,尤其适用于狭窄空间作业,提...
    47.08

    L型扳手 7字型扳手烟斗双头套筒弯头穿孔扳手内外六角板手6-24mm

    L型扳手,又称7字型扳手或烟斗扳手,是一种多功能手动工具,广泛应用于机械装配与维修。其独特的L形设计结合双头套筒结构,一端为外六角,另一端为内六角,适用于6-24mm多种...
    1.6

    厂家直销萝卜头黑色手柄5.0十字螺丝刀五金工具起子改锥短螺丝批

    厂家直销萝卜头黑色手柄5.0十字螺丝刀,采用优质合金钢材质,刀头经精密淬火处理,硬度高、耐磨性强,不易滑牙。十字头设计精准匹配螺丝槽,确保扭力传递稳定,适用于家电维...
    0.25

    包塑电镀锌铁丝扎丝扎线0.45 0.55 0.75 0.9 1.2 1.5电缆绑带扎带

    包塑电镀锌铁丝扎丝(又称扎线、电缆绑带)是一种广泛应用于电气安装、通信布线、园艺固定及工业捆扎的紧固件。其内芯采用优质低碳钢丝,经电镀锌处理,具备优异的防锈和...
    3.3

    安全帽工地男国标abs 加厚透气夏施工玻璃钢头盔领导工程定制印字

    这款安全帽专为工地男性设计,符合国家标准(GB 2811-2019),采用高强度ABS工程塑料与玻璃钢材质复合结构,兼具轻便与抗冲击性能。加厚壳体有效抵御高空坠物,顶部设有透气...
    3.96

    网站栏目