Gather指令是将多个位组合成位序列的指令,可以将16个位组合成一个word。看一下博图帮助文件中的说明如下截图:
有很多没有用过这个指令的朋友会比较疑惑它是怎么使用,用在什么地方的,下面来介绍一下这个指令在做HMI报警的时候的应用案例(程序截图是本人自己写的项目程序):
1:看一下它在哪里找到
2:西门子KTP以及TP系列的离散量报警变量需要用word的方式建立,很多小伙伴选择直接写一个SCL转化块的方式实现位变量报警到word的转变,不少人抱怨西门子的屏做报警太麻烦,其实相应的问题都有相应的指令解决。首先建立一个报警DB(AlarmDB),在AlarmDB中建立一个Array_bool的变量,定义成0到15,也就是16个位。我建立了两组,一组是MotorFault,用来读取电机的故障报警;一组是EMG,用来读取各个工段区域的急停信号。截图如下:
3:建立一个FC处理报警信号:如下是将急停信号读取到AlarmDB中的EMG
4:调用Gather指令:
5:上面的Alarm指令的Out管脚变量是在AlarmDB中建立的:
6:在触摸屏建立报警变量:
7:这样触摸屏报警就完成了,需要报警列表的话就拖放一个报警控件:
好了,GATHER指令就聊到这里,朋友们还知道哪些GATHER指令的其它用法案例。