




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1实训5:天塔之光
4.2数据处理类指令
4.3相关知识:PLC的指令系统
4.4实训6:台车的呼叫控制
习题
第4章数据处理指令4.1实训5:天塔之光4.1.1控制要求天塔之光是利用彩灯对塔形建筑物进行装饰,从而达到烘托效果。这实际上是考虑了PLC输出的空间效果(上下、内外等)和时间顺序(先后),而针对不同的场合对彩灯的运行方式也有不同的要求,对于要求彩灯有多种不同运行方式的情况下,采用PLC中的一些特殊指令来进行控制就显得尤为方便。本实例中,天塔之光的控制要求为:PLC运行后,灯光自动开始显示,有时每次只亮一盏灯,顺序从上向下,或是从下向上;有时从底层从下向上全部点亮,然后又从上向下熄灭。运行方式多样,读者可自行设计。具体来讲,共有8盏灯,每盏灯亮1s,顺序依次为L1→L2→L3→L4→L5→L6→L7→L8→L7→L6→L5→L4→L3→L2→L1,循环往复。4.1.2资源分配
本例中无需输入信号,共8个输出,需要辅助继电器和定时器,具体资源分配见表4-1。4.1.3控制程序
1.方案一
本方案采用逻辑分析法依次设计,梯形图如表4-2所示。程序中使用了较多的定时器,T37负责全程,依次减小控制范围,直到T50。
2.方案二
本方案利用置位、复位指令,将控制要求分为若干个状态,分别编程,此梯形图略。
3.方案三
本方案使用移位指令进行设计。指令表程序如下,程序中有1s时钟程序,还有两个计数器C1和C2,C1控制前半周期,C2控制后半周期。由C2负责循环。 Network1
//初始化
LD SM0.1
MOVB 1,QB0
Network2
//形成1s脉冲
LDN T38
TON T37,5
Network3
LD T37
TON T38,5 Network4
//每个脉冲右循环移1位
LD T37
AN C1
EU
SLB QB0,1
Network5
//右移计数
LD T37
LD M10.0
O SM0.1
CTUC1,7 Network6
LD C1
EU
MOVB 16#80,QB0
Network7
//左移
LD C1
A T37
EU
SRB QB0,1 Network8
//左移计数
LD C1
A T37
LD M10.0
O SM0.1
CTU C2,8
Network9
//循环完一次,两计数器复位
LD C1
A C2
= M10.0 Network10
//开始下一次循环
LD C1
A C2
MOVB 1,QB04.2数据处理类指令4.2.1数据传送指令数据传送类指令有字节、字、双字和实数的单个传送指令,还有以字节、字、双字为单位的数据块的成组传送指令,用来实现各存储器单元之间数据的传送和复制。
1.单个数据传送单个传送指令一次完成一个字节、字或双字的传送,指令类型有MOV_B、MOV_W和MOV_DW三种。功能:使能流输入EN有效时,把一个输入IN单字节无符号数、单字长或双字长符号数送到OUT指定的存储器单元输出。数据类型分别为B、W、DW。IN、OUT操作数的寻址方式参见附录B。使能流输出ENO=0断开的出错条件是:SM4.3(运行时间),0006(间接寻址错误)。
2.数据块传送
数据块传送指令一次可完成N个数据的成组传送,指令类型有BLKMOV_B、BLKMOV_W和BLKMOV_DW三种。
(1)字节的数据块传送指令(BLKMOV_B)。使能输入EN有效时,把从输入IN字节开始的N个字节的数据传送到以输出字节OUT开始的N个字节的存储区中。
(2)字的数据块传送指令(BLKMOV_W)。使能输入EN有效时,把从输入IN字开始的N个字的数据传送到以输出字OUT开始的N个字的存储区中。
(3)双字的数据块传送指令(BLKMOV_DW)。使能输入EN有效时,把从输入IN双字开始的N个双字的数据传送到以输出双字OUT开始的N个双字的存储区中。
3.传送指令的数据类型和断开条件
N、IN、OUT操作数的数据类型分别为B、W、DW;N(BYTE)的数据范围为0~255;N、IN、OUT操作数地址寻址范围见附录B。使能流输出ENO=0断开的出错条件是:SM4.3
(运行时间),0006(间接寻址错误),0091(操作数超界)。4.2.2字节交换/填充指令
1.字节交换指令(SWAP)
字节交换指令实现字的高、低字节内容交换的功能。使能输入EN有效时,将输入字IN的高、低字节交换的结果输出到OUT指定的存储器单元。IN、OUT操作数的数据类型为INT(WORD)。使能流输出ENO=0断开的出错条件是:SM4.3(运行时间),0006(间接寻址错误)。
2.字节填充指令(FILL)
字节填充指令用于存储器区域的填充。使能输入EN有效时,用字输入数据IN填充从输出OUT指定单元开始的N个字存储单元。N(BYTE)的数据范围为0~255。IN、OUT操作数的数据类型为INT(WORD)。使能流输出ENO=0断开的出错条件是:SM4.3(运行时间),0006(间接寻址错误),0091(操作数超界)。4.2.3移位指令
移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。前两类移位指令按移位数据的长度又分为字节型、字型和双字型三种。移位指令最大移位位数N小于等于数据类型(B、W、DW)对应的位数,移位位数(次数)N为字节型数据。
1.左、右移位指令
左、右移位数据存储单元与SM1.1(溢出)端相连,移出位被放到特殊标志存储器SM1.1位,移位数据存储单元的另一端补0。
(1)左移位指令(SHL)。使能输入有效时,将输入的字节、字或双字IN左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,最后一次移出位保存在SM1.1中。
(2)右移位指令(SHR)。使能输入有效时,将输入的字节、字或双字IN右移N位后,将结果输出到OUT所指定的存储单元中,最后一次移出位保存在SM1.1中。
2.循环左、右移位
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。
(1)循环左移位指令(ROL)。使能输入有效时,字节、字或双字IN数据循环左移N位后,将结果输出到OUT所指定的存储单元中,并将最后一次移出位送SM1.1。
(2)循环右移位指令(ROR)。使能输入有效时,字节、字或双字IN数据循环右移N位后,将结果输出到OUT所指定的存储单元中,并将最后一次移出位送SM1.1。
3.左、右移位及循环移位指令对标志位、ENO的影响
移位指令影响的特殊存储器位为SM1.0(零)和SM1.1(溢出)。如果移位操作使数据变为0,则SM1.0置位。使能流输出ENO=0断开的出错条件是:SM4.3(运行时间),0006(间接寻址错误)。N、IN、OUT操作数的数据类型分别为B、W、DW。
4.寄存器移位指令
寄存器移位指令是一个移位长度可指定的移位指令。
梯形图中DATA为数值输入,指令执行时将该位的值移入移位寄存器。S-BIT为寄存器的最低位。N为移位寄存器的长度(1~64),N为正值时左移位(由低位到高位),DATA值从S-BIT位移入,移出位进入SM1.1;N为负值时右移位(由高位到低位),S-BIT移出到SM1.1,另一端补充DATA移入位的值。每次使能有效时,整个移位寄存器移动1位。最高位的计算方法为[N的绝对值-1+(S-BIT的位号)]/8,余数即是最高位的位号,商与S-BIT的字节号之和即是最高位的字节号。移位指令影响的特殊存储器位为SM1.l(溢出)。使能流输出ENO=0断开的出错条件是:SM4.3(运行时间),0091(操作数超界),0092(计数区错误)。4.2.4比较指令
比较指令用于两个操作数按一定条件的比较。操作数可以是整数,也可以是实数(浮点数)。在梯形图中用带参数和运算符的触点表示比较指令,比较条件满足时,触点闭合,否则断开。梯形图程序中,比较触点可以装入,也可以串联或并联。
比较指令有整数和实数两种数据类型的比较。整数类型的比较指令包括无符号数的字节比较、有符号数的整数比较和双字比较。整数比较的数据范围为(8000)16~(7FFF)16,双字比较的数据范围为(80000000)16~(7FFFFFFF)16。实数(32位浮点数)比较的数据范围:负实数范围为-1.175495E-38~3.402823E+38,正实数范围为+1.175495E-38~+3.402823E+38。比较指令有两个参数。比较指令的其他比较关系和操作数类型说明如下。
比较运算符:=、<=、>=、<、>、<>。
操作数类型:字节比较B(Byte),(无符号整数);整数比较I(Int)/W(Word),(有符号整数);双字比较DW(Double
Int/Word),(有符号整数);实数比较R(Real),(有符号双字浮点数)。不同的操作数类型和比较运算关系,可分别构成各种字节、字、双字和实数比较运算指令。
【例4-1】利用比较指令实现十字路口交通信号灯控制,如图4-1所示。图4-1十字路口交通信号灯控制方案二分析:启动开关I0.0合上,T37开始计时,因为不需要T37的状态位,故其预置值任意。在T37计数期间,利用比较指令确定各灯亮的条件。例如,东西绿灯持续亮的条件是T37的当前值小于200,而闪亮的条件是T37的当前值大于200且小于230,同时调用SM0.5。当一个循环结束时,T37的当前值等于550,此时接通辅助继电器M10.1,其常闭触点断开,致使T37工作条件失去,被复位,T37的当前值为0,M10.1为0,其常闭触点接通,进入下一个循环。
该程序使用高级指令,仅用一个定时器,程序短小,逻辑清晰严密,编程简单灵活。4.3相关知识:PLC的指令系统4.3.1S7-200指令集
PLC一般有百余条指令,分为基本指令及功能指令。基本指令主要是逻辑运算指令,一般含触点及线圈(基本逻辑)指令、定时器和计数器指令、算术运算和逻辑运算指令、数据处理指令及程序流程指令,是使用频度最高的指令。功能指令则是为数据运算及一些特殊功能设置的指令,如传送比较、加减乘除、循环移位、程序流程、中断及高速处理等。S7-200指令集的基本分类如表4-3所示,本书附录B中给出了西门子S7-200系列PLC的指令总表。
指令的学习及应用要注意三个方面的问题。其一是指令的表达形式,每条指令都有梯形图与指令表两种表达形式,也就是说每条指令都有图形符号和文字符号,这是使用者要记住的。其二是每条指令都有各自的使用要素。如定时器是用来计时的,计时自然离不开计时的起点及计时时间的长短,指令中一定要表现这两个方面的内容,这也就是指令的要素。其三是指令的功能,一条指令执行过后,机内哪些数据出现了哪些变化是编程者特别要把握的。
一般来说,编写一段程序时,单独使用梯形图或单独使用指令表都是可行的。但它们也是一个整体,在某种类型PLC程序中的梯形图与指令表有着严格的对应关系。
PLC指令实质上是计算机指令,是数据处理的说明,指令所涉及数据的类型、数据的长短、数据存储器的范围等对正确使用指令有着很重要的意义。4.3.2逻辑分析法编程
逻辑分析法编程是在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图。有时需要多次反复地调试和修改梯形图,增加一些中间编程元件和触点,最后才能得到一个较为满意的结果。
逻辑分析法没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果不是唯一的,设计所用的时间、设计的质量与设计者的经验有很大的关系。得到的梯形图逻辑严密、耦合性强,是程序设计的基础,能完成任何程序的设计,但调试、修改和阅读都很困难,可以用于较简单的梯形图(如手动程序)的设计。下面介绍逻辑分析法中一些常用的基本电路。
1.启保停电路
启保停电路即启动、保持(或保护)和停止电路的简称,该电路在梯形图中应用很广。如图4-2(a)中,启动信号I0.0和停止信号I0.1(例如启动按钮和停止按钮提供的信号)持续为ON的时间一般都很短。启保停电路最主要的特点是具有“记忆”功能,按下启动按钮,I0.0的常开触点接通,如果这时未按停止按钮,I0.1的常闭触点接通,Q0.0的线圈“通电”,它的常开触点同时接通。放开启动按钮,I0.0的常开触点断开,能流经Q0.0的常开触点和I0.1的常闭触点流过Q0.0的线圈,Q0.0仍为ON,这就是所谓的“自锁”或“自保持”功能。按下停止按钮,I0.1的常闭触点断开,使Q0.0的线圈“断电”,其常开触点断开,以后即使放开停止按钮,I0.1的常闭触点恢复接通状态,Q0.0的线圈仍然“断电”。这种功能也可以用图4-2(b)中的S和R指令来实现。图4-2启保停电路在实际电路中,PLC的数字量输出都可以认为由启保停电路组成,只是启动、停止信号可能由多个触点组成的串、并联电路提供。由启保停电路再加上定时器等其它电路可以形成实际应用中的各种控制电路。
2.闪烁电路
闪烁电路是能够输出任意占空比脉冲信号的振荡电路,在PLC中就是一段程序。
图4-3中I0.0的常开触点接通后,T37的IN输入端为1状态,T37开始定时。2s后定时时间到,T37的常开触点接通,使Q0.0变为ON,同时T38开始定时。再过3s后T38的定时时间到,它的常闭触点断开,使T37的IN输入端变为0状态,T37的常开触点断开,使Q0.0变为OFF,同时使T38的IN输入端变为0状态,其常闭触点接通,T37又开始定时。以后Q0.0的线圈将这样周期性地“通电”和“断电”,直到I0.0变为OFF。Q0.0线圈“通电”和“断电”的时间分别等于T38和T37的设定值。图4-3闪烁电路及其波形图闪烁电路实际上是一个具有正反馈的振荡电路,T37和T38的输出信号通过它们的触点分别控制对方的线圈,形成了正反馈。
另外,特殊存储器位SM0.5的常开触点可提供周期为1s、占空比为0.5的脉冲信号,SM0.4的常开触点可提供周期为1min、占空比为0.5的脉冲信号,可以用它们来驱动需要闪烁的指示灯。4.3.3经验法编程
可编程序控制器使用与继电器电路图极为相似的梯形图语言。如果用可编程序控制器改造继电器控制系统,根据继电器电路图来设计梯形图是一条捷径。这是因为原有的继电器控制系统经过长期使用和考验,已经被证明能完成系统要求的控制功能,而继电器电路图又与梯形图有很多相似之处,借鉴原继电器电路图,即用可编程序控制器的外部硬件接线和梯形图软件来实现继电器系统的功能。
这种设计方法一般不需要改动控制面板,保持了系统原有的外部特性,操作人员不用改变长期形成的操作习惯,很容易地依照梯形图的编程规则,直接转化为梯形图。这种方法设计周期短,修改调试程序简易方便。下面介绍其基本设计方法。在分析可编程序控制器控制系统的功能时,可以将它想像成一个继电器控制系统中的控制箱,其外部接线图描述了这个控制箱的外部接线,梯形图是这个控制箱的内部“线路图”,梯形图中的输入位(I)和输出位(Q)是这个控制箱与外部世界联系的“中间继电器”,这样就可以用分析继电器电路图的方法来分析可编程序控制器控制系统。在分析时可以将梯形图中输入位的触点想像成对应的外部输入器件的触点,将输出位的线圈想像成对应的外部负载的线圈。外部负载的线圈除了受梯形图的控制外,还可能受外部触点的控制。将继电器电路图转换为功能相同的可编程序控制器的外部接线图和梯形图的步骤如下:
(1)了解和熟悉被控设备的工艺过程和机械的动作情况,根据继电器电路图分析和掌握控制系统的工作原理,这样才能做到在设计和调试控制系统时心中有数。
(2)确定可编程序控制器的输入信号和输出负载,以及与它们对应的梯形图中的输入位和输出位的地址,画出可编程序控制器的外部接线图。
(3)确定与继电器电路图的中间继电器、时间继电器对应的梯形图中的存储器位(M)和定时器(T)的地址,建立继电器电路图中的元件和梯形图中的位地址之间的对应关系。
(4)根据上述对应关系画出梯形图。如果继电器电路图中的交流接触器和电磁阀等执行机构用可编程序控制器的输出位来控制,则它们的线圈应接在可编程序控制器的输出端。按钮、控制开关、限位开关、光电开关等用来给可编程序控制器提供控制命令和反馈信号,它们的触点接在可编程序控制器的输入端,一般使用常开触点。继电器电路图中的中间继电器和时间继电器的功能用可编程序控制器内部的存储器位和定时器来完成,它们与可编程序控制器的输入位、输出位无关。
在设计时应注意梯形图与继电器电路图的区别。梯形图是一种软件,是可编程序控制器图形化的程序。在继电器电路图中,各继电器可以同时动作,而可编程序控制器的CPU是串行工作的,即CPU在某时刻只能处理1条指令。根据继电器电路图设计可编程序控制器的外部接线图和梯形图时应注意以下问题:
(1)应遵守梯形图语言中的语法规定。在继电器电路图中,触点可以放在线圈的左边,也可以放在线圈的右边,但是在梯形图中,线圈必须放在电路的最右边。
(2)设置中间单元。在梯形图中,若多个线圈都受某一触点串、并联电路的控制,为了简化电路,在梯形图中可设置该电路控制的存储器位,它类似于继电器电路中的中间继电器。
(3)尽量减少可编程序控制器的输入信号和输出信号的点数。可编程序控制器的价格与I/O点数有关,每一输入信号和每一输出信号分别要占用一个输入点和一个输出点,因此减少输入信号和输出信号的点数是降低硬件费用的主要措施。在继电器电路图中,一般只需要同一输入器件的一个常开触点给可编程序控制器提供输入信号,而在梯形图中可以多次使用同一输入位的常开触点和常闭触点。在继电器电路图中,如果几个输入器件触点的串、并联电路总是作为一个整体出现,可以将它们作为可编程序控制器的一个输入信号,只占可编程序控制器的一个输入点。
如果某些器件的触点在继电器电路图中只出现一次,并且与可编程序控制器输出端的负载串联(如有锁存功能的热继电器的常闭触点),则不必将它们作为可编程序控制器的输入信号,可以将它们放在可编程序控制器外部的输出回路,仍与相应的外部负载串联。继电器控制系统中某些相对独立且比较简单的部分,可以用继电器电路控制,这样同时减少了所需的可编程序控制器的输入点和输出点。
(4)设立外部联锁电路。为了防止控制正反转的两个接触器同时动作造成三相电源短路,应在可编程序控制器外部设置硬件联锁电路。除了在梯形图中设置与它们对应的输出位的线圈串联的常闭触点组成的联锁电路外,还应在可编程序控制器外部设置硬件联锁电路。
(5)为了减少语句表指令的指令条数,在串联电路中单个触点应放在右边,在并联电路中单个触点应放在下面。
(6)外部负载额定电压的设置。可编程序控制器的继电器输出模块和双向晶闸管输出模块一般只能驱动额定电压AC220V的负载,如果系统原来的交流接触器的线圈电压为380V的,应将线圈换成220V的,或设置外部中间继电器。4.3.4顺序控制设计法
顺序控制设计编程方法又叫做步序法或状态法,其主旨是将控制要求分解为一个个的步序或状态,用确定的编程元件代表它们,利用步序图或顺序功能图描述步序之间的联系,从而表达整体的控制过程。编程时程序则针对一个个的状态来写,每个状态中表达本状态要完成什么任务,满足什么条件时实现状态间的转移,以及下个状态的编号是多少;同时在程序执行的机理上实现状态与状态间的隔离,即一个流程中只有一个状态相关的程序被执行。通常把执行中的状态称为被激活状态,而称其他状态为未激活状态。这种编程方法的特点是方法规范、条理清楚,且易于化解复杂控制间的交叉联系,从而使编程变得容易。
1.置位、复位指令
由置位、复位指令实现的顺序控制不够规范,受编程者的编程风格影响大,在每一状态都由设计者设计退出哪一个状态和在什么条件下进入哪一个状态;置位实现状态的启动、保持,复位实现状态的停止。其实例如5.4节运料小车的控制方案二。
2.定时器
对于仅适用于由时间延迟控制系统流程的情况,可由定时器实现状态的启动、保持和转移。其实例如4.1节天塔之光的控制方案一。
3.顺控指令
许多PLC的开发商在自己的PLC产品中引入了专用的状态编程元件及状
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【小班其他活动】幼儿园小班其他教案设计:认识面粉
- 《囚歌》教学设计-教学教案
- 母亲节作文1000字
- 工程项目合作协议书合同模板
- 口腔诊所运营知识培训课件
- 中外外资章程范本
- 劳动争议中的处理技巧和案例分析
- 日本语2022.12 N3真题和答案(更新中)
- 2025年肾上腺皮质激素类药项目建议书
- Unit-5-单元测试卷(原卷版+解析版)-七年级英语下册(牛津上海版)
- 2024解析:第十五章电流和电路-讲核心(解析版)
- 米勒黑曼策略销售培训
- 2024年下半年东方电气长三角(杭州)创新研究院限公司第二批招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2020-2024年五年高考语文真题分类汇编专题04 古代诗歌鉴赏(解析版)
- 【重点易错题每日一练小纸条】二年级数学下册
- 女神节花艺沙龙活动
- 2024年小红书初级营销师题库
- 2022年公务员多省联考《申论》真题(重庆二卷)及答案解析
- -2012桥梁桩基施工方案
- 课题1 碳单质的多样性(第1课时)课件九年级化学上册人教版2024
- 康复医学题库与答案
评论
0/150
提交评论