第4章 S7-200基本指令系统及编程_第1页
第4章 S7-200基本指令系统及编程_第2页
第4章 S7-200基本指令系统及编程_第3页
第4章 S7-200基本指令系统及编程_第4页
第4章 S7-200基本指令系统及编程_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、绪论1绪论2绪论34.1 基本指令基本指令4.1.1 输入输出指令输入输出指令指令格式:梯形图指令格式:梯形图LAD及语句表及语句表STL格式如图所示格式如图所示l 取指令取指令LD: 用于与母线连接的常开触点。用于与母线连接的常开触点。l 取反指令取反指令LDN:用于与母线连接的常闭触点用于与母线连接的常闭触点。l 输出指令输出指令=: 也叫线圈驱动指令也叫线圈驱动指令。 绪论4例例1 1 输入输出指令的应用举例。 原理图原理图绪论5输入输出指令使用说明:输入输出指令使用说明: LDLD、LDNLDN、= =指令的操作数为:指令的操作数为:I I、Q Q、M M、SMSM、T T、C C、V

2、 V、S S、L L(位)。(位)。 LDLD、LDNLDN不止是用于网络块逻辑计算开始时与母线相连的常开和常闭不止是用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也要使用触点,在分支电路块的开始也要使用LDLD、LDNLDN指令。指令。 = =指令不能用于输入继电器指令不能用于输入继电器. . 并联的并联的 = = 指令可连续使用任意次。指令可连续使用任意次。 在同一程序中不能使用双线圈输出,即同一个元器件在同一程序中只在同一程序中不能使用双线圈输出,即同一个元器件在同一程序中只使用一次使用一次 = = 指令。指令。 绪论64.1.2 触点串联指令触点串联指令 例例2

3、 2 触点串联指令的应用举例。l 与指令:用于单个常开触点的串联连接。 指令格式:指令格式:A bitl 与反指令:用于单个常闭触点的串联连接。 指令格式:指令格式:AN bit绪论7 触点串联指令使用说明:触点串联指令使用说明:t A A、ANAN、指令的操作数为:、指令的操作数为:I I、Q Q、M M、SMSM、T T、C C、V V、S S、L L(位)。(位)。t A A、ANAN是单个触点串联连接指令,可连续使用。是单个触点串联连接指令,可连续使用。绪论84.1.3 触点并联指令触点并联指令例例3 3 触点并联指令的应用举例。l 或指令:用于单个常开触点的并联连接 指令格式:指令格

4、式:O bitl 或反指令:用于单个常闭触点的并联连接 指令格式:指令格式:ON bit绪论9触点并联指令使用说明:触点并联指令使用说明:t O O、ONON指令的操作数为:指令的操作数为:I I、Q Q、M M、SMSM、T T、C C、V V、S S和和L L。t 单个触点的单个触点的O O、ONON指令可连续使用指令可连续使用, ,紧接在紧接在LDLD,LDNLDN之后之后使用。使用。 绪论104.1.4 电路块的连接指令电路块的连接指令 l 或块指令:用于串联电路块的并联连接 指令格式:指令格式:OLD 两个以上触点串联形成的支路叫串联电路块两个以上触点串联形成的支路叫串联电路块l 与

5、块指令:用于并联电路块的串联连接 指令格式:指令格式:ALD 两条以上支路并联形成的电路块叫并联电路块两条以上支路并联形成的电路块叫并联电路块绪论11例例4 4触点块串并联使用说触点块串并联使用说明:明:t OLDOLD、ALDALD指令无操作数。指令无操作数。t 在块电路开始时要使用在块电路开始时要使用LDLD或或LDNLDN指令。指令。t 在每完成一次块电路的在每完成一次块电路的并联时要写上并联时要写上OLDOLD指令、每指令、每完成一次块电路的串联时完成一次块电路的串联时要写上要写上ALDALD指令。指令。绪论12 功能:又称取非指令。用于对某一位的逻辑值功能:又称取非指令。用于对某一位

6、的逻辑值 取反,无操作数。取反,无操作数。4.1.5 取反指令取反指令例例5 5 NOT指令的应用 绪论134.1.6 置位与复位指令置位与复位指令指令格式:指令格式:LAD及及STL格式如图所示格式如图所示 l 置位指令(Set):从bit开始的N位置1并保持。l 复位指令(Reset):从bit开始的N位清零并保持。 绪论14例例6 图为S/R指令的应用。绪论15S/RS/R指令使用说明:指令使用说明: S/RS/R指令的操作数为:指令的操作数为:I I、Q Q、M M、SMSM、T T、C C、V V、S S和和L L。 N N的常数范围为的常数范围为1 1255255,N N也可为:也

7、可为:VBVB、IBIB、QBQB、MBMB、SMBSMB、SBSB、LBLB、ACAC、常数、常数、* *VDVD、* *ACAC和和* *LDLD。一般情况下使用常数。一般情况下使用常数。 对位元件来说一旦被置位,就保持在通电状态,除非对它复对位元件来说一旦被置位,就保持在通电状态,除非对它复位;而一旦被复位就保持在断电状态,除非再对它置位。位;而一旦被复位就保持在断电状态,除非再对它置位。 S/RS/R指令可以互换次序使用,但由于指令可以互换次序使用,但由于PLCPLC采用扫描工作方式,采用扫描工作方式,所以写在后面的指令具有优先权。所以写在后面的指令具有优先权。 如果对计数器和定时器复

8、位,则计数器和定时器的当前值被如果对计数器和定时器复位,则计数器和定时器的当前值被清零。清零。绪论164.1.7 边沿脉冲指令边沿脉冲指令指令格式:指令格式:LAD及及STL格式如图所示格式如图所示 l上升沿脉冲指令:指某一位操作数的状态由上升沿脉冲指令:指某一位操作数的状态由0 0变为变为1 1的边沿过的边沿过程,可产生一个扫描周期宽度的脉冲。这个脉冲可以用来启程,可产生一个扫描周期宽度的脉冲。这个脉冲可以用来启动一个控制程序、启动一个运算过程、结束一个控制等等。动一个控制程序、启动一个运算过程、结束一个控制等等。l下降沿脉冲指令:指某一位操作数的状态由下降沿脉冲指令:指某一位操作数的状态由

9、1 1变为变为0 0的边沿过的边沿过程,可产生程,可产生一个扫描周期宽度的一个扫描周期宽度的脉冲。这个脉冲可以像上升脉冲。这个脉冲可以像上升沿脉冲一样,用来启动一个控制程序、启动一个运算过程、沿脉冲一样,用来启动一个控制程序、启动一个运算过程、结束一个控制等等。结束一个控制等等。注意:边沿脉冲只存在一个扫描周期,接受这一脉冲控制的注意:边沿脉冲只存在一个扫描周期,接受这一脉冲控制的元件应写在这一脉冲出现的语句之后。元件应写在这一脉冲出现的语句之后。 边沿脉冲用于检测状态的变化(信号的出现和消失)边沿脉冲用于检测状态的变化(信号的出现和消失)绪论17例例7 图为边沿脉冲指令的应用 绪论184.1

10、.8 立即指令立即指令 指令格式:指令格式:LAD及及STL格式如图所示格式如图所示 立即置位/复位指令使用说明: N的范围为:1125 N的操作数同S/R指令 程序执行立即读输入指令时,只是立即读取物理输入点的值,而不改变输入映像寄存器的值。1.程序执行立即输出指令(=I),是将栈顶值立即输出到物理点,同时刷新输出映像寄存器的内容。绪论19例例8 图为立即指令的应用 必须指出:必须指出:立即立即I/O指令是直接访问物理输入输出点的,比一般指令访问指令是直接访问物理输入输出点的,比一般指令访问输入输出映像寄存器占用输入输出映像寄存器占用CPU的时间要长,因而不能盲目地使用立即指令,的时间要长,

11、因而不能盲目地使用立即指令,否则,会加长扫描周期的时间,反而对系统造成不利的影响。否则,会加长扫描周期的时间,反而对系统造成不利的影响。 绪论204.1.9 逻辑堆栈操作指令逻辑堆栈操作指令 堆栈是一组能够存储和取出数据的暂存单元,其特点是堆栈是一组能够存储和取出数据的暂存单元,其特点是“后进先出,后进先出,后进先出后进先出”;进栈时,新值放入栈顶,堆栈中原有的数据被串行下移一位,栈底值进栈时,新值放入栈顶,堆栈中原有的数据被串行下移一位,栈底值丢失;丢失;出栈时,栈顶值弹出,所有数据向上串行一位,栈底值补进随机数。出栈时,栈顶值弹出,所有数据向上串行一位,栈底值补进随机数。S7200 PLC

12、使用了一个使用了一个9层堆栈来处理所有逻辑操作,逻辑堆栈指令层堆栈来处理所有逻辑操作,逻辑堆栈指令主要用来完成对触点进行的复杂连接,配合主要用来完成对触点进行的复杂连接,配合ALD、OLD指令使用。指令使用。逻辑堆栈的栈顶,在位运算中兼做累加器。逻辑堆栈的栈顶,在位运算中兼做累加器。每执行一次每执行一次LD(或(或LDN)指令,自动进行)指令,自动进行1次进栈操作次进栈操作绪论211指令指令1)逻辑入栈指令)逻辑入栈指令 指令格式:指令格式:LPS功能:功能: 用于生成一条新的母线,用于生成一条新的母线,存储该指令处的运算结果。存储该指令处的运算结果。说明:说明: 逻辑入栈指令逻辑入栈指令LP

13、SLPS与逻辑出栈指令与逻辑出栈指令LPPLPP成对使用,成对使用,用于处理梯形图中分支结构程序,用于处理梯形图中分支结构程序,LPSLPS用于分支开始,用于分支开始,LPPLPP用于分支结束。用于分支结束。 执行执行LPSLPS指令是将栈顶值复制后压入堆栈,栈底值指令是将栈顶值复制后压入堆栈,栈底值压出后丢失。压出后丢失。绪论222)逻辑出栈指令)逻辑出栈指令 指令格式:指令格式:LPP功能:功能: 复位新母线,复位新母线,读出并清除由读出并清除由LPSLPS指令存储的运算结果指令存储的运算结果 。说明:说明: 逻辑出栈指令逻辑出栈指令LPPLPP是将栈顶值弹出是将栈顶值弹出1 1级,原第级

14、,原第2 2级的级的值变为新的栈顶值。值变为新的栈顶值。绪论233)逻辑读栈指令)逻辑读栈指令 指令格式:指令格式:LRD功能:功能: 开始右侧的第一个从逻辑块编程,开始右侧的第一个从逻辑块编程,读出由读出由LPSLPS指令存指令存储的运算结果。储的运算结果。说明:说明: 逻辑读栈指令是将逻辑读栈指令是将S1S1级复制到栈顶,其他堆栈的级复制到栈顶,其他堆栈的值不变。值不变。绪论244)装载堆栈指令)装载堆栈指令 指令格式:指令格式:LDS n n的范围:的范围:08的整数的整数 功能:功能: 复制堆栈中的第复制堆栈中的第n n个值到栈顶。个值到栈顶。说明:说明: 原堆栈的值下移一位。原堆栈的

15、值下移一位。绪论252逻辑堆栈指令应用逻辑堆栈指令应用 LPSLRDLPP绪论26例例10 图为二层堆栈电路图为二层堆栈电路绪论27堆栈指令使用说明:堆栈指令使用说明:l LPS和LPP指令必须成对使用。l 堆栈层数应少于9层,也就是说LPS、LPP指令连续使用时应少于9次。l LPS、LRD、LPP指令无操作数。绪论284.1.10 定时器定时器1定时器的分类定时器的分类 1)按功能分类)按功能分类IN:表示输入的是一个位值逻辑信号,起着一个使能输入端的作用。Txxx:表示定时器的编号。PT:定时器的初值。 Txxx绪论29 操作数的取值范围操作数的取值范围 Txxx: WORD 常数(02

16、55);IN: BOOL 0,1;PT: INT VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC, *VD,*AC,*LD及常数。绪论30 功能功能 p 接通延时定时器(接通延时定时器(TONTON)l 输入端(输入端(ININ)接通时,定时器()接通时,定时器(TONTON)开始计时)开始计时l 当定时器的当前值等于或大于设定值(当定时器的当前值等于或大于设定值(PTPT)时,该定时器位被置位为)时,该定时器位被置位为“1”1”。l 当达到设定时间后,当达到设定时间后,TONTON继续计时,一直计到最大值继续计时,一直计到最大值3276732767。输入端(输入端(1N1N

17、)断开时,定时器)断开时,定时器TONTON复位,即当前值为复位,即当前值为“0”0”,定时器位为,定时器位为“0” 0” (Off)(Off)。例如:例如:TONTON指令使用指令使用T37T37(为(为100ms100ms分辨率的定时器),设定值为分辨率的定时器),设定值为5 5,则实际,则实际定时时间为定时时间为 T T 5 5100ms = 500ms100ms = 500ms(当前值)I1.0T37T37PT=5(位)LD I1.0TON T37,5I1.0PTIN5T37TON绪论31p 有记忆接通延时定时器(有记忆接通延时定时器(TONR)l 输入端(输入端(ININ)接通时,定

18、时器()接通时,定时器(TONRTONR)接通并开始计时,当定时器当前)接通并开始计时,当定时器当前值等于或大于设定值(值等于或大于设定值(PTPT)时,该定时器位被置位为)时,该定时器位被置位为“1”1”。定时器累计值。定时器累计值达到设定值后,继续计时,一直计到最大值达到设定值后,继续计时,一直计到最大值3276732767。l 输入端(输入端(ININ)断开时,定时器的当前值保持不变,定时器位不变。)断开时,定时器的当前值保持不变,定时器位不变。l 输入端(输入端(ININ)再次接通,定时器当前值从原保持值开始向往上继续计时。)再次接通,定时器当前值从原保持值开始向往上继续计时。因此可用

19、定时器累计多次输入信号的接通时间。因此可用定时器累计多次输入信号的接通时间。l 上电周期或首次扫描时,定时器(上电周期或首次扫描时,定时器(TONRTONR)的定时器位为)的定时器位为“0”0”,当前值保,当前值保持,可利用复位指令(持,可利用复位指令(R R)清除定时器()清除定时器(TONRTONR)的当前值。)的当前值。LD I1.1TONR T5,6PTIN6T5I1.1最大值=32767PT=6(位)(当前值)I1.1T5T5TONR绪论32p 断开延时定时器(断开延时定时器(TOFTOF)l 输入端(输入端(ININ)接通时,定时器位立即被置位为)接通时,定时器位立即被置位为“1”

20、1”并把当前值并把当前值设为设为“0”0”。l 输入端(输入端(ININ)断开时,定时器()断开时,定时器(TOFTOF)开始计时,当断开延时定)开始计时,当断开延时定时器(时器(TOFTOF)的计时当前值等于设定时间时,定时器位断开为)的计时当前值等于设定时间时,定时器位断开为“0”0”,并且停止计时。并且停止计时。TOFTOF指令必须用负跳变(由指令必须用负跳变(由onon到到offoff)的输入信号启)的输入信号启动计时。动计时。PT=8PTIN8T5I1.2TOFI1.2T5T5 (位)(当前值)LD I1.2TOF T5,8绪论332 2)按定时器分辨率和编号分类)按定时器分辨率和编

21、号分类 定时器类型定时器类型分辨率分辨率/ms最大当前值最大当前值/s定时器编号定时器编号TONR132.767T0,T6410327.67T1T4,T65T681003276.7T5T31,T69T95TON,TOF132.767T32,T9610327.67T33T36,T97T1001003276.7T37T63,T101T255编号范围为(编号范围为(T0T255) 绪论34 定时器定时器 1ms分辩率定时器分辩率定时器l每隔每隔1ms刷新一次l在一个扫描周期中要刷新多次,而不和扫描周期同步。其当前值在每个周期内可能不一致。 10ms定时器定时器 由系统在每个扫描周期开始时自动刷新,当

22、前值在一个扫描周期内保持不变。 100ms定时器定时器 在定时器指令被执行时刷新。易造成计时失准,使用时要格外小心,一般仅用在每个扫描周期执行一次的程序中。 绪论35 正确使用正确使用 不会接通不会接通 ON一个一个扫描周期扫描周期 永远不会永远不会为为ONON 绪论362 2定时器的应用定时器的应用例例1: 绪论37例例2: 绪论38例例3:绪论39 100ms定时器只能用于每个扫描周期内同一定时器指令执行一次,且仅执行一次的场合。不宜用在子程序和中断程序中在主程序中不能重复在主程序中不能重复使用同一个使用同一个100ms的定的定时器号时器号结论结论绪论404.1.11 计数器计数器 对外部

23、的或由程序产生的计数脉冲进行计数对外部的或由程序产生的计数脉冲进行计数 计数器是累计其计数输入端的计数脉冲电平由低到计数器是累计其计数输入端的计数脉冲电平由低到高的次数高的次数1计数器的分类计数器的分类 增计数器(增计数器(CTUCTU)、增减计数器()、增减计数器(CTUDCTUD)、减计数()、减计数(CTDCTD) 绪论411) 指令格式:指令格式:计数器编号脉冲输入端复位端脉冲输入端预置值装载复位输入端 2) 操作数的取值范围操作数的取值范围 Cxxx:: WORD 常数。CU,CD,LD,R: BOOL 能流。PV: INT VW,IW,QW,MW,SW,SMW,LW,AIW,T,C

24、,AC, *VD,*AC,*LD及常数。 绪论42l当当CUCU端有一上升沿信号时,计数器作递增计数端有一上升沿信号时,计数器作递增计数l当计数器当前值等于或大于设定值(当计数器当前值等于或大于设定值(PVPV)时,该计数器位被置位。)时,该计数器位被置位。l当当R R端有效时,计数器被端有效时,计数器被复位,计数器位为复位,计数器位为0。l计数范围:计数范围: (032767)I0.2I0.3LD I0.2LD I0.3CTU C20,3CU CTUR3C20I0.2I0.3C20当前值C20计数器位PV绪论43l 在每一个在每一个CU输入端的上升沿递增计数输入端的上升沿递增计数l 在每一个

25、在每一个CD输入端的上升沿递减计数输入端的上升沿递减计数l 当当前值当当前值=预置值时,该计数器位被置位预置值时,该计数器位被置位l 当复位输入端(当复位输入端(R)有效时,计数器被复位有效时,计数器被复位 I1.0I1.15I1.2CU CTUDC30CDRPVLD I1.0LD I1.1LD I1.2CTUD C30,5 计数器在达到计数最大值计数器在达到计数最大值32767后,下一个后,下一个CU输入端上升沿将使计数值输入端上升沿将使计数值变为最小值(变为最小值(-32768) 在达到最小计数值(在达到最小计数值(-32768)后,下一个)后,下一个CD输入端上升沿将使计数值变输入端上升

26、沿将使计数值变为最大值(为最大值(32767) 当用复位指令(当用复位指令(R)复位计数器时,计数器位被复位,计数器位为复位计数器时,计数器位被复位,计数器位为0,并,并且当前值清零且当前值清零p 增增/ /减计数器减计数器(CTUDCTUD) 绪论44l 当装载输入端(当装载输入端(LD)有效时,计数器复位并把设定值(有效时,计数器复位并把设定值(PV)装入当前装入当前值寄存器(值寄存器(CV)中中l 当计数输入端(当计数输入端(CD)有一个上升沿信号时,计数器从设定值开始作递有一个上升沿信号时,计数器从设定值开始作递减计数减计数l 直至计数器当前值等于直至计数器当前值等于0时,停止计数,同

27、时计数器位被置位时,停止计数,同时计数器位被置位l 计数范围:(计数范围:(032767)l 减计数器指令无复位端减计数器指令无复位端I1.3I1.44CD CTDLDPVC40LD I1.3LD I1.4CTD C40,4当当I1.4=1:C40=0, PVCV;当前值当前值=0,C40=1;注意:在一个程序中,同一计数器号不要重复使用!n 减计数器(减计数器(CTD)指令)指令 绪论452 2计数器的应用计数器的应用 例例1:绪论46例例2:绪论47例例3:实例见书实例见书P104P104页页绪论484.1.12 4.1.12 比较指令比较指令 比较指令关系符:比较指令关系符: IN1=I

28、N2、 IN1=IN2、 IN1=IN2、 IN1IN2、 IN1IN2、 IN1IN2、 “”表示不等于。表示不等于。两个操作数(两个操作数(IN1、IN2)按指定的比较关系作比较)按指定的比较关系作比较 操作数的数据类型可分:操作数的数据类型可分: 字节比较(无符号)字节比较(无符号) 整数比较整数比较 双字整数比较双字整数比较 实数比较实数比较绪论49 类型 字节比较 整数比较 实数比较 双字整数比较LADSLTLDB= IN1,IN2AB= IN1,IN2OB= IN1,IN2LDB IN1,IN2AB IN1,IN2OB IN1,IN2LDB= IN1,IN2AB= IN1,IN2O

29、B IN1,IN2AB IN1,IN2OB IN1,IN2LDB= IN1,IN2AB= IN1,IN2OB= IN1,IN2LDB IN1,IN2AB IN1,IN2OB IN1,IN2LDW= IN1,IN2AW= IN1,IN2OW= IN1,IN2LDW IN1,IN2AW IN1,IN2OW IN1,IN2LDW= IN1,IN2AW= IN1,IN2OW IN1,IN2AW IN1,IN2OW IN1,IN2LDW= IN1,IN2AW= IN1,IN2OW= IN1,IN2LDW IN1,IN2AW IN1,IN2OW IN1,IN2LDR= IN1,IN2AR= IN1,IN2

30、OR= IN1,IN2LDr IN1,IN2AR IN1,IN2OR IN1,IN2LDR= IN1,IN2AR= IN1,IN2OR IN1,IN2AR IN1,IN2OR IN1,IN2LDR= IN1,IN2AR= IN1,IN2OR= IN1,IN2LDR IN1,IN2AR IN1,IN2OR IN1,IN2LDD= IN1,IN2AD= IN1,IN2OD= IN1,IN2LDD IN1,IN2AD IN1,IN2OD IN1,IN2LDD= IN1,IN2AD= IN1,IN2OD IN1,IN2AD IN1,IN2OD IN1,IN2LDD= IN1,IN2AD= IN1,IN

31、2OD= IN1,IN2LDD IN1,IN2AD IN1,IN2OD IN1,IN2IN1和IN2寻址范围IB,QB,MB,SMB,VB,SB,LB,AC,*VD,*AC,*LD,常数IW,QW,MW, SMW,VW,SW,LW,AC*VD,*AC,*LD,常数ID,QD,MD,SMD,VD,SD,LD,AC,*VD,*AC,*LD,常数ID,QD,MD,SMD,VD,SD,LD,AC,*VD,*AC,*LD,常数注:梯形图中,只示出了注:梯形图中,只示出了“等于等于”的比较关系。的比较关系。绪论50说明:说明:比较指令用于两个相同数据类型的比较比较指令用于两个相同数据类型的比较在梯形图中,

32、比较指令是以动合触点的形式编程的,在梯形图中,比较指令是以动合触点的形式编程的,当比较的结果为真时,该动合触点闭合。当比较的结果为真时,该动合触点闭合。在语句表中,比较指令与基本逻辑指令在语句表中,比较指令与基本逻辑指令LD,A和和O进进行组合后编程,当比较结果为真时,行组合后编程,当比较结果为真时,PLC将栈顶置将栈顶置1。绪论51例:例:实例见书实例见书P107P107页页绪论524.2 运算指令运算指令 4.2.1 算术运算指令算术运算指令 1加法指令加法指令 l功能:功能:在在LAD中,中,IN1+IN2=OUT;执行加法操作时,将操作数;执行加法操作时,将操作数IN2与与OUT共用一

33、个地址单元,因而在共用一个地址单元,因而在STL中,中,IN1+OUT=OUT。l 数据类型:数据类型:整数相加时,输入输出均为整数相加时,输入输出均为INT;双整数相加时输入输出;双整数相加时输入输出均为均为DINT;实数相加时,输入输出均为;实数相加时,输入输出均为REAL 绪论532减法指令减法指令 l功能:功能:在在LAD中,中,IN1IN2=OUT;执行减法操作时,将操作数;执行减法操作时,将操作数IN1与与OUT共用一个地址单元,因而在共用一个地址单元,因而在STL中,中,OUTIN2=OUT。l 数据类型:数据类型:整数相减时,输入输出均为整数相减时,输入输出均为INT;双整数相

34、减时输入输出;双整数相减时输入输出均为均为DINT;实数相减时,输入输出均为;实数相减时,输入输出均为REAL。 绪论543乘法指令乘法指令 1 1)一般乘法指令)一般乘法指令 2 2)完全整数乘法指令)完全整数乘法指令 l功能:功能:在在LADLAD中,中,IN1IN1IN2=OUTIN2=OUT;执行乘法操作时,将操作数;执行乘法操作时,将操作数IN2IN2与与OUTOUT共用一个地址单元,因而在共用一个地址单元,因而在STLSTL中,中, IN1IN1OUT=OUTOUT=OUT。l 数据类型:数据类型:整数相乘时,输入输出均为整数相乘时,输入输出均为INTINT;双整数相乘时输入;双整

35、数相乘时输入输出均为输出均为DINTDINT;实数相乘时,输入输出均为;实数相乘时,输入输出均为REALREAL。 l功能:功能:将两个单字长(将两个单字长(16位)的符号整数相乘,产生一个位)的符号整数相乘,产生一个32位双位双整数结果整数结果OUT,32位结果存储单元的低位结果存储单元的低16位运算前用于存放被乘数。位运算前用于存放被乘数。在在LAD中,中,IN1IN2=OUT;在在STL中,中, IN1OUT=OUT。l 数据类型:数据类型:输入为输入为INT,输出为,输出为DINT。 绪论55 加法、减法、乘法指令影响的特殊存储器位:加法、减法、乘法指令影响的特殊存储器位:SM1.0(

36、零)、(零)、SM1.1(溢出)、(溢出)、SM1.2(负)。(负)。 绪论563除法指令除法指令 1 1)一般除法指令)一般除法指令 2 2)完全整数除法指令)完全整数除法指令 l功能:功能:在在LAD中,中,IN1/IN2=OUT;在;在STL中,中, OUT/ IN2=OUT。不保留余数。不保留余数。l 数据类型:数据类型:整数相除时,输入输出均为整数相除时,输入输出均为INT;双整数相除时输;双整数相除时输入输出均为入输出均为DINT;实数相除时,输入输出均为;实数相除时,输入输出均为REAL。 l功能:功能:将两个将两个16位的符号整数相除,产生一个位的符号整数相除,产生一个32位结

37、果,其中位结果,其中低低16位为商,高位为商,高16位为余数。位为余数。32位结果低位结果低16位运算前被兼用存放位运算前被兼用存放被除数。在被除数。在LAD中,中,IN1/IN2=OUT;在;在STL中,中,OUT/ IN2=OUT。l 数据类型:数据类型:输入为输入为INT,输出为,输出为DINT。 绪论57 除法指令影响的特殊存储器位:除法指令影响的特殊存储器位:SM1.0(零)、(零)、SM1.1(溢出)、(溢出)、SM1.2(负)、(负)、SM1.3(除数为(除数为0)。注意:注意:对于算术运算,如对于算术运算,如OUT和输入不是共用同一地址单元,在和输入不是共用同一地址单元,在ST

38、L中,先用传送指令将中,先用传送指令将IN1传送到传送到OUT,然后再执行运算指令。,然后再执行运算指令。 绪论58例例 若若VW10=2000,VW12=150,则,则执行完该段程序后,执行完该段程序后,各存储单元的数值为:各存储单元的数值为:VW16=2150,VW18=1850,VD20=300000,VW24=13,VW30=50。绪论594.2.2 加加1和减和减1指令指令 1加加1指令指令 l功能:功能:在在LAD中,中,IN1+1=OUT;在;在STL中,中, OUT+1=OUT,即,即IN和和OUT使用同一个存储单元。使用同一个存储单元。l 数据类型:数据类型:字节增字节增1指

39、令输入输出均为字节,字增指令输入输出均为字节,字增1指令输入输指令输入输出均为出均为INT,双字增,双字增1指令输入输出均为指令输入输出均为DINT。 绪论602减减1指令指令 l功能:功能:在在LAD中,中,IN11=OUT;在;在STL中,中, OUT1=OUT,即即IN和和OUT使用同一个存储单元。使用同一个存储单元。l 数据类型:数据类型:字节减字节减1指令输入输出均为字节,字减指令输入输出均为字节,字减1指令输入输指令输入输出均为出均为INT,双字减,双字减1指令输入输出均为指令输入输出均为DINT。 绪论61例例绪论624.2.3 逻辑运算指令逻辑运算指令 1逻辑与指令逻辑与指令

40、l功能:功能:把两个一个字节(字或双字)长的输入逻辑数按位相与,把两个一个字节(字或双字)长的输入逻辑数按位相与,得到一个字节(字或双字)的逻辑数并输出到得到一个字节(字或双字)的逻辑数并输出到OUT。在。在STL中中OUT和和IN2使用同一具存储单元。使用同一具存储单元。l 数据类型:数据类型:输入输出均为字节、字或双字。输入输出均为字节、字或双字。 绪论632逻辑或指令逻辑或指令 l功能:功能:把两个一个字节(字或双字)长的输入逻辑数按位相或,把两个一个字节(字或双字)长的输入逻辑数按位相或,得到一个字节(字或双字)的逻辑数并输出到得到一个字节(字或双字)的逻辑数并输出到OUT。在。在ST

41、L中中OUT和和IN2使用同一具存储单元。使用同一具存储单元。l 数据类型:数据类型:输入输出均为字节、字或双字。输入输出均为字节、字或双字。 绪论643逻辑异或指令逻辑异或指令 l功能:功能:把两个一个字节(字或双字)长的输入逻辑数按位相把两个一个字节(字或双字)长的输入逻辑数按位相异或,得到一个字节(字或双字)的逻辑数并输出到异或,得到一个字节(字或双字)的逻辑数并输出到OUT。在在STL中中OUT和和IN2使用同一具存储单元。使用同一具存储单元。l 数据类型:数据类型:输入输出均为字节、字或双字。输入输出均为字节、字或双字。 绪论654取反指令取反指令 l功能:功能:把两个一个字节(字或

42、双字)长的输入逻辑数按位把两个一个字节(字或双字)长的输入逻辑数按位取反,得到一个字节(字或双字)的逻辑数并输出到取反,得到一个字节(字或双字)的逻辑数并输出到OUT。在在STL中中OUT和和IN使用同一具存储单元。使用同一具存储单元。l 数据类型:数据类型:输入输出均为字节、字或双字。输入输出均为字节、字或双字。 绪论66例例绪论674.3 传送指令传送指令 4.3.1 单一数据传送指令单一数据传送指令 l 功能:功能:把输入端(把输入端(ININ)指定的数据传送到输出端()指定的数据传送到输出端(OUTOUT),), 传送过程中数值保持不变。传送过程中数值保持不变。l 数据类型:数据类型:

43、输入和输出有字节、字、双字和实数输入和输出有字节、字、双字和实数4 4种类型。种类型。 绪论684.3.2 数据块传送指令数据块传送指令 l功能:功能:把从输入端(把从输入端(ININ)指定地址的)指定地址的N N个连续字节、字、双字的内容个连续字节、字、双字的内容传送到从输出端(传送到从输出端(OUTOUT)指定地址开始的)指定地址开始的N N个连续字节、字、双字的存个连续字节、字、双字的存储单元中去储单元中去l 数据类型:数据类型:输入和输出有字节、字和双字输入和输出有字节、字和双字3 3种类型。种类型。 绪论694.3.3 字节立即传送指令字节立即传送指令 1 1传送字节立即读指令传送字

44、节立即读指令 l功能:功能:读物理输入读物理输入ININ,并将结果存入,并将结果存入OUTOUT中,但过程映像寄存器并不刷新。中,但过程映像寄存器并不刷新。l 数据类型:数据类型:输入为输入为IBIB,输出为字节。,输出为字节。 2 2传送字节立即写指令传送字节立即写指令 l功能:功能:从存储器从存储器ININ读取数据,写入物理输读取数据,写入物理输出出OUTOUT中,同时刷新相应的输出过程映像区。中,同时刷新相应的输出过程映像区。l 数据类型:数据类型:输入为字节,输出为输入为字节,输出为QBQB。 绪论70例例:数据传送类指令应用数据传送类指令应用 绪论714.3.4 移位与循环指令移位与

45、循环指令 1. 移位指令移位指令 l 功能:功能:左移位指令左移位指令 把输入端(把输入端(IN)指定的数据左移)指定的数据左移N位,结果存入位,结果存入OUT单元中。单元中。右移位指令右移位指令 把输入端(把输入端(IN)指定的数据右移)指定的数据右移N位,结果存入位,结果存入OUT单元中。单元中。l 数据类型:数据类型:输入和输出有字节、字和双字输入和输出有字节、字和双字3种类型;种类型;N为字节型数据。为字节型数据。 字节、字、双字字节、字、双字移位指令的实际移位指令的实际最大可移位数最大可移位数分别为分别为8、16、32 绪论722. 循环移位指令循环移位指令 l功能:功能:循环左移位

46、指令循环左移位指令 把输入端(把输入端(IN)指定的数据循环左移)指定的数据循环左移N位,结果存入位,结果存入OUT单元中单元中循环右移位指令循环右移位指令 把输入端(把输入端(IN)指定的数据循环右移)指定的数据循环右移N位,结果存入位,结果存入OUT单元中单元中l 数据类型:数据类型:输入和输出有字节、字和双字输入和输出有字节、字和双字3种类型;种类型;N为字节型数据。为字节型数据。 对于循环移位指令,如果所需移位的位数N大于或等于8、16、32,那么在执行循环移位前,先对N取以8、16、32为底的模,其结果07、015、031为实际移动位数。 绪论73例例绪论744.4 程序控制类指令程

47、序控制类指令 有条件结束指令(END)暂停指令(STOP)监视定时器复位指令(WDR)跳转与标号指令循环指令(For,Next)子程序调用、子程序返回指令 自自学学绪论75l l 功能:根据先前逻辑条件终止用户程序。功能:根据先前逻辑条件终止用户程序。 4.4.1 结束指令结束指令 当当I0.0=1I0.0=1时,结束主程序。时,结束主程序。使用说明:使用说明: 结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。件结束指令可用在无条件结束指令前结束主程序。 在调试程序时,在程序

48、的适当位置插入无条件结束指令可实现程序的分在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。段调试。 可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。条件结束指令,使程序结束。 STEP7STEP7Micro/WIN32Micro/WIN32软件自动在主程序结尾添加了无条件结束语句软件自动在主程序结尾添加了无条件结束语句(MENDMEND)。在编制程序时不需要用户自己再在程序未尾添加结束语句。)。在编制程序时不需要用户自己再在程序未尾添加结束语句。 绪论764.4.2 暂停

49、指令暂停指令 l l 功能:使功能:使PLCPLC从运行模式进入停止模式,立即终止程序的执行从运行模式进入停止模式,立即终止程序的执行SM0.5为为I/O错误继电器,当出现错误继电器,当出现I/O错误时,错误时,SM0.5=1,此时就会强迫,此时就会强迫CPU进入停止方式。进入停止方式。 STOPSTOP指令可用在主程序、子程序和中断程序中。指令可用在主程序、子程序和中断程序中。 如果在中断程序中执行如果在中断程序中执行STOPSTOP,则中断程序立即中止,并忽略所有,则中断程序立即中止,并忽略所有挂起的中断,继续扫描程序的剩余部分,在本次扫描周期结束后,完挂起的中断,继续扫描程序的剩余部分,在本次扫描周期结束后,完成将主机从成将主机从RUNRUN到到STOPSTOP的切换。的切换。 绪论774.4.3 子程序子程序 S7-200 PLCS7-200 PLC程序主要分为三大类:程序主要分为三大类:主程序(主程序(OB1OB1)、子程序()、子程序(SBR_N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论