版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章第五章 主要内容 vS7-200PLC编程的基本概念 vS7-200PLC基本指令及编程方法 vS7-200PLC功能指令及编程方法 第三节第三节 S7-200 PLC功能指令及编程方法功能指令及编程方法 是指令系统中应用于复杂控制的指令,是指令系统中应用于复杂控制的指令, 它的它的内涵内涵是指令需要完成何种功能,其是指令需要完成何种功能,其实质实质是是 一些功能不同的子程序。一些功能不同的子程序。 v 与基本指令类似,功能指令也有梯形图及指与基本指令类似,功能指令也有梯形图及指 令表等表达形式。它的梯形图符号多为令表等表达形式。它的梯形图符号多为功能框功能框。 功能指令的表达形式及使用
2、要素功能指令的表达形式及使用要素 1.功能框及指令的标识符功能框及指令的标识符 v标识符一般由两个部分组标识符一般由两个部分组 成,前部为成,前部为指令的助记符指令的助记符, 后部为后部为参与运算的操作数参与运算的操作数 的数据类型的数据类型。 数据数据 类型类型 内内 容容 B 8 bit 字节型字节型 W 16 bit 无符号整数型无符号整数型 I16 bit 有符号整数型有符号整数型 DW32 bit 无符号双整数型无符号双整数型 DI32 bit 有符号双整数型有符号双整数型 R32 bit 有符号实数型有符号实数型 功能指令的表达形式及使用要素功能指令的表达形式及使用要素 2.语句表
3、达式语句表达式 v语句表达式一般也由两个部分组成,第一部分为语句表达式一般也由两个部分组成,第一部分为指令的指令的 助记符助记符(大部分与功能框中指令标识符相同),第二部(大部分与功能框中指令标识符相同),第二部 分为分为操作数或地址操作数或地址(也有无数据的功能指令语句)。(也有无数据的功能指令语句)。 vMOVB VB100,VB400 功能指令的表达形式及使用要素功能指令的表达形式及使用要素 3.操作数类型及长度操作数类型及长度 v操作数分为源操作数、目标操作数及其他操作数。操作数分为源操作数、目标操作数及其他操作数。 源操作数源操作数是指令执行后是指令执行后不改变不改变其内容的操作数;
4、其内容的操作数; 目标操作数目标操作数是执行后是执行后改变改变其内容的操作数;其内容的操作数; v有时源操作数与目标操作数也有时源操作数与目标操作数也可使用同一单元可使用同一单元。 vMOVB VB100,VB400 源操 作数 源操 作数目标 操作数 目标 操作数 功能指令的表达形式及使用要素功能指令的表达形式及使用要素 3.操作数类型及长度操作数类型及长度(续续) v操作数的类型及长度必须与指令相配合操作数的类型及长度必须与指令相配合。 v操作数的类型操作数的类型:BYTE、WORD、INT、DWORD 、DINT、 REAL v操作数的长度有:操作数的长度有:8位(位( B )、)、16
5、位(位(W、I)、)、32位位 (DW、DI、R) v操作数的的有效存储区域:操作数的的有效存储区域:I、Q、V、M. vMOVB VB100,VB400 操作数的有效存储操作数的有效存储 区和数据长度区和数据长度 功能指令的表达形式及使用要素功能指令的表达形式及使用要素 4.指令的执行条件及执行形式指令的执行条件及执行形式 v在梯形图的功能框中,在梯形图的功能框中,EN表示指令的执行条件,一般为编表示指令的执行条件,一般为编 程软元件触点的组合。程软元件触点的组合。 v连续执行连续执行:当:当EN前的执行条件成立时,该指令在每个扫描前的执行条件成立时,该指令在每个扫描 周期都会被执行一次。周
6、期都会被执行一次。 v脉冲执行脉冲执行:只在某一个扫描周期中有效。:只在某一个扫描周期中有效。 功能指令的表达形式及使用要素功能指令的表达形式及使用要素 5.指令功能及指令功能及ENO状态状态 v每条指令都有具体的功能。每条指令都有具体的功能。 vENO是是LAD的布尔输出。若的布尔输出。若EN有能流且指令功能被正常执有能流且指令功能被正常执 行,行,ENO=1,将能流传递给下一个元素;若指令执行出错,将能流传递给下一个元素;若指令执行出错, ENO=0。 功能指令的表达形式及使用要素功能指令的表达形式及使用要素 6.指令执行结果对特殊标志位的影响指令执行结果对特殊标志位的影响 v为了方便用户
7、更好地了解机内运行情况,并为控制及故障自为了方便用户更好地了解机内运行情况,并为控制及故障自 诊提供方便,诊提供方便,PLC中设立了许多特殊标志位(中设立了许多特殊标志位(SMx.x),如),如 溢出位、负值位等。溢出位、负值位等。 7.指令的机型适应范围指令的机型适应范围 v系列机型的功能指令往往并不是本系列机型中任一款都适用,系列机型的功能指令往往并不是本系列机型中任一款都适用, 不同的不同的CPU型号可适用的功能指令范围不尽相同。型号可适用的功能指令范围不尽相同。 S7-200PLC功能指令功能指令 数据处理类数据处理类 程序控制类程序控制类 特殊功能类特殊功能类 外部设备类外部设备类
8、(传送、数学运算、逻辑运算、变换等)(传送、数学运算、逻辑运算、变换等) (子程序、中断、跳转、循环等)(子程序、中断、跳转、循环等) (高速计数、脉冲输出、(高速计数、脉冲输出、PID、表功能等)、表功能等) (通信、输入(通信、输入/出设备指令等)出设备指令等) S7-200PLC功能指令功能指令 v传送指令传送指令 v数学运算指令数学运算指令 v逻辑运算指令逻辑运算指令 v数据转换指令数据转换指令 v表功能指令表功能指令 v程序控制指令程序控制指令 v跳转指令跳转指令 v中断指令中断指令 vPID回路指令回路指令 一、传送指令一、传送指令 数据传送指令 数据块传送指令 传送字节立即读、写
9、指令 数据传送指令数据传送指令 LAD STL MOVB IN,OUT MOVW IN,OUT MOVD IN,OUT MOVR IN,OUT v使能输入有效时,把输入端(使能输入有效时,把输入端(IN)指定的数据传送到输指定的数据传送到输 出端(出端(OUT),),传送过程中数据值保持不变。传送过程中数据值保持不变。 v按操作数的数据类型可分为字节传送(按操作数的数据类型可分为字节传送(MOVB) 、字传、字传 送(送(MOVW) 、双字传送(、双字传送(MOVD) 、实数传送、实数传送 (MOVR)指令。指令。 v数据类型应与指令标识符相匹配数据类型应与指令标识符相匹配 将变量存储器将变量
10、存储器VD100中内容送到中内容送到VD200中。中。 数据传送指令应用举例数据传送指令应用举例 二、数学运算指令二、数学运算指令 v 四则运算指令四则运算指令 v 数学函数指令数学函数指令 (一)四则运算指令(一)四则运算指令 v 加法指令加法指令 v 减法指令减法指令 v 乘法指令乘法指令 v 除法指令除法指令 加加/减法指令减法指令 LAD STL 功能功能 +I IN1,OUT -I IN2,OUT 整数加法指令整数加法指令 整数减法指令整数减法指令 +D IN1,OUT -D IN2,OUT 双整数加法指令双整数加法指令 双整数减法指令双整数减法指令 +R IN1,OUT -R IN
11、2,OUT 实数加法指令实数加法指令 实数减法指令实数减法指令 v加减法指令是对加减法指令是对有符号有符号数进行操作。数进行操作。 v影响特殊寄存器位:影响特殊寄存器位:SM1.0(零零) 、SM1.1(溢出溢出)、 SM1.2(负值负值) 16位有符位有符 号整数号整数INT 32位有符位有符 号整数号整数DINT 32位有符位有符 号实数号实数REAL 1.加法指令加法指令 v当当EN有效时,把两个输入端(有效时,把两个输入端(IN1,IN2)指定的数相指定的数相 加,结果送到输出端(加,结果送到输出端(OUT)指定的存储单元中。指定的存储单元中。 即:即: IN1+IN2=OUT (VW
12、100)+(VW200)=(VW300) 梯形图(梯形图(LAD)中中 1.加法指令加法指令 v如果如果梯形图中三个操作数地址各不相同梯形图中三个操作数地址各不相同,则与梯形图对,则与梯形图对 应的语句表必须使用传送指令,先将被加数应的语句表必须使用传送指令,先将被加数IN1IN1传送到传送到 OUT,OUT,再进行加法指令。再进行加法指令。 即:即:IN1OUT,IN2+OUT=OUT v结论:结论:IN1、IN2和和OUT操作数地址不同时,操作数地址不同时,STL将将 LAD的加法运算分别用两条指令来描述。本规矩适用于的加法运算分别用两条指令来描述。本规矩适用于 所有算术运算指令。所有算术
13、运算指令。 语句表(语句表(STL)中中 1.加法指令加法指令 v如果如果梯形图中梯形图中IN2=OUTIN2=OUT时时,则在语句表中实现如下操作:,则在语句表中实现如下操作: 即:即:IN1+OUT=OUT v结论:结论:IN2=OUT时,加法指令节省一条数据传送指令。时,加法指令节省一条数据传送指令。 语句表(语句表(STL)中中 2.减法指令减法指令 v当当EN有效时,把两个输入端(有效时,把两个输入端(IN1,IN2)指定的数相指定的数相 减,结果送到输出端(减,结果送到输出端(OUT)指定的存储单元中。指定的存储单元中。 即:即: IN1-IN2=OUT (VW100)-(VW20
14、0)=(VW300) 梯形图(梯形图(LAD)中中 2.减法指令减法指令 v如果如果梯形图中三个操作数地址各不相同梯形图中三个操作数地址各不相同,则与梯形图对,则与梯形图对 应的语句表必须使用传送指令,先将被减数应的语句表必须使用传送指令,先将被减数IN1IN1传送到传送到 OUT,OUT,再进行加法指令。再进行加法指令。 即:即:IN1OUT,OUT-IN2=OUT v结论:结论:IN1、IN2和和OUT操作数地址不同时,操作数地址不同时,STL将将 LAD的减法运算分别用两条指令来描述。本规矩适用于的减法运算分别用两条指令来描述。本规矩适用于 所有算术运算指令。所有算术运算指令。 语句表(
15、语句表(STL)中中 2.减法指令减法指令 v如果如果梯形图中梯形图中IN1=OUTIN1=OUT时时,则在语句表中实现如下操作:,则在语句表中实现如下操作: 即:即: OUT-IN2=OUT v结论:结论:IN1=OUT时,减法指令节省一条数据传送指令。时,减法指令节省一条数据传送指令。 语句表(语句表(STL)中中 乘乘/除法指令除法指令 LAD STL 功能功能 *I IN1,OUT /I IN2,OUT 整数乘法指令整数乘法指令 整数除法指令整数除法指令 *D IN1,OUT /D IN2,OUT 双整数乘法指令双整数乘法指令 双整数除法指令双整数除法指令 * R IN1,OUT /R
16、 IN2,OUT 实数乘法指令实数乘法指令 实数除法指令实数除法指令 MUL IN1,OUT DIV IN2,OUT 整数乘法整数乘法 双整数输出双整数输出 (完全整数乘法)(完全整数乘法) 整数除法整数除法 双整数输出双整数输出 (完全整数除法)(完全整数除法) v乘除法指令是对乘除法指令是对有符号有符号数进行操作。数进行操作。 v影响特殊寄存器位:影响特殊寄存器位:SM1.0(零零)、SM1.1(溢出溢出)、SM1.2(负值负值) 、SM1.3(被被0除除) 16位有符位有符 号整数号整数 32位有符位有符 号整数号整数 32位有符位有符 号实数号实数 16/32位有位有 符号整数符号整数
17、 3. 整数乘法双整数输出指令整数乘法双整数输出指令 v 操作数操作数IN2 与与OUT的低的低 16位用的是位用的是 同地址单元同地址单元 M U L _ I E N E N O I N 1O U T I N 2 M U L _ D I E N E N O I N 1 O U T I N 2 M U L E N E N O I N 1 O U T I N 2 M U L _ R E N E N O I N 1O U T I N 2 V W 1 0 0 V W 2 0 0 V W 2 0 0 V D 1 0 0V D 2 0 0 V D 2 0 0 V D 1 0 0 V D 2 0 0 V
18、D 2 0 0 * I I N 1 , O U T * D I N 1 , O U T * R I N 1 , O U T M U L I N 1 , O U T V W 1 0 0 V W 2 0 2 V D 2 0 0 1616bitbit有符有符 号整数号整数 32bit 的乘积的乘积 01531 VW202VW200 IN1OUT=OUT VD200 IN1(16bit) IN2(16bit) = OUT ( 32bit乘积乘积) D I V _ I E N E N O I N 1O U T I N 2 D I V _ D I E N E N O I N 1O U T I N 2 D
19、I V E N E N O I N 1O U T I N 2 D I V _ R E N E N O I N 1O U T I N 2 V W 3 0 0 V W 4 0 0 V W 3 0 0 V D 3 0 0 V D 4 0 0 V D 3 0 0 V D 4 0 0 V W 3 0 2 V D 3 0 0 V W 4 0 0 V D 3 0 0V D 3 0 0 / I I N 2 , O U T/ D I N 2 , O U T/ R I N 2 , O U TD I V I N 2 , O U T 4. 整数除法双整数输出指令整数除法双整数输出指令 v 操作数操作数IN1 与与OU
20、T的低的低 16位用的是位用的是 同地址单元同地址单元 1616bitbit有符有符 号整数号整数 32bit的的 结果结果 OUT/IN2= OUT IN1(16bit) IN2(16bit) = OUT (32bit结果结果) VD300 03115 VW300VW302 余数余数商商 四则运算指令举例四则运算指令举例 AC0 DIV VW120,VD200 /R VD130,VD400 I0.0 ADDI EN EN EN EN IN1 IN1 IN1 IN1 IN2 IN2 IN2 IN2 OUT OUT OUT OUT ENO ENO ENO ENO AC1 AC0AC1 VW102
21、 VD100 VW202 VD200 VW120 VD300VD400 VD130 MUL DIV DIVR LD I0.0 +I AC1,AC0 MUL AC1,VD100 MOVR VD300,VD400 IN1与与OUT 不是同一地不是同一地 址单元址单元 LD I0.0 /使能输入端 DIV VW10, VD100 /完全除法 / VW102/VW10=VD100 LD I0.1 /使能输入端 /I VW20, VW200 /整数除法 /VW200/VW20=VW200 例例2: DIV VW10, VD100; /I VW20, VW200, 两条指令的编两条指令的编 程及执行情况比
22、较如图所示。程及执行情况比较如图所示。 对于除法指令: 对于完全除法指令: LAD STL 功能功能 INCB OUT DECB OUT 字节加字节加1指令指令 字节减字节减1指令指令 INCW OUT DECW OUT 字加字加1指令指令 字减字减1指令指令 INCD OUT DECD OUT 双字加双字加1指令指令 双字减双字减1指令指令 v影响特殊寄存器位:影响特殊寄存器位:SM1.0(零零) 、SM1.1(溢出溢出) 、 SM1.2(负值负值) v若若LAD中中IN与与OUT共用共用1个单元地址,则语句表简化为个单元地址,则语句表简化为1条指令,条指令, 否则需要增加否则需要增加1条传
23、送指令。条传送指令。 5.加加1和减和减1指令指令 无符号数无符号数 16位位INT 32位位DINT 加加1和减和减1指令举例指令举例 食品加工厂对饮料生产线上的盒装饮料进行计数,每食品加工厂对饮料生产线上的盒装饮料进行计数,每24 盒为一箱,要求能记录生产的箱数。程序如图所示。盒为一箱,要求能记录生产的箱数。程序如图所示。 LD I0.0 /增脉冲输入端 LD C30 /复位输入端 /循环计数 CTU C30, +24 /增计数指令 /设定脉冲数为 24 LD C30 /装入计数器触点 /作为双字增的 /脉冲输入 INCD VD100 /双字增指令 / LAD STL 功能功能 ANDB
24、IN1,OUT ORB IN1,OUT XORB IN1,OUT 字节与指令字节与指令 字节或指令字节或指令 字节异或指令字节异或指令 ANDW IN1,OUT ORW IN1,OUT XORW IN1,OUT 字与指令字与指令 字或指令字或指令 字异或指令字异或指令 ANDD IN1,OUT ORD IN1,OUT XORD IN1,OUT 双字与指令双字与指令 双字或指令双字或指令 双字异或指令双字异或指令 INVB OUT INVW OUT INVD OUT 字节取反指令字节取反指令 字取反指令字取反指令 双字取反指令双字取反指令 三、逻辑运算指令三、逻辑运算指令 v逻辑运算指令的操作数
25、均为逻辑运算指令的操作数均为无符号数无符号数 v影响特殊寄存器位:影响特殊寄存器位:SM1.0(零零) v在梯形图中:在梯形图中: 与、或、异或指令的与、或、异或指令的IN2与与OUT共用共用1个单元个单元 地址,则语句表可简化为地址,则语句表可简化为1条指令,否则需要条指令,否则需要 增加增加1条传送指令条传送指令 按位取反指令的按位取反指令的IN与与OUT共用共用1个单元地址,个单元地址, 则语句表可简化为则语句表可简化为1条指令,否则需要增加条指令,否则需要增加1 条传送指令条传送指令 逻辑运算指令逻辑运算指令 五、数据转换指令五、数据转换指令 vBCD码与整数的转换码与整数的转换 vA
26、SCII码与十六进制数转换码与十六进制数转换 v整数、双字整数、实数转换整数、双字整数、实数转换ASCII码码 v双字整数与实数的转换双字整数与实数的转换 v双字整数与整数的转换双字整数与整数的转换 v字节与整数的转换字节与整数的转换 v译码、编码指令译码、编码指令 v段码(段码(SEG)指令指令 数据转换指令是指对数据转换指令是指对操作数的类型操作数的类型进行转换进行转换 数据与码之间类型转换数据与码之间类型转换 数据的类型转换数据的类型转换 码的类型转换码的类型转换 1BCD码与整数的转换码与整数的转换 BCD_I EN ENO IN OUT I_BCD EN ENO IN OUT BCD
27、I OUT IBCD OUT BCDBINBCD BIN BIN BCD 0999909999 BCD BIN 2双字整数与实数的转换双字整数与实数的转换 32bit 32bit DI_R EN ENO IN OUT ROUND EN ENO IN OUT TRUNC EN ENO IN OUT DTR IN,OUT ROUND IN,OUT TRUNC IN,OUT AC1VD100VD100VD200VD100VD300 DINT REAL REAL DINT REAL DINT +101 +101.0 256.54 257 256.54 256 有效的实有效的实 数数 有效的实有效的实
28、数数 3双字整数与整数的转换双字整数与整数的转换 DI_I EN ENO IN OUT I_DI EN ENO INOUT DTI IN,OUT ITD IN,OUT VD100 VD100VW200 VW200 有效的有效的 双字整数双字整数 进行符号扩展进行符号扩展 DINT INTINT DINT 符号扩展:符号扩展: ORD 16#FFFF_0000, VD100 整数转换为实数整数转换为实数 D I _ I E N E N O I N O U T I _ D I E N E N O I N O U T D T I I N ,O U T I T D I N ,O U T V D 1 0
29、 0 V D 1 0 0V W 2 0 0 V W 2 0 0 v ITD DTR vINT DINT REAL D I _ R E N E N O I N O U T R O U N D E N E N O I N O U T T R U N C E N E N O I N O U T D T R I N , O U T R O U N D I N , O U T T R U N C I N , O U T A C 1 V D 1 0 0 V D 1 0 0 V D 2 0 0 V D 1 0 0 V D 3 0 0 4字节与整数的转换字节与整数的转换 B_I EN ENO IN OUT I
30、_B EN ENO IN OUT BTI IN,OUT ITB IN,OUT VW200VW200VB100VB100 有效的整数有效的整数 转换指令编程举例 ROUND VD108,VD120 VD104,VD108 AC0 VD100 VD108 LD I0.0 ITD VW0,AC0 DTR AC0,VD100 MOVR VD100,VD108 *R IDI DIR MULR EN EN EN IN IN ENO ENO ENO OUT OUT OUT IN2 AC0 VD100 VD104 IN1 I0.0 VW0 VD120 EN IN ROUND ENO OUTVD108 IN2与
31、与 OUT不是不是 同一地址同一地址 转换指令编程举例转换指令编程举例 功能:模拟量控制程序中的数据类型转换。将模拟量输入功能:模拟量控制程序中的数据类型转换。将模拟量输入 端采样值由整数转换为双整数,然后由双整数转换为实数,端采样值由整数转换为双整数,然后由双整数转换为实数, 再除以一个比例因子得到再除以一个比例因子得到PLC可以处理的范围内值。可以处理的范围内值。 转换指令编程举例转换指令编程举例 功能:用数据类型转换指令实现将厘米转换为英寸。已知功能:用数据类型转换指令实现将厘米转换为英寸。已知1 英寸英寸=2.54厘米。厘米值存在厘米。厘米值存在C10中。中。 六、表功能指令六、表功能
32、指令 v填表、查表指令填表、查表指令 v先进先出、后进先出指令先进先出、后进先出指令 v存储器填充指令存储器填充指令 执行FILL指令后,VW400VW418的区域被清零。 用输入值(IN)填充从输出单元(OUT)开始的N个字的内容。 0 VW418 LD I1.2 VW400 FILL 0, VW400, 10 0 00 VW400VW402 ENENO I1.2FILL_N +0 10 IN N OUT 七、程序控制指令七、程序控制指令 v有条件结束指令(有条件结束指令(END) v暂停指令(暂停指令(STOP) v监视定时器复位指令(监视定时器复位指令(WDR) v跳转与标号指令跳转与标
33、号指令(JMP,LBL) v循环指令(循环指令(For, Next) v子程序调用、子程序返回指令子程序调用、子程序返回指令 v与与ENO指令指令 1.1.跳转与标号指令跳转与标号指令 指令指令LAD STL 功能功能 跳转指令跳转指令 JMP N跳转到标号(跳转到标号(N)处执行)处执行 标号指令标号指令 LBL N标号标号N v跳转指令:在跳转指令:在使能输入有效使能输入有效时,把程序的执行时,把程序的执行跳转到跳转到同一同一 程序指定的标号(程序指定的标号(N)处执行;使能输入无效时,程序顺序)处执行;使能输入无效时,程序顺序 执行。执行。 v标号指令与能流无关,标号标号指令与能流无关,
34、标号N:0255。 vJMP与与LBL(跳转的目标标号)需配合实现程序的跳转。(跳转的目标标号)需配合实现程序的跳转。 1.1.跳转与标号指令跳转与标号指令 跳转指令说明:跳转指令说明: v跳转指令及标号必须同一程序块中,如同一主程序、子程序、中断服跳转指令及标号必须同一程序块中,如同一主程序、子程序、中断服 务程序内。务程序内。 v执行跳转后,被跳过程序段中各元器件的状态各不相同:执行跳转后,被跳过程序段中各元器件的状态各不相同: Q Q、M M、S S、C C等元件的位保持跳转前状态;等元件的位保持跳转前状态;计数器计数器C C停止计数,当前值存停止计数,当前值存 储器保持跳转前的计数值;
35、储器保持跳转前的计数值; 定时器定时器T T刷新方式不同,工作状态不同。在跳转期间,分辨率刷新方式不同,工作状态不同。在跳转期间,分辨率1ms1ms和和 10ms10ms的定时器会一直保持跳转前的状态而继续工作;但的定时器会一直保持跳转前的状态而继续工作;但 100ms 100ms的定时的定时 器,跳转期间停止工作,但不会复位,存储器为跳转时的值。器,跳转期间停止工作,但不会复位,存储器为跳转时的值。 结论:跳转段里的定时器要慎用!结论:跳转段里的定时器要慎用! 程序实例程序实例 例例1: 程序实例程序实例 例例2:用增减计数用增减计数 器进行计数,如器进行计数,如 果当前值小于果当前值小于5
36、00500, 则程序按原顺序则程序按原顺序 执行,若当前值执行,若当前值 超过超过500500,则跳转,则跳转 到从标号到从标号1010开始开始 的程序执行。的程序执行。 程序实例程序实例 JMPJMP、LBLLBL指令在工业现场控制中,常用于工作方式的选择。指令在工业现场控制中,常用于工作方式的选择。 例例3 3:如有:如有3 3台电动机台电动机M1M1M3M3,具有两种起停工作方式:,具有两种起停工作方式: 1 1)手动操作方式:分别用每个电动机各自的起停按钮控制)手动操作方式:分别用每个电动机各自的起停按钮控制M1M1M3M3的起停的起停 状态。状态。 2 2)自动操作方式:按下起动按钮
37、,)自动操作方式:按下起动按钮,M1M1M3M3每隔每隔5s5s依次起动;按下停止按依次起动;按下停止按 钮,钮,M1M1M3M3同时停止。同时停止。 程序实例程序实例 例例2: 2.2.子程序调用指令、子程序返回指令子程序调用指令、子程序返回指令 指令指令LAD STL 功能功能 子程序调用子程序调用 CALL SBR_0调用子程序调用子程序SBR_0 子程序返回子程序返回 CRET子程序有条件返回子程序有条件返回 v可以在主程序、其他子程序或中断程序中调用子程序。调可以在主程序、其他子程序或中断程序中调用子程序。调 用子程序时将执行子程序中的指令,直至子程序结束,然用子程序时将执行子程序中
38、的指令,直至子程序结束,然 后返回调用它的程序中该子程序调用指令的下一条指令处。后返回调用它的程序中该子程序调用指令的下一条指令处。 v子程序可以嵌套调用,最多子程序可以嵌套调用,最多8层。层。 v在中断程序中调用的子程序不能再调用别的子程序。在中断程序中调用的子程序不能再调用别的子程序。 v子程序可以带参数,也可不带参数调用。子程序可以带参数,也可不带参数调用。 子程序调用指令子程序调用指令 子程序:优化程序结构,减少扫描时间子程序:优化程序结构,减少扫描时间 RET M5.3 SUBROUTINE 0 E N SBR_0 EN SM0.1 MAIN PROGRAM OB1 LD SM0.1
39、 CALL SBR0 LD 5.3 CRET 主程序主程序中中 把程序控制权把程序控制权 交给子程序交给子程序 子程序返回主程序指令子程序返回主程序指令 RET M5.3 SUBROUTINE 0 E N SBR_0 EN SM0.1 MAIN PROGRAM OB1 LD SM0.1 CALL SBR0 LD 5.3 CRET 子程序子程序 返回之处返回之处 满足条件,返满足条件,返 回主程序回主程序 ( ( CRETCRET指令指令) ) 无条件子程序返回指令(无条件子程序返回指令(RET) 有条件子程序返回指令(有条件子程序返回指令(CRET) Micro/WIN 32在每个 子 程 序
40、 尾 部 自 动 加 入 无 条 件 返回指令 RETRET 指令指令 逻辑堆栈 RET M5.3 SUBROUTINE 0 E N SBR_0 EN SM0.1 MAIN PROGRAM OB1 LD SM0.1 CALL SBR0 LD 5.3 CRET 子程序执行完毕,通过返回子程序执行完毕,通过返回 指令自动恢复逻辑堆栈原调指令自动恢复逻辑堆栈原调 用点的值,把控制权交还给用点的值,把控制权交还给 调用程序。调用程序。 子程序被调用时,子程序被调用时, 系统会保存当前系统会保存当前 的逻辑堆栈。保的逻辑堆栈。保 存后再置栈顶值存后再置栈顶值 为为1,堆栈的其,堆栈的其 他值为零,把控他
41、值为零,把控 制权交给被调用制权交给被调用 的子程序。的子程序。 带参数调用子程序带参数调用子程序 I 0 . 0 I 0 . 1 * A C 1 V D 2 0 0 S B R _ 0 E N i n 1 i n 2 i n 3 i n 4 i n o u t V B 1 0 I 1 . 0 & V B 1 0 0 o u t 1 L D I 0 . 0 = L 6 0 . 0 L D I 0 . 1 = L 6 3 . 7 L D L 6 0 . 0 C A L L S B R 0 , L 6 3 . 7 , V B 1 0 , I 1 . 0 , & V B 1 0 0 , * A C
42、1 , V D 2 0 0 八、中断指令八、中断指令 v中断指令中断指令 v中断的分类中断的分类 v中断优先级中断优先级 对特定的事件作快速响应对特定的事件作快速响应 LD SM0.1 ENI LD SM5.0 DTCH 0 LD M5.0 DISI ATCH INT4,0 INT_4 0 ATCH EN INT EVNT ENO DTCH EN EVNT ENO 0 SM0.1 M5.0 DISI ENI SM5.0 MAIN PROGRAM OB1 LD SM5.0 CRETI RETI INTERRUPT 4 SM5.0 处理后返处理后返 回原程序回原程序 中断:系统暂时中断中断:系统暂
43、时中断 现在正在执行的程序,现在正在执行的程序, 而转到中断服务程序而转到中断服务程序 去处理那些急需处理去处理那些急需处理 的事件的事件 随随 机机 性性 (一)中断指令(一)中断指令 指令指令LAD STL 功能功能 全局中断允许全局中断允许ENI 全局性地允许所有被连接全局性地允许所有被连接 的中断事件的中断事件 全局中断禁止全局中断禁止 DISI 全局性地禁止处理所有的全局性地禁止处理所有的 中断事件中断事件 中断连接中断连接ATCH INT, EVNT 建立某个中断事件建立某个中断事件 (EVNT)和某个中断程)和某个中断程 序(序(INT)之间的联系,)之间的联系, 并允许这个中断
44、事件并允许这个中断事件 中断分离中断分离DTCH EVNT 解除某个中断事件解除某个中断事件 (EVNT)和某个中断程)和某个中断程 序(序(INT)之间的联系,)之间的联系, 并禁止该中断事件并禁止该中断事件 中断程序返回中断程序返回 指令指令 CRETI 中断服务程序条件返回中断服务程序条件返回 1.1.全局中断允许、全局中断禁止指令全局中断允许、全局中断禁止指令 执行执行DISI指令指令 后,后,出现的中出现的中 断事件就进入断事件就进入 中断队伍排队中断队伍排队 等候,直到全等候,直到全 局中断允许指局中断允许指 令(令(ENI)重重 新允许中断。新允许中断。 LD SM0.1 ENI
45、 LD SM5.0 DTCH 0 LD M5.0 DISI ATCH INT4,0 INT_4 0 ATCH EN INT EVNT ENO DTCH EN EVNT ENO 0 SM0.1 M5.0 DISI ENI SM5.0 MAIN PROGRAM OB1 LD SM5.0 CRETI RETI INTERRUPT 4 SM5.0 全局地允许所全局地允许所 有被连接的中有被连接的中 断事件断事件 全局地禁止处理全局地禁止处理 所有中断事件所有中断事件 CPUCPU进入进入RUNRUN模式时自模式时自 动禁止了中断。在动禁止了中断。在RUNRUN 模式执行全局中断允许模式执行全局中断允许
46、 指令(指令(ENIENI)后,允许后,允许 所有中断。所有中断。 2.2.中断连接指令、中断分离指令中断连接指令、中断分离指令 LD SM0.1 ENI LD SM5.0 DTCH 0 LD M5.0 DISI ATCH INT4,0 INT_4 0 ATCH EN INT EVNT ENO DTCH EN EVNT ENO 0 SM0.1 M5.0 DISI ENI SM5.0 MAIN PROGRAM OB1 LD SM5.0 CRETI RETI INTERRUPT 4 SM5.0 用来建立某个中断事件用来建立某个中断事件 (EVNTEVNT)和某个中断程和某个中断程 序(序(INTI
47、NT)之间的联系。之间的联系。 并允许这个中断事件,该并允许这个中断事件,该 中断事件发生时执行相关中断事件发生时执行相关 的中断程序的中断程序 中断事件号中断事件号 事件号 中断描述 优先组 优先组中的 优先级 8 通信口0 :接收字符 0 9 通信口0 :发送信息完成 0 2 3 通信口0 :接收信息完成 0 2 4 通信口1 :接收信息完成 1 2 5 通信口1 :接收字符 1 2 6 通信口1 :发送信息完成 通信(最高) 1 1 9 P T O 0 完成脉冲数输出 0 2 0 P T O 1 完成脉冲数输出 1 0 1 0 . 0上升沿 2 2 1 0 . 1上升沿 3 4 1 0
48、. 2上升沿 4 6 1 0 . 3上升沿 5 1 1 0 . 0下降沿 6 3 1 0 . 1下降沿 7 5 1 0 . 2下降沿 8 7 1 0 . 3下降沿 9 1 2 H S C 0 C V= P V(当前值= 设定值) 1 0 2 7 H S C 0 输入方向改变 1 1 2 8 H S C 0 外部复位 1 2 1 3 H S C 1 C V= P V(当前值= 设定值) 1 3 1 4 H S C 1输入方向改变 1 4 1 5 H S C 1 外部复位 1 5 1 6 H S C 2 C V= P V(当前值= 设定值) 1 6 1 7 H S C 2 输入方向改变 1 7 1
49、 8 H S C 2 外部复位 1 8 3 2 H S C 3 C V= P V(当前值 = 设定值) 1 9 2 9 H S C 4 C V= P V(当前值 = 设定值) 2 0 3 0 H S C 4 输入方向改变 2 1 3 1 H S C 4 外部复位 2 2 3 3 H S C 5 C V= P V(当前值 = 设定值) I / O (中等) 2 3 1 0 定时中断0 0 1 1 定时中断1 1 2 1 定时器T 3 2 C T = P T中断 2 2 2 定时器T 9 6 C T = P T中断 定时(最低) 3 事件号 中断描述 优先组 优先组中的 优先级 8 通信口0 :接
50、收字符 0 9 通信口0 :发送信息完成 0 2 3 通信口0 :接收信息完成 0 2 4 通信口1 :接收信息完成 1 2 5 通信口1 :接收字符 1 2 6 通信口1 :发送信息完成 通信(最高) 1 1 9 P T O 0 完成脉冲数输出 0 2 0 P T O 1 完成脉冲数输出 1 0 1 0 . 0上升沿 2 2 1 0 . 1上升沿 3 4 1 0 . 2上升沿 4 6 1 0 . 3上升沿 5 1 1 0 . 0下降沿 6 3 1 0 . 1下降沿 7 5 1 0 . 2下降沿 8 7 1 0 . 3下降沿 9 1 2 H S C 0 C V = P V (当前值= 设定值)
51、 1 0 2 7 H S C 0 输入方向改变 1 1 2 8 H S C 0 外部复位 1 2 1 3 H S C 1 C V = P V (当前值= 设定值) 1 3 1 4 H S C 1输入方向改变 1 4 1 5 H S C 1 外部复位 1 5 1 6 H S C 2 C V = P V (当前值= 设定值) 1 6 1 7 H S C 2 输入方向改变 1 7 1 8 H S C 2 外部复位 1 8 3 2 H S C 3 C V = P V (当前值 = 设定值) 1 9 2 9 H S C 4 C V = P V (当前值 = 设定值) 2 0 3 0 H S C 4 输入
52、方向改变 2 1 3 1 H S C 4 外部复位 2 2 3 3 H S C 5 C V = P V (当前值 = 设定值) I / O (中等) 2 3 1 0 定时中断0 0 1 1 定时中断1 1 2 1 定时器T 3 2 C T = P T中断 2 2 2 定时器T 9 6 C T = P T中断 定时(最低) 3 中断事件中断事件 中断程序中断程序 多个中断多个中断 事件可调事件可调 用同一个用同一个 中断程序中断程序 LD SM0.1 ENI LD SM5.0 DTCH 0 LD M5.0 DISI ATCH INT4,0 INT_4 0 ATCH EN INT EVNT ENO
53、 DTCH EN EVNT ENO 0 SM0.1 M5.0 DISI ENI SM5.0 MAIN PROGRAM OB1 LD SM5.0 CRETI RETI INTERRUPT 4 SM5.0 一个中断事件不一个中断事件不 能同时与多个中能同时与多个中 断程序建立连接,断程序建立连接, 否则,系统默认否则,系统默认 执行这些中断程执行这些中断程 序中的最后一个。序中的最后一个。 3.3.中断分离指令(中断分离指令(DTCHDTCH) LD SM0.1 ENI LD SM5.0 DTCH 0 LD M5.0 DISI ATCH INT4,0 INT_4 0 ATCH EN INT EVN
54、T ENO DTCH EN EVNT ENO 0 SM0.1 M5.0 DISI ENI SM5.0 MAIN PROGRAM OB1 LD SM5.0 CRETI RETI INTERRUPT 4 SM5.0 截断某中断事截断某中断事 件和中断程序件和中断程序 之间的联系之间的联系 单独单独禁止某中禁止某中 断事件。断事件。 4. 4. 中断返回指令中断返回指令 LD SM0.1 ENI LD SM5.0 DTCH 0 LD M5.0 DISI ATCH INT4,0 INT_4 0 ATCH EN INT EVNT ENO DTCH EN EVNT ENO 0 SM0.1 M5.0 DIS
55、I ENI SM5.0 MAIN PROGRAM OB1 LD SM5.0 CRETI RETI INTERRUPT 4 SM5.0 有条件中断返回指令有条件中断返回指令 (CRETICRETI),),根据控根据控 制的条件从中断程序制的条件从中断程序 中返回到主程序中返回到主程序 中断程中断程 序入口序入口 编程软件自动编程软件自动 在中断程序结在中断程序结 尾加上无条件尾加上无条件 中断返回指令中断返回指令 (RETIRETI) 优化中断程序优化中断程序 中断处理提供了对特殊的内部或外部事中断处理提供了对特殊的内部或外部事 件的快速响应。件的快速响应。 v使其简短,减少中断程序的执行时间使
56、其简短,减少中断程序的执行时间 v在执行某特殊的任务后立即返回主程序,在执行某特殊的任务后立即返回主程序, 否则有可能引起主程序控制设备的异常否则有可能引起主程序控制设备的异常 操作。操作。 中断程序中中断程序中不能使用不能使用: v全局中断禁止指令全局中断禁止指令DISI v全局中断允许指令全局中断允许指令ENI v高速计数器指令高速计数器指令HDEF v顺序控制继电器指令顺序控制继电器指令LSCR v有条件结束指令有条件结束指令END。 (二)(二) 中断的分类中断的分类 v 通信端口中断通信端口中断 v I/O中断中断 v 时基中断时基中断 (定时中断定时中断和和定时器定时器T32/T9
57、6T32/T96中断中断) 1. 通信端口中断通信端口中断 v通过用户程序控制通过用户程序控制PLCPLC的的串行通信端口,通信串行通信端口,通信 端口的这种工作模式成为自由端口模式。端口的这种工作模式成为自由端口模式。 v在该模式下,发送消息完成、接收消息完成和在该模式下,发送消息完成、接收消息完成和 接收一个字符均可产生中断事件,利用接收中接收一个字符均可产生中断事件,利用接收中 断和发送中断可以简化程序对通信的控制。断和发送中断可以简化程序对通信的控制。 2. I/O 中断中断 vI/OI/O中断包括中断包括上升沿中断上升沿中断、下降沿中断下降沿中断、高速高速 计数器(计数器(HSCHSC)中断)中断和和脉冲列输出中断脉冲列输出中断。 vI0.0-I0.3I0.0-I0.3的上升沿或下降沿都可以产生中断的上升沿或下降沿都可以产生中断 vHSCHSC中断允许计数当前值等于预设值、与轴转中断允许计数当前值等于预设值、与轴转 动的方向对应的计数方向改变和计数器外部复动的方向对应的计数方向改变和计数器外部复 位等中断事件位等中断事件 vPTOPTO完成指定脉冲数输出时也可以产生中断完成指定脉冲数输出时也可以产生中断 3. 定时中断定时中断 v2 2个定时中断,执行一个周期性的操作个定时中断,执行一个周期性的操作 v周期增量:周期增量:1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030智慧办公产业市场现状和发展前景综合分析评估研究
- 2025-2030智慧农业行业市场现状及高效农业技术应用规划评估
- 2025-2030智慧农业系统行业市场技术应用产量前景产业规划分析报告
- 2025-2030智慧农业物联网应用市场供需分析及科技发展策略报告
- 2025-2030智慧农业无人机技术集成应用及市场发展趋势研究评估报告
- 2026年自动化仓储中的项目风险管理
- 2026年CAD中对象的编辑与修改技巧
- 医养综合服务中心建设项目可行性研究报告
- 隧道施工电力安装技术方案
- 装修施工期间的空气质量检测方案
- 2026年铜陵枞阳国有资本投资控股集团有限公司招聘6名考试参考试题及答案解析
- 初中宾语从句及练习题
- 2026年及未来5年市场数据中国建筑施工升降机行业市场调查研究及发展趋势预测报告
- 机械加工业安全作业行为规范培训
- 基金公司内部激励制度
- 全国工程机械维修工职业技能竞赛理论考试题库(含答案)
- 备考2024年中考数学专题突破(全国通用)专题1-3“12345”模型·选填压轴必备大招(共3种类型)(解析版)
- 部编版语文二年级下册第1单元核心素养教案
- 铁总建设201857号 中国铁路总公司 关于做好高速铁路开通达标评定工作的通知
- HEC-RAS初步教程课件
- 非物质文化遗产的分类
评论
0/150
提交评论