1
PLC编程实用指南
1.6.8.1 2.8.1  分散控制及其应用
2.8.1 分散控制及其应用

1.分散控制算法要点

在本章第7节讲到流程图法编程,实质上也是分散控制。它们都是按反馈输入的情况一步步推进,各个步也都可按要求实现不同的控制输出。两者不同只是分散控制源于工程控制实践,而流程图算法源于计算机程序流程管理。

本章第1节介绍分散控制算法没有讲分支。其实正如流程图算法一样,它也可能有分支。有平行分支与选择分支,以至于更为复杂的分支。图2-85为平行分支的原理图。

从图2-85知,它的“动作2完成”信号将起动两个动作,“动作3”及“动作33”。起动后,这两个分支将平行工作。直到这里的“动作4完成”、“动作44完成”信号都产生了,才能进入“动作5”。

图2-86为选择分支。从图可知,它的动作2完成后,有两个动作完成信号选择:“动作2完成A”与“动作2完成B”。如得到是“动作2完成A”,则进入分支A,直到分支A完成。如得到是“动作2完成B”,则进入分支B,直到分支B完成。

978-7-111-39745-8-Chapter03-180.jpg

图2-85 平行分支框图

978-7-111-39745-8-Chapter03-181.jpg

图2-86 选择分支框图

2.分散控制程序实现

分散控制的“动作”、“步”或“动作完成”可以是实际输出、输入点,直接实现输出控制与得到输入反馈。也可不是实际输出点、输入点,通过转换间接实现输出控制与输入反馈。后者具有柔性,实现程序灵活,通用性强,易读,易改,是很值得提倡的设计。

(1)使用间接实现,所要作的工作有两个:

1)根据“动作”或“步”的数量,设计与其相等的“动作”或“步”的逻辑控制程序。

2)设计输入、输出转换程序。

(2)逻辑控制程序的实现方法有:

1)基本指令实现。本书第1章第6节图1-155所示,即为此方法。使用基本指令即可实现。

2)移位指令实现。本书第1章第6节图1-156所示即此方法。本法的优点指令使用效率高,是在一定步数内(受移位字的限制),增加“步”数,控制输出程序量不增加。

3)步进指令实现。本章第7节流程图算法的程序实现用的就是此方法。程序单元化强,扫描时间也可减少。

978-7-111-39745-8-Chapter03-182.jpg

图2-87 SFC语言分散控制程序

4)SFC语言实现,是步进指令的进一步发展。图2-87所示为合理时PLC的相应程序。运行开始,先进入初始步(init)。当“start”ON,则进入“Step1”步。到了“Step1F”条件ON,则转入“Step2”步。以此类推。直到“Step4F”条件ON,则取决于“Auto”条件ON否,或转到“Step1”继续工作,或转到“init”等待新的命令。

以下为它使用的变量声明:

978-7-111-39745-8-Chapter03-183.jpg

各个步(Step)的所执行的动作要另行编写。

(3)输入、输出转换程序。这在间接输入、输出控制时才用到它。这在本书第1章第6节典型程序中也已有介绍。以下应用实例中还将具体说明。

3.分散控制应用实例

(1)用的是本章第3节的例3,其要求与其完全一样。

1)设计控制程序。结合本例,用6个“动作”的顺序控制程序。步进逻辑可采用以上介绍的任意一个,具体略。

2)确定输入、输出组合逻辑。本例用间接输入、输出。实际地址用符号地址,如XK1、XK2……DT1、DT2。按要求,其输出与“动作”的关系为

“动作1”、“动作2”、“动作4”、“动作5”DT1应为ON,动力头前进。其他情况为OFF,动力头后退。

“动作1”、“动作3”、“动作4”、“动作6”DT1应为ON,动力头快速。其他情况为OFF,动力头慢速。

其逻辑式应为

DT1=“动作1”+“动作2”+“动作4”+“动作5”

DT2=“动作1”+“动作3”+“动作4”+“动作6”

按要求,其输入与“动作完成”的关系为

2XK ON应产生与“动作1完成”信号;3XK ON应产生与“动作2完成”信号;2XK OFF应产生与“动作3完成”信号;3XK再次ON应产生与“动作4完成”信号;4XK ON应产生与“动作5完成”信号;1XK ON应产生与“动作6完成”信号。

所以,其逻辑表达式应为

“动作1完成”=XK2

“动作2完成”=XK3

“动作3完成”=XK2非

“动作4完成”=XK3

“动作5完成”=XK4

“动作6完成”=XK1

“原位”=XK1

图2-88所示为相应的输入、输出逻辑梯形图。

978-7-111-39745-8-Chapter03-184.jpg

图2-88 输入、输出逻辑梯形图

有了步进逻辑程序加上这个转换程序,PLC运行后,即可实现所要求的控制功能。

(2)设计喷泉电路。其要求与本章第7节时序算法的实例相同。这里的控制对象也是按固定顺序工作的,只是它的动作完成是由动作持续的时间确定。持续时间到,相当于动作完成。它的具体设计过程:

1)设计控制程序。结合本例,用六个“动作”的分散控制逻辑。

2)确定输入、输出组合逻辑。也用间接输入、输出。实际地址也用符号地址,如“起动”、“AA工作”、“BB工作”及“CC工作”。

按要求,其输出与“动作”的对应关系为

“动作1”、“动作4”、“动作5”,“AA工作”应为ON,喷头A工作。其他情况为OFF,喷头A不工作。

“动作2”、“动作4”、“动作5”,“BB工作”应为ON,喷头B工作。其他情况为OFF,喷头B“不工作。

“动作2”、“动作3”、“动作5”,“CC工作”应为ON,喷头C工作。其他情况为OFF,喷头C不工作。

其逻辑表达式应为

“AA工作”=“动作1”+“动作4”+“动作5”

“BB工作”=“动作2”+“动作4”+“动作5”

“CC工作”=“动作2”+“动作3”+“动作5”

按要求,其动作完成为定时信号。所以应用定时器控制。共用6个定时器。欧姆龙PLC用TIM001、TIM002、TIM003、TIM004、TIM005、TIM006;西门子用T90、T91、T92、T93、T94、T95;三菱用T1、T2、T3、T4、T5、T6。分别与“动作1完成”、“动作2完成”、“动作3完成”、“动作4完成”、“动作5完成”、“动作6完成”对应。定时器时间设定,按要求分别为5s、5s、5s、2s、5s、3s。对应的定时器设定值为#50、#50、#50、#20、#50、#30。此外,“原位”设法保持常ON就可以了。与此对应的逻辑表达式很简单,这里略。

与这个输入、输出对应的三种PLC的梯形图程序如图2-89、图2-90所示。

978-7-111-39745-8-Chapter03-185.jpg

图2-89 输出逻辑梯形图程序