西门子高级编程全集01_状态位指令

上传人:j7****6 文档编号:61665555 上传时间:2018-12-09 格式:PPT 页数:15 大小:521.50KB
返回 下载 相关 举报
西门子高级编程全集01_状态位指令_第1页
第1页 / 共15页
西门子高级编程全集01_状态位指令_第2页
第2页 / 共15页
西门子高级编程全集01_状态位指令_第3页
第3页 / 共15页
西门子高级编程全集01_状态位指令_第4页
第4页 / 共15页
西门子高级编程全集01_状态位指令_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《西门子高级编程全集01_状态位指令》由会员分享,可在线阅读,更多相关《西门子高级编程全集01_状态位指令(15页珍藏版)》请在金锄头文库上搜索。

1、,状态位指令,S7-CPU 的寄存器和存储器区域,累加器,ACCU1,ACCU4,ACCU3,ACCU2,仅适用于 S7-400,AR2,AR1,地址寄存器,打开的 DB DB 长度,数据块寄存器,状态位,状态字,32 位,32位,32位,32位,32位,32位,16位,16位,装载存储器 - 逻辑块 - 数据块,工作存储器 - 逻辑块 - 数据块,I/O 区域,系统存储器 - 过程映像输入表 - 过程映像输出表 - 位存储器 - 定时器 - 计数器 - 逻辑数据堆栈 - 中断堆栈 - 块堆栈,S7-CPU 寄存器,S7-CPU 存储器区域,T, S, =,.,L, A, O,.,16位,打开

2、的 DI DI 长度,状态字结构,位 定义 值 含义 0 /FC 20 首次检查位 1 RLO 21 逻辑运算结果 2 STA 22 状态位 3 OR 23 或 4 OS 24 保存溢出 5 OV 25 溢出 6 CC 0 26 条件代码 7 CC 1 27 条件代码 8 BR 28 二进制结果 9.15 未定义 29 210,状态字各位的含义,检查状态位,OV,S,0,M 4.0,M 4.0,在 STL中进行检查 A OV 扫描溢出显示 A OS 扫描存储的溢出标志 A BR 扫描 BR标志 检查条件代码(CC0, CC1) A = 0 结果等于 0 A 0 结果大于 0 A 0 结果不等于

3、 0 A = 0 结果小于或等于 0,等等 A UO 无序指令 在LAD 和FBD 中进行检查,| |,带有状态位的指令,指令码 含义 示例 SET 将RLO位设置为“1“ SET /RLO-1 = M 0.1 CLR 将RLO位设置为“0“ CLR /RLO-0 NOT 将 RLO位取反 O 手动模式; O 自动模式; NOT; = 操作模式 = M0.0 SAVE 以二进制形式保存RLO 结果 A BR 检查二进制形式结果,| |,I 1.0 I 1.1 I 1.2,| |,| |,( ),(SAVE),| |,BR Q 4.2 Q 5.0,块调用或复杂功能中的BR位及ENO,LAD,ST

4、L,Network 1: 循环程序,FC23,I0.0,EN,MW10,Step_bit _memory,Step_dis play,ENO,( ),M100.0,QW12,Network 2: ?,MUL_I,I0.1,EN,345,IN1,OUT,ENO,( ),M100.1,MW10,987,IN2,Network 1: 循环程序 A I 0.0 JNB _001 CALL FC 23 Step_bit_memory :=MW10 Step_display :=QW12 _001: A BR = M 100.0,Network 2:? A I 0.1 JNB _002 L 345 L 9

5、87 *I T MW 10 AN OV SAVE CLR _002: A BR = M 100.1,取决于状态位的跳转功能,JU 标号1) 无条件跳转 JC 标号1) 如果“RLO” =1,则跳转 JCN标号1) 如果“RLO” =0,则跳转 JCB标号1) 如果“RLO” =1,则跳转,并将RLO保存在BR位中 JNB标号1) 如果“RLO” =0,则跳转,并将RLO保存在BR位中 JBI标号1) 如果“BR” =1,则跳转 JNBI标号1) 如果“BR” =0,则跳转 JO标号1) 如果状态字中的“OV”位 =1,则跳转 JOS标号1) 如果状态字中的“OS” 位=1,则跳转 1) 标号可

6、以由4位字母-数字字符组成,取决于条件代码的跳转功能,JZ 标号1) 如果状态字“CC 1”位=0且“CC 0”位=0,则跳转 (结果 = 0) JN标号1) 如果状态字“CC 1”位不等于“CC 0”位,则跳转 (结果 0) JP标号1) 如果状态字“CC 1”位=1且“CC 0”位=0(结果=0),则跳转 (结果 0) JM标号1) 如果状态字“CC 1”位=0且“CC 0”位=1(结果=0),则跳转 (结果 = 0) JMZ标号1) JM和JZ联合使用,同时满足条件,则跳转 (结果 = 0) JUO标号1) 如果是无效的实数或者除数为0,则跳转 1) 标号可以由4位字母-数字字符组成,装

7、载跳转 分支数,JL OVER,. . .,ACCU1 n 时的 指令段,示例:带有3个分支的跳转分支程序 L Recipe no / 装载分支程序数 JL OVER / 带有3个分支的跳转分支 JU Rec0 / 跳转到0号分支 (ACCU1 = 0) JU Rec1 / 跳转到1号分支 (ACCU1 = 1) JU Rec2 /跳转到2号分支 (ACCU1 = 2) OVER: JU ERROR / 如果ACCU1 2,则跳转至标号OVER . Rec0: L DBW4 . Rec1: L DBW6 . Rec2: L DBW8 . ERROR: CLR .,操作模式,M_n:,JU M_

8、0,JU M_n,ACCU1 = 0 时的 指令段,. . .,ACCU1 = n 时的 指令段,OVER:,M_0:,循环指令的编程,初始化 循环计数器,LOOP NEXT 将ACCU1进行减1操作, 并作判断 ACCU1 0 ?,是,否,继续,NEXT:,将循环执行数次的 代码段,将循环计数器内容 装入 ACCU1.,示例:进行4次循环扫描的循环指令编程 L +4 / 装载循环计数器 NEXT: T MW10 / 循环开始 . / 指令代码 . / 指令代码 . / 指令代码 L MW10 / 再次装载循环计数器 LOOP NEXT / 循环计数器值 1, / 如果Accu 1 0,则 /

9、 跳转到标号NEXT处,操作模式,将ACCU1内容 送入循环计数器,BE 块结束指令 BEU 无条件块结束指令(在块内) BEC 条件块结束指令(取决于 RLO位) (RET) 在 LAD 编程语言中 在 FBD编程语言中,块结束指令,RET,练习1.1:减法运算完成后跳转,拨码按钮,1 2 3 4,- D,正值结果 (=0),将IW 0 的值写入显示,删除显示,负值结果,JM 标号,转换为 DINT,转换为 DINT,BTD,BTD,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,20,215,27,仿真器上的切换开关,十进制开关:S7-300: IW4 (IW2, 32位模

10、式) 显示: S7-300: QW12 (QW6, 32位模式) S7-400: IW 30 S7-400: QW38 切换开关: S7-300: IW0 (IW0) S7-400: IW28,练习 1.2:乘法运算完成后跳转,无溢出,将结果输出显示,删除显示,溢出,JO 标号,十进制开关: S7-300: IW4 (IW2, 32位模式) 显示: S7-300: QW12 (QW6, 32位模式) S7-400: IW30 S7-400: QW38 切换开关: S7-300: IW0 (IW0) S7-400: IW28,DTB,转换为 BCD码,拨码开关,1 2 3 4,* I,转换为 DINT,转换为 DINT,BTD,BTD,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,20,215,27,仿真器上的切换开关,练习 1.3:跳转分支编程,拨码按钮,1,1,2,3,4,5,Motor_let 右转,Motor_let 左转,马达停转,喇叭开,喇叭关,使用Jump指令,跳转到所列标号,功能:, JL 标号,标号:,地址: S7-300 (16位) S7-300 (32位) S7-400 马达右转: Q20.5 Q8.5 Q40.5 马达左转: Q20.6 Q8.6 Q40.6 喇叭: Q20.7 Q8.7 Q40.7,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号