技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 关于s7300语句表程序问题

关于s7300语句表程序问题

郑志武 发布于2012-12-18 17:51 207 0 标签:

a(
l#a1
l#a2
-r
t#a3
anov
save
clr
abr
)
a(
l#in
l#a3
<r
)
=#alarm1
以上程序,ov,save,clr,br在其中的作用没有看明白,不知道为什么要这么用!

佳答案

ov:overflow,s7程序状态字(statusword)的第五位,用来监视浮点数运算是不是溢出,溢出,即有错误时为1,
br:binaryresultbit,二进制结果位,是statusword的第八位,具体功能可以按f1帮助;
save,savesavestherlointothebrbit,把逻辑运算结果位的状态保存到br位中,rlo是第1位;
clr:将rlo为清零,也就是置位为零。
a(
l#a1
l#a2
-r//用a1-a2
t#a3//把结果放在a3里面
anov//将ov位的值取反(ov为true时溢出,为false时正常)这时,rlo位的状态和ov取反后的状态一样,即rlo为true时,正常,为false时溢出;
save//将rlo的状态保存到br位,这样br位就保存了浮点数运算是正确与否的信息。
clr//清空rlo位,即rlo位为false;
abr//取br位的状态,为true则继续往下执行;
)
a(
l#in//
l#a3//取in和a3的值进行比较
<r//若in小于a3则rlo位为1
)
=#alarm1//将rlo位的值赋值给alarm1,即报警。
为什么这样用:
在程序的执行过程中你也发现了,rlo运算结果位是不断的被修改的,所以是不能保留某一个步骤的状态的,或者说是不能长时间保留某一步运算状态的,所以这个时候用br位将rlo的状态保存下来,在后面的判断中使用;因为rlo位是强制为true的,所以一旦将信息保存到br位后务必予以清零,这样rlo位才能真实记录实际程序的运行结果。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签