S7-200可编程控制器.ppt

上传人:牧羊曲112 文档编号:6518067 上传时间:2023-11-08 格式:PPT 页数:247 大小:6.58MB
返回 下载 相关 举报
S7-200可编程控制器.ppt_第1页
第1页 / 共247页
S7-200可编程控制器.ppt_第2页
第2页 / 共247页
S7-200可编程控制器.ppt_第3页
第3页 / 共247页
S7-200可编程控制器.ppt_第4页
第4页 / 共247页
S7-200可编程控制器.ppt_第5页
第5页 / 共247页
点击查看更多>>
资源描述

《S7-200可编程控制器.ppt》由会员分享,可在线阅读,更多相关《S7-200可编程控制器.ppt(247页珍藏版)》请在三一办公上搜索。

1、西门子可编程序控制器,东北石油大学杨松山,第1章 概 述,1.1可编程序控制器的由来可编程序控制器(Programmable Controller)简称为PC 可编程序逻辑控制器(Programmable Logic Cntroller)。简称为PLC,1968年美国最大的汽车制造厂家通用汽车公司(GM)提出了研制可编程序控制器的基本设想,即(1)能用于工业现场。(2)能改变其控制“逻辑”,而不需要变动组成它的元件和修改内部接线。(3)出现故障时易于诊断和维修。1969年,美国数字设备公司(DEC)研制出了世界上第一台PLC。我国1974年研制,77年应用。,1.2可编程序控制器的定义、特点,

2、一、定义:可编程序控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于使工业控制系统形成一个整体,易于扩充其功能的原则设计。”,二、特点1编程方法简单易学2功能强,性能价格比高3硬件配套齐全用户使用方便。适应性强4可靠性高。抗干扰能力强 5系统的设计、安装、调试工作量少 6维修工作量小,维修方便7体积小,能耗低,1.3 可编程序控制器的应用领域1.数字量逻辑控制2.运动控制3.闭环过程

3、控制4.数据处理5.通信联网,1.4可编程序控制器的发展趋势,1向高性能,高速度、大容量发展 2大力发展微型可编程序控制器 3.大力开发智能型lO模块和分布式IO子系统 4基于个人计算机的编程软件取代手持式编程器 5可编程序控制器编程语言的标准化 6可编程序控制器通信的易用化和“傻瓜化”7可编程序控制器的软件化与Pc化 8组态软件引发的七位计算机编程革命 9可编程序控制器与现场总线相结合,第2章 可编程序控制器的硬件结构与工作原理,2.1可编程序控制器的基本结构基本结构 组成:CPU模块、输入模块、输出模块、编 程装置。,1 CPU模块1)CPU芯片 作用:在可编程序控制器控制系统中,CPU模

4、块相当于人的大脑,它不断地采集输入信号,执行用户程序,刷新系统的输出。2)存储器:作用:存放系统程序,用户程序和数据。系统程序:决定PLC的基本智能,由厂家设计,并存入ROM、EEPROM。用户不能修改。用户程序:根据要求,用PLC的编程语言,编制的程序,用户用编程器写入RAM或EEPROM。,类型(1)随机存取存储器(RAM)用户可以用编程装置读出RAM中的内容,也可以将用户程序写入RAM,它是易失性的存储器,它的电源中断后,储存的信息将会丢失。(2)只读存储器(ROM)ROM的内容只能读出,不能写入。它是非易失的,它的电源消失后,仍能保存储存的内容。ROM一般用来存放可编程序控制器的系统程

5、序。,(3)可电擦除可编程的只读存储器(EEPROM或E2PROM)它是非易失性的,但是可以用编程装置对它编程兼有ROM的非易失性和RAM的随机存取优点,但是将信息写入它所需的时间比RAM长得多。EEPROM用来存放用户程序和需长期保存的重要数据。,2 I0模块 作用:是系统的眼、耳、手、脚,是联系外部现场和CPU模块的桥梁。1)输入模块作用:接收和采集输入信号。输人电路:设有RC滤波电路和光电耦合器。2)输出模块作用:控制输出设备,执行装置。输出电路:晶体管和场效应管、双向晶闸管,小型继电器。,3、编程装置 作用:编程装置用来生成用户程序,并对它进行编辑、检查和修改。1).手持式编程器:不能

6、直接输人和编辑梯形图,只能输入和编辑指令表程序,因此又叫做指令编程器。2).编程软件编程:在屏幕上直接生成和编辑梯形图、指令表、功能块图和顺序功能图程序,并可以实现不同编程语言的相互转换。,4、电源可编程序控制器使用220V交流电源或24V直流电源。内部的开关电源为各模块提供DC 5V、12V、24V等直流电源。,2.1.2 可编程序控制器的物理结构 1整体式(S7200)(图2-2)2模块式(s7300和s7400系列)(图2-3)。2.1.3 可编程序控制器的外部接线 CPU222模块的外部接线图(见图2-6),SIEMENS S7-200 可编程控制器,4.1 S7系列可编程控制器概述4

7、.1.1 概述,4.1.2 S7-200系列PLC的系统组成,图4-2 S7-200的基本构成,S7-200型的PLC主机单元,S7-200型的PLC主机单元的CPU共有两个系列:CPU21X系列和CPU22X系列。CPU21X系列CPU包括CPU212、CPU214、CPU215、CPU216;CPU22X系列CPU包括CPU221、CPU222、CPU224、CPU224XP和CPU226。CPU21X系列属于S7-200的第一代产品,是即将被淘汰的产品,不做具体的介绍,目前的主流产品是CPU22X系列。除了CPU221主机以外,其它CPU主机均可以进行系统扩展。图4-3展示一台带有扩展模

8、块的S7-200 PLC。,S7-200的CPU22X系列PLC的主要技术数据,表4-1 CPU22X系列的主要技术数据,4.2 S7-200 CPU存储器的数据类型及寻址方式,4.2.1 S7-200 寻址1)数据格式S7-200 CPU以不同的数据格式保存和处理信息。S7-200支持的数据格式完全符合通用的相关标准。它们占用的存储单元长度不同,内部的表示格式也不同。这就是说,数据都有各自规定的长度,表示的数值范围也不同。S7-200的SIMATIC指令系统针对不同的数据格式提供了不同类型的编程命令。数据格式和取值范围如表4-6所列。,表4-6数据格式和取值范围,2)数据的寻址长度,在S7-

9、200系统中,可以按位、字节、字和双字对存储单元寻址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分隔符后指定位编号。图4-4 位寻址举例位寻址的举例如图4-4所示。字节寻址的举例如图4-5所示。,多字节组合寻址,,S7-200遵循“高地址、低字节”的规律。如果将16#AB(十六进制立即数)送人VBl00,16#CD送人VBl01,那VWl00的值将是16斡ABCD。即VBl01作为高地址字节,保存数据的低字节部分。,(1)输入过程映像寄存器:I,在每次扫描周期的开始,CPU对物理输入点进行采样,并将采样值写入输

10、入过程映像寄存器中。可以按位、字节、字或双字来存取输入过程映像寄存器中的数据。位:I字节地址位地址 I0.1字节、字或双字:I长度起始字节地址 IB4 IWl ID0,(2)输出过程映像寄存器:Q,在每次扫描周期的结尾,CPU将输出过程映像寄存器中的数值复制到物理输出点上。可以按位、字节、字或双字来存取输出过程映像寄存器中的数据。位:Q字节地址位地址 Q1.1字节、字或双字:Q长度起始字节地址 QB5 QWl QD0,(3)变量存储区:V,可以用V存储器存储程序执行过程中控制逻辑操作的中间结果,也可以用它来保存与工序或任务相关的其他数据。可以按位、字节、字或双字来存取V存储器中的数据。位:V字

11、节地址位地址 V10.2字节、字或双字:V长度起始字节地址 VBl00 VW200 VD300,(4)位存储区:M,可以用位存储区作为控制继电器来存储中间操作状态和控制信息。可以按位、字节、字或双字来存取位存储区中的数据。位:M字节地址位地址 M267字节、字或双字:M长度起始字节地址 MBO MWl3 MD20,(5)定时器存储区:T,在S7-200 CPU中,定时器可用于时间累计。定时器寻址有两种形式:当前值:16位有符号整数,存储定时器所累计的时间。定时器位:按照当前值和预置值的比较结果置位或者复位。两种寻址使用同样的格式,用定时器地址(T+定时器号,如T33)来存取这两种形式的定时器数

12、据。究竟使用哪种形式取决于所使用的指令。位:T定时器号 T37字:T定时器号 T96,(6)计数器存储区:C,在S7-200CPU中,计数器可以用于累计其输入端脉冲电平由低到高的次数。计数器有两种寻址形式:当前值:16位有符号整数,存储累计值。计数器位:按照当前值和预置值的比较结果来置位或者复位。可以用计数器地址(C+计数器号,如CO)来存取这两种形式的计数器数据。究竟使用哪种形式取决于所使用的指令。位:C计数器号 C0字:C计数器号 C255,(7)高速计数器:HC,高速计数器对高速事件计数,它独立于CPU的扫描周期。高速计数器有一个32位的有符号整数计数值(或当前值)。若要存取高速计数器中

13、的值,则应给出高速计数器的地址,即存储器类型(HC)加上计数器号(如HC0)。高速计数器的当前值是只读数据,可作为双字(32位)来寻址。格式:HC高速计数器号 HC1,(8)累加器:AC,累加器是可以像存储器一样使用的读写存储区。例如,可以用它来向子程序传递参数,也可以从子程序返回参数,以及用来存储计算的中间结果。S7-200提供4个32位累加器(AC0、ACl、AC2和AC3)。可以按字节、字或双字的形式来存取累加器中的数值。被操作的数据长度取决于访问累加器时所使用的指令。,(9)顺序控制继电器:S,顺序控制继电器位(S)用于组织机器操作或进入等效程序段的步进控制。顺序控制继电器(SCR)提

14、供控制程序的逻辑分段,可以按位、字节、字或双字来存取S位。位 S字节地址位地址 S31字节、字、双字 S长度起始字节地址 SB4 SW24 SD20,(10)局部存储器:L,可以按位、字节、字或双字访问局部存储器。可以把局部存储器作为间接寻址的指针,但不能作为间接寻址的存储器区。位 L字节地址位地址 L02字节、字、双字 L长度起始字节地址 LB33 LWl0 LDl5,(11)特殊存储器:SM,位:SM字节地址位地址 SMO1字节、字或者双字:SM长度起始字节地址 SMB86,(12)模拟量输入:AI,S7-200将模拟量值(如温度或电压)转换成1个字长(16位)的数据。可以用区域标志符(A

15、I)、数据长度(W)及字节的起始地址来存取这些值。因为模拟值输入为1个字长,且从偶数位字节(如0,2,4)开始,所以必须用偶数字节地址(如AIW0,AIW2,AIW4)来存取这些值。模拟量输入值为只读数据。模拟量转换的实际精度是12位。格式:AIW起始字节地址 AIW4,(13)模拟量输出:AQ,S7-200把1个字长(16位)数字值按比例转换为电流或电压。可以用区域标志符(AQ)、数据长度(W)及字节的起始地址来改变这些值。因为模拟量为一个字长,且从偶数字节(如0,2,4)开始,所以必须用偶数字节地址(如AQW0,AQW2,AQW4)来改变这些值。模拟量输出值为只写数据。模拟量转换的实际精度

16、是12位。格式:AQW起始字节地址 AQW4,表4-8 S7-200 CPU存储器范围和特性一览表,表4-8 S7-200 CPU存储器范围和特性一览表(续),表4-9 常数,4.3 S7-200可编程控制器的指令系统,在S7-200的指令系统主要包括以下几种:位操作指令,包括逻辑控制指令、定时器指令、计数器指令和比较指令。运算指令,包括四则运算,逻辑运算,数学函数指令。数据处理指令,包括传送、移位、字节交换和填充指令。表功能指令,包括对表的存取和查找指令。转换指令,包括数据类型转换、编码和译码、七段码指令和字符串转换指令。在基本指令中,位操作指令是其它所有指令应用的基础,非常重要,因此是需要

17、重点掌握的内容。除位操作指令外,其它的基本指令反映了PLC对数据运算和数据处理能力,这些指令拓宽了PLC的应用领域。,4.3.1 基本逻辑指令,1)LD(Load)、LDN(Load Not)和线圈驱动指令=(Out)LD:常开触点逻辑运算开始,装入常开触点。LDN:常闭触点逻辑运算开始,装入常闭触点。=:输出指令,线圈驱动。,2)触点串联指令A(And)和AN(And Not),A:常开触点串联连接。AN:常闭触点串联连接。A和AN的操作数为:I、Q、M、SM、T、C、V、S。,3)触点并联指令O(Or),ON(Or Not),O:常开触点并联连接。ON:常闭触点并联连接。操作数为:I、Q、

18、M、SM、T、C、V、S。,4)串联电路块的并联指令OLD,4)串联电路块的并联指令OLDOLD(OrLoad),用于串联电路块为并联连接。,5)并联电路块的串联指令ALD,ALD(AndLoad),用于并联电路块的串联连接。,6)置位、复位指令S(Set)/R(Reset),S置位即置1,R复位即置0。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。开始位的操作数为:Q、M、SM、T、C、V、S。数量位的操作数为:VB、IB、QB、MB、SMB、LB、SB、AC、常数等。,7)脉冲生成指令EU(Edge Up)和ED(Edge Down),EU

19、指令在对应输入(I0.0)有上升沿时,产生一宽度为扫描周期的微分脉冲,ED指令在对应输入(I0.0)有下降沿时,产生一宽度为扫描周期的微分脉冲,,8)逻辑结果取反指令NOT,NOT指令用于将NOT指令左端的逻辑运算结果取反。NOT指令无操作数。,9)立即数指令I(Immediate)(LDI、LDNI、AI、ANI、OI、ONI、=I、SI、RI),在程序中遇到立即指令时,若涉及到输入触点,则CPU绕过输入映像寄存器,直接读入输入点的通断状态作为等量齐观处理的依据,但不对映像寄存器作刷新处理。若涉及输出线圈,则将除结果写入映像寄存器PIQ外,更直接以结果驱动实际输出而不等待程序结束指令。,4.

20、3.2 定时、计数器和比较指令,1)定时器指令3种类型的定时器:通电延时定时器TON、有记忆通电延时定时器TONR和断电延时定时器TOF,总共提供256个定时器T0T255,其中TONR为64个,其余192个可定义为TON或TOF。定时精度(时间增量/时间单位/分辨率)可分为3个等级:1ms、10ms、100ms。表4-10 CPU22X系列定时器的定时精度及编号,(1)接通延时定时器指令TON(On-Delay Timer)。,(2)有记忆接通延时定时器指令TONR(Retentive On-Delay Timer),有记忆接通延时定时器TONR,用于多个时间间隔的累计定时。,(3)断开延时

21、定时器指令TOF(Off-Delay Timer)。,断开延时定时器TOF用于输入断开后单一间隔的定时。,定时器的刷新方式,1ms定时器由系统每隔lms刷新一次,与扫描周期及程序处理无关,因而当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个周期内不一定保持一致;1Oms定时器则由系统在每个扫描周期开始时自动刷新,由于是每个扫描周期只刷新一次,故在每次程序处理期间,其当前值为常数;lOOms定时器则在该定时器指令执行时才被刷新。,1ms、10ms、100ms定时器的定时精度,其预设值必须大于最小需要的时间间隔。使用1ms定时器要确保至少56ms的时间间隔,预设值应大于57。使用10m

22、s定时器要确保至少140ms的时间间隔,预设值应大于15。使用100ms定时器要确保至少2100ms的时间间隔,预设值应大于22。,2)计数器指令,S7-200计数器指令有3种类型:递增计数CTU、增减计数CTUD和递减计数CTD,共计256个,编号为C0C255。指令操作数有4方面:编号、预设值、脉冲输入和复位输入。每个计数器只能使用一次,不能重复使用同一计数器的线圈编号。每个计数器有一个16位的当前值寄存器及一个状态位,最大计数值PV的数据类型为整数型INT。寻址范围为:VW,IW,QW,NW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD及常数。,(1)递增计数器

23、指令CTU(Couter Up),(2)递减计数器指令CTD(Couter Down),(3)增减计数器指令CTUD(Couter Up/Down),增减计数器的计数范围为-3276832767。当CTUD计数到最大值32767后,如CU端又有计数脉冲输入,在这个计数脉冲的上升沿,使当前值寄存器跳变到最小值-32768;反之,在当前值为最小值-32768后,如CD端又有计数脉冲输入,在这个计数脉冲的上升沿,使当前值寄存器跳变到最大值32767。,3)比较指令,比较指令是将两个操作数IN1和IN2按指定的条件作比较,条件成立时触点就闭合。比较运算符有:等于(=),大于等于(),小于等于(),大于

24、(),小于()。在梯形图中,比较指令是以常开触点的形式编程的,在常开触点的中间注明比较参数和比较运算符。当比较的结果为真时,该动触点就闭合。比较指令的类型有:字节(BYTE)比较、整数(INT)比较、双字整数(DINT)比较和实数(REAL)比较。,(1)字节比较指令,字节比较用于比较两个字节型整数值IN1和IN2的大小,字节比较是无符号的。比较式可以是LDB、AB或OB后直接加比较运算符构成。如:LDB=、AB、OB等。整数IN1和IN2的寻址范围:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常数。指令格式例:LDB=VB10,VB12ABMB0,MB1OBAC1,1

25、16,(2)整数比较指令,整数比较用于比较两个一字长整数值IN1和IN2的大小,整数比较是有符号的(整数范围为16#800016#7FFF之间)。比较式可以是LDW、AW或OW后直接加比较运算符构成。如:LDW=、AW、OW 等。整数IN1和IN2的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。指令格式例:LDW=VW10,VW12AWMW0,MW4OWAC2,1160,(3)双字整数比较指令,双字整数比较用于比较两个双字长整数值IN1和IN2的大小,双字整数比较是有符号的(双字整数范围为16#80000000(-2147483648

26、)16#7FFFFFFF(2147483647)之间。指令格式例:LDD=VD10,VD14ADMD0,MD8ODAC0,1160000LDDHC0,*AC0,(4)实数比较指令,实数比较用于比较两个双字长实数值IN1和IN2的大小,实数比较是有符号的(负实数范围为-1.175495E-38和-3.402823E+38,正实数范围为+1.175495E-38和+3.402823E+38)。比较式可以是LDR、AR或OR后直接加比较运算符构成。指令格式例:LDR=VD10,VD18ARMD0,MD12ORAC1,1160.478AR*AC1,VD100,(5)数据比较指令应用实例,一自动仓库存放

27、某种货物,最多6000箱,需对所存的货物进出计数。货物多于1000箱,灯L1亮;货物多于5000箱,灯L2亮。分析:需要检测某种货物的进、出货情况,可以用增减计数器进行统计。L1和L2分别受Q0.0和Q0.1控制,数值1000和5000分别存储在VW20和VW30字存储单元中。,4.3.3 程序控制指令,1)条件结束指令END它根据前面的逻辑关系,终止用户主程序,并返回主程序起始点。该指令只能用在主程序,而不能用在子程序或中断程序中。2)暂停指令STOP暂停指令使CPU立即终止程序的执行,强迫CPU从RUN方式转变为STOP方式。如果暂停指令在中断程序中执行,该中断立即停止,但继续扫描程序的剩

28、余部分,直至本次扫描完成后,终止程序的执行。,3)顺序控制继电器指令,4)跳转及标号指令,跳转及标号指令成对出现在程序中,跳转指令(JMP)可使程序流程转移到同一程序中指定的标号(n)处。标号指令(LBL)是使程序跳转到指定的目标位置(n)。跳转及标号指令可以分别用在主程序、子程序或中断程序中。但不能从主程序跳到子程序或中断程序,同样也不能从子程序或中断程序跳出。操作数n:0255。,4.3.4 算术指令,1)加法指令加法操作是对两个有符号数进行相加。包括整数加法指令+I,双整数加法指令+D以及实数加法指令+R。(1)整数加法指令:整数加法指令名称为ADD_I,整数加法指令+I在梯形图(LAD

29、)及功能块图(FBD)中,以功能框的形式编程。在整数加法功能框中,使能输入端为EN(Enable),允许输出端为ENO(Enable Output),将两个单字长(16位)的符号整数IN1和IN2进行相加,产生一个16位整数结果OUT。整数加法将影响特殊继电器SM1.0(零)、SM1.1(溢出)、SM1.2(负)。影响允许输出正常工作的条件运行是:SM1.1(溢出),SM4.3运行时间,0006(间接寻址)。整数加法指令中,操作数的寻址范围见表4-12。,表4-12 整数加法操作数的寻址范围,(2)双整数加法指令,双整数加法指令名称ADD_DI,,(3)实数加法指令,表4-16 实数加法操作数

30、的寻址范围,2)减法指令,减法指令是对两个有符号数进行相减操作。与加法指令一样,也可分为整数减法指令(-I)、双整数减法指令(-D)及实数减法指令(-R)。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。,指令格式:-IIN2,OUT(整数减法)-DIN2,OUT(双整数减法)-RIN2,OUT(实数减法)例:-I AC0,VW4,3)乘法指令,乘法指令是对两个有符号数进行相乘运算,包括:整数乘法指令I,完全整数乘法指令MUL,双整数乘法D以及实数乘法指令R。,4)除法指令,除法指令是对2个有符号数进行相除运算,与乘法指令一样,也可以分为整数除法指令(/I),完全整数除法

31、(DIV),双整数除法指令(/D)及实数除法指令(/R)。在梯形图LAD及功能块FBD中,除法指令以功能框的形式进行编程,指令名称分别为:整数除法指令:DIV_I完全整数除法指令:DIV双整数除法指令:DIV_DI实数除法指令:DIV_R指令执行结果,IN1/IN2=OUT。各除法指令的操作数寻址范围与对应的乘法指令相同。除法指令影响特殊继电器SM1.0(零),SM1.1(溢出),SM1.2(负),SM1.3(被0除)。,例:完全整数除法 DIVVW10,VD100整数除法/IVW20,VW200,两条指令的编程及执行情况比较如图4-31所示。,5)增减指令,增减指令又称为自动加1或自动减1指

32、令。数据长度可以是字节、字、双字。(1)字节加1指令INCB和字节减1指令DECB:当使能输入端EN有效时,INCB将1字节长的无符号数IN自动加1;DECB是将1字节长的无符号数IN自动减1,得到的输出结果OUT为1个字节长的无符号数。,(2)字加1指令INCW和字减1指令DECW,当使能输入端EN有效时,INCW是将一个字长的有符号数IN自动加1;DECW是将一个字长的有符号数IN自动减1;得到的输出结果OUT为1个字节长的有符号数。,4.3.5 逻辑运算指令,逻辑运算指令是对逻辑数(无符号数)进行处理,包括逻辑与、逻辑或、逻辑异或,取反等逻辑操作,数据长度可以是字节、字、双字。1)字节逻

33、辑运算指令ANDB,ORB,XORB,INVB字节(1)字节与指令 ANDB:当使能输入端EN有效时,对2个1字节长的逻辑数IN1和IN2,按位相与,得到1字节的运算结果放OUT。在语句表STL中,IN2(或IN)与OUT为同一个存储单元,字节逻辑运算的指令格式是ANDB IN1,OUT。指令执行结果为:IN1 ANDB IN2(OUT)OUT。(2)字节或指令ORB:当使能输入端EN有效时,对2个1字节长的逻辑数IN1和IN2,按位相或,得到1字节的运算结果放OUT。在语句表STL中,IN2(或IN)与OUT为同一个存储单元,字节逻辑运算的指令格式是ORB IN1,OUT。指令执行结果为:I

34、N1 ORB IN2(OUT)OUT。(3)字节异或指令XORB:当使能输入端EN有效时,对2个1字节长的逻辑数IN1和IN2,按位相异或,得到1字节的运算结果放OUT。在语句表STL中,IN2(或IN)与OUT为同一个存储单元,字节逻辑运算的指令格式是XORB IN1,IN2(OUT)。指令执行结果为:IN1XORB IN2(OUT)OUT。(4)字节取反指令INVB:当使能输入端EN有效时,对2个1字节长的逻辑数IN,按位取反,得到1字节的运算结果放OUT。,字节逻辑运算过程,2)字逻辑运算指令ANDW,ORW,XORW,INVW,(1)字与指令ANDW:当使能输入端EN有效时,对2个1字

35、长的逻辑数IN1和IN2,按位相与,得到1个字长的运算结果放OUT。(2)字或指令ORW:当使能输入端EN有效时,对2个1字长的逻辑数IN1的IN2,按位相或,得到1个字长的运算结果放OUT。(3)字异或指令XORW:当使能输入端EN有效时,对2个1字长的逻辑数IN1和IN2,按位相异或,得到1个字长的运算结果放OUT。(4)字取反指令INVW:当使能输入端EN有效时,对1个字长的逻辑数IN,按位取反,得到1个字长的运算结果放OUT。字逻辑运算过程见表4-29。,表4-29 字逻辑运算过程,3)双字逻辑运算指令ANDD,ORD,WORD,INVD,(1)双字与指令ANDD:当使能输入端EN有效

36、时,对2个双字长的逻辑数IN1和IN2,按位相与,得到1个双字长的运算结果放OUT。双字与指令格式为:ANDD IN1,OUT。指令执行结果为:IN1 ANDD IN2(OUT)=OUT。(2)双字或指令ORD:当使能输入端EN有效时,对2个双字长的逻辑数IN1和IN2,按位相或,得到1个双字长的运算结果放OUT。双字或指令格式为:ORD IN1OUT。指令执行结果为:IN1 ORD IN2(OUT)OUT。(3)双字异或指令XORD:当使能输入端EN有效时,对2个双字长的逻辑数IN1和IN2,按位异或,得到1个双字长的运算结果放OUT。双字异或指令格式为:XORD IN1,IN2(OUT)指

37、令执行结果为:IN1 XORD IN2(OUT)OUT。(4)双字取反指令INVD:当使能输入端EN有效时,对1个双字长的逻辑运算数IN,按位取反,得到1个双字长的运算结果放OUT。双字取反指令格式为:INVD OUT。指令执行结果为:INVD IN(OUT)OUT。,举例,4.3.6 传送指令,传送指令即数据传送指令,它是将数据从一个数据区拷贝到另一个数据区。依据每次数据传送的长度不同,可分为单个传送指令和块传送指令。单个传送指令每次传送1个数据,传送数据的类型包括:传送字节、传送字、传送双字和传送实数。,1)MOVB,BIR,BIW传送字节指令,1)MOVB,BIR,BIW传送字节指令,(

38、1)MOVB周期性传送字节指令:当使能输入端EN有效时,将输入字节(IN)数据传送到输出字节(OUT)中。影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。在语句表中,周期性字节传送指令MOVB的指令格式为:MOVB IN,OUT。(2)BIR立即读传送字节指令:当使能输入端EN有效时,BIR指令立即将输入字节(IN)数据传送到输出字节(OUT)中。指令名称为:MOV_BIR。影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。在语句表中,立即传送字节指令BIR的指格式为:BIR IN,OUT。(3)BIW立即写传送字节指令

39、:当使能输入端EN有效时,BIW指令立即将由(IN)数据指定输入字节传送到由输出字节(OUT)指定的字节中。指令名称为:MOV_BIW。在语句表中,立即写传送字节指令BIW的指令格式为:BIW IN,OUT。影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。,2)传送字指令MOVW传送字指令MOVW是有符号的,将输入字(IN)整数数据传送到输出字节(OUT)中,在传送过程中不改变字的大小。3)传送双字指令MOVDW4)传送实数指令MOVR影响允许输出ENO正常工作的出错为:SM4.3(运行时间),0006(间接寻址)。,5)传送块指令BMB,BMW,BMD,

40、传送块指令用来进行一次传送多个数据,将最多可达225个的数据组成1个数据块。(1)传送字节块指令BMB:当使能输入端EN有效时,将从输入字节(IN)开始的N个字节值传送到从输出字节(OUT)开始的N个字节。(2)传送字块指令BMW:当使能输入端EN有效时,将从输入字(IN)开始的N个字值传送到从输出字(OUT)开始的N个字。(3)传送双字块指令BMDW:当使能输入端EN有效时,将从输入双字(IN)开始的N个双字节值传送到从输出地址(OUT)开始的N个双字。块传送指令的指令格式如下。字节块传送指令:BMB IN,OUT,N。字块传送指令:BMW IN,OUT,N。双字块传送指令:BMDW IN,

41、OUT,N。,4.3.7 移位和循环指令,移位指令在PLC控制中是比较常用的,根据移位的数据长度可分为字节型移位、字型移位和双字型移位;根据移位的方向可分为左移和右移,还可进行循环移位。1)左移和右移指令左移和右移指令的功能是将输入数据IN左移或右移N位后,把结果送到OUT。左移和右移指令的特点如下:1 被移位的数据是无符号的。2 在移位时,存放被移位数据的编程元件的移出端与特殊继电器SM1.1连接,移出位进人SM1.1(滥出),另一端自动补0。3 移位次数N与移位数据的长度有关,如所需移位次数N小于实际的数据长度,则执行N次移位。如所需移位次数N大于数据长度,则执行移位的次数等于实际数据长度

42、的位数。4 移位次数N为字节型号数据。左移和右移指令影响的特殊继电器:SM1.0(零),当移位操作结果为0时,SM1.0自动置位;SM1.1(溢出)的状态由每次移出位的状态决定。影响允许输出ENO正常工作的出错条件为:SM4.3(运行时问),0006(问接寻址)。,(1)字节左移指令SLB(Shift Left Byte)和字节右移指令SRB(Shift Right Byte)。,当使能输入端EN有效时,将输入字节(IN)左移或右移N位后,再把结果输送到OUT字节。N最大实际可移8位。在语句表中,字节左移指令SLB,或字节右移指令SRB的指令格式如下:字节左移指令:SLB OUT,N(OUT与

43、IN为同一个存储单元)字节右移指令:SRB OUT,N(OUT与IN为同一个存储单元)例:SLBMB0,2 SRBLB0,3以第一条指令为例,指令执行情况见表4-30所示。,表4-30 指令SLB执行结果,(2)字左移指令SLW(Shift Left Word)和字右移指令SRW(Shift Right Word)。,当使能输入端EN有效时,将输入字(IN)左移或右移N位后,再把结果输送到字(OUT)。N最大为16,在语句表中,字左移指令SLW或字右移指令SRW的指令格式如下:字左移指令:SLW OUT,N(OUT与IN为同一个存储单元)字右移指令:SRW OUT,N(OUT与IN为同一个存储

44、单元)例:SLWMW0,2 SRWLW0,3以第二条指令为例,指令执行情况见表4-31所示。表4-31 指令SRW执行结果,(3)双字左移指令SLDW,双字右移指令SRDW,在梯形图中,双字左移指令SLDW或双字右移指令SRDW以功能框的形式编程,指令的名称分别为:SHL_DW 和SHR_DW。当使能输入端EN有效时,将输入端(IN)的双字型数据左移或右移N位后,再将结果输出到OUT所指的双字存储单元。N最大实际可移位次数为32。在语句表中,双字左移SLDW或双字右移指令SRDW的指令格式如下:双字左移指令:SLDW OUT,N(OUT与IN为同一个存储单元)双字右移指令:SRDW OUT,N

45、(OUT与IN为同一个存储单元)例:SLDMD0,2SRDLD0,3,2)循环左移和循环右移指令,循环移位的特点:被移位的数据是无符号的。在移位时,存放被移位数据的编程元件移出端既与另一端连接,又与特殊继电器SM1.1连接,移出位在被移到另一端的同时,也进人SM1.1(溢出),另一端自动补0。移位次数N与移位数据的长度有关,如N小于实际的数据长度,则执行N次移位。如N位大于数据长度,则有执行移位的次数为N除以实际数据长度的余数。移位次数N为字节型数据。循环移位指令影响的特殊继电器:SM1.0(零),当移位操作结果为0时,SM1.0自动置位:SM1.1(溢出)的状态由每次移出位的状态决定。影响允

46、许输出ENO正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。,字节循环左移指令RLB和字节循环右移指令RRB,。在梯形图中,字节循环移位指令以功能框的形式编程,指令名称分别为:ROL_B和ROR_B。当使能输入端EN有效时,将输入端(IN)的字节型数据循环移位N位后,送到由OUT指定的字节。在语句表中,字节循环移位指令的指令格式如下:字节循环左移指令:RLB OUT,N字节循环右移指令:RRB OUT,N,字循环左移指令RLW和 字循环右移指令RRW。,在梯形图中,字循环移位指令以功能框的形式编程,指令名称分别为:ROL_W和ROR_W。当使能输入端EN有效时,将输入端(I

47、N)的节型数据循环移位N位后,送到由OUT指定的字。在语句表中,字循环移位指令的指令格式如下:字循环左移指令:RLW OUT,N字循环右移指令:RRW OUT,N 例:SLWMW0,2 SRWLW0,3,双字循环左移位指令RLD和 双字循环右移位指令RRD,在梯形图中,双字循环移位指令名称分别为:ROL_DW和ROR_DW。当使能输入端EN有效时,将输入双字(IN)循环左移或右移N位后,再把结果输送到字(OUT)。在语句表中,字循环移位指令的指令格式如下:双字循环左移指令:RLD OUT,N双字循环右移指令:RRM OUT,N,3)移位寄存器指令SHRB,在梯形图中移位寄存器指令以功能框的形式

48、编程,指令名称为SHRB。它在梯形图中有3个数据输入端:DATA为数值输入,将该位的值移入移位寄存器,而该移位寄存器是由S_BIT和N决定的。其中,S_BIT指定移位寄存器的最低端;N指定移位寄存器的长度。每次使能输入有效时,整个移位寄存器移动1位。如果N0,则在每个EN的前沿,将数据输入DATA的状态移入移位寄存器的最低位S_BIT;如果N0,则在每个EN的前沿,将数据输入DATA的状态移入移位寄存器的最高位,移位寄存器的其他位按照N指定的方向(正向或反向),依次串行移位。移位寄存器的移出端与SM1.1(溢出)连接。移位寄存器指令影响的特殊继电器:SM1.0(零),当移位操作结果为0时,SM

49、1.0自动置位;SM1.1(溢出)的状态由每次移出位的状态决定。影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间).0006(间接寻址),0091(操作数超界),0092(计数区错误)。在语句表中,移位寄存器的指令格式为:SHRB DATA,S_BIT,N,NO时,为正向移位,即从最低位向最高位移位。N0时,为反向移位,即从最高位向最低位移位。,移位寄存器的数据类型无字节型、字型、双字型之分,可指定的最大长度为64位,可正也可负。,4)先进先出指令(First Input First Output),当使能输入有效时,从TBL指明的表中移出第一个字型数据并将其输出到DATA所指定的

50、字单元。FIFO表取数特点:取数时,移出的数据总是最先进入表中的数据。每次从表中移出一个数据,剩余数据依次上移一个字单元位置,同时实际填表数EC会自动减1。指令格式:FIFO TBL,DATA例:FIFO VW100,AC0,5)后进先出指令LIFO,在梯形图中,LEFO以功能框的形式编程,指令名称为LIFO。当使能输入端EN有效时,从TAB指定的表中,取出最后进入表中的数据,送到DATA指定的单元,剩余数据位置不变,实际填表数EC会自动减1。LIFO指令影响的特殊继电器为SM1.5(表空)。不要从一个空表中取数据,否则SM1.5为ON。,4.3.8 转换指令,转换指令是将累加器中的数据进行类

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号