AB PLC利用指针进行间接寻址编程方法
来源:AB PLC工作室前言:自动化控制系统是综合性、复杂性的,处于现场层的PLC控制器虽然进行各种控制,但最终还是对数据进行处理,对数据的处理,包含两种方式,一种是直接使用,第二种就是间接使用。针对第二种处理方式,就要用到间接寻址,有时也叫指针寻址。不同品牌的PLC间接寻址方式各有不同,AB PLC的间接寻址方式很简单,也很人性化。
间接寻址 AB PLC的间接寻址主要分为两种方式
[*]基于位的间接寻址
[*]基于数组的间接寻址
准备工作 这里使用仿真方式详细介绍,实体PLC的间接寻址编程同此法。1. 在仿真器中,2号槽添加CPU,3号槽添加模块.http://p0.qhimg.com/t0119ca658ae2435025.jpg?size=686x546
2. 打开Studio 5000 PLC编程软件,组态模块.http://p5.qhimg.com/t012759d3c9e0454b94.jpg?size=604x178
位的间接寻址 情景设定:有31台照明灯,在上位机软件输入灯的编号,相对应编号的灯亮起来,输入0,所有灯熄灭。
1. 在控制器标签里,新建2个DINT标签:Number(灯的编号),LampCtrl(控制灯的亮灭).http://p8.qhimg.com/t0138da9eb16e3a23d1.jpg?size=1080x168
2. 编写程序如下图,其中灯的亮灭控制输出为:LampCtrl.,这里一定要限制Number的大小在1到31,如不限制在这个范围,一旦超出,就会造成间接寻址维度溢出,导致CPU严重故障,致使其停机.http://p5.qhimg.com/t01039eb9c9076e50c7.jpg?size=1080x340
3. 下载程序,使CPU处于运行状态,并打开仿真器的IO模块窗口。当Number输入10时,IO模块的输出点10显示黄色,表明第10号灯已经亮起;当Number输入30时,IO模块的输出点30显示黄色,表明第30号灯已经亮起;当Number输入0时,IO模块的所有输出点未点亮,表明所有灯已经熄灭.http://p7.qhimg.com/t01fd4065063baf92c4.jpg?size=1080x1090
数组间接寻址情景设定:在立体仓库系统中,有100个位置点,输入位置点编号,将该位置点作为堆垛机的目标位置,启动堆垛机后,其从当前位置移动到该目标位置.
1. 新建一个数组PositionData,用于存在位置点,数据类型REAL;一个REAL变量TargPosition,目标位置点;一个DINT变量X,位置点编号.http://p8.qhimg.com/t01530eed0084f8e7ff.jpg?size=1080x742. 数组PositionData,已经存储了位置数据.http://p6.qhimg.com/t012122be240fd62b45.jpg?size=1055x629
3. 第一种情形:输入位置编号X的值,直接获取该编号的位置数值.http://p7.qhimg.com/t01a2e395f62e2e7c23.jpg?size=1080x129
4. 第二种情形:输入位置编号X的值,获取该编号【数值*2】的位置数值.http://p4.qhimg.com/t01ebe83c58d9d2fca6.jpg?size=1080x136
5. 程序在线,第一种情形:当X=30,TargPosition=30.0;第二种情形:当X=30,TargPosition=60.0,这样根据不同的需要完成了间接寻址.http://p2.qhimg.com/t019e2f44c43c99bad8.jpg?size=1080x574
结束语:综上所述,AB PLC的间接寻址编程方式很简单,一个中括号--[]解决,另外在中括号中不仅可以直接输入数值,还支持算术、逻辑运算等功能,详细说明见下图:http://p8.qhimg.com/t015a7469b12855dd4d.jpg?size=873x387
论坛有你更精彩! 真是难得给力的帖子啊。 同款经历!简直是世另我 笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下 不请自来,只为说一句:太精彩了! 学到干货了,感谢分享,已火速收藏 蹲一波同款,有没有姐妹 / 兄弟推荐? 浅评一下:内容优质,值得推荐~ 这评论区卧虎藏龙,个个都是人才!
页:
[1]
2