01状态位指令.ppt_第1页
01状态位指令.ppt_第2页
01状态位指令.ppt_第3页
01状态位指令.ppt_第4页
01状态位指令.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

状态位指令 S7 CPU的寄存器和存储器区域 累加器 ACCU1 ACCU4 ACCU3 ACCU2 仅适用于S7 400 AR2 AR1 地址寄存器 打开的DBDB长度 数据块寄存器 状态位 状态字 32位 32位 32位 32位 32位 32位 16位 16位 装载存储器 逻辑块 数据块 工作存储器 逻辑块 数据块 I O区域 系统存储器 过程映像输入表 过程映像输出表 位存储器 定时器 计数器 逻辑数据堆栈 中断堆栈 块堆栈 S7 CPU寄存器 S7 CPU存储器区域 T S L A O 16位 打开的DIDI长度 状态字结构 位定义值含义0 FC20首次检查位1RLO21逻辑运算结果2STA22状态位3OR23或4OS24保存溢出5OV25溢出6CC026条件代码7CC127条件代码8BR28二进制结果9 15未定义29 210 状态字各位的含义 检查状态位 OV S 0 M4 0 M4 0 在STL中进行检查AOV扫描溢出显示AOS扫描存储的溢出标志ABR扫描BR标志检查条件代码 CC0 CC1 A 0结果等于0A 0结果大于0A0结果不等于0A 0结果小于或等于0 等等AUO无序指令在LAD和FBD中进行检查 带有状态位的指令 指令码含义示例SET将RLO位设置为 1 SET RLO 1 M0 1CLR将RLO位设置为 0 CLR RLO 0NOT将RLO位取反O手动模式 O自动模式 NOT 操作模式 M0 0SAVE以二进制形式保存RLO结果ABR检查二进制形式结果 I1 0I1 1I1 2 SAVE BRQ4 2Q5 0 块调用或复杂功能中的BR位及ENO LAD STL Network1 循环程序 FC23 I0 0 EN MW10 Step bit memory Step display ENO M100 0 QW12 Network2 MUL I I0 1 EN 345 IN1 OUT ENO M100 1 MW10 987 IN2 Network1 循环程序AI0 0JNB 001CALLFC23Step bit memory MW10Step display QW12 001 ABR M100 0 Network2 AI0 1JNB 002L345L987 ITMW10ANOVSAVECLR 002 ABR M100 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 标号可以由4位字母 数字字符组成 取决于条件代码的跳转功能 JZ标号1 如果状态字 CC1 位 0且 CC0 位 0 则跳转 结果 0 JN标号1 如果状态字 CC1 位不等于 CC0 位 则跳转 结果0 JP标号1 如果状态字 CC1 位 1且 CC0 位 0 结果 0 则跳转 结果 0 JM标号1 如果状态字 CC1 位 0且 CC0 位 1 结果 0 则跳转 结果 0 JMZ标号1 JM和JZ联合使用 同时满足条件 则跳转 结果 0 JUO标号1 如果是无效的实数或者除数为0 则跳转1 标号可以由4位字母 数字字符组成 跳转分支的编程 装载跳转分支数 JLOVER ACCU1 n时的指令段 示例 带有3个分支的跳转分支程序LRecipeno 装载分支程序数JLOVER 带有3个分支的跳转分支JURec0 跳转到0号分支 ACCU1 0 JURec1 跳转到1号分支 ACCU1 1 JURec2 跳转到2号分支 ACCU1 2 OVER JUERROR 如果ACCU1 2 则跳转至标号OVER Rec0 LDBW4 Rec1 LDBW6 Rec2 LDBW8 ERROR CLR 操作模式 M n JUM 0 JUM n ACCU1 0时的指令段 ACCU1 n时的指令段 OVER M 0 循环指令的编程 初始化循环计数器 LOOPNEXT将ACCU1进行减1操作 并作判断ACCU10 是 否 继续 NEXT 将循环执行数次的代码段 将循环计数器内容装入ACCU1 示例 进行4次循环扫描的循环指令编程L 4 装载循环计数器NEXT TMW10 循环开始 指令代码 指令代码 指令代码LMW10 再次装载循环计数器LOOPNEXT 循环计数器值 1 如果Accu1 0 则 跳转到标号NEXT处 操作模式 将ACCU1内容送入循环计数器 BE块结束指令BEU无条件块结束指令 在块内 BEC条件块结束指令 取决于RLO位 RET 在LAD编程语言中在FBD编程语言中 块结束指令 RET 练习1 1 减法运算完成后跳转 拨码按钮 1234 D 正值结果 0 将IW0的值写入显示 删除显示 负值结果 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位模式 显示 S7 300 QW12 QW6 32位模式 S7 400 IW30S7 400 QW38切换开关 S7 300 IW0 IW0 S7 400 IW28 练习1 2 乘法运算完成后跳转 无溢出 将结果输出显示 删除显示 溢出 JO标号 十进制开关 S7 300 IW4 IW2 32位模式 显示 S7 300 QW12 QW6 32位模式 S7 400 IW30S7 400 QW38切换开关 S7 300 IW0 IW0 S7 400 IW28 DTB 转换为BCD码 拨码开关 1234 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右转 Mot

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论