7
西门子模块6ES7253-1AA22-0XA0产品
在不同的工业控制系统中,工控软件虽然完成的功能不同,但就其结构来说,一般具有如下特点:
实时性:工业控制系统中有些事件的发生具有随机性,要求工控软件能够及时地处理随机事件。
周期性:工控软件在完成系统的初始化工作后,随之进入主程序循环。在执行主程序过程中,如有中断申请,则在执行完相应的中断服务程序后,继续主程序循环。
相关性:工控软件由多个模块组成,各模块配合工作,相互关联,相互依存。
人为性:工控软件允许操作人员干预系统的运行,调整系统的工作参数。在理想情况下,工控软件可以正常执行。但在工业现场环境的干扰下,工控软件的周期性、相关性及实时性受到破坏,程序无法正常执行,导致工业控制系统的失控,其表现是:
程序计数器PC值发生变化,破坏了程序的正常运行。PC值被干扰后的数据是随机的,因此引起程序执行混乱,在PC值的错误引导下,程序执行一系列毫无意义的指令,后常常进入一个毫无意义的“死循环”中,使系统失去控制。
输入/输出接口状态受到干扰,破坏了工控软件的相关性和周期性,造成系统资源被某个任务模块占,使系统发生“死锁”。
数据采集误差加大。干扰侵入系统的前向通道,叠加在信号上,导致数据采集误差加大。特别是当前向通道的传感器接口是小电压信号输入时,此现象加严重。
RAM数据区受到干扰发生变化。根据干扰窜入渠道、受干扰数据性质的不同,系统受损坏的状况不同,有的造成数值误差,有的使控制失灵,有的改变程序状态,有的改变某些部件(如定时器/计数器、串行口等)的工作状态等。笔者在研制电力远程抄表系统时就曾遇到因现场强电磁干扰而造成RAM数据经常性被破坏的情况。
控制状态失灵。在工业控制系统中,控制状态的输出常常是依据某些条件状态的输入和条件状态的逻辑处理结果而定。在这些环节中,由于干扰的侵入,会造成条件状态错误,致使输出控制误差加大,甚至控制失常
在不同的工业控制系统中,工控软件虽然完成的功能不同,但就其结构来说,一般具有如下特点:
实时性:工业控制系统中有些事件的发生具有随机性,要求工控软件能够及时地处理随机事件。
周期性:工控软件在完成系统的初始化工作后,随之进入主程序循环。在执行主程序过程中,如有中断申请,则在执行完相应的中断服务程序后,继续主程序循环。
相关性:工控软件由多个模块组成,各模块配合工作,相互关联,相互依存。
人为性:工控软件允许操作人员干预系统的运行,调整系统的工作参数。在理想情况下,工控软件可以正常执行。但在工业现场环境的干扰下,工控软件的周期性、相关性及实时性受到破坏,程序无法正常执行,导致工业控制系统的失控,其表现是:
程序计数器PC值发生变化,破坏了程序的正常运行。PC值被干扰后的数据是随机的,因此引起程序执行混乱,在PC值的错误引导下,程序执行一系列毫无意义的指令,后常常进入一个毫无意义的“死循环”中,使系统失去控制。
输入/输出接口状态受到干扰,破坏了工控软件的相关性和周期性,造成系统资源被某个任务模块占,使系统发生“死锁”。
数据采集误差加大。干扰侵入系统的前向通道,叠加在信号上,导致数据采集误差加大。特别是当前向通道的传感器接口是小电压信号输入时,此现象加严重。
RAM数据区受到干扰发生变化。根据干扰窜入渠道、受干扰数据性质的不同,系统受损坏的状况不同,有的造成数值误差,有的使控制失灵,有的改变程序状态,有的改变某些部件(如定时器/计数器、串行口等)的工作状态等。笔者在研制电力远程抄表系统时就曾遇到因现场强电磁干扰而造成RAM数据经常性被破坏的情况。
控制状态失灵。在工业控制系统中,控制状态的输出常常是依据某些条件状态的输入和条件状态的逻辑处理结果而定。在这些环节中,由于干扰的侵入,会造成条件状态错误,致使输出控制误差加大,甚至控制失常。
在学习电路的时候,常常借用水流动的情形来形象地理解各种电路原理。后面学习自控原理时,发现原理性的东西往往有相通的地方,可以相互借鉴,加深理解。像PID控制方式,我对各种控制参量是这样理解的,不够严谨但理解起来觉得很贴切。
P(比例项)相当于R(电阻),I(积分项)相当于C(电容),D(微分项)相当于L(电感)。输入量相当于电流,输出量相当于电压。
1.纯P控制就像纯阻性电路。当我们改变阻值时,输出端立刻就作出了相应的电量变化。设输入为电流,输出为电压,根据欧姆定律,电阻充当一个电流的比例系数,R越大,电流值变化所反映电压值变化就越显著。
2.PI控制类比于RC阻容电路。电容是存储电量的容器,其时间常数相当于过渡过程,电容值越大,充电时间越长,动态响应越迟缓。但是,当电路上的元件失电时,它能提供持久的电量支持以维持一个期望的电平。在控制时这种容性效应表现为,当输出值波动时,积分项的“充电”和“放电”过程可以起到滤波作用。这种滤波直接作用于“电压”(输出端)
3.PID控制类比于阻性容抗电路。微分项相当于一个电感,它对电流(输入端)变化敏感并且对电流的变化进行阻碍(楞次定律)。这种感性作用同样起到电流滤波作用。电感量越大而电阻一定时,当电流突变时将对电压产生较大的变化。所以,引入了微分项能使系统对反应灵敏,但由于比例倍增作用,也容易出现调。
模拟量采集和进行相应的PID处理时,比较常见的思路是:
一:先将采集到的模拟量值(如通道为AIW0) 右移三位后,付给一个寄存器(如高数计数寄存器AC0);
二:将寄存器里的数值先转化为 双整数DI,再转化为 实数R;
三:将转换为实数的数值除以32000,得到一个0~1.0之间的数值;
四:如果要进行 PID运算,可直接将介于0~1.0之间的数值直接付给PID控制回路单元寄存器的过程值寄存器(如VD100)
五:将PID计算控制输出值M乘以32000.0,再转换为整数输出。模拟量到数字量转换器的12位读数是左对齐的。位是符号位,也就是说的3位是没有用的,始终为000,所以为了得到真正的模拟量值需要右移3位;
2.赋值给PID运算的一定是0-1之间的数,举个例子说:
一个水房要保持一定的水位,输入反馈为水池底部的一个压力传感器,输出装置为一个阀门开关0-270开度,定阀门的另一端一直有水,这样就组成一个简单的PID回路:
【输入反馈】压力传感器【0-10Bar,4-20mA】
【输出 】阀门 【0-270度,1-10V 】
【设定值 】要求水深5米
通过上述可以看出来,输入反馈,输出,设定值单位都不一样,如何解决呢?
PID里是这样解决的:将输入反馈,输出,设定值都除以他们的大范围,得到一个0-1之间的数,需要输出的时候再将0-1之间的数乘以大范围就可以了
当然上述的设定值与反馈值不是一个单位,需要将设定值5米转换成相应的Bar单位如3.5Bar,将3.5Bar/大压力10Bar=0.35 这就是设定值;



一套完好的PLC程序,并不仅仅是使体系可以运转起来这么简略,它也需求完好的注释、精巧的架构、的可扩展性、齐备的报警维护体系、运转前的模体系。下面就以STEP7的经验和我们共享一下。
一、完好的注释
在自动化范畴,操控设备的竞赛激烈程度,我们众所周知,各个大鱼小虾,拼命的宣扬自己的产品。可我们忘了,程序也是自己的产品,而作为一件有产品属性的程序,怎么可能不穿衣服,就光溜溜的骑马上阵呢?
程序的注释,起码应该有以下三个方面(STEP7为例):
1、体系注释:整套程序的版权公司和此套程序用处
2、程序块注释:此程序块的主要用处和作者
3、段注释:此段代码的用处
4、变量注释:重要性不再多言
而至于保密性的考虑,我觉得应该再程序的加密算法或许块的加密上考虑,而不该该用减少注释这种小聪明来完成。
二、精巧的架构
PLC程序不管操控的是一个设备或许是以一套体系,在程序编写之前都应该依照功用或许区域设计好整个PLC程序体系的结构,尤其是几个人共用一套PLC体系的时分,一般来说结构应包含以下部分:
1、公共安排程序区:OB1、OB35、OB81....等(STEP7)
2、设备功用程序区:一些现成的可以屡次调用的程序块,如单向电机、双向电机、模量变换
3、公共程序区:通讯功用、模量收集、数字量收集
4、功用区:如液压站功用区、入炉辊道功用区、出炉辊道功用区
5、报警功用区:依据需求或许在各个功用区后边,或许自立出来
6、数据块区:依据功用,划分成有规则的数据区
一个的结构,可以使人很简单看明白整套程序,具有的可读性
三、的扩展性
许多程序可能在进现场之前都现已编好,可是到了现场,可能还需求添加别的的程序,为了避免打乱整套体系的结构,我们需求在每个功用区预留一定的空间作为备用。
四、齐备的报警维护体系
我们的PLC体系往往用于工业环境中,每一次的事端都会形成或大或小的损失,为了做到事端预处理或许在事端中将损失降到小,我们有必要注重PLC的报警和维护,在此将其摘出来作为体系的一个重要组成部分。
五、PLC程序模体系
为了确保现场的调试进展或许给客户展现,我们往往在进现场之前,要对自己的程序进行全自动的模。为此我们需求在程序中加入模程序部分,模程序部分在正常现场运转之后断开。为了使程序具有模功用,需求做以下作业:
1、将实践的PLCI/O点变换为PLC的变量或许数据块变量
2、依据工艺要求编写各个设备的模程序
立体库是物流系统的集散地,它可以提高劳动生产率,降低劳动强度;节约库存占地面积,提高空间利用率;加速仓库储备资金的周转,保均衡生产。堆垛机是立体库的关键设备,控制堆垛机的自动化控制装置应具有功能全、、等特点。为此,本控制系统采用PLC作为控制,用变频器驱动堆垛机的电机。
2 立体库定位方式
自动化立体仓库由库房、货架、堆垛机,自动控制与信息传输装置,计算机和输送机等外围设备组成。库房由若干行货架组成,每行货架分隔成标准的存贮单元(托盘),每两行货架间留有巷道,巷道上有堆垛机。巷道端(原位)设有出入货物的货架(即放托盘的架)。巷道长度和货架高度根据存贮量需要及厂房尺寸而定。堆垛机在巷道上固定的天地轨间运行,两端都有限位开关和防越位撞头。
堆垛机自动存取时,确定要存或取的货物在货架上的位置,即定位。货物放在货架上的托盘里,一旦托盘所在层、列、行确定,则堆垛机在控制器控制下可自动对托盘进行操作。设层为Y坐标,列为X坐标,行为Z坐标,其立体库定位示意图见图1。

3 控制系统构成
(1) 系统工作原理
为了立体库的正常工作,立体库PLC控制系统设计成自动和手动两种方式,当自动出现故障时,手动可继续工作。本系统工作在自动方式时,堆垛机的三个自由度由三种不同电机驱动(列电机、层电机、叉电机)。为了提率,同时能够做到堆垛机正确动作,层电机和列电机由变频器驱动。当堆垛机运行到层或列的目标单元,驱动层电机的变频器或驱动列电机的变频器开始降速,一旦到目标位光电信号,则驱动层电机的变频器或驱动列电机的变频器在PLC的控制下正确停车。根据Z值,堆垛机的货叉左出或右出。至于存或取时的微落或微抬,由于贮存单元(托盘)规格一样,故只要知道存还是取,控制系统自动进行微落或微抬。当堆垛机的货叉在目标位工作完后,堆垛机自动返回原位,完成整个存或取过程结束。系统框图见图3。考虑到该立体库为冷库,到了冬天,控制系统环境不能满足PLC控制器要求,为此增设了加热控制装置,确保PLC控制器。

(2) 软件编程流程图
由于堆垛机自动存、取货过程是一个比较复杂的控制过程,所以相应PLC控制器编程也比较复杂,,存货和取货过程正好是相反操作,编程时充分注意逻辑互锁关系。其次,为了提高存(取)货的效率,堆垛机层或列运行的速度控制非常关键,编程时注意层或列运行过程中的快慢切换点。再者,编程要合理,减少程序量,缩短扫描时间。现示出立体库PLC控制系统的程序流程图,如图4所示。

4 结束语
(1) 立体库采用PLC控制系统后,堆垛机在变频器驱动下运行,稳定,存取货物动作正确,节省人力物力。
(2) PLC控制器通过扩展通讯接口,和管理机进行联网,立体库实现微机管理。
(3) 随着信息科学、自动化技术、机器人不断发展,立体库作为物流系统的集散地,今后,立体库应该向智能化、信息化等方向发展