资源预览内容
第1页 / 共141页
第2页 / 共141页
第3页 / 共141页
第4页 / 共141页
第5页 / 共141页
第6页 / 共141页
第7页 / 共141页
第8页 / 共141页
第9页 / 共141页
第10页 / 共141页
亲,该文档总共141页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统第4章 S7-300系列PLC基本指令系统4.1 指令及其结构指令及其结构4.2 位逻辑指令位逻辑指令4.3 定时器与计数器指令定时器与计数器指令4.4 数据处理功能指令数据处理功能指令4.5 数据运算指令数据运算指令4.6 控制指令控制指令 思考与练习题思考与练习题第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.1 指令及其结构指令及其结构4.1.1 指令的组成指令的组成 1. 语句指令语句指令 一条指令由一个操作码和一个操作数组成,操作数由标识符一条指令由一个操作码和一个操作数组成,操作数由标识符和参数组成。操作码定义要执行的功能;操作数为执行该操作所和参数组成。操作码定义要执行的功能;操作数为执行该操作所需要的信息,例如:需要的信息,例如: A I 1.0 是一条位逻辑操作指令,其中:是一条位逻辑操作指令,其中:“A”是操作码,它表示执行是操作码,它表示执行“与与”操作;操作;“I 1.0”是操作数,对输入继电器是操作数,对输入继电器I 1.0进行的操作。进行的操作。 有些语句指令不带操作数。它们操作的对象是惟一的。例有些语句指令不带操作数。它们操作的对象是惟一的。例如:如:NOT (是对逻辑操作结果(是对逻辑操作结果(RLO)取反。)取反。)第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 梯形逻辑指令梯形逻辑指令 梯形逻辑指令用图形元素表示梯形逻辑指令用图形元素表示PLC要完成操作。在梯形逻辑要完成操作。在梯形逻辑指令中,其操作码是用图素表示的,该图素形象表明指令中,其操作码是用图素表示的,该图素形象表明CPU做什做什么,其操作数的表示方法与语句指令相同。如:么,其操作数的表示方法与语句指令相同。如: Q 4.0 ( )该指令中:该指令中:( )可认为是操作码,表示一个二进制赋值操作。可认为是操作码,表示一个二进制赋值操作。Q 4.0是操作数,表示赋值的对象。是操作数,表示赋值的对象。 梯形逻辑指令也可不带操作数。如:梯形逻辑指令也可不带操作数。如: |NOT| 是对逻辑操作结果取反的操作。是对逻辑操作结果取反的操作。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.1.2 操作数操作数 1. 标识符及表示参数标识符及表示参数 一般情况下,指令的操作数在一般情况下,指令的操作数在PLC的存储器中,此时操作的存储器中,此时操作数由操作数标识符和参数组成。数由操作数标识符和参数组成。 操作数标识符由主标识符和辅操作数标识符由主标识符和辅助标识符组成。主标识符表示操作数所在的存储区,辅助标识助标识符组成。主标识符表示操作数所在的存储区,辅助标识符进一步说明操作数的位数长度。若没有辅助标识符指操作数符进一步说明操作数的位数长度。若没有辅助标识符指操作数的位数是一位。的位数是一位。 主标识符有:主标识符有:I(输入过程映像存储区输入过程映像存储区),Q(输出过程映象存储区输出过程映象存储区),M(位存储位存储区区),PI(外部输入外部输入),PQ(外部输入外部输入),T(定时器定时器),C(计数器计数器),DB(数据块数据块),L(本地数据本地数据)。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 辅助标识符有:辅助标识符有:X(位位),B(字节字节),W(字字2字节字节),D(双字双字4字节字节)。 PLC物理存储器是以字节为单位的,所以存储单元规定为物理存储器是以字节为单位的,所以存储单元规定为字节单元。位地址参数用一个点与字节地址分开。如:字节单元。位地址参数用一个点与字节地址分开。如:M 10.1 当操作数长度是字或双字时,标识符后给出的标识参数是字当操作数长度是字或双字时,标识符后给出的标识参数是字或双字内的最低字节单元号。图或双字内的最低字节单元号。图4.1给出了字节、字、双字的相给出了字节、字、双字的相互关系及表示方法。当使用宽度为字或双字的地址时,应保证互关系及表示方法。当使用宽度为字或双字的地址时,应保证没有生成任何重叠的字节分配,以免造成数据读写错误。没有生成任何重叠的字节分配,以免造成数据读写错误。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.1 以字节单元为基准标记存储器存储单元以字节单元为基准标记存储器存储单元位存储区位存储区M第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.1 存储区及其功能存储区及其功能 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.1 存储区及其功能存储区及其功能 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 操作数的表示法操作数的表示法 在在STEP7中,操作数有两种表示方法:一是物理地址中,操作数有两种表示方法:一是物理地址(绝对绝对地址地址)表示法;二是符号地址表示法。表示法;二是符号地址表示法。 用物理地址表示操作数时,要明确指出操作数的所在存储区,用物理地址表示操作数时,要明确指出操作数的所在存储区,该操作数的位数具体位置。例如:该操作数的位数具体位置。例如:Q 4.0。 STEP7 允许用符号地址表示操作数,如允许用符号地址表示操作数,如Q 4.0可用符号名可用符号名MOTOR_ON替代表示,符号名必须先定义后使用,而且符号名替代表示,符号名必须先定义后使用,而且符号名必须是惟一的,不能重名。必须是惟一的,不能重名。 定义符号时,需要指明操作数所在的存储区,操作数的位数、定义符号时,需要指明操作数所在的存储区,操作数的位数、具体位置及数据类型。具体位置及数据类型。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.1.3 寻址方式寻址方式 操作数是指令的操作或运算对象。所谓寻址方式是指令得操作数是指令的操作或运算对象。所谓寻址方式是指令得到操作数的方式,可以直接给出或间接给出。到操作数的方式,可以直接给出或间接给出。 STEP7指令操作对象的有:常数;指令操作对象的有:常数;S7状态字中的状态位;状态字中的状态位;S7的各种寄存器、数据块;功能块的各种寄存器、数据块;功能块FB,FC和系统功能块和系统功能块SFB,SFC;S7的各存储区中的单元。的各存储区中的单元。 S7有四种寻址方式:立即寻址、存储器直接寻址、存储器有四种寻址方式:立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。间接寻址和寄存器间接寻址。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 1. 立即寻址立即寻址 这是对常数或常量的寻址方式。操作数本身直接包含在指这是对常数或常量的寻址方式。操作数本身直接包含在指令中。下面是立即寻址的例子:令中。下面是立即寻址的例子:SET /把把RLO置置1OW W#16#A320 /将常量将常量W#16#A320与累加器与累加器1“或或”运运算算L 27 /把整数把整数27装入累加器装入累加器1L ABCD /把把ASCII码字符码字符ABCD装入累加器装入累加器1L C#0100 /把把BCD码常数码常数0100装入累加器装入累加器1 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 直接寻址直接寻址 包括对寄存器和存储器的直接寻址。在直接寻址的指令中,包括对寄存器和存储器的直接寻址。在直接寻址的指令中,直接给出操作数的存储单元地址。例如:直接给出操作数的存储单元地址。例如:A I 0.0 /对输入位对输入位I 0.0进行进行“与与”逻辑操作逻辑操作S L 20.0 /把本地数据位把本地数据位L 20.0置置1= M 115.4 /使存储区位使存储区位M 115.4的内容等于的内容等于RLO的内容的内容L IB 10 /把输入字节把输入字节IB 10的内容装入累加器的内容装入累加器1T DBD 12 /把累加器把累加器1中的内容传送给数据双字中的内容传送给数据双字DBD 12中中第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 3. 存储器间接寻址存储器间接寻址 在存储器间接寻址的指令中,给出一个存储器在存储器间接寻址的指令中,给出一个存储器(必须是表必须是表4.1中的存储器中的存储器),该存储器的内容是操作数所在存储单元的地,该存储器的内容是操作数所在存储单元的地址,该地址又被称为地址指针。存储器间接寻址方式的优点是,址,该地址又被称为地址指针。存储器间接寻址方式的优点是,当程序执行时,能改变操作数的存储器地址,这对程序中的循当程序执行时,能改变操作数的存储器地址,这对程序中的循环尤为重要。例如:环尤为重要。例如: A IMD 2 /对由对由MD 2指出的输入位进行指出的输入位进行“与与”逻辑逻辑操作。如:操作。如:MD 2的值为的值为 /2#0000 0000 0000 0000 0000 0000 0101 0110 则是对则是对I 10.6进行进行“与与”操作。操作。 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.2 存储器间接寻址的指针格式存储器间接寻址的指针格式位位3至至18(范围范围0至至65535) : 被寻址字节的字节编号被寻址字节的字节编号位位0至至2(范围范围0至至7) : 被寻址位的位编号被寻址位的位编号第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 4. 寄存器间接寻址寄存器间接寻址 在在S7中有两个地址寄存器,它们是中有两个地址寄存器,它们是AR1和和AR2。通过地址通过地址寄存器,可以对各存储区的存储器内容实现寄存器间接寻址。寄存器,可以对各存储区的存储器内容实现寄存器间接寻址。地址寄存器的内容加上偏移量形成地址指针,该指针指向数值地址寄存器的内容加上偏移量形成地址指针,该指针指向数值所在的存储单元。所在的存储单元。 地址寄存器存储的地址指针有两种格式:地址寄存器存储的地址指针有两种格式: 区内寄存器间区内寄存器间接寻址区域间寄存器间接寻址。其长度均为双字。图接寻址区域间寄存器间接寻址。其长度均为双字。图4.3给出了给出了这两种格式的细节及其差别,区域标识位的组合状态见表这两种格式的细节及其差别,区域标识位的组合状态见表4.2。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.3 寄存器间接寻址的指针格式寄存器间接寻址的指针格式31 24 23 16 15 8 7 0位位31=0表明是区域内寄存器间接寻址;表明是区域内寄存器间接寻址;=1表明是区域间寄存器间接寻址。表明是区域间寄存器间接寻址。位位24、25和和26(r r r):区域标识区域标识(见表见表3.2)位位3至至18(bbbb bbbb bbbb bbbb):被寻址位的字节编号被寻址位的字节编号(范围范围0至至65535)位位0至至2():被寻址的位编号:被寻址的位编号(范围范围0至至7)第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.2 地址指针区域标识位含义地址指针区域标识位含义第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.1.4 状态字状态字 状态字用于表示状态字用于表示CPU执行指令时所具有的状态。一些指令执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位;你也能在位逻辑指令或指令时也可能改变状态字中的某些位;你也能在位逻辑指令或字逻辑指令中访问并检测它们。图字逻辑指令中访问并检测它们。图4.4显示了状态字的结构。显示了状态字的结构。图图4.4 状态字的结构状态字的结构15 9 8 7 6 5 4 3 2 1 0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统(1)首次检测位首次检测位(FC) 状态字的位状态字的位0称为首次检测位。若称为首次检测位。若FC位的状态为位的状态为0,则表明,则表明一个梯形逻辑网络的开始,或指令为逻辑串第一条指令。一个梯形逻辑网络的开始,或指令为逻辑串第一条指令。 (2)逻辑操作结果逻辑操作结果(RLO) 逻辑操作结果逻辑操作结果RLO(Result of Logic Operation)。该位存储。该位存储位逻辑指令或算术比较指令的结果。位逻辑指令或算术比较指令的结果。 (3)状态位状态位(STA) 状态位不能用指令检测,它只是在程序测试中被状态位不能用指令检测,它只是在程序测试中被CPU解释解释并使用。并使用。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统(4)或位或位(OR) 状态字的位状态字的位3称为或位称为或位(OR)。在先逻辑在先逻辑“与与”后逻辑后逻辑“或或”的逻辑串中,的逻辑串中,OR位暂存逻辑位暂存逻辑“与与”的操作结果,以便进行后面的操作结果,以便进行后面的逻辑的逻辑“或或”运算。其它指令将运算。其它指令将OR位清位清0。(5)溢出位溢出位(OV) 溢出位被置溢出位被置1,表明一个算术运算或浮点数比较指令执行时,表明一个算术运算或浮点数比较指令执行时出现错误出现错误 ( 错误:溢出、非法操作、不规范格式错误:溢出、非法操作、不规范格式 ) 。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统(6)溢出状态保持位溢出状态保持位(OS) OV被置被置1时时OS也被置也被置1;OV被清被清0时时OS仍保持。只有下面仍保持。只有下面的指令才能复位的指令才能复位OS位:位:JOS(OS=1时跳转时跳转);块调用和块结束指;块调用和块结束指令。令。 (7)条件码条件码1(CC1)和条件码和条件码0(CC0) 状态字的位状态字的位7和位和位6称为条件码称为条件码1和条件码和条件码0。这两位结合起。这两位结合起来用于表示在累加器来用于表示在累加器1中产生的算术运算或逻辑运算结果与中产生的算术运算或逻辑运算结果与0的的大小关系;比较指令的执行结果或移位指令的移出位状态。详大小关系;比较指令的执行结果或移位指令的移出位状态。详见表见表4.3和表和表4.4。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.3 算术运算后的算术运算后的CC1和和CC0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.4 比较、移位和循环移位、字逻辑指令后的比较、移位和循环移位、字逻辑指令后的CC1和和CC0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 (8)二进制结果位二进制结果位(BR) 它将字处理程序与位处理联系起来,用于表示字操作结果它将字处理程序与位处理联系起来,用于表示字操作结果是否正确是否正确(异常异常)。将。将BR位加入程序后,无论字操作结果如何,位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在都不会造成二进制逻辑链中断。在LAD的方块指令中,的方块指令中,BR位位与与ENO有对应关系,用于表明方块指令是否被正确执行:如果有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,执行出现了错误,BR位为位为0,ENO也为也为0;如果功能被正确执;如果功能被正确执行,行,BR位为位为1,ENO也为也为1。 在用户编写的在用户编写的FB和和FC程序中,必须对程序中,必须对BR位进行管理,当位进行管理,当功能块正确运行后使功能块正确运行后使BR位为位为1,否则使其为,否则使其为0。使用。使用STL指令指令SAVE或或LAD指令指令(SAVE),可将可将RLO存入存入BR中,从而达到中,从而达到管理管理BR位的目的。当位的目的。当FB或或FC执行无错误时,使执行无错误时,使RLO为为1并存并存入入BR,否则,在否则,在BR中存入中存入0。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.2 位逻辑指令位逻辑指令 位逻辑指令主要包括:位逻辑运算指令、位操作指令和位位逻辑指令主要包括:位逻辑运算指令、位操作指令和位测试指令,逻辑操作结果测试指令,逻辑操作结果(RLO)用以赋值、置位、复位布尔操用以赋值、置位、复位布尔操作数,也控制定时器和计数器的运行。作数,也控制定时器和计数器的运行。4.2.1 位逻辑运算指令位逻辑运算指令 位逻辑运算指令是位逻辑运算指令是“与与”(AND)、“或或”(OR)、“异或异或”(XOR)指令及其组合。它对指令及其组合。它对“0”或或“1”这些布尔操作数扫这些布尔操作数扫描,经逻辑运算后将逻辑操作结果送入状态字的描,经逻辑运算后将逻辑操作结果送入状态字的RLO位。位。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 1. “与与”和和“与非与非”(A,AN)指令指令 逻辑逻辑“与与”在梯形图里是用串联的触点回路表示的,如果在梯形图里是用串联的触点回路表示的,如果串联回路里的所有触点皆闭合,该回路就通串联回路里的所有触点皆闭合,该回路就通“电电”了。在图了。在图4.5的回路所示:的回路所示: 图图4.5 “与与”逻辑梯形逻辑梯形图图 上述梯形逻辑图,可用语句表指令完全表示,上述梯形逻辑图,可用语句表指令完全表示,对应的语句表为:对应的语句表为:A I0.0 A Q 4.1AN M10.1 Q4.0 ( )I0.0 Q4.1 M10.1 Q4.0 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. “或或”和和“或非或非”(O,ON)指令指令 逻辑逻辑“或或”在梯形图里是用并联的触点回路表示的,被扫在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在图描的操作数标在触点上方。在图4.6中,只要有一个触点闭合,中,只要有一个触点闭合,输出输出4.1的信号状态就为的信号状态就为“l”。 I1.1 M2.0 Q4.0 图图4.6 “或或”逻辑梯形图及语句表逻辑梯形图及语句表O I1.1 ON M2.0 O Q4.0 Q4.1 ( )Q4.1第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 3. “异或异或”和和“异或非异或非”(X,XN)指令指令 图图4.7是是“异或异或”逻辑梯形图,下面是与梯形图对应的语句逻辑梯形图,下面是与梯形图对应的语句表。在的语句表中,使用了表。在的语句表中,使用了“异或异或”和和“异或非异或非”指令,分别指令,分别用助记符用助记符“X”和和“XN”来标识。它类似来标识。它类似“或或”和和“或非或非”指指令,用于扫描并联回路能否令,用于扫描并联回路能否“通电通电”。 X I 0.0 X I 0.1 Q 4.0图图4.7 “异或异或”逻辑梯形逻辑梯形图图 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.2.2 位操作指令位操作指令 1. 输出指令输出指令 逻辑串输出指令又称为赋值操作指令,该操作把状态字中逻辑串输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数的值赋给指定的操作数(位地址位地址)。表。表4.5列出了操作数的数列出了操作数的数据类型和所在的存储区。据类型和所在的存储区。表表4.5 输出指令输出指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统A I0.0A I0.1ON I0.2 Q4.0 A I0.3 Q4.1图图4.8 多重输出梯形图多重输出梯形图 一个一个RLO可被用来驱动几个输出元件。在可被用来驱动几个输出元件。在LAD中,输出中,输出线圈是上下依次排列的。在线圈是上下依次排列的。在STL中,与输出信号有关的指令被中,与输出信号有关的指令被一个接一个地连续编程,这些输出具有相同的优先级。图一个接一个地连续编程,这些输出具有相同的优先级。图4.8是是多重输出梯形图,与之对应的语句表如下:多重输出梯形图,与之对应的语句表如下:第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2 . 置位复位指令置位复位指令 置位复位指令根据置位复位指令根据RLO的值,来决定被寻址位的信号状态的值,来决定被寻址位的信号状态是否需要改变。若是否需要改变。若RLO的值为的值为1,被寻址位的信号状态被置,被寻址位的信号状态被置1或清或清0;若;若RLO是是0,则被寻址位的信号保持原状态不变。置位复位,则被寻址位的信号保持原状态不变。置位复位指令有关内容见表指令有关内容见表4.6。表表4.6 置位复位指令置位复位指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 图图4.10 置位复位指令置位复位指令(a) 复位指令操作复位指令操作 (b)置位指令操作置位指令操作第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 3. RS触发器触发器 RS触发器梯形图方块指令表示见表触发器梯形图方块指令表示见表4.7。方块中标有一个置。方块中标有一个置位输入位输入(S)端,一个复位输入端,一个复位输入(R)端,输出端标为端,输出端标为Q。触发器可触发器可以用在逻辑串最右端,结束一个逻辑串,也可用在以用在逻辑串最右端,结束一个逻辑串,也可用在 逻辑串中,逻辑串中,影响右边的逻辑操作结果。影响右边的逻辑操作结果。 表表4.7 RS触发器触发器第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 RS触发器分为置位优先和复位优先型两种,触发器分为置位优先和复位优先型两种, 置位优先型置位优先型RS触发器的触发器的R端在端在S端之上,当两个输入端都为端之上,当两个输入端都为1时,下面的置时,下面的置位输入最终有效。既置位输入优先,触发器或被复位或保持复位输入最终有效。既置位输入优先,触发器或被复位或保持复位不变,如图位不变,如图4.11。 A I0.0 R M0.0A I0.1S M0.0A M0.0 = Q4.0 图图4.11 置位优先型置位优先型RS触发器触发器 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 4. 对对RLO的直接操作指令的直接操作指令 这一类指令直接对逻辑操作结果这一类指令直接对逻辑操作结果RLO进行操作,改变状态进行操作,改变状态字中字中RLO位的状态。有关内容见表位的状态。有关内容见表4.8。表表4.8 对对RLO的直接操作指令的直接操作指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.2.3 位测试指令位测试指令 当信号状态变化时就产生跳变沿。当从当信号状态变化时就产生跳变沿。当从0变到变到1时,产生一时,产生一个上升沿个上升沿(或正跳沿或正跳沿);若从;若从1变到变到0,则产生一个下降沿,则产生一个下降沿(或负跳或负跳沿沿)。 S7中有两类跳变沿检测指令,一种是对中有两类跳变沿检测指令,一种是对RLO的跳变沿检的跳变沿检测的指令,另一种是对触点跳变沿直接检测的梯形图方块指令。测的指令,另一种是对触点跳变沿直接检测的梯形图方块指令。具体内容见表具体内容见表4.9。 图图4.12是使用是使用RLO正跳沿检测指令的例子。这个例子中,正跳沿检测指令的例子。这个例子中,若若CPU检测到输入检测到输入I 1.0有一个正跳沿,将使得输出有一个正跳沿,将使得输出Q 4.0的线圈的线圈在一个扫描周期内通电。对输入在一个扫描周期内通电。对输入I 1.0常开触点扫描的常开触点扫描的RLO值存值存放在存储位放在存储位M 1.0中。中。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.9 跳变沿检测指令跳变沿检测指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.12 RLO正跳沿检测正跳沿检测第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.13 触点负跳沿检测触点负跳沿检测 图图4.13是使用触点负跳沿检测指令的例子。图中,由是使用触点负跳沿检测指令的例子。图中,由给出需要检测的触点编号给出需要检测的触点编号(I 0.3),(M 0.0)用于存放用于存放该触点在前一个扫描周期的状态。该触点在前一个扫描周期的状态。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.2.4 位逻辑指令编程举例位逻辑指令编程举例 1. 传送带控制传送带控制 图图4.14表示一个能够电气启动的传送带。在传送带的起点表示一个能够电气启动的传送带。在传送带的起点有两个按钮开关:用于有两个按钮开关:用于START的的S1和用于和用于STOP的的S2。在传送在传送带的尾部也有两个按钮开关:带的尾部也有两个按钮开关:S3用于用于START,S4用于用于STOP。可以从任一端启动或停止传送带。另外,当传送带上的物件到可以从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器达末端时,传感器S5使传送带停机。使传送带停机。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.14 传送带示意图传送带示意图第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.10 用于传送带系统符号编程的元素用于传送带系统符号编程的元素第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.15 控制传送带程序控制传送带程序第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 串并联组合表示法串并联组合表示法 当逻辑串是复杂组合时,当逻辑串是复杂组合时,CPU的扫描顺序是先的扫描顺序是先“与与”后后“或或”。图。图4.16 (a)给出的梯形逻辑是触点先并后串的例子,与其给出的梯形逻辑是触点先并后串的例子,与其对应的语句表为:对应的语句表为: A( O I0.0 O I0.2 ) A( O M10.0 O M0.3 ) A M10.1 Q4.0 图图4.16 串并联组合逻辑梯形图串并联组合逻辑梯形图 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.16(b)是先串后并的例子,与其对应的语句表如下:是先串后并的例子,与其对应的语句表如下: A( A I0.0 A M10.0 O A I0.2 A M0.3 ) A M10.1 Q4.0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 3. 风机监控程序风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以则指示灯以0.5 Hz的频率闪烁;如果没有任何风机转动,则指的频率闪烁;如果没有任何风机转动,则指示灯以示灯以2 Hz的频率闪烁。当设备不运行时,指示灯不亮。实的频率闪烁。当设备不运行时,指示灯不亮。实现上述功能的梯形图程序见图现上述功能的梯形图程序见图4.17。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.17 风机监控程序风机监控程序 注:输入位注:输入位I0.0,I0.1,I0.2分别为风机分别为风机1,2,3的反馈输入端。的反馈输入端。M9.3 为为2 Hz频率频率CPU中的时钟信号;中的时钟信号;M9.7为为0.5 Hz频率信号。频率信号。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 下面给出实现风机状态检测的语句表程序,从中可看出中下面给出实现风机状态检测的语句表程序,从中可看出中间输出指令的用法:间输出指令的用法: A( A( A I0.0 A I0.1 O A I0.0 A I0.2 O A I0.1 A I0.2 ) M10.0 A M10.0 O( AN I0.0 AN I0.1 AN I0.2 M10.1 A M10.1 A M9.3 ) O AN M10.0 AN M10.1 A M9.7 ) A Q4.0 Q4.1第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.3 定时器与计数器指令定时器与计数器指令4.3.1 定时器指令定时器指令 定时器是定时器是PLC中的重要部件,它用于实现或监控时间序列。中的重要部件,它用于实现或监控时间序列。定时器是一种由位和字组成的复合单元,定时器的触点由位表定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。示,其定时时间值存储在字存储器中。 S7-300/400提供的定时器有:提供的定时器有: 脉冲定时器脉冲定时器(SP)扩展定时器扩展定时器(SE)接通延时定时器接通延时定时器(SD)带保持的接通延时定时器带保持的接通延时定时器(SS)和断电延时定时器和断电延时定时器(SF)。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 1. 定时器的组成定时器的组成 在在CPU的存储器中留出了定时器区域,用于存储定时器的的存储器中留出了定时器区域,用于存储定时器的定时时间值。每个定时器为定时时间值。每个定时器为2 B,称为定时字。在称为定时字。在S7-300中,最中,最多允许使用多允许使用256个定时器。个定时器。 S7中定时时间由时基和定时值两部分组成,定时时间等于中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。采用减计时。定时时间到后会引起定时时基与定时值的乘积。采用减计时。定时时间到后会引起定时器触点的动作。器触点的动作。 定时器的第定时器的第0位到第位到第11位存放二进制格式的定时值,第位存放二进制格式的定时值,第12、13位存放二进制格式的时基位存放二进制格式的时基(如图如图4.18所示所示)。表。表4.11给出了可能给出了可能出现的组合情况。出现的组合情况。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.18 累加器累加器1低字的内容低字的内容(定时值定时值127,时基,时基l s)表表4.11 时基与定时范围时基与定时范围第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 设置定时时间,用户需给累加器设置定时时间,用户需给累加器1装入需要的数值,避免格式装入需要的数值,避免格式错误,推荐采用下述直观的句法:错误,推荐采用下述直观的句法: L W#16#wxyz其中,其中,w为时基,取值为为时基,取值为0,1,2或或3,分别表示时基为,分别表示时基为10 ms,l00 ms,1 s或或10 s;xyz为定时值,取值范围为为定时值,取值范围为1999。 也可直接使用也可直接使用S5中的时间表示法装入定时数值,例如:中的时间表示法装入定时数值,例如: L S5T#aH_bbM_ccS_dddMS其中,其中,a:小时,小时,bb:分钟,分钟,cc:秒,秒,ddd:毫秒,时基是自动选择毫秒,时基是自动选择的,原则是能满足定时范围要求的最小时基。的,原则是能满足定时范围要求的最小时基。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统2. 定时器的启动与运行定时器的启动与运行 S7中的定时器与时间继电器的工作特点相似,对定时器同中的定时器与时间继电器的工作特点相似,对定时器同样要设置定时时间,也要启动定时器样要设置定时时间,也要启动定时器(使定时器线圈通电使定时器线圈通电)。除。除此之外,定时器还增加了一些功能,如随时复位定时器、随时此之外,定时器还增加了一些功能,如随时复位定时器、随时重置定时时间重置定时时间(定时器再启动定时器再启动)、查看当前剩余定时时间等。、查看当前剩余定时时间等。S7中的定时器不仅功能强,而且类型多。图中的定时器不仅功能强,而且类型多。图4.19给出了为定时作给出了为定时作业如何正确选择定时器的示意图。以下将以业如何正确选择定时器的示意图。以下将以LAD方块图为主详方块图为主详细介绍定时器的运行原理及使用方法。细介绍定时器的运行原理及使用方法。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图图图4.19 4.19 五种类型定时器总览五种类型定时器总览五种类型定时器总览五种类型定时器总览第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.20 脉冲定时器指令脉冲定时器指令S_PULSET5SQRTVBCDBI( )Q4.0S5T#2SI0.0I0.13. 定时器梯形图方块指令定时器梯形图方块指令1) 脉冲定时器脉冲定时器 A I0.0 L S5T#2S SP T5 A I0.1 R T5 A T5 Q4.0 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.21 脉冲定时器时序脉冲定时器时序第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.22接通延时定时器指令接通延时定时器指令S_ODTT5SQRTVBCDBI( )Q4.0S5T#2SI0.0I0.1 A I0.0 L S5T#2S SD T5 A I0.1 R T5 A T5 Q4.03) 延时接通定时器延时接通定时器第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.23 延时接通定时器时序延时接通定时器时序第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4. 定时器线圈指令定时器线圈指令表表4.12 定时器线圈指令定时器线圈指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.24 扩展脉冲定时器线圈指令扩展脉冲定时器线圈指令 A I0.0 L S5T#2S SE T5 A I0.1 R T5 A T5 Q4.0 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.3.2 计数器指令计数器指令 * S7中的计数器用于:对对RLO正跳沿计数正跳沿计数。* 计数器是由表示当前计数值的字当前计数值的字及状态的位状态的位组成。* S7中有三种计数器 加计数器加计数器 (S_CU)减计数器减计数器 (S_CD)可逆计数器可逆计数器(S_CUD)第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.25 累加器累加器1低字的内容计数值低字的内容计数值1271.计数器组成计数器组成 在在CPU中保留一块存储区作为计数器计数值存储区,中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,计数器字中的第每个计数器占用两个字节,计数器字中的第011位表示计位表示计数值数值(二进制格式二进制格式),计数范围是,计数范围是0999。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统2. 计数器梯形图方块指令计数器梯形图方块指令表表4.13 计数器梯形图方块指令计数器梯形图方块指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.26 可逆计数器梯形图方块应用可逆计数器梯形图方块应用A I0.0CU C10 A I0.1 CD C10 A I0.2L MW10S C10A I0.3R C10 A C10= Q4.0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统3. 计数器线圈指令计数器线圈指令表表4.14 计数器线圈指令计数器线圈指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.3.3 应用举例应用举例 1. 脉冲发生器脉冲发生器 用定时器构成一个脉冲发生器,使其产生如图用定时器构成一个脉冲发生器,使其产生如图4.27所示的所示的脉冲时序,脉冲信号的周期为脉冲时序,脉冲信号的周期为3 s,脉冲宽度为脉冲宽度为1 s,图图4.35为梯形为梯形图及语句表程序。图及语句表程序。图图4.27 脉冲发生器时序脉冲发生器时序第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 网络网络1 A I0.0 AN T1 L S5T#2S SD T2 网络网络2 A T2 L SST#1S SD T1 A T2 Q4.0 2图图4.28 脉冲发生器梯形图脉冲发生器梯形图第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 频率监测器频率监测器 频率监测器用于监测脉冲信号的频率,若其低于下限,则频率监测器用于监测脉冲信号的频率,若其低于下限,则指示灯亮,指示灯亮,“确认确认”按键能使指示灯复位。为此,使用了一个按键能使指示灯复位。为此,使用了一个扩展脉冲定时器,即每当频率信号有一个上升沿就启动一次定扩展脉冲定时器,即每当频率信号有一个上升沿就启动一次定时器。如果超过了定时时间没有启动定时器,则表明两个脉冲时器。如果超过了定时时间没有启动定时器,则表明两个脉冲之间的时间间隔太长,即频率太低了。图之间的时间间隔太长,即频率太低了。图4.29为频率监测器时为频率监测器时序。序。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.29 频率监测器时序频率监测器时序 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.30 频率监测梯形图程序频率监测梯形图程序 在频率监测程序中,输入在频率监测程序中,输入I0.0用于关闭监测器,用于关闭监测器,I0.1用于确认用于确认频率低;输出频率低;输出Q4.0用以控制指示灯。定时器用以控制指示灯。定时器T1的定时时间为的定时时间为2 s,即设置脉冲信号,即设置脉冲信号M10.0的频率监测下限为的频率监测下限为0.5 Hz。 A M10.0 AN I0.0 L S5T#2S SE T1 AN T1 S Q4.0 O I0.1 O I0.0 R Q4.0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.4 数据处理功能指令数据处理功能指令4.4.1 装入和传送指令装入和传送指令 装入装入(L)和传送和传送(T)指令可以在存储区之间或存储区与过程输指令可以在存储区之间或存储区与过程输入、输出之间交换数据。入、输出之间交换数据。CPU执行这些指令不受逻辑操作结果执行这些指令不受逻辑操作结果RLO的影响。的影响。 L指令将源操作数装入累加器指令将源操作数装入累加器1中,而累加器原有的数据移中,而累加器原有的数据移入累加器入累加器2中,累加器中,累加器2中原有的内容被覆盖。中原有的内容被覆盖。 T指令将累加器指令将累加器1中的内容写入目的存储区中,累加器的内容中的内容写入目的存储区中,累加器的内容保持不变。保持不变。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统1.对累加器对累加器1的装入和传送指令的装入和传送指令L 5 /将立即数将立即数5装入累加器装入累加器1中中L MW 10 /将将MW10中的值装入累加器中的值装入累加器1中中L IBDID 8 /将由数据双字将由数据双字DID8指出的输入字节装入累加器指出的输入字节装入累加器1中中T MW 20 /将累加器将累加器1中的内容传送给存储字中的内容传送给存储字MW20 T MWAR1,P#10.0 /将累加器将累加器1中的内容传送给由地址寄存器中的内容传送给由地址寄存器1加偏移加偏移 /量确定的存储字中量确定的存储字中第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 读取或传送状态字读取或传送状态字 L STW /将状态字中将状态字中08位装入累加器位装入累加器1中,累中,累 加器加器93l位被清位被清0 T STW /将累加器将累加器1中的内容传送到状态字中中的内容传送到状态字中 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 3. 装入时间值或计数值装入时间值或计数值L T1 /将定时器将定时器T1中二进制格式的时间值直接装入累加器中二进制格式的时间值直接装入累加器1的低字中的低字中 LC T1 /将定时器将定时器T1的时间值和时基以的时间值和时基以BCD码装入累加器码装入累加器1的低字中的低字中L C1/将计数器将计数器C1中二进制格式的计数值直接装入累加器中二进制格式的计数值直接装入累加器1的低字中的低字中LC C1/将计数器将计数器C l中的计数值以中的计数值以BCD码格式装入累加器码格式装入累加器1的低字中的低字中第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4. 地址寄存器装入和传送地址寄存器装入和传送 对于地址寄存器,可以不经过累加器对于地址寄存器,可以不经过累加器l而直接将操作数装入而直接将操作数装入或传送,或将两个地址寄或传送,或将两个地址寄 存器的内容直接交换。下面的例子说存器的内容直接交换。下面的例子说明了指令的用法:明了指令的用法: LAR1 P# I 0.0 /将输入位将输入位I0.0的地址指针装入的地址指针装入AR1 LAR2 P# 0.0 /将二进制数将二进制数2#0000 0000 0000 0000 0000 0000 0000 0000装入装入AR2 LAR1 P#Start /将符号名为将符号名为Start的存储器的地址指针装入的存储器的地址指针装入AR1 LAR1 AR2 /将将AR2的内容装入的内容装入AR1 LAR1 DBD 20 /将数据双字将数据双字DBD 20的内容装入的内容装入AR1 TAR1 AR2 /将将ARl的内容传送至的内容传送至AR2 TAR2 /将将AR2的内容传送至累加器的内容传送至累加器1 TAR1 MD 20 /将将ARl的内容传送至存储器双字的内容传送至存储器双字MD 20 CAR /交换交换AR1和和AR2的内容的内容第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统5. 梯形图方块传送指令梯形图方块传送指令表表4.15 梯形图方块传送指令梯形图方块传送指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.31 使用使用MOVE方块指令方块指令MOVEENINENOOUTDBW12( )Q4.0MW10I0.0 A I0.0 JNB _0001 L MW10 T DBW12 SET /使使RLO为为1 SAVE /使使BR为为1 CLR_0001: A BR Q4.0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.4.2 转换指令转换指令 转换指令首先将源数据按照规定的格式读入累加器,然后转换指令首先将源数据按照规定的格式读入累加器,然后在累加器中对数据进行类型转换,最后再将转换的结果传送到在累加器中对数据进行类型转换,最后再将转换的结果传送到目的地址。能够实现的转换操作有:目的地址。能够实现的转换操作有: * BCD码和整数及长整数间的转换码和整数及长整数间的转换 ( BTI , ITB , ITD , BTD , DTB , DTR ) * 实数和长整数间的转换实数和长整数间的转换 ( RND , TRUNC , RND+ , RND- ) * 数的取反、取负等数的取反、取负等 ( INVI , INVD , NEGI , NEGD , NEGR )第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统1. BCD和整数间的转换和整数间的转换表表4.16 BCD和整数间的转换和整数间的转换第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.16 BCD和整数间的转换和整数间的转换第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 实数和长整数间的转换实数和长整数间的转换 实数和长整数间的转换见表实数和长整数间的转换见表4.17。 因为实数的数值范围远大于因为实数的数值范围远大于32位整数,所以有的实数不能位整数,所以有的实数不能成功地转换为成功地转换为32位整数。如果被转换的实数格式非法或超出了位整数。如果被转换的实数格式非法或超出了32位整数的表示范围,则得不到有效结果,而且状态字中的位整数的表示范围,则得不到有效结果,而且状态字中的OV和和OS被置被置1。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.17 实数和长整数间的转换实数和长整数间的转换第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统3. 数的取反、取负数的取反、取负表表4.18 数的取反、取负数的取反、取负第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.4.3 比较指令比较指令 1. 比较指令比较指令表表4.19 比比 较较 指指 令令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.19 比比 较较 指指 令令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.19 比比 较较 指指 令令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.32 整数比较整数比较CMP=1IN1IN2MW0MW2I0.1I0.1( S )Q4.0 A I0.0 A I0.1 A( L MW0 L MW2 =I ) S Q4.0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 比较指令应用实例比较指令应用实例 图图4.33示出包括两台传送带的系统,在两台传送带之间有一示出包括两台传送带的系统,在两台传送带之间有一个仓库区。传送带个仓库区。传送带1将包裹运送至临时仓库区。传送带将包裹运送至临时仓库区。传送带1靠近仓靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带传送带2将临时库区中的包裹运送至装货场,在这里货物由卡车将临时库区中的包裹运送至装货场,在这里货物由卡车运送至顾客。传送带运送至顾客。传送带2靠近库区一端安装的光电传感器确定已有靠近库区一端安装的光电传感器确定已有多少包裹从库区运送至装货场。含多少包裹从库区运送至装货场。含5个指示灯的显示盘表示临时个指示灯的显示盘表示临时仓库区的占用程度。图仓库区的占用程度。图4.34给出了启动显示盘上指示灯的梯形给出了启动显示盘上指示灯的梯形逻辑程序。逻辑程序。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.33 装有计数器和比较器的仓库区装有计数器和比较器的仓库区第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.34 启动显示盘上指示灯的梯形逻辑启动显示盘上指示灯的梯形逻辑程序段1:MW200中保存计数器C1当前值的BCD码,Q12.1指示“仓库区不空”程序段2:Q12.0指示“仓库区空”I0.0I0.1I0.2I0.3C#100第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.34 启动显示盘上指示灯的梯形逻辑启动显示盘上指示灯的梯形逻辑第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统与图与图4.34对应的语句表程序如下:对应的语句表程序如下:A I12.0CU C1A I12.1CD C1AN C1= Q12.0A C1= Q12.1L +50L C1=I= Q15.3L C1L +100=I= Q15.4第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.4.4 移位和循环移位指令移位和循环移位指令 移位指令将输入移位指令将输入IN中的内容向左或向右逐位移动。移动次中的内容向左或向右逐位移动。移动次数由输入值数由输入值N提供的数值确定。移位后空出的位填以提供的数值确定。移位后空出的位填以0或符号或符号位位(0代表正,代表正,1代表负代表负),被移动的最后一位保存在状态字中的,被移动的最后一位保存在状态字中的CCl里,里,CC0和和OV被复位为被复位为0。可使用条件跳转指令对。可使用条件跳转指令对CCl进进行判断。循环移位指令与一般移位指令的差别是:循环移位指行判断。循环移位指令与一般移位指令的差别是:循环移位指令的空位填以从令的空位填以从IN中移出的位。中移出的位。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统1无符号数移位指令无符号数移位指令表表4.20 无符号数移位指令无符号数移位指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.35 输入输入IN左移左移5位位第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统2. 有符号数移位指令有符号数移位指令 表表4.21 有符号数移位指令有符号数移位指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.36 输入输入IN带符号右移带符号右移4位位第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统3. 循环移位指令循环移位指令表表4.22 循环移位指令循环移位指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.37 输入输入IN循环左移循环左移3位位第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.38 输入输入IN循环右移循环右移3位位第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.4.5 累加器操作和地址寄存器指令累加器操作和地址寄存器指令 1. 累加器操作指令累加器操作指令表表4.23 累加器操作指令累加器操作指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.39 CAW、CAD指令执行时累加器指令执行时累加器1的变化的变化第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 下面的例子说明了在有条件触发的程序中下面的例子说明了在有条件触发的程序中INC指令是如何工指令是如何工作的。本例以存储字节作的。本例以存储字节MB10作为循环次数计数暂存器,用作为循环次数计数暂存器,用INC指令修正循环次数,循环体中的程序连续执行指令修正循环次数,循环体中的程序连续执行5次。次。 LOOP:L MB10 /循环体开始,装载存储字节至累加器循环体开始,装载存储字节至累加器1 INC 1 /循环计数器加循环计数器加1 T MB10 /保存循环次数保存循环次数 L B#16#5 I /比较比较 JC ERR /如果数据块长度大于如果数据块长度大于50,则跳转至,则跳转至ERR标号处标号处 A I0.0 BEU /无条件结束当前块无条件结束当前块ERR:CALL FC10 /对于块长度大于对于块长度大于50的情况,调用的情况,调用FC10做相应的处理做相应的处理第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4. 显示和空操作指令显示和空操作指令表表4.26 显示和空操作指令显示和空操作指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.5 数据运算指令数据运算指令4.5.1 算术运算指令算术运算指令 在在STEP 7中可以对整数、长整数和实数进行加、减、乘、中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器除算术运算。算术运算指令在累加器l和和2中进行,累加器中进行,累加器2中的中的值作为被减数或被除数。算术运算的结果保存在累加器值作为被减数或被除数。算术运算的结果保存在累加器l中,累中,累加器加器1中原有的值被运算结果覆盖,累加器中原有的值被运算结果覆盖,累加器2中的值保持不变。中的值保持不变。算术运算指令对状态字的某些位将产生影响,这些位是算术运算指令对状态字的某些位将产生影响,这些位是CCl和和CC0,OV,OS。可以用位操作指令或条件跳转指令对状态字中可以用位操作指令或条件跳转指令对状态字中的标志位进行判断操作。的标志位进行判断操作。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统1. 整数算术运算整数算术运算 表表4.27 整数算术运算整数算术运算第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.40 使用整数加法方块指令使用整数加法方块指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统下面是与图下面是与图4.40所示梯形图完全对应的语句表程序:所示梯形图完全对应的语句表程序: A( A I0.0 JNB _0001 L MW0 L MW2 +I T MW10 AN OV /若若OV为为1,则,则RLO为为0,否则,否则RLO为为1 SAVE /使使BRRLO CLR _0001:A BR ) NOT S Q4.0第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统2. 实数算术运算实数算术运算 表表4.28 实数算术运算实数算术运算第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.5.2 字逻辑运算指令字逻辑运算指令表表4.29 字逻辑运算指令字逻辑运算指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.5.3 数据运算指令应用举例数据运算指令应用举例 1. 运用算术运算指令完成方程式运算运用算术运算指令完成方程式运算 运用算术运算指令完成下面的方程式运算,其梯形逻辑图运用算术运算指令完成下面的方程式运算,其梯形逻辑图如图如图4.41所示。所示。MW4(IW 0DBW 3)15)/MW 0图图4.41 算术运算指令梯形逻辑算术运算指令梯形逻辑第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统实现相同运算的语句表程序如下:实现相同运算的语句表程序如下: L IW0 /将输入字将输入字IW0的内容装入累加器的内容装入累加器1 L DBW3 /将将DBW3的内容装入累加器的内容装入累加器1,累加器,累加器1原内容装入累加器原内容装入累加器2 +I /累加器累加器2与累加器与累加器1相加,结果存在累加器相加,结果存在累加器1中中 L +15 /将常数将常数15装入累加器装入累加器1,累加器,累加器l原内容原内容(和和)装入累加器装入累加器2 *I /累加器累加器2与累加器与累加器1相乘,结果为长整数放在累加器相乘,结果为长整数放在累加器1中中 L MW0 /将存储双字将存储双字MD0的内容装入累加器的内容装入累加器1,累加器,累加器1原内容装入原内容装入累加器累加器2 /I /累加器累加器2除累加器除累加器1,结果的整数部分存在累加器,结果的整数部分存在累加器1中中 T MW4 /将运算结果传送至存储双字将运算结果传送至存储双字MD4完成相同运算功能的梯形图程序和语句表程序各有优缺点:梯形完成相同运算功能的梯形图程序和语句表程序各有优缺点:梯形图程序直观易读;语句表程序简洁,而且使用中间结果存储器较图程序直观易读;语句表程序简洁,而且使用中间结果存储器较少。少。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 2. 用位逻辑运算指令实现对信号的跳变沿检测用位逻辑运算指令实现对信号的跳变沿检测 对输入位对输入位I12.0I13.7进行跳变沿检测,并将正跳沿的检进行跳变沿检测,并将正跳沿的检测结果存入存储位测结果存入存储位M14.0M15.7的对应位中的对应位中(1表示有跳变,表示有跳变,0表示无跳变表示无跳变),负跳沿的结果存入,负跳沿的结果存入M16.0M17.7中。为此,在中。为此,在检测正跳沿时,使用存储位检测正跳沿时,使用存储位M10.0M11.7存储对应输入位在存储对应输入位在前一个扫描周期时的状态;在检测负跳沿时用前一个扫描周期时的状态;在检测负跳沿时用M12.0M13.7。相应的语句表程序如下:相应的语句表程序如下:第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统网络网络10:正跳沿检测:正跳沿检测 L MW10 /将输入位的上一个周期状态装入累加器将输入位的上一个周期状态装入累加器1低字中低字中 L IW12 /将输入位的当前状态装入累加器将输入位的当前状态装入累加器1低字中,上一个周期状态低字中,上一个周期状态被移入累加器被移入累加器 2 T MW10 /保存当前状态,供下一个扫描周期使用保存当前状态,供下一个扫描周期使用 XOW /异或运算后,当前状态与以前不同的位在累加器异或运算后,当前状态与以前不同的位在累加器1低字中被低字中被置为置为1 L IW12 /重新装入当前状态,累加器重新装入当前状态,累加器 1原内容移入累加器原内容移入累加器2 AW /与运算后,当前状态为与运算后,当前状态为0的位被清的位被清0(负跳变被屏蔽负跳变被屏蔽) T MW14 /将正跳变检测结果送入将正跳变检测结果送入MW 14第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 网络网络11:负跳沿检测:负跳沿检测 L MW12 /将输入位的上一个周期状态写入累加器将输入位的上一个周期状态写入累加器1低字中低字中 L IW12 /将输入位的当前状态装入累加器将输入位的当前状态装入累加器l低字中,上一个周期状低字中,上一个周期状 态被移入累加器态被移入累加器2 T MW12 /保存当前状态,供下一个扫描周期使用保存当前状态,供下一个扫描周期使用 XOW /异或运算后,当前状态与以前不同的位在累加器异或运算后,当前状态与以前不同的位在累加器1低字中低字中 被置为被置为1 L IW12 /重新装入当前状态,累加器重新装入当前状态,累加器1原内容移入累加器原内容移入累加器2 INVI /将当前状态取反将当前状态取反 AW /与运算后,当前状态为与运算后,当前状态为1的位的位(上条指令中已被取反上条指令中已被取反)被清被清 0(正跳变被屏蔽正跳变被屏蔽) T MW16 /将负跳变检测结果送入将负跳变检测结果送入MW 16第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.6 控控 制制 指指 令令4.6.1 逻辑控制指令逻辑控制指令 逻辑控制指令是指逻辑块内的跳转和循环指令,这些指令中逻辑控制指令是指逻辑块内的跳转和循环指令,这些指令中止程序原有的线性逻辑流,跳到另一处执行程序。跳转或循环止程序原有的线性逻辑流,跳到另一处执行程序。跳转或循环指令的操作数是地址标号,该地址标号指出程序要跳往何处,指令的操作数是地址标号,该地址标号指出程序要跳往何处,标号最多为标号最多为4个字符,第一个字符必须是字母,其余字符可为字个字符,第一个字符必须是字母,其余字符可为字母或数字。母或数字。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 1. 无条件跳转指令无条件跳转指令(JU) 无条件跳转指令无条件跳转指令(JU)将无条件中断正常的程序逻辑流,使将无条件中断正常的程序逻辑流,使程序跳转到目标处继续执行,见图程序跳转到目标处继续执行,见图4.42。图图4.42 使用跳转指令控制程序流使用跳转指令控制程序流第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统2. 条件跳转指令条件跳转指令表表4.30 条件转移指令条件转移指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.31 条件跳转指令与条件跳转指令与CC0、CC1的关系的关系第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.43 条件跳转指令控制程序流程条件跳转指令控制程序流程第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 3. 循环指令循环指令 使用循环指令使用循环指令(LOOP)可以多次重复执行特定的程序段,重可以多次重复执行特定的程序段,重复执行的次数存在累加器复执行的次数存在累加器1中,即以累加器中,即以累加器1为循环计数器。为循环计数器。LOOP指令执行时,将累加器指令执行时,将累加器1低字中的值减低字中的值减1,如果不为,如果不为0,则,则回到循环体开始处继续循环过程,否则执行回到循环体开始处继续循环过程,否则执行LOOP指令后面的指令后面的指令。循环体是指循环标号和指令。循环体是指循环标号和LOOP指令间的程序段。指令间的程序段。 由于循环次数不能是负数,因此程序应保证循环计数器中由于循环次数不能是负数,因此程序应保证循环计数器中的数为正整数的数为正整数(数值范围:数值范围:032 767)或字型数据或字型数据(数值范围:数值范围:W#16#0000W#16#FFFF)。图图4.44是使用是使用LOOP指令的例子。指令的例子。在本例中,考虑到循环体在本例中,考虑到循环体(程序段程序段A)中可能用到累加器中可能用到累加器1,特设,特设置了循环计数暂存器置了循环计数暂存器MB10。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.44 使用使用LOOP指令指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 4. 梯形图逻辑控制指令梯形图逻辑控制指令 梯形逻辑控制指令只有两条,可用于无条件跳转或条件跳梯形逻辑控制指令只有两条,可用于无条件跳转或条件跳转控制。由于无条件跳转时转控制。由于无条件跳转时 对应对应STL指令指令JU,因此不影响状因此不影响状态字;由于在梯形图中目的标号只能在梯形网络的开始处,因态字;由于在梯形图中目的标号只能在梯形网络的开始处,因此条件跳转指令会影响到状态字。在图此条件跳转指令会影响到状态字。在图4.45和图和图4.46中给出了中给出了梯形跳转指令的用法及其对应的语句表。梯形跳转指令的用法及其对应的语句表。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.45 无条件跳转无条件跳转第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统图图4.46 条件跳转条件跳转第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.32 状态位常开状态位常开/常闭触常闭触点点第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.32 状态位常开状态位常开/常闭触常闭触点点第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统 这些这些LAD单元可以用在梯形图程序中,影响逻辑运算结果单元可以用在梯形图程序中,影响逻辑运算结果RLO,最终形成以状态位为条件的跳转操作。图最终形成以状态位为条件的跳转操作。图4.47给出了使给出了使用状态位的一个例子。用状态位的一个例子。图图4.47 使用状态位指令使用状态位指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统相应的语句表程序如下:相应的语句表程序如下:A( A I0.0 JNB _0001 L IW0 L IW2 -I T MW10 AN OV /若若OV为为1,则,则RLO为为0,否则,否则RLO为为1 SAVE /使使BRRLO CLR _0001:A BR ) A 0 S Q4.0 第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.6.2 程序控制指令程序控制指令 程序控制指令是指功能块程序控制指令是指功能块(FB、FC、SFB、SFC)调用指令和调用指令和逻辑块逻辑块(OB、FB、FC)结束指令。调用块或结束块可以是有条件结束指令。调用块或结束块可以是有条件的或是无条件的。的或是无条件的。STEP 7中的功能块实质上就是子程序。中的功能块实质上就是子程序。 1. STL程序控制指令程序控制指令表表4.33 STL程序控制指令程序控制指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统2. 梯形图程序控制指令梯形图程序控制指令表表4.34 梯形图程序控制指令梯形图程序控制指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统4.6.3 主控继电器指令主控继电器指令 主控继电器主控继电器(MCR)是一种美国梯形图逻辑主控开关,用来控是一种美国梯形图逻辑主控开关,用来控制信号流制信号流(电流路径电流路径)的通断。如图的通断。如图4.48所示:所示:图图4.48 主控继电器主控继电器MCR线圈线圈MCR触点触点电源母线电源母线BI12.0I1.0I1.1I1.2I1.3Q4.0Q4.1电源母线电源母线A第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统MCRAAI2.0MCR(OI1.0OI1.1Q4.0AI1.2AI1.3Q4.1)MCRMCRD第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统表表4.35 STEP 7中与主控继电器相关的指令中与主控继电器相关的指令第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统思考与练习题思考与练习题1.S7-300系列系列PLC如何直接寻址如何直接寻址? 什么是间接寻址什么是间接寻址? 如何使用如何使用? 采用间接寻址方式设计一段程序,将采用间接寻址方式设计一段程序,将10个字节的数据从个字节的数据从100 MB开始的存储单元转移到从开始的存储单元转移到从200 MB开始的存储单元。开始的存储单元。2.试设计一个试设计一个3 h 40 min的长延时电路程序。的长延时电路程序。3.编写一段程序计算编写一段程序计算sin 120cos 10的值。的值。4.4. 试设计一个照明灯的控制程序。当按下接在试设计一个照明灯的控制程序。当按下接在I0.0上的按钮上的按钮后,接在后,接在Q4.0上的照明灯可发光上的照明灯可发光30 s,如果在这段时间内又,如果在这段时间内又有人按下按钮,则时间间隔从头开始。这样可确保在最后一有人按下按钮,则时间间隔从头开始。这样可确保在最后一次按完按钮后,灯光可维持次按完按钮后,灯光可维持30 s照明。照明。第第4 4章章 西门子西门子S7-300S7-300系列系列PLCPLC基本指令系统基本指令系统5. 试设计一个抢答器电路程序。出题人提出问题,试设计一个抢答器电路程序。出题人提出问题,3个答题人个答题人按动按钮,仅仅是最早按的人面前的信号灯亮。然后出题人按动按钮,仅仅是最早按的人面前的信号灯亮。然后出题人按动复位按钮后,引出下一个问题。按动复位按钮后,引出下一个问题。 6. 设计一个对锅炉鼓风机和引风机控制的梯形图程序。控制设计一个对锅炉鼓风机和引风机控制的梯形图程序。控制要求:要求: (1) 开机时首先启动引风机,开机时首先启动引风机,10 s后自动启动鼓风机;后自动启动鼓风机; (2) 停止时立即关断鼓风机,停止时立即关断鼓风机,20 s后自动关断引风机。后自动关断引风机。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号