1、2023-5-111项目五项目五 程序设计程序设计教学目标:教学目标:理解顺序功能图的概念、四要素及其顺序功能图的三种结构。理解顺序功能图的概念、四要素及其顺序功能图的三种结构。教学重点:教学重点:1、顺序功能图转换实现的基本原则和基本步骤。、顺序功能图转换实现的基本原则和基本步骤。2、顺序功能图转换成梯形图。、顺序功能图转换成梯形图。教学难点:教学难点:画出复杂控制任务的顺序功能图。画出复杂控制任务的顺序功能图。技能目标:技能目标:硬件:会接电气线路图。硬件:会接电气线路图。软件:能将复杂控制任务的顺序功能图转换成梯形图。软件:能将复杂控制任务的顺序功能图转换成梯形图。顺序控制设计法与顺序功
2、能图顺序控制设计法与顺序功能图2023-5-113 梯形图的经验设计法梯形图的经验设计法开关量控制系统(例如继电器控制系统)又称为数字量控制系统。开关量控制系统(例如继电器控制系统)又称为数字量控制系统。可以用设计继电器电路图的方法来设计比较简单的数字量控制系可以用设计继电器电路图的方法来设计比较简单的数字量控制系统的梯形图,即在一些典型电路的基础上,根据被控对象对控制统的梯形图,即在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图。有时需要多次反复系统的具体要求,不断地修改和完善梯形图。有时需要多次反复地调试和修改梯形图,增加一些中间编程元件和触点,最后才能地调
3、试和修改梯形图,增加一些中间编程元件和触点,最后才能得到一个较为满意的结果。得到一个较为满意的结果。这种方法没有普遍的规律可循,具有很大的试探性和随意性,最这种方法没有普遍的规律可循,具有很大的试探性和随意性,最后的结果不是唯一的,设计所用的时间、设计的质量与设计者的后的结果不是唯一的,设计所用的时间、设计的质量与设计者的经验有很大的关系,所以称为经验设计法,可以用于比较简单的经验有很大的关系,所以称为经验设计法,可以用于比较简单的梯形图设计。梯形图设计。2023-5-1145.1 顺序功能图概念顺序功能图概念所谓所谓顺序控制顺序控制,就是按照生产工艺预先规定的顺序,在各个输,就是按照生产工艺
4、预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。各个执行机构自动地有秩序地进行操作。顺序功能图顺序功能图(Sequential Function Chart,SFC)是描述控制系统是描述控制系统的控制过程、功能和特点的一种图形,也是设计的控制过程、功能和特点的一种图形,也是设计PLC的顺序控的顺序控制程序的有力工具。制程序的有力工具。顺序功能图是顺序功能图是IEC 61131-3居首位的编程语言,有的居首位的编程语言,有的PLC为用户为用户提供了顺序功能图语言,例如提供了顺序
5、功能图语言,例如S7-300/400的的S7 Graph语言,在语言,在编程软件中生成顺序功能图后便完成了编程工作。编程软件中生成顺序功能图后便完成了编程工作。S7-1200 PLC没有配备顺序功能图语言,但可以用没有配备顺序功能图语言,但可以用SFC来描述系来描述系统的功能,根据它来设计梯形图程序。统的功能,根据它来设计梯形图程序。2023-5-1155.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素(1)步步用矩形框表示各步,框内是步的编号用矩形框表示各步,框内是步的编号(2)有向连线有向连线连接步与步,箭头的方向表示步的转换方向连接步与步,箭头的
6、方向表示步的转换方向(3)转换与转换条件转换与转换条件标注在步与步之间的短横线旁标注在步与步之间的短横线旁(4)动作动作各步需要完成的动作各步需要完成的动作2023-5-116顺序控制设计法将系统的一个工作周期划分为若干个顺序相连顺序控制设计法将系统的一个工作周期划分为若干个顺序相连的阶段(步,的阶段(步,Step)。)。用编程元件用编程元件(例如位存储器例如位存储器M)来代表各步。来代表各步。步是根据步是根据输出量的状态变化输出量的状态变化来划分的,在任何一步之内,各输来划分的,在任何一步之内,各输出量的出量的ON/OFF状态不变,但是相邻两步输出量的状态是不同的。状态不变,但是相邻两步输出
7、量的状态是不同的。步的这种划分使代表各步的编程元件的状态与各输出量的状态步的这种划分使代表各步的编程元件的状态与各输出量的状态之间有着简单的逻辑关系。之间有着简单的逻辑关系。步步5.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素2023-5-117步步系统的初始状态相对应的步称之为系统的初始状态相对应的步称之为初始步初始步。初始状态一般是系统等待起动的相对静止的状态。每个顺序功能初始状态一般是系统等待起动的相对静止的状态。每个顺序功能图都必须有一个初始步。顺序功能图中初始步用双线方框表示。图都必须有一个初始步。顺序功能图中初始步用双线方框表示。控制系统
8、当前处在某一阶段时,该步处于活动状态,称该步为控制系统当前处在某一阶段时,该步处于活动状态,称该步为“活动步活动步”,步处于活动状态时,相应的动作被执行,其状态元,步处于活动状态时,相应的动作被执行,其状态元件的值为件的值为1(ON)。处于不活动状态,则停止执行。)。处于不活动状态,则停止执行。5.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素2023-5-118有向连线有向连线在在SFC中,随着时间的推移和转换条件的实现,将会发生步的中,随着时间的推移和转换条件的实现,将会发生步的活动状态的进展,这种进展按有向连线规定的路线和方向进行。活动状态的进展
9、,这种进展按有向连线规定的路线和方向进行。在画在画SFC时,将代表各步的方框按它们成为活动步的先后次序时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。顺序排列,并用有向连线将它们连接起来。步的活动状态习惯的进展是从上到下或从左到右,在这两个方步的活动状态习惯的进展是从上到下或从左到右,在这两个方向有向连线上的箭头可以省略。向有向连线上的箭头可以省略。如果不是上述的方向,则应在有向连线上用箭头注明进展方向。如果不是上述的方向,则应在有向连线上用箭头注明进展方向。5.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素2023
10、-5-119转换与转换条件转换与转换条件转换用有向连线上和有向连线相垂直的短划线表示,将相邻两步转换用有向连线上和有向连线相垂直的短划线表示,将相邻两步分隔开。分隔开。使当前步进到下一个步的信号,称为转换条件。可以是输入信号,使当前步进到下一个步的信号,称为转换条件。可以是输入信号,按钮信号;也可是按钮信号;也可是PLC内部信号,如时间继电器的信号,计数器内部信号,如时间继电器的信号,计数器的信号等。的信号等。转换条件可以是多个信号的与、或、非的组合,也可以是信号的转换条件可以是多个信号的与、或、非的组合,也可以是信号的上升沿或下降沿,分别用上升沿或下降沿,分别用 和和 表示。表示。转换条件直
11、接标示在表示转换的短转换条件直接标示在表示转换的短线旁边,较多使用布尔代数表达式。线旁边,较多使用布尔代数表达式。5.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素2023-5-1110每一步可以完成不同的动作。每一步可以完成不同的动作。动作分为存储型和非存储型:如动作分为存储型和非存储型:如Q0.0,Q0.1,Q0.2均为非存储均为非存储型,在对应的步为活动步时为型,在对应的步为活动步时为1,为不活动步时为,为不活动步时为0。步与它的。步与它的非存储性动作的波形相同。非存储性动作的波形相同。动作动作5.2 顺序控制设计法与顺序功能图顺序控制设计法与顺
12、序功能图顺序功能图四要素顺序功能图四要素2023-5-1111小车刚开始停在最左边,限位开关小车刚开始停在最左边,限位开关I0.2为为1状态。按下起动按钮,状态。按下起动按钮,Q0.0变为变为1状态,小车右行。碰到右限位开关状态,小车右行。碰到右限位开关I0.1时,时,Q0.0变为变为0状态,状态,Q0.1变为变为1状态,小车改为左行。返回起始位置时,状态,小车改为左行。返回起始位置时,Q0.1变为变为0状态,小车停止运行,同时状态,小车停止运行,同时Q0.2变为变为1状态,使制动状态,使制动电磁铁线圈通电,接通延时定时器开始工作。定时时间到,制电磁铁线圈通电,接通延时定时器开始工作。定时时间
13、到,制动电磁阀线圈断电,系统返回初始状态。动电磁阀线圈断电,系统返回初始状态。5.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素2023-5-11125.2 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图顺序功能图四要素顺序功能图四要素2023-5-11135.3 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图SFC的基本结构的基本结构单序列单序列三种基本结构:单序列,选择序列,并行序列三种基本结构:单序列,选择序列,并行序列单序列结构的功能表图没有分支,每个步后只单序列结构的功能表图没有分支,每个步后只有一个步,步与步之间只有有一个步,步
14、与步之间只有一个转换条件一个转换条件。不是指一个信号,它可能是多个信号的不是指一个信号,它可能是多个信号的与与、或或等逻辑关系的组合!等逻辑关系的组合!2023-5-11145.3 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图SFC的基本结构的基本结构选择选择序列与并行序列序列与并行序列共同点:都有分支和合并共同点:都有分支和合并不同点:不同点:选择序列选择序列中各选择分支不能中各选择分支不能同时执行。若已选择了转向同时执行。若已选择了转向某一分支,则不允许另外几某一分支,则不允许另外几个分支的首步成为活动步。个分支的首步成为活动步。所以各分支之间要互锁。所以各分支之间要互锁。并行序列
15、并行序列中各分支的首步同中各分支的首步同时被激活变成活动步。用双时被激活变成活动步。用双线来表示其分支的开始和合线来表示其分支的开始和合并,以示区别。转换条件放并,以示区别。转换条件放在双线之上在双线之上(之下之下)。2023-5-11155.4 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图SFC转换实现的基本规则转换实现的基本规则转换实现的条件转换实现的条件(1)该转换所有的前级步都是活动步;该转换所有的前级步都是活动步;(2)相应的转换条件得到满足。相应的转换条件得到满足。转换实现应完成的操作转换实现应完成的操作(1)使该转换所有的后续步都变为活动步;使该转换所有的后续步都变为活动
16、步;(2)使该转换所有的前级步都变为不活动步。使该转换所有的前级步都变为不活动步。2023-5-1116绘制顺序功能图的注意事项绘制顺序功能图的注意事项(1)两个步绝对不能直接相连,必须用一个转换将它们隔开。两个步绝对不能直接相连,必须用一个转换将它们隔开。(2)两个转换也不能直接相连,必须用一个步将它们隔开。两个转换也不能直接相连,必须用一个步将它们隔开。(3)初始步对应于系统等待起动的初始状态,初始步必不可少。初始步对应于系统等待起动的初始状态,初始步必不可少。(4)步和有向连线一般应组成闭环。步和有向连线一般应组成闭环。完成一次工艺过程的全部操作之后,在单周期工作方式下,应完成一次工艺过
17、程的全部操作之后,在单周期工作方式下,应从最后一步返回初始步,系统停留在初始状态;在连续循环工从最后一步返回初始步,系统停留在初始状态;在连续循环工作方式下,应从最后一步返回下一工作周期开始运行的第一步。作方式下,应从最后一步返回下一工作周期开始运行的第一步。5.4 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图SFC转换实现的基本规则转换实现的基本规则2023-5-11175.4 顺序控制设计法与顺序功能图顺序控制设计法与顺序功能图SFC转换实现的基本规则转换实现的基本规则顺序控制设计法的本质顺序控制设计法的本质经验设计法经验设计法 顺序控制设计法顺序控制设计法顺序控制设计法用输入量顺
18、序控制设计法用输入量I控制代表各步的编程元件控制代表各步的编程元件M,再用它,再用它们控制输出们控制输出Q。步是根据。步是根据Q的状态划分的,的状态划分的,M与与Q之间有很简单之间有很简单的的“或或”关系,输出电路的设计很简单。关系,输出电路的设计很简单。任何复杂系统的控制电路,设计方法是通用的。任何复杂系统的控制电路,设计方法是通用的。所以顺序控制设计法相比经验设计法,具有简单、规范、通用所以顺序控制设计法相比经验设计法,具有简单、规范、通用的特点。的特点。2023-5-1118(1)分析控制要求,将控制过程分成若干个工作步,明确每个工分析控制要求,将控制过程分成若干个工作步,明确每个工作步
19、的功能,弄清步的转换是单向进行还是多向进行,确定步作步的功能,弄清步的转换是单向进行还是多向进行,确定步的转换条件的转换条件(可能是多个信号的可能是多个信号的“与与”、“或或”等逻辑组合等逻辑组合)。可画一个可画一个工作流程图工作流程图,对理顺整个控制过程的进程以及分析各,对理顺整个控制过程的进程以及分析各步的相互联系有很大作用。步的相互联系有很大作用。(2)为每个步设定控制位。控制位最好使用位存储器为每个步设定控制位。控制位最好使用位存储器M的若干连的若干连续位。若用定时器续位。若用定时器/计数器的输出作为转换条件,则应为计数器的输出作为转换条件,则应为定时器定时器/计数器计数器指定输出位。
20、指定输出位。(3)确定所需输入和输出点,作出确定所需输入和输出点,作出I/O分配。分配。(4)在前两步的基础上,画出顺序功能图。在前两步的基础上,画出顺序功能图。(5)根据功能图画梯形图。根据功能图画梯形图。(可以采用起保停或置位复位电路可以采用起保停或置位复位电路)(6)添加某些特殊要求的程序。添加某些特殊要求的程序。5.5 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计基本步骤基本步骤2023-5-1119包括包括初始化电路、转换电路和输出电路初始化电路、转换电路和输出电路。初始化电路:初始化电路:在在OB1中仅在首次扫描循环时为中仅在首次扫描循环时为1状态的状态的M1.0将初将初始
21、步对应的编程元件始步对应的编程元件M4.0置置1,其余各步的编程元件置,其余各步的编程元件置0,为转,为转换的实现做好准备。可采用如下两种方式。换的实现做好准备。可采用如下两种方式。如果如果MB4没有设置保持功能,起动时被自动清零,则可以删除没有设置保持功能,起动时被自动清零,则可以删除MOVE指令或指令或RESET_BF指令。指令。5.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图2023-5-11205.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图转换电路:转换电路:转换条
22、件满足后可以实现转换,即所有的后续步都转换条件满足后可以实现转换,即所有的后续步都变为活动步,所有的前级步都变为不活动步。梯形图与转换实变为活动步,所有的前级步都变为不活动步。梯形图与转换实现的基本规则之间有严格的对应关系。现的基本规则之间有严格的对应关系。转换电路实现:置位复位指令,起保停电路转换电路实现:置位复位指令,起保停电路输出电路:输出电路:用代表步的存储器位的常开触点或它们的并联电路用代表步的存储器位的常开触点或它们的并联电路来驱动输出位线圈。来驱动输出位线圈。2023-5-1121置位和复位指令置位和复位指令起保停电路起保停电路Ci:各步的转换条件(:各步的转换条件(I区的外部输
23、入信号、区的外部输入信号、PLC内部定时器内部定时器/计计数器输出等)数器输出等)转换电路转换电路输出电路输出电路5.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图2023-5-11225.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图并行序列转换举例并行序列转换举例2023-5-1123转换电路转换电路5.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图选择与并行序列转换举例选择与并行序列转换举例2023-5-1124转换
24、电路转换电路5.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图选择与并行序列转换举例选择与并行序列转换举例2023-5-1125输出电路输出电路5.6 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计将顺序功能图转换为梯形图将顺序功能图转换为梯形图选择与并行序列转换举例选择与并行序列转换举例2023-5-11265.7 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例液体混合自动控制系液体混合自动控制系统统M混合液X3X2X1HIL液体 B液体 A电动机控制装置示意图控制装置示意图 按下启动按钮,按下启动按钮,X
25、1打开,液体打开,液体A流入容器。当液面上升到流入容器。当液面上升到I时,传时,传感器感器I输出信号,关闭输出信号,关闭X1阀门,阀阀门,阀门门X2打开打开,液体,液体B流入容器流入容器。液。液面继续上升到面继续上升到H时,传感器时,传感器H发出发出信号,关闭信号,关闭X2阀门,同时启动电阀门,同时启动电动机动机M,开始搅拌。搅拌均匀后,开始搅拌。搅拌均匀后(设设6s),停止搅动,打开放液阀,停止搅动,打开放液阀X3,开始放出混合液体。当液面下降开始放出混合液体。当液面下降到到L时,时,L从接通变为断开。经过从接通变为断开。经过3s后,混合液放完,将后,混合液放完,将X3关闭,关闭,开始下一周
26、期。开始下一周期。在工作过程中,若按下停止按钮,在工作过程中,若按下停止按钮,则在完成当前混合操作处理后,则在完成当前混合操作处理后,才停止操作才停止操作(停在初始状态停在初始状态)。2023-5-1127题意要求:按下停止按钮,并不立即停止程序,而需等待所有流题意要求:按下停止按钮,并不立即停止程序,而需等待所有流程走完。程走完。编程思路:停止按钮只影响编程思路:停止按钮只影响X1 1的打开。的打开。H:按下启动按钮按下启动按钮延时延时6S L:延时延时3S工作过程分析工作过程分析:X1打开打开I:X1关闭关闭X2打开打开X2关闭关闭M启动启动启动启动定时器定时器1M停止停止X3打开打开启动
27、定时器启动定时器2开始定时开始定时X3关闭,关闭,开始下一个周期开始下一个周期5.7基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例液体混合自动控制系统液体混合自动控制系统2023-5-1128I/O分配表分配表 输入输入输出输出启动启动按钮按钮I0.0电磁阀电磁阀X1Q0.0停止停止按钮按钮I0.1电磁阀电磁阀X2Q0.1H传传感器感器I0.2电磁阀电磁阀X3Q0.2I传传感器感器I0.3电动机电动机MQ0.5L传传感器感器I0.45.7 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例液体混合自动控制系统液体混合自动控制系统外部连接图外部连接图 I0
28、.0I0.1I0.3I0.2I0.41M2LQ0.0Q0.1Q0.2Q0.51L启动启动停止停止HILDC24VAC220VMDC24VX1X2X32023-5-1129TL1 TL1 南北绿灯控制信号南北绿灯控制信号 TL4 TL4 东西绿灯控制信号东西绿灯控制信号TL2 TL2 南北黄灯控制信号南北黄灯控制信号 TL5 TL5 东西黄灯控制信号东西黄灯控制信号TL3 TL3 南北红灯控制信号南北红灯控制信号 TL6 TL6 东西红灯控制信号东西红灯控制信号5.8 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例交通灯信号控制系统交通灯信号控制系统2023-5-11305
29、.8 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例交通灯信号控制系统交通灯信号控制系统信号灯受到起动开关控制,当起动开关接通时信号灯系统开始信号灯受到起动开关控制,当起动开关接通时信号灯系统开始工作,先南北红灯亮,东西绿灯亮;当起动开关断开时,所有工作,先南北红灯亮,东西绿灯亮;当起动开关断开时,所有信号灯熄灭。信号灯熄灭。南北红灯亮维持南北红灯亮维持15s。在南北红灯亮的同时东西绿灯也亮,并。在南北红灯亮的同时东西绿灯也亮,并维持维持10s。到。到10s时,东西绿灯闪亮,闪亮三次(一次时,东西绿灯闪亮,闪亮三次(一次/秒)后熄秒)后熄灭。在东西绿灯熄灭同时东西黄灯亮,
30、并维持灭。在东西绿灯熄灭同时东西黄灯亮,并维持2s后东西黄灯熄后东西黄灯熄灭,东西红灯亮。同时,南北红灯熄灭,绿灯亮。灭,东西红灯亮。同时,南北红灯熄灭,绿灯亮。东西红灯亮维持东西红灯亮维持15s。南北绿灯亮维持。南北绿灯亮维持10s,然后闪亮三次(一,然后闪亮三次(一次次/秒)后熄灭,同时南北黄灯亮,维持秒)后熄灭,同时南北黄灯亮,维持2s后熄灭,同时,南北后熄灭,同时,南北红灯亮,东西绿灯亮,开始下一个周期的动作。红灯亮,东西绿灯亮,开始下一个周期的动作。2023-5-1131注意:注意:本实验中采用转换开关控制,而不是按钮。本实验中采用转换开关控制,而不是按钮。起动开关闭合起动开关闭合延
31、时延时2S2S 开始下一个周期开始下一个周期延时延时10S10S南北红灯南北红灯东西绿灯东西绿灯启动启动定时器定时器1南北红灯南北红灯东西绿灯闪亮东西绿灯闪亮启动启动定时器定时器2延时延时3S3S南北红灯南北红灯东西黄灯东西黄灯启动启动定时器定时器3东西红灯东西红灯南北绿灯南北绿灯启动启动定时器定时器4延时延时10S10S东西红灯东西红灯南北绿灯闪亮南北绿灯闪亮启动启动定时器定时器5延时延时3S3S东西红灯东西红灯南北黄灯南北黄灯启动启动定时器定时器6延时延时2S2S 5.9 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例交通灯信号控制系统交通灯信号控制系统2023-5-
32、1132I/O分配表 输入输入输出输出控制开关控制开关I0.0南北绿灯南北绿灯TL1Q0.1南北黄灯南北黄灯TL2Q0.2南北红灯南北红灯TL3Q0.3东西绿灯东西绿灯TL4Q0.4东西黄灯东西黄灯TL5Q0.5东西红灯东西红灯TL6Q0.65.9 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例交通灯信号控制系统交通灯信号控制系统2023-5-1133M2.0M1.0开关(开关(I0.0)初始位置初始位置M2.1南北红灯南北红灯东西绿灯东西绿灯M2.2南北红灯南北红灯东西绿灯闪亮东西绿灯闪亮M2.3南北红灯南北红灯东西黄灯东西黄灯M2.4M3.2(定时)(定时)东西红灯东
33、西红灯南北绿灯南北绿灯Q0.3,Q0.4,启动,启动10s定时定时Q0.3,Q0.4,启动,启动3s定时定时Q0.3,Q0.5,启动,启动2s定时定时Q0.6,Q0.1,启动,启动10s定时定时M2.5Q0.6 ON,Q0.1,启动,启动3s定时定时东西红灯东西红灯南北绿灯闪亮南北绿灯闪亮M3.0(定时)(定时)M3.1(定时)(定时)M3.3(定时)(定时)M3.4(定时)(定时)M3.5(定时)(定时)M2.6Q0.6,Q0.2,启动,启动2s定时定时东西红灯东西红灯南北黄灯南北黄灯顺序功能图顺序功能图5.9 基于顺序功能图的梯形图设计基于顺序功能图的梯形图设计应用举例应用举例交通灯信号控
34、制系统交通灯信号控制系统S7-1200 PLC的用户程序结构的用户程序结构教学目标:教学目标:会使用会使用S7-1200带形参的带形参的FC块编写块编写PLC梯形图程序并学会用梯形图程序并学会用PLC的的OB1块调用块调用FC块。块。教学重点:教学重点:理解并正确使用用户变量名接口定义形参,并会填写理解并正确使用用户变量名接口定义形参,并会填写OB1 块中块中实参,调用实参,调用FC块。块。教学难点:教学难点:会使用用户变量名接口定义形参。会使用用户变量名接口定义形参。技能目标:技能目标:硬件:会接电气线路图。硬件:会接电气线路图。软件:会使用软件:会使用S7-1200带形参的带形参的FC块编
35、写块编写PLC梯形图程序并学会梯形图程序并学会用用PLC的的OB1块调用块调用FC块。块。355.10 用户程序结构简介用户程序结构简介模块化编程模块化编程 1/3 模块化编程将复杂的自动化任务划分为对应于生产过程的技术功模块化编程将复杂的自动化任务划分为对应于生产过程的技术功能的较小的子任务,每个子任务对应于一个称为能的较小的子任务,每个子任务对应于一个称为“块块”的子程序,的子程序,可以通过块与块之间的相互调用来组织程序。这样的程序易于修可以通过块与块之间的相互调用来组织程序。这样的程序易于修改、查错和调试。改、查错和调试。块块简要描述简要描述组织块组织块(OB)操作系统与用户程序的接口,
36、决定用户程序的结构操作系统与用户程序的接口,决定用户程序的结构功能块功能块(FB)用户编写的包含经常使用的功能的子程序,有专用的背景数用户编写的包含经常使用的功能的子程序,有专用的背景数据块据块功能功能(FC)用户编写的包含经常使用的功能的子程序,没有专用的背景用户编写的包含经常使用的功能的子程序,没有专用的背景数据块数据块背景数据块背景数据块(DB)用于保存用于保存FB的输入变量、输出变量和静态变量,其数据在编的输入变量、输出变量和静态变量,其数据在编译时自动生成译时自动生成全局数据块全局数据块(DB)存储用户数据的数据区域,供所有的代码块共享存储用户数据的数据区域,供所有的代码块共享365
37、.10 用户程序结构简介用户程序结构简介模块化编程模块化编程 2/3 块结构显著增加了块结构显著增加了PLC程序的组织透明性、可理解性和易维护性。程序的组织透明性、可理解性和易维护性。OB、FB、FC都包含代码,统称为代码块都包含代码,统称为代码块(Code)块。块。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。在块调用中,调用者可以是各种代码块,被调用的块是在块调用中,调用者可以是各种代码块,被调用的块是OB之外之外的代码块。调用功能时需要为它指定一个背景数据块。的代码块。调用功能时需要为它指定一个背景数据块。375.10
38、 用户程序结构简介用户程序结构简介模块化编程模块化编程 3/3 编程时被调用的块应该是已经存在的块,即应先创建被调用的编程时被调用的块应该是已经存在的块,即应先创建被调用的块及其背景数据块。块及其背景数据块。385.10 用户程序结构简介用户程序结构简介组织块组织块组织块组织块(Organization Block,OB)是操作系统与用户程序的接口,是操作系统与用户程序的接口,由操作系统调用由操作系统调用,用于控制循环扫描和中断程序的执行、,用于控制循环扫描和中断程序的执行、PLC的启动和错误处理等。的启动和错误处理等。组织块的程序是用户编写的。组织块的程序是用户编写的。每个组织块必须有唯一的
39、每个组织块必须有唯一的OB编号,编号,200之前的某些编号是保留之前的某些编号是保留的,其他的,其他OB的编号应大于等于的编号应大于等于200.没有可以调用没有可以调用OB的指令,的指令,S7-1200 CPU具有基于具有基于事件事件的特性,的特性,只有发生了某些特定事件,相应的只有发生了某些特定事件,相应的OB才会被执行。不要试图在才会被执行。不要试图在OB/FC/FB中调用某个中调用某个OB,除非用户触发与此,除非用户触发与此OB相关的相关的OB。例如用户可以在例如用户可以在OB1中通过中通过SRT_DINT指令设置延迟时间,当指令设置延迟时间,当延迟时间到达时,延迟中断延迟时间到达时,延
40、迟中断OB被触发。被触发。当特定事件发生时,相应当特定事件发生时,相应OB被调用,无论其是否包含程序代码。被调用,无论其是否包含程序代码。395.10 用户程序结构简介用户程序结构简介组织块组织块l 程序循环组织块程序循环组织块(Program cycle OB):OB1是用户程序中的主程序,是用户程序中的主程序,CPU循环执行操作系统程序,在循环执行操作系统程序,在每一次循环中,操作系统调用一次每一次循环中,操作系统调用一次OB1。因此。因此OB1中的程序也中的程序也是循环执行的。是循环执行的。允许有多个程序循环允许有多个程序循环OB,默认的是,默认的是OB1,其他程序循环,其他程序循环OB
41、的的编号应大于等于编号应大于等于200。405.10 用户程序结构简介用户程序结构简介组织块组织块 3/6 l 启动组织块启动组织块(Startup OB):当当CPU的工作模式从的工作模式从STOP切换到切换到RUN时,执行一次启动时,执行一次启动(Startup)组织块,来初始化程序循环组织块,来初始化程序循环OB中的某些变量。中的某些变量。执行完启动执行完启动OB后,开始执行程序循环后,开始执行程序循环OB。可以有多个启动可以有多个启动OB,默认的为,默认的为OB100,其他启动,其他启动OB的编号应大的编号应大于等于于等于200。415.10 用户程序结构简介用户程序结构简介组织块组织
42、块 4/6 l 中断组织块中断组织块(Interrupt OB):中断组织块用来实现对特殊内部事件或外部事件的快速响应。中断组织块用来实现对特殊内部事件或外部事件的快速响应。如果没有中断事件出现,如果没有中断事件出现,CPU循环执行组织块循环执行组织块OB1。如果出现。如果出现中断事件,例如诊断中断和时间延迟中断等,因为中断事件,例如诊断中断和时间延迟中断等,因为OB1的中断的中断优先级最低,操作系统在执行完当前程序的当前指令后,立即优先级最低,操作系统在执行完当前程序的当前指令后,立即响应中断。响应中断。CPU暂停正在执行的程序块,自动调用一个分配给暂停正在执行的程序块,自动调用一个分配给该
43、事件的组织块该事件的组织块(即中断程序即中断程序)来处理中断事件。执行完中断组来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。织块后,返回被中断的程序的断点处继续执行原来的程序。这意味着部分用户程序不必在每次循环中处理,而是在需要时这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时处理。处理中断事件的程序放在该事件驱动的才被及时处理。处理中断事件的程序放在该事件驱动的OB中。中。425.10 用户程序结构简介用户程序结构简介组织块组织块 5/6 时间延迟中断组织块时间延迟中断组织块(Time-delay OB):此此OB可以通过可以通过SRT_DIN
44、T指令设置其延迟时间,当延迟时间到指令设置其延迟时间,当延迟时间到达时,延迟中断达时,延迟中断OB被触发。被触发。周期中断组织块周期中断组织块(Cyclic interrupt OB):将在指定间隔之间被执行。将在指定间隔之间被执行。硬件中断组织块硬件中断组织块(Hardware interrupt OB):将在指定的硬件事件发生时被执行,例如数字量输入信号的上将在指定的硬件事件发生时被执行,例如数字量输入信号的上升沿或下降沿。升沿或下降沿。435.10 用户程序结构简介用户程序结构简介组织块组织块 6/6 时间错误中断组织块时间错误中断组织块(Time-error interrupt OB)
45、:此此OB将在检测到时间错误将在检测到时间错误(程序循环扫描程序循环扫描OB执行时间超出了执行时间超出了CPU属性中定义的最大扫描时间属性中定义的最大扫描时间)时被执行,此时被执行,此OB的编号只能的编号只能是是OB80。当。当CPU中没有此中没有此OB时,用户可以指定当时间错误发时,用户可以指定当时间错误发生时生时CPU是忽略此错误还是转换到是忽略此错误还是转换到STOP模式。模式。诊断错误中断组织块诊断错误中断组织块(Diagnostic error interrupt OB):此此OB将在检测到诊断错误时被执行,此将在检测到诊断错误时被执行,此OB的编号只能是的编号只能是OB82。当当C
46、PU中没有此中没有此OB时,用户可以指定当诊断错误发生时时,用户可以指定当诊断错误发生时CPU是忽略此错误还是转换到是忽略此错误还是转换到STOP模式。模式。445.11 用户程序结构简介用户程序结构简介功能功能 功能功能(Function,FC)是用户程序编写的子程序,它包含完成特是用户程序编写的子程序,它包含完成特定任务的代码和参数。定任务的代码和参数。FC和和FB有与调用它的块共享的输入参有与调用它的块共享的输入参数和输出参数。执行完数和输出参数。执行完FC和和FB后,返回调用它的代码块。后,返回调用它的代码块。功能是快速执行的代码块,用于执行下列任务:完成标准的和功能是快速执行的代码块
47、,用于执行下列任务:完成标准的和可重复使用的操作,例如算术运算;完成技术功能,例如使用可重复使用的操作,例如算术运算;完成技术功能,例如使用位逻辑运算的控制。位逻辑运算的控制。可以在程序的不同位置多次调用同一个可以在程序的不同位置多次调用同一个FC,这可以简化重复执,这可以简化重复执行的任务的变成。行的任务的变成。功能没有固定的存储区,执行结束后,其临时变量中的数据就功能没有固定的存储区,执行结束后,其临时变量中的数据就丢失了。可以用全局数据块或丢失了。可以用全局数据块或M存储区来存储那些在功能执行存储区来存储那些在功能执行结束后需要保持的数据。结束后需要保持的数据。455.11 用户程序结构
48、简介用户程序结构简介功能块功能块 功能块功能块(Function Block,FB)是用户程序编写的子程序。调用功是用户程序编写的子程序。调用功能块时,需要制定背景数据块,是功能块专用的存储区。能块时,需要制定背景数据块,是功能块专用的存储区。CPU执执行行FB中的程序代码,将块的输入、输出参数和局部静态变量保中的程序代码,将块的输入、输出参数和局部静态变量保存在背景数据块中,以便可以从一个扫描周期到下一个扫描周期存在背景数据块中,以便可以从一个扫描周期到下一个扫描周期快速访问它们。快速访问它们。FB的典型应用是执行不能在一个扫描周期结束的操作。的典型应用是执行不能在一个扫描周期结束的操作。在
49、调用在调用FB时,打开了对应的背景数据块,后者的变量可以供其时,打开了对应的背景数据块,后者的变量可以供其他代码块使用。他代码块使用。调用同一个功能块时使用不同的背景数据块,可以控制不同的设调用同一个功能块时使用不同的背景数据块,可以控制不同的设备。例如用来控制水泵和阀门的功能使用包含特定的操作参数的备。例如用来控制水泵和阀门的功能使用包含特定的操作参数的不同的背景数据块,可以控制不同的水泵和阀门。不同的背景数据块,可以控制不同的水泵和阀门。S7-1200的部分指令的部分指令(例如例如IEC标准的定时器和计数器指令标准的定时器和计数器指令)实际上实际上是功能块,在调用它们时需要指定配套的背景数
50、据块。是功能块,在调用它们时需要指定配套的背景数据块。465.11 用户程序结构简介用户程序结构简介数据块数据块 数据块数据块(Data block,DB)是用于存放执行代码块时所需的数据的是用于存放执行代码块时所需的数据的数据区,有两种类型的数据块:数据区,有两种类型的数据块:全局全局(Global)数据块:存储供所有的代码块使用的数据,所有的数据块:存储供所有的代码块使用的数据,所有的OB、FB和和FC都可以都可以 访问。访问。背景数据块:存储供特定的背景数据块:存储供特定的FB使用的数据。使用的数据。475.12 功能与功能块功能与功能块功能的特点功能的特点功能功能(Function,F