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

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 语句表编程set的用法求教

语句表编程set的用法求教

183.233.253.26 发布于2013-03-01 10:15 2 0 标签:

adbx0.1
adbx0.7
jcnm001
l#in2
tdbd20
set
rdbx0.1
m001:nop0
上面的程序,为什么在set后面加一个复位r

问题补充:
能运算到这一步dbx0.1必定为1,感觉没有必要再加set.另外,抛开这段程序,如果要复位的位为1则r运算,如果不为1,则r不运算,为吗非要先置位再复位?

佳答案

我和20120817的观点一样,西门子帮助文件中是这样说的:
r(resetbit)placesa"0"intheaddressedbitifrlo=1andmastercontrolrelaymcr=1
也就是说只有当rlo和mcr位同时为1时才将目标地址置为0,所以加set的目的是为了让rlo位为1.。
单就从这段程序上讲,加不加都不影响终的执行效果,因为在执行jcnm001这条语句时已经对rlo进行了判断,rlo=1则继续往下执行,l#in2和tdbd20不影响rlo位的状态,即便没有set语句一样可以实现复位。
楼主可以用这样一段程序理解下setsaveclr这样三条指令(可以转换成lad):
l#temp1
tdbd20
set
save
clr
abr
rdbx0.1
仅仅是个例子,是用lad编写后转换成stl的,这样就能很好的理解set的作用了。

若有收获,就点个赞吧!

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

微信扫一扫分享

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

相关推荐

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