资源预览内容
第1页 / 共360页
第2页 / 共360页
第3页 / 共360页
第4页 / 共360页
第5页 / 共360页
第6页 / 共360页
第7页 / 共360页
第8页 / 共360页
第9页 / 共360页
第10页 / 共360页
亲,该文档总共360页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1.1第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统 返回总目录返回总目录返回总目录返回总目录 1.2第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2梯形图指令中的基本内容如下。梯形图指令中的基本内容如下。(1)左母线左母线梯形图左侧的粗竖线,它是为整个梯形图程序提供能量的源头。梯形图左侧的粗竖线,它是为整个梯形图程序提供能量的源头。(2)触点触点代表逻辑代表逻辑“输入输入”条件。如开关、按钮等闭合或打开动作,或者条件。如开关、按钮等闭合或打开动作,或者内部条件。内部条件。(3)线圈线圈代表逻辑代表逻辑“输出输出”结果。如灯的亮灭、电动机的启动停止,中间结果。如灯的亮灭、电动机的启动停止,中间继电器的动作,或者内部输出条件。继电器的动作,或者内部输出条件。(4)功能框功能框/指令盒指令盒代表附加指令。如定时器、计数器、功能指令或数学代表附加指令。如定时器、计数器、功能指令或数学运算指令等。运算指令等。梯形图编辑方式方便初学者使用,易于理解,可以建立与电气接线图类似梯形图编辑方式方便初学者使用,易于理解,可以建立与电气接线图类似的程序,而且全世界通用。可以使用指令表编辑器显示所有用梯形图编辑器编的程序,而且全世界通用。可以使用指令表编辑器显示所有用梯形图编辑器编写的程序。写的程序。2.指令表编辑器中指令的组成与使用指令表编辑器中指令的组成与使用如图如图7.4所示,在指令表编辑器中,程序也分为一个个的网络段,这样可所示,在指令表编辑器中,程序也分为一个个的网络段,这样可方便地与梯形图进行转换。当然也可以不分网络段,此时指令表程序不能转换。方便地与梯形图进行转换。当然也可以不分网络段,此时指令表程序不能转换。注释部分和梯形图编辑器中相同。注释部分和梯形图编辑器中相同。7.2 7.2 指令及其结构指令及其结构1.3第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3图图7.4指令表编辑器中指令的组成指令表编辑器中指令的组成指令表程序的基本构成为指令助记符指令表程序的基本构成为指令助记符+操作数。如操作数。如LDI0.0,LD为指令助记为指令助记符,表示具体需要完成的功能;符,表示具体需要完成的功能;I0.0为操作数,表示被操作的内容。指令表属为操作数,表示被操作的内容。指令表属于文本形式的编程语言,和汇编语言类似,可以解决梯形图指令不易解决的问于文本形式的编程语言,和汇编语言类似,可以解决梯形图指令不易解决的问题,适用于对题,适用于对PLC和逻辑编程的有经验程序员。和逻辑编程的有经验程序员。7.2 7.2 指令及其结构指令及其结构1.4第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.47.2.2寻址方式寻址方式PLC最大的特点是可以利用其内部软元件的逻辑组合代替由继电器盘实现最大的特点是可以利用其内部软元件的逻辑组合代替由继电器盘实现的硬件逻辑,软元件没有使用次数的限制,可以无限次使用。所谓软元件实际上的硬件逻辑,软元件没有使用次数的限制,可以无限次使用。所谓软元件实际上就是就是PLC内部的各存储单元,为方便编程使用,各存储单元根据功能的不同分配内部的各存储单元,为方便编程使用,各存储单元根据功能的不同分配了不同的名称,如输入过程映像寄存器了不同的名称,如输入过程映像寄存器(I)、输出过程映像寄存器、输出过程映像寄存器(Q)、变量寄存、变量寄存器器(V)等。每一个存储器单元都编有唯一的地址,通过这个地址,用户可以方便等。每一个存储器单元都编有唯一的地址,通过这个地址,用户可以方便地在程序中使用该存储单元进行数据存储或传输。地在程序中使用该存储单元进行数据存储或传输。一个完整的地址包括存储器标识符、字节地址及位地址。如一个完整的地址包括存储器标识符、字节地址及位地址。如I6.3,I表示输表示输入过程映像寄存器;入过程映像寄存器;6表示第表示第6个字节;个字节;3表示该字节中的第表示该字节中的第3位。字节与位地址位。字节与位地址之间用之间用“.”分隔。分隔。S7-200系列系列PLC可以使用直接寻址方式和间接寻址方式对数可以使用直接寻址方式和间接寻址方式对数据进行操作。据进行操作。1直接寻址方式直接寻址方式直接寻址是指在编程过程中直接使用各存储单元的地址编号存取数据的寻直接寻址是指在编程过程中直接使用各存储单元的地址编号存取数据的寻址方式。直接寻址方式可以对各存储器区进行位地址、字节地址、字地址、双字址方式。直接寻址方式可以对各存储器区进行位地址、字节地址、字地址、双字地址的数据操作。图地址的数据操作。图7.5以变量存储区以变量存储区(V)为例,介绍位地址、字节地址、字地址、为例,介绍位地址、字节地址、字地址、双字地址的表示方法。双字地址的表示方法。7.2 7.2 指令及其结构指令及其结构1.5第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.5以下具体介绍的各类存储单元中,前以下具体介绍的各类存储单元中,前7种的寻址方式可以参照图种的寻址方式可以参照图7.5中变量中变量存储区的寻址方式。下面就存储区的寻址方式。下面就S7-200系列系列PLC中可以直接寻址的各存储单元的功中可以直接寻址的各存储单元的功能进行说明能进行说明(名称后面括号中字母为寄存器功能标识名称后面括号中字母为寄存器功能标识)。(a)位地址位地址7.2 7.2 指令及其结构指令及其结构1.6第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.6(b)字节地址、字地址、双字地址字节地址、字地址、双字地址图图7.5变量存储区变量存储区(V)直接寻址的表示方法直接寻址的表示方法7.2 7.2 指令及其结构指令及其结构1.7第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.71)输入映像寄存器输入映像寄存器(I)输入映像寄存器输入映像寄存器(I)中的每一个位地址对应中的每一个位地址对应PLC的一个输入端子,用于存放的一个输入端子,用于存放外部传感器或开关元件发来的信号。在每个扫描周期的开始,外部传感器或开关元件发来的信号。在每个扫描周期的开始,PLC对所有输入对所有输入端子状态进行采样,并把采样结果送入输入映像寄存器端子状态进行采样,并把采样结果送入输入映像寄存器(I)。在一个扫描周期内,。在一个扫描周期内,程序执行只使用输入映像寄存器中的数据进行处理,而不论外部输入端子的状程序执行只使用输入映像寄存器中的数据进行处理,而不论外部输入端子的状态是什么。编程时要注意,输入映像寄存器只能反映外部信号的状态,而不能态是什么。编程时要注意,输入映像寄存器只能反映外部信号的状态,而不能由程序设置,也不能用于驱动负载。由程序设置,也不能用于驱动负载。2)输出映像寄存器输出映像寄存器(Q)输出映像寄存器中的每一个位地址对应输出映像寄存器中的每一个位地址对应PLC的一个输出端子,用于存放程的一个输出端子,用于存放程序执行后的所有输出结果,以控制外部负载的接通与断开。序执行后的所有输出结果,以控制外部负载的接通与断开。PLC在执行用户程在执行用户程序的过程中,并不把输出信号直接输出到输出端子,而是送到输出映像寄存器序的过程中,并不把输出信号直接输出到输出端子,而是送到输出映像寄存器(Q)中,在每个扫描周期的最后,才将输出映像寄存器中的数据统一送到输出端中,在每个扫描周期的最后,才将输出映像寄存器中的数据统一送到输出端子。子。3)变量存储器变量存储器(V)在程序处理过程或上下位机通信过程中,会产生大量的中间变量数据需要在程序处理过程或上下位机通信过程中,会产生大量的中间变量数据需要存储,存储,S7-200系列系列PLC专门提供了一个较大存储器区存储此类数据,即变量存专门提供了一个较大存储器区存储此类数据,即变量存储器。在变量存储器中也可存放与控制过程和任务相关的其他数据,应用比较储器。在变量存储器中也可存放与控制过程和任务相关的其他数据,应用比较灵活。灵活。7.2 7.2 指令及其结构指令及其结构1.8第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.84)内部标志位存储器内部标志位存储器(M)PLC进行逻辑控制时,除了输入映像寄存器和输出映像寄存器直接与外进行逻辑控制时,除了输入映像寄存器和输出映像寄存器直接与外部设备联系之外,还有一些内部状态标志或者输入端子与输出端子之间的逻部设备联系之外,还有一些内部状态标志或者输入端子与输出端子之间的逻辑关系需要中间单元进行存储和过渡,这些中间单元即内部标志位存储器。辑关系需要中间单元进行存储和过渡,这些中间单元即内部标志位存储器。内部标志位存储器只起中间状态暂存的作用,不能直接接收输入信号的控制,内部标志位存储器只起中间状态暂存的作用,不能直接接收输入信号的控制,也不能直接输出用于驱动外部设备,类似于继电盘控制系统中的中间继电器。也不能直接输出用于驱动外部设备,类似于继电盘控制系统中的中间继电器。5)特殊标志位存储器特殊标志位存储器(SM)特殊标志位存储器是特殊标志位存储器是PLC内部保留的一部分存储空间,用于保存内部保留的一部分存储空间,用于保存PLC自自身工作状态数据或提供特殊功能。该存储器区可以反映身工作状态数据或提供特殊功能。该存储器区可以反映CPU运行时的各种状运行时的各种状态信息,用户程序能够根据这些信息判断态信息,用户程序能够根据这些信息判断PLC的工作状态,从而确定下一步的工作状态,从而确定下一步的程序走向。的程序走向。(在在7.2.4小节中会有详细介绍小节中会有详细介绍)6)顺序控制继电器顺序控制继电器(S)顺序控制继电器是用于步进顺控指令中的特殊继电器,通常要与步进顺顺序控制继电器是用于步进顺控指令中的特殊继电器,通常要与步进顺控指令结合使用,用于组织步进过程。控指令结合使用,用于组织步进过程。7.2 7.2 指令及其结构指令及其结构1.9第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.97)局部存储器局部存储器(L)局部存储器与变量存储器十分类似,都是作为中间变量的存储空间。其主局部存储器与变量存储器十分类似,都是作为中间变量的存储空间。其主要区别在于变量存储器是全局有效的,即同一个变量存储器可以被任何程序要区别在于变量存储器是全局有效的,即同一个变量存储器可以被任何程序(主程序、子程序、中断程序主程序、子程序、中断程序)访问并进行数据存取;而局部存储器是局部有效访问并进行数据存取;而局部存储器是局部有效的,只能与特定的程序相关联。的,只能与特定的程序相关联。S7-200系列系列PLC有有64个字节的局部存储器,其中个字节的局部存储器,其中60个字节可以作为临时个字节可以作为临时数据的存储器或者为子程序传递参数,最后数据的存储器或者为子程序传递参数,最后4个字节为系统所保留。局部存储个字节为系统所保留。局部存储器由器由CPU根据需要动态分配。在主程序执行过程中,分配给子程序或中断程序根据需要动态分配。在主程序执行过程中,分配给子程序或中断程序的局部存储器实际上是不存在的,当出现子程序或中断程序调用时,则由的局部存储器实际上是不存在的,当出现子程序或中断程序调用时,则由CPU随时给子程序或中断程序分配局部存储器。由于不同程序中使用的局部存储器随时给子程序或中断程序分配局部存储器。由于不同程序中使用的局部存储器不能相互访问,所以主程序、子程序和中断程序中可以使用相同地址编号的局不能相互访问,所以主程序、子程序和中断程序中可以使用相同地址编号的局部存储器。局部存储器在分配时不被初始化,也没有任何值,在参数传递过程部存储器。局部存储器在分配时不被初始化,也没有任何值,在参数传递过程中也不接收新值,只能由中也不接收新值,只能由CPU在当前程序中使用。在当前程序中使用。7.2 7.2 指令及其结构指令及其结构1.10第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.108)定时器存储器定时器存储器(T)在在PLC中,定时器的作用相当于延时继电器,其定时值由程序赋予。中,定时器的作用相当于延时继电器,其定时值由程序赋予。S7-200系列系列PLC中包括中包括1ms、10ms、100ms3种精度的定时器,每个定时器对应种精度的定时器,每个定时器对应一个一个16位的当前值寄存器和一个状态位。位的当前值寄存器和一个状态位。16位的寄存器存储定时器所累积的时位的寄存器存储定时器所累积的时间,状态位标志定时器定时时间到达时的动作。当前值寄存器和状态位均可由间,状态位标志定时器定时时间到达时的动作。当前值寄存器和状态位均可由(T+定时器号定时器号)来表示,如来表示,如T10。区分依赖于对其操作的指令,位操作指令存取。区分依赖于对其操作的指令,位操作指令存取定时器状态位,而字操作指令对寄存器值进行操作。定时器状态位,而字操作指令对寄存器值进行操作。9)计数器存储器计数器存储器(C)在在PLC中,计数器用于累积输入脉冲的个数,当计数值达到由程序设置的中,计数器用于累积输入脉冲的个数,当计数值达到由程序设置的数值时,执行特定功能。数值时,执行特定功能。S7-200系列系列PLC提供了提供了3种类型的计数器,即增计数种类型的计数器,即增计数器、减计数器和增减计数器,每个计数器也对应一个器、减计数器和增减计数器,每个计数器也对应一个16位的当前值寄存器和一位的当前值寄存器和一个状态位。当前值寄存器和状态位均可由个状态位。当前值寄存器和状态位均可由(C+定时器号定时器号)来表示,如来表示,如C10。其区。其区分同定时器。分同定时器。7.2 7.2 指令及其结构指令及其结构1.11第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1110)高速计数器高速计数器(HC)计数器计数器(C)的输入脉冲频率受到的输入脉冲频率受到PLC扫描周期的限制不能太高,而在控制领扫描周期的限制不能太高,而在控制领域中,高频脉冲的技术又是普遍要求域中,高频脉冲的技术又是普遍要求(如控制电机的精确定位等如控制电机的精确定位等)。所以。所以PLC专门专门设计了能够对高频脉冲进行计数的高速计数器,使用专用端子接收高频脉冲信号。设计了能够对高频脉冲进行计数的高速计数器,使用专用端子接收高频脉冲信号。高速计数器用高速计数器用HC作为标识,可用作为标识,可用“HC+计数器号计数器号”的形式进行的形式进行32位有符号整数位有符号整数(即当前计数值即当前计数值)的存取,如的存取,如HC0。高速计数器的当前值为只读值。高速计数器的当前值为只读值。11)模拟量输入模拟量输入(AI)及模拟量输出及模拟量输出(AQ)模拟量的转换是通过模拟量模块完成的,但其数据的存储是在模拟量的转换是通过模拟量模块完成的,但其数据的存储是在CPU模块模块中,也是由中,也是由CPU完成其寻址的。模拟量经过完成其寻址的。模拟量经过A/D转换变为数字量,存储在模拟转换变为数字量,存储在模拟量输入寄存器量输入寄存器(AI)中。而存储在模拟量输出寄存器中。而存储在模拟量输出寄存器(AQ)中的数字量经过中的数字量经过D/A转转换变为模拟量,供外部电路使用。模拟量输入寄存器和模拟量输出寄存器均按换变为模拟量,供外部电路使用。模拟量输入寄存器和模拟量输出寄存器均按16位位(1个字个字)存储数值,所以要从偶数号字节开始为其编址。具体内容如图存储数值,所以要从偶数号字节开始为其编址。具体内容如图7.6所示。如模拟量输入寄存器地址为所示。如模拟量输入寄存器地址为AIW0、AIW2、AIW4、;模拟量输出寄;模拟量输出寄存器地址为存器地址为AQW0、AQW2、AQW4、。要注意的是用户程序无法读取模拟。要注意的是用户程序无法读取模拟量输出寄存器的内容。量输出寄存器的内容。7.2 7.2 指令及其结构指令及其结构1.12第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1215870AIW2字节字节2(最高有效字节最高有效字节)字节字节3(最低有效字节最低有效字节)MSBLSB15870AQW10字节字节10(最高有效字节最高有效字节)字节字节11(最低有效字节最低有效字节)MSBLSB图图7.6模拟量输入与输出字节示意图模拟量输入与输出字节示意图12)累加器累加器(AC)累加器是可以像存储器一样使用的读累加器是可以像存储器一样使用的读/写区间,它可以用于向子程序传递写区间,它可以用于向子程序传递参数或从子程序返回参数,也可以用于存储计算过程的中间值。参数或从子程序返回参数,也可以用于存储计算过程的中间值。S7-200系列系列PLC提供了提供了4个个32位的累加器,地址编号分别为位的累加器,地址编号分别为AC0、AC1、AC2、AC3,使,使用时只需写出累加器的地址编号即可。用时只需写出累加器的地址编号即可。7.2 7.2 指令及其结构指令及其结构1.13第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.13可以按字节、字或双字方式对累加器进行数据存取。以字节方式存取数可以按字节、字或双字方式对累加器进行数据存取。以字节方式存取数据时只占用累加器的最低据时只占用累加器的最低8位,以字方式存取数据时占用累加器的低位,以字方式存取数据时占用累加器的低16位,以位,以双字方式存取数据时才占用累加器的全部双字方式存取数据时才占用累加器的全部32位。占用累加器的数据长度取决位。占用累加器的数据长度取决于所用指令的具体要求,例如,于所用指令的具体要求,例如,MOVB指令以字节方式存取数据;指令以字节方式存取数据;MOVW指指令以字方式存取数据;令以字方式存取数据;MOVD指令以双字方式存取数据。如图指令以双字方式存取数据。如图7.7所示。所示。7.2 7.2 指令及其结构指令及其结构1.14第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1470MOVBAC0VB100字节字节(VB100)15870MOVWAC0VB100最高有效字节最高有效字节(VB100)最低有效字节最低有效字节(VB101)3124231615870MOVDAC0VB100最高有效最高有效字节字节(VB100)(VB101)(VB102)最低有效字节最低有效字节(VB103)图图7.7累加器使用方法图累加器使用方法图7.2 7.2 指令及其结构指令及其结构1.15第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.152.间接寻址方式间接寻址方式间接寻址是指在编程过程中使用指针来存取寄存器中的数据的寻址方式。间接寻址是指在编程过程中使用指针来存取寄存器中的数据的寻址方式。使用地址指针的间接寻址在处理连续空间数据运算方面十分方便,可以直接通使用地址指针的间接寻址在处理连续空间数据运算方面十分方便,可以直接通过地址指针的修改,改变对应的存储空间,可缩短程序代码,使程序更加灵活。过地址指针的修改,改变对应的存储空间,可缩短程序代码,使程序更加灵活。间接寻址的使用范围包括输入映像寄存器间接寻址的使用范围包括输入映像寄存器(I)、输出映像寄存器、输出映像寄存器(Q)、变量存、变量存储器储器(V)、内部标志位存储器、内部标志位存储器(M)、顺序控制继电器、顺序控制继电器(S)、定时器存储器、定时器存储器(T)、计数、计数器存储器器存储器(C)的字节、字、双字编码地址,即间接寻址针对的只是数据对象,而的字节、字、双字编码地址,即间接寻址针对的只是数据对象,而不能是单个的位地址。另外,模拟量值也不能进行间接寻址。不能是单个的位地址。另外,模拟量值也不能进行间接寻址。使用间接寻址方式存取数据应遵循以下几点。使用间接寻址方式存取数据应遵循以下几点。1)地址指针的建立地址指针的建立要使用间接寻址,首先必须建立地址指针。地址指针为一个双字值,其内要使用间接寻址,首先必须建立地址指针。地址指针为一个双字值,其内部存放的是数据所在存储器的物理地址。能够存储地址指针数据的存储空间只部存放的是数据所在存储器的物理地址。能够存储地址指针数据的存储空间只有变量存储器有变量存储器(V)、局部存储器、局部存储器(L)和累加器和累加器(AC1、AC2、AC3)。需要使用双字。需要使用双字传送指令传送指令(MOVD)将数据所在地址装入用于存储物理地址的指针数据所在的存储将数据所在地址装入用于存储物理地址的指针数据所在的存储器单元或寄存器,格式如以下指令所示。器单元或寄存器,格式如以下指令所示。7.2 7.2 指令及其结构指令及其结构1.16第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.16例:例:MOVD&VB200VD10MOVD&MB10LD0MOVD&T0AC1(1)“&”为取地址符号,它与存储单元地址编号结合表示对应单元的为取地址符号,它与存储单元地址编号结合表示对应单元的32位位物理地址。物理地址是指存储单元在整个存储器中的绝对位置。物理地址。物理地址是指存储单元在整个存储器中的绝对位置。VB200只是存只是存储单元的一个直接地址编号。储单元的一个直接地址编号。(2)指令中第二个存储器单元或寄存器必须为双字长度指令中第二个存储器单元或寄存器必须为双字长度(32位位),如,如VD、LD、AC。2)利用地址指针存取数据利用地址指针存取数据在存储器单元或寄存器前面加在存储器单元或寄存器前面加“*”号表示一个地址指针。号表示一个地址指针。例:例:MOVD&VB200AC1MOVW*AC1VW100该程序表示将该程序表示将VW200中的数据传送到中的数据传送到VW100中。中。AC1中存储着中存储着VB200的的物理地址,物理地址,*AC1直接指向直接指向VB200存储单元,存储单元,MOVW指令决定了指针指向的是指令决定了指针指向的是一个字长的数据,在本例中,存储在一个字长的数据,在本例中,存储在VB200,VB201中的数据被送到中的数据被送到VB100,VB21中,如图中,如图7.8所示。所示。7.2 7.2 指令及其结构指令及其结构1.17第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.17图图7.8使用地址指针存取数据使用地址指针存取数据3)地址指针的修改地址指针的修改通过修改地址指针,可以方便地存取相邻存储单元的数据,如进行查表通过修改地址指针,可以方便地存取相邻存储单元的数据,如进行查表或多个连续数据两两计算。只需要使用加法、自增等算术运算指令就可以实或多个连续数据两两计算。只需要使用加法、自增等算术运算指令就可以实现地址指针的修改,但要注意指针所指向数据的长度。存取字节时,指针值现地址指针的修改,但要注意指针所指向数据的长度。存取字节时,指针值加加1;存取一个字、定时器或计数器的当前值时,指针值加;存取一个字、定时器或计数器的当前值时,指针值加2;存取双字时,;存取双字时,指针值加指针值加4。如图如图7.9所示为一连加运算程序,修改指针使所示为一连加运算程序,修改指针使VW200VW204的数值和的数值和AC0中的数值连加,最后放入中的数值连加,最后放入AC0中。中。7.2 7.2 指令及其结构指令及其结构1.18第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.18图图7.9修改指针进行连加运算修改指针进行连加运算7.2 7.2 指令及其结构指令及其结构1.19第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.197.2.3操作数操作数在在PLC编程中,多数指令需要指定具体的存储单元或具体数据参与其运算,编程中,多数指令需要指定具体的存储单元或具体数据参与其运算,这些就是指令所需的操作数。按照表现形式的不同,这些就是指令所需的操作数。按照表现形式的不同,S7-200系列系列PLC可提供可提供3种形式的操作数,即存储单元、常数、能流。种形式的操作数,即存储单元、常数、能流。1.存储单元存储单元在直接寻址中涉及的所有存储器都可以作为操作数。此类操作数包括输在直接寻址中涉及的所有存储器都可以作为操作数。此类操作数包括输入映像寄存器入映像寄存器(I)、输出映像寄存器、输出映像寄存器(Q)、变量存储器、变量存储器(V)、内部标志位存储器、内部标志位存储器(M)、特殊标志位存储器、特殊标志位存储器(SM)、顺序控制继电器、顺序控制继电器(S)、局部存储器、局部存储器(L)中的位寻址方中的位寻址方式、字节寻址方式、字寻址方式、双字寻址方式。还包括定时器存储器式、字节寻址方式、字寻址方式、双字寻址方式。还包括定时器存储器(T)、计、计数器存储器数器存储器(C)、高速计数器、高速计数器(HC)、模拟量输入、模拟量输入(AI)、模拟量输出、模拟量输出(QI)和累加器和累加器(AC)。不同的。不同的CPU模块中存储单元类操作数的数量有所不同,表模块中存储单元类操作数的数量有所不同,表7-1列出了列出了S7-200系列系列PLC中的所有可用存储单元类操作数。中的所有可用存储单元类操作数。7.2 7.2 指令及其结构指令及其结构1.20第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.20表表7-1CPU226中可用存储单元类操作数中可用存储单元类操作数存储器单元存储器单元CPU221CPU222CPU224CPU226输入映像寄存器输入映像寄存器I0.0I15.7I0.0I15.7I0.0I15.7I0.0I15.7输出映像寄存器输出映像寄存器Q0.0Q15.7Q0.0Q15.7Q0.0Q15.7Q0.0Q15.7模拟量输入模拟量输入(只读只读)AIW0AIW30AIW0AIW62AIW0AIW62模拟量输出模拟量输出(只写只写)AQW0AQW30AQW0AQW62AQW0AQW62变量存储器变量存储器V0.0V2047.7V0.0V2047.7V0.0V5119.7V0.0V5119.77.2 7.2 指令及其结构指令及其结构1.21第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.217.2 7.2 指令及其结构指令及其结构局部存储器局部存储器L0.0L63.7L0.0L63.7L0.0L63.7L0.0L63.7内部标志位存储内部标志位存储器器M0.0M31.7M0.0M31.7M0.0M31.7M0.0M31.7特殊标志特殊标志位存储器位存储器SM0.0SM179.7SM0.0SM179.7SM0.0SM179.7SM0.0SM179.7只读只读SM0.0SM29.7SM0.0SM29.7SM0.0SM29.7SM0.0SM29.7定时器定时器T0T255T0T255T0T255T0T2551.22第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.22计数器计数器C0C255C0C255C0C255C0C255高速计数器高速计数器HC0、HC3HC5HC0、HC3HC5HC0HC5HC0HC5顺序控制继电器顺序控制继电器S0.0S31.7S0.0S31.7S0.0S31.7S0.0S31.7累加器累加器AC0AC3AC0AC3AC0AC3AC0AC32.常数常数常数是指令中常用的一种操作数,常数值可为字节、字或双字。在常数是指令中常用的一种操作数,常数值可为字节、字或双字。在PLC内内部,所有常数均以二进制存储,但在编程时可以输入的常数形式有二进制、十部,所有常数均以二进制存储,但在编程时可以输入的常数形式有二进制、十进制、十六进制、进制、十六进制、ASCII码或浮点数码或浮点数(实数实数)等。表等。表7-2是几种常数的表示方法。是几种常数的表示方法。7.2 7.2 指令及其结构指令及其结构1.23第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.23表表7-2常数的表示方法常数的表示方法数制数制书写格式书写格式举例举例二进制二进制2#二进制数二进制数2#1100_1011_0001_1111十进制十进制十进制数值十进制数值1688十六进制十六进制16#十六进制数十六进制数16#A3CDASCII码码ASCII码字符码字符Thisisaexample浮点数浮点数(实数实数)ANSI/IEEE754-1985标准标准(正数正数)+1.175495E- -38至至+3.402823E+38(负数负数)- -1.175495E- -38至至- -3.402823E+387.2 7.2 指令及其结构指令及其结构1.24第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.243.能流能流在梯形图中,没有真正的电流流动。为方便对在梯形图中,没有真正的电流流动。为方便对PLC周期扫描过程的分析和周期扫描过程的分析和指令运行状态,假想有指令运行状态,假想有“电流电流”在梯形图中流动,这就是在梯形图中流动,这就是“能流能流”。“能流能流”只能在梯形图中从左向右流动,任何可以连接到左只能在梯形图中从左向右流动,任何可以连接到左/右母线或触点的梯形图元件右母线或触点的梯形图元件都有都有“能流能流”的输入的输入(EN)/输出端输出端(ENO)。输入。输入(EN)端必须有能量流,才能执行端必须有能量流,才能执行该元件功能,在元件正确无误的执行其功能后,输出端该元件功能,在元件正确无误的执行其功能后,输出端(ENO)才能将能量流传才能将能量流传送到下一个单元。只有梯形图送到下一个单元。只有梯形图(LAD)和功能块图和功能块图(FBD)中才有能流的概念。对应中才有能流的概念。对应于指令表为栈顶值为于指令表为栈顶值为1。7.2 7.2 指令及其结构指令及其结构1.25第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.257.2.4状态字状态字S7-200系列系列PLC中提供了众多的状态字,它们实际上就是特殊标志位存中提供了众多的状态字,它们实际上就是特殊标志位存储器储器(SM)。这些状态字用于保存。这些状态字用于保存PLC自身工作状态数据或提供特殊功能,通过自身工作状态数据或提供特殊功能,通过对其位、字节、字或双字的使用,可以起到在对其位、字节、字或双字的使用,可以起到在CPU与用户程序之间交换信息的与用户程序之间交换信息的作用。下面介绍各状态字功能,状态字具体功能及用法见作用。下面介绍各状态字功能,状态字具体功能及用法见S7-200系统手册。系统手册。1.常用状态字常用状态字SMB0常用状态字常用状态字SMB0包括包括8个状态位,在每个扫描周期结束时,由个状态位,在每个扫描周期结束时,由CPU更新更新这些位。具体功能描述见表这些位。具体功能描述见表7-3。7.2 7.2 指令及其结构指令及其结构1.26第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.26SMB0的各个位的各个位功能描述功能描述SM0.0常闭触点,在程序运行时一直保持闭合状态常闭触点,在程序运行时一直保持闭合状态SM0.1该位在程序运行的第一个扫描周期闭合,常用于调用初始该位在程序运行的第一个扫描周期闭合,常用于调用初始化子程序化子程序SM0.2若永久保持的数据丢失,则该位在程序运行的第一个扫描若永久保持的数据丢失,则该位在程序运行的第一个扫描周期闭合。可用于存储器错误标志位周期闭合。可用于存储器错误标志位SM0.3开机后进入开机后进入RUN方式,该位将闭合一个扫描周期。可用于方式,该位将闭合一个扫描周期。可用于启动操作前为设备提供预热时间启动操作前为设备提供预热时间表表7-3SMB0的各个位功能描述的各个位功能描述7.2 7.2 指令及其结构指令及其结构1.27第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.27SM0.4该位为一个一分钟时钟脉冲,该位为一个一分钟时钟脉冲,30s闭合,闭合,30s断开断开SM0.5该位为一个一秒钟时钟脉冲,该位为一个一秒钟时钟脉冲,0.5s闭合,闭合,0.5s断开断开SM0.6该位为扫描时钟,本次扫描闭合,下次扫描断开,不断循该位为扫描时钟,本次扫描闭合,下次扫描断开,不断循环环SM0.7该位指示该位指示CPU工作方式开关的位置工作方式开关的位置(断开为断开为TERM位置,闭位置,闭合为合为RUN位置位置)。利用该位状态。当开关在。利用该位状态。当开关在RUN位置时,可位置时,可使自由口通信方式有效,开关切换至使自由口通信方式有效,开关切换至TERM位置时,同编位置时,同编程设备的正常通信有效程设备的正常通信有效7.2 7.2 指令及其结构指令及其结构1.28第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.282.其他状态字功能其他状态字功能其他状态字功能见表其他状态字功能见表7-4。表表7-4其他状态字功能一览表其他状态字功能一览表状状态态字字功能描述功能描述SMB1包含了各种潜在的错误提示,可在执行某些指令或执行出错包含了各种潜在的错误提示,可在执行某些指令或执行出错时由系统自动对相应位进行置位或复位时由系统自动对相应位进行置位或复位SMB2在自由接口通信时,自由接口接收字符的缓冲区在自由接口通信时,自由接口接收字符的缓冲区SMB3在自由接口通信时,发现接收到的字符中有奇偶校验错误时,在自由接口通信时,发现接收到的字符中有奇偶校验错误时,可将可将SM3.0置位置位SMB4标志中断队列是否溢出或通信接口使用状态标志中断队列是否溢出或通信接口使用状态7.2 7.2 指令及其结构指令及其结构1.29第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.29状状态态字字功能描述功能描述SMB5标志标志I/O系统错误系统错误SMB6CPU模块识别模块识别(ID)寄存器寄存器SMB7系统保留系统保留SMB8SMB21I/O模块识别和错误寄存器,按字节对形式模块识别和错误寄存器,按字节对形式(相邻两个字节相邻两个字节)存存储扩展模块储扩展模块06的模块类型、的模块类型、I/O类型、类型、I/O点数和测得的各点数和测得的各模块模块I/O错误错误SMW22SMW26记录系统扫描时间记录系统扫描时间SMB28SMB29存储存储CPU模块自带的模拟电位器所对应的数字量模块自带的模拟电位器所对应的数字量7.2 7.2 指令及其结构指令及其结构1.30第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.307.2 7.2 指令及其结构指令及其结构SMB30和和SMB130SMB30为自由接口通信时,自由接口为自由接口通信时,自由接口0的通信方式控制字节;的通信方式控制字节;SMB130为自由接口通信时,自由接口为自由接口通信时,自由接口1的通信方式控制字节;的通信方式控制字节;两字节可读可写两字节可读可写SMB31SMB32永久存储器永久存储器(EEPROM)写控制写控制SMB34SMB35用于存储定时中断的时间间隔用于存储定时中断的时间间隔SMB36SMB65高速计数器高速计数器HSC0、HSC1、HSC2的监视及控制寄存器的监视及控制寄存器1.31第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.31SMB66SMB85高速脉冲输出高速脉冲输出(PTO/PWM)的监视及控制寄存器的监视及控制寄存器SMB86SMB94SMB186SMB194自由接口通信时,接口自由接口通信时,接口0或接口或接口1接收信息状态寄存器接收信息状态寄存器SMB98SMB99标志扩展模块总线错误号标志扩展模块总线错误号SMB131SMB165高速计数器高速计数器HSC3、HSC4、HSC5的监视及控制寄存器的监视及控制寄存器SMB166SMB194高速脉冲输出高速脉冲输出(PTO)包络定义表包络定义表SMB200SMB299预留给智能扩展模块,保存其状态信息预留给智能扩展模块,保存其状态信息7.2 7.2 指令及其结构指令及其结构1.32第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.327.3 7.3 位逻辑指令位逻辑指令7.3.1位操作指令位操作指令位逻辑指令属于基本逻辑控制指令,是专门针对位逻辑量进行处理的指位逻辑指令属于基本逻辑控制指令,是专门针对位逻辑量进行处理的指令,与使用继电器进行逻辑控制十分相似。位逻辑指令包括触点指令、线圈驱令,与使用继电器进行逻辑控制十分相似。位逻辑指令包括触点指令、线圈驱动指令、置位动指令、置位/复位指令、正复位指令、正/负跳变指令和堆栈指令等,主要分为位操作指令负跳变指令和堆栈指令等,主要分为位操作指令部分和位逻辑运算指令部分。部分和位逻辑运算指令部分。S7-200系列系列PLC中还提供了立即指令,主要用中还提供了立即指令,主要用于对输出线圈的无延时控制。于对输出线圈的无延时控制。1.LD(Load)、LDN(LoadNot)及及=(Out)指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-5。指令可用操作数见表。指令可用操作数见表7-6。1.33第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.33表表7-5LD、LDN、=指令格式指令格式名名称称装装载载非非装装载载线圈驱动线圈驱动指令指令LDLDN=指令表格式指令表格式LDbitLDNbit=bit梯形图格式梯形图格式表7-6 LD、LDN及= 指令可用操作数指指令令可用操作数可用操作数LD、LDNI,Q,M,SM,T,C,V,S,L的位逻辑量的位逻辑量=Q,M,S,V的位逻辑量的位逻辑量7.3 7.3 位逻辑指令位逻辑指令1.34第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.342)指令功能指令功能LD装载指令,常开触点与母线相连,开始一个网络块中的逻辑运算。装载指令,常开触点与母线相连,开始一个网络块中的逻辑运算。LDN非装载指令,常闭触点与母线相连,开始一个网络块中的逻辑运算。非装载指令,常闭触点与母线相连,开始一个网络块中的逻辑运算。=线圈驱动指令。线圈驱动指令。3)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.10所示。所示。图图7.10LD、LDN、=指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图7.3 7.3 位逻辑指令位逻辑指令1.35第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.35(1)当当I0.0闭合时,输出线圈闭合时,输出线圈Q0.0接通。接通。(2)当当I0.1断开时,输出线圈断开时,输出线圈Q0.1和内部辅助线圈和内部辅助线圈M0.0接通。接通。4)指令使用说明指令使用说明(1)内部输入触点内部输入触点(I)的闭合与断开仅与输入映像寄存器相应位的状态有关,的闭合与断开仅与输入映像寄存器相应位的状态有关,与外部输入按钮、接触器、继电器的常开与外部输入按钮、接触器、继电器的常开/常闭接法无关。输入映像寄存器相应常闭接法无关。输入映像寄存器相应位为位为1,则内部常开触点闭合,常闭触点断开。输入映像寄存器相应位为,则内部常开触点闭合,常闭触点断开。输入映像寄存器相应位为0,则内,则内部常开触点断开,常闭触点闭合。部常开触点断开,常闭触点闭合。(2)LD、LDN指令不仅用于网络块逻辑计算的开始,在块操作指令不仅用于网络块逻辑计算的开始,在块操作ALD,OLD中也要配合使用。中也要配合使用。(3)在同一个网络块中,在同一个网络块中,“=”指令可以任意次使用,驱动多个线圈。指令可以任意次使用,驱动多个线圈。(4)同一编号的线圈在一个程序中使用两次及两次以上叫做线圈重复输出。同一编号的线圈在一个程序中使用两次及两次以上叫做线圈重复输出。因为因为PLC在运算时仅将输出结果置于输出映像寄存器中,在所有程序运算均结束在运算时仅将输出结果置于输出映像寄存器中,在所有程序运算均结束后才统一输出,所以在线圈重复输出时,后面的运算结果会覆盖前面的结果,容后才统一输出,所以在线圈重复输出时,后面的运算结果会覆盖前面的结果,容易引起误动作。建议避免使用。易引起误动作。建议避免使用。7.3 7.3 位逻辑指令位逻辑指令1.36第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.36(5)梯形图的每一网络块均从左母线开始,接着是各种触点的逻辑连接,梯形图的每一网络块均从左母线开始,接着是各种触点的逻辑连接,最后以线圈或指令盒结束。一定不能将触点置于线圈的右边。线圈和指令盒一最后以线圈或指令盒结束。一定不能将触点置于线圈的右边。线圈和指令盒一般也不能直接接在左母线上,如确实需要,可以利用特殊标志位存储器般也不能直接接在左母线上,如确实需要,可以利用特殊标志位存储器(如如M0.0)进行连接。进行连接。2.S(Set)、R(Reset)指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-7。指令可用操作数见表。指令可用操作数见表7-8。表表7-7S、R指令格式指令格式名名称称置置位位复复位位指令指令SR指令表格式指令表格式Sbit,NRbit,N梯形图格式梯形图格式7.3 7.3 位逻辑指令位逻辑指令1.37第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.37表表7-8S、R指令的可用操作数指令的可用操作数指指令令可用操作数可用操作数S、RI,Q,M,SM,T,C,V,S,L的位逻辑量的位逻辑量NVB,IB,QB,MB,SMB,SB,LB,AC,常数,常数,*VD,*AC,*LDN可设置的范围为:可设置的范围为:12552)指令功能指令功能S置位指令,将操作数中定义的置位指令,将操作数中定义的N个位逻辑量强制置个位逻辑量强制置1。R复位指令,将操作数中定义的复位指令,将操作数中定义的N个位逻辑量强制置个位逻辑量强制置0。3)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.11所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.38第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.38图图7.11S、R指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图(1)S、R指令中的指令中的2表示从指定的表示从指定的Q0.0开始的两个触点,即开始的两个触点,即Q0.0与与Q0.1。(2)在检测到在检测到I0.0闭合的上升沿时,输出线圈闭合的上升沿时,输出线圈Q0.0、Q0.1被置为被置为1,并保,并保持,而不论持,而不论I0.0为何种状态。为何种状态。(3)在检测到在检测到I0.1闭合的上升沿时,输出线圈闭合的上升沿时,输出线圈Q0.0、Q0.1被复位为被复位为0,并,并保持,而不论保持,而不论I0.0为何种状态。为何种状态。7.3 7.3 位逻辑指令位逻辑指令1.39第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.394)指令说明指令说明(1)指定触点一旦被置位,则保持接通状态,直到对其进行复位操作;而指定触点一旦被置位,则保持接通状态,直到对其进行复位操作;而指定触点一旦被复位,则变为接通状态,直到对其进行复位操作。指定触点一旦被复位,则变为接通状态,直到对其进行复位操作。(2)如果对定时器和计数器进行复位操作,则被指定的如果对定时器和计数器进行复位操作,则被指定的T或或C的位被复位,的位被复位,同时其当前值被清同时其当前值被清0。(3)S、R指令可多次使用相同编号的各类触点,使用次数不限,如图指令可多次使用相同编号的各类触点,使用次数不限,如图7.12所示。若几个触发信号同时闭合,则所示。若几个触发信号同时闭合,则Network1中中Q0.0的状态为接通,的状态为接通,Network3中中Q0.0的状态为断开,的状态为断开,Network6中中Q0.0的状态为接通,的状态为接通,Network9之后之后Q0.0的状态为断开。的状态为断开。图图7.12S、R指令对同一线指令对同一线圈的多次设置圈的多次设置7.3 7.3 位逻辑指令位逻辑指令1.40第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.403RS、SR指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-9。指令可用操作数见表。指令可用操作数见表7-10。表表7-9RS、SR指令基本格式指令基本格式名称名称复位优先锁存器复位优先锁存器置位优先锁存器置位优先锁存器指令指令RSSR梯形图格式梯形图格式7.3 7.3 位逻辑指令位逻辑指令1.41第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.41表表7-10RS、SR指令可用操作数指令可用操作数指指令令可用操作数可用操作数S1,R能流能流S、R1能流能流OUT能流能流BitI,Q,M,V,S的位逻辑量的位逻辑量2)指令功能指令功能RS复位优先锁存器,当置位信号和复位信号都有效时,复位信号优先,复位优先锁存器,当置位信号和复位信号都有效时,复位信号优先,输出线圈不接通。输出线圈不接通。SR置位优先锁存器,当置位信号和复位信号都有效时,置位信号优先,置位优先锁存器,当置位信号和复位信号都有效时,置位信号优先,输出线圈接通。输出线圈接通。3)指令应用举例指令应用举例在梯形图中的应用如图在梯形图中的应用如图7.13所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.42第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.42图图7.13RS、SR指令的梯形图及时序图指令的梯形图及时序图(1)RS、SR指令均为锁存器,一个复位优先,一个置位优先。指令均为锁存器,一个复位优先,一个置位优先。S连接置位连接置位输入,输入,R连接复位输入。一旦输出线圈被置位,则保持置位状态直到复位输入连接复位输入。一旦输出线圈被置位,则保持置位状态直到复位输入接通。接通。(2)置位、复位输入均以高电平状态有效。置位、复位输入均以高电平状态有效。(3)RS、SR指令只有梯形图格式,而无指令表格式。其指令表是多个位指令只有梯形图格式,而无指令表格式。其指令表是多个位逻辑指令的组合。以下是图逻辑指令的组合。以下是图7.13的指令表参考程序。的指令表参考程序。7.3 7.3 位逻辑指令位逻辑指令1.43第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.43Network1Network2LDI0.0LDI0.0LDI0.1LDI0.1NOTNOTLPSAQ0.1AQ0.0OLD=Q0.0=Q0.1LPPALDOQ0.0=Q0.04.EU(EdgeUp)、ED(EdgeDown)指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-11。7.3 7.3 位逻辑指令位逻辑指令1.44第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.44表表7-11EU、ED指令格式指令格式名名称称正跳变触点正跳变触点负跳变触点负跳变触点指令指令EUED指令表格式指令表格式EUED梯形图格式梯形图格式2)指令功能指令功能EU正跳变触点,在检测到正跳变正跳变触点,在检测到正跳变(OFF到到ON)时,使能流接通一个扫时,使能流接通一个扫描周期的时间。描周期的时间。ED负跳变触点,在检测到负跳变负跳变触点,在检测到负跳变(ON到到OFF)时,使能流接通一个扫时,使能流接通一个扫描周期的时间。描周期的时间。3)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.14所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.45第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.45图图7.14EU、ED指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图(1)在在I0.0闭合的一瞬间,正跳变触点接通一个扫描周期,使闭合的一瞬间,正跳变触点接通一个扫描周期,使Q0.0有一个扫有一个扫描周期输出。描周期输出。(2)在在I0.1断开的一瞬间,负跳变触点接通一个扫描周期,使断开的一瞬间,负跳变触点接通一个扫描周期,使Q0.1有一个扫有一个扫描周期输出。描周期输出。4)指令说明指令说明(1)EU、ED指令可无限次使用。指令可无限次使用。7.3 7.3 位逻辑指令位逻辑指令1.46第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.46(2)正正/负跳变指令常用于启动或关断条件的判断,以及配合功能指令完成负跳变指令常用于启动或关断条件的判断,以及配合功能指令完成逻辑控制任务。逻辑控制任务。5.NOP指令指令指令表格式为指令表格式为NOPN;梯形图格式如图;梯形图格式如图7.5所示。所示。图图7.15NOP指令梯形图格式指令梯形图格式NOP指令为空操作指令,在程序中插入指令为空操作指令,在程序中插入NOP指令不影响程序的运行。指令不影响程序的运行。其操作数其操作数N为常数,取值范围是为常数,取值范围是0255。7.3 7.3 位逻辑指令位逻辑指令1.47第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.477.3.2位逻辑运算指令位逻辑运算指令1A(And)、AN(AndNot)指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-12。指令可用操作数见表。指令可用操作数见表7-13。表表7-12A、AN指令基本格式指令基本格式名称名称与与非与非与指令指令AAN指令表指令表AbitANbit梯形图梯形图7.3 7.3 位逻辑指令位逻辑指令1.48第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.48表7-13 A、AN指令的可用操作数指指令令可用操作数可用操作数A、ANI,Q,M,SM,T,C,V,S,L的位逻辑量的位逻辑量2)指令功能指令功能A单个常开触点串联连接指令,执行逻辑与运算。单个常开触点串联连接指令,执行逻辑与运算。AN单个常闭触点串联连接指令,执行逻辑与运算。单个常闭触点串联连接指令,执行逻辑与运算。3)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.16所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.49第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.49图图7.16A、AN指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图(1)I0.0与与I0.1执行相与的逻辑运算。在执行相与的逻辑运算。在I0.0与与I0.1均闭合时,线圈均闭合时,线圈Q0.0接接通;通;I0.0与与I0.1中只要有一个不闭合,线圈中只要有一个不闭合,线圈Q0.0不能接通。不能接通。7.3 7.3 位逻辑指令位逻辑指令1.50第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.50(2)I0.2与常闭触点与常闭触点I0.3执行相与的逻辑运算。在执行相与的逻辑运算。在I0.2闭合,闭合,I0.3断开时,断开时,线圈线圈Q0.1接通;若接通;若I0.2断开或断开或I0.3闭合,则线圈闭合,则线圈Q0.1不能接通。不能接通。4)指令说明指令说明(1)A、AN指令可在多个触点串联连接时连续使用。使用次数仅受编程软指令可在多个触点串联连接时连续使用。使用次数仅受编程软件的限制,最多串联件的限制,最多串联30个触点。个触点。(2)如图如图7.17所示,在使用所示,在使用“=”指令进行线圈驱动后,仍然可以使用指令进行线圈驱动后,仍然可以使用A、AN指令,然后再次使用指令,然后再次使用“=”指令。指令。图图7.17A、AN指令与指令与“=”指令的多次连续使用指令的多次连续使用7.3 7.3 位逻辑指令位逻辑指令1.51第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.51(3)图图7.17所示程序的上下次序不能随意改变,否则所示程序的上下次序不能随意改变,否则A、AN指令与指令与“=”指指令不能连续使用。如图令不能连续使用。如图7.18所示程序,在指令表中就需要使用堆栈指令过渡。所示程序,在指令表中就需要使用堆栈指令过渡。这是因为这是因为S7-200系列系列PLC提供了一个提供了一个9层的堆栈,栈顶用于存储逻辑运算的结果,层的堆栈,栈顶用于存储逻辑运算的结果,即每次运算后结果都保存在栈顶,而且下一次运算结果会覆盖前一个结果。若即每次运算后结果都保存在栈顶,而且下一次运算结果会覆盖前一个结果。若要使用中间结果,必须对该中间结果进行压栈处理才能保存下来。要使用中间结果,必须对该中间结果进行压栈处理才能保存下来。图图7.18A、AN指令与指令与“=”指令不能多次连续使用指令不能多次连续使用7.3 7.3 位逻辑指令位逻辑指令1.52第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.522.O(Or)、ON(OrNot)指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-14。指令可用操作数见表。指令可用操作数见表7-15。表表7-14O、ON指令格式指令格式名名称称或或非非或或指令指令OON指令表指令表ObitONbit梯形图梯形图7.3 7.3 位逻辑指令位逻辑指令1.53第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.53表表7-15O、ON指令的可用操作数指令的可用操作数指指令令可用操作数可用操作数O、ONI,Q,M,SM,T,C,V,S,L的位逻辑量的位逻辑量2)指令功能指令功能O单个常开触点并联连接指令,执行逻辑或运算。单个常开触点并联连接指令,执行逻辑或运算。ON单个常闭触点并联连接指令,执行逻辑或运算。单个常闭触点并联连接指令,执行逻辑或运算。3)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.19所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.54第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.54图图7.19O、ON指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图(1)I0.0与与I0.1执行相或的逻辑运算。在执行相或的逻辑运算。在I0.0与与I0.1任意一个闭合时,线圈任意一个闭合时,线圈Q0.0接通;接通;I0.0与与I0.1均不闭合,线圈均不闭合,线圈Q0.0不能接通。不能接通。(2)I0.2与常闭触点与常闭触点I0.3执行相或的逻辑运算。在执行相或的逻辑运算。在I0.2闭合或闭合或I0.3断开时,线断开时,线圈圈Q0.1接通;若接通;若I0.2断开,同时断开,同时I0.3闭合,则线圈闭合,则线圈Q0.1不能接通。不能接通。7.3 7.3 位逻辑指令位逻辑指令1.55第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.554)指令说明指令说明(1)O、ON指令可在多个触点并联连接时连续使用。使用次数仅受编程软指令可在多个触点并联连接时连续使用。使用次数仅受编程软件的限制,在一个网络块中最多并联件的限制,在一个网络块中最多并联31个触点。个触点。(2)O、ON指令可进行如图指令可进行如图7.20所示的多重并联。所示的多重并联。图图7.20多重并联程序结构多重并联程序结构7.3 7.3 位逻辑指令位逻辑指令1.56第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.563.NOT指令指令1)指令格式指令格式梯形图与指令表格式见表梯形图与指令表格式见表7-16。表表7-16指令格式指令格式名名称称非非运运算算指令指令NOT指令表格式指令表格式NOT梯形图格式梯形图格式2)指令功能指令功能NOT非运算指令,可将该指令处的运算结果取反。无操作数。非运算指令,可将该指令处的运算结果取反。无操作数。3)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.21所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.57第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.57图图7.21NOT指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图由于由于NOT指令的作用,线圈指令的作用,线圈Q0.0与与Q0.1的状态相反。的状态相反。4.ALD(AndLoad)、OLD(OrLoad)指令指令1)指令功能指令功能ALD实现多个指令块的实现多个指令块的“与与”运算。运算。OLD实现多个指令块的实现多个指令块的“或或”运算。运算。指令块:两个以上的触点经过并联或串联后组成的结构,如图指令块:两个以上的触点经过并联或串联后组成的结构,如图7.22所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.58第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.58图图7.22指令块结构指令块结构2)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.23所示。所示。(1)网络块网络块1中为一个中为一个“块与块与”运算,运算,I0.0和和I0.1组成一个或块,组成一个或块,I0.2和和I0.3组组成一个或块,然后两个或块串联,执行与运算。成一个或块,然后两个或块串联,执行与运算。当当I0.0或或I0.1闭合且闭合且I0.2或或I0.3闭合时,闭合时,Q0.0接通。接通。*(2)网络块网络块2中为一个中为一个“块或块或”运算,运算,I0.4和和I0.5组成一个与块,组成一个与块,I0.6和和I0.7组成一个与块,然后两个与块并联,执行或运算。组成一个与块,然后两个与块并联,执行或运算。当当I0.4与与I0.5均闭合或均闭合或I0.6与与I0.7均闭合时,均闭合时,Q0.1接通。接通。7.3 7.3 位逻辑指令位逻辑指令1.59第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.59图图7.23ALD、OLD指令的梯形图、指令表及时序图指令的梯形图、指令表及时序图3)指令说明指令说明(1)每一个指令块均以每一个指令块均以LD或或LDN指令开始。在描述完指令块后,该指令块指令开始。在描述完指令块后,该指令块就可以作为一个整体来看待。就可以作为一个整体来看待。(2)ALD、OLD指令无操作数。指令无操作数。(3)ALD、OLD指令主要用于程序结构组织。在梯形图中没有该指令,只指令主要用于程序结构组织。在梯形图中没有该指令,只需按要求连接触点即可。但在指令表中,需按要求连接触点即可。但在指令表中,ALD、OLD指令十分重要,可以组织指令十分重要,可以组织复杂的程序结构,如图复杂的程序结构,如图7.24所示。所示。7.3 7.3 位逻辑指令位逻辑指令1.60第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.60图图7.24ALD、OLD指令应用指令应用5.LPS(LogicPush)、LRD(LogicRead)、LPP(LogicPop)和和LDS(LoadStack)指令指令S7-200系列系列PLC提供了一个提供了一个9层的堆栈来处理所有的逻辑操作,栈顶用于层的堆栈来处理所有的逻辑操作,栈顶用于存储当前逻辑运算的结果,下面是存储当前逻辑运算的结果,下面是8位的栈空间。堆栈中一般按照位的栈空间。堆栈中一般按照“先进后出先进后出”的原则进行操作,每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一次的原则进行操作,每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一次进行出栈操作,栈顶值弹出,栈底值补入随机数。进行出栈操作,栈顶值弹出,栈底值补入随机数。7.3 7.3 位逻辑指令位逻辑指令1.61第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.611)指令功能指令功能LPS逻辑入栈指令,复制栈顶的值,并将这个值推入堆栈。逻辑入栈指令,复制栈顶的值,并将这个值推入堆栈。LRD逻辑读栈指令,复制堆栈中的第二个值到栈顶,不对堆栈进行入逻辑读栈指令,复制堆栈中的第二个值到栈顶,不对堆栈进行入栈或出栈操作,但原栈顶值被新值取代。栈或出栈操作,但原栈顶值被新值取代。LPP逻辑出栈指令,堆栈中的第二个值到栈顶,栈底补入随机数。逻辑出栈指令,堆栈中的第二个值到栈顶,栈底补入随机数。LDS复制堆栈中的第复制堆栈中的第n个值到栈顶,栈底值丢失。如个值到栈顶,栈底值丢失。如LDS5,是将堆栈,是将堆栈中的第中的第5个值复制到栈顶,并进行入栈操作,个值复制到栈顶,并进行入栈操作,n的取值范围为的取值范围为08。该指令使。该指令使用较少,使用后对堆栈的影响在指令说明中介绍。用较少,使用后对堆栈的影响在指令说明中介绍。2)指令应用举例指令应用举例在梯形图和指令表程序中的应用如图在梯形图和指令表程序中的应用如图7.25所示。所示。当当I0.0闭合时,则有如下步骤。闭合时,则有如下步骤。(1)将将I0.0后的运算结果用后的运算结果用LPS指令压入堆栈存储,当指令压入堆栈存储,当I0.1也闭合时,也闭合时,Q0.0接通。接通。(2)用用LRD指令读出堆栈中存储的值,但没有出栈操作,当指令读出堆栈中存储的值,但没有出栈操作,当I0.2闭合时,闭合时,Q0.1接通。接通。(3)用用LPP指令读出堆栈中存储的值,同时执行出栈操作,将指令读出堆栈中存储的值,同时执行出栈操作,将LPS指令压指令压入堆栈的值弹出,当入堆栈的值弹出,当I0.3闭合时,闭合时,Q0.2接通。接通。7.3 7.3 位逻辑指令位逻辑指令1.62第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.62图7.25 逻辑堆栈指令的梯形图及指令表图7.26 堆栈操作原理示意图7.3 7.3 位逻辑指令位逻辑指令1.63第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.63(2)逻辑堆栈指令是无操作数指令。逻辑堆栈指令是无操作数指令。(3)由于堆栈空间有限由于堆栈空间有限(9层堆栈层堆栈),所以,所以LPS和和LPP指令的连续使用不得超指令的连续使用不得超过过9次。次。(4)LPS与与LPP指令必须成对使用,在它们之间可以多次使用指令必须成对使用,在它们之间可以多次使用LRD指令。指令。使用方法如图使用方法如图7.27所示。所示。图图7.27多层堆栈的使用多层堆栈的使用7.3 7.3 位逻辑指令位逻辑指令1.64第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.647.3.3立即指令立即指令在在PLC中,由于遵循中,由于遵循CPU的扫描工作方式,程序执行过程中所有的输入触的扫描工作方式,程序执行过程中所有的输入触点和输出触点的状态均取自点和输出触点的状态均取自I/O映像寄存器,统一读入或统一输出,这种方式使映像寄存器,统一读入或统一输出,这种方式使PLC的的I/O有一定的时间延迟。为加快有一定的时间延迟。为加快I/O的响应速度,的响应速度,S7-200系列系列PLC引入了引入了立即指令的概念。立即指令的使用可以使立即指令的概念。立即指令的使用可以使CPU在程序执行时,不受循环扫描周在程序执行时,不受循环扫描周期的约束,在输入映像寄存器的值没有更新的情况下,直接读取物理输入接口期的约束,在输入映像寄存器的值没有更新的情况下,直接读取物理输入接口的值;也可以将程序执行时得到的输出线圈的结果直接复制到物理输出端口和的值;也可以将程序执行时得到的输出线圈的结果直接复制到物理输出端口和相应的输出映像寄存器。相应的输出映像寄存器。但要注意的是,立即指令是直接访问物理但要注意的是,立即指令是直接访问物理I/O接口的,比一般指令访问接口的,比一般指令访问I/O映像寄存器占用映像寄存器占用CPU的时间要长,所以不能经常性地使用立即指令,否则会加的时间要长,所以不能经常性地使用立即指令,否则会加长扫描周期,对系统造成不利影响。长扫描周期,对系统造成不利影响。立即指令的格式和使用与位逻辑指令相似,此处不再赘述。具体内容见表立即指令的格式和使用与位逻辑指令相似,此处不再赘述。具体内容见表7-17。表表7-17立即指令的指令表与梯形图格式立即指令的指令表与梯形图格式7.3 7.3 位逻辑指令位逻辑指令1.65第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.65名名称称指指令令指令表格式指令表格式梯形图格式梯形图格式立即装载立即装载LDILDIbit立即非装载立即非装载LDNILDNIbit立即输出立即输出=I=Ibit立即置位立即置位SISIbit,N立即复位立即复位RIRIbit,N立即与立即与AIAIbit立即非与立即非与ANIANIbit立即或立即或OIOIbit立即非或立即非或ONIONIbit7.3 7.3 位逻辑指令位逻辑指令1.66第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.667.3.4位逻辑指令编程举例位逻辑指令编程举例例例1.4组抢答器设计组抢答器设计控制要求控制要求1:设计一个:设计一个4组抢答器,任一组抢先按下抢答按钮后,对应指组抢答器,任一组抢先按下抢答按钮后,对应指示灯指示抢答结果,同时锁定抢答器,使其他组抢答按钮无效。在按下复位示灯指示抢答结果,同时锁定抢答器,使其他组抢答按钮无效。在按下复位开关后,可重新开始抢答。开关后,可重新开始抢答。(1)I/O分配:分配:I/O分配表见表分配表见表7-18。表表7-18四组抢答器四组抢答器I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.1第一组抢答按钮第一组抢答按钮Q0.1第一组抢答指示灯第一组抢答指示灯I0.2第二组抢答按钮第二组抢答按钮Q0.2第二组抢答指示灯第二组抢答指示灯I0.3第三组抢答按钮第三组抢答按钮Q0.3第三组抢答指示灯第三组抢答指示灯I0.4第四组抢答按钮第四组抢答按钮Q0.4第四组抢答指示灯第四组抢答指示灯I0.5复位按钮复位按钮7.3 7.3 位逻辑指令位逻辑指令1.67第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.67(2)程序如程序如图图7.28所示。所示。图7.28 抢答器程序1.68第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.68(3)要点说明。要点说明。由于抢答按钮一般均为非自锁按钮,为保持抢答输出结果,就需要输由于抢答按钮一般均为非自锁按钮,为保持抢答输出结果,就需要输出线圈所带触点并联在输入触点上,实现自锁功能。出线圈所带触点并联在输入触点上,实现自锁功能。要实现一组抢答后,其他组不能再抢答的功能,就需要在其他组控制要实现一组抢答后,其他组不能再抢答的功能,就需要在其他组控制线路中串联本组输入触点或输出线圈的常闭触点,从而形成互锁关系。线路中串联本组输入触点或输出线圈的常闭触点,从而形成互锁关系。控制要求控制要求2:将控制要求:将控制要求1中的指示灯指示抢答结果,改为用中的指示灯指示抢答结果,改为用7段数码管显示抢段数码管显示抢答组号。答组号。7段显示码见表段显示码见表7-59。例如显示组号。例如显示组号“1”,输出线圈,输出线圈Q0.1,Q0.2使数使数码管码管b、c段亮。段亮。(1)I/O分配:分配:I/O分配表见表分配表见表7-19。7.3 7.3 位逻辑指令位逻辑指令1.69第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.69输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.1第一组抢答按钮第一组抢答按钮Q0.0数码管数码管a段段I0.2第二组抢答按钮第二组抢答按钮Q0.1数码管数码管b段段I0.3第三组抢答按钮第三组抢答按钮Q0.2数码管数码管c段段I0.4第四组抢答按钮第四组抢答按钮Q0.3数码管数码管d段段I0.5复位按钮复位按钮Q0.4数码管数码管e段段Q0.5数码管数码管f段段Q0.6数码管数码管g段段表表7-19数码管显示四组抢答器数码管显示四组抢答器I/O分配表分配表7.3 7.3 位逻辑指令位逻辑指令1.70第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.70(2)程序如图程序如图7.29所示。所示。图图7.29抢答器数抢答器数码管输出码管输出1.71第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.71例例2.多地控制多地控制控制要求:在控制要求:在3个地方实现对一台电机的启动与停止控制。个地方实现对一台电机的启动与停止控制。(1)I/O分配:分配:I/O分配表见表分配表见表7-20。表表7-20多地控制多地控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0A地点启动按钮地点启动按钮Q0.1电动机控制输出电动机控制输出I0.1A地点停止按钮地点停止按钮I0.2B地点启动按钮地点启动按钮I0.3B地点停止按钮地点停止按钮I0.4C地点启动按钮地点启动按钮I0.5C地点停止按钮地点停止按钮7.3 7.3 位逻辑指令位逻辑指令1.72第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.72(2)程序如图程序如图7.30所示。所示。(3)要点说明。要点说明。对本例题,首先要考虑一个地点对电机的启动与停止控制。以对本例题,首先要考虑一个地点对电机的启动与停止控制。以A地为地为例做出控制程序,如图例做出控制程序,如图7.31所示。所示。图图7.30电机多地控制程序电机多地控制程序图图7.31在一个地点对电机的控制在一个地点对电机的控制7.3 7.3 位逻辑指令位逻辑指令1.73第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.73其次考虑如何使其次考虑如何使3个启动按钮和个启动按钮和3个停止按钮都起作用。在本例中,若个停止按钮都起作用。在本例中,若要要3个启动按钮都起作用,必须将其并联;个启动按钮都起作用,必须将其并联;3个停止按钮都起作用,必须将其串个停止按钮都起作用,必须将其串联。联。例例3.保持与释放交替变化保持与释放交替变化控制要求:试设计程序实现图控制要求:试设计程序实现图7.32所示时序。所示时序。图图7.32保持与释放交替变化时序图保持与释放交替变化时序图(1)I/O分配:分配:I/O分配表见表分配表见表7-21。7.3 7.3 位逻辑指令位逻辑指令1.74第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.74表表7-21保持与释放交替变化保持与释放交替变化I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0信号输入按钮信号输入按钮Q0.0信号输出端子信号输出端子(2)程序如图程序如图7.33所示。所示。图图7.33保持与释放交替变化程序保持与释放交替变化程序7.3 7.3 位逻辑指令位逻辑指令1.75第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.75(3)要点说明。这一程序又称为二分频电路,可由多种方法实现,图要点说明。这一程序又称为二分频电路,可由多种方法实现,图7.33中为其中一种。在控制过程中,若按钮为点动按钮中为其中一种。在控制过程中,若按钮为点动按钮(非自锁按钮非自锁按钮)时,可由该程时,可由该程序控制实现第一次按下启动,第二次按下停止的功能。序控制实现第一次按下启动,第二次按下停止的功能。例例4.水箱自动储水控制系统水箱自动储水控制系统控制要求:如图控制要求:如图7.34所示储水箱,由电磁阀控制进水。当水位低于下限位所示储水箱,由电磁阀控制进水。当水位低于下限位时,电磁阀时,电磁阀Y打开进水。当水位高于上限位时,电磁阀打开进水。当水位高于上限位时,电磁阀Y关闭。下限位传感器为关闭。下限位传感器为S1,水位低于,水位低于S1时,时,S1闭合;水位高于闭合;水位高于S1时,时,S1断开。上限位传感器为断开。上限位传感器为S2,水位高于水位高于S2时,时,S2闭合;水位低于闭合;水位低于S2时,时,S2断开。断开。图图7.34水箱自动储水控制系统示意图水箱自动储水控制系统示意图7.3 7.3 位逻辑指令位逻辑指令1.76第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.76(1)I/O分配:分配:I/O分配表见表分配表见表7-22。表表7-22水箱自动储水控制系统水箱自动储水控制系统I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0下限位传感器下限位传感器S1Q0.0电磁阀电磁阀YI0.1上限位传感器上限位传感器S2(2)程序如图程序如图7.35所示。所示。图图7.35水箱自动储水控制程序水箱自动储水控制程序7.3 7.3 位逻辑指令位逻辑指令1.77第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.77定时器指令在编程中首先要设置预置值,用以确定定时时间。在程序的运定时器指令在编程中首先要设置预置值,用以确定定时时间。在程序的运行过程中,定时器不断累计时间。当累计的时间与设置时间相等时,定时器发行过程中,定时器不断累计时间。当累计的时间与设置时间相等时,定时器发生动作,以实现各种定时逻辑控制工作。生动作,以实现各种定时逻辑控制工作。S7-200系列系列PLC提供了提供了3种类型的定时器:接通延时定时器种类型的定时器:接通延时定时器(TON)、记忆、记忆接通延时定时器接通延时定时器(TONR)、断开延时定时器、断开延时定时器(TOF)。定时器的分辨率定时器的分辨率(时基时基)也有也有3种,分别为种,分别为1ms、10ms、100ms。分辨率指定时。分辨率指定时器中能够区分的最小时间增量,即精度。具体的定时时间器中能够区分的最小时间增量,即精度。具体的定时时间T由预置值由预置值PT和分辨和分辨率的乘积决定。率的乘积决定。例如设置预置值例如设置预置值PT=1000,选用的定时器分辨率为,选用的定时器分辨率为10ms。则定时时间为则定时时间为T=10ms1000=10s。定时器的分辨率见表定时器的分辨率见表7-23,由定时器号决定。,由定时器号决定。S7-200系列系列PLC共提供定时共提供定时器器256个,定时器号的范围为个,定时器号的范围为0255。接通延时定时器。接通延时定时器TON与断开延时定时器与断开延时定时器TOF分配的是相同的定时器号,这表示该部分定时器号能作为这两种定时器使分配的是相同的定时器号,这表示该部分定时器号能作为这两种定时器使用。但在实际使用时要注意,同一个定时器号在一个程序中不能既为接通延时用。但在实际使用时要注意,同一个定时器号在一个程序中不能既为接通延时定时器定时器TON,又为断开延时定时器,又为断开延时定时器TOF。7.4 7.4 定时器与计数器指令定时器与计数器指令 7.4.1定时器指令定时器指令1.78第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.78表表7-23定时器各类型所对应定时器号及分辨率定时器各类型所对应定时器号及分辨率定时器类型定时器类型分辨率分辨率/ms最大计时范围最大计时范围/s定时器号定时器号TONR132.767T0,T6410327.67T1T4,T65T681003276.7T5T31,T69T95TON、TOF132.767T32,T9610327.67T33T36,T97T1001003276.7T37T63,T101T2557.4 7.4 定时器与计数器指令定时器与计数器指令 1.79第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.79定时器号由定时器名称和常数来表示,即定时器号由定时器名称和常数来表示,即Tn,如,如T32。定时器号包括定时。定时器号包括定时器的当前值和定时器位两个变量信息。器的当前值和定时器位两个变量信息。定时器的当前值用于存储定时器当前所累计的时间,它是一个定时器的当前值用于存储定时器当前所累计的时间,它是一个16位的存储位的存储器,器,存储存储16位带符号的整数,最大计数值为位带符号的整数,最大计数值为32767。对于对于TONR和和TON,当定时器的当前值等于或大于预置值时,该定时器位,当定时器的当前值等于或大于预置值时,该定时器位被置为被置为1,即所对应的定时器触点闭合;对于,即所对应的定时器触点闭合;对于TOF,当输入,当输入IN接通时,定时器接通时,定时器位被置位被置1,当输入信号由高变低负跳变时启动定时器,达到预定值,当输入信号由高变低负跳变时启动定时器,达到预定值PT时,定时时,定时器位断开。器位断开。1.定时器指令的梯形图与指令表格式定时器指令的梯形图与指令表格式定时器指令的梯形图、指令表格式见表定时器指令的梯形图、指令表格式见表7-24。可用操作数见表。可用操作数见表7-25。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.80第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.80表表7-24定时器的梯形图、指令表格式定时器的梯形图、指令表格式名名称称接通延时定时器接通延时定时器记忆接通延时定时器记忆接通延时定时器断开延时定时器断开延时定时器定时器类定时器类型型TONTONRTOF指令表指令表TONTn,PTTONRTn,PTTOFTn,PT梯形图梯形图7.4 7.4 定时器与计数器指令定时器与计数器指令 1.81第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.81表表7-25定时器的可用操作数定时器的可用操作数输入输入/输出输出可用操作数可用操作数Tn常数常数(0255)IN能流能流PTVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LD注:注:(1)均为均为INT(整型整型)值;值;(2)常数较为常用。常数较为常用。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.82第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.822.定时器指令应用举例定时器指令应用举例1)接通延时定时器接通延时定时器TON(On-DelayTimer)接通延时定时器用于单一时间间隔的定时。其应用如图接通延时定时器用于单一时间间隔的定时。其应用如图7.36所示。所示。图图7.36接通延时定时器接通延时定时器(TON)的应用的应用7.4 7.4 定时器与计数器指令定时器与计数器指令 1.83第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.83(1)PLC上电后的第一个扫描周期,定时器位为断开上电后的第一个扫描周期,定时器位为断开(OFF)状态,当前值为状态,当前值为0。输入端。输入端I0.0接通后,定时器当前值从接通后,定时器当前值从0开始计时,在当前值达到预置值时定开始计时,在当前值达到预置值时定时器位闭合时器位闭合(ON),当前值仍会连续计数到,当前值仍会连续计数到32767。(2)在输入端断开后,定时器自动复位,定时器位同时断开在输入端断开后,定时器自动复位,定时器位同时断开(OFF),当前值,当前值恢复为恢复为0。(3)若再次将若再次将I0.0闭合,则定时器重新开始计时,若未到定时时间闭合,则定时器重新开始计时,若未到定时时间I0.0已断已断开,则定时器复位,当前值也恢复为开,则定时器复位,当前值也恢复为0。(4)在本例中,在在本例中,在I0.0闭合闭合5秒后,定时器位秒后,定时器位T33闭合,输出线圈闭合,输出线圈Q0.0接通。接通。I0.0断开,定时器复位,断开,定时器复位,Q0.0断开。断开。I0.0再次接通时间较短,定时器没有动作。再次接通时间较短,定时器没有动作。2)记忆接通延时定时器记忆接通延时定时器TONR(RetentiveOn-DelayTimer)记忆接通延时定时器具有记忆功能,它用于累计输入信号的接通时间。其应用记忆接通延时定时器具有记忆功能,它用于累计输入信号的接通时间。其应用如图如图7.37所示。所示。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.84第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.84图图7.37记忆接通延时定时器记忆接通延时定时器TONR的应用的应用7.4 7.4 定时器与计数器指令定时器与计数器指令 1.85第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.85(1)PLC上电后的第一个扫描周期,定时器位为断开上电后的第一个扫描周期,定时器位为断开(OFF)状态,当前值状态,当前值保持掉电之前的值。输入端每次接通时,当前值从上次的保持值继续计时,在保持掉电之前的值。输入端每次接通时,当前值从上次的保持值继续计时,在当前值达到预置值时定时器位闭合当前值达到预置值时定时器位闭合(ON),当前值仍会连续计数到,当前值仍会连续计数到32767。(2)TONR的定时器位一旦闭合,只能用复位指令的定时器位一旦闭合,只能用复位指令R进行复位操作,同时进行复位操作,同时清除当前值。清除当前值。(3)在本例中,如时序图所示,当前值最初为在本例中,如时序图所示,当前值最初为0,每一次输入端,每一次输入端I0.0闭合,闭合,当前值开始累计,输入端当前值开始累计,输入端I0.0断开,当前值则保持不变。在输入端闭合时间累断开,当前值则保持不变。在输入端闭合时间累计到计到10秒时,定时器位秒时,定时器位T3闭合,输出线圈闭合,输出线圈Q0.0接通。当接通。当I0.1闭合时,由复位指闭合时,由复位指令复位令复位T3的位及当前值。的位及当前值。3)断开延时定时器断开延时定时器TOF(Off-DelayTimer)断开延时定时器用于输入端断开后的单一时间间隔计时。其应用如图断开延时定时器用于输入端断开后的单一时间间隔计时。其应用如图7.38所示。所示。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.86第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.86图图7.38延时定时器延时定时器(TOF)的应用的应用(1)PLC上电后的第一个扫描周期,定时器位为断开上电后的第一个扫描周期,定时器位为断开(OFF)状态,当前值状态,当前值为为0。输入端闭合时,定时器位为。输入端闭合时,定时器位为ON,当前值保持为,当前值保持为0。当输入端由闭合变为。当输入端由闭合变为断开时,定时器开始计时。在当前值达到预置值时定时器位断开断开时,定时器开始计时。在当前值达到预置值时定时器位断开(OFF),同时,同时停止计时。停止计时。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.87第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.87(2)定时器动作后,若输入端由断开变为闭合时,定时器动作后,若输入端由断开变为闭合时,TOF定时器位及当前值定时器位及当前值复位;若输入端再次断开,定时器可以重新启动。复位;若输入端再次断开,定时器可以重新启动。(3)在本例中,在本例中,PLC刚刚上电运行时,输入端刚刚上电运行时,输入端I0.0没有闭合,定时器位没有闭合,定时器位T36为断开状态;为断开状态;I0.0由断开变为闭合时,定时器位由断开变为闭合时,定时器位T36闭合,输出端闭合,输出端Q0.0接通,接通,定时器并不开始计时;定时器并不开始计时;I0.0由闭合变为断开时,定时器当前值开始累计时间,由闭合变为断开时,定时器当前值开始累计时间,达到达到5秒时,定时器位秒时,定时器位T36断开,输出端断开,输出端Q0.0同时断开。同时断开。3.指令说明指令说明(1)定时器精度高时定时器精度高时(1ms),定时范围较小,定时范围较小(0s32.767s);而定时范围大;而定时范围大时时(0s3276.7s),精度又比较低,精度又比较低(100ms),所以应用时要恰当地使用不同精度,所以应用时要恰当地使用不同精度等级的定时器,以便适用于不同的现场要求。等级的定时器,以便适用于不同的现场要求。(2)对于断开延时定时器对于断开延时定时器(TOF),必须在输入端有一个负跳变,定时器才能,必须在输入端有一个负跳变,定时器才能启动计时。启动计时。(3)在程序中,既可以访问定时器位,又可以访问定时器的当前值,都是在程序中,既可以访问定时器位,又可以访问定时器的当前值,都是通过定时器编号通过定时器编号Tn实现。使用位控制指令则访问定时器位,使用数据处理功能实现。使用位控制指令则访问定时器位,使用数据处理功能指令则访问当前值。指令则访问当前值。(4)定时器的复位是其重新启动的先决条件,若希望定时器重复计时动作,定时器的复位是其重新启动的先决条件,若希望定时器重复计时动作,一定要设计好定时器的复位动作。由于不同分辨率的定时器在运行时当前值的一定要设计好定时器的复位动作。由于不同分辨率的定时器在运行时当前值的刷新方式不同,所以在使用方法,尤其是复位方式上也有很大的不同。刷新方式不同,所以在使用方法,尤其是复位方式上也有很大的不同。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.88第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.881ms定时器定时器1ms定时器采用中断刷新方式,由系统每隔定时器采用中断刷新方式,由系统每隔1ms刷新一次,刷新一次,与扫描周期和程序运行无关。在扫描周期大于与扫描周期和程序运行无关。在扫描周期大于1ms时,一个扫描周期中时,一个扫描周期中1ms定定时器会被刷新多次,所以其当前值在一个扫描周期内会变化。时器会被刷新多次,所以其当前值在一个扫描周期内会变化。10ms定时器定时器10ms定时器由系统在每个扫描周期开始时刷新一次,其定时器由系统在每个扫描周期开始时刷新一次,其当前值在一个扫描周期内不变。当前值在一个扫描周期内不变。100ms定时器定时器100ms定时器是在程序运行过程中,定时器指令被执行定时器是在程序运行过程中,定时器指令被执行时刷新,所以该定时器不能应用于一个扫描周期被多次运行或不是每个扫描周时刷新,所以该定时器不能应用于一个扫描周期被多次运行或不是每个扫描周期都运行的场合,否则会造成定时器定时不准的情况。期都运行的场合,否则会造成定时器定时不准的情况。正是由于不同精度定时器的刷新方式有区别,所以在定时器复位方式的选择上正是由于不同精度定时器的刷新方式有区别,所以在定时器复位方式的选择上不能简单的使用定时器本身的常闭触点。如图不能简单的使用定时器本身的常闭触点。如图7.39所示的程序,同样的程序内所示的程序,同样的程序内容,使用不同精度定时器,有些是正确的,有些是错误的。容,使用不同精度定时器,有些是正确的,有些是错误的。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.89第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.89图图7.39使用定时器指令定时生成宽度为一个扫描周期的脉冲使用定时器指令定时生成宽度为一个扫描周期的脉冲7.4 7.4 定时器与计数器指令定时器与计数器指令 1.90第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.90在图在图7.39中,若为中,若为1ms定时器,则图定时器,则图(a)是错误的。只有在定时器当前值与是错误的。只有在定时器当前值与预置值相等的那次刷新发生在定时器的常闭触点执行后到常开触点执行前的区预置值相等的那次刷新发生在定时器的常闭触点执行后到常开触点执行前的区间时,间时,Q0.0才能产生宽度为一个扫描周期的脉冲,而这种可能性极小。才能产生宽度为一个扫描周期的脉冲,而这种可能性极小。图图7.39(b)是正确的。是正确的。若为若为10ms定时器,图定时器,图7.39(a)也是错误的。因为该种定时器每次扫描开也是错误的。因为该种定时器每次扫描开始时刷新当前值,所以始时刷新当前值,所以Q0.0永远不可能为永远不可能为ON,因此也不会产生脉冲。若要产,因此也不会产生脉冲。若要产生脉冲要使用图生脉冲要使用图(b)的程序。的程序。若为若为100ms定时器,图定时器,图7.39(a)是正确的。在执行程序中的定时器指令时,是正确的。在执行程序中的定时器指令时,当前值才被刷新,若该次刷新使当前值等于预置值,则定时器的常开触点闭合,当前值才被刷新,若该次刷新使当前值等于预置值,则定时器的常开触点闭合,Q0.0接通。下一次扫描时,定时器又被常闭触点复位,常开触点断开,接通。下一次扫描时,定时器又被常闭触点复位,常开触点断开,Q0.0断开。由此产生宽度为一个扫描周期的脉冲。而使用图断开。由此产生宽度为一个扫描周期的脉冲。而使用图7.39(b)的程序同样正的程序同样正确。确。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.91第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.917.4.2计数器指令计数器指令在工业现场中,许多情况下都需要用到计数器。比如对产品的数量进行统在工业现场中,许多情况下都需要用到计数器。比如对产品的数量进行统计,检测时对产品进行定位等,所以计数器指令同样是实现自动化运行和复杂计,检测时对产品进行定位等,所以计数器指令同样是实现自动化运行和复杂控制过程的重要指令。控制过程的重要指令。定时器对时间的计量是通过对定时器对时间的计量是通过对PLC内部时钟脉冲的计数实现的。计数器的内部时钟脉冲的计数实现的。计数器的运行原理和定时器基本相同,只是计数器是对外部或内部由程序产生的计数脉运行原理和定时器基本相同,只是计数器是对外部或内部由程序产生的计数脉冲进行计数。在运行时,首先为计数器设置预置值冲进行计数。在运行时,首先为计数器设置预置值PV,计数器检测输入端信号,计数器检测输入端信号的正跳变个数,当计数器当前值与预置值相等时,计数器发生动作,完成相应的正跳变个数,当计数器当前值与预置值相等时,计数器发生动作,完成相应控制任务。控制任务。S7-200系列系列PLC提供了提供了3种类型的计数器:增计数器种类型的计数器:增计数器(CTU)、增减计数器、增减计数器(CTUD)、减计数器、减计数器(CTD),总共有,总共有256个。个。计数器编号由计数器名称和常数计数器编号由计数器名称和常数(0255)组成,表示方法为组成,表示方法为Cn,如,如C99。3种种计数器使用同样的编号,所以在使用中要注意,同一个程序中,每个计数器编计数器使用同样的编号,所以在使用中要注意,同一个程序中,每个计数器编号只能出现一次。计数器编号包括两个变量信息:计数器的当前值和计数器位。号只能出现一次。计数器编号包括两个变量信息:计数器的当前值和计数器位。计数器的当前值用于存储计数器当前所累计的脉冲数。它是一个计数器的当前值用于存储计数器当前所累计的脉冲数。它是一个16位的存位的存储器,存储储器,存储16位带符号的整数,最大计数值为位带符号的整数,最大计数值为32767。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.92第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.92对于对于CTU、CTUD来说,当计数器的当前值等于或大于预置值时,该计来说,当计数器的当前值等于或大于预置值时,该计数器位被置为数器位被置为1,即所对应的计数器触点闭合;对于,即所对应的计数器触点闭合;对于CTD来说,当计数器当前来说,当计数器当前值减为值减为0时,计数器位置为时,计数器位置为1。1.计数器指令的梯形图与指令表格式计数器指令的梯形图与指令表格式计数器指令的梯形图、指令表格式见表计数器指令的梯形图、指令表格式见表7-26。各端口可用操作数见表。各端口可用操作数见表7-27。表表7-26计数器的梯形图、指令表格式计数器的梯形图、指令表格式名名称称增计数器增计数器增减计数器增减计数器减计数器减计数器计数器类型计数器类型CTUCTUDCTD指令表指令表CTUCn,PVCTUDCn,PVCTDCn,PV梯形图梯形图7.4 7.4 定时器与计数器指令定时器与计数器指令 1.93第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.93表表7-27计数器的可用操作数计数器的可用操作数输入输入/输出输出可用操作数可用操作数Cn常数常数(0255)CU、CD、LD、R能流能流PVVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LD注:注:(1)均为均为INT(整型整型)值;值;(2)常数较为常用。常数较为常用。2.计数器指令应用举例计数器指令应用举例1)增计数器增计数器CTU(CountUp)增计数器的当前值只能增加,在计数值达到最大值增计数器的当前值只能增加,在计数值达到最大值32767时,计数器停止计时,计数器停止计数。其应用如图数。其应用如图7.40所示。所示。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.94第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.94图图7.40增计数器增计数器CTU的应用的应用7.4 7.4 定时器与计数器指令定时器与计数器指令 1.95第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.95(1)PLC上电后的第一个扫描周期,计数器位为断开上电后的第一个扫描周期,计数器位为断开(OFF)状态,当前值为状态,当前值为0。计数脉冲输入端。计数脉冲输入端CU每检测到一个正跳变,当前值增加每检测到一个正跳变,当前值增加1。当前值等于预置值时,。当前值等于预置值时,计数器位为闭合计数器位为闭合(ON)状态。如果状态。如果CU端仍有计数脉冲输入,则当前值继续累计,端仍有计数脉冲输入,则当前值继续累计,直到最大值直到最大值32767时,停止计数。时,停止计数。(2)复位输入端复位输入端R有效时有效时(由由OFF变为变为ON),计数器位将被复位为断开,计数器位将被复位为断开(OFF)状态,当前值则复位为状态,当前值则复位为0。也可直接用复位指令。也可直接用复位指令R对计数器进行复位操作。对计数器进行复位操作。(3)在本例中,当在本例中,当I0.0第第5次闭合时,计数器位被置位,输出线圈次闭合时,计数器位被置位,输出线圈Q0.0接通。接通。当当I0.1闭合时,计数器位被复位,闭合时,计数器位被复位,Q0.0断开。断开。2)增减计数器增减计数器CTUD(CountUp/Down)增减计数器有两个计数脉冲输入端,增减计数器有两个计数脉冲输入端,CU用于增计数,用于增计数,CD用于减计数。其当前值用于减计数。其当前值既可增加,又可减小,其应用如图既可增加,又可减小,其应用如图7.41所示。所示。(1)PLC上电后的第一个扫描周期,计数器位为断开上电后的第一个扫描周期,计数器位为断开(OFF)状态,当前值为状态,当前值为0。CU输入端每检测到一个正跳变,则计数器当前值增加输入端每检测到一个正跳变,则计数器当前值增加1;CD输入端每检测到输入端每检测到一个正跳变,则计数器当前值减小一个正跳变,则计数器当前值减小1。当前值大于等于预置值时,计数器位为闭。当前值大于等于预置值时,计数器位为闭合合(ON)状态。当前值小于预置值时,计数器位为断开状态。当前值小于预置值时,计数器位为断开(OFF)状态。只要两个计数状态。只要两个计数脉冲输入端有计数脉冲,计数器就会一直计数。在当前值增加到最大值脉冲输入端有计数脉冲,计数器就会一直计数。在当前值增加到最大值32767后,后,再来一个增脉冲,当前值变为最小值再来一个增脉冲,当前值变为最小值-32768。同理,若当前值减小到最小值。同理,若当前值减小到最小值-32768后,再来一个减脉冲,当前值会变为最大值后,再来一个减脉冲,当前值会变为最大值32767。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.96第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.96(2)复位输入端复位输入端R有效有效(由由OFF变为变为ON)或使用复位指令或使用复位指令R时,计数器位将被时,计数器位将被复位为断开复位为断开(OFF)状态,当前值则复位为状态,当前值则复位为0。(3)在本例中,在本例中,C8的当前值大于等于的当前值大于等于5时,时,C8触点闭合;当前值小于触点闭合;当前值小于5时,时,C8触点断开。触点断开。I0.2闭合时,复位当前值及计数器位。输出线圈闭合时,复位当前值及计数器位。输出线圈Q0.0在在C8触点闭触点闭合时接通。合时接通。图图7.41增减计数器增减计数器CTUD的应用的应用7.4 7.4 定时器与计数器指令定时器与计数器指令 1.97第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.973)减计数器减计数器CTD(CountDown)减计数器的当前值需要在计数前进行赋值,即将预置值减计数器的当前值需要在计数前进行赋值,即将预置值PV赋给当前值,然赋给当前值,然后当前值递减,直到为后当前值递减,直到为0时,计数器位闭合。其应用如图时,计数器位闭合。其应用如图7.42所示。所示。图图7.42减计数器减计数器CTD的应用的应用7.4 7.4 定时器与计数器指令定时器与计数器指令 1.98第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.98(1)PLC上电后的第一个扫描周期,计数器位为断开上电后的第一个扫描周期,计数器位为断开(OFF)状态,当前值状态,当前值为预置值为预置值PV。计数脉冲输入端。计数脉冲输入端CD每检测到一个正跳变,当前值减每检测到一个正跳变,当前值减1。当前值。当前值减小到减小到0时,并停止计数,计数器位变为闭合时,并停止计数,计数器位变为闭合(ON)状态。状态。(2)LD为装载输入端,当为装载输入端,当LD端有效时,计数器位复位,同时将预置值端有效时,计数器位复位,同时将预置值PV重新赋给当前值。重新赋给当前值。(3)在本例中,当在本例中,当I0.0第第5次闭合时,计数器位被置位,输出线圈次闭合时,计数器位被置位,输出线圈Q0.0接通。接通。当当I0.1闭合时,定时器被复位,输出线圈闭合时,定时器被复位,输出线圈Q0.0断开,计数器可以重新工作。断开,计数器可以重新工作。3.指令说明指令说明(1)在使用指令表编程时,一定要分清楚各输入端的作用,次序一定不能在使用指令表编程时,一定要分清楚各输入端的作用,次序一定不能颠倒。颠倒。(2)在程序中,既可以访问计数器位,又可以访问计数器的当前值,都是在程序中,既可以访问计数器位,又可以访问计数器的当前值,都是通过计数器编号通过计数器编号Cn实现。使用位控制指令则访问计数器位,使用数据处理功实现。使用位控制指令则访问计数器位,使用数据处理功能指令则访问当前值。能指令则访问当前值。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.99第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.997.4.3定时器与计数器编程举例定时器与计数器编程举例例例1.运料车自动装、卸料控制运料车自动装、卸料控制控制要求:控制要求:某运料车如图某运料车如图7.43所示,可在所示,可在A、B两地分别启动。运料车启两地分别启动。运料车启动后,自动返回动后,自动返回A地停止,同时控制料斗门的电磁阀地停止,同时控制料斗门的电磁阀Y1打开,开始下料。打开,开始下料。1分钟分钟后,电磁阀后,电磁阀Y1断开,关闭料斗门,运料车自动向断开,关闭料斗门,运料车自动向B地运行。到达地运行。到达B地后停止,小地后停止,小车底门由电磁阀车底门由电磁阀Y2控制打开,开始卸料。控制打开,开始卸料。1分钟后,运料车底门关闭,开始返回分钟后,运料车底门关闭,开始返回A地。之后重复运行。地。之后重复运行。运料车在运行过程中,可用手动开关使其停车。再次启动后,可重复运料车在运行过程中,可用手动开关使其停车。再次启动后,可重复中内容中内容图图7.43运料车自动装、卸料控制示意图运料车自动装、卸料控制示意图7.4 7.4 定时器与计数器指令定时器与计数器指令 1.100第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.100(1)I/O分配:分配:I/O分配见表分配见表7-28。表表7-28运料车自动装、卸料控制运料车自动装、卸料控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0正转启动按钮正转启动按钮Q0.0正转输出正转输出I0.1反转启动按钮反转启动按钮Q0.1反转输出反转输出I0.2A点行程开关点行程开关Q0.2电磁阀电磁阀Y1I0.3B点行程开关点行程开关Q0.3电磁阀电磁阀Y2I0.4停止按钮停止按钮7.4 7.4 定时器与计数器指令定时器与计数器指令 1.101第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.101(2)程序如图程序如图7.44所示。所示。例例2.电动机堵转停车报警程序电动机堵转停车报警程序控制要求:为防止电动机堵转时由于热保护继电器失效而损坏,特在电动控制要求:为防止电动机堵转时由于热保护继电器失效而损坏,特在电动机转轴上加装一联动装置随转轴一起转动。电动机正常转动时,每转一圈机转轴上加装一联动装置随转轴一起转动。电动机正常转动时,每转一圈(50ms)该联动装置使接近开关该联动装置使接近开关K1闭合一次,则系统正常运行。若电动机非正闭合一次,则系统正常运行。若电动机非正常停转超过常停转超过100ms,即接近开关,即接近开关K1不闭合超过不闭合超过100ms,则自动停车,同时红,则自动停车,同时红灯闪烁报警灯闪烁报警(2.5s亮,亮,1.5s灭灭)。(1)I/O分配:分配:I/O分配见表分配见表7-29。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.102第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.102图图7.44运料运料车自动装、卸车自动装、卸料控制程序料控制程序1.103第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.103表表7-29电动机堵转停车报警控制电动机堵转停车报警控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0电动机起动按钮电动机起动按钮Q0.0电动机驱动信号电动机驱动信号输出输出I0.1电动机停止按钮电动机停止按钮Q0.1红灯闪烁信号输红灯闪烁信号输出出I0.2接近开关接近开关K1(2)程序如图程序如图7.45所示。所示。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.104第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.104图图7.45电动机堵转停车报警控制程序电动机堵转停车报警控制程序7.4 7.4 定时器与计数器指令定时器与计数器指令 1.105第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.105例例3.由定时器和计数器构成的长延时电路由定时器和计数器构成的长延时电路控制要求:在控制开关闭合后,开始控制要求:在控制开关闭合后,开始24小时小时30分钟的长延时,延时时间分钟的长延时,延时时间到则到则Q0.0输出输出30秒脉冲。秒脉冲。(1)I/O分配:分配:I/O分配见表分配见表7-30。表表7-30长延时电路长延时电路I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0长延时启动按钮长延时启动按钮Q0.030秒脉冲信号输出秒脉冲信号输出(2)程序如图程序如图7.46所示。所示。(3)要点说明。要点说明。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.106第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.106西门子西门子PLC中定时器最长定时时间为中定时器最长定时时间为3276.7s,不到一个小时。若要,不到一个小时。若要实现长达数小时或数天的延时,则需利用定时器与计数器共同完成。实现长达数小时或数天的延时,则需利用定时器与计数器共同完成。在程序中,在程序中,Network1中为中为1分钟定时,分钟定时,Network2中为中为1小时定时,小时定时,Network3中为中为24小时定时。小时定时。Network4中使用了特殊状态触点中使用了特殊状态触点SM0.5(发出发出1秒脉冲秒脉冲)和计数器和计数器C5共同构成共同构成30分钟定时器。分钟定时器。例例4.展厅人数控制系统展厅人数控制系统控制要求:现有一展厅,最多可容纳控制要求:现有一展厅,最多可容纳50人同时参观。展厅进口与出口各人同时参观。展厅进口与出口各装一传感器,每有一人进出,传感器给出一个脉冲信号。试编程实现,当展装一传感器,每有一人进出,传感器给出一个脉冲信号。试编程实现,当展厅内不足厅内不足50人时,绿灯亮,表示可以进入;当展厅满人时,绿灯亮,表示可以进入;当展厅满50人时,红灯亮,表示人时,红灯亮,表示不准进入。不准进入。(1)I/O分配:分配:I/O分配见表分配见表7-31。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.107第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.107图图7.46长延时电长延时电路控制程路控制程序序7.4 7.4 定时器与计数器指令定时器与计数器指令 1.108第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.108表表7-31展厅人数控制系统展厅人数控制系统I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0系统启动按钮系统启动按钮Q0.0绿灯输出绿灯输出I0.1进口传感器进口传感器S1Q0.1红灯输出红灯输出I0.2出口传感器出口传感器S2(2)程序如图程序如图7.47所示。所示。图图7.47展展厅人数控制厅人数控制程序程序7.4 7.4 定时器与计数器指令定时器与计数器指令 1.109第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.109例例5.3台电机顺序启动、反序停止控制台电机顺序启动、反序停止控制控制要求:按下启动按钮后,控制要求:按下启动按钮后,3台电机按台电机按M1、M2、M3的顺序隔的顺序隔2s启动;启动;按下停止按钮后,按下停止按钮后,3台电机按台电机按M3、M2、M1的顺序隔的顺序隔2s停止。停止。(1)I/O分配:分配:I/O分配见表分配见表7-32。表表7-323台电机顺序启动、反序停止控制台电机顺序启动、反序停止控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0启动按钮启动按钮Q0.0M1控制继电器控制继电器I0.1停止按钮停止按钮Q0.1M2控制继电器控制继电器Q0.2M3控制继电器控制继电器(2)程序如图程序如图7.48所示。所示。7.4 7.4 定时器与计数器指令定时器与计数器指令 1.110第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.110图图7.483台台电机顺序启电机顺序启动,反序停动,反序停止控制程序止控制程序7.4 7.4 定时器与计数器指令定时器与计数器指令 1.111第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1117.5 7.5 数据处理功能指令数据处理功能指令 PLC产生初期主要用于在工业控制中以逻辑控制来代替继电器控制。随着产生初期主要用于在工业控制中以逻辑控制来代替继电器控制。随着计算机技术与计算机技术与PLC技术的不断发展与融合,技术的不断发展与融合,PLC增加了数据处理功能,使其在增加了数据处理功能,使其在工业应用中功能更强,应用范围更广,成为新型的计算机控制系统。工业应用中功能更强,应用范围更广,成为新型的计算机控制系统。数据处理功能主要包括装入和传送功能、转换功能、比较功能、移位功能和运数据处理功能主要包括装入和传送功能、转换功能、比较功能、移位功能和运算功能等。下面将分两小节介绍。由于数据处理指令涉及的数据量较多且复杂算功能等。下面将分两小节介绍。由于数据处理指令涉及的数据量较多且复杂于逻辑控制指令,所以在学习数据处理指令前,首先以字节传送指令于逻辑控制指令,所以在学习数据处理指令前,首先以字节传送指令MOVB为为例,介绍数据处理指令的格式和注意事项。例,介绍数据处理指令的格式和注意事项。1.指令格式指令格式图图7.49梯形图格式梯形图格式数据处理指令的梯形图格式主要以指令盒的形式表示,如图数据处理指令的梯形图格式主要以指令盒的形式表示,如图7.49所示。指所示。指令盒顶部为该指令的标题,如图中所示令盒顶部为该指令的标题,如图中所示MOV_B。标题一般由两部分组成,前部。标题一般由两部分组成,前部分为指令的助记符,多为英文单词的缩写,本例中分为指令的助记符,多为英文单词的缩写,本例中MOV表示数据内容的传送;表示数据内容的传送;后部分为参与运算的数据类型,后部分为参与运算的数据类型,B表示字节,常见的数据类型还有表示字节,常见的数据类型还有W(字字)、DW(双字双字)、R(实数实数)、I(整数整数)、DI(双整数双整数)等。等。图图7.49梯形图格式梯形图格式1.112第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.112数据处理指令的指令表格式也分为两部分,如字节传送指令的指令表格数据处理指令的指令表格式也分为两部分,如字节传送指令的指令表格式为:式为:MOVBIN,OUT。前一部分是表示指令功能的助记符,部分指令的助。前一部分是表示指令功能的助记符,部分指令的助记符与指令盒中的标题相同,也有的不同,需要区分。后一部分为操作数,可记符与指令盒中的标题相同,也有的不同,需要区分。后一部分为操作数,可以是数据地址或常数。以是数据地址或常数。2.操作数的类型及长度操作数的类型及长度指令盒及语句表中用指令盒及语句表中用“IN”和和“OUT”表示的就是操作数。表示的就是操作数。“IN”表示源表示源操作数,指令以其为数据来源,指令执行不改变源操作数的内容。操作数,指令以其为数据来源,指令执行不改变源操作数的内容。“OUT”为为目的操作数,指令执行后将把目的操作数作为运算结果的存储目的。有些指令目的操作数,指令执行后将把目的操作数作为运算结果的存储目的。有些指令中还有辅助操作数,常用于对源操作数和目的操作数做补充说明。中还有辅助操作数,常用于对源操作数和目的操作数做补充说明。操作数的类型和长度需要和指令相匹配,比如字节指令不能使用操作数的类型和长度需要和指令相匹配,比如字节指令不能使用W(字字)、DW(双字双字)型的操作数。而且要特别注意不能使各指令的操作数单元互相重叠,否型的操作数。而且要特别注意不能使各指令的操作数单元互相重叠,否则会发生数据错误。则会发生数据错误。3.指令的执行条件和运行情况指令的执行条件和运行情况指令盒中指令盒中“EN”表示的输入为指令执行条件,只要有表示的输入为指令执行条件,只要有“能流能流”进入进入EN端,端,则指令执行。在梯形图中,则指令执行。在梯形图中,EN端常连接各类触点的组合,只要这些触点的动端常连接各类触点的组合,只要这些触点的动作使作使“能流能流”到达到达EN端,指令就会执行。需要注意的是:只要指令执行条件端,指令就会执行。需要注意的是:只要指令执行条件存在,该指令会在每个扫描周期执行一次,称为连续执行。但大多数情况下,存在,该指令会在每个扫描周期执行一次,称为连续执行。但大多数情况下,7.5 7.5 数据处理功能指令数据处理功能指令 1.113第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.113只需要指令执行一次,即执行条件只在一个扫描周期内有效,这时需要用一个只需要指令执行一次,即执行条件只在一个扫描周期内有效,这时需要用一个扫描周期的脉冲作为其执行条件,称为脉冲执行。一个扫描周期的脉冲可以使扫描周期的脉冲作为其执行条件,称为脉冲执行。一个扫描周期的脉冲可以使用正负跳变指令或定时器指令实现。用正负跳变指令或定时器指令实现。4.ENO状态状态某些指令的指令盒右侧设有某些指令的指令盒右侧设有“ENO”使能输出,若使能输出,若EN端有端有“能流能流”且指且指令被正常执行,则令被正常执行,则ENO端会将端会将“能流能流”输出,传送到下一个程序单元。如果输出,传送到下一个程序单元。如果指令运行出错,指令运行出错,ENO端状态为端状态为0。5.指令执行对特殊标志位的影响指令执行对特殊标志位的影响为方便用户更好地了解为方便用户更好地了解PLC内部的运行情况,为控制和故障诊断提供方内部的运行情况,为控制和故障诊断提供方便,便,PLC中设置了很多特殊标志位,如溢出位等。具体内容可参考中设置了很多特殊标志位,如溢出位等。具体内容可参考S7-200系系统手册中的特殊标志位存储器统手册中的特殊标志位存储器(SM)功能,本节不再详述。功能,本节不再详述。7.5 7.5 数据处理功能指令数据处理功能指令 1.114第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1147.5.1传送指令和表功能指令传送指令和表功能指令1.传送指令传送指令传送指令可将单个数据或多个连续数据从源区传送到目的区,主要用于传送指令可将单个数据或多个连续数据从源区传送到目的区,主要用于PLC内部数据的流转。传送指令根据数据类型的不同又可分为字节、字、双字内部数据的流转。传送指令根据数据类型的不同又可分为字节、字、双字及实数传送指令。及实数传送指令。1)MOVB、MOVW、MOVD和和MOVR指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-33。操作数见表。操作数见表7-34。7.5 7.5 数据处理功能指令数据处理功能指令 1.115第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.115名名称称字节传送字节传送字传送字传送双字传送双字传送实数传送实数传送指令指令MOVBMOVWMOVDMOVR指令表格式指令表格式MOVBIN,OUTMOVWIN,OUTMOVDIN,OUTMOVRIN,OUT梯形图格式梯形图格式表表7-33MOVB、MOVW、MOVD和和MOVR指令的基本格式指令的基本格式7.5 7.5 数据处理功能指令数据处理功能指令 1.116第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.116表表7-34MOVB、MOVW、MOVD和和MOVR指令可用操作数指令可用操作数指指令令IN/OUT操操作作数数数据类数据类型型MOVBINVB,IB,QB,MB,SB,SMB,LB,AC,常数,常数,*VD,*AC,*LDBYTEOUTVB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LDBYTEMOVWINVW,IW,QW,MW,SW,SMW,LW,T,C,AIW,常数,常数,AC,*VD,*AC,*LDWORD,INTOUTVW,IW,QW,MW,SW,SMW,LW,AQW,AC,*VD,*AC,*LDWORD,INT7.5 7.5 数据处理功能指令数据处理功能指令 1.117第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.117MOVDINVD,ID,QD,MD,SD,SMD,LD,HC,&VB,&IB,&QB,&MB,&SB,&T,&C,AC,常数,常数,*VD,*AC,*LDDWORD,DINTOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDDWORD,DINTMOVRINVD,ID,QD,MD,SD,SMD,LD,AC,常常数,数,*VD,*AC,*LDREALOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDREAL7.5 7.5 数据处理功能指令数据处理功能指令 1.118第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.118(2)指令功能。指令功能。MOVBEN端口执行条件存在时,把端口执行条件存在时,把IN所指的字节原值传送到所指的字节原值传送到OUT所指所指字节存储单元。字节存储单元。MOVWEN端口执行条件存在时,把端口执行条件存在时,把IN所指的字原值传送到所指的字原值传送到OUT所指字所指字存储单元。存储单元。MOVDEN端口执行条件存在时,把端口执行条件存在时,把IN所指的双字原值传送到所指的双字原值传送到OUT所指所指双字存储单元。双字存储单元。MOVREN端口执行条件存在时,把端口执行条件存在时,把IN所指的所指的32位实数原值传送到位实数原值传送到OUT所指双字长的存储单元。所指双字长的存储单元。(3)指令应用举例。指令应用举例。以双字传输指令为例说明传送指令的用法,如图以双字传输指令为例说明传送指令的用法,如图7.50所示。所示。图图7.50传送指令用法举例传送指令用法举例7.5 7.5 数据处理功能指令数据处理功能指令 1.119第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.119当当I0.0闭合时,将闭合时,将VD100(包括包括4个字节:个字节:VB100VB103)中的数据,中的数据,传送到传送到AC1中。中。在在I0.0闭合期间,闭合期间,MOVD指令每个扫描周期运行一次。若希望其只在指令每个扫描周期运行一次。若希望其只在I0.0闭合时运行一个扫描周期,需要在闭合时运行一个扫描周期,需要在I0.0后串联一个正跳变指令。后串联一个正跳变指令。2)BIR,BIW指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-35。操作数见表。操作数见表7-36。表表7-35BIR,BIW指令的基本格式指令的基本格式名名称称字节传送立即读字节传送立即读字节传送立即写字节传送立即写指令指令BIRBIW指令表格式指令表格式BIRIN,OUTBIWIN,OUT梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.120第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.120表表7-36BIR,BIW指令的操作数指令的操作数指指令令IN/OUT操操作作数数数据类型数据类型BIRINIBBYTEOUTVB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LDBYTEBIWINVB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数,常数BYTEOUTQBBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.121第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.121(2)指令功能。指令功能。BIR字节传送立即读指令,字节传送立即读指令,EN端口执行条件存在时,直接读取端口执行条件存在时,直接读取IN端口由端口由IB指定的指定的8位物理输入端口数据,并将值存入位物理输入端口数据,并将值存入OUT所指字节存储单元,而不经所指字节存储单元,而不经过输入映像寄存器。过输入映像寄存器。BIW字节传送立即写指令,字节传送立即写指令,EN端口执行条件存在时,读取端口执行条件存在时,读取IN所指的字所指的字节数据,直接写入节数据,直接写入OUT所指所指8位物理输出端口,同时刷新输出映像寄存器。位物理输出端口,同时刷新输出映像寄存器。该指令使用方法同传送指令,这里不再赘述。该指令使用方法同传送指令,这里不再赘述。3)BMB、BMW和和BMD指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-37。操作数见表。操作数见表7-38。表表7-37BMB、BMW和和BMD指令的基本格式指令的基本格式7.5 7.5 数据处理功能指令数据处理功能指令 1.122第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.122名名称称字节块传送字节块传送字块传送字块传送双字块传送双字块传送指令指令BMBBMWBMD指令表格式指令表格式BMBIN,OUT,NBMWIN,OUT,NBMDIN,OUT,N梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.123第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.123表表7-38BMB、BMW和和BMD指令的操作数指令的操作数指指令令操操作作数数数据类型数据类型BMBIN/OUTVB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LDBYTENVB,IB,QB,MB,SB,SMB,LB,AC,常数,常数,*VD,*AC,*LDBYTEBMWINVW,IW,QW,MW,SW,SMW,LW,T,C,AIW,*VD,*AC,*LDWORDOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AQW,*VD,*AC,*LDWORDNVB,IB,QB,MB,SB,SMB,LB,AC,常数,常数,*VD,*AC,*LDBYTEBMDIN/OUTVD,ID,QD,MD,SD,SMD,LD,*VD,*AC,*LDDWORDNVB,IB,QB,MB,SB,SMB,LB,AC,常数,常数,*VD,*AC,*LDBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.124第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.124(2)指令功能。指令功能。BMBEN端口执行条件存在时,把从端口执行条件存在时,把从IN指定的字节开始的指定的字节开始的N个字节数据传个字节数据传送到以送到以OUT指定字节为起始的指定字节为起始的N个字节存储单元。个字节存储单元。BMWEN端口执行条件存在时,把从端口执行条件存在时,把从IN指定的字开始的指定的字开始的N个字数据传送到个字数据传送到以以OUT指定字为起始的指定字为起始的N个字存储单元。个字存储单元。BMDEN端口执行条件存在时,把从端口执行条件存在时,把从IN指定的双字开始的指定的双字开始的N个双字数据传个双字数据传送到以送到以OUT指定双字为起始的指定双字为起始的N个双字存储单元。个双字存储单元。(3)指令应用举例。指令应用举例。以字传输指令为例说明块传送指令的用法,如图以字传输指令为例说明块传送指令的用法,如图7.51所示。所示。图图7.51块传送指令用法举例块传送指令用法举例7.5 7.5 数据处理功能指令数据处理功能指令 1.125第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.125由于有正跳变指令作用,在由于有正跳变指令作用,在I0.0闭合的第一个扫描周期,闭合的第一个扫描周期,BMW指令执行,指令执行,将将VW100VW104的的5个字传送到个字传送到MW10MW14存储单元中。存储单元中。4)SWAP指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-39。操作数见表。操作数见表7-40。表表7-39SWAP指令的基本格式指令的基本格式名名称称高低字节交换高低字节交换指令指令SWAP指令表格式指令表格式SWAPIN梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.126第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.126表表7-40SWAP指令的操作数指令的操作数指指令令输输入入操操作作数数数据类型数据类型SWAPINVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDWORD(2)指令功能。指令功能。SWAPEN端口执行条件存在时,使端口执行条件存在时,使IN指定字的高低字节互换。指定字的高低字节互换。(3)指令应用举例。指令应用举例。高低字节交换指令的用法,如图高低字节交换指令的用法,如图7.52所示。所示。在在I0.0闭合的第一个扫描周期,首先执行闭合的第一个扫描周期,首先执行MOVW指令,将指令,将16进制数进制数12EF传送到传送到AC0中,接着执行字节交换指令中,接着执行字节交换指令SWAP,将,将AC0中的值变为中的值变为16进制进制数数EF12。SWAP指令使用时,若不使用正跳变指令,则在指令使用时,若不使用正跳变指令,则在I0.0闭合的每一个扫描闭合的每一个扫描周期执行一次高低字节交换,不能保证结果正确。周期执行一次高低字节交换,不能保证结果正确。7.5 7.5 数据处理功能指令数据处理功能指令 1.127第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.127图图7.52SWAP指令的用法举例指令的用法举例2.表功能指令表功能指令表功能指令是指定存储器区域中的数据管理指令。可建立一个不大于表功能指令是指定存储器区域中的数据管理指令。可建立一个不大于100个字的数据表,依次向数据区填入或取出数据,并可在数据区查找符合设置条个字的数据表,依次向数据区填入或取出数据,并可在数据区查找符合设置条件的数据,以对数据区内的数据进行统计、排序、比较等处理。表功能指令包件的数据,以对数据区内的数据进行统计、排序、比较等处理。表功能指令包括填表指令、查表指令,先进先出指令、后进先出指令及填充指令。括填表指令、查表指令,先进先出指令、后进先出指令及填充指令。7.5 7.5 数据处理功能指令数据处理功能指令 1.128第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1281)ATT、FND指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-41。操作数见表。操作数见表7-42。表表7-41ATT、FND指令的基本格式指令的基本格式名名称称填表指令填表指令查表指令查表指令指令指令ATTFND指令表格式指令表格式ATTDATA,TABLEFND=TBL,PATRN,INDXFNDTBL,PATRN,INDXFNDTBL,PATRN,INDX7.5 7.5 数据处理功能指令数据处理功能指令 1.129第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.129梯形图格式梯形图格式表表7-42ATT、FND指令的操作数指令的操作数指指令令输入输入/输出输出操作数操作数数据类数据类型型ATTDATAVW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常数,常数,*VD,*AC,*LDINTTBLVW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LDWORD7.5 7.5 数据处理功能指令数据处理功能指令 1.130第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.130指指令令输入输入/输出输出操作数操作数数据类数据类型型FNDTBLVW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LDWORDPTNVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTINDXVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDWORDCMD常数常数(14)BYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.131第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.131(2)指令功能。指令功能。ATTEN端口执行条件存在时,用于向端口执行条件存在时,用于向TBL指定的数据表中填加指定的数据表中填加DATA端端的数据。的数据。FNDEN端口执行条件存在时,从端口执行条件存在时,从INDX开始搜索表开始搜索表TBL,查找满足由,查找满足由PTN和和CMD设置条件的数据。设置条件的数据。PTN设置要查找的具体数据,设置要查找的具体数据,CMD设置查找条件设置查找条件(14分别表示分别表示=、)。(3)指令应用举例。指令应用举例。ATT指令应用如图指令应用如图7.53所示。所示。图图7.53ATT指令应用指令应用7.5 7.5 数据处理功能指令数据处理功能指令 1.132第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.132在向数据表中填加数据时,首先要确定数据表的首地址和最大填表数。在向数据表中填加数据时,首先要确定数据表的首地址和最大填表数。本例中,使用本例中,使用SM0.1在程序运行的第一个扫描周期,确定数据表的首地址为在程序运行的第一个扫描周期,确定数据表的首地址为VW100,最大填表数为,最大填表数为6。如图。如图7.53中所示,表中的第一个数是最大填表数中所示,表中的第一个数是最大填表数(TL)6,第二个数为实际填表数,第二个数为实际填表数(EC),在,在ATT指令运行前值为指令运行前值为2,每向表中填加,每向表中填加一个新数据,一个新数据,EC值会自动加值会自动加1,之后才是具体数据。,之后才是具体数据。当当I0.0闭合时,将闭合时,将DATA端的数据端的数据(VW10中的内容中的内容)填加在数据表最后一填加在数据表最后一个数据后面。个数据后面。FND指令应用如图指令应用如图7.54所示。所示。查表指令查表指令FND是从是从INDX开始搜索表开始搜索表TBL,实际上,实际上INDX就是数据表的偏就是数据表的偏移地址。若要从表头开始查找数据,则移地址。若要从表头开始查找数据,则INDX必须为必须为0。故在程序中首先使用。故在程序中首先使用SM0.1在程序运行的第一个扫描周期将在程序运行的第一个扫描周期将AC1的数据置位的数据置位0,这时,这时INDX指向数据指向数据表的第一个数据表的第一个数据VW104。若没有找到符合条件的数据,则。若没有找到符合条件的数据,则INDX等于实际填表数等于实际填表数EC(VW102)。虽然。虽然VW100中包括最大填表数,但中包括最大填表数,但FND指令并不从它开始。指令并不从它开始。7.5 7.5 数据处理功能指令数据处理功能指令 1.133第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.133图图7.54FND指令应用指令应用7.5 7.5 数据处理功能指令数据处理功能指令 1.134第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.134本例中,本例中,PTN端设置要查找的数据为端设置要查找的数据为16进制数进制数1234,CMD设置的查找设置的查找条件是条件是“=”。从表中可以看出,数据从表中可以看出,数据2和数据和数据4符合查找条件,当符合查找条件,当I0.0闭合时,开始执闭合时,开始执行查表。在找到第一个符合条件的数据行查表。在找到第一个符合条件的数据2后,后,AC1内保存数据内保存数据2的编号的编号(2),查表,查表指令停止。若要查找下一个符合条件的数据,则在使指令停止。若要查找下一个符合条件的数据,则在使I0.0再次闭合前,需要使再次闭合前,需要使INDX加加1。2)FIFO、LIFO指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-43。操作数见表。操作数见表7-44。表表7-43FIFO、LIFO指令的基本格式指令的基本格式名名称称先进先出先进先出后进先出后进先出指令指令FIFOLIFO指令表格式指令表格式FIFOTBL,DATALIFOTBL,DATA梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.135第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.135表表7-44FIFO、LIFO指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据类数据类型型FIFO、LIFODATAVW,IW,QW,MW,SW,SMW,LW,AC,AQW,T,C,*VD,*AC,*LDINTTBLVW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LDWORD7.5 7.5 数据处理功能指令数据处理功能指令 1.136第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.136(2)指令功能。指令功能。FIFOEN端口执行条件存在时,先进先出的表操作指令将表端口执行条件存在时,先进先出的表操作指令将表(TBL)中第中第一个数据一个数据(最先进入表中的数据最先进入表中的数据)移出,并输出到移出,并输出到DATA端指定的存储器单元。端指定的存储器单元。表中剩余数据依次上移一个位置。该指令每执行一次,表中实际填表数表中剩余数据依次上移一个位置。该指令每执行一次,表中实际填表数(EC)值减值减1。LIFOEN端口执行条件存在时,后进先出的表操作指令将表端口执行条件存在时,后进先出的表操作指令将表(TBL)中最中最后一个数据后一个数据(最后进入表中的数据最后进入表中的数据)移出,并输出到移出,并输出到DATA端指定的存储器单元。端指定的存储器单元。该指令每执行一次,表中实际填表数该指令每执行一次,表中实际填表数(EC)值减值减1。(3)指令应用举例。指令应用举例。FIFO、LIFO指令应用如图指令应用如图7.55所示。所示。7.5 7.5 数据处理功能指令数据处理功能指令 1.137第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.137图图7.55FIFO、LIFO指令应用指令应用7.5 7.5 数据处理功能指令数据处理功能指令 1.138第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.138在在I0.0闭合的第一个扫描周期,表中第一个数据闭合的第一个扫描周期,表中第一个数据(VW104的内容的内容)从表中从表中移出,并放入移出,并放入DATA端指定的存储单元端指定的存储单元VW200中。中。在在I0.1闭合的第一个扫描周期,表中最后一个数据闭合的第一个扫描周期,表中最后一个数据(VW110的内容的内容)从表从表中移出,并放入中移出,并放入DATA端指定的存储单元端指定的存储单元VW300中。中。3)FILL指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-45。操作数见表。操作数见表7-46。表表7-45FILL指令的基本格式指令的基本格式名名称称存储器填充指令存储器填充指令指令指令FILL指令表格式指令表格式FILLIN,OUT,N梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.139第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.139表表7-46FILL指令操作数指令操作数指指令令输入输入/输输出出操作数操作数数据类数据类型型FILLINVW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常数,常数,*VD,*AC,*LDWORDOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AQW,*VD,*AC,*LDWORDNVB,IB,QB,MB,SB,SMB,LB,AC,常数,常数,*VD,*AC,*LDBYTE注:常用常数,可取注:常用常数,可取1255之之间间的整数。的整数。(2)指令功能。指令功能。FILL存储器填充指令,存储器填充指令,EN端口执行条件存在时,用端口执行条件存在时,用IN指定的输入值填指定的输入值填充从充从OUT指定的存储单元开始的指定的存储单元开始的N个字的存储空间。多用于对空间的清零。个字的存储空间。多用于对空间的清零。7.5 7.5 数据处理功能指令数据处理功能指令 1.140第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1407.5.2转换指令转换指令转换指令用于对操作数的类型、码制及数据和码制之间进行相互转换,转换指令用于对操作数的类型、码制及数据和码制之间进行相互转换,方便在不同类型的数据之间进行处理或运算。方便在不同类型的数据之间进行处理或运算。1.数据类型转换数据类型转换PLC中的数据类型有字节、中的数据类型有字节、BCD数、整数、双整数和实数,不同的指令数、整数、双整数和实数,不同的指令对数据类型的要求不同,所以在使用时需要进行数据类型转换。类型转换包对数据类型的要求不同,所以在使用时需要进行数据类型转换。类型转换包括字节与整数转换、整数与双整数转换、双整数与实数转换、整数与括字节与整数转换、整数与双整数转换、双整数与实数转换、整数与BCD数数转换。转换。1)B_I、I_B指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-47。操作数见表。操作数见表7-48。7.5 7.5 数据处理功能指令数据处理功能指令 1.141第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.141名名称称字节到整数转换字节到整数转换整数到字节转换整数到字节转换指令指令B_II_B指令表格式指令表格式BTIIN,OUTITBIN,OUT梯形图格式梯形图格式表表7-47B_I、I_B指令的基本格式指令的基本格式7.5 7.5 数据处理功能指令数据处理功能指令 1.142第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.142表表7-48B_I、I_B指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型B_IINVB,IB,QB,MB,SB,SMB,LB,AC,常,常数,数,*VD,*AC,*LDBYTEOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDINTI_BINVW,IW,QW,MW,SW,SMW,LW,T,C,AC,AIW,*VD,常数,常数,*AC,*LDINTOUTVB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LDBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.143第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.143(2)指令功能。指令功能。B_IEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节值转换为整数类型,端口指定的字节值转换为整数类型,输出到输出到OUT端口指定的字存储单元。由于字节类型值没有符号,所以转换时不端口指定的字存储单元。由于字节类型值没有符号,所以转换时不需要符号扩展。需要符号扩展。I_BEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的整数数据转换为字节类型,端口指定的整数数据转换为字节类型,输出到输出到OUT端口指定的字节存储单元。输入数据范围需在端口指定的字节存储单元。输入数据范围需在0255之间,否则会之间,否则会产生溢出错误。产生溢出错误。2)DI_I、I_DI指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-49。操作数见表。操作数见表7-50。7.5 7.5 数据处理功能指令数据处理功能指令 1.144第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.144表表7-49DI_I,I_DI指令的基本格式指令的基本格式名名称称双整数到整数转换双整数到整数转换整数到双整数转换整数到双整数转换指令指令DI_II_DI指令表格式指令表格式DTIIN,OUTITDIN,OUT梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.145第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.145表表7-50B_I、I_B指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据类数据类型型DI_IINVD,ID,QD,MD,SD,SMD,LD,AC,HC,常数,常数,*VD,*AC,*LDDINTOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDINTI_DIINVW,IW,QW,MW,SW,SMW,LW,T,C,AC,AIW,常数,常数,*VD,*AC,*LDINTOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDDINT7.5 7.5 数据处理功能指令数据处理功能指令 1.146第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.146(2)指令功能。指令功能。DI_IEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双整数类型数据转换为整数端口指定的双整数类型数据转换为整数类型,输出到类型,输出到OUT端口指定的字存储单元。双整数数据超出整数数据范围则产端口指定的字存储单元。双整数数据超出整数数据范围则产生溢出错误。生溢出错误。I_DIEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的整数类型数据转换为双整端口指定的整数类型数据转换为双整数类型,输出到数类型,输出到OUT端口指定的双字存储单元。需要进行符号位扩展。端口指定的双字存储单元。需要进行符号位扩展。3)DI_R、ROUND和和TRUNC指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-51。操作数见表。操作数见表7-52。7.5 7.5 数据处理功能指令数据处理功能指令 1.147第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.147名名称称双整数到实数转换双整数到实数转换实数到双整数转换实数到双整数转换实数到双整数转换实数到双整数转换指令指令DI_RROUNDTRUNC指令表格式指令表格式DTRIN,OUTROUNDIN,OUTTRUNCIN,OUT梯形图格式梯形图格式表表7-51DI_R、ROUND和和TRUNC指令的基本格式指令的基本格式7.5 7.5 数据处理功能指令数据处理功能指令 1.148第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.148表表7-52DI_R、ROUND和和TRUNC指令的操作数指令的操作数指指令令输入输入/输出输出操作数操作数数据类数据类型型DI_RINVD,ID,QD,MD,SD,SMD,LD,AC,HC,常数,常数,*VD,*AC,*LDDINTOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDREALROUNDTRUNCINVD,ID,QD,MD,SD,SMD,LD,AC,HC,常数,常数,*VD,*AC,*LDREALOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDDINT7.5 7.5 数据处理功能指令数据处理功能指令 1.149第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.149(2)指令功能。指令功能。DI_REN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双整数类型数据转换为端口指定的双整数类型数据转换为实数,输出到实数,输出到OUT端口指定的双字存储单元。值得注意的是:没有直接由整数端口指定的双字存储单元。值得注意的是:没有直接由整数转换为实数的指令,只能通过整数转换为双整数,再转换为实数。转换为实数的指令,只能通过整数转换为双整数,再转换为实数。ROUNDEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的实数转换为双整数类型,端口指定的实数转换为双整数类型,小数部分小数部分4舍舍5入,结果输出到入,结果输出到OUT端口指定的双字存储单元。端口指定的双字存储单元。TRUNCEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的实数转换为双整数类型,小端口指定的实数转换为双整数类型,小数部分舍去,结果输出到数部分舍去,结果输出到OUT端口指定的双字存储单元。端口指定的双字存储单元。4)BCD_I、I_BCD指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-53。操作数见表。操作数见表7-54。7.5 7.5 数据处理功能指令数据处理功能指令 1.150第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.150表表7-53BCD_I、I_BCD指令的基本格式指令的基本格式名名称称BCD码到整数码到整数整数到整数到BCD码码指令指令BCD_II_BCD指令表格式指令表格式BCDIIN,OUTIBCDIN,OUT梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.151第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.151表表7-54BCD_I、I_BCD指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据类数据类型型BCD_II_BCDINVW,IW,QW,MW,SW,SMW,LW,AC,AIW,T,C,常数,常数,*VD,*AC,*LDWORDOUTVW,IW,QW,MW,SW,SMW,LW,AC,*VD,*AC,*LDWORD(2)指令功能。指令功能。BCD_IEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的端口指定的BCD码数据转换为码数据转换为整数类型,输出到整数类型,输出到OUT端口指定的字存储单元。端口指定的字存储单元。IN端口指定的端口指定的BCD码数据码数据范围为范围为09999。I_BCDEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的整数数据转换为端口指定的整数数据转换为BCD码类型,输出到码类型,输出到OUT端口指定的字存储单元。端口指定的字存储单元。IN端口指定的整数数据端口指定的整数数据范围为范围为09999。7.5 7.5 数据处理功能指令数据处理功能指令 1.152第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1525)数据类型转换指令应用举例数据类型转换指令应用举例以下为一个长度转换应用程序,实现英寸以下为一个长度转换应用程序,实现英寸2.45=厘米。厘米值需要四舍五厘米。厘米值需要四舍五入取整。程序如图入取整。程序如图7.56所示。所示。(1)要想实现长度转换,需要进行乘积运算。而转换系数为一实数,所以英要想实现长度转换,需要进行乘积运算。而转换系数为一实数,所以英寸值也需要变为实数才能运算。寸值也需要变为实数才能运算。(2)C10中为通过计数器检测得到的长度中为通过计数器检测得到的长度101英寸,为一个整数值,需要转英寸,为一个整数值,需要转换为一个实数值。由于没有整数直接到实数的转换指令,所以先要通过换为一个实数值。由于没有整数直接到实数的转换指令,所以先要通过I_DI指指令转换为双整数,再通过令转换为双整数,再通过DI_R指令转换为实数,存放在指令转换为实数,存放在VD0中。中。7.5 7.5 数据处理功能指令数据处理功能指令 1.153第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.153图图7.56长度转换应用程序长度转换应用程序7.5 7.5 数据处理功能指令数据处理功能指令 1.154第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.154(3)英寸到厘米的转换系数为英寸到厘米的转换系数为2.54,存放在,存放在VD4中,转换为实数的长度和中,转换为实数的长度和系数使用乘法指令系数使用乘法指令MUL_R实现,结果放入实现,结果放入VD8中。中。(MUL_R指令指令7.6数据运算数据运算指令一节中介绍指令一节中介绍)(4)最后通过最后通过ROUND指令将带小数的长度值转换为双整数的厘米长度。指令将带小数的长度值转换为双整数的厘米长度。2.编码和译码编码和译码1)ENCO、DECO指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-55。操作数见表。操作数见表7-56。表表7-55ENCO、DECO指令的基本格式指令的基本格式名名称称编编码码译译码码指令指令ENCODECO指令表格式指令表格式ENCOIN,OUTDECOIN,OUT梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.155第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.155表表7-56ENCO、DECO指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型ENCOINVW,IW,QW,MW,SMW,LW,SW,AIW,T,C,常数,常数,*VD,*AC,*LDWORDOUTVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LDBYTEDECOINVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTEOUTVW,IW,QW,MW,SMW,LW,SW,AQW,T,C,AC,*VD,*AC,*LDWORD7.5 7.5 数据处理功能指令数据处理功能指令 1.156第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.156(2)指令功能。指令功能。ENCO编码指令,编码指令,EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字数据中最端口指定的字数据中最低有效位低有效位(由低位到高位第一个值为由低位到高位第一个值为1的位的位)的位号编码为的位号编码为4位二进制数,输出到位二进制数,输出到OUT端口指定的字节单元的低端口指定的字节单元的低4位。位。DECO译码指令,译码指令,EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节中低四端口指定的字节中低四位的二进制值位的二进制值(015)所对应位号,设置为所对应位号,设置为OUT端口指定的字存储单元的相应端口指定的字存储单元的相应位。位。(3)指令应用举例。指令应用举例。ENCO、DECO指令应用如图指令应用如图7.57所示。所示。图图7.57错误位的编码与译码错误位的编码与译码7.5 7.5 数据处理功能指令数据处理功能指令 1.157第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.157假设假设VW100中包含错误位,错误位为第中包含错误位,错误位为第6位,在位,在I0.0闭合时,编码指令闭合时,编码指令ENCO将错误位转换为错误码将错误位转换为错误码(2#0110)存放在存放在VB200的低的低4位中。位中。当当I0.1闭合时,译码指令利用闭合时,译码指令利用VB200中的错误码置输出映像寄存器的第中的错误码置输出映像寄存器的第6位为位为1。2)SEG指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-57。操作数见表。操作数见表7-58。表表7-57SEG指令的基本格式指令的基本格式名名称称段段码码指令指令SEG指令表格式指令表格式SEGIN,OUT梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.158第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.158表表7-58SEG指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据类数据类型型SEGINVB,IB,QB,MB,SMB,LB,SB,常数,常数,*VD,*AC,*LDWORDOUTVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LDBYTE(2)指令功能。指令功能。SEG段码指令,段码指令,EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节数据中端口指定的字节数据中低四位有效值转换为低四位有效值转换为7段显示码,输出到段显示码,输出到OUT端口指定的字节单元。端口指定的字节单元。7段显示段显示码编码见表码编码见表7-59。表表7-597段显示码编码段显示码编码7.5 7.5 数据处理功能指令数据处理功能指令 1.159第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.159待变换数据待变换数据7段显示的组成段显示的组成用于用于7段显示的段显示的8位数据位数据7段显示段显示十六进十六进制制二进制二进制/gfedcba16#02#00000011111116#12#00010000011016#22#00100101101116#32#00110110111116#42#0100011001107.5 7.5 数据处理功能指令数据处理功能指令 1.160第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.16016#52#01010110110116#62#01100111110116#72#01110010011116#82#10000111111116#92#10010110111116#A2#1010011101117.5 7.5 数据处理功能指令数据处理功能指令 1.161第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.16116#B2#10110111110016#C2#11000011100116#D2#11010101111016#E2#11100111100116#F2#1111011100017.5 7.5 数据处理功能指令数据处理功能指令 1.162第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1623.ASCII码与各数据类型转换码与各数据类型转换ASCII码中实际是各种标准字符的编码,转换指令可以实现十六进制数码中实际是各种标准字符的编码,转换指令可以实现十六进制数据和据和ASCII码的相互转换以及整型、双整型、实型对码的相互转换以及整型、双整型、实型对ASCII码的转换。码的转换。1)ATH、HTA指令指令(1)指令格式及操作数。指令格式及操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-60。操作数见表。操作数见表7-61。表表7-60ATH、HTA指令的基本格式指令的基本格式名名称称ASCII码到十六进制数转换码到十六进制数转换十六进制数到十六进制数到ASCII码转换码转换指令指令ATHHTA指令表格式指令表格式ATHIN,OUT,LENHTAIN,OUT,LEN梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.163第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.163表表7-61ATH、HTA指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据类型数据类型ATHHTAIN/OUTVB,IB,QB,MB,SMB,LB,SB,*VD,*AC,*LDBYTELENVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE(2)指令功能。指令功能。ATHEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节开始长度为端口指定的字节开始长度为LEN的的ASCII码字符串转换为十六进制数,输出到码字符串转换为十六进制数,输出到OUT端口指定的字节单元。端口指定的字节单元。ASCII码字符串的最大长度为码字符串的最大长度为255个字符。个字符。HTAEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节开始长度为端口指定的字节开始长度为LEN的的十六进制数转换为十六进制数转换为ASCII码字符串,输出到码字符串,输出到OUT端口指定的字节单元。可转换端口指定的字节单元。可转换的十六进制数的最大长度为的十六进制数的最大长度为255个字符。个字符。7.5 7.5 数据处理功能指令数据处理功能指令 1.164第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.164(3)指令应用举例。指令应用举例。ASCII码到十六进制数的转换如图码到十六进制数的转换如图7.58所示。所示。图图7.58ASCII码到十六进制数的转换码到十六进制数的转换VB100开始的开始的4个字节中分别存放着个字节中分别存放着ASCII码字符的十六进制数:码字符的十六进制数:36、46、39、43。I0.0闭合时,将这闭合时,将这4个个ASCII码字符转换为相应的十六进制数:码字符转换为相应的十六进制数:6、F、9、C,存放在,存放在VB200开始的两个字节中。开始的两个字节中。本指令中有效的本指令中有效的ASCII码字符的十六进制值应在码字符的十六进制值应在3039和和4146之间,之间,即十六进制数即十六进制数0F。7.5 7.5 数据处理功能指令数据处理功能指令 1.165第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1652)ITA、DTA、RTA指令指令(1)指令格式及其操作数。指令格式及其操作数。指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-62。操作数见表。操作数见表7-63。表表7-62ITA、DTA、RTA指令的基本格式指令的基本格式名名称称整数到整数到ASCII码转码转换换双整数到双整数到ASCII码码转换转换实数到实数到ASCII码转码转换换指令指令ITADTARTA指令表格式指令表格式ITAIN,OUT,FMTDTAIN,OUT,FMTRTAIN,OUT,FMT梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.166第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.166表表7-63ITA、DTA、RTA指令的操作数指令的操作数指指令令输入输入/输出输出操操作作数数数据数据类型类型ITAINVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVB,IB,QB,MB,SMB,LB,SB,*VD,*AC,*LDBYTEFMTVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTEDTAINVD、ID、QD、MD、SD、SMD、LD、HC、AC,常数,常数,*VD,*AC,*LDDINTOUTVB,IB,QB,MB,SMB,LB,SB,*VD,*AC,*LDBYTEFMTVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.167第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.167RTAINVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDREALOUTVB,IB,QB,MB,SMB,LB,SB,*VD,*AC,*LDBYTEFMTVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE指指令令输入输入/输出输出操操作作数数数据数据类型类型7.5 7.5 数据处理功能指令数据处理功能指令 1.168第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.168(2)指令功能。指令功能。ITAEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的整数根据格式端口指定的整数根据格式FMT要求转要求转换为换为ASCII码,输出到码,输出到OUT端口指定字节开始的端口指定字节开始的8个连续字节中。个连续字节中。DTAEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双整数根据格式端口指定的双整数根据格式FMT要求要求转换为转换为ASCII码,输出到码,输出到OUT端口指定字节开始的端口指定字节开始的12个连续字节中。个连续字节中。RTAEN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的实数根据格式端口指定的实数根据格式FMT要求转要求转换为换为ASCII码,输出到码,输出到OUT端口指定字节开始的端口指定字节开始的315个连续字节中。个连续字节中。(3)指令说明。指令说明。ITA、DTA、RTA指令中都有一个格式指令中都有一个格式FMT,它决定了指令转换的具体,它决定了指令转换的具体格式。格式。FMT是一个字节,用于指定小数点右侧的转换精度,以及将小数点表示是一个字节,用于指定小数点右侧的转换精度,以及将小数点表示为逗号还是点号。为逗号还是点号。ITA、DTA指令的指令的FMT格式如下。格式如下。765432100000cnnn7.5 7.5 数据处理功能指令数据处理功能指令 1.169第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.169nnn表示输出缓冲器内小数点右侧的位数,表示输出缓冲器内小数点右侧的位数,nnn的有效范围是的有效范围是05。如。如果果nnn=2#000,则转换后无小数点;如果,则转换后无小数点;如果nnn大于大于5,则输出缓冲区用,则输出缓冲区用ASCII码的空格填充。码的空格填充。c指定小数点的标点符号,指定小数点的标点符号,c=1是使用逗号为整数和小数部分的分隔符;是使用逗号为整数和小数部分的分隔符;c=0是使用点号为整数和小数部分的分隔符。是使用点号为整数和小数部分的分隔符。FMT字节的高字节的高4位必须为位必须为0。RTA指令的指令的FMT格式如下。格式如下。76543210ssSscnnnnnn表示输出缓冲器内小数点右侧的位数,表示输出缓冲器内小数点右侧的位数,nnn的有效范围是的有效范围是05。如。如果果nnn=2#000,则转换后无小数点;如果,则转换后无小数点;如果nnn大于大于5,则输出缓冲区用,则输出缓冲区用ASCII码的空格填充。码的空格填充。7.5 7.5 数据处理功能指令数据处理功能指令 1.170第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.170输出缓冲区格式化规则为正值不带符号写入输出缓冲区;负值带负号输出缓冲区格式化规则为正值不带符号写入输出缓冲区;负值带负号写入输出缓冲区;小数点左侧的起首写入输出缓冲区;小数点左侧的起首0(与小数点相邻的数字与小数点相邻的数字0除外除外)将被省略;将被省略;输出缓冲区中的数值采用右对齐。输出缓冲区中的数值采用右对齐。对于对于RTA指令,还有如下规则:转换后小数点右侧的数值进行四舍五入来满指令,还有如下规则:转换后小数点右侧的数值进行四舍五入来满足由足由FMT指定的小数点右侧的位数;输出缓冲区的大小必须不小于指定的小数点右侧的位数;输出缓冲区的大小必须不小于3个字节,个字节,且要大于且要大于nnn指定的小数点右侧的位数。指定的小数点右侧的位数。对于对于ITA、DTA指令,其指令,其FMT格式的不同只有输出缓冲区的大小不同。格式的不同只有输出缓冲区的大小不同。ITA指令为指令为8字节的缓冲区,字节的缓冲区,DTA指令为指令为12字节的缓冲区。字节的缓冲区。ITA、DTA、RTA指令在格式指令在格式FMT控制下转换前后的数据见表控制下转换前后的数据见表7-64。c指定小数点的标点符号,指定小数点的标点符号,c=1是使用逗号为整数和小数部分的分隔符;是使用逗号为整数和小数部分的分隔符;c=0是使用点号为整数和小数部分的分隔符。是使用点号为整数和小数部分的分隔符。ssss指定输出缓冲区的长度,指定输出缓冲区的长度,ssss的有效范围是的有效范围是312,当取,当取0、1、2时无效。时无效。7.5 7.5 数据处理功能指令数据处理功能指令 1.171第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.171表表7-64ITA、DTA、RTA指令在格式指令在格式FMT控制下转换前后的数据控制下转换前后的数据指令指令FMTINOUT(字节字节)+1+2+3+4+5+6+7+8+9+10+11ITA2#00000011120.0122#00000011- -12345- -12.345DTA2#00000100- -12- -0.00122#000001001234567123.45677.5 7.5 数据处理功能指令数据处理功能指令 1.172第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.172RTA2#011000011234.51234.52#01100001- -3.67526- -3.72#11000100123.85186123.8519指令指令FMTINOUT(字节字节)+1+2+3+4+5+6+7+8+9+10+11注:灰色区域注:灰色区域为为不用字不用字节节。7.5 7.5 数据处理功能指令数据处理功能指令 1.173第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1737.5.3比较指令比较指令比较指令用于将两个操作数按指定条件进行比较,当条件成立时,触点闭比较指令用于将两个操作数按指定条件进行比较,当条件成立时,触点闭合。所以比较指令也是一种位控制指令,对其可以进行合。所以比较指令也是一种位控制指令,对其可以进行LD、A和和O编程。编程。比较指令可以应用于字节、整数、双字整数和实数比较。其中,字节比较比较指令可以应用于字节、整数、双字整数和实数比较。其中,字节比较是无符号的,整数、双字整数和实数比较是有符号的。是无符号的,整数、双字整数和实数比较是有符号的。其比较的关系运算符有其比较的关系运算符有6种:种:=、=、=和和。比较指令的梯形图和指令表格式见表比较指令的梯形图和指令表格式见表7-65。操作数见表。操作数见表7-66。图。图7.59为指为指令应用举例。令应用举例。表表7-65比较指令的基本格式比较指令的基本格式7.5 7.5 数据处理功能指令数据处理功能指令 1.174第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.174比较方式比较方式字节比较字节比较整数比较整数比较双字整数比较双字整数比较实数比较实数比较指令表格式指令表格式LDB=IN1,IN2AB=IN1,IN2OB=IN1,IN2LDBIN1,IN2ABIN1,IN2OBIN1,IN2LDBIN1,IN2ABIN1,IN2OBIN1,IN2LDB=IN1,IN2AB=IN1,IN2OBIN1,IN2ABIN1,IN2OBIN1,IN2LDB=IN1,IN2AB=IN1,IN2OB=IN1,IN2LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2LDWIN1,IN2AWIN1,IN2OWIN1,IN2LDWIN1,IN2AWIN1,IN2OWIN1,IN2LDW=IN1,IN2AW=IN1,IN2OWIN1,IN2AWIN1,IN2OWIN1,IN2LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2LDD=IN1,IN2AD=IN1,IN2OD=IN1,IN2LDDIN1,IN2ADIN1,IN2ODIN1,IN2LDDIN1,IN2ADIN1,IN2ODIN1,IN2LDD=IN1,IN2AD=IN1,IN2ODIN1,IN2ADIN1,IN2ODIN1,IN2LDD=IN1,IN2AD=IN1,IN2OD=IN1,IN2LDR=IN1,IN2AR=IN1,IN2OR=IN1,IN2LDRIN1,IN2ARIN1,IN2ORIN1,IN2LDRIN1,IN2ARIN1,IN2ORIN1,IN2LDR=IN1,IN2AR=IN1,IN2ORIN1,IN2ARIN1,IN2ORIN1,IN2LDR=IN1,IN2AR=IN1,IN2OR=IN1,IN27.5 7.5 数据处理功能指令数据处理功能指令 1.175第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.175梯形图格式梯形图格式(以以=为例为例)7.5 7.5 数据处理功能指令数据处理功能指令 1.176第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.176比较方式比较方式输输入入操操作作数数数据类型数据类型字节比较字节比较IN1、IN2VB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE整数比较整数比较IN1、IN2IW,QW,MW,SW,SMW,VW,LW。AIW,T,C,AC,常数,常数,*VD,*AC,*LDINT双字整数比双字整数比较较IN1、IN2ID,QD,MD,SD,SMD,VD,LD,HC,AC,常数,常数,*VD,*AC,*LDDINT实数比较实数比较IN1、IN2ID,QD,MD,SD,SMD,VD,LD,AC,常数,常数,*VD,*AC,*LDREAL表表7-66比较指令的操作数比较指令的操作数7.5 7.5 数据处理功能指令数据处理功能指令 1.177第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.177图图7.59比较指令应用比较指令应用程序启动后,增计数器程序启动后,增计数器C3开始计数,计数脉冲由特殊标志位开始计数,计数脉冲由特殊标志位SM0.5输出输出1秒秒脉冲提供。当计数器当前值大于等于脉冲提供。当计数器当前值大于等于10时,时,Q0.0接通;当接通;当I0.1闭合,同时计数闭合,同时计数器当前值大于等于器当前值大于等于20时,时,Q0.1接通;接通;I0.2闭合或计数器当前值等于闭合或计数器当前值等于30时,时,Q0.2接通。接通。7.5 7.5 数据处理功能指令数据处理功能指令 1.178第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1787.5.4移位和循环移位指令移位和循环移位指令数据移位指令是对数值的每一位进行左移或右移,从而实现数值变换。数据移位指令是对数值的每一位进行左移或右移,从而实现数值变换。移位和循环移位指令均为无符号数操作。移位和循环移位指令均为无符号数操作。1.SHRB指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-67。操作数见表。操作数见表7-68。表表7-67SHRB指令的基本格式指令的基本格式名名称称位移位寄存器位移位寄存器指令指令SHRB指令表格式指令表格式SHRBDATA,S_BIT,N梯形图格式梯形图格式7.5 7.5 数据处理功能指令数据处理功能指令 1.179第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.179表表7-68SHRB指令的操作数指令的操作数指指令令输入输入/输出输出操操作作数数数据类型数据类型SHRBDATA/S_BITI,Q,M,SM,T,C,V,S,Lbit/BYTENVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDINT2)指令功能指令功能SHRB位移位寄存指令,位移位寄存指令,S_BIT和和N共同确定要移位的寄存器,共同确定要移位的寄存器,S_BIT指指定该寄存器的最低位,定该寄存器的最低位,N指定移位寄存器的长度,其最大长度为指定移位寄存器的长度,其最大长度为64;N值可正可值可正可负,用于决定移位的方向负,用于决定移位的方向(正向移位正向移位=N,反向移位,反向移位=-N);DATA端指定移入位的端指定移入位的状态状态(0或或1),它的输入应为位操作数。当,它的输入应为位操作数。当EN端口执行条件存在时,每一个扫描端口执行条件存在时,每一个扫描周期周期SHRB指令使指定寄存器的内容移动一位,把指令使指定寄存器的内容移动一位,把DATA端指定移入位的状态移端指定移入位的状态移入寄存器,最高位则移出到溢出位入寄存器,最高位则移出到溢出位SM1.1中。中。7.5 7.5 数据处理功能指令数据处理功能指令 1.180第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1803)指令应用举例指令应用举例位移位寄存指令提供了一种排列和控制产品流或数据流的简单方法,非位移位寄存指令提供了一种排列和控制产品流或数据流的简单方法,非常实用。指令应用如图常实用。指令应用如图7.60所示。所示。图图7.60SHRB指令应用指令应用7.5 7.5 数据处理功能指令数据处理功能指令 1.181第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.181(1)因为该指令在因为该指令在EN端口执行条件存在时,每一个扫描周期端口执行条件存在时,每一个扫描周期SHRB指令使指令使指定寄存器的内容移动一位,所以在控制时需要增加一个正跳变指令,使其在指定寄存器的内容移动一位,所以在控制时需要增加一个正跳变指令,使其在I0.0每次闭合时只运行一个扫描周期,实现由外部输入控制移位的效果。每次闭合时只运行一个扫描周期,实现由外部输入控制移位的效果。(2)数据输入端为数据输入端为I0.1,移位时若,移位时若I0.1为为1,则移入,则移入1;若;若I0.1为为0,则移入,则移入0。(3)S_BIT和和N共同确定的移位寄存器是共同确定的移位寄存器是VB100,最低位为,最低位为V100.0,最高,最高位为位为V100.7,共,共8位。位。2.SRB、SLB、SRW、SLW、SRD和和SLD指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-69。操作数见表。操作数见表7-70。2)指令功能指令功能SRB字节右移位指令,当字节右移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字端口指定的字节数据右移节数据右移N位后,输出到位后,输出到OUT端口指定的字节单元。端口指定的字节单元。SLB字节左移位指令,当字节左移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节端口指定的字节数据左移数据左移N位后,输出到位后,输出到OUT端口指定的字节单元。端口指定的字节单元。SRW字右移位指令,当字右移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字数端口指定的字数据右移据右移N位后,输出到位后,输出到OUT端口指定的字单元。端口指定的字单元。7.5 7.5 数据处理功能指令数据处理功能指令 1.182第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.182表表7-69SRB、SLB、SRW、SLW、SRD、SLD指令的基本格式指令的基本格式名名称称字节右移字节右移位位字节左移字节左移位位字右移位字右移位字左移位字左移位双字右移双字右移位位双字左移双字左移位位指令指令SRBSLBSRWSLWSRDSLD指令指令表格表格式式SRBOUT,NSLBOUT,NSRWOUT,NSLWOUT,NSRDOUT,NSLDOUT,N梯形梯形图格图格式式7.5 7.5 数据处理功能指令数据处理功能指令 1.183第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.183表表7-70SRB、SLB、SRW、SLW、SRD、SLD指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型SRBSLBINVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTEOUTVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LDBYTENVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTESRWSLWINVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDWORDOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDWORDNVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.184第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.184指指令令输入输入/输输出出操操作作数数数据类型数据类型SRDSLDINVD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDWORDOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDWORDNVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTESLW字左移位指令,当字左移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字数据端口指定的字数据左移左移N位后,输出到位后,输出到OUT端口指定的字单元。端口指定的字单元。SRD双字右移位指令,当双字右移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双字端口指定的双字数据右移数据右移N位后,输出到位后,输出到OUT端口指定的双字单元。端口指定的双字单元。SLD双字左移位指令,当双字左移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双字端口指定的双字数据左移数据左移N位后,输出到位后,输出到OUT端口指定的双字单元。端口指定的双字单元。7.5 7.5 数据处理功能指令数据处理功能指令 1.185第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1853)指令说明指令说明(1)以上以上6条指令均为无符号操作。条指令均为无符号操作。(2)移位指令会对移出位自动补移位指令会对移出位自动补0。对字节移位指令如果所需移位次数。对字节移位指令如果所需移位次数N大大于或等于于或等于8,则实际最大可移位数为,则实际最大可移位数为8;对字移位指令如果所需移位次数;对字移位指令如果所需移位次数N大于大于或等于或等于16,则实际最大可移位数为,则实际最大可移位数为16;对双字移位指令如果所需移位次数;对双字移位指令如果所需移位次数N大于或等于大于或等于32,则实际最大可移位数为,则实际最大可移位数为32。(3)如果所需移位数大于如果所需移位数大于0,则溢出位,则溢出位SM1.1中为最后一个移出的位值。中为最后一个移出的位值。(4)如果移位操作的结果是如果移位操作的结果是0,则零存储器位,则零存储器位SM1.0就置位为就置位为1。3.RRB、RLB、RRW、RLW、RRD和和RLD指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-71。操作数见表。操作数见表7-72。7.5 7.5 数据处理功能指令数据处理功能指令 1.186第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.186表表7-71RRB、RLB、RRW、RLW、RRD、RLD指令的基本格式指令的基本格式名名称称字节循环字节循环右移位右移位字节循环字节循环左移位左移位字循环字循环右移位右移位字循环字循环左移位左移位双字循环双字循环右移位右移位双字循环双字循环左移位左移位指令指令RRBRLBRRWRLWRRDRLD指令指令表格表格式式RRBOUT,NRLBOUT,NRRWOUT,NRLWOUT,NRRDOUT,NRLDOUT,N梯形梯形图格图格式式7.5 7.5 数据处理功能指令数据处理功能指令 1.187第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.187表表7-72RRB、RLB、RRW、RLW、RRD、RLD指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据数据类型类型RRBRLBINVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTEOUTVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LDBYTENVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.188第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.188指指令令输入输入/输输出出操作数操作数数据类型数据类型RRWRLWINVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDWORDOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDWORDNVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE7.5 7.5 数据处理功能指令数据处理功能指令 1.189第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.189RRDRLDINVD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDWORDOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDWORDNVB,IB,QB,MB,SMB,LB,SB,AC,常数,常数,*VD,*AC,*LDBYTE指指令令输入输入/输输出出操作数操作数数据类型数据类型2)指令功能指令功能循环移位指令将循环数据存储单元的移出端与另一端相连,所以最后被移循环移位指令将循环数据存储单元的移出端与另一端相连,所以最后被移出的位被移动到了另一端。同时移出端又与溢出位出的位被移动到了另一端。同时移出端又与溢出位SM1.1相连,所以移出位也相连,所以移出位也进入了进入了SM1.1,溢出位,溢出位SM1.1中始终存放最后一次被移出的位值。中始终存放最后一次被移出的位值。7.5 7.5 数据处理功能指令数据处理功能指令 1.190第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.190RRB字节循环右移位指令,当字节循环右移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指端口指定的字节数据循环右移定的字节数据循环右移N位后,输出到位后,输出到OUT端口指定的字节单元。端口指定的字节单元。RLB字节循环左移位指令,当字节循环左移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指端口指定的字节数据循环左移定的字节数据循环左移N位后,输出到位后,输出到OUT端口指定的字节单元。端口指定的字节单元。RRW字右循环移位指令,当字右循环移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定端口指定的字数据循环右移的字数据循环右移N位后,输出到位后,输出到OUT端口指定的字单元。端口指定的字单元。RLW字左循环移位指令,当字左循环移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定端口指定的字数据循环左移的字数据循环左移N位后,输出到位后,输出到OUT端口指定的字单元。端口指定的字单元。RRD双字循环右移位指令,当双字循环右移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指端口指定的双字数据循环右移定的双字数据循环右移N位后,输出到位后,输出到OUT端口指定的双字单元。端口指定的双字单元。RLD双字循环左移位指令,当双字循环左移位指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指端口指定的双字数据循环左移定的双字数据循环左移N位后,输出到位后,输出到OUT端口指定的双字单元。端口指定的双字单元。7.5 7.5 数据处理功能指令数据处理功能指令 1.191第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1913)指令说明指令说明(1)以上以上6条指令均为无符号操作。条指令均为无符号操作。(2)对字节循环移位指令如果设置移位次数对字节循环移位指令如果设置移位次数N大于或等于大于或等于8,在循环移位,在循环移位前先对前先对N取以取以8为底的模,其结果为底的模,其结果07为实际移动位数;对字循环移位指令如为实际移动位数;对字循环移位指令如果设置移位次数果设置移位次数N大于或等于大于或等于16,在循环移位前先对,在循环移位前先对N取以取以16为底的模,其结为底的模,其结果果015为实际移动位数;对双字循环移位指令如果设置移位次数为实际移动位数;对双字循环移位指令如果设置移位次数N大于或等大于或等于于32,在循环移位前先对,在循环移位前先对N取以取以32为底的模,其结果为底的模,其结果031为实际移动位数;为实际移动位数;(3)取模后结果为取模后结果为0则不执行循环移位,结果不为则不执行循环移位,结果不为0,则溢出位,则溢出位SM1.1中为中为最后一个移出的位值。最后一个移出的位值。(4)如果移位操作的结果是如果移位操作的结果是0,则零存储器位,则零存储器位SM1.0就置位为就置位为1。4)移位指令举例移位指令举例图图7.61中为字左移指令和字循环右移指令的应用。中为字左移指令和字循环右移指令的应用。7.5 7.5 数据处理功能指令数据处理功能指令 1.192第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.192图图7.61移位指令的应用移位指令的应用7.5 7.5 数据处理功能指令数据处理功能指令 1.193第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1937.5.5数据处理功能指令编程举例数据处理功能指令编程举例例例1.上下限位报警控制上下限位报警控制控制要求:某压力检测报警系统,通过传感器检测压力向模拟量模块输入控制要求:某压力检测报警系统,通过传感器检测压力向模拟量模块输入0V10V电压信号,通过电压信号,通过A/D转换器转换为相应数字量存放在转换器转换为相应数字量存放在AIW0中。试编程中。试编程实现转换值超过实现转换值超过26000时,红灯亮报警;超过时,红灯亮报警;超过30000时,红灯闪烁时,红灯闪烁(0.5秒亮,秒亮,0.5秒灭秒灭)报警;转换值低于报警;转换值低于1000时,黄灯亮报警。时,黄灯亮报警。(1)I/O分配见表分配见表7-73。表表7-73上下限位报警控制上下限位报警控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0系统启动按钮系统启动按钮Q0.0红灯输出红灯输出Q0.1黄灯输出黄灯输出7.5 7.5 数据处理功能指令数据处理功能指令 1.194第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.194(2)程序如程序如图图7.62所示。所示。图7.62 上下限位报警控制程序7.5 7.5 数据处理功能指令数据处理功能指令 1.195第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.195例例2.工业检测打标系统控制工业检测打标系统控制控制要求:如图控制要求:如图7.63所示工件检测台,在所示工件检测台,在1号位置通过传感器号位置通过传感器SB1可以检可以检测工件有无缺陷,若有缺陷测工件有无缺陷,若有缺陷(SB1闭合闭合)则在则在4号位置将电磁阀号位置将电磁阀Y通电通电100ms控制控制喷枪向工件喷射次品标志。检测台通过传感器喷枪向工件喷射次品标志。检测台通过传感器SB2在每个工件到达检测点时发在每个工件到达检测点时发送一个脉冲信号。试编程实现检测及打标控制。送一个脉冲信号。试编程实现检测及打标控制。图图7.63工业检测打标系统控制示意图工业检测打标系统控制示意图7.5 7.5 数据处理功能指令数据处理功能指令 1.196第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.196(1)I/O分配见表分配见表7-74。表表7-74工业检测打标系统控制工业检测打标系统控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0工件检测信号工件检测信号(SB1)Q0.0电磁阀电磁阀YI0.1工件到位脉冲工件到位脉冲(SB2)7.5 7.5 数据处理功能指令数据处理功能指令 1.197第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.197(2)程序如图程序如图7.64所示。所示。图图7.64工业检测打标系统控制程序工业检测打标系统控制程序7.5 7.5 数据处理功能指令数据处理功能指令 1.198第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1987.6 7.6 数据运算指令数据运算指令随着控制领域中新型控制算法的出现和复杂控制对控制器计算能力的要随着控制领域中新型控制算法的出现和复杂控制对控制器计算能力的要求,新型求,新型PLC中普遍增加了较强的计算功能。数据运算指令分为算术运算和逻中普遍增加了较强的计算功能。数据运算指令分为算术运算和逻辑运算两大类。辑运算两大类。1.199第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1997.6.1算术运算指令算术运算指令算术运算指令包括加、减、乘、除及常用函数指令。在梯形图编程和指算术运算指令包括加、减、乘、除及常用函数指令。在梯形图编程和指令表编程时对存储单元的要求是不同的,所以在使用时一定要注意存储单元令表编程时对存储单元的要求是不同的,所以在使用时一定要注意存储单元的分配。梯形图编程时,的分配。梯形图编程时,IN2和和OUT指定的存储单元可以相同也可以不同;指指定的存储单元可以相同也可以不同;指令表编程时,令表编程时,IN2和和OUT要使用相同的存储单元。算术运算指令在梯形图和指要使用相同的存储单元。算术运算指令在梯形图和指令表中的具体执行过程见表令表中的具体执行过程见表7-75。若在梯形图编程时,。若在梯形图编程时,IN2和和OUT使用了不同使用了不同的存储单元,在转换为指令表格式时会使用数据传递指令对程序进行处理,的存储单元,在转换为指令表格式时会使用数据传递指令对程序进行处理,将将IN2与与OUT变为一致,表变为一致,表7-76中以整数加法指令具体说明。一般来说,梯形中以整数加法指令具体说明。一般来说,梯形图对存储单元的分配更加灵活。图对存储单元的分配更加灵活。7.6 7.6 数据运算指令数据运算指令1.200第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.200表表7-75算术运算指令在梯形图和指令表中的具体执行过程算术运算指令在梯形图和指令表中的具体执行过程运算形式运算形式梯梯形形图图指指令令表表加加IN1+IN2=OUTIN1+OUT=OUT减减IN1- -IN2=OUTOUT- -IN1=OUT乘乘IN1*IN2=OUTIN1*OUT=OUT除除IN1/IN2=OUTOUT/IN1=OUT自增自增1IN+1=OUTOUT+1=OUT自减自减1IN1=OUTOUT- -1=OUT7.6 7.6 数据运算指令数据运算指令1.201第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.201表表7-76运算指令在梯形图和指令表中的转换处理运算指令在梯形图和指令表中的转换处理IN2和和OUT一致一致IN2和和OUT不一致不一致指令表指令表LDI0.0+IVW10,VW20LDI0.0MOVWVW10,VW30+IVW20,VW30梯形图梯形图7.6 7.6 数据运算指令数据运算指令1.202第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2021.ADD_I、ADD_DI、ADD_R指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-77。操作数见表。操作数见表7-78。表表7-77ADD_I、ADD_DI、ADD_R指令的基本格式指令的基本格式名名称称整数加法整数加法双整数加法双整数加法实数加法实数加法指令指令ADD_IADD_DIADD_R指令表格式指令表格式+IIN1,OUT+DIN1,OUT+RIN1,OUT梯形图格式梯形图格式7.6 7.6 数据运算指令数据运算指令1.203第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.203表表7-78ADD_I、ADD_DI、ADD_R指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型ADD_IIN1/IN2VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDINT7.6 7.6 数据运算指令数据运算指令1.204第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.204指指令令输入输入/输输出出操操作作数数数据类数据类型型ADD_DIIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINTADD_RIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDREALOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDREAL7.6 7.6 数据运算指令数据运算指令1.205第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2052)指令功能指令功能ADD_I整数加法指令,当整数加法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的单字长符号整数相加,产生一个的单字长符号整数相加,产生一个16位整数,输出到位整数,输出到OUT端口指定的字存储单端口指定的字存储单元。元。ADD_DI双整数加法指令,当双整数加法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口端口指定的双字长符号整数相加,产生一个指定的双字长符号整数相加,产生一个32位双整数,输出到位双整数,输出到OUT端口指定的双端口指定的双字存储单元。字存储单元。ADD_R实数加法指令,当实数加法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的双字长实数相加,产生一个的双字长实数相加,产生一个32位实数,输出到位实数,输出到OUT端口指定的双字存储单元。端口指定的双字存储单元。2.SUB_I、SUB_DI、SUB_R指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-79。操作数见表。操作数见表7-80。7.6 7.6 数据运算指令数据运算指令1.206第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.206表表7-79SUB_I、SUB_DI、SUB_R指令的基本格式指令的基本格式名名称称整数减法整数减法双整数减法双整数减法实数减法实数减法指令指令SUB_ISUB_DISUB_R指令表格式指令表格式- -IIN1,OUT- -DIN1,OUT- -RIN1,OUT梯形图格式梯形图格式7.6 7.6 数据运算指令数据运算指令1.207第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.207表表7-80SUB_I、SUB_DI、SUB_R指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型SUB_IIN1/IN2VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDINTSUB_DIIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINTSUB_RIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDREALOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDREAL7.6 7.6 数据运算指令数据运算指令1.208第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2082)指令功能指令功能SUB_I整数减法指令,当整数减法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的单字长符号整数相减,产生一个定的单字长符号整数相减,产生一个16位整数,输出到位整数,输出到OUT端口指定的字存端口指定的字存储单元。储单元。SUB_DI双整数减法指令,当双整数减法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端端口指定的双字长符号整数相减,产生一个口指定的双字长符号整数相减,产生一个32位双整数,输出到位双整数,输出到OUT端口指定端口指定的双字存储单元。的双字存储单元。SUB_R实数减法指令,当实数减法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的双字长实数相减,产生一个定的双字长实数相减,产生一个32位实数,输出到位实数,输出到OUT端口指定的双字存储端口指定的双字存储单元。单元。3.MUL_I、MUL、MUL_DI、MUL_R指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-81。操作数见表。操作数见表7-82。7.6 7.6 数据运算指令数据运算指令1.209第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.209表7-81 MUL_I、MUL、MUL_DI、MUL_R指令的基本格式名名称称整数乘法整数乘法完全整数乘法完全整数乘法双整数乘法双整数乘法实数乘法实数乘法指令指令MUL_IMULMUL_DIMUL_R指令表格指令表格式式*IIN1,OUTMULIN1,OUT*DIN1,OUT*RIN1,OUT梯形图格梯形图格式式7.6 7.6 数据运算指令数据运算指令1.210第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.210表表7-82MUL_I、MUL、MUL_DI、MUL_R指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型MUL_IIN1/IN2VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDINTMULIN1/IN2VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINT7.6 7.6 数据运算指令数据运算指令1.211第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.211MUL_DIIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINTMUL_RIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,常数,常数,*VD,*AC,*LDREALOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDREAL指指令令输入输入/输输出出操操作作数数数据类数据类型型7.6 7.6 数据运算指令数据运算指令1.212第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2122)指令功能指令功能MUL_I整数乘法指令,当整数乘法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的单字长符号整数相乘,产生一个的单字长符号整数相乘,产生一个16位整数,输出到位整数,输出到OUT端口指定的字存储单端口指定的字存储单元。运算结果若大于元。运算结果若大于16位二进制表示的范围,则产生溢出。位二进制表示的范围,则产生溢出。MUL完全整数乘法指令,当完全整数乘法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的单字长符号整数相乘,产生一个定的单字长符号整数相乘,产生一个32位双整数,输出到位双整数,输出到OUT端口指定的双字端口指定的双字存储单元。若存储单元。若IN2与与OUT使用相同的存储单元,则使用相同的存储单元,则OUT指定的存储单元的低指定的存储单元的低16位运算前用于存放被乘数。位运算前用于存放被乘数。MUL_DI双整数乘法指令,当双整数乘法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口端口指定的双字长符号整数相乘,产生一个指定的双字长符号整数相乘,产生一个32位双整数,输出到位双整数,输出到OUT端口指定的双端口指定的双字存储单元。运算结果若大于字存储单元。运算结果若大于32位二进制表示的范围,则产生溢出。位二进制表示的范围,则产生溢出。MUL_R实数乘法指令,当实数乘法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的双字长实数相乘,产生一个定的双字长实数相乘,产生一个32位实数,输出到位实数,输出到OUT端口指定的双字存储单端口指定的双字存储单元。运算结果若大于元。运算结果若大于32位二进制表示的范围,则产生溢出。位二进制表示的范围,则产生溢出。4.DIV_I、DIV、DIV_DI、DIV_R指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令格式见表指令的梯形图和指令格式见表7-83。操作数见表。操作数见表7-84。7.6 7.6 数据运算指令数据运算指令1.213第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.213表表7-83DIV_I、DIV、DIV_DI、DIV_R指令的基本格式指令的基本格式名名称称整数除法整数除法完全整数除法完全整数除法双整数除法双整数除法实数除法实数除法指令指令DIV_IDIVDIV_DIDIV_R指令表格指令表格式式/IIN1,OUTDIVIN1,OUT/DIN1,OUT/RIN1,OUT梯形图格梯形图格式式7.6 7.6 数据运算指令数据运算指令1.214第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.214表表7-84DIV_I、DIV、DIV_DI、DIV_R指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据数据类型类型DIV_IIN1/IN2VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LDINTDIVIN1/IN2VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINT7.6 7.6 数据运算指令数据运算指令1.215第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.215DIV_DIIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINTDIV_RIN1/IN2VD、ID、QD、MD、SD、SMD、LD、AC,常,常数,数,*VD,*AC,*LDREALOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDREAL指指令令输入输入/输输出出操操作作数数数据数据类型类型7.6 7.6 数据运算指令数据运算指令1.216第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2162)指令功能指令功能DIV_I整数除法指令,当整数除法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的单字长符号整数相除,产生一个的单字长符号整数相除,产生一个16位商,输出到位商,输出到OUT端口指定的字存储单端口指定的字存储单元,不保留余数。元,不保留余数。DIV完全整数除法指令,当完全整数除法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的单字长符号整数相除,产生一个定的单字长符号整数相除,产生一个32位的结果,其中低位的结果,其中低16位是商,高位是商,高16位位是余数,输出到是余数,输出到OUT端口指定的双字存储单元。若端口指定的双字存储单元。若IN2与与OUT使用相同的存储使用相同的存储单元,则单元,则OUT指定的存储单元的低指定的存储单元的低16位运算前用于存放被除数。位运算前用于存放被除数。DIV_DI双整数除法指令,当双整数除法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口端口指定的双字长符号整数相除,产生一个指定的双字长符号整数相除,产生一个32位商,输出到位商,输出到OUT端口指定的双字端口指定的双字存储单元,不保留余数。存储单元,不保留余数。DIV_R实数除法指令,当实数除法指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的的32位实数相除,产生一个位实数相除,产生一个32位实数商,输出到位实数商,输出到OUT端口指定的双字存储单端口指定的双字存储单元。元。3)指令说明指令说明7.6 7.6 数据运算指令数据运算指令1.217第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.217除法指令的使用中被除数若为除法指令的使用中被除数若为0,则特殊标志位,则特殊标志位SM1.3将被置位,运算不进将被置位,运算不进行,其他状态位如行,其他状态位如SM1.0(结果为结果为0)、SM1.1(溢出溢出)、SM1.2(负值负值)不变。需要说不变。需要说明的是,加、减、乘指令同样影响明的是,加、减、乘指令同样影响SM1.0、SM1.1、SM1.2这这3个特殊标志位的个特殊标志位的状态。状态。5.INC_B、INC_W、INC_DW及及DEC_B、DEC_W、DEC_DW指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-85。操作数见表。操作数见表7-86。表表7-85自增、自减指令的基本格式自增、自减指令的基本格式名称名称字节自增字节自增1字自增字自增1双字自增双字自增1字节自减字节自减1字自减字自减1双字自双字自减减1指令指令INC_BINC_WINC_DWDEC_BDEC_WDEC_DW指令表指令表格式格式INCBOUTINCWOUTINCDOUTDECBOUTDECWOUTDECDOUT梯形图梯形图格式格式7.6 7.6 数据运算指令数据运算指令1.218第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.218表表7-86自增、自减指令操作数自增、自减指令操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型INC_BDEC_BINVB,IB,QB,MB,SB,SMB,LB,AC,常数,常数,*VD,*AC,*LDBYTEOUTVB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LDBYTEINC_WDEC_WINVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,常数,常数,*VD,*AC,*LDINTOUTVW,IW,QW,MW,SW,SMW,LW,AC,*VD,*AC,*LDINTINC_DWDEC_DWINVD、ID、QD、MD、SD、SMD、LD、AC,HC、常数,、常数,*VD,*AC,*LDDINTOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDDINT7.6 7.6 数据运算指令数据运算指令1.219第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2192)指令功能指令功能INC_B字节自增字节自增1指令,当指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字节端口指定的字节数据加数据加1,输出到,输出到OUT端口指定的字节单元。端口指定的字节单元。INC_W字自增字自增1指令,当指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字数端口指定的字数据加据加1,输出到,输出到OUT端口指定的字单元。端口指定的字单元。INC_DW双字自增双字自增1指令,当指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双端口指定的双字数据加字数据加1,输出到,输出到OUT端口指定的双字单元。端口指定的双字单元。DEC_B字节自减字节自减1指令,当指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字端口指定的字节数据减节数据减1,输出到,输出到OUT端口指定的字节单元。端口指定的字节单元。DEC_W字自减字自减1指令,当指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的字数端口指定的字数据减据减1,输出到,输出到OUT端口指定的字单元。端口指定的字单元。DEC_DW双字自减双字自减1指令,当指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的双端口指定的双字数据减字数据减1,输出到,输出到OUT端口指定的双字单元。端口指定的双字单元。3)指令说明指令说明(1)INC_B、DEC_B指令的操作数是无符号的,指令的操作数是无符号的,INC_W、DEC_W、INC_DW、DEC_DW指令的操作数是有符号的指令的操作数是有符号的(最高位是符号位最高位是符号位)。(2)使用自增指令时,使用自增指令时,IN和和OUT指定的存储单元较多使用相同地址。指定的存储单元较多使用相同地址。7.6 7.6 数据运算指令数据运算指令1.220第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2206.数学功能指令数学功能指令数学功能指令包含了数学计算中常用的平方根、自然对数、指数、三角函数学功能指令包含了数学计算中常用的平方根、自然对数、指数、三角函数等指令。其运算输入输出数据均为实数,其运算结果如果超过数等指令。其运算输入输出数据均为实数,其运算结果如果超过32位二进制数位二进制数表示的范围,则产生溢出。表示的范围,则产生溢出。1)指令格式及操作数指令格式及操作数SQRT、LN、EXP、SIN、COS、TAN指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-87。操作数见表。操作数见表7-88。表表7-87数学功能指令的基本格式数学功能指令的基本格式名名称称平平方方根根自然对数自然对数指指数数正正弦弦余余弦弦正正切切指令指令SQRTLNEXPSINCOSTAN指令表指令表格式格式SQRTIN,OUTLNIN,OUTEXPIN,OUTSININ,OUTCOSIN,OUTTANIN,OUT梯形图梯形图格式格式7.6 7.6 数据运算指令数据运算指令1.221第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.221表表7-88数学功能指令的操作数数学功能指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型SQRT、LNEXP、SINCOS、TANINVD、ID、QD、MD、SD、SMD、LD、AC,常数,常数,*VD,*AC,*LDREALOUTVD、ID、QD、MD、SD、SMD、LD、AC,*VD,*AC,*LDREAL7.6 7.6 数据运算指令数据运算指令1.222第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2222)指令功能指令功能SQRT平方根指令,当平方根指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的端口指定的32位实位实数开平方,得到数开平方,得到32位实数,结果输出到位实数,结果输出到OUT指定的双字存储单元。指定的双字存储单元。LN自然对数指令,当自然对数指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的端口指定的32位实位实数取自然对数,得到数取自然对数,得到32位实数,结果输出到位实数,结果输出到OUT指定的双字存储单元。若要求指定的双字存储单元。若要求以以10为底的常用对数时,可以用实数除法指令为底的常用对数时,可以用实数除法指令(DIV_R)将自然对数除将自然对数除2.302585(LN102.302585)即可。即可。EXP指数指令,当指数指令,当EN端口执行条件存在时,将端口执行条件存在时,将IN端口指定的端口指定的32位实数取位实数取以以e为底的指数,得到为底的指数,得到32位实数,结果输出到位实数,结果输出到OUT指定的双字存储单元。该指指定的双字存储单元。该指令可与自然对数指令配合,完成以任意数为底,任意数为指数的计算。如:令可与自然对数指令配合,完成以任意数为底,任意数为指数的计算。如:125=EXP(5*LN12)SIN、COS、TAN正弦指令、余弦指令和正切指令,当正弦指令、余弦指令和正切指令,当EN端口执行条件端口执行条件存在时,将存在时,将IN端口指定的端口指定的32位实数取正弦、余弦、正切,得到位实数取正弦、余弦、正切,得到32位实数,结果位实数,结果输出到输出到OUT指定的双字存储单元。指定的双字存储单元。IN端口的端口的32位实数应为弧度值。若输入为角位实数应为弧度值。若输入为角度值,需要使用实数乘法指令度值,需要使用实数乘法指令(MUL_R)将该角度值乘以将该角度值乘以/180转换为弧度值。转换为弧度值。7.6 7.6 数据运算指令数据运算指令1.223第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2237.6.2逻辑运算指令逻辑运算指令除能对位地址进行逻辑处理外,除能对位地址进行逻辑处理外,PLC中提供了对字节、字、双字的逻辑中提供了对字节、字、双字的逻辑运算指令。逻辑运算指令对无符号数进行与、或、异或和取反的逻辑运算。逻运算指令。逻辑运算指令对无符号数进行与、或、异或和取反的逻辑运算。逻辑运算指令在梯形图编程和指令表编程时对存储单元的要求也是不同的,其执辑运算指令在梯形图编程和指令表编程时对存储单元的要求也是不同的,其执行过程可以参考算术运算指令。行过程可以参考算术运算指令。1.WAND_B、WOR_B、WXOR_B指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-89。操作数见表。操作数见表7-90。7.6 7.6 数据运算指令数据运算指令1.224第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.224表表7-89WAND_B、WOR_B、WXOR_B指令的基本格式指令的基本格式名名称称字字节节与与字字节节或或字节异或字节异或指令指令WAND_BWOR_BWXOR_B指令表格式指令表格式ANDBIN1,OUTORBIN1,OUTXORBIN1,OUT梯形图格式梯形图格式7.6 7.6 数据运算指令数据运算指令1.225第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.225表表7-90WAND_B、WOR_B、WXOR_B指令的操作数指令的操作数指指令令输入输入/输出输出操操作作数数数据类数据类型型WAND_BWOR_BWXOR_BIN1/IN2VB、IB、QB、MB、SB、SMB、LB、AC,常,常数,数,*VD,*AC,*LDBYTEOUTVB、IB、QB、MB、SB、SMB、LB、AC,*VD,*AC,*LDBYTE7.6 7.6 数据运算指令数据运算指令1.226第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2262)指令功能指令功能WAND_B字节与运算,当字节与运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的字节按位相与,输出到定的字节按位相与,输出到OUT端口指定的字节单元。端口指定的字节单元。WOR_B字节或运算,当字节或运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的字节按位相或,输出到的字节按位相或,输出到OUT端口指定的字节单元。端口指定的字节单元。WXOR_B字节异或运算,当字节异或运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口端口指定的字节按位异或,输出到指定的字节按位异或,输出到OUT端口指定的字节单元。端口指定的字节单元。2.WAND_W、WOR_W、WXOR_W指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-91。操作数见表。操作数见表7-92。7.6 7.6 数据运算指令数据运算指令1.227第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.227表表7-91WAND_W、WOR_W、WXOR_W指令的基本格式指令的基本格式名名称称字字与与字字或或字字异异或或指令指令WAND_WWOR_WWXOR_W指令表格式指令表格式ANDWIN1,OUTORWIN1,OUTXORWIN1,OUT梯形图格式梯形图格式7.6 7.6 数据运算指令数据运算指令1.228第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.228表表7-92WAND_W、WOR_W、WXOR_W指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型WAND_WWOR_WWXOR_WIN1/IN2VW、IW、QW、MW、SW、SMW、LW、T,C,AIW,AC,常数,常数,*VD,*AC,*LDWORDOUTVW、IW、QW、MW、SW、SMW、LW、T,C,AC,*VD,*AC,*LDWORD7.6 7.6 数据运算指令数据运算指令1.229第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2292)指令功能指令功能WAND_W字与运算,当字与运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的字按位相与,输出到的字按位相与,输出到OUT端口指定的字单元。端口指定的字单元。WOR_W字或运算,当字或运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指定端口指定的字按位相或,输出到的字按位相或,输出到OUT端口指定的字单元。端口指定的字单元。WXOR_W字异或运算,当字异或运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口指端口指定的字按位异或,输出到定的字按位异或,输出到OUT端口指定的字单元。端口指定的字单元。3.WAND_DW、WOR_DW、WXOR_DW指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-93。操作数见表。操作数见表7-94。7.6 7.6 数据运算指令数据运算指令1.230第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.230表表7-93WAND_DW、WOR_DW、WXOR_DW指令的基本格式指令的基本格式名名称称双双字字与与双双字字或或双字异或双字异或指令指令WAND_DWWOR_DWWXOR_DW指令表格式指令表格式ANDDIN1,OUTORDIN1,OUTXORDIN1,OUT梯形图格式梯形图格式7.6 7.6 数据运算指令数据运算指令1.231第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.231表7-94 WAND_DW、WOR_DW、WXOR_DW指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型WAND_DWWOR_DWWXOR_DWIN1/IN2VD,ID,QD,MD,SD,SMD,LD,HC,AC,常数,常数,*VD,*AC,*LDDWORDOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDDWORD7.6 7.6 数据运算指令数据运算指令1.232第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2322)指令功能指令功能WAND_DW双字与运算,当双字与运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口端口指定的双字按位相与,输出到指定的双字按位相与,输出到OUT端口指定的双字单元。端口指定的双字单元。WOR_DW双字或运算,当双字或运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端口端口指定的双字按位相或,输出到指定的双字按位相或,输出到OUT端口指定的双字单元。端口指定的双字单元。WXOR_DW双字异或运算,当双字异或运算,当EN端口执行条件存在时,将端口执行条件存在时,将IN1、IN2端端口指定的双字按位异或,输出到口指定的双字按位异或,输出到OUT端口指定的双字单元。端口指定的双字单元。4.INV_B、INV_W、C指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-95。操作数见表。操作数见表7-96。7.6 7.6 数据运算指令数据运算指令1.233第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.233表表7-95INV_B、INV_W、INV_DW指令的基本格式指令的基本格式名名称称字节取反字节取反字字取取反反双字取反双字取反指令指令INV_BINV_WINV_DW指令表格式指令表格式INVBOUTINVWOUTINVDWOUT梯形图格式梯形图格式7.6 7.6 数据运算指令数据运算指令1.234第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.234表表7-96INV_B、INV_W、INV_DW指令的操作数指令的操作数指指令令输入输入/输输出出操操作作数数数据类数据类型型INV_BINVB、IB、QB、MB、SB、SMB、LB、AC,常数,常数,*VD,*AC,*LDBYTEOUTVB、IB、QB、MB、SB、SMB、LB、AC,*VD,*AC,*LDBYTEINV_WINVW、IW、QW、MW、SW、SMW、LW、T,C,AIW,AC,常数,常数,*VD,*AC,*LDWORDOUTVW、IW、QW、MW、SW、SMW、LW、T,C,AC,*VD,*AC,*LDWORDINV_DWINVD,ID,QD,MD,SD,SMD,LD,HC,AC,常数,常数,*VD,*AC,*LDDWORDOUTVD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LDDWORD7.6 7.6 数据运算指令数据运算指令1.235第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2352)指令功能指令功能INV_B、INV_W、INV_W字节、字、双字取反运算,当字节、字、双字取反运算,当EN端口执行条端口执行条件存在时,将件存在时,将IN、端口指定的字节、字、双字按位取反,输出到、端口指定的字节、字、双字按位取反,输出到OUT端口指定端口指定的字节、字、双字单元。的字节、字、双字单元。7.6 7.6 数据运算指令数据运算指令1.236第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2367.6.3数据运算指令编程举例数据运算指令编程举例例例1.计算计算3500+5600的值的值程序如图程序如图7.65所示。所示。图图7.65数学运算程序数学运算程序7.6 7.6 数据运算指令数据运算指令1.237第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.237(1)在进行加运算时,其触发信号在进行加运算时,其触发信号I0.0后一定要串联一个正跳变触点,使加后一定要串联一个正跳变触点,使加法运算只执行一次。若没有正跳变触点,加法运算在法运算只执行一次。若没有正跳变触点,加法运算在I0.0闭合期间会每个扫描闭合期间会每个扫描周期执行一次。周期执行一次。(2)加法指令的加法指令的OUT输出对应的是输出对应的是QW0,表示将结果直接输出到输出映像,表示将结果直接输出到输出映像寄存器中,能够在寄存器中,能够在PLC的输出端看到结果。的输出端看到结果。例例2.BCC校验程序校验程序控制要求:假设控制要求:假设VB100VB104中为上位机传来的数据,其中中为上位机传来的数据,其中VB104中为中为前面所有字节数据两两异或结果。为验证传输的正确性,试编程实现前面所有字节数据两两异或结果。为验证传输的正确性,试编程实现VB100VB103中数据两两异或,结果保存在中数据两两异或,结果保存在VB120中并与中并与VB104中数据比较,若相等,中数据比较,若相等,则则Q0.0闭合,若不等则使闭合,若不等则使Q0.1闭合。闭合。控制程序如图控制程序如图7.66所示。所示。7.6 7.6 数据运算指令数据运算指令1.238第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.238图图7.66BCC校验校验程序程序例例3.算术运算指令举例算术运算指令举例控制要求:试编程实现的计算控制要求:试编程实现的计算程序如图程序如图7.67所示:所示:7.6 7.6 数据运算指令数据运算指令1.239第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.239图图7.67算算术运算指令术运算指令应用程序应用程序7.6 7.6 数据运算指令数据运算指令1.240第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.240例例4.逻辑运算举例逻辑运算举例控制要求:实现字与字之间的与、或、非运算。控制要求:实现字与字之间的与、或、非运算。程序如图程序如图7.68所示。所示。图图7.68逻辑运算应用程序逻辑运算应用程序7.6 7.6 数据运算指令数据运算指令1.241第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2417.7.1END、MEND、STOP及及WDR指令指令1.END与与MEND指令指令1)指令格式、功能及其用法指令格式、功能及其用法END指令为有条件结束指令,指令为有条件结束指令,MEND为无条件结束指令,其指令表与梯为无条件结束指令,其指令表与梯形图格式见表形图格式见表7-97。表表7-97END、MEND指令操作数指令操作数名名称称有条件结束有条件结束无条件结束无条件结束指令表指令表ENDMEND梯形图梯形图END指令用于在执行条件成立时结束主程序,返回程序起点。指令用于在执行条件成立时结束主程序,返回程序起点。MEND指令则是编程软件指令则是编程软件STEP7-Micro/WIN32自动在主程序结束时加上自动在主程序结束时加上的,用于标志主程序的结束。的,用于标志主程序的结束。7.7 7.7 程序控制指令程序控制指令1.242第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.242END、MEND使用方法如图使用方法如图7.69所示。所示。I0.0闭合时,闭合时,END指令运行,程指令运行,程序到此结束,返回主程序首地址重新开始执行。序到此结束,返回主程序首地址重新开始执行。I0.0断开时,断开时,END指令不运行,指令不运行,程序继续向下运行,直到程序继续向下运行,直到MEND指令结束。指令结束。图图7.69END指令应用指令应用2)指令说明指令说明(1)两条指令均为无操作数指令。两条指令均为无操作数指令。(2)结束指令只能用于主程序中,不能在子程序和中断程序中使用。结束指令只能用于主程序中,不能在子程序和中断程序中使用。2.STOP指令指令1)指令格式、功能及其用法指令格式、功能及其用法STOP为暂停指令,在执行条件成立时,能够使为暂停指令,在执行条件成立时,能够使PLC的运行方式从运行的运行方式从运行状态状态(RUN)转为停止状态转为停止状态(STOP),同时立即终止程序的执行。其指令表与梯,同时立即终止程序的执行。其指令表与梯形图格式见表形图格式见表7-98。7.7 7.7 程序控制指令程序控制指令1.243第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.243表表7-98STOP指令操作数指令操作数名名称称暂暂停停指令表指令表STOP梯形图梯形图STOP指令使用方法如指令使用方法如图图7.70所示。所示。I0.0闭闭合合时时,STOP指令运行,指令运行,PLC工作方工作方式立即从运行式立即从运行转变为转变为停止方式。停止方式。I0.0为为断开,断开,则则程序正常运行。程序正常运行。图7.70 STOP指令应用7.7 7.7 程序控制指令程序控制指令1.244第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2442)指令说明指令说明(1)STOP指令在程序中常用于处理突发紧急事件,所以其执行条件必须指令在程序中常用于处理突发紧急事件,所以其执行条件必须严格选择,既不能干扰程序的正常运行,又要在出现问题时能够起到作用。可严格选择,既不能干扰程序的正常运行,又要在出现问题时能够起到作用。可以同时并联多个触点作为其执行条件。以同时并联多个触点作为其执行条件。(2)STOP指令可以用在主程序、子程序和中断程序中。若在中断程序中指令可以用在主程序、子程序和中断程序中。若在中断程序中执行了执行了STOP指令,则中断处理立即结束,并忽略所有等待的中断,对程序剩指令,则中断处理立即结束,并忽略所有等待的中断,对程序剩余部分进行扫描,在本次扫描结束后,完成将余部分进行扫描,在本次扫描结束后,完成将PLC从运行状态从运行状态(RUN)到停止状到停止状态态(STOP)的切换。的切换。(3)STOP指令无操作数。指令无操作数。3.WDR指令指令1)指令格式、功能及其用法指令格式、功能及其用法WDR为看门狗复位指令。为保证为看门狗复位指令。为保证CPU系统可靠运行,系统可靠运行,PLC内部设置了系内部设置了系统监视定时器统监视定时器WDT(watchdogtimer),用于监视扫描周期是否超时。系统正,用于监视扫描周期是否超时。系统正常工作时扫描周期会小于常工作时扫描周期会小于WDT的定时设置值的定时设置值(默认为默认为300ms),在每个扫描周期,在每个扫描周期内扫描到内扫描到WDT时,系统都会对时,系统都会对WDT复位一次,从而保证复位一次,从而保证WDT不会报警。但当不会报警。但当系统出现故障时,扫描周期有可能超过系统出现故障时,扫描周期有可能超过WDT的定时设置值,这时的定时设置值,这时WDT不能在不能在设置值范围内被复位,则报警并停止设置值范围内被复位,则报警并停止CPU运行,同时复位输入输出。运行,同时复位输入输出。7.7 7.7 程序控制指令程序控制指令1.245第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.245但有时在程序正常运行情况下,由于程序过长或使用中断指令、循环指但有时在程序正常运行情况下,由于程序过长或使用中断指令、循环指令会使扫描周期超过令会使扫描周期超过WDT定时器的设置值,为避免使监视定时器动作,就需定时器的设置值,为避免使监视定时器动作,就需要在程序中使用要在程序中使用WDR指令人为复位指令人为复位WDT定时器。其指令表与梯形图格式见表定时器。其指令表与梯形图格式见表7-99。表表7-99WDR指令操作数指令操作数名名称称看门狗复位看门狗复位指令表指令表WDR梯形图梯形图(WDR)WDR指令使用方法如图指令使用方法如图7.71所示。所示。I0.0闭合时,闭合时,WDR指令运行,复位指令运行,复位系统监视定时器系统监视定时器WDT。图图7.71WDR指令应用指令应用7.7 7.7 程序控制指令程序控制指令1.246第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2462)指令说明指令说明(1)使用使用WDR指令时,在终止本次扫描之前,以下操作将被禁止:通信指令时,在终止本次扫描之前,以下操作将被禁止:通信(自由接口方式除外自由接口方式除外)、I/O更新更新(立即指令除外立即指令除外)、强制更新、特殊标志位、强制更新、特殊标志位(SM)更更新、运行时间诊断、中断程序中的新、运行时间诊断、中断程序中的STOP指令。指令。(2)若用若用WDR指令延长扫描周期超过指令延长扫描周期超过25s时,时,10ms、100ms定时器将不定时器将不能准确定时。能准确定时。(3)WDR指令无操作数。指令无操作数。7.7 7.7 程序控制指令程序控制指令1.247第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2477.7.2跳转及循环指令跳转及循环指令1.JMP、LBL指令指令1)指令梯形图与指令表指令梯形图与指令表指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-100。表表7-100JMP、LBL指令的基本格式指令的基本格式名名称称跳跳转转标标号号指令指令JMPLBL指令表格式指令表格式JMPNLBLN梯形图格式梯形图格式7.7 7.7 程序控制指令程序控制指令1.248第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.248其中其中N为为0255的常数。的常数。2)指令功能指令功能JMP跳转指令,在预置触发信号接通时,使程序跳转到跳转指令,在预置触发信号接通时,使程序跳转到N所指定的相所指定的相应标号处。应标号处。LBL标号指令,标记跳转的目的地的位置。由标号指令,标记跳转的目的地的位置。由N来标记与哪个来标记与哪个JMP指指令对应。令对应。3)指令应用举例指令应用举例图图7.72为为JMP、LBL指令应用。指令应用。图图7.72JMP、LBL指令应指令应用用7.7 7.7 程序控制指令程序控制指令1.249第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.249在在I0.0闭合期间,程序会从闭合期间,程序会从Network1跳转到跳转到Network8的标号的标号1处继续运行。处继续运行。在跳转发生过程中,被跳过的程序段在跳转发生过程中,被跳过的程序段Network2到到Network7停止执行。停止执行。4)指令说明指令说明(1)JMP和和LBL指令必须成对使用于主程序、子程序或中断程序中。主程指令必须成对使用于主程序、子程序或中断程序中。主程序、子程序或中断程序之间不允许相互跳转。若在步进程序中使用跳转指令,序、子程序或中断程序之间不允许相互跳转。若在步进程序中使用跳转指令,则必须使则必须使JMP和和LBL指令在同一个指令在同一个SCR段中。段中。(2)多条跳转指令可对应同一标号,但不允许一个跳转指令对应多个相同多条跳转指令可对应同一标号,但不允许一个跳转指令对应多个相同标号,即在程序中不能出现两个相同的标号。标号,即在程序中不能出现两个相同的标号。(3)执行跳转指令时,跳过的程序段中各元件的状态如下。执行跳转指令时,跳过的程序段中各元件的状态如下。各输出线圈保持跳转前的状态。各输出线圈保持跳转前的状态。计数器停止计数,当前值保持跳转之前的计数值。计数器停止计数,当前值保持跳转之前的计数值。1ms、10ms定时器保持跳转之前的工作状态,原来工作的继续工作,定时器保持跳转之前的工作状态,原来工作的继续工作,到设置值后可以正常动作,当前值要累计到到设置值后可以正常动作,当前值要累计到32767才停止。才停止。100ms定时器在跳定时器在跳转时停止工作,但不会复位,当前值保持不变,跳转结束后若条件允许可继续转时停止工作,但不会复位,当前值保持不变,跳转结束后若条件允许可继续计时,但已不能准确计时了。计时,但已不能准确计时了。(4)标号指令标号指令LBL一般放置在一般放置在JMP指令之后,以减少程序执行时间。若要指令之后,以减少程序执行时间。若要放置在放置在JMP指令之前,则必须严格控制跳转指令的运行时间,否则会引起运行指令之前,则必须严格控制跳转指令的运行时间,否则会引起运行瓶颈,导致扫描周期过长。瓶颈,导致扫描周期过长。7.7 7.7 程序控制指令程序控制指令1.250第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2502.FOR、NEXT指令指令1)指令格式及操作数指令格式及操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-101。操作数见表。操作数见表7-102。表表7-101FOR、NEXT指令的基本格式指令的基本格式名名称称循环开始循环开始循环结束循环结束指令指令FORNEXT指令表格式指令表格式FORINDX,INIT,FINALNEXT梯形图格式梯形图格式7.7 7.7 程序控制指令程序控制指令1.251第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2512)指令功能指令功能FOR标记循环程序的开始。标记循环程序的开始。NEXT标记循环程序的结束,无操作数。标记循环程序的结束,无操作数。FOR与与NEXT共同构成循环指令,用于重复执行指定次数的共同构成循环指令,用于重复执行指定次数的FOR与与NEXT之间的循环体指令段。之间的循环体指令段。表表7-102FOR指令的操作数指令的操作数指指令令输入输入/输输出出操作数操作数数据类数据类型型FORINDXVW、IW、QW、MW、SW、SMW、LW、T,C,AC,*VD,*AC,*LDINTINITVW、IW、QW、MW、SW、SMW、LW、T,C,AIW,AC,常数,常数,*VD,*AC,*LDINTFINALVW、IW、QW、MW、SW、SMW、LW、T,C,AIW,AC,常数,常数,*VD,*AC,*LDINT7.7 7.7 程序控制指令程序控制指令1.252第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.252FOR指令中指令中INDX指定当前循环计数器,用于记录循环次数;指定当前循环计数器,用于记录循环次数;INIT指定循指定循环次数的初值,环次数的初值,FINAL指定循环次数的终值。当指定循环次数的终值。当EN端口执行条件存在时,开始端口执行条件存在时,开始执行循环体,当前循环计数器从执行循环体,当前循环计数器从INIT指定的初值开始,每执行指定的初值开始,每执行1次循环体,当前次循环体,当前循环计数器值增加循环计数器值增加1。当前循环计数器值大于。当前循环计数器值大于FINAL指定的终值时,循环结束。指定的终值时,循环结束。3)指令应用举例指令应用举例图图7.73为为FOR、NEXT指令应用。指令应用。当当I0.0接通时,将接通时,将INIT指定初值放入指定初值放入VW100中,开始执行循环体,中,开始执行循环体,VW100中的值从中的值从1增加到增加到8,循环体执行,循环体执行8次,次,VW100中的值变为中的值变为9(98)时,循环结束。时,循环结束。4)指令说明指令说明(1)FOR、NEXT指令必须成对使用。指令必须成对使用。(2)初值大于终值时,循环指令不被执行。初值大于终值时,循环指令不被执行。(3)每次每次EN端口执行条件存在时,自动复位各参数,同时将端口执行条件存在时,自动复位各参数,同时将INIT指定初值指定初值放入当前循环计数器中,使循环指令可以重新执行。放入当前循环计数器中,使循环指令可以重新执行。7.7 7.7 程序控制指令程序控制指令1.253第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.253图图7.73FOR、NEXT指令应用指令应用7.7 7.7 程序控制指令程序控制指令1.254第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.254(4)循环指令可以进行嵌套编程,最多可嵌套编程,单个循环指令之间不循环指令可以进行嵌套编程,最多可嵌套编程,单个循环指令之间不能交叉。图能交叉。图7.74所示为所示为2层嵌套使用。层嵌套使用。图图7.74循环指令嵌套使用循环指令嵌套使用7.7 7.7 程序控制指令程序控制指令1.255第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2557.7.3子程序指令子程序指令子程序是结构化编程的有效工具,它可以把功能独立的,且需要多次使用子程序是结构化编程的有效工具,它可以把功能独立的,且需要多次使用的部分程序单独编写,供主程序调用。子程序能够使程序结构清晰、功能明确,的部分程序单独编写,供主程序调用。子程序能够使程序结构清晰、功能明确,并且简单易读。要使用子程序,首先要建立子程序,然后才能调用子程序。并且简单易读。要使用子程序,首先要建立子程序,然后才能调用子程序。1.建立子程序建立子程序可以选择编程软件可以选择编程软件“编辑编辑”菜单中的菜单中的“插入插入”子菜单下的子菜单下的“子程序子程序”命令命令来建立一个新的子程序。默认的子程序名为来建立一个新的子程序。默认的子程序名为SBR_N,编号,编号N的范围为的范围为063,从从0开始按顺序递增,也可以通过重命名命令为子程序改名。每一个子程序在开始按顺序递增,也可以通过重命名命令为子程序改名。每一个子程序在程序编辑区内都有一个单独的页面,选中该页面后就可以进行编辑了,其编辑程序编辑区内都有一个单独的页面,选中该页面后就可以进行编辑了,其编辑方法与主程序完全一样。方法与主程序完全一样。2.CALL、CRET指令指令1)指令梯形图与指令表格式指令梯形图与指令表格式指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-103。7.7 7.7 程序控制指令程序控制指令1.256第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.256表表7-103CALL、CRET指令的基本格式指令的基本格式名名称称子程序调用子程序调用子程序结束子程序结束指令指令CALLCRET指令表格式指令表格式CALLSBR_NCRET梯形图格式梯形图格式2)指令功能指令功能CALL子程序调用指令,当子程序调用指令,当EN端口执行条件存在时,将主程序转到子程端口执行条件存在时,将主程序转到子程序入口开始执行子程序。序入口开始执行子程序。SBR_N是子程序名,标志子程序入口地址。在编辑软是子程序名,标志子程序入口地址。在编辑软件中,件中,SBR_N随着子程序名称的修改而自动改变。随着子程序名称的修改而自动改变。CRET有条件子程序返回指令,在其逻辑条件成立时,结束子程序执行,返回有条件子程序返回指令,在其逻辑条件成立时,结束子程序执行,返回主程序中的子程序调用处继续向下执行。主程序中的子程序调用处继续向下执行。7.7 7.7 程序控制指令程序控制指令1.257第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2573)指令应用举例指令应用举例子程序调用应用如图子程序调用应用如图7.75所示。所示。(1)在在I0.0闭合期间,调用子程序闭合期间,调用子程序SBR_0,子程序所有指令执行完毕,返回,子程序所有指令执行完毕,返回主程序调用处,继续执行主程序。每个扫描周期子程序运行一次,直到主程序调用处,继续执行主程序。每个扫描周期子程序运行一次,直到I0.0断断开。在子程序调用期间,若开。在子程序调用期间,若I0.1闭合,则线圈闭合,则线圈Q0.0接通。接通。(2)在在M0.0闭合期间,调用子程序闭合期间,调用子程序DIANJI,执行过程同子程序,执行过程同子程序SBR_0。在。在子程序子程序DIANJI执行期间,若执行期间,若I0.3闭合,则线圈闭合,则线圈Q0.1接通;接通;I0.4断开且断开且I0.5闭合,闭合,则则MOV_B指令执行;若指令执行;若I0.4闭合,则执行有条件子程序返回指令闭合,则执行有条件子程序返回指令CRET,程序,程序返回主程序继续执行,返回主程序继续执行,MOV_B指令不运行。指令不运行。4)指令说明指令说明(1)CRET多用于子程序内部,在条件满足时起结束子程序的作用。在子程多用于子程序内部,在条件满足时起结束子程序的作用。在子程序的最后,编程软件将自动添加子程序无条件结束指令序的最后,编程软件将自动添加子程序无条件结束指令RET。7.7 7.7 程序控制指令程序控制指令1.258第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.258图图7.75子程序调用应用子程序调用应用7.7 7.7 程序控制指令程序控制指令1.259第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.259(2)子程序可以嵌套运行,即在子程序内部又对另一子程序进行调用。子子程序可以嵌套运行,即在子程序内部又对另一子程序进行调用。子程序的嵌套深度最多为程序的嵌套深度最多为8层。图层。图7.76为子程序调用执行过程。在中断程序中仅为子程序调用执行过程。在中断程序中仅能有一次子程序调用。可以进行子程序自身的递归调用,但使用时要慎重。能有一次子程序调用。可以进行子程序自身的递归调用,但使用时要慎重。图图7.76子程序嵌套执行过程子程序嵌套执行过程(3)当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶值置值置1,堆栈中的其他值为,堆栈中的其他值为0,子程序完全占有控制权。子程序执行结束时,子程序完全占有控制权。子程序执行结束时,通过子程序结束指令自动恢复原来的逻辑堆栈值,调用程序重新取得控制权。通过子程序结束指令自动恢复原来的逻辑堆栈值,调用程序重新取得控制权。(4)累加器累加器AC可以在调用程序和被调子程序之间自由传递数据,所以累可以在调用程序和被调子程序之间自由传递数据,所以累加器的值在子程序调用时既不保存又不恢复。加器的值在子程序调用时既不保存又不恢复。5)带参数的子程序调用带参数的子程序调用可以带参数调用子程序,这种方式扩大了子程序的使用范围,增加了调用的可以带参数调用子程序,这种方式扩大了子程序的使用范围,增加了调用的灵活性。灵活性。7.7 7.7 程序控制指令程序控制指令1.260第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.260(1)子程序参数定义。子程序参数定义。子程序中最多可带子程序中最多可带16个参数。参数定义在子程序的局部变量表中,见表个参数。参数定义在子程序的局部变量表中,见表7-104。每个参数都包含变量名、变量类型和数据类型。每个参数都包含变量名、变量类型和数据类型。表表7-104局部变量表参数定义局部变量表参数定义局部变量局部变量(L)地址地址变量名变量名(Name)参数类型参数类型(Var.Type)数据类型数据类型(DataType)说明说明(Comments)无无ENINBOOL指令使能输入指令使能输入参数参数LB0INPUT1INBYTEL1.0INPUT2INBOOLLD2INPUT3INDWORDLW6TRANSIN_OUTWORDLD8OUTPUT1OUTDWORDLD12OUTPUT2OUTDWORD7.7 7.7 程序控制指令程序控制指令1.261第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.261变量名变量名最多由最多由8个字符组成,第一字符不能为数字。个字符组成,第一字符不能为数字。变量类型变量类型子程序中按变量对数据的传递方向规定了子程序中按变量对数据的传递方向规定了3种变量类型。种变量类型。IN类型类型输入子程序参数。所指定参数可以是直接寻址、间接寻址、常数输入子程序参数。所指定参数可以是直接寻址、间接寻址、常数和数据地址值。和数据地址值。IN_OUT类型类型输入输出子程序参数。所指定参数的值传到子程序,子程输入输出子程序参数。所指定参数的值传到子程序,子程序运行完毕,其结果被返回相同地址。常数和数据地址值不允许作为该类参数。序运行完毕,其结果被返回相同地址。常数和数据地址值不允许作为该类参数。OUT类型类型输出子程序参数。将子程序的运行结果值返回指定参数位置。输出子程序参数。将子程序的运行结果值返回指定参数位置。常数和数据地址值不允许作为该类参数。常数和数据地址值不允许作为该类参数。TEMP类型类型临时变量。只能在程序内部暂时存储数据,不能用于和主程临时变量。只能在程序内部暂时存储数据,不能用于和主程序传递参数。序传递参数。数据类型数据类型局部变量表中必须对每个参数的数据类型进行声明。共有局部变量表中必须对每个参数的数据类型进行声明。共有8种数据类型。种数据类型。能流能流布尔型,仅能对位输入操作,是位逻辑运算的结果。在局部变量表布尔型,仅能对位输入操作,是位逻辑运算的结果。在局部变量表中布尔能流输入必须在第一行,对中布尔能流输入必须在第一行,对EN端口进行定义。端口进行定义。布尔型布尔型用于单独的位输入和输出。用于单独的位输入和输出。7.7 7.7 程序控制指令程序控制指令1.262第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.262字节、字、双字型字节、字、双字型分别声明分别声明1个字节、个字节、2个字节和个字节和4个字节的无符号输入个字节的无符号输入和输出参数。和输出参数。整数、双整数型整数、双整数型分别声明一个分别声明一个2字节或字节或4字节的有符号输入和输出参数。字节的有符号输入和输出参数。实型实型声明一个声明一个32位浮点参数。位浮点参数。(2)子程序中参数使用规则。子程序中参数使用规则。常数作为参数调用子程序时,必须对常数作数据类型说明,否则常数常数作为参数调用子程序时,必须对常数作数据类型说明,否则常数可能会被当作不同类型使用。如对可能会被当作不同类型使用。如对INPUT3参数,若以常数参数,若以常数123456作为参数,作为参数,则需要声明为则需要声明为DW#123456。参数传递中没有数据类型自动转换功能。如局部变量表中声明一个实参数传递中没有数据类型自动转换功能。如局部变量表中声明一个实型参数,而在调用时程序中使用的是双字,则子程序中的值就是双字。型参数,而在调用时程序中使用的是双字,则子程序中的值就是双字。子程序调用时,输入参数值被复制到子程序的局部存储器中;当子程子程序调用时,输入参数值被复制到子程序的局部存储器中;当子程序运行结束,则从局部存储器中复制输出参数值到指定的输出参数地址。序运行结束,则从局部存储器中复制输出参数值到指定的输出参数地址。局部存储器定义好后,若在梯形图编辑方式下,则子程序指令盒自动局部存储器定义好后,若在梯形图编辑方式下,则子程序指令盒自动生成参数设置端口。若在指令表编辑方式下,则参数一定要按照输入参数、生成参数设置端口。若在指令表编辑方式下,则参数一定要按照输入参数、输入输出参数、输出参数的顺序排列。对应于表输入输出参数、输出参数的顺序排列。对应于表7-89的局部变量表的带参数的局部变量表的带参数的子程序调用格式如图的子程序调用格式如图7.77所示。所示。7.7 7.7 程序控制指令程序控制指令1.263第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.263图图7.77带参数的子程序调用格式带参数的子程序调用格式7.7 7.7 程序控制指令程序控制指令1.264第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2647.7.4中断程序控制指令中断程序控制指令中断技术是计算机应用中不可缺少的内容,主要用在设备的通信连接、中断技术是计算机应用中不可缺少的内容,主要用在设备的通信连接、联网、处理随机的紧急事件等应用中。中断主要由中断源和中断服务程序构联网、处理随机的紧急事件等应用中。中断主要由中断源和中断服务程序构成。而中断控制指令又可分为中断允许、中断禁止指令和中断连接、分离指成。而中断控制指令又可分为中断允许、中断禁止指令和中断连接、分离指令。中断程序控制的最大特点是响应迅速,在中断源触发后,它可以立即中令。中断程序控制的最大特点是响应迅速,在中断源触发后,它可以立即中止程序的执行过程,转而执行中断程序,而不必等到本次扫描周期结束。在止程序的执行过程,转而执行中断程序,而不必等到本次扫描周期结束。在中断服务程序执行完后重新返回原程序继续运行。中断服务程序执行完后重新返回原程序继续运行。1.中断源和中断程序中断源和中断程序1)中断源及其优先级中断源及其优先级中断源即引起中断的信号。中断源即引起中断的信号。S7-200系列系列PLC最多具有最多具有34个中断源,系统个中断源,系统为每个中断源都分配了一个编号用以识别,称为中断事件号。不同为每个中断源都分配了一个编号用以识别,称为中断事件号。不同CPU模块模块其可用中断源有所不同,具体情况见表其可用中断源有所不同,具体情况见表7-105。表表7-105不同不同CPU模块可用中断源模块可用中断源CPU模块模块CPU221、CPU222CPU224CPU226可用中断事件号可用中断事件号(中断源中断源)012,1923,2733023,27330337.7 7.7 程序控制指令程序控制指令1.265第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.26534个中断源主要分为个中断源主要分为3大类,即通信中断,大类,即通信中断,I/O中断,时基中断。中断,时基中断。通信中断通信中断在自由口通信模式下,用户可以通过接收中断和发送中断来控制串行在自由口通信模式下,用户可以通过接收中断和发送中断来控制串行口通信。可以设置通信的波特率、每个字符位数、起始位、停止位及奇偶校验。口通信。可以设置通信的波特率、每个字符位数、起始位、停止位及奇偶校验。I/O中断中断包含上升沿和下降沿中断、高速计数器中断、高速脉冲输出中断。包含上升沿和下降沿中断、高速计数器中断、高速脉冲输出中断。上升沿和下降沿中断只能用于上升沿和下降沿中断只能用于I0.0I0.3,这,这4个输入点可以捕捉上升沿或下降个输入点可以捕捉上升沿或下降沿事件,用于连接某些值得注意的外部事件沿事件,用于连接某些值得注意的外部事件(如:故障等如:故障等);高速计数器中断可以;高速计数器中断可以响应当前值与预置值相等、计数方向的改变、计数器外部复位等事件所引起的响应当前值与预置值相等、计数方向的改变、计数器外部复位等事件所引起的中断;高速脉冲输出中断可以响应给定数量脉冲输出完毕所引起的中断。中断;高速脉冲输出中断可以响应给定数量脉冲输出完毕所引起的中断。时基中断时基中断包括定时中断和定时器中断。定时中断可以设置一个周期性触发的中包括定时中断和定时器中断。定时中断可以设置一个周期性触发的中断响应,通常可以用于模拟量的采样周期或执行一个断响应,通常可以用于模拟量的采样周期或执行一个PID控制。周期时间以控制。周期时间以1ms为增量单位,周期可以设置为为增量单位,周期可以设置为5ms255ms。S7-200系列系列PLC提供了两个定时提供了两个定时中断,定时中断中断,定时中断0,周期时间值要写入,周期时间值要写入SMB34;定时中断;定时中断1,周期时间值要写入,周期时间值要写入SMB35。当定时中断被允许,则定时中断相关定时器开始计时,在定时时间值。当定时中断被允许,则定时中断相关定时器开始计时,在定时时间值与设置周期值相等时,相关定时器溢出,开始执行定时中断连接的中断程序。与设置周期值相等时,相关定时器溢出,开始执行定时中断连接的中断程序。每次重新连接时,定时中断功能能够清除前一次连接时的各种累计值,每次重新连接时,定时中断功能能够清除前一次连接时的各种累计值,7.7 7.7 程序控制指令程序控制指令1.266第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.266并用新值重新开始计时。定时器中断使用且只能使用并用新值重新开始计时。定时器中断使用且只能使用1ms定时器定时器T32和和T96对对一个指定时间段产生中断。一个指定时间段产生中断。T32和和T96使用方法同其他定时器,只是在定时器使用方法同其他定时器,只是在定时器中断被允许时,一旦定时器的当前值和预置值相等,则执行被连接的中断程序。中断被允许时,一旦定时器的当前值和预置值相等,则执行被连接的中断程序。CPU226中的中断事件及其优先级见表中的中断事件及其优先级见表7-106。表表7-106CPU226中的中断事件及其优先级中的中断事件及其优先级中断事件中断事件号号中断描述中断描述组内类型组内类型组优先级组优先级组内优先组内优先级级8通信口通信口0:接收字符:接收字符通信接口通信接口0中中断断通信中断通信中断(最高级最高级)09通信口通信口0:发送完成:发送完成023通信口通信口0:接收信息完成:接收信息完成024通信口通信口1:接收信息完成:接收信息完成通信接口通信接口1中中断断125通信口通信口1:接收字符:接收字符126通信口通信口1:发送完成:发送完成17.7 7.7 程序控制指令程序控制指令1.267第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.26719PTO0:脉冲串输出完成:脉冲串输出完成中断中断高速脉冲输出高速脉冲输出中断中断输入输出输入输出中断中断(次高级次高级) 020PTO1:脉冲串输出完成:脉冲串输出完成中断中断10I0.0上升沿中断上升沿中断外部输入中断外部输入中断22I0.1上升沿中断上升沿中断34I0.2上升沿中断上升沿中断46I0.3上升沿中断上升沿中断51I0.0下降沿中断下降沿中断63I0.1下降沿中断下降沿中断75I0.2下降沿中断下降沿中断87I0.3下降沿中断下降沿中断9中断事件中断事件号号中断描述中断描述组内类型组内类型组优先级组优先级组内优先组内优先级级7.7 7.7 程序控制指令程序控制指令1.268第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.268中断事件中断事件号号中断描述中断描述组内类型组内类型组优先级组优先级组内优先组内优先级级12HSC0当前值等于预置值中当前值等于预置值中断断高速计数器中高速计数器中断断输入输出输入输出中断中断(次高级次高级)1027HSC0输入方向改变中断输入方向改变中断1128HSC0外部复位中断外部复位中断1213HSC1当前值等于预置值中当前值等于预置值中断断1314HSC1输入方向改变中断输入方向改变中断1415HSC1外部复位中断外部复位中断1516HSC2当前值等于预置值中当前值等于预置值中断断1617HSC2输入方向改变中断输入方向改变中断177.7 7.7 程序控制指令程序控制指令1.269第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.269中断事件中断事件号号中断描述中断描述组内类型组内类型组优先级组优先级组内优先组内优先级级18HSC2外部复位中断外部复位中断1832HSC3当前值等于预置值中当前值等于预置值中断断1929HSC4当前值等于预置值当前值等于预置值中断中断高速计数器中高速计数器中断断输入输出输入输出中断中断(次高级次高级)2030HSC4输入方向改变中断输入方向改变中断2131HSC4外部复位中断外部复位中断2233HSC5当前值等于预置值当前值等于预置值中断中断237.7 7.7 程序控制指令程序控制指令1.270第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.27010定时中断定时中断0定时中断定时中断时基中断时基中断(最低级最低级)011定时中断定时中断1121T32当前值等于预置值中断当前值等于预置值中断定时器中断定时器中断222T96当前值等于预置值中断当前值等于预置值中断3(续续)中断事件中断事件号号中断描述中断描述组内类型组内类型组优先级组优先级组内优先组内优先级级7.7 7.7 程序控制指令程序控制指令1.271第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.271中断优先级指多个中断事件同时发出中断请求时,中断优先级指多个中断事件同时发出中断请求时,CPU对各中断源的响应对各中断源的响应先后次序。优先级高的先执行,优先级低的后执行。如上表所示,中断优先级先后次序。优先级高的先执行,优先级低的后执行。如上表所示,中断优先级由高到低的顺序是:通信中断、输入输出中断、时基中断。同类中断中也有优由高到低的顺序是:通信中断、输入输出中断、时基中断。同类中断中也有优先次序的区别,具体顺序见表先次序的区别,具体顺序见表7-91。在在PLC中,中,CPU按中断源出现的先后次序响应中断请求,某一中断程序一按中断源出现的先后次序响应中断请求,某一中断程序一旦执行,就一直执行到结束为止,不会被高优先级的中断事件所打断。旦执行,就一直执行到结束为止,不会被高优先级的中断事件所打断。CPU在在任一时刻只能执行一个中断程序。中断程序执行过程中若出现新的中断请求,任一时刻只能执行一个中断程序。中断程序执行过程中若出现新的中断请求,则按照优先级排队等候处理。中断队列可保存的最大中断数是有限的,如果超则按照优先级排队等候处理。中断队列可保存的最大中断数是有限的,如果超出队列容量,则产生溢出,某些特殊标志存储器位被置位。出队列容量,则产生溢出,某些特殊标志存储器位被置位。S7-200系列系列PLC各各CPU模块最大断数及溢出标志位见表模块最大断数及溢出标志位见表7-107。表表7-107各各CPU模块最大中断数及溢出标志位模块最大中断数及溢出标志位中断队列中断队列CPU221、CPU222、CPU224CPU226、CPU226XM溢出标志位溢出标志位通信中断队列通信中断队列48SM4.0输入输出中断队输入输出中断队列列1616SM4.1时基中断队列时基中断队列88SM4.27.7 7.7 程序控制指令程序控制指令1.272第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2722)中断程序中断程序可以选择编程软件中的可以选择编程软件中的“编辑编辑”菜单中的菜单中的“插入插入”子菜单下的子菜单下的“中断程中断程序序”选项来建立一个新的中断程序。默认的中断程序名选项来建立一个新的中断程序。默认的中断程序名(标号标号)为为SBR_N,编号,编号N的范围为的范围为0127,从,从0开始按顺序递增,也可以通过开始按顺序递增,也可以通过“重命名重命名”命令为中断命令为中断程序改名。每一个中断程序在程序编辑区内都有一个单独的页面,选中该页面程序改名。每一个中断程序在程序编辑区内都有一个单独的页面,选中该页面后就可以进行编辑了。后就可以进行编辑了。中断程序名中断程序名SBR_N标志着中断程序的入口地址,所以可通过中断程序名标志着中断程序的入口地址,所以可通过中断程序名在中断连接指令中将中断源和中断程序连接。中断程序可用有条件中断返回指在中断连接指令中将中断源和中断程序连接。中断程序可用有条件中断返回指令令(CRETI)和无条件中断返回指令和无条件中断返回指令()来标志结束。中断程序名与中断返回指令来标志结束。中断程序名与中断返回指令之间的所有指令都属于中断程序。之间的所有指令都属于中断程序。CRETI有条件中断返回指令,在其逻辑条件成立时,结束中断程序执行,有条件中断返回指令,在其逻辑条件成立时,结束中断程序执行,返回主程序中的继续执行。可由用户编程实现。返回主程序中的继续执行。可由用户编程实现。RETI无条件中断返回指令,由编程软件在中断程序末尾自动添加。无条件中断返回指令,由编程软件在中断程序末尾自动添加。2.ATCH、DTCH指令指令1)指令梯形图和指令表格式指令梯形图和指令表格式指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-108。7.7 7.7 程序控制指令程序控制指令1.273第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.273表表7-108ATCH、DTCH指令的基本格式指令的基本格式名名称称中断连接中断连接中断分离中断分离指令指令ATCHDTCH指令表格式指令表格式ATCHINT,EVENTDTCHEVENT梯形图格式梯形图格式2)指令功能指令功能ATCH中断连接指令,当中断连接指令,当EN端口执行条件存在时,将一个中断源和一个端口执行条件存在时,将一个中断源和一个中断程序建立响应联系,并允许该中断事件。中断程序建立响应联系,并允许该中断事件。INT端口指定中断程序入口地址,端口指定中断程序入口地址,即中断程序名称,在建立联系后,若中断程序名改变,则即中断程序名称,在建立联系后,若中断程序名改变,则INT端口指定名称也端口指定名称也随之改变。随之改变。EVNT端口指定与中断程序相联系的中断源,即表端口指定与中断程序相联系的中断源,即表7-91中的中断事中的中断事件号。件号。7.7 7.7 程序控制指令程序控制指令1.274第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.274DTCH中断分离指令,当中断分离指令,当EN端口执行条件存在时,单独截断一个中断源和端口执行条件存在时,单独截断一个中断源和所有中断程序的联系,并禁止该中断事件。所有中断程序的联系,并禁止该中断事件。EVNT端口指定被禁止的中断源。端口指定被禁止的中断源。3.ENI、DISI指令指令1)指令梯形图和指令表格式指令梯形图和指令表格式指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-109。表表7-109ENI、DISI指令的基本格式指令的基本格式名名称称中断允许中断允许中断禁止中断禁止指令指令ENIDISI指令表格式指令表格式ENIDISI梯形图格式梯形图格式2)指令功能指令功能ENI中断允许指令,在其逻辑条件成立时,全局地允许所有被连接的中中断允许指令,在其逻辑条件成立时,全局地允许所有被连接的中断事件。断事件。7.7 7.7 程序控制指令程序控制指令1.275第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.275DISI中断禁止指令,在其逻辑条件成立时,全局地禁止处理所有的中断中断禁止指令,在其逻辑条件成立时,全局地禁止处理所有的中断事件。事件。4.中断程序应用举例中断程序应用举例中断程序应用如图中断程序应用如图7.78所示。所示。5.指令说明指令说明(1)PLC系统每次切换到系统每次切换到RUN状态时,自动关闭所有中断事件。可以通过状态时,自动关闭所有中断事件。可以通过编程,在编程,在RUN状态时,使用状态时,使用ENI指令开放所有中断。若用指令开放所有中断。若用DISI指令关闭所有中指令关闭所有中断,则中断程序不能被激活,但允许发生的中断事件等候,直到重新允许中断。断,则中断程序不能被激活,但允许发生的中断事件等候,直到重新允许中断。(2)多个中断事件可以调用同一个中断程序,但同一个中断事件不能同时多个中断事件可以调用同一个中断程序,但同一个中断事件不能同时连接多个中断服务程序。连接多个中断服务程序。(3)中断程序的编写规则是:短小、简单,执行时不能延时过长。中断程序的编写规则是:短小、简单,执行时不能延时过长。(4)在中断程序中不能使用在中断程序中不能使用DISI、ENI、HDEF、LSCR和和END指令。指令。(5)中断程序的执行影响触点、线圈和累加器状态,所以系统在执行中断中断程序的执行影响触点、线圈和累加器状态,所以系统在执行中断程序时,会自动保存和恢复逻辑堆栈、累加器及指示累加器和指令操作状态的程序时,会自动保存和恢复逻辑堆栈、累加器及指示累加器和指令操作状态的特殊存储器标志位特殊存储器标志位(SM),以保护现场。,以保护现场。(6)中断程序中可以嵌套调用一个子程序,累加器和逻辑堆栈在中断程序中断程序中可以嵌套调用一个子程序,累加器和逻辑堆栈在中断程序和子程序中是共用的。和子程序中是共用的。7.7 7.7 程序控制指令程序控制指令1.276第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.276图图7.78外部中断及定时中断应用外部中断及定时中断应用7.7 7.7 程序控制指令程序控制指令1.277第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2777.7.5程序控制指令编程举例程序控制指令编程举例例例1.数据逆序传输数据逆序传输控制要求:使用自增、自减指令和数据指针,将控制要求:使用自增、自减指令和数据指针,将MB10MB90中的数据中的数据逆序传送到逆序传送到VB110VB190中。中。控制程序如图控制程序如图7.79所示。所示。7.7 7.7 程序控制指令程序控制指令1.278第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.278图图7.79数据逆序传输控制程序数据逆序传输控制程序7.7 7.7 程序控制指令程序控制指令1.279第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.279例例2.彩灯控制彩灯控制控制要求:设计一彩灯控制程序实现如下功能:控制要求:设计一彩灯控制程序实现如下功能:前前64s,16个输出个输出(Q0.0Q1.7),初态为,初态为Q0.0闭合,其他打开,依次从最低位到最高位移位闭合,循环闭合,其他打开,依次从最低位到最高位移位闭合,循环4次;次;后后64s,16个输出个输出(Q0.0Q1.7),初态为,初态为Q1.7和和Q1.6闭合,其他打开,闭合,其他打开,依次从最高位到最低位两两移位闭合,循环依次从最高位到最低位两两移位闭合,循环8次。次。(1)I/O分配见表分配见表7-110。表表7-110彩灯控制彩灯控制I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0启动开关启动开关Q0.0Q1.7彩灯控制输出,每个彩灯占用彩灯控制输出,每个彩灯占用1位输出位输出(2)程序如图程序如图7.80所示。所示。7.7 7.7 程序控制指令程序控制指令1.280第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.280图图7.80彩灯控制程序彩灯控制程序7.7 7.7 程序控制指令程序控制指令1.281第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.281前前64s循环循环4次,一次循环要次,一次循环要16s,因此可以采用内部,因此可以采用内部SW0.5控制控制(Q0.0Q1.7)移位,移位,1s循环左移循环左移1次,一次循环共移位次,一次循环共移位16次。后次。后64s循环循环8次,也可采用次,也可采用内部内部SW0.5控制移位,控制移位,1s循环右移循环右移2次,一次循环共移位次,一次循环共移位8次。程序中,次。程序中,T38=0时,时,为前为前64s,调子程序,调子程序SBR_1(每秒左移一位每秒左移一位),T38=1时,为后时,为后64s,调子程序,调子程序SBR_2(每秒右移每秒右移2位位),周而复始进行。,周而复始进行。例例3.外部中断程序调用外部中断程序调用控制要求:控制要求:I0.5闭合时,闭合时,Q0.0、Q0.1被置位,同时建立中断事件被置位,同时建立中断事件0、2与中与中断程序断程序INT0、INT1的联系,并全局开中断。在的联系,并全局开中断。在I0.0闭合时复位闭合时复位Q0.0。在。在I0.1闭闭合时复位合时复位Q0.1,同时切断中断事件与中断程序的联系。,同时切断中断事件与中断程序的联系。控制程序如图控制程序如图7.81所示。所示。7.7 7.7 程序控制指令程序控制指令1.282第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.282图图7.81外部中断调用程序外部中断调用程序7.7 7.7 程序控制指令程序控制指令1.283第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2837.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令在工业控制过程中,简单的逻辑或顺序控制可以用基本指令通过编程就可在工业控制过程中,简单的逻辑或顺序控制可以用基本指令通过编程就可以解决。但在实际应用中,系统常要求具有并行顺序控制或程序选择控制能力。以解决。但在实际应用中,系统常要求具有并行顺序控制或程序选择控制能力。同时,多数系统都是由若干个功能相对独立但各部分之间又有相互连锁关系的同时,多数系统都是由若干个功能相对独立但各部分之间又有相互连锁关系的工序构成,若以基本指令完成控制功能,其连锁部分编程较易出错,且程序较工序构成,若以基本指令完成控制功能,其连锁部分编程较易出错,且程序较长。为方便处理以上问题,长。为方便处理以上问题,PLC中专门设计了顺序控制指令来完成多程序块连中专门设计了顺序控制指令来完成多程序块连锁顺序运行和多分支、多功能选择并行或循环运行的功能,也制定了状态转移锁顺序运行和多分支、多功能选择并行或循环运行的功能,也制定了状态转移图这一方式,辅助顺序控制程序的设计。图这一方式,辅助顺序控制程序的设计。1.284第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2847.8.1状态转移图状态转移图状态转移图也叫做功能流程图,它使用图解方式描述顺序控制程序,属于状态转移图也叫做功能流程图,它使用图解方式描述顺序控制程序,属于一种功能说明性语言。状态转移图主要由一种功能说明性语言。状态转移图主要由“状态块状态块”、“转移条件转移条件”和连接线和连接线段等要素构成。合理运用各元素,就可得到顺序控制程序的静态表示图,再根段等要素构成。合理运用各元素,就可得到顺序控制程序的静态表示图,再根据图形编辑为顺序控制程序即可。据图形编辑为顺序控制程序即可。状态转移图的构成要素如下。状态转移图的构成要素如下。1状态块状态块每一个状态块相对独立,拥有自己的编号或代码,表示顺序控制程序中的每一个状态块相对独立,拥有自己的编号或代码,表示顺序控制程序中的每一个每一个SCR段段(顺序控制继电器段顺序控制继电器段)。状态转移图往往以一个横线表示开始,下。状态转移图往往以一个横线表示开始,下面就是一个个的状态块连接。面就是一个个的状态块连接。每一个状态块在控制系统中都具有一定的动作和功能,在画状态转移图时也要每一个状态块在控制系统中都具有一定的动作和功能,在画状态转移图时也要表示出来。一般在状态块的右端用线段连接一方框,描述该段内的动作和功能。表示出来。一般在状态块的右端用线段连接一方框,描述该段内的动作和功能。如图如图7.82所示。所示。2转移条件转移条件7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.285第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.285转移条件在状态转移图中是必不可少的,它表明了从一个状态到另一个状态转转移条件在状态转移图中是必不可少的,它表明了从一个状态到另一个状态转移时所要具备的条件。其表示非常简单,只要在各状态块之间的线段上画一短移时所要具备的条件。其表示非常简单,只要在各状态块之间的线段上画一短横线,旁边标注上条件即可。如图横线,旁边标注上条件即可。如图7.83所示。所示。SM0.1是从初始状态向是从初始状态向SCR1段转段转移的条件,移的条件,SCR1段的动作是段的动作是Q0.0接通输出;接通输出;I0.0是从是从SCR1段向段向SCR2段转移的段转移的条件,条件,SCR2段的动作是段的动作是Q0.1接通输出。接通输出。图图7.82状态块的表示状态块的表示图图7.83转移条件的表示转移条件的表示7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.286第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2867.8.2顺序控制指令顺序控制指令顺序控制指令是实现顺序控制程序的基本指令,它由顺序控制指令是实现顺序控制程序的基本指令,它由LSCR、SCRT、SCRE3条指令构成,其操作数为顺序控制继电器条指令构成,其操作数为顺序控制继电器(S)。1.指令梯形图和指令表格式指令梯形图和指令表格式指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-111。表表7-111LSCR、SCRT、SCRE指令的梯形图和指令表格式指令的梯形图和指令表格式名名称称装载顺控继电器装载顺控继电器顺控继电器转换顺控继电器转换顺控继电器结束顺控继电器结束指令指令LSCRSCRTSCRE指令表格式指令表格式LSCRnSCRTnSCRE梯形图格式梯形图格式操作数操作数nS(BOOL型型)S(BOOL型型)无无7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.287第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2872.指令功能指令功能LSCR装载顺序控制继电器指令,标志一个顺序控制继电器段装载顺序控制继电器指令,标志一个顺序控制继电器段(SCR段段)的开始。的开始。LSCR指令将指令将S位的值装载到位的值装载到SCR堆栈和逻辑堆栈的栈顶,其值决定堆栈和逻辑堆栈的栈顶,其值决定SCR段是否执行,值为段是否执行,值为1执行该执行该SCR段;值为段;值为0不执行该段。不执行该段。SCRT顺序控制继电器转换指令,用于执行顺序控制继电器转换指令,用于执行SCR段的转换。段的转换。SCRT指令指令包含两方面功能:一是通过置位下一个要执行的包含两方面功能:一是通过置位下一个要执行的SCR段的段的S位,使下一个位,使下一个SCR段开始工作;二是使当前工作的段开始工作;二是使当前工作的SCR段的段的S位复位,使该段停止工作。位复位,使该段停止工作。SCRE顺序控制继电器结束指令,使程序退出当前正在执行的顺序控制继电器结束指令,使程序退出当前正在执行的SCR段,表示段,表示一个一个SCR段的结束。每个段的结束。每个SCR段必须由段必须由SCRE指令结束。指令结束。3.指令使用举例指令使用举例顺序控制指令应用如图顺序控制指令应用如图7.84所示。所示。(1)本程序分为本程序分为3个个SCR段,分别为段,分别为Network2Network5、Network6Network9、Network10Network12。每段均由。每段均由LSCR起始,由起始,由SCRE结束。结束。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.288第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.288(2)使用初始化脉冲触点使用初始化脉冲触点SM0.1在程序运行的第一个扫描周期置位在程序运行的第一个扫描周期置位S0.1,使使S0.1表示的表示的SCR段开始运行。在该段中,接通线圈段开始运行。在该段中,接通线圈Q0.0,置位,置位Q0.1,并启动,并启动3秒定时器秒定时器T6。(3)3秒后,定时器触点秒后,定时器触点T6闭合,由闭合,由SCRT指令复位第一个指令复位第一个SCR段,同时使段,同时使S0.2表示的表示的SCR段开始运行。在该段中,接通线圈段开始运行。在该段中,接通线圈Q0.2,复位,复位Q0.1。(4)在在I0.1闭合时,由闭合时,由SCRT指令复位第二个指令复位第二个SCR段,同时使段,同时使S0.3表示的表示的SCR段开始运行。在该段中,复位段开始运行。在该段中,复位Q0.2,接通线圈,接通线圈Q0.3。(5)在程序中,由于输出线圈不能直接和左母线相连,所以一般要借助于在程序中,由于输出线圈不能直接和左母线相连,所以一般要借助于常闭触点常闭触点SM0.0进行过渡。进行过渡。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.289第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.289图图7.84顺序控制指令应用顺序控制指令应用7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.290第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2907.8.3顺序控制指令编程要点顺序控制指令编程要点(1)顺序控制指令的操作数为顺控继电器顺序控制指令的操作数为顺控继电器S,也称为状态器,每一个,也称为状态器,每一个S位都位都表示状态转移图中一个表示状态转移图中一个SCR段的状态。段的状态。S的范围是的范围是S0.0S31.7。各。各SCR段的程段的程序能否执行取决于对应的序能否执行取决于对应的S位是否被置位。若需要结束某个位是否被置位。若需要结束某个SCR段,需要使用段,需要使用SCRT指令或对该段对应的指令或对该段对应的S位进行复位操作。位进行复位操作。(2)要注意不能把同一个要注意不能把同一个S位在一个程序中多次使用。例如在主程序中使用位在一个程序中多次使用。例如在主程序中使用了了S0.1,在子程序中就不能再次被使用。,在子程序中就不能再次被使用。(3)状态图中的顺控继电器状态图中的顺控继电器S位的使用不一定要遵循元件的顺序,即可以任位的使用不一定要遵循元件的顺序,即可以任意使用各意使用各S位。但编程时为避免在程序较长时各位。但编程时为避免在程序较长时各S位重复,最好做到分组、顺序位重复,最好做到分组、顺序使用。使用。(4)每一个每一个SCR段都要注意段都要注意3个方面的内容。个方面的内容。本本SCR段要完成什么样的工作?段要完成什么样的工作?什么条件下才能实现状态的转移?什么条件下才能实现状态的转移?状态转移的目标是什么?状态转移的目标是什么?7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.291第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.291(5)在在SCR段中,不能使用段中,不能使用JMP和和LBL指令,即不允许跳入、跳出指令,即不允许跳入、跳出SCR段或段或在在SCR段内跳转。也不能使用段内跳转。也不能使用FOR、NEXT和和END指令。指令。(6)一个一个SCR段被复位后,其内部的元件段被复位后,其内部的元件(线圈、定时器等线圈、定时器等)一般也要复位,一般也要复位,若要保持输出状态,则需要使用置位指令。若要保持输出状态,则需要使用置位指令。(7)在所有在所有SCR段结束后,要用复位指令段结束后,要用复位指令R复位仍为运行状态的复位仍为运行状态的S位,否则位,否则程序会出现运行错误。程序会出现运行错误。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.292第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2927.8.4多流程顺序控制多流程顺序控制使用顺序控制指令可以方便的实现顺序控制,分支控制、循环控制及其组合使用顺序控制指令可以方便的实现顺序控制,分支控制、循环控制及其组合控制。单流程的顺序控制在前面的例子中已介绍,下面具体介绍多流程控制的实控制。单流程的顺序控制在前面的例子中已介绍,下面具体介绍多流程控制的实现和注意事项。现和注意事项。1.选择分支过程控制选择分支过程控制在工业过程中,很多控制需要根据条件进行流程选择,即一个控制流可能转在工业过程中,很多控制需要根据条件进行流程选择,即一个控制流可能转入多个控制流中的某一个,但不允许多个控制流同时执行,即根据条件进行分支入多个控制流中的某一个,但不允许多个控制流同时执行,即根据条件进行分支选择。选择分支过程控制的状态转移图、梯形图和指令表格式如图选择。选择分支过程控制的状态转移图、梯形图和指令表格式如图7.85所示。所示。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.293第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.293图图7.85选择分支过程控制选择分支过程控制7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.294第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2942.并行分支合并过程控制并行分支合并过程控制除了非此即彼的选择分支控制外,还有很多情况下,一个控制流需要分成除了非此即彼的选择分支控制外,还有很多情况下,一个控制流需要分成两个或两个以上控制流同时动作,在完成各自工作后,所有控制流最终再次合两个或两个以上控制流同时动作,在完成各自工作后,所有控制流最终再次合并成一个控制流继续向下运行。这种运行方式称为并行分支合并过程控制。使并成一个控制流继续向下运行。这种运行方式称为并行分支合并过程控制。使用顺序控制指令完成该功能时要注意两个关键点:一是多分支的同时运行,需用顺序控制指令完成该功能时要注意两个关键点:一是多分支的同时运行,需要在一个要在一个SCR段中同时激活多个段中同时激活多个SCR段;二是多分支合并,由于多个分支是同段;二是多分支合并,由于多个分支是同时执行的,合并时必须等到所有分支都执行完,才能共同进入下一个时执行的,合并时必须等到所有分支都执行完,才能共同进入下一个SCR段。段。并行分支合并过程控制状态转移图、梯形图和指令表格式如图并行分支合并过程控制状态转移图、梯形图和指令表格式如图7.86所示。所示。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.295第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.295图图7.86并行分支并行分支合并过程合并过程7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.296第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.296(1)程序中通过程序中通过I0.0的闭合,使用两个的闭合,使用两个SCRT指令同时置位指令同时置位S0.1和和S0.2,使,使S0.1和和S0.2表示的两个表示的两个SCR段同时开始运行,进入并行分支状态。段同时开始运行,进入并行分支状态。(2)在在S0.2和和S0.3表示的两个表示的两个SCR段进行分支合并时,将表示段进行分支合并时,将表示SCR段状态段状态的的S0.2、S0.3和下一个和下一个SCR段触发触点段触发触点I0.3串联在一起,只有串联在一起,只有3个触点均闭合个触点均闭合(S0.2、S0.3的闭合表示的闭合表示SCR段完成,段完成,I0.3的闭合表示要触发下一个的闭合表示要触发下一个SCR段段),才进入下一个才进入下一个SCR段。段。(3)由于由于S0.2和和S0.3表示的两个表示的两个SCR段并未使用段并未使用SCRT指令进行复位,所指令进行复位,所以在程序中需要使用复位指令以在程序中需要使用复位指令(R)对对S0.2和和S0.3进行复位。进行复位。3.跳转和循环控制跳转和循环控制跳转和循环控制也是工业中运用较多的控制方式。很多生产流水线上的跳转和循环控制也是工业中运用较多的控制方式。很多生产流水线上的机械控制都属于多个动作的重复运行,还有些要通过控制实现部分指令的执机械控制都属于多个动作的重复运行,还有些要通过控制实现部分指令的执行或不执行,也就是有时程序执行,有时程序会被跳过而不执行。跳转和循行或不执行,也就是有时程序执行,有时程序会被跳过而不执行。跳转和循环控制的状态转移图、梯形图和指令表格式如图环控制的状态转移图、梯形图和指令表格式如图7.87所示。所示。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.297第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.297图图7.87跳转和循环控制跳转和循环控制7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.298第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.298(1)程序中,程序中,I0.1和和I1.1的闭合使程序从的闭合使程序从S0.1表示的表示的SCR段跳转到段跳转到S0.4表示表示的的SCR段;段;I0.1的闭合和的闭合和I1.1断开状态使程序顺序向下运行。断开状态使程序顺序向下运行。(2)在在S0.5表示的表示的SCR段中,使用段中,使用I0.5的闭合触发的闭合触发SCRT指令,使指令,使S0.0再次再次置位,从而实现程序的循环运行。置位,从而实现程序的循环运行。7.87.8 S7S7系列系列PLCPLC的顺序控制指令的顺序控制指令1.299第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2997.9.1高速计数器指令高速计数器指令在工业应用中,电动机的调速、测速及定位是常见的控制方式。为实现电在工业应用中,电动机的调速、测速及定位是常见的控制方式。为实现电动机的精确控制,经常使用编码器将电动机的转速转换为高频脉冲信号,反馈动机的精确控制,经常使用编码器将电动机的转速转换为高频脉冲信号,反馈至至PLC,通过,通过PLC对高频脉冲的计数和相关编程实现对电动机的各种控制。对高频脉冲的计数和相关编程实现对电动机的各种控制。PLC中普通计数器受到扫描周期的影响,对高速脉冲的计数可能会出现脉冲丢中普通计数器受到扫描周期的影响,对高速脉冲的计数可能会出现脉冲丢失现象,导致计数不准确,也就不能实现精确控制。失现象,导致计数不准确,也就不能实现精确控制。PLC提供的高速计数器独提供的高速计数器独立于扫描周期之外,可以对脉宽小于扫描周期的高速脉冲准确计数,高速脉冲立于扫描周期之外,可以对脉宽小于扫描周期的高速脉冲准确计数,高速脉冲频率最高可达频率最高可达30kHz。1.高速计数器指令高速计数器指令HDEF、HSC指令的梯形图及指令表格式见表指令的梯形图及指令表格式见表7-112。操作数见表。操作数见表7-113。7.9 7.9 其他重要功能指令其他重要功能指令1.300第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.300表表7-112HDEF、HSC指令的基本格式指令的基本格式名名称称定义高速计数器定义高速计数器高速计数器运行控制高速计数器运行控制指令指令HDEFHSC指令表格式指令表格式HDEFHSC,MODEHSCN梯形图格式梯形图格式7.9 7.9 其他重要功能指令其他重要功能指令1.301第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.301表7-113 HDEF、HSC指令的操作数指指令令输入输入/输出输出操操作作数数数据类型数据类型HDEFHSC常数常数(05)BYTEMODE常数常数(011)BYTEHSCN常数常数(05)WORDS7-200系列系列PLC中规定了中规定了6个高速计数器编号,在程序中使用时用个高速计数器编号,在程序中使用时用HCn来来表示表示(在非程序中一般用在非程序中一般用HSCn)高速计数器的地址,高速计数器的地址,n的取值范围为的取值范围为05。HCn还表示高速计数器的当前值,该当前值是一个只读的还表示高速计数器的当前值,该当前值是一个只读的32位双字,可使用位双字,可使用数据传送指令随时读出计数当前值。不同的数据传送指令随时读出计数当前值。不同的CPU模块中可使用的高速计数器模块中可使用的高速计数器是不同的,是不同的,CPU221、CPU222可以使用可以使用HC0、HC3、HC4和和HC5;CPU224、CPU226可以使用可以使用HC0HC5。7.9 7.9 其他重要功能指令其他重要功能指令1.302第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3022.指令功能指令功能HDEF定义高速计数器指令,定义高速计数器指令,“HSC”端口指定高速计数器编号,端口指定高速计数器编号,“MODE”端口指定具体的运行模式端口指定具体的运行模式(各高速计数器最多有各高速计数器最多有12种工作模式种工作模式)。EN端口执行条件存在时,端口执行条件存在时,HDEF指令可指定具体的高速计数器编号,并将其与某指令可指定具体的高速计数器编号,并将其与某一工作模式联系起来。在一个程序中,每一个高速计数器只能且必须使用一一工作模式联系起来。在一个程序中,每一个高速计数器只能且必须使用一次次HDEF指令。指令。HSC高速计数器指令,根据高速计数器特殊存储器位的设置,按照高速计数器指令,根据高速计数器特殊存储器位的设置,按照HDEF指令指定的工作模式,控制高速计数器的工作。指令指定的工作模式,控制高速计数器的工作。3.高速计数器编号、运行模式及输入端子分配高速计数器编号、运行模式及输入端子分配每一高速计数器都有多种运行模式,其使用的输入端子各有不同,主要每一高速计数器都有多种运行模式,其使用的输入端子各有不同,主要分为脉冲输入端子、方向控制输入端子、复位输入端子、启动输入端子等。分为脉冲输入端子、方向控制输入端子、复位输入端子、启动输入端子等。下面以表下面以表7-114、表、表7-115、表、表7-116予以说明。予以说明。从表中可以看出,高速计数器运行模式主要分为从表中可以看出,高速计数器运行模式主要分为4类。类。(1)带内部方向控制的单相增带内部方向控制的单相增/减计数器减计数器它有一个计数输入端,没有外部它有一个计数输入端,没有外部方向控制输入信号。计数方向由内部控制字节中的方向控制位设置,只能进方向控制输入信号。计数方向由内部控制字节中的方向控制位设置,只能进行单向增计数或减计数。如行单向增计数或减计数。如HC0的模式的模式0,其计数方向控制位为,其计数方向控制位为SM37.3,当该,当该位为位为0时为减计数,该位为时为减计数,该位为1时为增计数。时为增计数。7.9 7.9 其他重要功能指令其他重要功能指令1.303第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.303(2)带外部方向控制的单相增带外部方向控制的单相增/减计数器减计数器它有一个计数输入端,由外部输它有一个计数输入端,由外部输入信号控制计数方向,只能进行单向增计数或减计数。如入信号控制计数方向,只能进行单向增计数或减计数。如HC1的模式的模式3,I0.7为为0时为减计数,时为减计数,I0.7为为1时为增计数。时为增计数。表表7-114HC0、HC4的运行模式和输入端子分配的运行模式和输入端子分配运行模运行模式式描描述述HCOHC4I0.0I0.1I0.2I0.3I0.4I0.50带内部方向控制的带内部方向控制的单相增单相增/减计数器减计数器计数计数计数计数1计数计数复复位位计数计数复复位位3带外部方向控制的带外部方向控制的单相增单相增/减计数器减计数器计数计数方向方向计数计数方向方向4计数计数方向方向复复位位计数计数方向方向复复位位7.9 7.9 其他重要功能指令其他重要功能指令1.304第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.304运行模运行模式式描描述述HCOHC4I0.0I0.1I0.2I0.3I0.4I0.56带增减计数输入的带增减计数输入的双向计数器双向计数器增计数增计数减计数减计数增计数增计数减计数减计数7增计数增计数减计数减计数复复位位增计数增计数减计数减计数复复位位9A/B相正交计数器相正交计数器A相计相计数数B相计相计数数A相计相计数数B相计相计数数10A相计相计数数B相计相计数数复复位位A相计相计数数B相计相计数数复复位位7.9 7.9 其他重要功能指令其他重要功能指令1.305第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.305表表7-115HC3、HC5的运行模式和输入端子分配的运行模式和输入端子分配运行模式运行模式描描述述HC3HC5I0.0I0.30带内部方向控制的单相增带内部方向控制的单相增/减计数器减计数器计数计数计数计数表表7-116HC1、HC2的运行模式和输入端子分配的运行模式和输入端子分配7.9 7.9 其他重要功能指令其他重要功能指令1.306第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.306运运行行模模式式描描述述HC1HC2I0.6I0.7I1.0I1.1I1.2I1.3I1.4I1.50带内部方向控带内部方向控制的单相增制的单相增/减减计数器计数器计数计数计数计数1计数计数复位复位计数计数复复位位2计数计数复位复位启启动动计数计数复复位位启启动动3带外部方向控带外部方向控制的单相增制的单相增/减减计数器计数器计数计数方向方向计数计数方向方向4计数计数方向方向复位复位计数计数方向方向复复位位5计数计数方向方向复位复位启启动动计数计数方向方向复复位位启启动动7.9 7.9 其他重要功能指令其他重要功能指令1.307第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.307运运行行模模式式描描述述HC1HC2I0.6I0.7I1.0I1.1I1.2I1.3I1.4I1.56带增减计数输带增减计数输入的双向计数入的双向计数器器增计增计数数减计数减计数增计数增计数减计减计数数7增计增计数数减计数减计数复位复位增计数增计数减计减计数数复位复位8增计增计数数减计数减计数复位复位启启动动增计数增计数减计减计数数复位复位启启动动7.9 7.9 其他重要功能指令其他重要功能指令1.308第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3089A/B相正交计数相正交计数器器A相相计数计数B相计相计数数A相计相计数数B相计相计数数10A相相计数计数B相计相计数数复位复位A相计相计数数B相计相计数数复位复位11A相相计数计数B相计相计数数复位复位启启动动A相计相计数数B相计相计数数复位复位启启动动运运行行模模式式描描述述HC1HC2I0.6I0.7I1.0I1.1I1.2I1.3I1.4I1.57.9 7.9 其他重要功能指令其他重要功能指令1.309第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.309(3)带增减计数输入的双向计数器带增减计数输入的双向计数器它有两个计数输入端,一个为增计数输它有两个计数输入端,一个为增计数输入,一个为减计数输入。增计数输入端有一个脉冲到达时,计数器当前值增加入,一个为减计数输入。增计数输入端有一个脉冲到达时,计数器当前值增加1;减计数输入端有一个脉冲到达时,计数器当前值减少;减计数输入端有一个脉冲到达时,计数器当前值减少1。若增计数脉冲与减计。若增计数脉冲与减计数脉冲相隔时间大于数脉冲相隔时间大于0.3ms,高速计数器就能够正确计数,若相隔时间小于,高速计数器就能够正确计数,若相隔时间小于0.3ms,高速计数器认为两个脉冲同时发生,计数器当前值不变。,高速计数器认为两个脉冲同时发生,计数器当前值不变。(4)A/B相正交计数器相正交计数器它有两个计数输入端它有两个计数输入端A相和相和B相,相,A/B相正交计数器利相正交计数器利用两个输入脉冲的相位确定计数方向。用两个输入脉冲的相位确定计数方向。A相脉冲上升沿超前于相脉冲上升沿超前于B相脉冲上升沿时相脉冲上升沿时为增计数,反之则为减计数。为增计数,反之则为减计数。根据高速计数器号和模式的不同,以上根据高速计数器号和模式的不同,以上4类运行模式还可增加复位端和启动类运行模式还可增加复位端和启动端。当复位输入有效时,将清除计数器当前值并保持到复位输入无效。当启动输端。当复位输入有效时,将清除计数器当前值并保持到复位输入无效。当启动输入有效时,则表示允许高速计数器计数,启动输入无效时,计数器忽略计数脉冲入有效时,则表示允许高速计数器计数,启动输入无效时,计数器忽略计数脉冲的输入,当前值保持不变。的输入,当前值保持不变。4.高速计数器控制位、当前值高速计数器控制位、当前值/预置值设置及状态位定义预置值设置及状态位定义要正确使用高速计数器,除用好两个指令外,还要正确设置高速计数器的控制字要正确使用高速计数器,除用好两个指令外,还要正确设置高速计数器的控制字节及当前值与预置值。而状态位则表明了高速计数器的运行状态,可以作为编程节及当前值与预置值。而状态位则表明了高速计数器的运行状态,可以作为编程的参考点。的参考点。7.9 7.9 其他重要功能指令其他重要功能指令1.310第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.310各高速计数器控制字节及其功能见表各高速计数器控制字节及其功能见表7-117。复位及启动输入可以设置其。复位及启动输入可以设置其高电平有效还是低电平有效;高电平有效还是低电平有效;A/B相正交计数器模式中可以设置计数器计数相正交计数器模式中可以设置计数器计数速率是按外部脉冲速率速率是按外部脉冲速率(1X),还是按,还是按4倍外部脉冲速率倍外部脉冲速率(4X);可设置在高速计;可设置在高速计数器运行过程中能否修改计数方向、当前值和预置值;通过各最高位还可控数器运行过程中能否修改计数方向、当前值和预置值;通过各最高位还可控制高速计数器的运行和禁止。制高速计数器的运行和禁止。表表7-117高速计数器的控制字节高速计数器的控制字节控制位功能控制位功能HSC0HSC1HSC2HSC3HSC4HSC5复位有效电平控制位:复位有效电平控制位:0(高电平有效高电平有效);1(低电平有效低电平有效)SM37.0SM47.0SM57.0SM147.0启动有效电平控制位:启动有效电平控制位:0(高电平有效高电平有效);1(低电平有效低电平有效)SM47.1SM57.1正交计数器计数速率选择:正交计数器计数速率选择:0(4X);1(1X)SM37.2SM47.2SM57.2SM147.27.9 7.9 其他重要功能指令其他重要功能指令1.311第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.311控制位功能控制位功能HSC0HSC1HSC2HSC3HSC4HSC5计数方向控制位:计数方向控制位:0(减计数减计数);1(增计数增计数)SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3向向HSC中写入计数方向:中写入计数方向:0(不更新不更新);1(更新计数方向更新计数方向)SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向向HSC中写入预置值:中写入预置值:0(不更新不更新);1(更新预置值更新预置值)SM37.5SM47.5SM57.5SM137.5SM147.5SM157.5向向HSC中写入新的当前值:中写入新的当前值:0(不更新不更新);1(更新当前值更新当前值)SM37.6SM47.6SM57.6SM137.6SM147.6SM157.6HSC允许:允许:0(禁止禁止HSC);1(允许允许HSC)SM37.7SM47.7SM57.7SM137.7SM147.7SM157.77.9 7.9 其他重要功能指令其他重要功能指令1.312第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.312表表7-118为当前值和预置值装载单元分配表。当前值和预置值都是为当前值和预置值装载单元分配表。当前值和预置值都是32位带位带符号整数。必须先将当前值和预置值存入表符号整数。必须先将当前值和预置值存入表7-102所示的特殊存储器中,然后所示的特殊存储器中,然后执行执行HSC指令,才能够将新值送入高速计数器当中。指令,才能够将新值送入高速计数器当中。表表7-118当前值和预置值单元当前值和预置值单元要装入的值要装入的值HSC0HSC1HSC2HSC3HSC4HSC5初始当前值初始当前值SMD38SMD48SMD58SMD138SMD148SMD158预置值预置值SMD42SMD52SMD62SMD142SMD152SMD162表表7-119为高速计数器状态字节,其中某些位指出了当前计数方向、当为高速计数器状态字节,其中某些位指出了当前计数方向、当前值与预置值是否相等、当前值是否大于预置值的状态。可以通过监视高前值与预置值是否相等、当前值是否大于预置值的状态。可以通过监视高速计数器的状态位产生相应中断,完成重要操作。但要注意,状态位只有速计数器的状态位产生相应中断,完成重要操作。但要注意,状态位只有在执行高速计数器终端程序时才有效。在执行高速计数器终端程序时才有效。7.9 7.9 其他重要功能指令其他重要功能指令1.313第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.313表表7-119高速计数器状态字节高速计数器状态字节状态位功能状态位功能HSC0HSC1HSC2HSC3HSC4HSC5不用不用SM36.0SM36.4SM46.0SM46.4SM56.0SM56.4SM136.0SM136.4SM146.0SM146.4SM156.0SM156.4当前计数方向状态位:当前计数方向状态位:0(减计数减计数);1(增计数增计数)SM36.5SM46.5SM56.5SM136.5SM146.5SM156.57.9 7.9 其他重要功能指令其他重要功能指令1.314第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.314当前值等于预置值状态位:当前值等于预置值状态位:0(不等不等);1(相等相等)SM36.6SM46.6SM56.6SM136.6SM146.6SM156.6当前值大于预置值状态位:当前值大于预置值状态位:0(小于等小于等于于);1(大于大于)SM36.7SM46.7SM56.7SM136.7SM146.7SM156.7状态位功能状态位功能HSC0HSC1HSC2HSC3HSC4HSC57.9 7.9 其他重要功能指令其他重要功能指令1.315第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3155.高速计数器设置过程高速计数器设置过程为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过程。为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过程。(1)使用初始化脉冲触点使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。这个结调用高速计数器初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更加结构化。且程序更加结构化。(2)在初始化子程序中,对相应高速计数器的控制字节写入希望的控制字。在初始化子程序中,对相应高速计数器的控制字节写入希望的控制字。如要使用如要使用HSC1,则对,则对SMB47写入写入16#F8(2#11111000),表示允许高速计数器运,表示允许高速计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数器方向,置计行,允许写入新的当前值,允许写入新的预置值,可以改变计数器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效。数器的计数方向为增,置启动和复位输入为高电平有效。(3)执行执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与具指令,根据所选计数器号和运行模式将高速计数器号与具体运行模式进行连接。体运行模式进行连接。(4)在所选计数器号对应的当前值单元内装入所希望的当前值,若装入在所选计数器号对应的当前值单元内装入所希望的当前值,若装入0,则清除原当前值。则清除原当前值。(5)在所选计数器号对应的预置值单元内装入所希望的预置值。在所选计数器号对应的预置值单元内装入所希望的预置值。7.9 7.9 其他重要功能指令其他重要功能指令1.316第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.316(6)为捕获高速计数器对应的中断事件为捕获高速计数器对应的中断事件(当前值等于预置值、计数方向改变、当前值等于预置值、计数方向改变、外部复位外部复位),编写相应的中断程序,并参考中断事件及其优先级表,编写相应的中断程序,并参考中断事件及其优先级表7-91,用,用ATCH中断连接指令建立中断事件和中断程序的联系。中断连接指令建立中断事件和中断程序的联系。(7)执行全局中断允许指令执行全局中断允许指令(ENI)来允许高速计数器中断。来允许高速计数器中断。(8)执行执行HSC指令,使高速计数器开始运行。指令,使高速计数器开始运行。6.高速计数器应用举例高速计数器应用举例图图7.88中为使用高速计数器指令、变频器及光电码盘实现三相异步电动机中为使用高速计数器指令、变频器及光电码盘实现三相异步电动机的启动及二级减速自动定位控制系统。由于高速运行的交流电动机转动惯量较的启动及二级减速自动定位控制系统。由于高速运行的交流电动机转动惯量较大,所以在高速下定位精度很低,必须采用减速的方式减小转动惯量,最后在大,所以在高速下定位精度很低,必须采用减速的方式减小转动惯量,最后在低速运行时实现准确定位。在本例的控制中,电动机每次启动后运行距离均相低速运行时实现准确定位。在本例的控制中,电动机每次启动后运行距离均相等,所以使用光电码盘反馈方式进行二级减速及定位控制。控制程序如图等,所以使用光电码盘反馈方式进行二级减速及定位控制。控制程序如图7.89所示。所示。7.9 7.9 其他重要功能指令其他重要功能指令1.317第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.317图图7.88三相异步电动机定位控制系统示意图三相异步电动机定位控制系统示意图7.9 7.9 其他重要功能指令其他重要功能指令1.318第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.318图图7.89三相异步电动机定位控制程序三相异步电动机定位控制程序7.9 7.9 其他重要功能指令其他重要功能指令1.319第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.319I/O分配见表分配见表7-120。表表7-120三相异步电动机定位控制系统三相异步电动机定位控制系统I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0光电码盘脉冲输入光电码盘脉冲输入Q0.6电动机运行驱动输出电动机运行驱动输出I0.1电动机启动按钮电动机启动按钮Q1.3高速运行输出高速运行输出Q1.4中速运行输出中速运行输出Q1.5低速运行输出低速运行输出7.9 7.9 其他重要功能指令其他重要功能指令1.320第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.320(1)使用使用SM0.1调用了一个初始化子程序调用了一个初始化子程序INIT,在该子程序中,定义了高,在该子程序中,定义了高速计数器速计数器HSC0的模式为的模式为0,并且装入了预置值,并且装入了预置值52000,启动了,启动了HSC0当前值等当前值等于预置值中断于预置值中断EQUAL1。(2)启动电动机时,直接使其进入高速运行状态,同时启动高速计数。启动电动机时,直接使其进入高速运行状态,同时启动高速计数。(3)在中断程序在中断程序EQUAL1中,使电动机运行在中速状态中,使电动机运行在中速状态(Q1.3复位,复位,Q1.4置位置位),并修改预置值为,并修改预置值为62000,同时使,同时使HSC0当前值等于预置值中断指向中断当前值等于预置值中断指向中断程序程序EQUAL2。读者可根据。读者可根据EQUAL1写出中断程序写出中断程序EQUAL2和和EQUAL3。(4)在中断程序在中断程序EQUAL2中,使电动机运行在低速状态中,使电动机运行在低速状态(Q1.4复位,复位,Q1.5置位置位),并修改预置值为,并修改预置值为70000,同时使,同时使HSC0当前值等于预置值中断指向中断当前值等于预置值中断指向中断程序程序EQUAL3。(5)在中断程序在中断程序EQUAL3中,停止电动机,并使低速运行控制位中,停止电动机,并使低速运行控制位Q1.5复位。复位。7.9 7.9 其他重要功能指令其他重要功能指令1.321第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3217.9.2高速脉冲输出指令高速脉冲输出指令高速脉冲输出功能可以使高速脉冲输出功能可以使PLC在指定的输出点上产生高速的在指定的输出点上产生高速的PWM(脉宽脉宽调制调制)脉冲或输出频率可变的脉冲或输出频率可变的PTO脉冲,可以用于步进电动机和直流伺服电动脉冲,可以用于步进电动机和直流伺服电动机的定位控制和调速。在使用高速脉冲输出功能时,机的定位控制和调速。在使用高速脉冲输出功能时,CPU模块应选择晶体管模块应选择晶体管输出型,以满足高速脉冲输出的频率要求。输出型,以满足高速脉冲输出的频率要求。1.高速脉冲输出指令高速脉冲输出指令PLS指令的梯形图及指令表格式见表指令的梯形图及指令表格式见表7-121。表表7-121PLS指令的基本格式指令的基本格式名名称称高速脉冲输出高速脉冲输出指令指令PLS指令表格式指令表格式PLSQ梯形图格式梯形图格式7.9 7.9 其他重要功能指令其他重要功能指令1.322第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3222.指令功能指令功能PLS脉冲输出指令,在脉冲输出指令,在EN端口执行条件存在时,检测脉冲输出特殊存储端口执行条件存在时,检测脉冲输出特殊存储器的状态,然后激活所定义的脉冲操作,从器的状态,然后激活所定义的脉冲操作,从Q端口指定的数字输出端口输出高速端口指定的数字输出端口输出高速脉冲。脉冲。PLS指令可在指令可在Q0.0和和Q0.1两个端口输出可控的两个端口输出可控的PWM脉冲和脉冲和PTO高速脉冲串高速脉冲串波形。由于只有两个高速脉冲输出端口,所以波形。由于只有两个高速脉冲输出端口,所以PLS指令在一个程序中最多使用指令在一个程序中最多使用两次。高速脉冲输出和输出映像寄存器共同对应两次。高速脉冲输出和输出映像寄存器共同对应Q0.0和和Q0.1端口,但端口,但Q0.0和和Q0.1端口在同一时间只能使用一种功能。在使用高速脉冲输出时,两输出点将端口在同一时间只能使用一种功能。在使用高速脉冲输出时,两输出点将不受输出映像寄存器、立即输出指令和强制输出的影响。不受输出映像寄存器、立即输出指令和强制输出的影响。3.高速脉冲输出所对应的特殊标志寄存器高速脉冲输出所对应的特殊标志寄存器为定义和监控高速脉冲输出,系统提供了控制字节、状态字节和参数设置为定义和监控高速脉冲输出,系统提供了控制字节、状态字节和参数设置寄存器。各寄存器分配见表寄存器。各寄存器分配见表7-122。表表7-122高速脉冲输出的特殊寄存器分配高速脉冲输出的特殊寄存器分配7.9 7.9 其他重要功能指令其他重要功能指令1.323第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.323Q0.0对应寄存对应寄存器器Q0.1对应寄存对应寄存器器功能描述功能描述SMB66SMB76状态字节,状态字节,PTO方式下,监控脉冲串的运行方式下,监控脉冲串的运行状态状态SMB67SMB77控制字节,定义控制字节,定义PTO/PWM脉冲的输出格式脉冲的输出格式SMW68SMW78设置设置PTO/PWM脉冲的周期值,范围:脉冲的周期值,范围:265535SMW70SMW80设置设置PWM的脉冲宽度值,范围:的脉冲宽度值,范围:065535SMD72SMD82设置设置PTO脉冲串的输出脉冲数,范围:脉冲串的输出脉冲数,范围:14294967295SMB166SMB176设置设置PTO多段操作时的段数多段操作时的段数SMW168SMW178设置设置PTO多段操作时包络表的起始地址,使多段操作时包络表的起始地址,使用从变量寄存器用从变量寄存器V0开始的字节偏移表示开始的字节偏移表示7.9 7.9 其他重要功能指令其他重要功能指令1.324第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.324(1)状态字节状态字节每个高速脉冲输出都有一个状态字节,监控并记录程序运行每个高速脉冲输出都有一个状态字节,监控并记录程序运行时某些操作的相应状态。可以通过编程来读取相关位状态。表时某些操作的相应状态。可以通过编程来读取相关位状态。表7-123是具体状是具体状态字节功能。态字节功能。(2)控制字节控制字节通过对控制字节的设置,可以选择高速脉冲输出的时间基准、通过对控制字节的设置,可以选择高速脉冲输出的时间基准、具体周期、输出模式具体周期、输出模式(PTO/PWM)、更新方式等,是编程时初始化操作中必须、更新方式等,是编程时初始化操作中必须完成的内容。表完成的内容。表7-124是各控制位具体功能。是各控制位具体功能。表表7-123高速脉冲输出状态字节功能高速脉冲输出状态字节功能状态位功能状态位功能Q0.0Q0.1不用位不用位SM66.0SM66.3SM76.0SM76.3PTO包络由于增量计算错误终止:包络由于增量计算错误终止:0(无错误无错误);1(终止终止)SM66.4SM76.4PTO包络由于用户命令终止:包络由于用户命令终止:0(无错误无错误);1(终止终止)SM66.5SM76.5PTO管线上溢管线上溢/下溢:下溢:0(无溢出无溢出);1(溢出溢出)SM66.6SM76.6PTO空闲:空闲:0(执行中执行中);1(空闲空闲)SM66.7SM76.77.9 7.9 其他重要功能指令其他重要功能指令1.325第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.325表表7-124高速脉冲输出控制位功能高速脉冲输出控制位功能PTO/PWM时间基准选择:时间基准选择:0(控制位功能控制位功能Q0.0Q0.1PTO/PWM周期更新允许:周期更新允许:0(不更新不更新);1(允许更新允许更新)SM67.0SM77.0PWM脉冲宽度值更新允许:脉冲宽度值更新允许:0(不更新不更新);1(允许更新允许更新)SM67.1SM77.1PTO脉冲数更新允许:脉冲数更新允许:0(不更新不更新);1(允许更新允许更新)SM67.2SM77.2/时基时基);1(1ms/时基时基)SM67.3SM77.3PWM更新方式:更新方式:0(异步更新异步更新);1(同步更新同步更新)SM67.4SM77.4PTO单单/多段选择:多段选择:0(单段管线单段管线);1(多段管线多段管线)SM67.5SM77.5PTO/PWM模式选择:模式选择:0(PTO模式模式);1(PWM模式模式)SM67.6SM77.6PTO/PWM脉冲输出允许:脉冲输出允许:0(禁止脉冲输出禁止脉冲输出);1(允许脉允许脉冲输出冲输出)SM67.7SM77.77.9 7.9 其他重要功能指令其他重要功能指令1.326第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3264.PWM脉冲输出设置脉冲输出设置1)PWM脉冲含义及周期、脉宽设置要求脉冲含义及周期、脉宽设置要求PWM脉冲是指占空比可调而周期固定的脉冲。其周期和脉宽的增量单位脉冲是指占空比可调而周期固定的脉冲。其周期和脉宽的增量单位可以设为微秒可以设为微秒()或毫秒或毫秒(ms),周期变化范围分别为,周期变化范围分别为5065535和和2ms65535ms。周期设置时,设置值应为偶数,若设为奇数会引起输出波形占空比的轻微失。周期设置时,设置值应为偶数,若设为奇数会引起输出波形占空比的轻微失真。周期设置值应大于真。周期设置值应大于2,若设置值小于,若设置值小于2,系统将默认为,系统将默认为2。2)PWM脉冲波形更新方式脉冲波形更新方式由于由于PWM占空比可调,且周期可设置,所以存在脉冲连续输出时的波形占空比可调,且周期可设置,所以存在脉冲连续输出时的波形更新问题。系统提供了同步更新和异步更新两种波形更新方式。更新问题。系统提供了同步更新和异步更新两种波形更新方式。同步更新同步更新PWM脉冲输出的典型操作是周期不变而变化脉冲宽度,这时由于不脉冲输出的典型操作是周期不变而变化脉冲宽度,这时由于不需要改变时间基准,可以使用同步更新。同步更新时波形的变化发生在周期的需要改变时间基准,可以使用同步更新。同步更新时波形的变化发生在周期的边缘,可以形成平滑转换。边缘,可以形成平滑转换。异步更新异步更新若在脉冲输出时要改变时间基准,就要使用异步更新方式。异若在脉冲输出时要改变时间基准,就要使用异步更新方式。异步更新会造成步更新会造成PWM功能瞬间被禁止,使得功能瞬间被禁止,使得PWM波形转换时不同步,可能会引波形转换时不同步,可能会引起被控设备的振动。所以应尽量避免使用异步更新。起被控设备的振动。所以应尽量避免使用异步更新。7.9 7.9 其他重要功能指令其他重要功能指令1.327第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3273)PWM脉冲输出设置脉冲输出设置下面以下面以Q0.0为脉冲输出端介绍为脉冲输出端介绍PWM脉冲输出的设置步骤。脉冲输出的设置步骤。(1)使用初始化脉冲触点使用初始化脉冲触点SM0.1调用调用PWM脉冲输出初始化操作子程序。这脉冲输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。时间,且程序更为结构化。(2)在初始化子程序中,将在初始化子程序中,将16#D3(2#11010011)写入写入SMB67控制字节中。控制字节中。设置内容为脉冲输出允许;选择设置内容为脉冲输出允许;选择PWM方式;使用同步更新;选择以微秒为增方式;使用同步更新;选择以微秒为增量单位;可以更新脉冲宽度和周期。量单位;可以更新脉冲宽度和周期。(3)向向SMW68中写入希望的周期值。中写入希望的周期值。(4)向向SMD70中写入希望的脉冲宽度。中写入希望的脉冲宽度。(5)执行执行PLS指令,开始输出脉冲。指令,开始输出脉冲。(6)若要在后续程序运行中修改脉冲宽度,则向若要在后续程序运行中修改脉冲宽度,则向SMB67中写入中写入16#D2(2#11010010),即可以改变脉冲宽度,但不允许改变周期值。再次执行,即可以改变脉冲宽度,但不允许改变周期值。再次执行PLS指令。指令。在上面初始化子程序的基础上,若要改变脉冲宽度,则执行以下步骤。在上面初始化子程序的基础上,若要改变脉冲宽度,则执行以下步骤。(1)调用一子程序,把所需脉冲宽度写入调用一子程序,把所需脉冲宽度写入SMD70中。中。(2)执行执行PLS指令。指令。7.9 7.9 其他重要功能指令其他重要功能指令1.328第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3285.PTO脉冲串输出设置脉冲串输出设置1)PTO脉冲串含义及周期、脉冲数设置要求脉冲串含义及周期、脉冲数设置要求PTO脉冲串用于输出占空比为脉冲串用于输出占空比为1 1的方波,可以设置其周期和输出的脉冲的方波,可以设置其周期和输出的脉冲数量。周期的增量单位可以设为微秒数量。周期的增量单位可以设为微秒()或毫秒或毫秒(ms),周期变化范围分别为,周期变化范围分别为50和和265535ms。周期设置时,设置值应为偶数,若设为奇数会引起输出波形占。周期设置时,设置值应为偶数,若设为奇数会引起输出波形占空比的轻微失真。周期设置值应大于空比的轻微失真。周期设置值应大于2,若设置值小于,若设置值小于2,系统将默认为,系统将默认为2。脉。脉冲数设置范围为冲数设置范围为14294967295,若设置值为,若设置值为0,系统将默认为,系统将默认为1。2)PTO脉冲串的单段管线和多段管线输出控制脉冲串的单段管线和多段管线输出控制PTO功能允许脉冲串的排队输出,当前脉冲串完成时,可以立即开始新脉功能允许脉冲串的排队输出,当前脉冲串完成时,可以立即开始新脉冲的输出,从而形成管线,保证了脉冲串顺序输出的连续性。根据管线的实现冲的输出,从而形成管线,保证了脉冲串顺序输出的连续性。根据管线的实现形式,将形式,将PTO分为单段管线和多段管线两种。分为单段管线和多段管线两种。(1)单段管线。单段管线。管线中只能存放一个脉冲串控制参数,一旦启动了一个脉冲串输出,就要管线中只能存放一个脉冲串控制参数,一旦启动了一个脉冲串输出,就要立即为下一个脉冲串设置控制参数,并再次执行立即为下一个脉冲串设置控制参数,并再次执行PLS指令。第一个脉冲串输出指令。第一个脉冲串输出完毕后,第二个脉冲串自动开始输出。重复以上过程就可输出多个脉冲串。若完毕后,第二个脉冲串自动开始输出。重复以上过程就可输出多个脉冲串。若前后脉冲串的时间基准产生变化或利用前后脉冲串的时间基准产生变化或利用PLS指令捕捉到新脉冲串之前上一个脉指令捕捉到新脉冲串之前上一个脉冲串已经完成,在脉冲串之间会出现不平滑转换。冲串已经完成,在脉冲串之间会出现不平滑转换。7.9 7.9 其他重要功能指令其他重要功能指令1.329第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.329在管线满时,若要再装入一个脉冲串的控制参数,则状态位在管线满时,若要再装入一个脉冲串的控制参数,则状态位SM66.6或或SM76.6会置位,表示会置位,表示PTO管线溢出。管线溢出。单段管线编程较复杂,主要要注意新脉冲串控制参数的写入时机。单段管线编程较复杂,主要要注意新脉冲串控制参数的写入时机。(2)多段管线。多段管线。在多段管线方式下,需要在变量存储器区在多段管线方式下,需要在变量存储器区(V)建立一个包络表。包络表中建立一个包络表。包络表中包含各脉冲串的参数包含各脉冲串的参数(初始周期、周期增量和脉冲数初始周期、周期增量和脉冲数)及要输出脉冲串的段数。及要输出脉冲串的段数。使用使用PLS指令启动输出后,系统自动从包络表中读取每个脉冲串的参数进行输指令启动输出后,系统自动从包络表中读取每个脉冲串的参数进行输出。出。编程时,必须向编程时,必须向SMW168或或SMW178装入包络表的起始变量的偏移地址装入包络表的起始变量的偏移地址(从从V0开始计算偏移地址开始计算偏移地址),例如包络表从,例如包络表从VB300开始,则需向开始,则需向SMW168或或SMW178中写入十进制数中写入十进制数300。包络表中的周期增量可以选择微秒或毫秒,但。包络表中的周期增量可以选择微秒或毫秒,但一个包络表中只能选择一个时间基准,运行过程中也不能改变。包络表的格一个包络表中只能选择一个时间基准,运行过程中也不能改变。包络表的格式见表式见表7-125。表表7-125包络表格式包络表格式7.9 7.9 其他重要功能指令其他重要功能指令1.330第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.330(2)在子程序中,若设置单段操作,则将在子程序中,若设置单段操作,则将16#85(2#10000101)写入写入SMB67,表示脉冲输出允许、选择,表示脉冲输出允许、选择PTO功能、单段操作、以微秒为增量单位、可以功能、单段操作、以微秒为增量单位、可以更新脉冲数和周期值;若设置多段操作,则将更新脉冲数和周期值;若设置多段操作,则将16#A0(2#10100000)写入写入SMB67,表示脉冲输出允许、选择,表示脉冲输出允许、选择PTO功能、多段操作、以微秒为增量单位。功能、多段操作、以微秒为增量单位。(3)单段操作中向单段操作中向SMW68中写入希望的周期值,向中写入希望的周期值,向SMD72中写入希望的中写入希望的脉冲数;多段操作中则要向脉冲数;多段操作中则要向SMW168中写入包络表的起始变量存储器偏移地中写入包络表的起始变量存储器偏移地址,然后建立包络表。址,然后建立包络表。(4)为捕获高速脉冲输出对应的中断事件为捕获高速脉冲输出对应的中断事件(PTO脉冲输出完成中断脉冲输出完成中断)编写相编写相应的中断程序,并参考中断事件及其优先级表应的中断程序,并参考中断事件及其优先级表7-91,用,用ATCH中断连接指令中断连接指令建立中断事件和中断程序的联系。本步骤可选。建立中断事件和中断程序的联系。本步骤可选。(5)执行执行PLS指令。指令。6.高速脉冲输出指令应用举例高速脉冲输出指令应用举例如图如图7.90(a)所示为使用多段管线所示为使用多段管线PTO方式控制直流伺服电动机进行精方式控制直流伺服电动机进行精确定位的控制系统。控制中遵循图确定位的控制系统。控制中遵循图7.90(b)中所画运行轨迹,并可以实现任意中所画运行轨迹,并可以实现任意时刻停止直流伺服电动机。控制程序如图时刻停止直流伺服电动机。控制程序如图7.91所示。所示。7.9 7.9 其他重要功能指令其他重要功能指令1.331第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.331从包络表起始地从包络表起始地址址开始的字节偏移开始的字节偏移地址地址包络表各包络表各段段描描述述VBn段数段数(1255):设为:设为0则产生非致命性错误,不则产生非致命性错误,不产生产生PTO输出输出VWn+1第第1段段初始周期初始周期(265535时间基准单位时间基准单位)VWn+3每个脉冲的周期增量每个脉冲的周期增量(- -3276832767时间基准单时间基准单位位)VDn+5脉冲数脉冲数(14294967295)VWn+9第第2段段初始周期初始周期(265535时间基准单位时间基准单位)VWn+11每个脉冲的周期增量每个脉冲的周期增量(- -3276832767时间基准单时间基准单位位)VDn+13脉冲数脉冲数(14294967295)7.9 7.9 其他重要功能指令其他重要功能指令1.332第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.332包络表中各段的长度均为包络表中各段的长度均为8个字节,前两个字节为该段起始时脉冲的周期个字节,前两个字节为该段起始时脉冲的周期值;接下来的两个字节为前后两个脉冲之间周期值的变化量,若为正则输出值;接下来的两个字节为前后两个脉冲之间周期值的变化量,若为正则输出脉冲周期变大,若为负则输出脉冲周期变小,若为脉冲周期变大,若为负则输出脉冲周期变小,若为0则输出脉冲周期不变;最则输出脉冲周期不变;最后四个字节设置本段内输出脉冲的数量。一般来说,为了使各脉冲段之间能后四个字节设置本段内输出脉冲的数量。一般来说,为了使各脉冲段之间能够平滑过渡,各段的结束周期够平滑过渡,各段的结束周期(ECT)与下一段的初始周期与下一段的初始周期(ICT)应相等,在各应相等,在各段输出脉冲数段输出脉冲数(Q)确定的情况下,脉冲的周期增量确定的情况下,脉冲的周期增量(N)需要经过计算来确定。需要经过计算来确定。例如:第例如:第1段中的初始周期为段中的初始周期为,脉冲数为,脉冲数为400个;而第个;而第2段的初始周期为段的初始周期为,为保证平滑过渡,第,为保证平滑过渡,第1段的结束周期设为与第段的结束周期设为与第2段初始周期相同,则脉段初始周期相同,则脉冲的周期增量为。冲的周期增量为。3)PTO脉冲串输出设置脉冲串输出设置下面以下面以Q0.0为输出端介绍为输出端介绍PTO脉冲串输出设置步骤。脉冲串输出设置步骤。(1)使用初始化脉冲触点使用初始化脉冲触点SM0.1调用调用PTO脉冲串输出初始化操作子程序。脉冲串输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。扫描时间,且程序更为结构化。7.9 7.9 其他重要功能指令其他重要功能指令1.333第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.333(a)(b)图图7.90直流伺服电动机精确定位控制系统示意图直流伺服电动机精确定位控制系统示意图7.9 7.9 其他重要功能指令其他重要功能指令1.334第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.334图图7.91直流伺直流伺服电动机精确服电动机精确定位控制程序定位控制程序7.9 7.9 其他重要功能指令其他重要功能指令1.335第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.335I/O分配见表分配见表7-126。表表7-126直流伺服电动机精确定位控制系统直流伺服电动机精确定位控制系统I/O分配表分配表输入触点输入触点功能说明功能说明输出线圈输出线圈功能说明功能说明I0.0伺服电动机启动按钮伺服电动机启动按钮Q0.0高速脉冲输出端口高速脉冲输出端口I0.1伺服电动机停止按钮伺服电动机停止按钮Q1.6伺服控制允许输出伺服控制允许输出(1)在初始化子程序在初始化子程序INIT中,将高速脉冲输出设置为中,将高速脉冲输出设置为PTO模式、多段管模式、多段管线、线、s模式,并允许脉冲输出。同时设置模式,并允许脉冲输出。同时设置PTO包络表起始地址为包络表起始地址为VB300,通,通过过SETBAOLUO子程序设置了包络表。子程序设置了包络表。(2)I0.0闭合启动了高速脉冲,并使伺服控制允许开启。闭合启动了高速脉冲,并使伺服控制允许开启。(3)I0.1闭合可以通过设置闭合可以通过设置SM67.7为零禁止高速脉冲输出,同时使伺服控为零禁止高速脉冲输出,同时使伺服控制允许关闭,使得直流伺服电动机停止。制允许关闭,使得直流伺服电动机停止。7.9 7.9 其他重要功能指令其他重要功能指令1.336第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3367.9.3PID回路指令回路指令PID算法是过程控制领域中技术成熟、应用方便且广泛使用的控制方法。算法是过程控制领域中技术成熟、应用方便且广泛使用的控制方法。它是基于经典控制理论,并经过长期工程实践而总结出的一套行之有效的控它是基于经典控制理论,并经过长期工程实践而总结出的一套行之有效的控制算法。在较早的制算法。在较早的PLC中并没有中并没有PID的现成指令,只能通过运算指令实现的现成指令,只能通过运算指令实现PID功能,但随着功能,但随着PLC技术的发展,很多品牌的技术的发展,很多品牌的PLC都增加了都增加了PID功能,有功能,有些是专用模块,有些是指令形式,都大大扩展了些是专用模块,有些是指令形式,都大大扩展了PLC的应用范围。西门子的的应用范围。西门子的S7-200系列系列PLC中使用的是中使用的是PID回路指令。回路指令。1.PID算法简介算法简介PID控制控制(比例比例积分积分微分控制微分控制)算法在过程控制领域中的闭环控制中算法在过程控制领域中的闭环控制中得到了广泛应用。图得到了广泛应用。图7.92为带为带PID控制器的闭环控制系统框图。控制器的闭环控制系统框图。图图7.92带带PID控制器的闭环控制系统框图控制器的闭环控制系统框图7.9 7.9 其他重要功能指令其他重要功能指令1.337第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.337PID控制器可调节回路输出,使系统达到稳定状态。偏差控制器可调节回路输出,使系统达到稳定状态。偏差e是给定值是给定值SP和和测量值测量值PV的差值。式的差值。式(7-1)为为PID控制的位置式算法,回路的输出变量控制的位置式算法,回路的输出变量M(t)是时是时间的函数,它可以看作是比例项、积分项、微分项间的函数,它可以看作是比例项、积分项、微分项3项之和:项之和:(7-1)式中:式中:M(t)PID回路的输出,是时间函数;回路的输出,是时间函数;PID回路的增益;回路的增益;ePID回路的偏差;回路的偏差;PID回路的初始值。回路的初始值。数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算输出值。式采样后,计算输出值。式(7-2)是式是式(7-1)的离散形式:的离散形式:(7-2)7.9 7.9 其他重要功能指令其他重要功能指令1.338第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.338式中:式中:Mn在第在第n采样时刻采样时刻PID回路输出的计算值;回路输出的计算值;KcPID回路增益;回路增益;En在第采样时刻的偏差值;在第采样时刻的偏差值;在第采样时刻的偏差值在第采样时刻的偏差值(偏差前值偏差前值);Ki积分项的系数;积分项的系数;PID回路的初值;回路的初值;Kd微分项的系数。微分项的系数。式式(7-2)中,积分项中,积分项是包括从第是包括从第1个采样周期到当前采样周期的所个采样周期到当前采样周期的所有误差的累积值。计算中,没有必要保留所有采样周期的误差项,只需保留积有误差的累积值。计算中,没有必要保留所有采样周期的误差项,只需保留积分项前值分项前值MX即可。即可。CPU实际上是使用式实际上是使用式(7-3)的改进形式的的改进形式的PID算式。算式。(7-3)7.9 7.9 其他重要功能指令其他重要功能指令1.339第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.339式中:式中:MX 积分项前值积分项前值(在第在第n-1采样时刻的积分项采样时刻的积分项);MPn 第第n个采样时刻的比例项;个采样时刻的比例项;MIn 第第n个采样时刻的积分项;个采样时刻的积分项;MDn 第第n个采样时刻的微分项。个采样时刻的微分项。(1)比例项。比例项。比例项比例项MPn是增益是增益Kc(决定输出对偏差的灵敏度决定输出对偏差的灵敏度)和偏差和偏差的乘积。增益的乘积。增益为正的回路为正作用回路,反之为反作用回路。选择正、反作用回路的目的为正的回路为正作用回路,反之为反作用回路。选择正、反作用回路的目的是使系统处于负反馈控制。是使系统处于负反馈控制。CPU采用式采用式(7-4)来计算来计算MPn。(7-4)式中:式中:SPn第第n采样时刻的给定值;采样时刻的给定值;PVn第第n采样时刻的过程变量值。采样时刻的过程变量值。(2)积分项。积分项。积分项积分项MIn与偏差的和成正比,是各次积分项的累积值。与偏差的和成正比,是各次积分项的累积值。CPU采用式采用式(7-5)来计算来计算MIn。(7-5)7.9 7.9 其他重要功能指令其他重要功能指令1.340第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.340式中:式中:Ts采样周期;采样周期;Ti积分时间常数。积分时间常数。积分项前值积分项前值MX是第是第n采样周期前所有积分项之和。在每次计算出采样周期前所有积分项之和。在每次计算出MIn之后,之后,都要用都要用MIn去更新去更新MX。第一次计算时,。第一次计算时,MX的初值被设置为的初值被设置为(初值初值)。采。采样周期样周期Ts是每次采样的时间间隔,而积分时间常数是每次采样的时间间隔,而积分时间常数Ti控制积分项在控制量计算控制积分项在控制量计算中的作用程度。中的作用程度。2.微分项微分项微分项微分项MDn与偏差的变化成正比。与偏差的变化成正比。(7-6)为了避免给定值变化的微分作用而引起的跳变,可设置给定值不变为了避免给定值变化的微分作用而引起的跳变,可设置给定值不变()。那么计算公式可简化为式。那么计算公式可简化为式(7-7)。(7-7)7.9 7.9 其他重要功能指令其他重要功能指令1.341第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.341式中:式中:微分时间常数;微分时间常数;第第n-1采样时刻的给定值;采样时刻的给定值;第第n-1采样时刻的过程变量值。采样时刻的过程变量值。3.PID回路指令回路指令1)指令格式及梯形图指令格式及梯形图指令梯形图与指令表格式见表指令梯形图与指令表格式见表7-127。7.9 7.9 其他重要功能指令其他重要功能指令1.342第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.342表表7-127PID回路指令的基本格式回路指令的基本格式名名称称PID运算运算指令指令PID指令表格式指令表格式PIDTBL,LOOP梯形图格式梯形图格式操作数操作数TBLVB(BYTE型型)LOOP常数常数(07)7.9 7.9 其他重要功能指令其他重要功能指令1.343第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3432)指令功能指令功能PID在在EN端口执行条件存在时,运用回路表中的输入信息和组态信息,端口执行条件存在时,运用回路表中的输入信息和组态信息,进行进行PID运算,编程极其简便。运算,编程极其简便。该指令有两个操作数:该指令有两个操作数:TBL和和LOOP。其中。其中TBL是回路表的起始地址,操是回路表的起始地址,操作数限用作数限用VB区域;区域;LOOP是回路号,可以是是回路号,可以是0到到7的整数。在程序中最多可以用的整数。在程序中最多可以用8条条PID指令,指令,PID回路指令不可重复使用同一个回路号回路指令不可重复使用同一个回路号(即使这些指令的回路表即使这些指令的回路表不同不同),否则会产生不可预料的结果。,否则会产生不可预料的结果。回路表包含回路表包含9个参数,用来控制和监视个参数,用来控制和监视PID运算。这些参数分别是过程变量运算。这些参数分别是过程变量当前值当前值PV,过程变量前值,过程变量前值,给定值,给定值SPn,输出值,输出值Mn,增益,增益Kc,采样时,采样时间间Ts,积分时间,积分时间Ti,微分时间,微分时间和积分项前值和积分项前值MX。36个字节的回路表格式个字节的回路表格式见表见表7-128。若要以一定的采样频率进行。若要以一定的采样频率进行PID运算,采样时间必须输入到回路表运算,采样时间必须输入到回路表中。且中。且PID指令必须编入定时发生的中断程序中,或者在主程序中由定时器控指令必须编入定时发生的中断程序中,或者在主程序中由定时器控制制PID指令的执行频率。指令的执行频率。7.9 7.9 其他重要功能指令其他重要功能指令1.344第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.344表表7-128PID指令回路表指令回路表过程变量过程变量给定值给定值输出值输出值增益增益采样时间采样时间偏移地址偏移地址变量名变量名数据类型数据类型变量类型变量类型描述描述0()实数实数输入输入必须在必须在0.01.0之间之间4()实数实数输入输入必须在必须在0.01.0之间之间8()实数实数输入输入/输输出出必须在必须在0.01.0之间之间12()实数实数输入输入比例常数,可正可负比例常数,可正可负16()实数实数输入输入单位为单位为s,必须是正,必须是正数数7.9 7.9 其他重要功能指令其他重要功能指令1.345第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.34520()实数实数输入输入单位为单位为min,必须是,必须是正数正数24()实数实数输入输入单位为单位为min,必须是,必须是正数正数28()实数实数输入输入/输输出出必须在必须在0.01.0之间之间32()实数实数输入输入/输输出出最近一次最近一次PID运算的运算的过程变量值,必须在过程变量值,必须在0.01.0之间之间偏移地址偏移地址变量名变量名数据类型数据类型变量类型变量类型描述描述积分时间积分时间微分时间微分时间积分项前值积分项前值过程变量前值过程变量前值7.9 7.9 其他重要功能指令其他重要功能指令1.346第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.346对于对于PID回路的控制,有些控制系统只需要比例、积分、微分其中的一种或回路的控制,有些控制系统只需要比例、积分、微分其中的一种或两种控制类型。通过设置相关参数即可选择所需的回路控制类型。两种控制类型。通过设置相关参数即可选择所需的回路控制类型。如只需要比例、微分回路控制,可以把积分时间常数设为无穷大。此时积如只需要比例、微分回路控制,可以把积分时间常数设为无穷大。此时积分项分项为初值。为初值。只需要比例、积分回路控制,可以把微分时间常数置为只需要比例、积分回路控制,可以把微分时间常数置为0。只需要积分或微分回路,则可以把回路增益只需要积分或微分回路,则可以把回路增益Kc设为设为0.0,在计算积分项和微,在计算积分项和微分项时,系统把回路增益分项时,系统把回路增益Kc当作当作1.0。一般情况下,比例、积分回路控制应用较多。微分控制的作用不宜过强,一般情况下,比例、积分回路控制应用较多。微分控制的作用不宜过强,否则易引起系统的不稳定。否则易引起系统的不稳定。3)PID回路指令控制方式回路指令控制方式S7-200系列系列PLC中,中,PID回路指令没有控制方式的设置,只要回路指令没有控制方式的设置,只要EN端有效就端有效就可以执行可以执行PID指令。指令。PID指令执行称之为指令执行称之为“自动自动”方式,方式,PID指令不运行称之为指令不运行称之为“手手动动”的方式。当的方式。当EN端口检测到一个正跳变端口检测到一个正跳变(从从0到到1)信号,信号,PID回路就从手动方式回路就从手动方式切换到自动方式。为达到无扰动切换,必须用手动方式将当前输入值填入回路切换到自动方式。为达到无扰动切换,必须用手动方式将当前输入值填入回路表中的表中的Mn栏,用来初始化输出值栏,用来初始化输出值Mn,且,且PID指令对回路表中的值进行一系列指令对回路表中的值进行一系列操作,以保证手动方式无扰动地切换到自动方式。操作,以保证手动方式无扰动地切换到自动方式。7.9 7.9 其他重要功能指令其他重要功能指令1.347第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.347置给定值置给定值SPn=过程变量过程变量PVn。置过程变量前值置过程变量前值=过程变量当前值过程变量当前值PVn。置积分项前值置积分项前值MX=输出值输出值Mn。4)回路输入输出变量的数值转换及其范围回路输入输出变量的数值转换及其范围(1)回路输入变量的转换和归一化处理。回路输入变量的转换和归一化处理。每个每个PID回路有两个输入变量,给定值回路有两个输入变量,给定值SP和过程变量和过程变量PV。给定值通常是一。给定值通常是一个固定的值,如温度控制中温度的给定值。过程变量个固定的值,如温度控制中温度的给定值。过程变量PV则与则与PID回路输出有关,回路输出有关,并反映了控制的效果。在温度控制系统中,测量并转换为标准信号的温度值就并反映了控制的效果。在温度控制系统中,测量并转换为标准信号的温度值就是过程变量。是过程变量。给定值和过程变量一般都是实际工程物理量,其数值大小、范围和测量单给定值和过程变量一般都是实际工程物理量,其数值大小、范围和测量单位都可能不一样。执行位都可能不一样。执行PID指令前必须把它们转换成标准的浮点型实数。指令前必须把它们转换成标准的浮点型实数。回路输入变量的数据转换。把回路输入变量的数据转换。把A/D模拟量单元输出的整数值转换成浮点模拟量单元输出的整数值转换成浮点型实数值,程序如下。型实数值,程序如下。7.9 7.9 其他重要功能指令其他重要功能指令1.348第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.348XORDAC0,AC0/清空累加器清空累加器MOVWAIW0,AC0/模拟量采集,送入模拟量采集,送入AC0LDW=AC0,0/若为正,直接转换为实数若为正,直接转换为实数JMP0/否则,先对否则,先对AC0中的值进行符号扩展中的值进行符号扩展NOTORD16#FFFF0000,AC0LBL0DTRAC0,AC0/把把32位整数转换为实数位整数转换为实数实数值的归一化处理。把实数值进一步归一化为实数值的归一化处理。把实数值进一步归一化为0.01.0之间的实数。之间的实数。归一化的公式为归一化的公式为(7-8)式中:式中:标准化的实数值;标准化的实数值;未标准化的实数值;未标准化的实数值;补偿值或偏置,单级性为补偿值或偏置,单级性为0.0,双极性为,双极性为0.5;值域大小,为最大允许值减去最小允许值,单极性为值域大小,为最大允许值减去最小允许值,单极性为32000(典型值典型值),双极性为,双极性为64000(典型值典型值)。7.9 7.9 其他重要功能指令其他重要功能指令1.349第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.349双极性实数标准化的程序如下。双极性实数标准化的程序如下。/R64000.0,AC0/累加器值进行标准化累加器值进行标准化+R0.5,AC0/加上偏置,使其落在加上偏置,使其落在0.01.0之间之间MOVRAC0,VD100/标准化的值存入回路表标准化的值存入回路表(2)回路输出变量的数据转换。回路输出变量的数据转换。回路输出变量是用来控制外部设备的,例如控制水泵的速度。回路输出变量是用来控制外部设备的,例如控制水泵的速度。PID运算的运算的输出值是输出值是0.01.0之间的标准化了的实数值,在输出变量传送给之间的标准化了的实数值,在输出变量传送给D/A模拟量单元模拟量单元之前,必须把回路输出变量转换成相应的整数。这一过程是实数值标准化的逆之前,必须把回路输出变量转换成相应的整数。这一过程是实数值标准化的逆过程。过程。回路输出变量的刻度化。把回路输出的标准化实数转换成实数,公式如回路输出变量的刻度化。把回路输出的标准化实数转换成实数,公式如下。下。(7-9)式中:式中:回路输出的刻度实数值;回路输出的刻度实数值;Mn回路输出的标准化实数值;回路输出的标准化实数值;、的定义同式的定义同式(7-8)。7.9 7.9 其他重要功能指令其他重要功能指令1.350第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.350回路输出变量的刻度化的程序如下。回路输出变量的刻度化的程序如下。MOVRVD108,AC0/将回路输出值放入累加器将回路输出值放入累加器-R0.5,AC0 /对双极性输出,要减对双极性输出,要减0.5的偏置的偏置(单极性无单极性无此句此句)*R64000.0,AC0/得到回路输出的刻度值得到回路输出的刻度值将实数转换为整数将实数转换为整数(INT)。把回路输出变量的刻度值转换成整数。把回路输出变量的刻度值转换成整数(INT)的程序为:的程序为:ROUNDAC0,AC0/实数转换为实数转换为32位整数位整数MOVWAC0,AQW0/将输出值输出到模拟量输出寄存将输出值输出到模拟量输出寄存器器(3)变量的范围。变量的范围。过程变量和给定值是过程变量和给定值是PID运算的输入变量,因此,在回路表中这些变量只运算的输入变量,因此,在回路表中这些变量只能被除数回路指令读取而不能改写。能被除数回路指令读取而不能改写。输出变量是由输出变量是由PID运算产生的,在每一次运算产生的,在每一次PID运算完成之后,需要把新输出运算完成之后,需要把新输出值写入回路表,以供下一次值写入回路表,以供下一次PID运算使用。输出值应为运算使用。输出值应为0.01.0之间的实数。之间的实数。如果使用积分控制,积分项前值要根据如果使用积分控制,积分项前值要根据PID运算结果更新。每次运算结果更新。每次PID运算后更新运算后更新了的积分项前值要写入回路表,用作下一次运算的输入。若输出值超过范围了的积分项前值要写入回路表,用作下一次运算的输入。若输出值超过范围(大大于于1.0或小于或小于0.0),那么积分项前值必须根据下列公式进行调整:,那么积分项前值必须根据下列公式进行调整:7.9 7.9 其他重要功能指令其他重要功能指令1.351第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.351MX=1.0-(MPn-MDn)当计算输出值当计算输出值Mn1.0MX=-(MPn-MDn)当计算输出值当计算输出值MN0.0式中:式中:MX经过调整了的积分项前值;经过调整了的积分项前值;MPn第采样时刻的比例项;第采样时刻的比例项;MDn第采样时刻的微分项。第采样时刻的微分项。修改回路表中积分项前值时,应保证修改回路表中积分项前值时,应保证MX的值在的值在0.01.0之间。调整积分项之间。调整积分项前值后使输出值回到前值后使输出值回到(0.01.0)范围,可以提高系统的响应性能。范围,可以提高系统的响应性能。4)PID指令运行出错条件指令运行出错条件PID指令不检查回路表中的值是否在范围之内,所以必须确保过程变量、指令不检查回路表中的值是否在范围之内,所以必须确保过程变量、给定值、输出值、积分项前值、过程变量前值在给定值、输出值、积分项前值、过程变量前值在0.01.0之间。如果指令操作数之间。如果指令操作数超出范围,超出范围,CPU会产生编译错误,导致编译失败。会产生编译错误,导致编译失败。如果如果PID运算发生错误,那么特殊存储器标志位运算发生错误,那么特殊存储器标志位SM1.1(溢出或非法值溢出或非法值)会被会被置置1,并且中止,并且中止PID指令的执行。要想消除这种错误,单靠改变回路中的输出值指令的执行。要想消除这种错误,单靠改变回路中的输出值是不够的,正确的方法是在下一次执行是不够的,正确的方法是在下一次执行PID运算之前,改变引起运算错误的输入运算之前,改变引起运算错误的输入值,而不是更新输出值。值,而不是更新输出值。7.9 7.9 其他重要功能指令其他重要功能指令1.352第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3523.指令应用举例指令应用举例1)控制要求控制要求某水箱其出水口流量是变化的,进水口流量可通过调节水泵转速控制,水某水箱其出水口流量是变化的,进水口流量可通过调节水泵转速控制,水位检测由差压变送器完成。现对水箱进行水位控制,使其水位保持在满水位的位检测由差压变送器完成。现对水箱进行水位控制,使其水位保持在满水位的75%。以。以PLC为主控制器,采用为主控制器,采用EM235模拟量模块实现模拟量和数字量的转换,模拟量模块实现模拟量和数字量的转换,差压变送器送出的水位测量值通过模拟量输入通道送入差压变送器送出的水位测量值通过模拟量输入通道送入PLC中,中,PID回路输出回路输出值通过模拟量转化控制变频器实现对水泵转速的调节。值通过模拟量转化控制变频器实现对水泵转速的调节。2)控制程序的实现控制程序的实现在以上要求中,水位测量值为过程变量在以上要求中,水位测量值为过程变量PV,满水位的,满水位的75%为给定值为给定值SP。本例中过程变量本例中过程变量PV和回路输出量归一化采用单极性方案。控制方式采用比例、和回路输出量归一化采用单极性方案。控制方式采用比例、积分控制,积分控制,PID参数采用如下设置:参数采用如下设置:Kc=0.25,Ts=0.1s,=30min。程序如图。程序如图7.93所示。所示。7.9 7.9 其他重要功能指令其他重要功能指令1.353第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.353图图7.93PID控制控制程序程序7.9 7.9 其他重要功能指令其他重要功能指令1.354第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.354(1)系统启动时,关闭出水口,用手动方式控制进水,使水位达到满水位的系统启动时,关闭出水口,用手动方式控制进水,使水位达到满水位的75%,然后打开出水口,同时将控制方式从,然后打开出水口,同时将控制方式从“手动手动”转为转为“自动自动”。I0.0控制控制PID指指令的启动,只需提供一个上升沿。令的启动,只需提供一个上升沿。(2)SBR_0子程序中为子程序中为PID参数设置及定时中断程序的启动。参数设置及定时中断程序的启动。(3)定时中断程序定时中断程序INT_0中为数据的标准化、中为数据的标准化、PID指令的执行、及控制量的指令的执行、及控制量的输出。输出。4.PID指令使用说明指令使用说明(1)采用主程序、子程序、中断程序的程序结构形式,可优化程序结构,减采用主程序、子程序、中断程序的程序结构形式,可优化程序结构,减少周期扫描时间。少周期扫描时间。(2)在子程序中,先进行组态编程的初始化工作,将在子程序中,先进行组态编程的初始化工作,将5个固定值的参数个固定值的参数(SPn、Kc、Ts、)填入回路表。然后再设置定时中断,以便周期地执行填入回路表。然后再设置定时中断,以便周期地执行PID指指令。令。7.9 7.9 其他重要功能指令其他重要功能指令1.355第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.355(3)在中断程序中完成在中断程序中完成3个任务。个任务。将由模拟量输入模块提供的过程变量将由模拟量输入模块提供的过程变量PVn转换成标准化的实数转换成标准化的实数(0.01.0之之间的实数间的实数)并填入回路表。并填入回路表。设置设置PID指令的无扰动切换的条件指令的无扰动切换的条件(例例I0.0),并执行,并执行PID指令。使系统由手指令。使系统由手动方式无扰动地切换到自动方式。将参数动方式无扰动地切换到自动方式。将参数Mn、SPn、MX先后填入回路先后填入回路表,完成回路表的组态编程,从而实现周期地执行表,完成回路表的组态编程,从而实现周期地执行PID指令。指令。将将PID运算输出的标准化实数值运算输出的标准化实数值Mn先刻度化,然后再转换成有符号整数先刻度化,然后再转换成有符号整数(INT),最后送至模拟量输出模块,以实现对外部设备的控制。,最后送至模拟量输出模块,以实现对外部设备的控制。7.9 7.9 其他重要功能指令其他重要功能指令1.356第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3567.9.4时钟功能指令时钟功能指令时钟功能指令可以调用系统实时时钟,对实现监控、记录、定时完成数据时钟功能指令可以调用系统实时时钟,对实现监控、记录、定时完成数据传送、打印等功能十分方便。时钟功能指令共有两条:传送、打印等功能十分方便。时钟功能指令共有两条:READ_RTC和和SET_RTC。1.指令格式与操作数指令格式与操作数指令的梯形图和指令表格式见表指令的梯形图和指令表格式见表7-129。操作数见表。操作数见表7-130。表表7-129READ_RTC、ET_RTC指令的基本格式指令的基本格式名名称称读实时时钟读实时时钟写实时时钟写实时时钟指令指令READ_RTCET_RTC指令表格式指令表格式TODRTTODWT梯形图格式梯形图格式7.9 7.9 其他重要功能指令其他重要功能指令1.357第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.357表7-130 READ_RTC、ET_RTC指令的操作数指指令令输入输入/输出输出操作数操作数数据类数据类型型READ_RTC、ET_RTCTVB,IB,QB,MB,SMB,SB,LB,*VD,*AC,*LDWORD2.指令功能指令功能READ_RTC读实时时钟指令,读实时时钟指令,EN端口执行条件存在时,读当前时间和端口执行条件存在时,读当前时间和日期,并把它装入由日期,并把它装入由T端口指定起始地址的端口指定起始地址的8个连续字节的缓冲区。个连续字节的缓冲区。SET_RTC设置实时时钟指令,设置实时时钟指令,EN端口执行条件存在时,将包含当前时端口执行条件存在时,将包含当前时间和日期的一个间和日期的一个8字节缓冲区的内容装入时钟,字节缓冲区的内容装入时钟,T端口指定端口指定8个连续字节的缓冲个连续字节的缓冲区的起始地址。区的起始地址。8字节时钟缓冲区字节时钟缓冲区(T)格式见表格式见表7-131。7.9 7.9 其他重要功能指令其他重要功能指令1.358第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.358表表7-1318字节时钟缓冲区字节时钟缓冲区(T)格式格式缓冲区缓冲区TT+1T+2T+3T+4T+5T+6T+7内容内容年年月月日日时时分分秒秒0星期星期BCD码范码范围围009901120131002300590059001073.指令应用举例指令应用举例设置系统时间为设置系统时间为05年年12月月31日日12时时30分分26秒星期六,并在秒星期六,并在10分钟后读出时分钟后读出时钟信息,存放在钟信息,存放在VB100开始的开始的8个字节中。个字节中。梯形图与指令表如图梯形图与指令表如图7.94所示。所示。7.9 7.9 其他重要功能指令其他重要功能指令1.359第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.359图图7.94设置和读取时钟程序设置和读取时钟程序7.9 7.9 其他重要功能指令其他重要功能指令1.360第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3604.指令使用说明指令使用说明(1)所有日期和时间均以所有日期和时间均以BCD码表示。年份只用最低两位表示,所以码表示。年份只用最低两位表示,所以2005年将表示为年将表示为05年。年。(2)PLC不检查和核实输入时间是否正确,无效时间也可以被接受,所不检查和核实输入时间是否正确,无效时间也可以被接受,所以输入时需要保证数据的正确。以输入时需要保证数据的正确。(3)不能同时在主程序和中断程序中使用读写时钟指令,若在执行时钟不能同时在主程序和中断程序中使用读写时钟指令,若在执行时钟指令的同时,出现了包含时钟指令执行的中断程序,则中断程序中的时钟指指令的同时,出现了包含时钟指令执行的中断程序,则中断程序中的时钟指令不予执行。令不予执行。7.9 7.9 其他重要功能指令其他重要功能指令
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号