回复:聊一聊GATHER指令

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23148
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2022-12-24 10:06:02

21楼

展开查看
以下是引用jsdwgc-lsk在2022-12-18 15:39:00的发言 >16楼

您也提到了AT,有相关案例分享一下吗?我也来学习学习。

以下是引用xiatianyun在2022-12-18 14:55:02的发言 >15楼:以前都是自己写程序...

引用15楼详细内容:

以前都是自己写程序来实现位序列到位数组的转换,还有位数组到位序列的转换。系统提供的GATHER/

SCATTER    可以完成多个数据类型通用的功能要求。这点在Serialize/Deserialize 有着类似的功能,只不过后者的转换粒度是byte单位,而前者是bit单位。

AT功能仅支持非优化的FB/FC的一些接口,在功能上比起GATHER来说强大许多,类似于C语言中的联合union,也类似于对同一个数据的不同粒度解读。区别是AT的数据是在同一个空间范围内,没有发生复制。


这对指令,在固件版本4.2之后才有的。

用AT来解析数据字的位,是前期固件版本没有这些指令,不得已的行为。用AT指令,相当于重新定义数据位。优点是相比slice片段访问可读性强。

对于早期1200使用者,还得面对版本3.0,3.1的在线系统。(小于版本4.0也无法固件升级。)

关于此指令,可参考网友专栏 ZANE版主的帖子,《AT指令与Slice指令的比较》




学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15112条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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