『7x24小时有问必答』
文末有55个实战案例资料
导读:在我们编写PLC程序的时候,有时会因为数据量比较大,然后不便直接访问某个地址的数据。比如:要访问某个字节中的某个位,或者某个“字”中的字节等等。那么如何实现这种类似隔山打牛的间接寻址功能呢?主要有4种方法。
方法一:使用AT实现
(1)新建FB程序块,将“优化的块访问”去掉
(2) 双击进入 FB 块, 展开 FB 块的块接口
(3) 块接口中,在 Input 添加一个变量,变量名为 A,数据类型为 int;接着在变量 A下面一行,数据类型这一列,手动输入“AT”
(4) Input 中会生成一个新变量“Input_1”,数据类型是 int,将这个变量的数据类型修改成 Array,并编译该 FB 块,可以看到变量 A 和变量Input_1 的偏移量都是 0.0,这表示变量 A 和变量 Input_1 是相同地址,只是以不同的数据类型显示
(5) 以此方法新建 Output 的变量 B 和变量 Output_1,这样就可以对变量 A 和变量 B 进行位访问操作。
(6) OB1 调用 FB 块时,FB 块的管脚不会显示变量 Input_1 Output_1
方法二:使用Slice 方式对变量进行寻址
slice 方式支持这2种方式的块:可标准访问的块、可优化访问的块。
下列语法用于寻址:
1.<tag>.x<bit number="">
2.<tag>.b<byte number="">
3.<tag>.w<word number="">
4.<tag>.d<dword number="">
举例:
(1)访问MW2地址中的第0个位
(2)访问MW2地址中的第0个字节,也就是低8
(3)访问MD10地址中的第1个字,也就是高16
最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!
</dword></tag></word></tag></byte></tag></bit></tag>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码