《用于S7-300 和 S7-400 的语句表STL编程.pdf》由会员分享,可在线阅读,更多相关《用于S7-300 和 S7-400 的语句表STL编程.pdf(254页珍藏版)》请在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 SIMATIC 用于 S7-300 和 S7-400 的语句表(STL)编程 参考手册 本手册是文档包的一部分,具有订货号:6ES7810-4CA07-8BW1 本手册是文档包的一部分,具有订货号:6ES7810-4CA07-8BW1 编程实例 B 参数传送 C 2004 年 1 月月版 A5E
2、00446505-01 索引 s 版权所有 Siemens AG 2004 保留所有权利 未经明确的书面许可,不得复制、传播或使用本手册或所含内容。违者应对造成的损失承担责任。保留所有权利,包括实用新型或设计的专利许可权及注册权。Siemens AG Bereich Automation and Drives Geschaeftsgebiet Industrial Automation Systems Postfach 4848,D-90327 Nuernberg 免责声明 我们已检查过本手册中的内容与所描述的硬件和软件相符。由于差错在所难免,我们不能保证完全一致。我们会定期审查本手册中的内容
3、,并在后续版本中进行必要的更正。欢迎提出改进意见。Siemens AG 2004 技术数据如有改动,恕不另行通知。Siemens Aktiengesellschaft A5E00446505-01 安全指南 本手册包括了保证人身安全与保护本产品及连接的设备所应遵守的注意事项。这些注意事项在手册中均以下列符号加以突出,并根据危险等级标明如下:!危险 表示如果不采取适当的预防措施,将导致死亡、严重的人身伤害或财产损失。!警告 表示如果不采取适当的预防措施,可能导致死亡、严重的人身伤害或财产损失。!当心 表示如果不采取适当的预防措施,可能导致轻微的人身伤害。当心 表示如果不采取适当的预防措施,可能导
4、致财产损失。须知 提醒您注意有关产品、产品使用的特别重要的信息,或者是文档的特定部分。合格人员 只有合格人员才允许安装和操作该设备。合格人员是指被授权按照既定安全惯例和标准,对线路、设备和系统进行调试、接地和标记的人员。正确使用 请注意如下事项:!警告 该设备及其部件只能用于产品目录或技术说明书中所描述的范畴,并且只能与由西门子公司认可或推荐的第三方厂商提供的设备或部件一起使用。只有正确地运输、保管、设置和安装本产品,并且按照推荐的方式操作和维护,产品才能正常、安全地运行。商标 SIMATIC、SIMATIC HMI和 SIMATIC NET是 SIEMENS AG 的注册商标。本文档中的其它
5、一些标志也是注册商标,如果任何第三方出于个人目的而使用,都会侵犯商标所有者的权利。用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 iii 前言 目的 本手册是您以语句表编程语言 STL 创建用户程序的指南。本手册还包含了对 STL 语言元素的语法和函数进行描述的参考部分。基础知识要求 本手册供 S7 程序员、操作员以及维护/维修人员使用。要了解本手册,需要具有自动化技术的常规知识。除此之外,还需要具有计算机应用能力和其它类似于 PC(例如,编程设备)的、使用MS Windows 2000 专业版或 MS Windows XP 专业版操作系统的工作设备
6、的知识。手册应用范围 本手册适用于 STEP 7 编程软件包 5.3 版本。符合的标准 STL 符合国际电工技术委员会 IEC 1131-3 标准所定义的“指令表”语言,但在操作方面有很大的不同。欲知更多详细资料,请参见 STEP 7 文件 NORM_TBL.WRI 中的标准表。前言 用于 S7-300 和 S7-400 的语句表(STL)编程 iv A5E00446505-01 要求 如要有效地使用该语句表手册,应当熟悉 STEP 7 在线帮助所提供的 S7 编程理论。该语言包也使用 STEP 7 标准软件,因此应当熟悉该软件的操作,并阅读所附文档。本手册是文档包“STEP 7 参考书目”中
7、的一部分。下表显示了 STEP 7 文档的总览:文档 目的 订货号 STEP 7 基础信息 STEP 7 V5.3,使用入门手册 使用 STEP 7 V5.3 编程 组态硬件和通讯连接,STEP 7 V5.3 版本 从 S5 到 S7,变频器手册 提供给技术人员的基础信息,描述了使用 STEP 7 和 S7-300/400 可编程控制器来实现控制任务的方法。6ES7810-4CA07-8BW0STEP 7 参考书目 用于 S7-300/400 的梯形图(LAD)/功能块图(FBD)/语句表(STL)手册 S7-300/400 的标准函数及系统函数 提供了参考信息,并描述了编程语言 LAD、FB
8、D、STL、标准函数以及系统函数,扩充了 STEP 7 基础信息的范围。6ES7810-4CA07-8BW1 在线帮助 用途 订货号 STEP 7 帮助 以在线帮助的形式,提供了使用STEP 7 进行编程和组态硬件的基础信息。STEP 7 标准软件中的一部分。STL/LAD/FBD 帮助参考 SFB/SFC 帮助参考 组织块帮助参考 上下文相关参考信息。STEP 7 标准软件中的一部分。前言 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 v 在线帮助 集成于软件中的在线帮助是对本手册的补充。提供在线帮助的目的是,在使用该软件时提供详细的支持。该帮助
9、系统通过一些界面集成于软件中:上下文相关帮助提供关于当前语境的信息,例如,打开的对话框或激活的窗口。可以通过通过菜单命令帮助 上下文相关的帮助,或按下 F1 键或通过使用工具栏上的问号符来打开上下文相关的帮助。可以通过使用菜单命令帮助 目录,或在上下文相关的帮助窗口中按“STEP 7帮助”按钮来调用 STEP 7 中的常规帮助。可以通过按“词汇表”按钮,调用所有 STEP7 应用程序的词汇表。本手册是“语句表帮助”的摘录。由于手册和在线帮助具有完全相同的结构,因此非常容易在手册和在线帮助之间切换。更多支持 如果有任何技术问题,请联系西门子代表或代理商。您可以在下列网页中查找联系人:http:/
10、 培训中心 西门子提供了很多培训教程,帮助您熟悉 SIMATIC S7 自动化系统。请联系当地的培训中心,或位于德国纽伦堡(D 90327)的培训总部,以获取详细信息。电话:+49(911)895-3200。网址:http:/ 前言 用于 S7-300 和 S7-400 的语句表(STL)编程 vi A5E00446505-01 A&D 技术支持 遍布世界各处,24 小时服务:北京纽伦堡约翰逊城 全球(纽伦堡)技术支持 每年 365 天,每天 24 小时 电话:+49(180)5050-222 传真:+49(180)5050-223 电子邮件:adsupport 格林威治标准时间:+1:00
11、欧洲/非洲(纽伦堡)许可证 当地时间:周一至周五,8:00-5:00 PM 电话:+49(180)5050-222 传真:+49(180)5050-223 电子邮件:adsupport 格林威治 标准时间:+1:00 美国(约翰逊城)技术支持和授权 当地时间:周一至周五,8:00-5:00 PM 电话:+1(423)262 2522 传真:+1(423)262 2289 电子邮件:simatic.hotline 格林威治 标准时间:-5:00 亚洲/澳洲(北京)技术支持和授权 当地时间:周一至周五,8:00-5:00 PM 电话:+86 10 64 75 75 75 传真:+86 10 64
12、74 74 74 电子邮件:adsupport.asia 格林威治 标准时间:+8:00 SIMATIC 热线以及授权热线所使用的语言通常为德语和英语。前言 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 vii Internet 服务和支持 除文档以外,还在 Internet 上在线提供了知识产权信息,网址如下:http:/ 可在其中查找下列内容:公司简讯,经常提供产品的最新信息。相应文档资料,可通过“服务和支持”中的搜索功能查找。论坛,世界各地的用户和专家可以在此交流经验。当地自动化和驱动办事处。在“服务”页面下提供了关于现场服务、维修、备件等信
13、息。前言 用于 S7-300 和 S7-400 的语句表(STL)编程 viii A5E00446505-01 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 ix 目录 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(或运算嵌套开始.
14、1-11 1.12 ON(或非运算嵌套开始.1-12 1.13 X(异或运算嵌套开始.1-12 1.14 XN(同或运算嵌套开始.1-13 1.15)嵌套结束.1-14 1.16=赋值.1-15 1.17 R 复位.1-16 1.18 S 设置.1-17 1.19 NOT 取反 RLO.1-18 1.20 SET 置位 RLO(=1).1-18 1.21 CLR 清零 RLO(=0).1-19 1.22 SAVE 将 ROLBR 保存在寄存器中.1-20 1.23 FN 下降沿.1-21 1.24 FP 上升沿.1-23 2 比较指令 2-1 2.1 比较指令概述.2-1 2.2?I 比较整数
15、(16 位).2-2 2.3?D 比较长整数(32 位).2-3 2.4?R 比较浮点数(32 位).2-4 3 转换指令 3-1 3.1 转换指令概述.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
16、 位)求反码.3-8 3.9 INVD 对长整数(32 位)求反码.3-9 目录 用于 S7-300 和 S7-400 的语句表(STL)编程 x A5E00446505-01 3.10 NEGI 对整数求补码(16 位).3-10 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 RN
17、D+取整为高位长整型.3-17 3.18 RND-取整为低位长整型.3-18 4 计数器指令 4-1 4.1 计数器指令概述.4-1 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 交换共享数据块和背景数据块.5-3 5.4 L D
18、BLG 在 ACCU 1 中装载共享数据块的长度.5-3 5.5 L DBNO 在 ACCU 1 中装载共享数据块的编号.5-4 5.6 L DILG 在 ACCU 1 中装载背景数据块的长度.5-4 5.7 L DINO 在 ACCU 1 中装载背景数据块的编号.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 位的
19、RLO=0 时跳转.6-8 6.8 JBI 如果 BR=1,则跳转.6-9 6.9 JNBI 如果 BR=0,则跳转.6-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 目录 用于 S7
20、-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 xi 7 整型数学运算指令 7-1 7.1 整型数学运算指令概述.7-1 7.2 使用整数算术指令时得出状态字的位数值.7-2 7.3+I 将 ACCU 1 和 ACCU 2 作为整数(16 位)相加.7-3 7.4-I 以整数(16 位)形式从 ACCU 2 中减去 ACCU 1.7-4 7.5*I 将 ACCU 1 和 ACCU 2 作为整数(16 位)相乘.7-5 7.6/I 以整数(16 位)形式用 ACCU 1 除 ACCU 2.7-6 7.7+加整型常数(16、32 位).7-7 7.8+D 将 AC
21、CU 1 和 ACCU 2 作为长整型(32 位)数相加.7-9 7.9-D 以长整型(32 位)数形式从 ACCU 2 中减去 ACCU 1.7-10 7.10*D 将 ACCU 1 和 ACCU 2 作为长整型(32 位)数相乘.7-11 7.11/D 以长整型(32 位)数形式用 ACCU 1 除 ACCU 2.7-12 7.12 MOD 除法余数长整型(32 位).7-13 8 浮点型数学运算指令 8-1 8.1 浮点运算指令概述.8-1 8.2 使用浮点运算指令时得出状态字的位数值.8-2 8.3 浮点型数学运算指令:基本原理.8-3 8.3.1+R 将 ACCU 1 和 ACCU
22、2 作为浮点数(32 位 IEEE-FP)相加.8-3 8.3.2-R 以浮点数(32 位 IEEE-FP)形式从 ACCU 2 中减去 ACCU 1.8-4 8.3.3*R 将 ACCU 1 和 ACCU 2 作为浮点数(32 位 IEEE-FP)相乘.8-5 8.3.4/R 以浮点数(32 位 IEEE-FP)形式用 ACCU 1 除 ACCU 2.8-6 8.3.5 ABS 浮点数(32 位 IEEE-FP)的绝对值.8-7 8.4 浮点型数学运算指令:扩展运算.8-8 8.4.1 SQR 计算浮点数(32 位)的平方.8-8 8.4.2 SQRT 计算浮点数(32 位)的平方根.8-9
23、 8.4.3 EXP 生成浮点数(32 位)的指数值.8-10 8.4.4 LN 生成浮点数(32 位)的自然对数.8-11 8.4.5 SIN 生成浮点数(32 位)角度的正弦值.8-12 8.4.6 COS 生成浮点数(32 位)角度的余弦值.8-13 8.4.7 TAN 生成浮点数(32 位)角度的正切值.8-14 8.4.8 ASIN 生成浮点数(32 位)的反正弦.8-15 8.4.9 ACOS 生成浮点数(32 位)的反余弦值.8-16 8.4.10 ATAN 生成浮点数(32 位)的反正切值.8-17 9 装载和传送指令 9-1 9.1 装载和传送指令概述.9-1 9.2 L 装
24、载.9-2 9.3 L STW 将状态字装载到 ACCU 1 中.9-3 9.4 LAR1 从 ACCU 1 中装载地址寄存器.9-4 9.5 LAR1 用长整型(32 位指针)装载地址寄存器 1.9-5 9.6 LAR1 AR2 从地址寄存器 2 装载地址寄存器 1 地址寄存器 2.9-6 9.7 LAR2 从 ACCU 1 中装载地址寄存器 2.9-6 9.8 LAR2 用长整型(32 位指针)装载地址寄存器 2.9-7 9.9 T 传送.9-8 目录 用于 S7-300 和 S7-400 的语句表(STL)编程 xii A5E00446505-01 9.10 T STW 将 ACCU 1
25、 传送到状态字.9-9 9.11 CAR 交换地址寄存器 1 和地址寄存器 2 地址寄存器 2.9-10 9.12 TAR1 将地址寄存器 1 传送到 ACCU 1.9-10 9.13 TAR1 将地址寄存器 1 传送到目标地址(32 位指针).9-11 9.14 TAR1 AR2 将地址寄存器 1 传送到目标地址(32 位指针)地址寄存器 2.9-12 9.15 TAR2 将地址寄存器 2 传送到地址寄存器 1.9-12 9.16 TAR2 将地址寄存器 2 传送到目标地址(32 位指针).9-13 10 程序控制指令 10-1 10.1 程序控制指令概述.10-1 10.2 BE 块结束.
26、10-2 10.3 BEC 块有条件结束.10-3 10.4 BEU 块无条件结束.10-4 10.5 CALL 块调用.10-5 10.6 调用 FB.10-8 10.7 调用 FC.10-10 10.8 调用 SFB.10-12 10.9 调用 SFC.10-14 10.10 调用多重背景.10-15 10.11 调用来自库的块.10-15 10.12 CC 有条件调用.10-16 10.13 UC 无条件的调用.10-17 10.14 MCR(主控继电器).10-18 10.15 使用 MCR 功能的重要注意事项.10-20 10.16 MCR(将 RLO 保存在 MCR 堆栈中,开始
27、MCR.10-21 10.17)MCR 结束 MCR.10-23 10.18 MCRA 激活 MCR 区域.10-24 10.19 MCRD 取消激活 MCR 区域.10-25 11 移位和循环指令 11-1 11.1 移位指令.11-1 11.1.1 移位指令概述.11-1 11.1.2 SSI 移位有符号整数(16 位).11-2 11.1.3 SSD 移位有符号长整数(32 位).11-3 11.1.4 SLW 字左移(16 位).11-5 11.1.5 SRW 字右移(16 位).11-6 11.1.6 SLD 双字左移(32 位).11-7 11.1.7 SRD 双字右移(32 位)
28、.11-8 11.2 循环指令.11-10 11.2.1 循环指令概述.11-10 11.2.2 RLD 双字循环左移(32 位).11-10 11.2.3 RRD 双字循环右移(32 位).11-12 11.2.4 RLDA 经过 CC 1(32 位)左循环 ACCU 1.11-13 11.2.5 RRDA 经过 CC 1(32 位)右循环 ACCU 1.11-14 目录 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 xiii 12 定时器指令 12-1 12.1 定时器指令概述.12-1 12.2 存储器中定时器的位置和定时器的组件.12-2
29、12.3 FR 启用定时器(自由).12-5 12.4 L 将当前定时器数值作为整数载入 ACCU 1.12-7 12.5 LC 将当前定时器值作为 BCD 码载入 ACCU 1.12-8 12.6 R 复位定时器.12-9 12.7 SP 脉冲定时器.12-10 12.8 SE 扩展脉冲定时器.12-11 12.9 SD 接通延时定时器.12-13 12.10 SS 带保持的接通延时定时器.12-14 12.11 SF 断开延时定时器.12-16 13 字逻辑指令 13-1 13.1 字逻辑指令概述.13-1 13.2 AW 单字与运算(16 位).13-2 13.3 OW 单字或运算(16
30、 位).13-3 13.4 XOW 单字异或运算(16 位).13-4 13.5 AD 双字与运算(32 位).13-6 13.6 OD 双字或运算(32 位).13-7 13.7 XOD 双字异或运算(32 位).13-8 14 累加器指令 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
31、.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 14.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-13 14.15 NOP 1 空指令.14-13 A 所有 STL 指令总览 A-1 A.1 按德语助记符(SIMATIC)排序的 STL
32、指令.A-1 A.2 按英语助记符(国际)排序的 STL 指令.A-6 B 编程实例 B-1 B.1 编程实例总览.B-1 B.2 实例:位逻辑指令.B-2 B.3 实例:定时器指令.B-5 B.4 实例:计数器和比较指令.B-8 B.5 实例:整型数学运算指令.B-10 B.6 实例:字逻辑指令.B-11 C 参数传送 C-1 索引 目录 用于 S7-300 和 S7-400 的语句表(STL)编程 xiv A5E00446505-01 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-1 1 位逻辑指令 1.1 位逻辑指令概述 描述 位逻辑指令
33、使用两个数字 1 和 0。这两个数字构成二进制系统的基础。这两个数字 1和 0 称为二进制数字或位。对于触点和线圈而言,1 表示已激活或已励磁,0 表示未激活或未励磁。位逻辑指令解释信号状态 1 和 0,并根据布尔逻辑将其组合。这些组合产生称为“逻辑运算结果”(RLO)的结果 1 或 0。布尔位逻辑适用于下列基本指令:A 与运算 AN 与非运算 O 或 ON 或非运算 X 异或运算 XN 同或运算 O 先与运算后或运算 可使用下列指令执行嵌套表达式:A(与运算嵌套开始 AN(与非运算嵌套开始 O(或运算嵌套开始 ON(或非运算嵌套开始 X(异或运算嵌套开始 XN(同或运算嵌套开始 )嵌套结束
34、位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-2 A5E00446505-01 可使用下列指令之一终止布尔位逻辑串:=赋值 R 复位 S 置位 可使用下列指令之一更改逻辑运算的结果(RLO):NOT 对 RLO 取反 SET 置位 RLO(=1)CLR 清零 RLO(=0)SAVE 将 RLO 保存到 BR 寄存器 对上升沿或下降沿转换做出反应的其它指令:FN 下降沿 FP 上升沿 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-3 1.2 A 与运算 格式 A 地址 数据类型 存储区 BOOL I、Q
35、、M、L、D、T、C 描述 A 检查寻址位的状态是否为“1”,并将测试结果与 RLO 进行与运算。AND 指令还可通过下列地址直接检查状态字:=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 ProgramAI 1.0AI 1.1=Q 4.0Power railI 1.0 signal state 1I 1.1 signal state 1Q 4.0 signal state 1Displays closed switchNO contactNC contact
36、Coil 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-4 A5E00446505-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 ANI 1.1=Q 4.0 Relay LogicPower
37、 rail I 1.0Signal state 0 NO contact I 1.1Signal state 1 NC contact Q 4.0Signal state 0 Coil 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-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
38、OR STA 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 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-6 A5E00446505-01 1.5 ON 或非运算 格式 ON 地址 数据类型 存储区 BOOL I、Q、M、L、D、T、C 描述 ON 检查寻
39、址位的状态是否为“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 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E004465
40、05-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 写:-0 x x 1 实例 Statement List ProgramXI 1.0XI 1.1=Q
41、4.0Power railContact I 1.0Contact I 1.1Q 4.0CoilRelay Logic 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-8 A5E00446505-01 1.7 XN 同或运算 格式 XN 地址 数据类型 存储区 BOOL I、Q、M、L、D、T、C 描述 XN 检查寻址位的状态是否为“0”,并将测试结果与 RLO 进行异或运算。EXCLUSIVE OR NOT 指令还可通过使用下列地址直接检查状态字:=0、0、0、=0、=0、OV、OS、UO、BR。状态字 BR CC 1 CC 0 OV OS OR STA RLO
42、 /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 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-9 1.8 O 先与运算后或运算 格式 O 描述 O 函数根据下列规则对 AND 函数执行逻辑 OR 指令:先与运算后或运算.状态字 BR CC 1 CC 0 OV OS OR STA RLO /FC 写:-x 1-x 实例 Statement List P
43、rogramPower 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 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-10 A5E00446505-01 1.9 A(与运算嵌套开始 格式 A(描述 A(与运算嵌套开始)将 RLO 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字 BR CC 1 CC 0 OV OS OR STA RLO /FC 写:-0 1-0 实例 语句表程序 A(O I 0.0
44、O M 10.0)=Q 4.0 电源轨I 0.0Q 4.0线圈I 0.2A M 10.1 M 10.1M 10.0 M10.3 A(O I 0.2 O M 10.3)继电器逻辑 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-11 1.10 AN(与非运算嵌套开始 格式 AN(描述 AN(与非运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字 BR CC 1 CC 0 OV OS OR STA RLO /FC 写:-0 1-0 1.11 O(或运算嵌套开始 格式 O(描述 O(或运
45、算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套的堆栈中。最多可有七个嵌套堆栈条目。状态字 BR CC 1 CC 0 OV OS OR STA RLO /FC 写:-0 1-0 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-12 A5E00446505-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(异或运算嵌套开始 格式
46、 X(描述 X(异或运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套堆栈中。最多可有七个嵌套堆栈条目。状态字 BR CC 1 CC 0 OV OS OR STA RLO /FC 写:-0 1-0 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-13 1.14 XN(同或运算嵌套开始 格式 XN(描述 XN(同或运算嵌套打开)将 RLO 和 OR 位及一个函数代码保存到嵌套堆栈中。最多可有七个嵌套堆栈条目。状态字 BR CC 1 CC 0 OV OS OR STA RLO /FC 写:-0 1-0 位逻辑指令 用于 S7-
47、300 和 S7-400 的语句表(STL)编程 1-14 A5E00446505-01 1.15)嵌套结束 格式)描述 )(嵌套结束)从嵌套堆栈中删除条目,恢复 OR 位,根据函数代码将包含在堆栈条目中的 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 实例 Statem
48、ent List ProgramA(OI 0.0OM 10.0)=Q 4.0Relay LogicPower railI 0.0Q 4.0CoilI 0.2AM 10.1M 10.1M 10.0M10.3A(OI 0.2OM 10.3)位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-15 1.16=赋值 格式 地址 数据类型 存储区 BOOL I、Q、M、L、D 描述 =如果 MCR=1,则将 RLO 写入打开的主控继电器的寻址位。如果 MCR=0,则将值 0 而不是 RLO 写入寻址位。状态字 BR CC 1 CC 0 OV OS
49、OR STA RLO /FC 写:-0 x-0 实例 AI 1.0=Q 4.0I 1.0Q 4.00101Signal state diagramsPowerrailQ 4.0CoilI 1.0Statement List ProgramRelay Logic 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 1-16 A5E00446505-01 1.17 R 复位 格式 R 地址 数据类型 存储区 BOOL I、Q、M、L、D 描述 R(将位进行复位)如果 RLO=1 且主控继电器 MCR=1,则在寻址位中放入“0”。如果 MCR=0,则寻址位不变。状态字 BR C
50、C 1 CC 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 位逻辑指令 用于 S7-300 和 S7-400 的语句表(STL)编程 A5E00446505-01 1-17 1.18 S 设置 格式 S 地址 数据类型 存储区 BOOL I、Q、M、L、D 指令描述 S(将位复位)如果