Studio 5000 指针(间接寻址)编程


前言:自动化控制系统是综合性、复杂性的,处于现场层的PLC控制器虽然进行各种控制,但最终还是对数据进行处理,对数据的处理,包含两种方式,一种是直接使用,第二种就是间接使用。针对第二种处理方式,就要用到间接寻址,有时也叫指针寻址。不同品牌的PLC间接寻址方式各有不同,AB PLC的间接寻址方式很简单,也很人性化。

一、间接寻址   

AB PLC的间接寻址主要分为两种方式

  • 基于位的间接寻址

  • 基于数组的间接寻址

二、准备工作   

这里使用仿真方式详细介绍,实体PLC的间接寻址编程同此法。

1. 在仿真器中,2号槽添加CPU,3号槽添加模块.

Studio 5000 指针(间接寻址)编程

2. 打开Studio 5000 PLC编程软件,组态模块.

Studio 5000 指针(间接寻址)编程

三、位的间接寻址 

情景设定:

有31台照明灯,在上位机软件输入灯的编号,相对应编号的灯亮起来,输入0,所有灯熄灭。

1. 在控制器标签里,新建2个DINT标签:Number(灯的编号),LampCtrl(控制灯的亮灭).

Studio 5000 指针(间接寻址)编程

2. 编写程序如下图,其中灯的亮灭控制输出为:LampCtrl.[Number],这里一定要限制Number的大小在1到31,如不限制在这个范围,一旦超出,就会造成间接寻址维度溢出,导致CPU严重故障,致使其停机.

Studio 5000 指针(间接寻址)编程

3. 下载程序,使CPU处于运行状态,并打开仿真器的IO模块窗口。当Number输入10时,IO模块的输出点10显示黄色,表明第10号灯已经亮起;当Number输入30时,IO模块的输出点30显示黄色,表明第30号灯已经亮起;当Number输入0时,IO模块的所有输出点未点亮,表明所有灯已经熄灭.

Studio 5000 指针(间接寻址)编程

四、数组间接寻址

情景设定:

在立体仓库系统中,有100个位置点,输入位置点编号,将该位置点作为堆垛机的目标位置,启动堆垛机后,其从当前位置移动到该目标位置.

1. 新建一个数组PositionData,用于存在位置点,数据类型REAL[101];一个REAL变量TargPosition,目标位置点;一个DINT变量X,位置点编号.Studio 5000 指针(间接寻址)编程

2. 数组PositionData,已经存储了位置数据.

Studio 5000 指针(间接寻址)编程

3. 第一种情形:输入位置编号X的值,直接获取该编号的位置数值.

Studio 5000 指针(间接寻址)编程

4. 第二种情形:输入位置编号X的值,获取该编号【数值*2】的位置数值.

Studio 5000 指针(间接寻址)编程

5. 程序在线,第一种情形:当X=30,TargPosition=30.0;第二种情形:当X=30,TargPosition=60.0,这样根据不同的需要完成了间接寻址.

Studio 5000 指针(间接寻址)编程

结束语:综上所述,AB PLC的间接寻址编程方式很简单,一个中括号--[]解决,另外在中括号中不仅可以直接输入数值,还支持算术、逻辑运算等功能,详细说明见下图:

Studio 5000 指针(间接寻址)编程

--abseMe: 坚持原创  注重实用

上一篇:python 遇到 syntaxerror: non-ascii character '/xd6' in file 我 教你解决 (python问题)(转)


下一篇:Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统