1、课 题 可编程控制器概述教 学 过 程 组织教学维持秩序、准备上课 教学导入PLC是工业自动化设备的主导产品,具有控制功能强,可靠性高,使用方便,适用于不同控制要求的各种控制对象 新课讲授 第一章 可编程序控制器的概述 1可编程控制器的产生 1)传统的继电器接触器控制系统 特点:设备体积大、可靠性差、动作速度慢、功能少、难于实现较复杂的控制。2)PLC控制系统系统的具体要求:(1) 编程简单、可现场修改程序;(2) 维修方便、采用插件式结构;(3) 可靠性高于继电器控制系统;(4) 体积小于继电器控制盘;(5) 数据可直接送入管理计算机;(6) 成本可与继电器控制盘竟争;(7) 输入为市电;(
2、8) 输出为市电、输出电流在2A以上;(9) 扩展时原系统改变最少;(10) 用户存储器大于4KB。核心思想: 用计算机代替继电器控制盘用程序代替硬接线输入/输出电平可与外部设备直接相连结构易扩展2. 可编程控制器的定义:3.可编程控制器的主要特点:1) 可靠性高、抗干扰能力强(1) PLC的平均故障间隔时间可达几十万小时。(2) 抗干扰措施:硬件方面:隔离、滤波软件方面:设置故障检测与诊断程序、状态信息保护功能。2)编程简单、使用方便(1) PLC梯形图语言;(2) PLC语句表语言;(3) PLC功能图语言。3)设计、安装容易、维护工作量少 4)功能完善、功用性强逻辑运算、定时、计数、顺序
3、控制、A/D、D/A转换、数值运算数据处理通信联网功能。5)体积小、能耗低6)性能价格比高4PLC的分类及发展1) 分类方法(1) 按点数和功能分类小型 I/O点数小于256点中型 I/O点数在2561024点大型 I/O点数大于1024点(2) 构形式分类整体结构和模块结构(3)按用途分类通用性和专用性2) 应用和发展-小型化-大型化. 课后小结: 本课介绍了可编程控制器的产生和定义,可编程控制器的主要特点、分类方式、发展。要求对PLC有初步了解. 习题布置:略课 题 可编程控制器构成原理教 学 过 程 组织教学维持秩序、准备上课 教学导入可编程控制器是建立在计算机基础上的工业控制装置,本节
4、主要介绍PLC的组成、工作原理。 新课讲授 可编程控制器的基本组成三部分组成:输入部分:将被控制对象各种开关信息和操作台上的操作命令转换成可编程控制器的标准控制信号,然后送到运算控制电路。 运算控制部分:按照用户程序的设定,完成对输入信息的处理,并可实现算术和逻辑运算等操作功能。输出部分:由PLC的输出接口及外围现场设备构成可编程控制器的主机1中央处理器(CPU)完成任务:1)存储用户程序和数据;2)用扫描方式接收现场输入设备的状态和数据3)诊断电源、PLC内部电路工作状态和编程过程中的语法错误;4)完成用户程序中规定的逻辑运算和算术运算任务;5)更新有关标志位的状态和输出状态寄存器的内容,实
5、现输出控制、制表打印或数据通信。2存贮器(Memory) ROM RAM EEPROM等 1)系统程序存储区 (监视程序、管理程序、命令解释程序、功能程序、系统诊断程序。 2)系统RAM存储区。(逻辑线圈、数据存储器、计时器、累加器、变址寄存器) 3)用户程序存储区3基本I/O接口电路 1)PLC内部输入电路作用是将PLC外部电路(如行程开关 按钮 传感器等)提供的,符合PLC输入电路要求的电压信号,通过光耦电路 送至PLC内部。三种输入形式:干接点式,直流输入式,交流输入式三大类。 2. PLC输出电路用来将CPU运算结果变成一定形式的功率输出,驱动被控负载(电磁阀 继电器 接触器线圈等)。
6、三种输出形式:继电器式、晶闸管式和晶体管输出型等三种 4接口电路(1)I/O扩展接口电路 (2)外设通信接口电路 5电源可编程序控制的工作原理 1PLC的工作方式-循环扫描工作方式 扫描周期分为三个阶段: 读入阶段 执行阶段 写输出阶段. 课后小结: 本节介绍了PLC的结构及I/O电路形式和电路原理,分析了PLC的工作原理和技术指标。. 习题布置: 略课 题 基本指令及应用教 学 过 程 组织教学维持秩序、准备上课 教学导入PLC是工业自动化设备的主导产品,具有控制功能强,可靠性高,使用方便,指令简单、容易掌握,属于中位机,今天我们开始接触PLC的指令。 新课讲授 第二章 可编程序控制器的基本
7、逻辑指令 1LD、LDI、OUT指令 1)LD、LDI指令: 含义:逻辑取指令,又叫左母线连接指令,其中:LD指常开触点与左母线相联,LDI表示常闭触点与左母线相联,操作元件:X、Y、M、S、T、C2)OUT指令:含义:线圈驱动指令。操作元件:带线圈的元件:Y、M、S、T、C2、触点串联指令:AND、ANI其中:AND表示后面所串为单个常开触点,ANI则表示后面所串为单个常闭触点。所串个数没有限制,可以连续使用多次。3、 触点并联指令OR、ORIOR表示与上面并联的是一个常开触点,ORI则表示与上面并联的是一个常闭触点,如下图所示:4、 并联电路块的并联指令ORB当我们所串联的对象不是单个触点
8、,而是一个电路块时,不能用OR或者ORI指令,必须用ORB块并联指令,电路块以LD或LDI开头,ORI在块并联完后书写,如下图所示:注意事项:复杂的放在最上面,越简单(单个触点)放最下,可以节省一条ORB指令。5、 串联电路块指令ANB当触点后面所串的不是单个触点,而是一个电路块时,不能用AND或者ANI指令,必须用块串联指令ANB,同理放在块之后。如下图所示:注意事项:越复杂的电路串联,最复杂的朝最前摆,最简单(单个触点)朝后放,可以减少一条块串联指令ANB。6、 多重输出指令MPS、MRD、MPP当梯形图中中间某点信号不止针对一条路,而是几条路公用时,我们必须将这点信号保存下来,以便别的路
9、还需要此信号,其中:MPS表示将信号保存(进栈指令),MRD表示读取原先保存的信号内容,并不改变信号,MPP表示将栈中内容取出,以后不再需要此信号。如下图所示:主控指令和多路输出指令差不多,所以掌握一种即可,由于多路输出指令容易理解,所以主控指令就不需要掌握。7、 置位和复位指令SET 和RST SET为置位指令,可驱动操作元件是带线圈的软元件M、S、T、C、Y,该指令一旦执行一次就可以一直自保持,相当于电气控制中间的带自保电路,但是却不可以用触点去断开自保(如OUT指令就可以),必须用复位指令RST,只有执行RST指令后才能解除自保。8、 脉冲输出指令PLS、PLFPLS是上升沿触发指令,P
10、LF为下降沿触发指令,操作元件为Y、M,但不能够操作特殊辅助继电器,如果前面所学指令和后面需要学的指令大部分均可在指令后面加“S”或者“F”,表示对所针对的触点只有上升沿或者下降沿才能有效。如下图所示:9、 空操作指令NOPNOP是一条无操作、无元件的指令,目的是以前用手写输入编程器时,为了调试程序方便配备的,目前几乎不用。10、 程序结束指令ENDEND表示程序结束,执行输出处理,无操作元件,因为三菱PLC编程软件共可编8000步,如果没有结束标志,则程序扫描时必须全部扫完,耗费扫描时间,所以为节约扫描时间,一般在程序结束时必须加上该指令。另:如果程序存在子程序,则主程序以FEND结束,子程
11、序在FEND之后编写,并以END结束!切记!、基本指令小结: 基本指令条数不多,要记住不难,但要注意如下几点:(1)、区分OUT指令和SET指令的操作元件及两者的区别。(2)、ANB指令和ORB指令用在何处?(3)、多路输出指令的应用。(4)、脉冲指令的含义和应用。(5)、掌握定时器。计数器的使用和配合。(6)、按钮变开关、开关变按钮的方法。课 题 基本指令编程技巧教 学 过 程 组织教学维持秩序、准备上课 教学导入PLC是工业自动化设备的主导产品,具有控制功能强,上节我们介绍了基本指令的含义,今天我们开始学如何利用基本指令来实现预定逻辑要求。 新课讲授 第三章 可编程序控制器的基本逻辑指令编
12、程 1程序设计法则: 在电气设备控制这门课中我们控制线路的设计方法有: (1)、按照时间控制的原则; (2)、按照位置控制的原则; (3)、按照速度控制的原则; 1)LD、LDI指令: 含义:逻辑取指令,又叫左母线连接指令,其中:LD指常开触点与左母线相联,LDI表示常闭触点与左母线相联,操作元件:X、Y、M、S、T、C (4)、按照电路控制的原则。我们可以保证设计原则几乎不变,但是在PLC中,电流、位置、速度这些信号都必须通过传感器或者开关转化为PLC的输入信号,按照时间控制的原则设计则不需要占用PLC的输入点数,可减小PLC的总点数,降低成本,所以,在使用内部定时器进行按照时间控制的方法设
13、计能够满足性能指标的情况下,优先考虑猜疑按照时间控制的方法设计。2、 梯形图设计方法:梯形图是阅读PLC程序相对容易的语言,故设计PLC程序时,通常常用梯形图。同样的控制要求,可以有许多不同的梯形图,但是,哪个最优,则首先看程序所占程序步数是否最少,也少则越优,其次,看编程思路是否清晰,是否方便别人阅读。个人有个人的编程思路,不同的人编出的程序不尽相同,但是,只要能够满足逻辑要求,不存在缺陷,则均视为合格。常用的梯形图设计方法有:(1)、直接设计法:(2)、逻辑设计法:(3)、状态表设计法:3、梯形图设计步骤:(1)、分析控制要求,写出I/O分配表;(2)、据PLC的分配表画出PLC接线图;(
14、3)、据控制要求设计梯形图。4、梯形图设计法之-直接设计法:主要针对电气控制中控制线路而言,可以将控制线路直接转化为梯形图,但要注意:(1)、所有触点必须放在线圈之前;(2)、不允许双线圈输出;(3)、不允许电桥形式存在,必须按照逻辑转化;(4)、必须考虑PLC工作特点:扫描式工作方式-从左至右、从上至下。实例:试将电气控制中8大逻辑电路用PLC来实现。 其次还有顺序控制、条件控制、自动往返控制等,同学们可以自己按照规律进行转换。5、梯形图设计法之-逻辑设计法:逻辑设计法就是应用逻辑代数以逻辑组合形式的方法设计电气控制系统。设计步骤如下:(1)、通过分析控制课题,明确控制任务和要求;(2)、将
15、控制任务和要求转化为逻辑控制课题;列出真值表或画出卡诺图,写出最简逻辑表达式;(3)、写出I/O分配表(与逻辑函数对应);(4)、画出梯形图(据逻辑表达式)。实例:例如3人投票表决电路,试用PLC设计控制程序。解:第一步:分析逻辑:3人表决,必须2人或者2人以上同意方能有效。第二步、设输入为A、B、C,输出为Y,则可列出真值表,并利用卡诺图化简得:Y=AB+BC+AC第三步:I/O分配表: 输入 输出X0 X1 X2 Y0A B C HL第四步:设计梯形图:逻辑表达式转化为梯形图的技巧:“与”即串联,“+”即并联,非即“”。6、梯形图设计法之-状态表设计法:状态表即将主令信号、输入信号、辅助继
16、电器、输出得点与否及约束栏于一体的表格。实例:某一冷加工自动生产线有一钻孔动力头,加工控制过程如下:(1)、动力头在原位,按下启动按钮,接通电磁阀Y1,主轴电机启动,动力头快进;(2):动力头碰到SQ1,接通电磁阀Y1、Y2,动力头由快进转为工进;(3)、碰上SQ2后,Y1、Y2断开,开始延时10S;(4)、延时到,接通电磁阀Y3,动力头快退;(5)、动力头退回原位,SQ0动作,主轴电机停转,动力头停止,完成一次循环。根据上述要求,可画出该过程的状态表如下:状态主令机械输出元件输入元件辅助继电器约束序号信号动作Y0Y1Y2Y3SQ0SQ1SQ2QAM2M1M01QA快进11100002SQ1工
17、进111100013SQ2延时1100104T0快退110115SQ0停转1010100梯形图设计:QAX0,SQ1X1,SQ2X2,SQ0X3,据状态表可设计梯形图,不过此程序不宜用目前所学指令编程,用后面的步进顺控指令编程非常方便,故留待以后编程。顺控指令及编程一、 状态元件S介绍:为了满足工业控制的需要,为了方便编辑复杂逻辑的要求、同时还要是程序方便检查、控制清晰,采用顺控指令编程,为此,需要专门的软元件:“S”,三菱公司FX系列PLC配备了1000个状态元件。1、 S0S9-初始状态,2、 S10S19 -回零状态,3、 S20-S899 -工作状态,4、 S900S999-报警状态。
18、二、 状态转移图:对逻辑要求进行分析,将不同的工作步骤划分为不同的状态,根据工艺流程决定各状态之间的流向,用一个图来表示,就称之为“状态转移图”。状态转移图是顺控指令编程的根本,一般开始是以M8002(初始脉冲),将信号引入初始状态S0,再以启动按钮进入工作状态。例如:交通灯的控制 逻辑要求为:125秒 2630秒 3135秒 3660秒 东西方向: 绿灯ON 黄灯ON 红灯ON 黄灯ON 红灯OFF 绿灯OFF 南北方向:绿灯OFF 黄灯ON 红灯OFF 黄灯ON 红灯ON 绿灯ON根据交通灯的控制逻辑可见,是以60秒为一个周期,一个周期内有4种不同的工作状态,是以将S20、S21、S22、
19、S23四个状态表示,第一步:分析逻辑要求,画出I/O分配表:输入 输出 启动 停止 东西方向:红灯 黄灯 绿灯 南北方向 红灯 黄灯 绿灯 SB0 SB1 Y0 Y1 Y2 Y3 Y4 Y5 X0 X1第二步:画出PLC接线图:由此得出状态转移图如下:说明:ZRST指令为批复位指令,可以对同一元件(Y、M、S、T、C)进行复位,下标由小到大。三、 步进顺控指令STL及步进返回指令RETSTL又叫步进节点,输入方法是,STL SXX回车(其中:XX表示工作状态号),转入该指令的条件是必须先驱动该状态元件,如:SET S20。RET指令可以在每个状态加一步返回,一般只是在最后一个状态才加该指令,其
20、余可以不加。STL指令后相当于开辟了一条新母线,但和最左边的母线不同,它可以直接驱动线圈,不需要触点隔开。转入下一状态后,上一状态自然失电。状态转移图直接可输入,但是没有输梯形图方便,因为输入下一个状态时上一个状态回从银屏消失,不便检查程序的对错,是以一般输入梯形图较为方便,故应该掌握将状态转移图转化为梯形图的技巧。如上述状态转移图对应梯形图如下:四、 顺控指令的循环与跳转:循环即是由状态标号由小到大,跳转即是由由小标号跨过若干个标号直接到大标号。如上述红绿灯状态转移图中由S23到S20即是循环。回到初始状态时是单循环,回到工作状态时是自动循环或多周循环,状态相连由上自下为顺序执行。五、 顺控
21、指令的分支与合并:分支分为选择性分支和并行性分支,选择性分支每次只能够有一个转移条件满足,即任意时刻只能执行一个分支,理论上条件性分支路数不受限制,可以为无穷多条,而并行性分支是多条支路同时执行,所以条数受限制,最多为8条;合并时选择性分支可以在各条支路执行完合到同一个状态,称之为合并,也可以不合并,要看逻辑要求决定,而并行性分支的合并必须等各支路全部完成后才能合并,为此,必须将各个支路最后一个状态的步进节点全部串联起来才能转入下一状态。1、 选择性分支与合并实例:某3盏霓虹灯控制要求如下:(1)、按下X0,要求Y0、Y1、Y2驱动的霓虹灯按照间隔一秒依次点亮,全亮后一起闪烁3次(亮、灭均为0
22、.5秒),然后重复循环;(2)、按下X1后,Y0、亮0.5秒后熄灭,然后点亮Y1、0.5秒,Y1灭后自动点亮Y2时长0.5秒,Y2熄灭后再重新点亮Y0,依此循环;(3)、按下X2时,不管在何种状态运行都立即停止。试设计PLC程序。解:显然,前面一条支路无法实现两种这样的逻辑,而两种运行逻辑不是同时进行,而是有选择性的进行,故必须采用选择性分支来进行设计。鉴于I/O均已经知道,故可直接进行状态转移图的设计。梯形图自己转换,注意,总停一般放在最前面,选择性分支归为S0处理。如:所示。2、 并行性分支与合并实例:用一个PLC控制两台5相步进电动机,一台正转,一台反转,均工作100圈后停止1分钟,然后
23、重复循环;试利用PLC并行性分支设计程序。解:第一步:I/O分配输入 输出SB0 SB1 第一台 第二台X0 X1 A B C D E A B C D E启动 停止 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y10 Y11第二步:画出PLC接线图(略);第三步:设计状态转移图:转化为梯形图时应注意分支和合并的转化,如上图的分支与合并的梯形图:本章小结:本章仅增加了STL和RET 两条指令,但是却开创了编程的新思路,使得编程逻辑清晰,便于检查错误,对于复杂的控制要求容易设计出梯形图,尤其方便循环和分支的控制。其中同时多种状态同时需要得电需采用并行性分支,有条件的多种工作方式、每次只要一种状
24、态得电的采用选择性分支。 功能指令一、 功能指令简介:1、 学习功能指令的必要性: 前面所讲解的指令统称为基本指令,已经可以基本满足开关量的控制,但是,我们工业控制领域的输入信号不单是开关量,还有模拟量、数字量,而这些物理量无法用基本指令来实现,故为了拓宽PLC的应用范围和领域,从单片机语言中引入了许多功能指令,大大地加强了PLC的应用范围,也给编程带来许多方便。2、 功能指令格式: 功能指令格式与基本指令不同,它由助记符、操作元件和操作数组合而成(有的没有操作数),其中,助记符沿用单片机的助记符,主要以英文缩写为前提;操作元件则用PLC的输入量和内部软元件,操作数即元件的范围,操作数分源操作
25、数(S)和目标操作数(D),可以理解为数据来源(源S),要到哪里去(目标D)?源操作数不止一个时,用下标区分,如S1、S2,同理,目标操作数不止一个时,用D1、D2、D3等区分,其他操作数用n和m表示,它们常用来表示常数K和H,当这样的操作数不止一个时,用n1、n2和m1、m2等来表示。除少数功能指令外,大部分需要触点与左母线分开,而不能直接与左母线相接。3、 功能指令执行方式:功能指令有连续执行方式和脉冲执行方式两种,脉冲执行方式在助记符后面加“P”即可,功能指令可处理16位和32位数据,在助记符前面加”D”则表示处理的是32位(不是所有功能指令都可以);4、 功能指令的元件: 自身具备数值
26、的元件称为“字元件”,如:T、C、D,而自身不具备数据,只要开关量的元件称为“位元件”,如:X、Y、M、S,位元件必须组合构成数据,按照“4位一体”的原则进行组合,如K1M0表示从M3、M2、M1、M0共4位组合成为4位2进制数据(因为每个M只有0、1两个状态),K4X0则表示由X17-X0共16位构成16位2进制数据,位元件组成的数据以最低位为下标,共有多少为,则看K后面的数值乘以4决定。5、 功能指令类别: 按照功能指令的功能不同,可分为:程序流控制指令,数据传送与比较指令,算术运算指令、逻辑运算指令,循环移位指令、节点比较指令、时钟运算指令等等。二、 数据传送比较指令:数据传送比较指令包
27、括:MOV、SMOV、BMOV、FMOV、CMP、ZCP、CML、XCH、BCD、BIN等,其中最重要的是MOV指令和CMP、ZCP指令。1、 MOV传送指令: 该指令为16位数据传送指令,指令格式为:其中:S为源操作数(全部位元件和字元件数据、包括常数都可以作为原操作数据),而D为目标操作元件数据(常数和输入位元件X不能作为目标元件)。使用该指令时,不能直接与左母线相接,必须用触点隔开。上述梯形图的含义:X0接通后,每个扫描周期(连续执行方式)该指令执行一次,将常数K100(10进制)传送个数据寄存器D0中。而下列三种均为脉冲执行方式:如在MOV指令前加D则为32位数据传送指令,“D”的含义
28、即为“加倍”(double)的英文首写字母。如下面梯形图含义:为:将D0、D1共32位数据分别传送D10、D11中。2、 块传送指令BMOV: 指令格式:含义:将D0开始的10个数据传送到D10开始的单元中,其中源操作数可以是:KnX、KnY、KnM、KnS、T、C、D、及文件寄存器,目标操作数可以是:KnT、KnM、KnS、T、C、D。3、 多点传送指令FMOV: 指令格式:含义:在X1的下降沿来临时将常数K0送到从D0开始的10个单元中。其中:n512.目标为带线圈的内部软元件和D.4、 移位传送指令SMOV,该指令较少用,故不要求掌握。5、 数据大小比较指令CMP和区间比较指令ZCP:
29、指令格式:使用注意事项:1):S1、S2、S可取K、C、D及任意数据寄存器,D可取Y、M、S。2):使用ZCP时,S2的数值不能小于S1的数值。3):所有源数据都被看成为2进制。MOV指令和ZCP/CMP指令应用实例:例1:试用一个按钮分别启动三台电机,一个按钮停止三台电机,要求采用比较指令。解:例2、试用MOV指令循环显示09,要求间隔0.5秒,循环10次后自动停止。试设计PLC程序。解:思路:先要得出数字09对应的控制字,然后采用MOV传送指令送给输出继电器,由于需要循环、计数,是以以顺控指令优先。设数码管abcdefg分别接Y0Y6,则09对应控制字让下表所示:据上表可设计出状态转移图如
30、下:(对应梯形图自己转换)转换注意事项:1):总停止一般摆在梯形图最前面;2):最后一个状态要加RET(步进返回指令)。3):在输入RET、END指令前必须先转换,否则会显示梯形图错误(软件缺陷)三、数据交换指令XCH和数据变换指令BCD/BIN. 1、数据交换指令XCH: 1):指令格式: 2):使用注意事项: A:操作元件可取KnY、KnM、KnS、T、C、D、V、Z。 B:交换指令一般采用脉冲执行方式,否则在每个扫描周期都要交换一次; C:16位运算占5个程序步、32位运算占9个程序步。2、BCD变换指令:1):指令含义:将源元件中的2进制数据转换成BCD码送到目标元件中。2):指令格式
31、:3、 BIN变换指令:1):指令含义:将源元件中BCD数据转换成2进制数据送到目标元件中。2):指令格式:3):BIN、BCD指令使用注意事项: A:源操作元件可取KnX、KnY、KnM、KnS、T、C、D、V、Z;目标操作元件可取KnY、KnM、KnS、T、C、D、V、Z B:16位运算占5个程序步、32位运算占9个程序步。BCD/BIN指令应用实例:试用16位输出显示X0端脉冲统计数据(显示范围09999),要求采用10进制显示、并每隔一秒种更新一次,试设计PLC程序、并画出PLC接线图。解:思路:由于要求采用16位输出显示09999,是以每4位输出必须显示一位10进制数,显然不能采用数
32、字译码指令:SEGD(每个10进制数需要7个输出端),所以只能采用BIN指令将计数器统计的数据(09999)变换为BCD码,送PLC输出端,然后PLC输出端外接74LS147,将BCD码转换为abcdefg7段输出送数码管显示。由此得出PLC接线图如下:梯形图设计分析:由于要求一秒种更新一次,是以必须采用秒脉冲执行方式,即每秒钟发出一个脉冲,使输出更新,由此得出梯形图如下: 四、算术运算指令INC/DEC/SUB/ADD/MUL/DIV 1、加1指令INC与减1指令DEC 1):指令含义:每执行一次目标操作数自动加1或者减1。 2):指令格式: 3):使用注意事项: A:指令的操作数可取:Kn
33、Y、KnM、KnS、T、C、D、V、Z; B:当进行16位操作为3个程序步,进行32位操作时则占用5个程序步。 C:INC运算时,如数据为16位,则+32767再加1为-32768;32位+2147483647再加1变为-2147483648。如果执行DEC指令时,-32768减1变为+32767(16位数据),32位运算时-2147483648减1变为+2147483647,标志也不置位。2、加法指令ADD及减法指令SUB:1)、指令格式:2)、使用说明: A:S.、S2.可取所有数据类型,目标操作元件可取KnY、KnM、KnS、T、C、D、V、Z。 B):16位为7程序步指令,32位为13
34、个程序步。 C):数据为有符号的2进制,最高位为符号位(0为+,1为负)。 D):加、减法指令有3个标志:零标志(M8020)、借位标志(M8021)、进位标志(M8022)。3、乘法指令MUL和除法指令DIV1):注意:S.、S2.可取所有数据类型,目标操作元件可取KnY、KnM、KnS、T、C、D、V、Z。Z只能用于16位运算,32位运算时不可用。32位乘法只能得到低32位,高32位数据将丢失(如果用位元件做目标元件)。 最高位(积、商、余数)均为符号位。 2):指令格式: 3):编程实例: 某组(5人)PLC考试成绩存放在D2000D2004共5个单元中,试统计该组的总成绩(放到D201
35、0)及该科平均成绩(放到D2011)。试编写PLC程序。解:由于人数不多,所以不必采用循环指令,直接相加即可,注意,单科成绩肯定小于101,即使全部加起来也不会超出16位2进制的范围,也不能采用32位加法指令,因为单科成绩不可能超出16位2进制的数值范围。所以设计程序如下: 五、逻辑运算指令:WAND、WOR、NEG、WXOR 1、逻辑与指令:WAND:1):指令含义:将两个源操作数进行位与操作,并就结果送到目标元件中。2):指令格式:3):S1、S2可取所有数据类型,目标元件可取KnY、KnM、KnS、T、C、D、V、Z。 2、逻辑或指令:WOR 1):指令含义:将两个源操作数进行位或操作,
36、并就结果送到目标元件中。2):指令格式:3):S1、S2可取所有数据类型,目标元件可取KnY、KnM、KnS、T、C、D、V、Z。3、逻辑异或指令:WXOR1): 指令含义:将两个源操作数进行位异或操作,并就结果送到目标元件中。2):指令格式:3):S1、S2可取所有数据类型,目标元件可取KnY、KnM、KnS、T、C、D、V、Z。4、求补指令:NEG 1):指令含义:将指定的元件内容各位先求反,然后再加1,并将结果存入原来元件中。 2):指令格式:3):NEG指令只有目标操作数,可取KnY、KnM、KnS、T、C、D、V、Z。六、程序流控制指令:CJ、CALL与SRET、EI、DI、IRET
37、、FEND、WDT、FOR与NEXT.1、条件跳转指令:CJ 1):指令格式: 2):指令含义:当条件满足,程序指针跳至相应标号位置。 3):注意事项:CJ(P)为脉冲执行方式,指针标号P0P127,其中P63为END所在步数,不需要标记,标号输入:将光标移至左母线对应梯形图位置,直接输入即可,一个程序中一个标号只能出现一次,否则出错。2、子程序调用和子程序返回指令:CALL、SRET 1):子程序调用指令CALL的操作数为P0P127,子程序返回指令SRET无操作数,他们总是成对出现; 2):指令格式: 3):使用注意事项: A:转移标号不能重复,也不能与跳转标号相重复; B:子程序可嵌套使
38、用,但最多5重; C:子程序必须在FEND和END中间,否则出错。3、主程序结束指令FEND:FEND表示主程序结束,当程序中存在子程序或者中断开启时才有此指令,当程序执行到FEND时,PLC进行输入/输出处理,监视器刷新,完成后返回起始步。4、 中断允许指令EI、中断返回指令IRET、中断禁止指令DI:1):指令格式:2):说明:A:PLC通常禁止中断,由EI和DI组成中断范围,执行到此时如果中断源产生中断,则CPU暂停子程序转而执行中断服务程序,当遇到IRET时返回断点重新执行主程序;B:当M8050M8058为ON时,禁止执行相应的I0XXI8XX的中断,M8059为ON时,禁止所有计数
39、器中断;C:无需中断禁止,只需用EI指令,无需用DI指令;D:当执行一个中断程序时,如果中断程序中有EI和DI,则可实现二级中断嵌套;E:中断服务程序也必须写在FEND和END之间。5、监视定时器指令WDT: 其功能是对PLC的监视定时器进行刷新,当程序过长,程序扫描时间超过200ms时(一般都小于此值),如果不插入此指令,容易出错(报警停机); 使用WDT指令应注意:1):如果在FORNEXT指令中,执行时间可能超过监视器允许时间,可将WDT指令插入循环程序中;2):当与条件跳转指令CJ对应的指针标号在CJ指令之前时,就有可能连续反复跳步使他们之间的程序反复执行,从而使执行时间超时,这样可在
40、CJ指令与对应指令标号之间插入WDT指令。3)指令格式:6、循环指令FORNEXT1):含义:在程序运行时,位于FOENEXT之间的程序,反复执行n次,再继续执行后续程序。循环次数n=132767。(如果不在此区间,则当1处理)。2):指令格式:3):使用注意事项:A:FORNEXT必须成对使用;B:FX2N型PLC可以循环嵌套5层;C:在循环指令中使用CJ指令可跳出循环;D:FOR应该放在NEXT之前,NEXT应该放在FEND和END之前,否则出错。七、循环与移位指令ROR、ROL、RCR、RCL、SFTR、SFTL1、左、右循环移位指令:ROR、ROL1):指令含义:ROR表示对目标操作数
41、进行循环右(right)移位,ROL则表示对目标操作数进行循环左(left)移位;2):指令格式:3):注意事项:A:目标操作元件可取KnY、KnM、KnS、T、C、D、V、Z。B:目标元件中指定的位元件只有在K4(16位)和K8(32位)时有效;C:16位占5个程序步,32位占9个程序步。2、带进位的循环移位指令:RCR、RCL与上面指令不同的是进位标志(M8022)一起参与移位。3、位右移和位左移指令:SFTR、SFTL1):指令含义:只从一个方向移入,移出的不再保留。2):指令格式:3):梯形图说明:X10接通,将输入继电器内容(S。)移入M中,n1。表示总共参与移动的位数长度(M0M8
42、,共9位),n2.表示每次移入的位数长度(X2、X1、X0),其中X0表示移入的最低位,SFTR表示从高位移入,即第一次移入结果为:X2、X1、X0送到M8、M7、M6;M2、M1、M0则移出不要。而SFTL从低端移入,从低端左移(向高位移),其余S.D.n1.n2.的含义一样。4):使用注意事项:A:源操作数可取X、Y、M、S,目标操作数可取Y、M、S。B:只有16位操作,占9个程序步;C:一般n1n21024。4、字左移和字右移指令:WSFR、WSFL 其含义与位右移和位左移指令:SFTR、SFTL一样,逻辑也一致,唯一不同的是:位移动指令对象只是只位元件,而字移动指令还包含字元件,源操作数可取KnX、KnY、KnM、KnS、T、C、D、V、Z。目标操作数可取KnY、KnM、KnS、T、C、D、V、Z。如下梯形图所示:梯形图说明:D中一共9个字(D8D0)参与移动,每次