PLC编程应用中的寻址方式
2019-11-16王一村
文/王一村
本次项目使用的是西门子PLC 400系统,对塑料生产过程中的粒料除尘单元进行实时的控制和监测,由于除尘线较多且每条除尘线装置和设备基本相同,除尘过程控制基本一致。如果采用传统的梯形图进行编程则程序步骤冗长且需定义的符号较多,调试过程中容易出错且后期维护需花费较多的时间,于是此次我们采用PLC寻址方式中的地址寄存器寻址方式,对不同除尘线中的相同装置进行实际的操作和状态的监测。
1 系统硬件组成
PLC采用的是西门子412冗余CPU,进行数据的存储,处理,计算;两个本地ET200M控制站,分别装有数字量,模拟量模块,对现场仪表信号进行转换及采集。CPU和控制站通过PROFIBUS-DP方式进行冗余通讯。编程应用的是西门子STEP7 V5.5标准组态软件。现场设备包括下料仓的模拟量调节阀和变频电机等。
2 PLC的软件编程
2.1 PLC的寻址方式
在PLC系统当中分为很多个地址区域,在程序中可以根据对应的地址直接读取存储的数据,表1中列出了部分地址。
2.1.1 直接寻址
直接寻址包括绝对地址和符号地址两种类型。在PLC程序当中我们可以直接使用输入(输出)信号,位存储器,数据块等地址。在程序中直接调用这些存储区域的绝对地址是可以的,但是容易出错并且不太直观,如果我们给每个地址都命名一个符号(类似于起名字),这样程序看起来易读易懂。
(1)绝对地址:绝对地址是由存储器位置和一个地址标识符组成。例如:I0.1,Q1.1,DB2.DBB0等。
(2)符号寻址:给每一个绝对地址自定义一个符号(助记符)使编程过程明了且容易查找。在STEP7当中如果准备用符号访问结构,数组,数据块,逻辑块等,则必须给这些绝对地址分配一个自定义的符号名。
2.1.2 间接寻址
间接寻址分为寄存器间接寻址和存储器间接寻址,间接寻址的指针分为16位指针和32位指针,其中32位指针又分为交叉区域寻址和内部区域寻址,以下我们会主要介绍寄存器间接寻址。
(1)存储器间接寻址。16位指针间接寻址:16位指针主要是用于PLC中的计数器,定时器和数据块的寻址,它的数值范围是0至65535,它表示计数器,定时器,数据块的号。16位指针间接寻址的格式如下:区域标识符[16位地址指针]。
32位指针间接寻址:32位地址指针主要用于输入,输出,存储器,局部数据位,数据块等存储器中位,字节,字和双字的寻址,32位的地址指针可以使用一个双字表示,第0位至第2位作为寻址操作的位地址,第3位至第18位作为寻址操作的字节地址,第19位至第31位没有定义。存储器32指针只能用作内部区域寻址,寻址的格式如下:地址存储器标识符[32位地址指针]。
(2)寄存器间接寻址。通过CPU的地址寄存器AR1和AR2寻址方式称为寄存器间接寻址,分为内部区域间接寻址和交叉区域寻址。寄存器间接寻址方式的语句格式如下:
指令,地址标识符,地址寄存器标识符,偏移量
寄存器间接寻址只能使用32位指针,我们使用的内部区域寄存器寻址其中第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位无定义,格式如图1。
间接寻址表示为:存储器标识符[ARx,地址偏移量]
2.2 项目程序
此次我们要对储料仓的左右两个下料调节阀进行控制,每个调节阀都对应着关闭,正常和快速三种调节模式,关闭对应开度0%,正常对应开度80%,快速对应开度100%。我们的塑料等级分为1到10级,每一级都对应着三种不同的调节模式,如果是使用梯形图的功能块来进行赋值,那么我们一条除尘线将要用到60个功能块,程序的编程过程和可读性将大大降低,因此,我们此次我们结合项目实际功能要求结合以表2进行了编程。
如表2我们10个塑料等级对应10行,每行有6个数据选项,因此在程序中首先建立6个源寄存器地址用来存放每一列的数据,6个目标寄存器地址用来在程序中使用,分别如下:
图1
表1
表2
这里“L”是装入指令,“T”是传送指令,也就是将源寄存器地址传送到目标寄存器地址。Nm,AR1和AR2程序如下:
这部分程序对应的公式为:LAR1=(#Nm-1)*24+#Base_Addr_Src
这里“Nm”是指所选物料等级也就是哪一行(共十行),将得到的地址放到AR1当中。“SLW3”是当把一个整形数转化为字节指针常数时,左移三位。
这里将最终的地址放到AR2当中。
如果在没有选择物料等级时,则程序会选择跳出。
3 结语
本文是以实际项目为依据,在查阅众多技术文档和参考资料之后,并在满足现场除尘装置工艺的实际需求为前提下,在面对PLC程序中需要进行大批量相同功能编程,且具有一定规律的前提下,可以利用PLC 400 CPU自带的地址寄存器AR1和AR2寻址的方式进行编程,这样不仅可以很大程度上的简化编程的过程,而且在后期的程序变更和维护上也大大节省了时间,该程序在实际运行当中稳定可靠。