设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]请大家及阿鸣老师解答

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 2328|回复: 2

[求助-西门子PLC300/400]请大家及阿鸣老师解答

[复制链接]

升级  36%

该用户从未签到

发表于 2014-3-14 22:49:37 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
看到这个链接,关于BR方面的,阿鸣老师举的例子感觉很蹊跷。
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=79073&cid=1029#</P>L "MT510".Powder1
BTI
T #temp1
SET
SAVE
CLR
A BR
这部分装载 "MT510".Powder1并转换 传送给 #temp1后,
应该按照程序的实际执行来判断逻辑运算结果,
而阿鸣老师这段程序,反而用了SET指令,也就是
不管前边的数据转换和传送进行的怎么样,到我这里
就人为的将RLO置位,这不是虚假的RLO吗,我觉得不对,
不符合我的理解概念,还请阿鸣老师和高手们解答。


图片说明: 1,1
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2330°C
2
  • 凯文
  • luxiabao
过: 他们

升级  33.5%

该用户从未签到

发表于 2014-3-14 23:39:17 | 显示全部楼层
请楼主仔细看看下述内容,尤其是<3>.。首先要清楚这是那段代码是由梯形图转换而来的,如果是应用STL编程那是另有说法的:
1、这个程序也是我转帖的。
2、在此再转帖这一个完整的典型问题与答案:
上面的那段代码是由梯形图转换而来的,首先将&quot;MT510&quot;.Powder1
做BCD-I转换并存于temp1,然后将9传送到temp10,两个指令串联在一起。
现有如下问题向各位请教:
(1)、BTI指令执行完成后BR位自动置位吗?还是需要SAVE?
(2)、上段中的SET、SAVE及CLR用途何在?
(3)、在一个NetWork中串联执行多个指令或并联执行多个指令时,该如何处理?
回答:
首先弄清BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。
《1》. 因为上面的那段代码是由梯形图转换而来的。出现了“SET、SAVE及CLR”。就此而论,在做BCD-I转换并存于temp1后,SET与SAVE两指令。SET即将状态字RLO置位;SAVE将RLO保存到状态字的BR位。此时表示功能被正确执行,即BR位为1.
《2》. CLR    /  将状态字RLO复位,以免影响下面的指令。
    A     BR  /  此时BR位为1,RLO=0
    )     
    JNB   _005 / 若BR=1且RLO=0,则跳转到005。
L     9   /   此时BR=1且RLO=1
    T     #temp10
  _005: NOP   0
<3>. 在一个NetWork中串联执行多个指令或并联执行多个指令时,该如何处理?
一般不要顾及用SAVE指令保存RLO。在下面的情况可用:
在一个逻辑块中需检另一查逻辑块的BR位。
例如:在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
                                                                                                                                                                                                                                                              
                                                        

升级  28%

该用户从未签到

发表于 2014-3-15 00:00:49 | 显示全部楼层
在程序的最后加上SET与SAVE指令,可以在调用块监视时看到它是变绿色的,若没有的话监控则是虚线的,但这并不表示此块没有被调用,在此块后面的控制不会接通。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            (1)、BTI指令执行完成后BR位自动置位吗?还是需要SAVE?
(2)、上段中的SET、SAVE及CLR用途何在?
(3)、在一个NetWork中串联执行多个指令或并联执行多个指令时,该如何处理?
回答:
首先弄清BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。
《1》. 因为上面的那段代码是由梯形图转换而来的。出现了“SET、SAVE及CLR”。就此而论,在做BCD-I转换并存于temp1后,SET与SAVE两指令。SET即将状态字RLO置位;SAVE将RLO保存到状态字的BR位。此时表示功能被正确执行,即BR位为1.
《2》. CLR    /  将状态字RLO复位,以免影响下面的指令。
    A     BR  /  此时BR位为1,RLO=0
    )     
    JNB   _005 / 若BR=1且RLO=0,则跳转到005。
L     9   /   此时BR=1且RLO=1
    T     #temp10
  _005: NOP   0
<3>. 在一个NetWork中串联执行多个指令或并联执行多个指令时,该如何处理?
一般不要顾及用SAVE指令保存RLO。在下面的情况可用:
在一个逻辑块中需检另一查逻辑块的BR位。
例如:在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-6 23:35 , Processed in 0.176026 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表