签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:奇侠
注册时间:2009-03-26
普通 如何晋级?
发布于 2014-06-10 18:29:40
8楼
引用6楼详细内容:
谢谢老师的指点,ANY指针的程序我倒是看明白了,知道它是指向的I地址区的12个字节,我不明白的是它指向的地址区是从站伺服控制器的地址区,这个地址区不是属于外部地址吗?难道可以把它当成映像区的地址使用吗?所以有点糊涂还望老师多指点,谢谢!
引用3楼详细内容:
程序没有问题。为了帮助大家理解,给出了ANY指针的结构图。程序中ANY的第一个字表示数据类型为字节,第2个字表示字节数为12,第3个字表示不是DB,第4个字表示I区。因为起始地址(iDriveBaseINAddress)是字节地址(图中用16个b表示),需要将它左移3位,相当于乘以8(一个字节8位),作为间接寻址的指针的基础,再用OD指令叠加上指针最高字节的地址区信息16#81。ANY用的是I区,不是PI区。假设I区的起始地址(iDriveBaseINAddress)为X,SFC20的输入参数(ANY)的实际地址为P#IX.0 BYTE 12。当然也可以在调用SFC20时直接写P#IX.0 BYTE 12,不过老外这种模板的优点是通用,灵活。但是要看懂程序的门槛比较高。如果没有接触过ANY的内部结构,建议找有例程的书来看看(例如《S7-300/400 PLC应用技术》第3版P165)。
请填写推广理由:
2026共启We来,驰骋工控路,领跑新征程
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有54663条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!