PLC顺序逻辑控制梯形图自动生成CAD系统
可编程序控制器用于液压传动系统和相应的顺序逻辑控制系统,取代原有的继电器逻辑控制已相当普遍。程序编制方法大多数以梯形图为依据的指令语句方式。在工步数不多、逻辑关系不太复杂的情况下,编程并不难,然而如果工步数多,输入、输出逻辑关系比较复杂,如何根据受控设备的动作程序和工艺要求,一次设计出满足控制要求、线路简单、运行可靠的顺序逻辑控制梯形图,这对设计经验不很丰富的设计者来说并非容易,原因是顺序逻辑控制系统每一程序的输出状态不仅与该步的即时输入状态有关,而且与该步的历史输入状态有关,输入、输出关系千变万化,难于掌握。
再者目前国内使用的PLC中小型多以日本产品为主,大型以欧美产品为多,机型各种各样,没有明确一致的标准,编程元件的种类、数目、编程语言等各方面都不相同,互不兼容,这给控制系统的设计、编程、调试及运行维护带来困难,希望能开发出一种设计方法严密、规则性强、通用性强、能适应各种PLC且使用、维护方便灵活、系统构成简单、可靠的编程软件,为此我们作了一些初步的探讨。
2 设计思想与方法
顺序逻辑控制法中系统的一个工作周期被分为顺序相连的若干步,在各步内,各输出量的通/断状态不变,并规定:只是由于电气信号的改变,才引起受控设备工步的改变,即当PLC输出量的状态变化时,系统从原工步进入新的工步。设计中不是用PLC的输入X直接控制输出Y,而是用PLC输入的转换主令信号X去控制代表工步状态的辅助继电器M,用利用M去控制Y。不管系统多么复杂和千变万化,对M的控制要求都是一样的。因此用X控制M的梯形图设计方法是通用的,并且容易掌握,系统的特殊性体现在输出电路上,虽然不同系统的M与Y的逻辑关系各不相同,但是由于工步是根据PLC的输出状态来划分的,M与Y之间的逻辑关系变得非常简单。
(1)工步状态表构成
梯形图自动生成逻辑的全过程都在一张PLC顺序逻辑控制系统输入、输出工步状态表内进行。如机械手受控设备工步状态表的结构见表1。表中的符号“+”表示输出继电器得电导通状态,“-”表示失电状态,辅助继电器纵向连续直线代表连续导通状态,转换主令是受控设备从该步向下一工步转换的电气控制信号,表中规定受控设备处于原位时也作一个工步状态处理,共有9个工步。
表1
(2)辅助继电器M设置及导通逻辑式
辅助继电器设置规则:
①确定辅助继电器数目,工步数为n,则辅助继电器数目m=n/2,若求得的值为小数,则取大于它的最小整数;
②每个工步只有一个辅助继电器动作,变化小、元件少、线路简单、可靠性高。
③每个辅助继电器在一个周期中只导通一次,失电一次,并且所有辅助继电器同方向动作,连续导通m步,不同的辅助继电器其导通位置不同,先顺序逐个导通m个工步,然后逐个失电(见表1),1工步受转换主令1SB、1SQ、3SQ激励,M1导通,6工步受转换主令6SQ激励,M1失电,以下顺序类推。
依据上述规则,可得出辅助继电器导通逻辑式:
当工步号i=1时:
当工步号i≤m-1 AND n(工步数)为偶数时:
(2)当工步号i=m AND n为偶数时:
(3) 当n为奇数时,i<m-1,Mi导通逻辑同式(1)、式(2);若i=m-1,则Mi导通逻辑同式(3);
若i=m,则:
Mi=(i工步转换主令与逻辑+Miv)Mi-1 (4)
如表1所示,则有:
(3)输出继电器导通逻辑公式
推导输出继电器导通逻辑式的充分必要条件是受控输出继电器输出状态逻辑式的“与—或”逻辑组合必须覆盖该继电器的所有导通程序步,但不覆盖其任一失电程序步。Y是用M来控制,一个工作周期中,输出继电器导通状态有如上几种情况:
①单步导通;
②连续导通k步;
③上述两种情况的逻辑组合。
周期的前半部分,输出继电器通、失电都由某个辅助继电器M的导通控制;在周期后半部分,Y的通、失电都是由M的失电控制。n与m的含义同前;i表示某个输出继电器开始通电时的步号;j表示第j个输出继电器,如Yij表示在i工步开始导通的第j个输出继电器Y;k表示第j个输出继电器连续导通的工步数。
当i=0时:
若k<m,则yij= (5)
若k=m,则yij= (6)
若k>m,则yij=+Mk-m (7)
当i≠0 AND i<m时:
若i+k≤m,则yij= (8)
若i+k>m,则yij=Mi·Mi+k-m (9)
当i=m时:
若i+k-m=m,则yij=Mm (10)
其他情况 则yij=Mm·Mk (11)
当i>m时:
根据上述逻辑公式,得到yj各导通程序段的逻辑式,然后依照充分必要条件,求出覆盖yj全部导通段程序步的逻辑组合,即可得到yj的导通逻辑,如表1所示,求得:
(4)时间继电器导通逻辑式
顺序逻辑控制系统在某些情况下需要以预先规定好的时间为条件,对受控设备顺序地进行控制,要用定时器作延时,用延时结束时,常开接点闭合信号作下一工步的转换主令。当定时器的延时信号发出后,其线圈何时失电无特殊要求,为了使其控制尽可能简单,拟定定时器与某个相对应的辅助继电器同步得电或失电。
3 PLC梯形图自动生成CAD系统
梯形图自动生成逻辑的全过程是以PLC顺序逻辑控制系统输入、输出状态表为依据,用上述分析的数学模型,自动生成梯形图,整个程序用C语言编制,设计中首先要输入受控设备的工步状态表,为了便于扩充,适用不同工况,数据选用链表结构。其结构如下:
struct plcx{ /*转换主令链*/
char x〔5〕; /*每步主令*/
struct plcx *xnext;
};
struct plcy{ /*输出继电器链*/
char y〔5〕; /*输出继电器*/
struct plcy *ynext;
};
struct plcy { /*定时器链*/
char t〔5〕; /*时间继电器*/
float tb; /*时间常数*/
int tn; /*断开时间继电器步序号*/
struct plct *tnext;
};
struct plcc; /*计数器链*/
char c〔5〕; /*计数器*/
int cb; /*计数常数*/
int crnl; /*1-初始复位,0-初始不复位*/
struct plccb *blist; /*计数逻辑链*/
struct plccr *rlist; /*复位逻辑链*/
};
struct plccb{ /*计数逻辑链*/
char cb〔5〕; /*计数逻辑*/
struct plccb *bnext;
};
struct plccr{ /*复位逻辑链*/
char cr 〔5〕; /*复位逻辑*/
struct plccr *rnext;
};
struct PLC{
struct plcx *xlist; /*主令链*/
struct plcy *ylist; /*输出链*/
struct plct *tlist; /*时间链*/
};
struct PLC P_num〔MAX〕 /*PLC结构数组*/
struct Plcc c_num〔MAX〕 /*计数器结构数组*/
程序流程如图1所示。
图1 总体流程图
4 模拟试验
以双动薄板拉伸液压机为对象进行模拟试验,根据受控对象工艺要求拟定工步状态表如表2所示。
表2
工 步 号 |
动作元件 | 发讯 (输入) |
电磁铁(输出) | 计时器 | |||||||||
Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 | Y9 | T1 | T2 | |||
0 | 电机启动 | SB1 | - | - | - | - | - | - | - | - | - | - | - |
1 | 压边梁加速下行 | SB3 | + | - | - | - | - | - | + | - | + | - | - |
2 | 压边梁加压保压 | SQ6 | + | - | - | - | - | - | + | - | + | - | - |
3 | 拉伸梁加速下行 | SB5 SP2 |
+ | - | + | - | - | + | - | - | - | - | - |
4 | 拉伸梁减速下行 | SQ2 | + | - | + | + | - | + | - | - | - | - | - |
5 | 拉伸梁加压拉伸 | SQ3 SP1 |
+ | - | + | + | - | + | - | - | - | + | - |
6 | 拉伸梁卸压 | SB6 KT1 |
- | + | - | - | - | - | - | - | - | - | - |
7 | 拉伸梁拨摸 | SP3 | + | - | - | - | + | - | - | - | - | - | - |
8 | 拉伸梁回程 | SQ2 | + | - | + | - | + | - | - | - | - | - | - |
9 | 压边梁卸压 | SB4 SQ1 |
- | + | - | - | - | - | - | + | - | - | + |
10 | 压边梁回程 | SP2 KT2 |
+ | - | - | - | - | - | - | + | - | - | |
11 | 静止 | SB2 SQ5 |
- | - | - | - | - | - | - | - | - | - | - |
从表2中可见,工步数n=12,设置辅助继电器数目m=12/2=6,M导通逻辑: |
输出继电器Y的导通逻辑式为:
y3=M3·+·M3;y7=M1·;
y4=M4·; y8=·M5;
y5=·M3;y9=M1·。
定时器导通逻辑式为:
T1=M5; T2=·M6。
自动生成梯形图如图2所示。
图2 PLC梯形图
5 总结
上述PLC顺序逻辑控制梯形图自动生成CAD系统中,根据受控设备工步状态表,以辅助继电器作记忆单元,按确定的规则,推导出辅助继电器M和输出继电器Y导通逻辑式,作数学模型,在计算机中自动生成梯形图,输出继电器逻辑式正确性充分必要条件是本设计法可靠的主要保证,以此为依据,设计规律性强,规则严密,容易掌握,适用性好。本程序用C语言编制,工步数目前可达256步,原则上可达任意多步。各类设备,凡属顺序逻辑控制范畴的都可使用本程序进行设计。本设计方法经过实例验证,完全满足设计要求。现我们正在进行开发自动生成梯形图文件,可随时编辑修改,根据用户使用PLC型号自动生成指令语句程序,向下装载到PLC上,仿真运行。
文章版权归西部工控xbgk所有,未经许可不得转载。