1、第 4章 西门子 S7-300系列 PLC基本指令系统第 4章 S7-300系列 PLC基本指令系统4.1 指令及其结构4.2 位逻辑指令4.3 定时器与计数器指令4.4 数据处理功能指令4.5 数据运算指令4.6 控制指令思考与练习题第 4章 西门子 S7-300系列 PLC基本指令系统4.1 指令及其结构4.1.1 指令的组成1. 语句指令一条指令由一个操作码和一个操作数组成,操作数由标识符和参数组成。操作码定义要执行的功能;操作数为执行该操作所需要的信息,例如: A I 1.0是一条位逻辑操作指令,其中: “A”是操作码,它表示执行 “与 ”操作; “I 1.0”是操作数,对输入继电器
2、I 1.0进行的操作。有些语句指令不带操作数。它们操作的对象是惟一的。例如: NOT (是对逻辑操作结果 (RLO)取反。)第 4章 西门子 S7-300系列 PLC基本指令系统2. 梯形逻辑指令梯形逻辑指令用图形元素表示 PLC要完成操作。在梯形逻辑指令中,其操作码是用图素表示的,该图素形象表明 CPU做什么,其操作数的表示方法与语句指令相同。如:Q 4.0( )该指令中: ( ) 可认为是操作码,表示一个二进制赋值操作。 Q 4.0是操作数,表示赋值的对象。梯形逻辑指令也可不带操作数。如:|NOT| 是对逻辑操作结果取反的操作。第 4章 西门子 S7-300系列 PLC基本指令系统4.1.
3、2 操作数1. 标识符及表示参数一般情况下,指令的操作数在 PLC的存储器中,此时操作数由操作数标识符和参数组成。 操作数标识符由主标识符和辅助标识符组成。主标识符表示操作数所在的存储区,辅助标识符进一步说明操作数的位数长度。若没有辅助标识符指操作数的位数是一位。主标识符有:I(输入过程映像存储区 ), Q(输出过程映象存储区 ), M(位存储区), PI(外部输入 ), PQ(外部输入 ), T(定时器 ), C(计数器 ), DB(数据块 ), L(本地数据 )。第 4章 西门子 S7-300系列 PLC基本指令系统辅助标识符有:X(位 ), B(字节 ), W( 字 2 字节 ), D(
4、双字 4 字节 )。PLC物理存储器是以字节为单位的,所以存储单元规定为字节单元。位地址参数用一个点与字节地址分开。如:M 10.1当操作数长度是字或双字时,标识符后给出的标识参数是字或双字内的最低字节单元号。图 4.1给出了字节、字、双字的相互关系及表示方法。当使用宽度为字或双字的地址时,应保证没有生成任何重叠的字节分配,以免造成数据读写错误。第 4章 西门子 S7-300系列 PLC基本指令系统图 4.1 以字节单元为基准标记存储器存储单元位存储区 M第 4章 西门子 S7-300系列 PLC基本指令系统表 4.1 存储区及其功能 第 4章 西门子 S7-300系列 PLC基本指令系统表
5、4.1 存储区及其功能 第 4章 西门子 S7-300系列 PLC基本指令系统2. 操作数的表示法在 STEP7中,操作数有两种表示方法:一是物理地址 (绝对地址 )表示法;二是符号地址表示法。用物理地址表示操作数时,要明确指出操作数的所在存储区,该操作数的位数具体位置。例如: Q 4.0。STEP7 允许用符号地址表示操作数,如 Q 4.0可用符号名MOTOR_ON替代表示,符号名必须先定义后使用,而且符号名必须是惟一的,不能重名。定义符号时,需要指明操作数所在的存储区,操作数的位数、具体位置及数据类型。第 4章 西门子 S7-300系列 PLC基本指令系统4.1.3 寻址方式操作数是指令的
6、操作或运算对象。所谓寻址方式是指令得到操作数的方式,可以直接给出或间接给出。STEP7指令操作对象的有:常数; S7状态字中的状态位;S7的各种寄存器、数据块;功能块 FB, FC和系统功能块 SFB,SFC; S7的各存储区中的单元。S7有四种寻址方式:立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。第 4章 西门子 S7-300系列 PLC基本指令系统1. 立即寻址这是对常数或常量的寻址方式。操作数本身直接包含在指令中。下面是立即寻址的例子:SET /把 RLO置 1OW W#16#A320 / 将常量 W#16#A320 与累加器 1“或 ”运算L 27 /把整数 27装入累加
7、器 1L ABCD /把 ASCII码字符 ABCD装入累加器 1L C#0100 /把 BCD码常数 0100装入累加器 1 第 4章 西门子 S7-300系列 PLC基本指令系统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中第
8、 4章 西门子 S7-300系列 PLC基本指令系统3. 存储器间接寻址在存储器间接寻址的指令中,给出一个存储器 (必须是表4.1中的存储器 ),该存储器的内容是操作数所在存储单元的地址,该地址又被称为地址指针。存储器间接寻址方式的优点是,当程序执行时,能改变操作数的存储器地址,这对程序中的循环尤为重要。例如:A IMD 2 /对由 MD 2指出的输入位进行 “与 ”逻辑操作。如: MD 2的值为/2#0000 0000 0000 0000 0000 0000 0101 0110 则是对 I 10.6进行 “与 ”操作。第 4章 西门子 S7-300系列 PLC基本指令系统图 4.2 存储器间
9、接寻址的指针格式位 3至 18(范围 0至 65535) : 被寻址字节的字节编号位 0至 2(范围 0至 7) : 被寻址位的位编号第 4章 西门子 S7-300系列 PLC基本指令系统4. 寄存器间接寻址在 S7中有两个地址寄存器,它们是 AR1和 AR2。 通过地址寄存器,可以对各存储区的存储器内容实现寄存器间接寻址。地址寄存器的内容加上偏移量形成地址指针,该指针指向数值所在的存储单元。地址寄存器存储的地址指针有两种格式: 区内寄存器间接寻址区域间寄存器间接寻址。其长度均为双字。图 4.3给出了这两种格式的细节及其差别,区域标识位的组合状态见表 4.2。第 4章 西门子 S7-300系列
10、 PLC基本指令系统图 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章 西门子 S7-300系列 PLC基本指令系统表 4.2 地址指针区域标识位含义第 4章 西门子 S7-300系列 PLC基本指令系统4.1.4 状态字状态字用于表示 CPU执行指令时所具有的状态
11、。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位;你也能在位逻辑指令或字逻辑指令中访问并检测它们。图 4.4显示了状态字的结构。图 4.4 状态字的结构15 9 8 7 6 5 4 3 2 1 0第 4章 西门子 S7-300系列 PLC基本指令系统(1)首次检测位 (FC)状态字的位 0称为首次检测位。若 FC位的状态为 0,则表明一个梯形逻辑网络的开始,或指令为逻辑串第一条指令。 (2)逻辑操作结果 (RLO)逻辑操作结果 RLO(Result of Logic Operation)。该位存储位逻辑指令或算术比较指令的结果。(3)状态位 (S
12、TA) 状态位不能用指令检测,它只是在程序测试中被 CPU解释并使用。第 4章 西门子 S7-300系列 PLC基本指令系统(4)或位 (OR)状态字的位 3称为或位 (OR)。 在先逻辑 “与 ”后逻辑 “或 ”的逻辑串中, OR位暂存逻辑 “与 ”的操作结果,以便进行后面的逻辑 “或 ”运算。其它指令将 OR位清 0。(5)溢出位 (OV)溢出位被置 1,表明一个算术运算或浮点数比较指令执行时出现错误 ( 错误:溢出、非法操作、不规范格式 ) 。第 4章 西门子 S7-300系列 PLC基本指令系统(6)溢出状态保持位 (OS)OV被置 1时 OS也被置 1; OV被清 0时 OS仍保持。
13、只有下面的指令才能复位 OS位: JOS(OS=1时跳转 );块调用和块结束指令。 (7)条件码 1(CC1)和条件码 0(CC0)状态字的位 7和位 6称为条件码 1和条件码 0。这两位结合起来用于表示在累加器 1中产生的算术运算或逻辑运算结果与 0的大小关系;比较指令的执行结果或移位指令的移出位状态。详见表 4.3和表 4.4。第 4章 西门子 S7-300系列 PLC基本指令系统表 4.3 算术运算后的 CC1和 CC0第 4章 西门子 S7-300系列 PLC基本指令系统表 4.4 比较、移位和循环移位、字逻辑指令后的 CC1和 CC0第 4章 西门子 S7-300系列 PLC基本指令
14、系统(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或
15、 FC执行无错误时,使 RLO为 1并存入 BR, 否则,在 BR中存入 0。第 4章 西门子 S7-300系列 PLC基本指令系统4.2 位逻辑指令位逻辑指令主要包括:位逻辑运算指令、位操作指令和位测试指令,逻辑操作结果 (RLO)用以赋值、置位、复位布尔操作数,也控制定时器和计数器的运行。4.2.1 位逻辑运算指令位逻辑运算指令是 “与 ”(AND)、 “或 ”(OR)、 “异或 ”(XOR)指令及其组合。它对 “0”或 “1”这些布尔操作数扫描,经逻辑运算后将逻辑操作结果送入状态字的 RLO位。第 4章 西门子 S7-300系列 PLC基本指令系统1. “与 ”和 “与非 ”(A, AN
16、)指令 逻辑 “与 ”在梯形图里是用串联的触点回路表示的,如果串联回路里的所有触点皆闭合,该回路就通 “电 ”了。在图 4.5的回路所示: 图 4.5 “与 ”逻辑梯形图 上述梯形逻辑图,可用语句表指令完全表示,对应的语句表为:A I0.0 A Q 4.1AN M10.1 Q4.0 ( )I0.0 Q4.1 M10.1 Q4.0 第 4章 西门子 S7-300系列 PLC基本指令系统2. “或 ”和 “或非 ”(O, ON)指令逻辑 “或 ”在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在图 4.6中,只要有一个触点闭合,输出 4.1的信号状态就为 “l”。I1.1 M2.0
17、 Q4.0 图 4.6 “或 ”逻辑梯形图及语句表O I1.1 ON M2.0 O Q4.0 Q4.1 ( )Q4.1第 4章 西门子 S7-300系列 PLC基本指令系统3. “异或 ”和 “异或非 ”(X, XN)指令图 4.7是 “异或 ”逻辑梯形图,下面是与梯形图对应的语句表。在的语句表中,使用了 “异或 ”和 “异或非 ”指令,分别用助记符 “X”和 “XN”来标识。它类似 “或 ”和 “或非 ”指令,用于扫描并联回路能否 “通电 ”。X I 0.0X I 0.1 Q 4.0图 4.7 “异或 ”逻辑梯形图 第 4章 西门子 S7-300系列 PLC基本指令系统4.2.2 位操作指令1. 输出指令逻辑串输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数 (位地址 )。表 4.5列出了操作数的数据类型和所在的存储区。表 4.5 输出指令第 4章 西门子 S7-300系列 PLC基本指令系统A I0.0A I0.1ON I0.2 Q4.0A I0.3 Q4.1 图 4.8 多重输出梯形图 一个 RLO可被用来驱动几个输出元件。在 LAD中,输出线圈是上下依次排列的。在 STL中,与输出信号有关的指令被一个接一个地连续编程,这些输出具有相同的优先级。图 4.8是多重输出梯形图,与之对应的语句表如下: