西门子S7-300-400高级编程培训状态位指令1二_第1页
西门子S7-300-400高级编程培训状态位指令1二_第2页
西门子S7-300-400高级编程培训状态位指令1二_第3页
西门子S7-300-400高级编程培训状态位指令1二_第4页
西门子S7-300-400高级编程培训状态位指令1二_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、西门子S7-300-400高级编程培训状态位指令1二状态位指令状态位指令S7-CPU 的寄存器和存储器区域的寄存器和存储器区域累加器累加器ACCU1ACCU4ACCU3ACCU2仅适用于仅适用于S7-400AR2AR1地址寄存器地址寄存器打开的打开的 DBDB 长度长度数据块寄存器数据块寄存器状态位状态位状态字状态字32 位32位32位32位32位32位16位16位装载存储器装载存储器-逻辑块-数据块工作存储器工作存储器-逻辑块-数据块I/O 区域区域系统存储器系统存储器-过程映像输入表-过程映像输出表-位存储器-定时器-计数器-逻辑数据堆栈-中断堆栈-块堆栈S7-CPU 寄存器寄存器S7-C

2、PU 存储器区域存储器区域T, S, =,.L, A, O,.16位打开的打开的 DIDI 长度长度状态字结构状态字结构位位定义定义值值含义含义0/FC20首次检查位首次检查位1RLO21逻辑运算结果逻辑运算结果 2STA22状态位状态位3OR23或或4OS24保存溢出保存溢出5OV25溢出溢出6CC 026条件代码条件代码7CC 127条件代码条件代码8BR28二进制结果二进制结果9.15未定义未定义29 .210状态字各位的含义状态字各位的含义检查状态位检查状态位OVSS0M 4.0M 4.0在在 STL中进行检查中进行检查lA OV扫描溢出显示lA OS扫描存储的溢出标志lA BR扫描

3、BR标志检查条件代码检查条件代码(CC0, CC1)lA = 0结果等于 0lA 0结果大于 0lA 0结果不等于 0lA = 0结果小于或等于 0,等等 lA UO无序指令在在LAD 和和FBD 中进行检查中进行检查| |带有状态位的指令带有状态位的指令 指令码指令码含义含义示例示例lSET将RLO位设置为“1“ SET/RLO-1= M 0.1lCLR将RLO位设置为“0“ CLR/RLO-0lNOT将 RLO位取反O 手动模式;O 自动模式;NOT;= 操作模式= M0.0lSAVE以二进制形式保存RLO 结果 lA BR检查二进制形式结果| |I 1.0I 1.1I 1.2| | |(

4、 )(SAVE)| | BRQ 4.2Q 5.0块调用或复杂功能中的块调用或复杂功能中的BR位及位及ENOLADSTLNetwork 1: 循环程序循环程序FC23I0.0ENMW10Step_bit_memoryStep_dis playENO( )M100.0QW12Network 2: ?MUL_II0.1EN345IN1OUTENO( )M100.1MW10987IN2Network 1: 循环程序循环程序AI0.0JNB_001CALLFC23 Step_bit_memory:=MW10 Step_display:=QW12_001:ABR=M100.0 Network 2:?A I

5、0.1JNB_002L345L987*ITMW10ANOVSAVECLR_002:ABR=M100.1取决于状态位的跳转功能取决于状态位的跳转功能lJU 标号1)无条件跳转lJC 标号1) 如果“RLO” =1,则跳转lJCN标号1) 如果“RLO” =0,则跳转lJCB标号1) 如果“RLO” =1,则跳转,并将RLO保存在BR位中lJNB标号1) 如果“RLO” =0,则跳转,并将RLO保存在BR位中lJBI标号1) 如果“BR” =1,则跳转lJNBI标号1) 如果“BR” =0,则跳转lJO标号1)如果状态字中的“OV”位 =1,则跳转lJOS标号1) 如果状态字中的“OS” 位=1,

6、则跳转1) 标号可以由4位字母-数字字符组成取决于条件代码的跳转功能取决于条件代码的跳转功能lJZ 标号1) 如果状态字“CC 1”位=0且“CC 0”位=0,则跳转(结果 = 0)lJN标号1) 如果状态字“CC 1”位不等于“CC 0”位,则跳转(结果 0)lJP标号1) 如果状态字“CC 1”位=1且“CC 0”位=0(结果=0),则跳转(结果 0)lJM标号1) 如果状态字“CC 1”位=0且“CC 0”位=1(结果=0),则跳转(结果 = 0)lJMZ标号1) JM和JZ联合使用,同时满足条件,则跳转(结果 n 时的指令段示例:带有示例:带有3个分支的跳转分支程序个分支的跳转分支程序

7、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_0JU M_nACCU1 = 0 时的指令段.ACCU1 = n 时的指令段OVER:M_0:循环指令的编程循环指令的编程 初始化循环计数器LOO

8、P NEXT将ACCU1进行减1操作,并作判断 ACCU1 0 ?是否继续NEXT:将循环执行数次的代码段将循环计数器内容装入 ACCU1.示例:进行示例:进行4次循环扫描的循环指令编程次循环扫描的循环指令编程L +4/ 装载循环计数器NEXT:T MW10/ 循环开始./ 指令代码./ 指令代码./ 指令代码L MW10/ 再次装载循环计数器LOOP NEXT/ 循环计数器值 1, / 如果Accu 1 0,则 / 跳转到标号NEXT处 操作模式操作模式 将ACCU1内容送入循环计数器lBE 块结束指令lBEU无条件块结束指令(在块内)lBEC 条件块结束指令(取决于 RLO位)(RET)在

9、 LAD 编程语言中 在 FBD编程语言中块结束指令块结束指令 RET练习练习1.1:减法运算完成后跳转减法运算完成后跳转 拨码按钮拨码按钮 1 2 3 4- D正值结果正值结果 (=0)将将IW 0 的值写入显示的值写入显示删除显示删除显示负值结果负值结果JM 标号标号转换为转换为 DINT转换为转换为 DINTBTDBTD00000000100100102021527仿真器上的切换开关仿真器上的切换开关 十进制开关:十进制开关:S7-300: IW4 (IW2, 32位模式)位模式) 显示:显示:S7-300: QW12 (QW6, 32位模式)位模式) S7-400: IW 30S7-4

10、00: 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: IW28DTB转换为转换为BCD码码拨码开关拨码开关1 2 3 4* I转换为转换为 DINT转换为转换为 DINTBTDBTD00000000100100102021527仿真器上的切换开关仿真器上的切换开关练习练习 1.3:跳转分支编程:跳转分支编程 拨码按钮拨码按钮112345Motor_let 右转右转Motor_let 左转左转马达停转马达停转 喇叭开喇叭开喇叭关

温馨提示

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

评论

0/150

提交评论