《05-2 用于S7-300和S7-400的语句表(STL)编程.pdf》由会员分享,可在线阅读,更多相关《05-2 用于S7-300和S7-400的语句表(STL)编程.pdf(272页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 前言,目录 位逻辑指令 1 比较指令 2 转换指令 3 计数器指令 4 数据块指令 5 逻辑控制指令 6 整型数学运算指令 7 浮点型数学运算指令 8 装载和传送指令 9 程序控制指令 10 移位和循环指令 11 定时器指令 12 字逻辑指令 13 累加器指令 14 附录附录 所有 STL 指令概述 A 编程实例 B SIMATIC 用于用于 S7300 和和 S7400 的的 语句表语句表(STL),编程,编程 参考手册参考手册 本手册是文档包的一部分,具有订货号:6ES7810-4CA08-8BW1 参数传送 C 2007 年年 8 月版月版 A5E01112995-01 索引 s Si
2、emens AG Automation and Drives Postfach 4848 90437 NUERNBERG GERMANY A5E01112995-01 03/2006 版权所有 Siemens AG 2006 技术数据如有改动,恕不另行通知。安全指南安全指南 本手册包括了保证人身安全及防止财产损失所应遵守的注意事项。在手册中与人身安全有关的注意事项用一个安全警告符号高亮显示,而与财产损失有关的注意事项则没有安全警告符号。这些注意事项根据危险等级标明如下。!危险危险 表示如果不采取适当的预防措施,将导致死亡或严重的人身伤害。!警告警告 表示如果不采取适当的预防措施,可能导致死亡或
3、严重的人身伤害。!当心当心 带安全警告符号:表示如果不采取适当的预防措施,可能导致轻微的人身伤害。当心当心 不带安全警告符号:表示如果不采取适当的预防措施,可能导致财产损失。须知须知 表示如果忽略相关注意事项,可能会导致非预期的结果或状态。如果出现一个以上的危险等级,则将使用表示最高危险等级的警告注意事项。用安全警告符号警告造成人身伤害的注意事项可能还包括与财产损失有关的警告。合格人员合格人员 必须按照该文档安装和使用该设备/系统。只有合格人员才允许调试和操作该设备。在本文档的安全注意事项中,合格人员是指被授权按照既定安全惯例和标准,对线路、设备和系统进行调试、接地和标记的人员。规定用法规定用
4、法 请注意如下事项:!警告警告 该设备及其部件只能用于产品目录或技术说明书中所描述的范畴,并且只能与由西门子公司认可或推荐的第三方厂商提供的设备或部件一起使用。只有正确地运输、保管、设置和安装本产品,并且按照推荐的方式操作和维护,产品才能正常、安全地运行。商标商标 由 标识的所有名称是西门子 AG 的注册商标。本文档中的其它一些标志也是注册商标,如果任何第三方出于个人目的而使用,都会侵犯商标所有者的权利。免责声明免责声明 我们已检查过本手册中的内容与所描述的硬件和软件相符。由于差错在所难免,我们不能保证完全一致。我们会定期审查本手册中的内容,并在后续版本中进行必要的更正。用于 S7300 和
5、S7400 的语句表(STL),编程 A5E01112995-01 iii 前言前言 用途用途 本手册是您以语句表编程语言 STL 创建用户程序的指南。本手册还包含了对 STL 语言元素的语法和函数进行描述的参考部分。基础知识要求基础知识要求 本手册供 S7 程序员、操作员以及维护/维修人员使用。要了解本手册,需要具有自动化技术的常规知识。此外,要求具备计算机应用能力并了解在操作系统 MS Windows 2000 Professional、MS Windows XP Professional 或 MS Windows Server 2003 下使用PC 类工作设备(如编程设备)的知识。手册应
6、用范围手册应用范围 本手册适用于 STEP 7 编程软件包 5.4 版本。符合的标准符合的标准 STL 符合国际电工技术委员会 IEC 1131-3 标准所定义的“指令表”语言,但在操作方面有很大的不同。欲知更多详细资料,请参见 STEP 7 文件 NORM_TBL.WRI 中的标准表。前言 用于 S7300 和 S7400 的语句表(STL),编程 iv A5E01112995-01 要求要求 如要有效地使用该语句表手册,应当熟悉 STEP 7 在线帮助所提供的 S7 编程理论。该语言包也使用 STEP 7 标准软件,因此应当熟悉该软件的操作,并阅读所附文档。本手册是文档包“STEP 7 参
7、考书目”中的一部分。下表显示了 STEP 7 文档的总览:文档文档 用途用途 订货号订货号 STEP 7 基础信息 STEP 7,使用入门手册 使用 STEP 7 编程 组态硬件和通讯连接,STEP 7 版本 从 S5 到 S7,变频器手册 提供给技术人员的基础信息,描述了使用 STEP 7 和 S7-300/400 可编程控制器来实现控制任务的方法。6ES7810-4CA08-8BW0STEP 7 参考书目 用于 S7-300/400 的梯形图(LAD)/功能块图(FBD)/语句表(STL)手册 用于 S7-300/400 的标准功能和系统功能卷 1 和卷 2 提供了参考信息,并描述了编程语
8、言 LAD、FBD、STL、标准函数以及系统函数,扩充了 STEP 7 基础信息的范围。6ES7810-4CA08-8BW1 在线帮助在线帮助 用途用途 订货号订货号 STEP 7 帮助 以在线帮助的形式,提供了使用STEP 7 进行编程和组态硬件的基础信息。STEP 7 标准软件中的 一部分。STL/LAD/FBD 帮助参考 SFB/SFC 帮助参考 组织块帮助参考 上下文相关参考信息。STEP 7 标准软件中的 一部分。前言 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 v 在线帮助在线帮助 集成于软件中的在线帮助是对本手册的补充。提供在线帮助的
9、目的是,在使用该软件时提供详细的支持。该帮助系统通过一些界面集成于软件中:上下文相关帮助提供关于当前语境的信息,例如,打开的对话框或激活的窗口。可以通过通过菜单命令帮助帮助 上下文相关的帮助上下文相关的帮助,或按下 F1 键或通过使用工具栏上的问号符来打开上下文相关的帮助。可以通过使用菜单命令帮助帮助 目录目录,或在上下文相关的帮助窗口中按“STEP 7帮助”按钮来调用 STEP 7 中的常规帮助。可以通过按“词汇表”按钮,调用所有 STEP7 应用程序的词汇表。本手册是“语句表帮助”的摘录。由于手册和在线帮助具有完全相同的结构,因此非常容易在手册和在线帮助之间切换。更多支持更多支持 如果有任
10、何技术问题,请联系西门子代表或代理商。您可以在下列网页中查找联系人:http:/ 可以在下列网址上找到各个 SIAMTIC 产品和系统的技术文档指南:http:/ 可以在下列网址上获得在线目录和订货系统:http:/ 西门子提供了很多培训教程,帮助您熟悉 SIMATIC S7 自动化系统。请联系当地的培训中心,或位于德国纽伦堡(D 90327)的培训总部,以获取详细信息。电话:+49(911)895-3200。网址:http:/ 前言 用于 S7300 和 S7400 的语句表(STL),编程 vi A5E01112995-01 技术支持技术支持 您可以获取所有 A&D 产品的技术支持 通过网
11、站请求支持 http:/ 电话:+49 180 5050 222 传真:+49 180 5050 223 关于技术支持的更多信息请参见 Internet 网页:http:/ Internet 服务和支持服务和支持 除文档以外,还在 Internet 上在线提供了知识产权信息,网址如下:http:/ 可在其中查找下列内容:公司简讯,经常提供产品的最新信息。相应文档资料,可通过“服务和支持”中的搜索功能查找。论坛,世界各地的用户和专家可以在此交流经验。当地自动化和驱动办事处。在“服务”页面下提供了关于现场服务、维修、备件等信息。用于 S7300 和 S7400 的语句表(STL),编程 A5E01
12、112995-01 vii 内容内容 1 位逻辑指令位逻辑指令 1-1 1.1 位逻辑指令概述.1-1 1.2 A 与运算.1-3 1.3 AN 与非运算.1-4 1.4 O 或运算.1-5 1.5 ON 或非运算.1-6 1.6 X 异或运算.1-7 1.7 XN 同或运算.1-8 1.8 O 先与运算后或运算.1-9 1.9 A(与运算嵌套开始.1-10 1.10 AN(与非运算嵌套开始.1-11 1.11 O(或运算嵌套开始.1-11 1.12 ON(或非运算嵌套开始.1-12 1.13 X(异或运算嵌套开始.1-12 1.14 XN(同或运算嵌套开始.1-13 1.15)嵌套结束.1-
13、14 1.16=赋值.1-16 1.17 R 复位.1-17 1.18 S 置位.1-18 1.19 NOT 对 RLO 取反.1-19 1.20 SET 置位 RLO(=1).1-20 1.21 CLR 清零 RLO(=0).1-21 1.22 SAVE 将 RLO 保存到 BR 寄存器.1-22 1.23 FN 下降沿.1-23 1.24 FP 上升沿.1-25 2 比较指令比较指令 2-1 2.1 比较指令概述.2-1 2.2?I 比较整数(16 位).2-2 2.3?D 比较长整数(32 位).2-3 2.4?R 比较浮点数(32 位).2-4 3 转换指令转换指令 3-1 3.1 转
14、换指令概述.3-1 3.2 BTI 将 BCD 码转换为整型(16 位).3-2 3.3 ITB 将整型(16 位)转换为 BCD 码.3-3 3.4 BTD 将 BCD 码转换为整型(32 位).3-4 3.5 ITD 将整型(16 位)转换为长整型(32 位).3-5 3.6 DTB 将长整型(32 位)转换为 BCD 码.3-6 3.7 DTR 将长整型(32 位)转换为浮点型(32 位 IEEE-FP).3-7 3.8 INVI 对整数(16 位)求反码.3-8 3.9 INVD 对长整数(32 位)求反码.3-9 3.10 NEGI 对整数(16 位)求补码.3-10 内容 用于 S
15、7300 和 S7400 的语句表(STL),编程 viii A5E01112995-01 3.11 NEGD 对长整数(32 位)求补码.3-11 3.12 NEGR 对浮点数(32 位,IEEE-FP)取反.3-12 3.13 CAW 改变 ACCU 1-L(16 位)中的字节顺序.3-13 3.14 CAD 改变 ACCU 1(32 位)中的字节顺序.3-14 3.15 RND 取整.3-15 3.16 TRUNC 截断.3-16 3.17 RND+取整为高位长整数.3-17 3.18 RND-取整为低位长整数.3-18 4 计数器指令计数器指令 4-1 4.1 计数器指令概述.4-1
16、4.2 FR 启用计数器(释放).4-2 4.3 L 将当前计数器值载入 ACCU 1.4-3 4.4 LC 将当前计数器值作为 BCD 码载入 ACCU 1.4-4 4.5 R 将计数器复位.4-5 4.6 S 设置计数器预设值.4-6 4.7 CU 升值计数器.4-7 4.8 CD 降值计数器.4-8 5 数据块指令数据块指令 5-1 5.1 数据块指令概述.5-1 5.2 OPN 打开数据块.5-2 5.3 CDB 交换共享数据块和实例 DB.5-3 5.4 L DBLG 在 ACCU 1 中装载共享数据块的长度.5-4 5.5 L DBNO 在 ACCU 1 中装载共享数据块的编号.5
17、-4 5.6 L DILG 在 ACCU 1 中装载实例 DB 的长度.5-5 5.7 L DINO 在 ACCU 1 中装载实例 DB 的编号.5-5 6 逻辑控制指令逻辑控制指令 6-1 6.1 逻辑控制指令概述.6-1 6.2 JU 无条件跳转.6-3 6.3 JL 跳转到标签.6-4 6.4 JC 当 RLO=1 时跳转.6-5 6.5 JCN 当 RLO=0 时跳转.6-6 6.6 JCB 当带 BR 位的 RLO=1 时跳转.6-7 6.7 JNB 当带 BR 位的 RLO=0 时跳转.6-8 6.8 JBI 当 BR=1 时跳转.6-9 6.9 JNBI 当 BR=0 时跳转.6
18、-10 6.10 JO 当 OV=1 时跳转.6-11 6.11 JOS 当 OS=1 时跳转.6-12 6.12 JZ 当为零时跳转.6-13 6.13 JN 当不为零时跳转.6-14 6.14 JP 当为正时跳转.6-15 6.15 JM 当为负时跳转.6-16 6.16 JPZ 当为正或零时跳转.6-17 6.17 JMZ 当为负或零时跳转.6-18 6.18 JUO 无序时跳转.6-19 6.19 LOOP 循环.6-20 7 整型数学运算指令整型数学运算指令 7-1 7.1 整数算术指令概述.7-1 内容 用于 S7300 和 S7400 的语句表(STL),编程 A5E011129
19、95-01 ix 7.2 使用整数算术指令时得出状态字的位数值.7-2 7.3+I ACCU 1+ACCU 2,整型(16 位).7-3 7.4-I ACCU 2-ACCU 1,整型(16 位).7-4 7.5*I ACCU 1*ACCU 2,整型(16 位).7-5 7.6/I ACCU 2/ACCU 1,整型(16 位).7-6 7.7+整型常数(16 位、32 位).7-8 7.8+D ACCU 1+ACCU 2,长整型(32 位).7-10 7.9-D ACCU 2-ACCU 1,长整型(32 位).7-11 7.10*D ACCU 1*ACCU 2,长整型(32 位).7-12 7.
20、11/D ACCU 2/ACCU 1,长整型(32 位).7-13 7.12 MOD 除法余数,长整型(32 位).7-15 8 浮点型数学运算指令浮点型数学运算指令 8-1 8.1 浮点运算指令概述.8-1 8.2 使用浮点运算指令时得出状态字的位数值.8-2 8.3 浮点运算指令:基本.8-3 8.3.1+R 将 ACCU 1 和 ACCU 2 作为浮点数(32 位 IEEE-FP)相加.8-3 8.3.2-R 将 ACCU 2 与 ACCU 1 作为浮点数(32 位 IEEE-FP)相减.8-5 8.3.3*R 将 ACCU 1 和 ACCU 2 作为浮点数(32 位 IEEE-FP)相
21、乘.8-7 8.3.4/R 将 ACCU 2 与 ACCU 1 作为浮点数(32 位 IEEE-FP)相除.8-8 8.3.5 ABS 浮点数的(32 位 IEEE-FP)绝对值.8-9 8.4 浮点运算指令:扩展.8-10 8.4.1 SQR 计算浮点数(32 位)的平方.8-10 8.4.2 SQRT 计算浮点数(32 位)的平方根.8-11 8.4.3 EXP 计算浮点数(32 位)的指数值.8-12 8.4.4 LN 计算浮点数(32 位)的自然对数.8-13 8.4.5 SIN 计算浮点数(32 位)角度的正弦值.8-14 8.4.6 COS 计算浮点数(32 位)角度的余弦值.8-
22、15 8.4.7 TAN 计算浮点数(32 位)角度的正切值.8-16 8.4.8 ASIN 计算浮点数(32 位)的反正弦值.8-17 8.4.9 ACOS 计算浮点数(32 位)的反余弦值.8-18 8.4.10 ATAN 计算浮点数(32 位)的反正切值.8-19 9 装载和传送指令装载和传送指令 9-1 9.1 装载和传送指令概述.9-1 9.2 L 装载.9-2 9.3 L STW 将状态字装载到 ACCU 1 中.9-4 9.4 LAR1 从 ACCU 1 装载地址寄存器 1.9-5 9.5 LAR1 用长整型(32 位指针)装载地址寄存器 1.9-6 9.6 LAR1 AR2 从
23、地址寄存器 2 装载地址寄存器 1.9-7 9.7 LAR2 从 ACCU 1 装载地址寄存器 2.9-7 9.8 LAR2 用长整型(32 位指针)装载地址寄存器 2.9-8 9.9 T 传送.9-9 9.10 T STW 将 ACCU 1 传送至状态字.9-10 9.11 CAR 交换地址寄存器 1 和地址寄存器 2.9-11 9.12 TAR1 将地址寄存器 1 传送至 ACCU 1.9-11 9.13 TAR1 将地址寄存器 1 传送至目标地址(32 位指针).9-12 9.14 TAR1 AR2 将地址寄存器 1 传送至地址寄存器 2.9-13 9.15 TAR2 将地址寄存器 2
24、传送至 ACCU 1.9-13 9.16 TAR2 将地址寄存器 2 传送至目标地址(32 位指针).9-14 内容 用于 S7300 和 S7400 的语句表(STL),编程 x A5E01112995-01 10 程序控制指令程序控制指令 10-1 10.1 程序控制指令概述.10-1 10.2 BE 块结束.10-2 10.3 BEC 块有条件结束.10-3 10.4 BEU 块无条件结束.10-4 10.5 CALL 块调用.10-5 10.6 调用 FB.10-7 10.7 调用 FC.10-9 10.8 调用 SFB.10-11 10.9 调用 SFC.10-13 10.10 调用
25、多重实例.10-14 10.11 从库中调用块.10-14 10.12 CC 条件调用.10-15 10.13 UC 无条件调用.10-16 10.14 MCR(主控继电器).10-17 10.15 使用 MCR 功能的重要注意事项.10-19 10.16 MCR(在 MCR 堆栈中保存 RLO,开始 MCR.10-20 10.17)MCR 结束 MCR.10-22 10.18 MCRA 激活 MCR 区域.10-23 10.19 MCRD 取消激活 MCR 区域.10-24 11 移位和循环指令移位和循环指令 11-1 11.1 移位指令.11-1 11.1.1 移位指令概述.11-1 11
26、.1.2 SSI 带符号整型移位(16 位).11-2 11.1.3 SSD 带符号长整型移位(32 位).11-4 11.1.4 SLW 左移字(16 位).11-6 11.1.5 SRW 右移字(16 位).11-8 11.1.6 SLD 左移双字(32 位).11-10 11.1.7 SRD 右移双字(32 位).11-12 11.2 循环移位指令.11-14 11.2.1 循环移位指令概述.11-14 11.2.2 RLD 循环左移双字(32 位).11-15 11.2.3 RRD 循环右移双字(32 位).11-17 11.2.4 RLDA 通过 CC 1 循环左移 ACCU 1(3
27、2 位).11-19 11.2.5 RRDA 通过 CC 1 循环右移 ACCU 1(32 位).11-20 12 定时器指令定时器指令 12-1 12.1 定时器指令概述.12-1 12.2 定时器在存储器中的位置与定时器组件.12-2 12.3 FR 启用定时器(自由).12-5 12.4 L 将当前定时器值作为整数载入 ACCU 1.12-7 12.5 LC 将当前定时器值作为 BCD 载入 ACCU 1.12-9 12.6 R 复位定时器.12-11 12.7 SP 脉冲定时器.12-12 12.8 SE 扩展脉冲定时器.12-14 12.9 SD 接通延迟定时器.12-16 12.1
28、0 SS 掉电保护接通延时定时器.12-18 12.11 SF 断开延时定时器.12-20 内容 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 xi 13 字逻辑指令字逻辑指令 13-1 13.1 字逻辑指令概述.13-1 13.2 AW 单字与运算(16 位).13-2 13.3 OW 单字或运算(16 位).13-4 13.4 XOW 单字异或运算(16 位).13-6 13.5 AD 双字与运算(32 位).13-8 13.6 OD 双字或运算(32 位).13-10 13.7 XOD 双字异或运算(32 位).13-12 14 累加器指令累加
29、器指令 14-1 14.1 累加器和地址寄存器指令概述.14-1 14.2 TAK 将 ACCU 1 与 ACCU 2 互换.14-2 14.3 POP 具有两个 ACCU 的 CPU.14-3 14.4 POP 具有四个 ACCU 的 CPU.14-4 14.5 PUSH 具有两个 ACCU 的 CPU.14-5 14.6 PUSH 具有四个 ACCU 的 CPU.14-6 14.7 ENT 进入 ACCU 堆栈.14-7 14.8 LEAVE 离开 ACCU 堆栈.14-7 14.9 INC 增加 ACCU 1-L-L.14-8 14.10 DEC 减少 ACCU 1-L-L.14-9 1
30、4.11+AR1 将 ACCU 1 加到地址寄存器 1.14-10 14.12+AR2 将 ACCU 1 加到地址寄存器 2.14-11 14.13 BLD 程序显示指令(空).14-12 14.14 NOP 0 空指令.14-12 14.15 NOP 1 空指令.14-13 A 所有所有 STL 指令概述指令概述 A-1 A.1 按德语助记符(SIMATIC)排序的 STL 指令.A-1 A.2 按英语助记符(国际)排序的 STL 指令.A-7 B 编程实例编程实例 B-1 B.1 编程实例概述.B-1 B.2 实例:位逻辑指令.B-2 B.3 实例:定时器指令.B-7 B.4 实例:计数器
31、和比较指令.B-10 B.5 实例:整型数学运算指令.B-12 B.6 实例:字逻辑指令.B-13 C 参数传送参数传送 C-1 索引索引 索引索引-1 内容 用于 S7300 和 S7400 的语句表(STL),编程 xii A5E01112995-01 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-1 1 位逻辑指令位逻辑指令 1.1 位逻辑指令概述位逻辑指令概述 描述描述 位逻辑指令使用两个数字 1 和 0。这两个数字构成二进制系统的基础。这两个数字 1和 0 称为二进制数字或位。对于触点和线圈而言,1 表示已激活或已励磁,0 表示未激活或
32、未励磁。位逻辑指令解释信号状态 1 和 0,并根据布尔逻辑将其组合。这些组合产生称为“逻辑运算结果”(RLO)的结果 1 或 0。布尔位逻辑适用于下列基本指令:A 与运算 AN 与非运算 O 或运算 ON 或非运算 X 异或运算 XN 同或运算 O 先与运算后或运算 可使用下列指令执行嵌套表达式:A(与运算嵌套开始 AN(与非运算嵌套开始 O(或运算嵌套开始 ON(或非运算嵌套开始 X(异或运算嵌套开始 XN(同或运算嵌套开始 )嵌套结束 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-2 A5E01112995-01 可使用下列指令之一终止布尔位逻辑串:=赋值 R
33、 复位 S 置位 可使用下列指令之一更改逻辑运算的结果(RLO):NOT 对 RLO 取反 SET 置位 RLO(=1)CLR 清零 RLO(=0)SAVE 将 RLO 保存到 BR 寄存器 对上升沿或下降沿转换做出反应的其它指令:FN 下降沿 FP 上升沿 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-3 1.2 A 与运算与运算 格式格式 A 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D、T、C 描述描述 A 检查寻址位的状态是否为“1”,并将测试结果与 RLO 进行与运算。状态字位检查:AND 指令还可
34、通过下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-x x x 1 实例实例 Relay LogicSTL Program A I 1.0A I 1.1=Q 4.0Power railI 1.0 signal state 1I 1.1 signal state 1Q 4.0 signal state 1Displays closed switchNO contactNC contactCoil 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-4 A5E01
35、112995-01 1.3 AN 与非运算与非运算 格式格式 N 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D、T、C 描述描述 AN 检查寻址位的状态是否为“0”,并将测试结果与 RLO 进行与运算。AND NOT 指令还可通过下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-x x x 1 实例实例 STL Program AI 1.0 AN I 1.1=Q 4.0 Relay LogicPower railI 1.0Signal state 0NO co
36、ntactI 1.1Signal state 1NC contact Q 4.0Signal state 0Coil 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-5 1.4 O 或运算或运算 格式格式 O 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D、T、C 描述描述 O 检查寻址位的状态是否为“1”,并将测试结果与 RLO 进行或运算。状态字位检查:OR 指令还可通过下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字状态字 BR CC 1 CC 0 OV OS OR STA
37、RLO/FC 写:-0 x x 1 实例实例 STL ProgramOI 1.0OI 1.1=Q 4.0Relay LogicPower railI 1.0 Signal state 1No contactI 1.1 Signal state 0No contactQ 4.0 Signal state 1CoilDisplays closed switch 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-6 A5E01112995-01 1.5 ON 或非运算或非运算 格式格式 ON 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D、T、C 描
38、述描述 ON 检查寻址位的状态是否为“0”,并将测试结果与 RLO 进行或运算。状态字位检查:OR NOT 指令还可通过下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:实例实例 STL ProgramRelay LogicPower railI 1.0Signal state 0NOcontactQ 4.0Signal state 1I 1.1Signal state 1NCOI 1.0ONI 1.1=Q 4.0Coilcontact 位逻辑指令 用于 S7300 和 S7400 的语
39、句表(STL),编程 A5E01112995-01 1-7 1.6 X 异或运算异或运算 格式格式 X 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D、T、C 描述描述 X 检查寻址位的状态是否为“1”,并将测试结果与 RLO 进行异或运算。也可以重复使用 Exclusive OR 函数。这样,如果有奇数个被检查地址状态为“1”,则逻辑运算的最终结果为“1”。状态字位检查:EXCLUSIVE OR 指令还可通过使用下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:
40、-0 x x 1 实例实例 Statement List ProgramXI 1.0XI 1.1=Q 4.0Power railContact I 1.0Contact I 1.1Q 4.0CoilRelay Logic 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-8 A5E01112995-01 1.7 XN 同或运算同或运算 格式格式 XN 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D、T、C 描述描述 XN 检查寻址位的状态是否为“0”,并将测试结果与 RLO 进行异或运算。状态字位检查:EXCLUSIVE OR NOT 指令还可
41、通过使用下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 x x 1 实例实例 Statement List ProgramXI 1.0XNI 1.1=Q 4.0Power railContact I 1.0Contact I 1.1Q 4.0CoilRelay Logic 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-9 1.8 O 先与运算后或运算先与运算后或运算 格式格式 O 描述描述 O 函数根据下列规则对 AND
42、 函数执行逻辑 OR 指令:先与运算后或运算 状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-x 1-x 实例实例 Statement List ProgramPower railI 0.0Q 4.0CoilM 10.0M 10.1M 0.3I 0.2AI 0.0AM 10.0=Q 4.0AI 0.2AM 0.3OM 10.1ORelay Logic 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-10 A5E01112995-01 1.9 A(与运算嵌套开始与运算嵌套开始 格式格式 A(描述描述 A(与运算嵌套开始)将 RLO
43、 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 1-0 实例实例 Statement List ProgramA(OI 0.0OM 10.0)=Q 4.0Power railI 0.0Q 4.0CoilI 0.2AM 10.1M 10.1M 10.0M10.3A(OI 0.2OM 10.3)Relay Logic 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-11 1.10 AN(与非运算嵌套开始与非运算嵌套开始 格式格
44、式 AN(描述描述 AN(与非运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 1-0 1.11 O(或运算嵌套开始或运算嵌套开始 格式格式 O(描述描述 O(或运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 1-0 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-12 A5E01112995
45、-01 1.12 ON(或非运算嵌套开始或非运算嵌套开始 格式格式 ON(描述描述 ON(OR NOT 嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 1-0 1.13 X(异或运算嵌套开始异或运算嵌套开始 格式格式 X(描述描述 X(异或运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套堆栈中。最多可有七个嵌套堆栈条目。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 1-0 位逻辑指令 用于 S7300
46、和 S7400 的语句表(STL),编程 A5E01112995-01 1-13 1.14 XN(同或运算嵌套开始同或运算嵌套开始 格式格式 XN(描述描述 XN(同或运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套堆栈中。最多可有七个嵌套堆栈条目。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 1-0 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-14 A5E01112995-01 1.15)嵌套结束嵌套结束 格式格式)描述描述 )(嵌套结束)从嵌套堆栈中删除条目,恢复 OR 位,根据函数代码将包含在堆栈条
47、目中的 RLO 与当前 RLO 互连,并将结果分配给 RLO。如果函数代码为“AND”或“AND NOT”,则 OR 位也包括在内。打开括号组的语句:U(与运算嵌套开始 UN(与非运算嵌套开始 O(或运算嵌套开始 ON(或非运算嵌套开始 X(异或运算嵌套开始 XN(同或运算嵌套开始 状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-x 1 x 1 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-15 实例实例 Statement List ProgramA(OI 0.0OM 10.0)=Q 4.0Re
48、lay LogicPower railI 0.0Q 4.0CoilI 0.2AM 10.1M 10.1M 10.0M10.3A(OI 0.2OM 10.3)位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-16 A5E01112995-01 1.16=赋值赋值 格式格式 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D 描述描述 =如果 MCR=1,则将 RLO 写入打开的主控继电器的寻址位。如果 MCR=0,则将值 0 而不是 RLO 写入寻址位。状态字状态字 BR CC 1 CC 0 OV OS OR STA RLO/FC 写:-0 x-0
49、实例实例 AI 1.0=Q 4.0I 1.0Q 4.00101Signal state diagramsPowerrailQ 4.0CoilI 1.0Statement List ProgramRelay Logic 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 A5E01112995-01 1-17 1.17 R 复位复位 格式格式 R 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D 描述描述 R(将位进行复位)如果 RLO=1 且主控继电器 MCR=1,则在寻址位中放入“0”。如果 MCR=0,则寻址位不变。状态字状态字 BR CC 1 C
50、C 0 OV OS OR STA RLO/FC 写:-0 x-0 实例实例 Relay LogicPower railI 1.0NO contactQ 4.0CoilsQ 4.0STL ProgramAI 1.0SQ 4.0AI 1.1RQ 4.0I 1.0I 1.1Q 4.0010101Signal state diagramsI 1.1NC Contact 位逻辑指令 用于 S7300 和 S7400 的语句表(STL),编程 1-18 A5E01112995-01 1.18 S 置位置位 格式格式 S 地址地址 数据类型数据类型 存储区存储区 BOOL I、Q、M、L、D 指令说明指令说