欢迎来到天天文库
浏览记录
ID:45027236
大小:187.00 KB
页数:14页
时间:2019-11-07
《西门子S7-300+400高级编程培训教材,内部教材1、状态位指令1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、状态位指令S7-CPU的寄存器和存储器区域累加器ACCU1ACCU4ACCU3ACCU2仅适用于S7-400AR2AR1地址寄存器打开的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逻辑运算结果
2、2STA22状态位3OR23或4OS24保存溢出5OV25溢出6CC026条件代码7CC127条件代码8BR28二进制结果9...15未定义29..210状态字各位的含义检查状态位OVSS>0M4.0M4.0在STL中进行检查AOV扫描溢出显示AOS扫描存储的溢出标志ABR扫描BR标志检查条件代码(CC0,CC1)A==0结果等于0A>0结果大于0A<>0结果不等于0A=<0结果小于或等于0,等等AUO无序指令在LAD和FBD中进行检查
3、
4、带有状态位的指令指令码含义示例SET将RLO位设置为“1“SET//RLO-1=M0.1CLR将RLO位
5、设置为“0“CLR//RLO-0NOT将RLO位取反O手动模式;O自动模式;NOT;=操作模式=M0.0SAVE以二进制形式保存RLO结果ABR检查二进制形式结果
6、
7、I1.0I1.1I1.2
8、
9、
10、
11、()(SAVE)
12、
13、BRQ4.2Q5.0块调用或复杂功能中的BR位及ENOLADSTLNetwork1:循环程序FC23I0.0ENMW10Step_bit_memoryStep_displayENO()M100.0QW12Network2:???MUL_II0.1EN345IN1OUTENO()M100.1MW10987IN2Network
14、1:循环程序AI0.0JNB_001CALLFC23Step_bit_memory:=MW10Step_display:=QW12_001:ABR=M100.0Network2:???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,则跳转,并将
15、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
16、(结果=0),则跳转(结果<0)JPZ标号1)JZ和JP联合使用,同时满足条件,则跳转(结果>=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
17、号分支(ACCU1=2)OVER:JUERROR//如果ACCU1>2,则跳转至标号OVER...Rec0:LDBW4...Rec1:LDBW6...Rec2:LDBW8...ERROR:CLR...操作模式M_n:JUM_0JUM_nACCU1=0时的指令段...ACCU1=n时的指令段OVER:M_0:循环指令的编程初始化循环计数器LOOPNEXT将ACCU1进行减1操作,并作判断ACCU1<>0?是否继续NEXT:将循环执行数次的代码段将循环计数器内容装入ACCU1.示例:进行4次循环扫描的循环指令编程L+4//装载循环计数器NEXT:T
18、MW10//循环开始.//指令代码.//指令代码.//指令代码LMW10//再次装载循环计数器LOOPNEXT//循环计数器值–1,//如果Accu1
此文档下载收益归作者所有