聊一聊GATHER的同胞兄弟SCATTER

已锁定

jsdwgc-lsk

  • 帖子

    630
  • 精华

    4
  • 被关注

    32

论坛等级:侠圣

注册时间:2020-07-20

钻石 钻石 如何晋级?

聊一聊GATHER的同胞兄弟SCATTER

6411

13

2023-03-01 15:37:19

前面聊了一下Gather这个指令,但想要将这个指令的功能多样化,就离不开它的同胞兄弟Scatter.

Scatter指令是将位序列解析为单个位的指令,换言之,就是和Gather指令作用相反,搭配使用功能可逆。下面看一下博图帮助文件中的说明:

。.


看一下它在哪里:


下面分享一个程序使用案例:FB284基本定位功能块中ConfigEpos的处理

1:回顾一下FB284功能块

  


2:看一下ConfigEpos引脚定义说明:


3:ConfigEpos这个引脚变量是个Dword变量,也就是32个位的双字变量,我想把这个Dword数据变成     32个位变量,并且可以单独监控和写入这32个位。

     首先我建立了一个数据块"Array_Bool",在这个数据块中建立变量ConfigEPOS1_R,数据格式为“Array of bool 0--31",这个变量是为了读取FB284 ConfigEpos管脚变量;再建立变量ConfigEPOS1_W, 数据格式同样是“Array of bool 0--31",这个变量是为了改变FB284 ConfigEpos管脚变量的状态,也就是更改值或者说写入吧。


4:读取FB284块ConfigEpos变量状态:

这样就将ConfigEPOS这个Dword变量解析成32个位变量,放在Array_Bool块中的ConfigEPOS1_R,那么变量ConfigEPOS1_R【0】,ConfigEPOS1_R【1】就是对应管脚说明中ConfigEPOS.%X0和ConfigEPOS.%X1(OFF2停止,OFF3停止)。这两个位驱动运行时需要常ON,驱动停止时OFF。

5:写入FB284块ConfigEpos变量状态

这样就可以将原点信号以位的形式给到FB284管脚。

以上就是GATHER指令和SCATTER指令配合使用在FB284程序中的功能体现,其实还有很多关于这一对指令的用法,例如S7通讯中字节传送时的位解析,IO映射时的位转换等等。


先聊到这了,静待各位补充,谢谢。

聊一聊GATHER的同胞兄弟SCATTER 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。