首页 理论教育 程序设计方法简介

程序设计方法简介

时间:2023-06-27 理论教育 版权反馈
【摘要】:图6-50 功能块图编程语言程序表示的时间顺序控制程序的基本结构起保停控制程序设计方法时间顺序控制系统的起保停控制编程方法以设备的起停条件为依据进行编程。TIM2的起动条件是TIM1.Q为0,TIM3的起动条件是TIM2.Q为0,程序如图6-52d所示。程序基本结构采用两个定时器TIM2和TIM3组成方波信号发生器,还设置一个定时器TIM1,用于方波信号发生器的起动。

程序设计方法简介

1.时间顺序控制系统的程序设计方法

时间顺序控制系统是一类常用顺序控制系统。它是根据固定时间执行程序的控制系统。每个设备的运行和停止都与时间有关。例如,交通信号灯控制系统中,道路交叉口红、绿、黄信号灯的点亮和熄灭按照一定的时间顺序。因此,这类顺序控制系统的特点是系统中各设备运行时间是事先确定的,一旦顺序执行,将按预定时间执行操作命令。

(1)基本程序结构

时间顺序控制系统的基本程序结构如图6-49所示。

时间顺序控制系统中各设备E有一个起动条件和一个停止条件。这些条件是有关定时器的输出。例如,图中,TIM1.Q和TIM2.Q分别是定时器TIM1和TIM2的输出。因此,设备E的起动条件是当定时器TIM1计时到,停止条件是当定时器TIM2计时到。

各定时器的输入是另一个定时器的输出,组成串联结构。用功能块图编程语言表示的时间顺序控制程序的基本结构如图6-50所示。

978-7-111-59695-0-Chapter06-87.jpg

图6-49 时间顺序控制基本程序结构

可见,如果用图中的L1作为E的起动条件,L2作为E的停止条件,则E的运行时间是1s。如果用L3作为E的停止条件,则E的运行时间是2s等。

时间顺序控制系统以执行时间为依据,因此,各设备不需要用双稳元素功能块组成起停控制程序,程序得以简化。

978-7-111-59695-0-Chapter06-88.jpg

图6-50 功能块图编程语言程序表示的时间顺序控制程序的基本结构

(2)起保停控制程序设计方法

时间顺序控制系统的起保停控制编程方法以设备的起停条件为依据进行编程。下面以示例说明编程方法。

例6-9】三个信号灯依次点亮和熄灭控制系统的编程。

该控制系统要求三个信号灯按图6-51所示点亮和熄灭。当开关S1闭合后,信号灯L1点亮10s并熄灭,然后,信号灯L2点亮20s并熄灭,最后,信号灯L3点亮30s并熄灭,该循环过程在S1断开时终止。

三个定时器TIM1、TIM2和TIM3用于对信号灯L1、L2和L3的定时,设定时间分别是10s、20s和30s。

1)信号灯L1的编程。根据图6-51,信号灯L1的起动条件是S1为1,停止条件是TIM1.Q为1。程序如图6-52a所示。

2)信号灯L2的编程。根据图6-51,信号灯L2的起动条件是TIM1.Q为1,停止条件是TIM2.Q为1。程序如图6-52b所示。

3)信号灯L3的编程。根据图6-51,信号灯L3的起动条件是TIM2.Q为1为1,停止条件是TIM3.Q为1。程序如图6-52c所示。

4)定时器的编程。TIM1的起动条件是S1为1与周期循环的起动条件TIM3.Q为0,因此,用与逻辑实现,程序如图6-52d所示。TIM2的起动条件是TIM1.Q为0,TIM3的起动条件是TIM2.Q为0,程序如图6-52d所示。

978-7-111-59695-0-Chapter06-89.jpg

图6-51 信号灯的控制时序

IEC61131-3标准规定,连接到右电源轨线的梯级元素必须是线圈。因此,在用梯形图编程语言编程时需要连接输出线圈。例如,图6-52d中定时器输出需连接输出线圈。

978-7-111-59695-0-Chapter06-90.jpg

图6-52 信号灯控制系统的编程

a)信号灯L1的编程 b)信号灯L2的编程 c)信号灯L3的编程 d)定时器的编程

也可编制循环时间顺序控制功能块CYCTIME实现上述控制要求。图6-53a是循环时间顺序控制功能块的输入-输出信号关系。

978-7-111-59695-0-Chapter06-91.jpg

图6-53 循环时间顺序控制功能块

a)输入-输出信号关系 b)循环时间顺序功能块

该控制功能块用于实现如下控制功能:当输入信号IN闭合后,输出OUT延时时间T1后闭合,闭合时间为T2,然后,断开T3时间后,重复闭合和断开。即循环周期为T2+T3。为此,建立用户功能块CYCTIME,如图6-53b所示。功能块的梯形图程序如图6-54所示。

978-7-111-59695-0-Chapter06-92.jpg

图6-54 CYCTIME功能块的梯形图程序

CYCTIME功能块有四个输入变量(VAR_INPUT),一个输出变量(VAR_OUTPUT)。内部变量(VAR)有IN1、TT1和TT2,采用三个TON功能块。变量声明如下:

978-7-111-59695-0-Chapter06-93.jpg

示例用三个CYCTIME功能块实例实现。表6-3是L1~L3信号灯对应的循环时间顺序控制功能块的时间设置。

6-3 循环时间顺序控制功能块的时间设置

978-7-111-59695-0-Chapter06-94.jpg

(3)方波信号发生器程序设计方法

该程序设计方法使用方波振荡器实现对设备的起停控制。方波振荡器输出为1时,连接的设备起动,方波振荡器输出为0时,连接的设备停止。

这种编程方法适用于循环周期运行的控制系统。程序基本结构是图6-54所示的不平衡方波振荡器程序。该程序由用户功能块实现,采用该功能块的调用实现有关控制要求。

程序基本结构采用两个定时器TIM2和TIM3组成方波信号发生器,还设置一个定时器TIM1,用于方波信号发生器的起动。下面以示例说明编程方法。

例6-10】要求按图6-55所示信号灯的控制时序点亮和熄灭信号灯。

信号灯L1从S1闭合开始就周期闭合和断开,因此,基本结构的第一梯级可不使用,直接用不平衡振荡器程序,其形参用实际参数代替,即T2为20s,T3为60s。同样,信号灯L2从S1闭合后延时10s开始周期闭合和断开,因此,用基本结构程序,其形参用实际参数代替,即T1为10s,T2和T3分别是20s和60s。信号灯L3从S1闭合后延时40s开始周期闭合和断开,因此,用基本结构程序,其形参用实际参数代替,即T1为40s,T2和T3分别是20s和60s。实际程序与图6-54的程序类似。

凡是周期运转的时间顺序控制系统都可采用上述基本结构的程序实现。表6-4是调用CYCTIME功能块时对应的时间设置。

978-7-111-59695-0-Chapter06-95.jpg

图6-55 信号灯的控制时序

6-4 循环时间顺序控制功能块的时间设置

978-7-111-59695-0-Chapter06-96.jpg

978-7-111-59695-0-Chapter06-97.jpg

图6-56 信号灯的控制时序

图6-56是由两组CYCTME组成信号灯并联的控制时序图。一组信号的点亮时间T2为20s,熄灭时间T3为50s,起始触发时间T1为10s;另一组信号的点亮时间T2为10s,熄灭时间T3为60s,起始触发时间T1为60s,将两组信号并联就获取图6-56的信号灯时序。

(4)定时器顺序串联程序设计方法

时间顺序控制系统的定时器顺序串联编程方法将定时器顺序串联,将有关输出作为设备的运行条件。程序的基本结构为串联连接的定时器,如图6-50用功能块编程语言编写的程序所示。

例6-11】闭合START开关后,每隔1s点亮一个信号灯,共有5个信号灯,最后一个信号灯点亮后隔1s,全部信号灯熄灭。重复上述过程,直到START开关断开。

定义6个定时器,分别用于计时1s。用功能块图编程语言编写的信号灯顺序点亮控制系统程序如图6-57所示。

功能块图程序中,采用AGAIN反馈变量,它用于信号灯的循环点亮。程序执行过程说明如下:当开关START闭合时,因AGAIN反馈变量为0,因此,经与函数,返回值为1,它被送FB1_1定时器功能块,延时时间为1s,延时时间到后点亮LAMP1地址连接的信号灯,并保持点亮,该信号同时经定时器FB1_2延时1s后点亮LAMP2,依次点亮LAMP3、LAMP4和LAMP5地址连接的信号灯,然后,再延时1s后使AGAIN反馈变量为1,从而使与函数的返回值变为0。它将使各信号灯熄灭。一旦信号灯熄灭,AGAIN又变为0,从而开始新的一轮信号灯点亮和熄灭过程。当START开关断开时,各信号灯熄灭,整个过程结束,等待下一次START开关的闭合。

(5)顺序功能表图程序设计方法

时间顺序控制系统采用顺序功能表图编程时,将时间段作为转换条件,可方便地实现步的进展。基本程序结构根据控制要求可以是单序列,选择序列或并行序列。

978-7-111-59695-0-Chapter06-98.jpg

图6-57 信号灯点亮控制系统的功能块图程序

交通信号灯控制系统就是采用顺序功能表图程序设计方法编写的,详见4.2.3节。

(6)时间顺序控制系统程序设计时的注意事项

1)同步性。时间顺序控制系统的时间同步是十分重要的。编程中忽视扫描周期造成时间不同步是经验不足的设计人员经常会发生的问题,应在设计时重视。例如,不平衡振荡器在每个周期中会增加一个扫描周期时间,如果用于多个振荡器输出的重叠时,就可能出现两者的不同步。采用循环时间控制功能块时,两个时间之和(T2+T3)对各功能块应相等,否则不能实现整体的循环运行。

2)可达性和安全性。顺序功能表图编程时,应防止出现程序的不可达性和不安全性的问题。

3)完整性。梯形图编程语言编程时,应注意右电源轨线应连接线圈。当调用功能块时,应将功能块输出连接到线圈及右电源轨线。由于绘制电气原理图时,通常不在功能块(例如定时器、RS触发器等)的输出连接线圈,从而造成程序的不完整。为此,在编写梯形图程序时,应将右电源轨线画出,并将功能块输出连接到右电源轨线。

4)差异性。应熟悉不同编程语言编程方法的差异性。例如,编写功能块图编程语言的程序时,可直接将功能块输出连接到所需输出信号;编写结构化文本编程语言程序时,可直接用实参代替形参;编写指令表编程语言程序时,功能块参数要用存储指令先将实参存储到形参,然后才能调用功能块,功能块输出也要用读取和存储的方法将输出送出等。

①功能块图编程语言编程时,应设置反馈变量用于对定时器复位,不宜采用直接连接的方法对反馈变量进行连接。

②采用方波信号发生器编程时,通常用三个定时器作为一组,用CYCTIME实现。应注意设备的起动和停止时间,分别用于T2和T3,并根据循环周期的时间来确定起动和停止时间。

③顺序功能表图编程语言编制程序时,转换条件和动作控制功能块的程序可用不同编程语言编写,使编程操作更灵活。

5)正确性。不同软件对功能块的形参名称可以不同,应正确核对。例如,IEC61131-3标准规定RS功能块的参数是S、R1,也允许采用SET和RESET1。后缀1表示优先的端子,例如,R1表示复位优先,S1表示置位优先。

6)连续性。程序中定时器输入信号是开关信号,而不是按钮信号,即闭合后将保持闭合,直到最终一个定时器输出才能对第一个定时器复位。

2.逻辑顺序控制系统的程序设计方法

逻辑顺序控制系统按照逻辑的先后顺序执行操作命令,它与执行的时间无严格关系。例如,下述的物料混合系统中(如图6-59所示),液位到达LA的时间与物料A的储罐内物料量有关,与时间无关;同样,液位到达LB和液位下降到L的时间是不确定的,但一旦液位上升到LB,系统就应自动关闭进料阀B的逻辑关系是不变的。这类顺序控制系统中,执行操作命令的逻辑顺序关系不变,因此,称为逻辑顺序控制系统。在工业生产过程控制中,这类控制系统应用较多。

(1)单一设备的按钮起保停控制的程序设计方法

单一设备的按钮起保停控制编程方法将控制系统的各运转设备分别进行分析,分析其运行和停止的逻辑关系,然后,程序合成。其特点是各设备都采用按钮进行起停控制。程序基本结构如图6-58所示。其中,RS功能块可以用自保线路实现。当只有两个常开触点的应用场合,通常采用SR功能块。

978-7-111-59695-0-Chapter06-99.jpg

图6-58 逻辑顺序控制系统程序的基本结构

例6-12】物料混合控制系统。生产过程和信号波形如图6-59所示。

978-7-111-59695-0-Chapter06-100.jpg

图6-59 物料混合工艺过程和信号波形

操作过程如下:操作人员检查混合罐液位是否已排空,已排空后由操作人员按下START起动按钮,自动开物料A的进料阀A,当液位升到LA时,自动关进料阀A,并自动开物料B的进料阀B。当液位升到LB时,关进料阀B,并起动搅拌电动机M,搅拌持续10s后停止,并开出料阀C。当液位降到L时,表示物料已达下限,再持续2s后,物料可全部排空,自动关出料阀C。整个物料混合和排放过程结束后,进入下次混合过程,如此循环。当按下STOP停止按钮时,在排空过程后关闭出料阀C。

整个顺序控制过程是单序列过程。采用单一设备起停控制编程方法,对每个设备分析其起动和停止条件,然后,用RS功能块实现该设备的起停控制。为了解整个混合过程的运行状态,还设置运行状态的RS功能块。其起动和停止条件分别连接起动按钮START和停止按钮STOP信号。

根据上述过程分析,将有关信号地址分配列于表6-5。表6-6是中间信号分配表。

6-5 物料混合过程的信号分配表

978-7-111-59695-0-Chapter06-101.jpg

6-6 中间信号及定时器分配表

978-7-111-59695-0-Chapter06-102.jpg

中间信号的变量不需要设置地址,方便了用户的编程。

1)运行状态功能块。运行状态功能块用于显示混合过程结束后的状态。其起动条件是START为1,停止条件是STOP为1。用RS_1功能块实现,该功能块输出为RON。

为获得运行的脉冲信号,采用上升沿检测功能块R_1,该功能块输出为RP。用梯形图编程语言编写的程序如图6-60a所示。

978-7-111-59695-0-Chapter06-103.jpg

图6-60 物料混合过程中运行状态和控制阀A的程序

a)运行状态的RS功能块和程序 b) 控制阀A的RS功能块和程序

2)控制阀A功能块。起动(打开)控制阀A的条件由两部分组成。第一次运行时,由运行状态脉冲信号RP触发,循环运行时的运行信号来自控制阀C定时器TIM_1的计时到信号T1Q和需要循环的运行信号RON。停止(关闭)控制阀A的条件是液位达到LA。用上升沿边沿检测功能块R_2将液位信号LA转换为脉冲信号LAP。经转换后,停止条件是LAP为1。根据上述分析,控制阀A的程序如图6-60b所示。

3)控制阀B功能块。起动控制阀B的条件是液位达到LA,即液位脉冲信号LAP。停止条件是液位到LB。同样,用上升沿边沿检测功能块R_3将液位信号LB转换为脉冲信号LBP。控制阀B程序如图6-61a所示。

4)搅拌电动机M功能块:搅拌电动机M的起动条件是控制阀B关闭的条件,即LBP液位脉冲信号。搅拌电动机M的停止条件是定时器TIM_0计时时间到,即定时器TIM_0输出T0Q作为搅拌电动机的停止条件。定时器TIM_0的起动条件是搅拌电动机起动,因此,用搅拌电动机M作为定时器TIM_0的起动条件。搅拌电动机M和定时器TIM_0的程序如图6-61b所示。

978-7-111-59695-0-Chapter06-104.jpg

图6-61 物料混合过程中控制阀B和搅拌电动机M的程序

a)控制阀B的RS功能块和程序 b) 搅拌电动机M的RS功能块和程序

5)控制阀C功能块:控制阀C的起动条件是搅拌电动机的停止条件,即定时器TIM_0输出T0Q。停止条件是液位低于LC时,仍将控制阀C打开2s,即定时器TIM_1输出T1Q。控制阀C和定时器TIM_1的程序如图6-62所示。

978-7-111-59695-0-Chapter06-105.jpg

上述程序组合在一起,组成物料混合过程的控制程序。

(2)单一设备的开关起保停控制的程序设计方法

单一设备的开关起停控制采用一个开关实现,即开关闭合时设备起动,开关断开时设备停运。因此,基本程序如图6-63所示。

978-7-111-59695-0-Chapter06-106.jpg

图6-63 单一设备开关起停控制程序的基本结构

这类设备具有当某条件满足时就运行,不满足时就停止的特点,例如,图6-64所示的报警信号灯控制程序。

978-7-111-59695-0-Chapter06-107.jpg

图6-64 报警信号灯控制程序

程序中,报警触点X1是常开触点,X2是常闭触点,T1Q是方波信号发生器输出的闪烁信号,Z1和Z2是报警确认信号,当X1报警被确认后,Z1闭合;当X2报警被确认后,Z2闭合。X4是试验按钮信号,用于试验信号灯和声响装置。当X1信号超限时,X1触点闭合,由于T1Q是闪烁信号,因此,报警信号灯Y1闪烁,表示该信号有超限。操作人员看到信号灯的闪烁后,按确认按钮,则Z1闭合,因X1信号的超限没有消除,因此,报警信号灯Y1呈现平光,即不再闪烁。操作人员进行X1的超限处理,使X1不超限,这时,X1断开,报警信号灯Y1熄灭。当按下试验按钮X4时,报警信号灯Y1点亮,表示该信号灯状态正常,如果没有点亮,则可检查信号灯和相关线路。对常闭触点X2可进行类似的讨论和分析。细节见6.2节。

(3)根据逻辑图关系的程序设计方法

根据逻辑图关系的编程方法需列出各设备的逻辑图表,根据逻辑图表确定有关设备的起停条件。编程方法如下。

1)唯一性原则。唯一性原则是逻辑图的重要原则。它表示逻辑条件与触点电路输出之间的关系是单值关系,即一种输入对应一种输出。

2)通电表。根据设计要求,按输出时序将被控过程分解为若干步,确定每步输入和输出之间的逻辑关系。

3)相混表。当设计的逻辑关系不唯一时,需消除相混的逻辑关系,为此需增加内部变量。通常,增加内部变量可消除逻辑关系的相混。处理过程在相混表实现。

相混表是原通电表的扩展,它在原通电表右侧绘制。将存在相同逻辑条件的步列出,分为一组,用大写字母表示启动步,与该步相混的步用小写字母表示。同名大写和小写字母的步间绘制垂直实线。由于过程是扫描循环的,因此,第一步是最后步的下一步。

4)处理相混的逻辑关系。增加内部变量来消除相混的逻辑关系。处理方法如下:

①绘制水平分界线,与垂直相混线相交,分界线是增加的内部变量,分界线前,该内部变量取值为0(OFF),分界线后取值为1(ON);也可在分界线前设置内部变量的值为1,分界线后为0。增加内部变量后,可消除有关步间的逻辑相混关系。增加的分界线(内部变量)需检查其逻辑关系是否存在相混关系,如存在,则再增加分界线,直到不存在相混。

②确定需增加的内部变量,在原通电表右侧补列,检查逻辑关系,直到没有相混逻辑关系存在为止。

③为节省内部变量,一个内部变量可建立两个分界线(从0到1或从1到0)。

5)列出逻辑关系表达式。根据扩展后的通电表,用逻辑代数或卡诺图等方法列出逻辑关系表达式,经简化后,用PLC的编程语言实现。

例6-13】信号灯控制程序。

按钮START按4次后点亮信号灯L1,再按2次后使信号灯L1熄灭,并复原。编程方法说明如下:

1)原始通电表。原始通电表见表6-7。

6-7 原始通电表

978-7-111-59695-0-Chapter06-108.jpg

2)相混表。从启动条件看,第4和第2步及第6步相混,即输入为NOTSTART,输出L1可以为1或0。同样,从停止条件看,第6步和第4步相混。

在第3步和第5步间建立分界线,可消除逻辑相混,但检查发现第3步的分界线建立的条件与第1步相混,因此,在第2步建立分界线,检查又发现第2步分界线与第0步之间仍有逻辑相混,因此,在第1步建立分界线,最后的相混表见表6-8。

6-8 相混表

978-7-111-59695-0-Chapter06-109.jpg

3)扩展通电表。根据相混表,增加内部变量Q1和Q2,列出扩展通电表见表6-9。用两个内部变量Q1和Q2建立四条分界线。内部变量按依次通电,全通电后再依次断电的原则设定其工作状态。

6-9 扩展通电表

978-7-111-59695-0-Chapter06-110.jpg

4)编程。根据扩展通电表,用逻辑代数卡诺图列出各输出与输入之间的逻辑关系。其逻辑关系用结构化文本编程语言表示为:

978-7-111-59695-0-Chapter06-111.jpg

(4)顺序功能表图的程序设计方法

顺序功能表图的程序设计方法是根据顺序的先后编写有关动作和命令,因此,具有十分清楚的阶段和操作内容。这种程序设计方法采用顺序功能表图编程语言编制程序。

(5)注意事项

逻辑顺序控制系统程序设计时的注意事项如下:

1)一般规则。(www.xing528.com)

①单一设备的按钮起保停控制编程方法一般采用RS功能块,置位信号一般采用与逻辑函数输出,复位信号一般采用或逻辑函数输出。

②常设置系统的运行状态功能块,便于用户了解系统的运行状态。

③开关类信号可采用上升沿边沿检测和下降沿边沿检测功能块转换为脉冲信号。

④单一设备的开关起保停控制的程序设计方法具有编程简单的特点,起动和停止信号由二进制元件实现。

⑤根据逻辑图关系的程序设计方法需要列出输入、输出之间的逻辑关系,使用较复杂,但可对逻辑关系进行简化。逻辑图也可用状态图替代,理解逻辑关系需要一定的理论基础。

⑥顺序功能表图的程序设计方法以顺序功能为主线,具有条理清晰、编程简单的特点,但简单PLC般不提供该编程语言。

2)可靠性。为保证设备的可靠运行,可设置一些互锁逻辑。例如,电动机的正、反转运行应设置互锁逻辑,包括外部的硬件互锁等。

3)灵活性。应发挥编程人员的长处,顺序功能表图编程方法可采用不同编程语言编写转换条件和动作控制功能块程序,因此,具有很强的灵活性。

4)合理性。逻辑关系的描述应合理。防止使用不合理的逻辑关系。

5)完整性。对输入、输出逻辑关系的描述应完整,防止遗漏,造成系统的误操作。

6)逻辑关系的简化。可用蕴含项描述各设备的逻辑关系简化对控制问题的分析。

7)一致性。对简单控制系统尽量用一种编程语言编写程序,并保持程序的一致性。

3.条件顺序控制系统的程序设计方法

条件顺序控制系统以执行操作命令的条件是否满足为依据,当条件满足时,相应的操作被执行;条件不满足时,将执行另外的操作。典型的例子是电梯控制系统。电梯的运行根据条件确定,可以向上也可以向下运行,所停的楼层也根据乘客所需而定。

这里仅说明程序设计方法的思路,其设计方法可参考有关资料。

用逻辑关系表实现条件顺序控制系统时,由于楼层多时,会造成阶乘效应,使程序变得极其复杂。为此,常采用标志值判别法。

1)将电梯当前位置用二进制数L1表示。例如,用一个字节、字或双字表示,最低层位置用最低位表示,逐层上移。因此,如果第一层用00000001表示,则第二层用00000010表示,其余类推。该信号来自电梯移动时的位置开关。

2)将各层上行和下行按钮组成二进制数。上行按钮组成二进制数U1,下行按钮组成二进制数D1。因此,当第3层乘客按下行按钮时,D1成为00000100,如果第4层乘客又按了下行按钮,则D1成为00001100等。

3)电梯轿厢内的按钮组成上行和下行两个二进制数U2和D2。当电梯上行时,电梯位置下面的楼层不能被系统响应,因此,其数据为0。同样,电梯下行时,电梯位置上面的楼层不能被系统响应,因此,电梯轿厢内的按钮组成U2和D2。表示方法同上述。

4)电梯的上行和下行根据最先按下按钮的楼层信号和电梯当前位置的比较给出。当电梯当前位置低于按钮所需的楼层,则电梯上行,反之,电梯当前位置高于按钮所需的楼层,电梯下行。当电梯当前位置等于按钮所需的楼层,则电梯停运,并打开电梯门。

5)电梯上行和下行的状态被存储,并在乘客进入和关闭电梯门,按下需去楼层按钮后继续。例如,电梯上行状态时,电梯将逐层上升,并在每层比较U1和U2的数据,当比较结果是1的层出现时,则停止运行,并接送乘客,直到到达目前在U1和U2中的最高层。如果在D1和D2中有比其更高的层,则电梯仍将在接送乘客后上升到该更高的层,如果没有,则根据D1和D2中数据下降到所需层接送乘客,其余类推。

6)到达所需层后,将数据中该层数据清零,并进行开电梯门、延时和关闭电梯门等顺序操作。如果没有接收到电梯门已经关闭的反馈信号,则重新打开电梯门,重复开、关电梯门的顺序。

7)通过上述步骤,将随机的顺序转换为确定性的电梯上升和下降顺序,以简化程序设计。

8)对于多层系统,可将输入信号转换为十进制数,用十进制数进行比较,确定电梯的运行方向。

4.模拟量控制系统的程序设计方法

模拟量控制系统是包含模拟量的控制系统,模拟量是一类连续变化的物理量,例如,流量压力、温度、电流等。PLC是由继电控制发展而来,它主要的控制对象是离散量,例如,电动机的起停、信号灯的点亮和熄灭等。PLC用于模拟量控制时,要将模拟量转换为数字量,有时,经运算后的数字量信号还需转换为模拟量。

(1)模拟量控制系统的实现

随着PLC的广泛应用,PLC用于离散控制外,还被用于连续量的控制,因此,在一些应用场合,例如,当模拟量控制回路较少,而离散量控制系统较多的应用场合,常采用PLC系统实现对模拟量的控制。

为实现模拟量控制系统,PLC需增加一些转换单元,它们是模拟量输入单元、模拟量输出单元和模拟量控制单元。

1)模拟量输入单元。它包括对输入信号的采样和保持、信号的数字滤波量程转换、信号限幅和报警等。

①信号采样和保持。用周期为Ts的脉冲信号对输入模拟信号y进行采样,得到时间离散的模拟信号y*

y*t)=y(0)δt−0)+yTsδtTs)+…+ytnTsδtnTs) (6-16)

式中,δt)=δt−0)+δtTs)+…+δtnTs)是单位脉冲函数。

单位脉冲函数幅值为

978-7-111-59695-0-Chapter06-112.jpg

单位脉冲函数冲量为

978-7-111-59695-0-Chapter06-113.jpg

为了复现原信号,香农(Shannon)定理规定了采样频率的最低限,即采样频率应不小于原系统最高频率的两倍。实际应用的采样频率通常大于原系统最高频率的4倍以上。采样频率也不能很大,采样频率上限受计算机时钟频率的限制及CPU处理量的制约。

保持器使离散信号y*依照一定方式保持到下一采样时刻,得到保持信号y'。保持器有零阶保持器、一阶保持器和三角保持器等。零阶保持器传递函数

978-7-111-59695-0-Chapter06-114.jpg

经零阶保持器后的信号y'可表示为

978-7-111-59695-0-Chapter06-115.jpg

②信号量化。输入信号的量化是将模拟量转换为数字量的过程。

假设模拟量为y,量化后的数字量为y*,则有

y=K1qy*+K2 (6-21)

式中,K1是变送器输出输入量程范围之比;K2零点压缩;q是量化单位,978-7-111-59695-0-Chapter06-116.jpgM是模拟量全量程,N是寄存器位数。y*是数字量,只能取整数。因此,对8位寄存器,转换精度为0.5级;对12位寄存器,转换精度可达0.025级。

③线性化。模拟量需要进行量化外,一些变送器输出信号与被控变量之间的关系不是线性关系,为此,需进行线性化处理。

线性化处理可直接采用函数关系计算,也可采用迭代公式或采用回归公式。

例如,热电偶的热电动势E与温度T之间也存在非线性关系,可用下列回归公式计算;

T=a0+a1E+a2E2+a3E3+a4E4 (6-22)

镍铬-镍铝热电偶在400~1000℃范围内的系数为

a0=-2.4707112×10;a1=2.9465633×10;a2=-3.1332620×10-1a3=6.5075717×10-3a4=-3.9663834×10-5

④数字滤波。由于需要硬件投资,因此,PLC常采用软件滤波。常用滤波方法见表6-10。

6-10 数字滤波

978-7-111-59695-0-Chapter06-117.jpg

⑤数字变换。信号的数字变换也常常被应用于检测变送信号的处理,例如,快速傅里叶变换、小波变换等。除了数字变换外,在计算机控制系统中,经常使用模-数转换和数-模转换。

⑥限幅和报警。输入信号超过规定的上、下限时,应提供报警功能,可采用比较函数实现。输入信号的限幅可直接用标准规定的LIMIT函数实现。同样,在模拟量控制系统中如果检测到检测元件处于坏状态时,也需要为操作人员提供相关报警信息。

⑦功能安全。为保证检测变送环节的功能安全性,除了选用功能安全的产品外,还需要检测该环节中有关部件的安全性。一旦发生故障,应及时将故障状态记录并传递到下游模块,防止故障扩大。例如,对热电阻的短路、热电偶的断偶等都应设置有关的坏状态信号,并将坏状态的信号传递到下游模块。

2)模拟量输出单元。模拟量输出单元用于将PLC运算后的信号转换为输出信号。

模拟量输出是经数-模转换所得,模拟量经电气转换器或直接用电气阀门定位器,可操纵气动控制阀。计算机控制装置采用零阶保持器,在每个采样周期内,使输出信号被保持到下一个输出信号的到来。

脉冲量输出可直接驱动步进电动机,特别适用于增量算法。步进电动机可带动电位器,转换为电流信号,经电气转换驱动气动控制阀。

开关量输出用于控制阀的开关或电动机的起停,常用于顺序逻辑控制和联锁控制系统。

(2)控制算法

模拟量控制系统的常用控制算法是PID控制算法。PLC的PID控制器单元用于实现PID控制运算。当PLC不带可扩展的PID控制器单元时,可编写用户PID功能块实现,如6.1.1节所介绍。

PLC的PID控制算法采用数字控制算法,根据输出变量的不同,有位置算法、增量算法和速度算法等几种。

理想控制算法为

978-7-111-59695-0-Chapter06-118.jpg

采用下列转换公式近似得到数字化的控制算法。

978-7-111-59695-0-Chapter06-119.jpg

1)位置算法。直接得到控制器的输出uk):

978-7-111-59695-0-Chapter06-120.jpg

式中,978-7-111-59695-0-Chapter06-121.jpg978-7-111-59695-0-Chapter06-122.jpg

2)增量算法。Δuk)=uk)−uk−1)

Δuk)=Kc[ek)−ek−1)]+KIek)+KD[ek)−2ek−1)+ek−2)]

=KcΔek)+KIek)+KD[ek)−2ek−1)+ek−2)] (6-26)

3)速度算法。增量算法输出与采样周期之比作为速度算法输出。978-7-111-59695-0-Chapter06-123.jpg

978-7-111-59695-0-Chapter06-124.jpg

式中,Δek)=ek)−ek−1)。

4)数字控制算法的特点。与模拟控制算法比较,数字控制算法具有下列特点:

①P、I、D三种控制作用相互独立,没有控制器参数之间的关联。

②由于不受硬件的制约,因此,数字控制器的参数可以在更大范围内设置。

③数字控制器采用采样控制,引入采样周期Ts,即引入一个纯时滞为Ts/2的滞后环节,使控制品质变差。

④采样周期大小的选择影响数字控制系统的控制品质。为使采样信号能够不失真复现,采样周期应小于工作周期的一半,这是采样周期的选择上限。实际应用中,根据系统的工作周期Tp,选择采样周期978-7-111-59695-0-Chapter06-125.jpg,通常取Ts=0.1Tp。

5)数字控制算法的改进。表6-11是数字PID控制算法的改进。

6-11 数字PID控制算法的改进

978-7-111-59695-0-Chapter06-126.jpg

例6-14】增量PID控制器的应用。

编写增量PID控制器_Z功能块本体程序如下:

978-7-111-59695-0-Chapter06-127.jpg

程序中,SP是设定;PV是测量;KP是比例增益,即放大倍数;TIT、TDT和TST分别是以TIME数据类型表示的积分时间、微分时间和采样时间;TI、TD和TS分别是以转换为实数后的积分时间、微分时间和采样时间;UK、UK1是控制算法的K拍和K-1拍输出,EK、EK1和EK2是K拍、K-1拍和K-2拍的偏差;K是比例系数。

为验证,用3.3.3节示例介绍的方法建立一阶惯性环节LAG,并组成图6-65所示的控制回路。

978-7-111-59695-0-Chapter06-128.jpg

图6-65 三个一阶环节组成的对象和增量控制器

整个控制系统用PV作为反馈变量,组成闭环控制系统。采样时间为1s时,获得图6-66所示的控制器输出响应曲线。改变控制器参数可影响控制系统控制品质。

978-7-111-59695-0-Chapter06-129.jpg

图6-66 控制系统的输出响应和控制器输出响应曲线

5.数据处理系统的程序设计方法

数据处理就是采用计算机进行数据采集、存储、检索、传输和转换等。PLC是计算机控制装置,它具有数据处理功能。

(1)数据采集

PLC的大量操作是数字量采集操作。数据采集包括对数字量、模拟量和脉冲量的数据采集。

1)数字量采集。数字量是简单的逻辑量,只有0(FALSE)和1(TRUE)两种数值。数字量采集过程是从指定地址将其状态信息读入到PLC对应输入寄存器的过程。

采用不同类型数字量输入传感器时,有不同的外部连接方式,数字量输入信号有源和漏等类型,因此,需根据不同的传感器情况接线,才能保证数字量输入信号的正确性。

数字量信号存在抖动问题。为消除硬件开关动作瞬间的抖动,可采用硬件和软件的消抖动措施。

数字量信号的采样周期根据该数字量信号所驻留任务的设置,可以是周期采集,也可根据事件进行采集等。

数字量信号的状态被存储在输入信号状态寄存器,当PLC执行输入、输出过程时,该地址状态寄存器的内容被传送到对应的输入存储器

2)模拟量采集。模拟量采集是将模拟输入信号转换为PLC的数字信号

经采样后的模拟量信号是脉冲信号,要用保持器将当前采集的脉冲信号保持到下一次采样时刻,通常采用零阶保持器,它将采集的脉冲信号以同样幅值保持到下一次采样时刻。

采样频率的下限受香农定理的限制,只有采样频率高于原系统最高频率的两倍,才能保证原信号的复现。采样频率也不能很大,采样频率的上限受计算机时钟频率的限制及CPU处理量的制约。

模拟量量化过程是小数归整过程。根据式(6-21),量化误差是±0.5q。模-数转换的分辨率越高,量化精度越高。根据变量的数据类型,将量化后的数据存储在对应的数据存储区。

模拟量信号要进行信号处理,例如,线性化处理、开方处理等。

根据GB/T 17966-2000(等价于IEC 60559)的规定,模拟量用实数表示,如图6-67所示。

978-7-111-59695-0-Chapter06-130.jpg

图6-67 实数格式

实数用4字节组成的双字表示,其中,最高位是第31位,表示该实数的符号s,1表示负数,0表示正数。第30位到第23位组成的8位二进制数表示实数的指数位e。第22位到第0位组成的23位二进制数表示实数的底数位f。该实数R可表示为

R=sgn(s)(1.f)2e−127) (6-28)

例如,根据实数表示式00111111010000000000000000000000,可得

s=0;f=0.5;e=126;R=+1.5×2(126-127)=+0.75。

3)脉冲量采集。脉冲量与数字量的区别是脉冲量的采样频率高,脉冲宽度小。因此,对脉冲量的采集应采用专用设备,例如,高速计数器、编码器等。

脉冲量输入有两种工作模式。对数字量计数是脉冲量输入的一种工作模式。在这种工作模式下,PLC在给定的采样时间内统计输入的脉冲信号个数。另一种工作模式是两输入脉冲间隔时间测量模式。这种工作模式下,测量相邻两个脉冲信号之间的间隔时间。这两种工作模式都采用计数器。

脉冲信号存在抖动问题,可采用类似数字量的硬件和软件消抖动措施。

(2)数据存储和检索

1)数据存储。可直接用MOVE赋值语句将数据送有关的存储器。存储条件可以是定周期、事件触发等方式,存储数据的区域可以是固定地址或变地址。数据可进行处理后存储,例如,取平均值、最大值、最小值或冲量后进行压缩处理,数据类型可以先转换后存储,也可在使用取出时转换数据类型。

数据的存储既要保证数据的正确性,也要保证数据的安全性和可靠性。为此,可对数据进行重复采集,对数据进行备份,也可进行加密后存储。

2)数据检索。PLC中的变量是与数据有对应关系的,因此,检索数据可采用检索对应变量的方法。例如,在程序调试时要知道某一定时器的工作情况,可将该定时器的ET端连接到某一变量,观测该变量的变化情况可了解该定时器工作情况。

一些数据也可直接用数据显示形式显示。例如,在控制回路调试时,控制器的输出信号和输入信号可反映控制器的工作情况,便于对控制器参数的调整。

(3)数据显示

PLC的数据可以直接在人机界面的显示屏显示,但一些并非需要长期显示的数据也可用编程器等设备显示。

数据显示包括数据类型转换的处理,可采用各种数据类型转换函数直接或间接转换。采用7段显示码显示数据时,应根据数据显示的数码管类型选择合适的数据类型转换函数,例如,采用BCD码显示、采用ASCII码显示等。

(4)数据处理

数据处理过程是将采集的数据进行最大、最小、求总和及求平均等处理过程。

1)最大(最小)值处理。在规定的采样数据中,计算其最大(最小)值。

例6-15】反应器温度的最大值数据处理示例。

某反应器的反应层有三个温度检测点,控制要求,反应器温度不能高于某限值,为此,对三个温度采样值进行最大值处理。程序如图6-68所示。

对最小值数据处理可直接用MIN函数等。

2)总和和平均值处理。总和数据处理可直接用ADD函数,并将其返回值除以采样个数获得平均值。

3)报警处理。例如,采用2.3.3节的HYSTERESIS功能块,增加有关函数实现报警处理。图6-69是报警处理程序。

978-7-111-59695-0-Chapter06-131.jpg

图6-68 最大值处理程序

978-7-111-59695-0-Chapter06-132.jpg

图6-69 报警处理程序

程序中,PV是采样数据,H和L是高、低限,EPS是死区带,H_ALARM和L_ALARM是高、低限报警输出,ALARM是报警信号。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈