1.基本混合控制梯形图程序实现
图3-93所示为混合原则控制梯形图程序。
图3-93 混合控制逻辑梯形图程序
从图3-93知,它由工作控制、集中控制器、虚拟输出及虚拟输入几部分组成:
(1)集中控制器。使用一个可逆计数器(CNTR 000,减计数不用)。当“工作”ON时,每次“步进”ON,则CNT 000加1,实现步进。计数到设定值(存于符号地址“总步数”中)后,再加1,CNTR 000现值又回到0,同时,其常开触点ON,常闭触点OFF。这时,如自动工作OFF,其常闭触点将使“工作”OFF,工作停止;否则,又将从0开始计数。而“步进”什么时候ON,取决于“计算输入”通道的内容与DM998值指向的DM地址的内容进行比较的结果。当这两者相等时,即得到了应有的反馈信号,表示动作完成,则“步进”ON。
(2)虚拟输入。用“虚拟输入”及“反虚拟输入”两个通道。两者内容相反,其对应位,如前者为1,则后者为0;如前者为0,则后者为1。而使用其中哪一位作为虚拟输入,由∗DM998确定。∗DM998的哪一位设为1,即使用哪一位作为反馈输入。而这个反馈输入是用正(ON),还是用反(OFF)信号,则取决于∗DM996与∗DM998的对应的位是怎么设的。设为1,反馈输入用的是反虚拟输入(用OFF信号);设为0反馈输入用的是正虚拟输入(用ON信号)。
为此,在该图的程序中,要先进行∗DM996与#0比较,如相等,则使用ON信号;反之,使用OFF信号。使用ON信号时,“计算输入”为∗DM998直接与“虚拟输入”通道的内容作“与”运算;用OFF信号,“计算输入”为∗DM998与“反虚拟输入”通道的内容作“与”运算。这个“计算输入”与∗DM998比较,如相等,即收到应有的反馈,从而产生“步进”信号,并将引起计数器CTRN000加1、步进。
DM998的值等于CNT 000现值与DM991之和,所以,DM 991决定了指针DM998的初值。DM996值等于CNT000现值与DM992之和,所以,DM 992决定了指针DM996的初值。
(3)虚拟输出。使用“虚拟输出”通道。其值是由以DM999值为地址DM字的内容传来的。这个DM字的内容设成什么样,“虚拟输出”就有什么样的输出。DM999的值为DM995的值加CNT000的现值。故DM999的初值由DM990内容确定。
(4)程序工作过程。当“起动”信号ON,“工作”输出将ON,并自保持,系统进入工作状态。“虚拟输出”将从∗DM999传来数据,将根据前者的内容产生虚拟输出,如要产生实际输出,可把此输出再作传递。
随着实际输出控制的推进,系统的实际输入将传递给“虚拟输入”(有关程序另附)。程序将根据∗DM998、∗DM996的设定,把“虚拟输入”进行逻辑处理,然后得到“计算输入”。再把“计算输入”与∗DM998的设定进行比较。直到两者相等,说明已完成此步控制,进而产生步进信号,使CNTR 000加1计数。DM998也随之赋以新值(加1),实现了步进,其虚拟输出则是新一步的设定值。
这样延续,直到CNTR 000计到“总步数”,再计入1,其输出ON,并自身复位(现值回到0)。这时,如“自动”ON,则开始新的循环,继续工作;如“自动”OFF,“工作”OFF,“虚拟输出”置0,系统工作停止。
有了本程序这个框架,在实际运行前,根据实际情况,对有关DM作好设定,同时,再增加必要的输入、输出程序,完全可实现相当复杂的顺序控制。以下用两个实例介绍怎么应用本程序。
2.基本混合控制ST语言程序实现
混合控制逻辑梯形图程序也可使用ST语言表达。但要先设计功能块,然后再调用。本例功能块名为“功能块3”。
(1)变量声明
1)输入变量
stA(起动), BOOL 0 FALSE INPUT 0
stO(停止), BOOL 0 FALSE INPUT 0
zdW(自动工作), BOOL 0 FALSE INPUT 0
wI(工作), BOOL 0 FALSE INPUT 0
iW(虚拟输出), WORD 0 0INPUT 0
iJS(计数器), UINT 0 0 INPUT 0
sJS(总步数), UINT 0 0 INPUT 0
2)输出变量
wO(工作), BOOL 0 FALSE O UTPUT 0
oW(虚拟输出), WORD 0 0 OUTPUT 0
oJS(计数器), UINT 0 0 OUTPUT 0
3)内部变量
inW1,WORD 100(数组大小)D1000(AT地址)INTERNAL 0
onW,WORD 100(数组大小)D1100(AT地址)INTERNAL 0
inW2,WORD 100(数组大小)D1200(AT地址)INTERNAL 0
jnW(计算输入),WORD 0 0 INTERNAL0
提示:这里wI与wO、iW与oW、iJS与oJS实际是一个变量。新版ST语言可声明输入输出变量。用这些变量即可用同一变量名。
声明内部变量时,可在“编辑变量”窗口上,点击“高级”项。之后,将弹出“高级设置”窗口。如图3-94所示。
在高级设置窗口上,如图所示,选择inW2为数组变量,数组大小为100,AT地址为D1200,即数组中的inW2[0]即为D1200,inW2[1]即为D1201……这样,inW2数组虽为内部变量,实际是PLC的实际地址。
本例声明了3个数组,数组大小都是100,都是AT变量。inW1为设定哪个位输入有效,inW2为设定输入有效位用常开触点(设为0),还是用常闭触点(设为1)。onW为设定输出。
图3-94 内部变量高级设置窗口
(2)ST语言程序
以下程序有注解。可参阅注解阅读。
(3)功能块调用如图3-95所示。其地址使用与图3-93相同。
3.分支混合控制逻辑(www.xing528.com)
混合控制也可有分支,而且也还可有不同的分支结构。图3-96所示为较常用的一种分支算法框图。
图3-95 功能块3调用程序
图3-96 分支算法的框图
从图知,它在主干程序中,每次步动作完成,都要判是否进入分支程序。如进入分支程序,一旦分支步完成,则工作停止。而若未进入分支程序,如自动工作,将周而复始地执行主干程序。一般讲,这里的主干程序用于系统正常工作,而分支程序则当系统不正常时才使用。
可在图3-96基础上,增加反馈输入通道(字),判断是否进入分支。如进入分支,再对输出通道(字)的起始地址作新的设定。具体程序略。
4.混合控制应用实例
(1)采用的是本章3.3.4节3.组合机床动力头运动控制,其要求与其完全一样。
本例用图3-93程序。并新增图3-97所示的实际输入输出程序。图中“虚拟输出”实际地址设为220。“虚拟输入”实际地址设为200。实际输入、输出用符号地址。用的是本章3.3.4节3.组合机床动力头运动控制,其要求与其完全一样。
图3-97为新增的实际输入输出程序。
本例有6个工作步,故DM997设为#5,从0开始到5,正好六步。
DM990、DM991及DM992可任意设,只要所设的数据不被覆盖即可。本例DM990、DM991及DM992分别设为#300、#200及#400。即虚拟输出设定值地址,从DM0300开始;虚拟输入有效位设定值地址,从DM0200开始;虚拟输入ON还是OFF有效设定值地址,从DM0400开始。
DM0300~DM0305依各步要求的虚拟输出设定。
DM0200~DM0205依各步的有效输入位设定。
DM0400~DM0405依各步要求的ON、OFF有效设定。
这些DM区具体设定值,见表3-23。
图3-97 输入输出程序
表3-23 参数选择
作了以上设定后,再运行图3-93加图3-97梯形图程序,经测试证明,它完全可实现所要求的功能。
(2)设计要求同本章3.3.4节1.液体混合罐工作控制。
这里的关键是,把工作过程分成“步”,每“步”对应一个输出,然后用输入对“步”作控制。本例共分5步:
打开阀门X1(10.01)ON,直到行程开关I(0.01)ON;
关闭X1,同时打开阀门X2(10.02)ON,直到行程开关H(0.02)ON;
关闭X2,接通M(10.03),使M工作,保持6s;
M工作6s(用定时器TIM10)后,停止工作,并打开阀门X3(10.04),到行程开关L(0.01)从ON到OFF。
延时2s(用定时器TIM11),工作停止。
本例也是用图3-93梯形图程序。但也要增加实际输入、输出及定时逻辑。如图3-98所示。
此外,还要对有关DM区作设定。具体是:
DM997因工作步数为5,故设其为4。
DM990、DM991及DM992也可任意设。本例DM990、DM991及DM992分别设为#900、#910及#9200。即虚拟输出设定值地址,从DM0900开始;虚拟输入有效位设定值地址,从DM0910开始;虚拟输入ON还是OFF有效设定值地址,从DM0920开始。
DM0900到DM0904依各步要求的虚拟输出设定。
DM0910到DM0914依各步的有效输入位设定。
DM0920到DM0924依各步要求的ON、OFF有效设定。
这些DM区具体设定值,见表3-24。
图3-98 液体混合罐工作控制新梯形图程序
表3-24 参数选定
增加了以上实际输入、输出及定时程序,再按表3-24对DM区作了设定,运行图图3-93、3-98程序梯形图程序,完全可实现设计的要求。实际测试结果也证明了这一点。
应指出的是,这里的步进逻辑不一定非用计数器不可。也可用加1指令或普通的加指令。只是,用它时,在每进行一次步进,还要判断步进是否完成,没有用计数器方便。
混合控制算法及其程序不仅规范,而且“万能”。避开了麻烦的时序逻辑处理,可按部就班地实施顺序控制。动作及反馈的不同只是输出输入变换的不同。而动作增减,只须改变计数器的设定值。它所控制的点数、步数几乎不受限制。惟一的限制是PLC的数据区的容量及PLC的实际输入输出点数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。