您现在所在的是:

西门子SIEMENS

回帖:3个,阅读:1391 [上一页] [1] [下一页]
984
cty822531
文章数:12
年度积分:50
历史总积分:984
注册时间:2004/6/9
发站内信
发表于:2007/3/25 22:18:00
#0楼

L     P##aalm
     AD    DW#16#FFFFFFF8
     LAR1  

     A(                                //开机失败,撤除驱动并报警
     A     #DRV_OPEN
     L     S5T#15S
     SD    #DELAY_TIMER
     NOP   0
     NOP   0
     NOP   0
     A     #DELAY_TIMER
     )    
     AN    #OPEN_LIMIT
     R     #DRV_OPEN
     S      [AR1,P#0.1]


     A     #DOWN                       //联锁跳
     FN     [AR1,P#0.3]
     AN    #UNLOCK
     S      [AR1,P#0.1]
     R     #DRV_OPEN





2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2007/3/26 12:00:00
#1楼
个人对程序代码的推断, 仅供参阅!

L     P##aalm                     // 装载32位的双字指针.
AD    DW#16#FFFFFFF8   // 获取双字指针的字节地址,比如说: L P#25.3, 我们取字节地址25.
LAR1                              // 将指针的字节地址存放在地址寄存器1中.

     A(                                
     A     #DRV_OPEN                   // 阀门打开指令.
     L     S5T#15S                     // 阀门打开的15秒限时.
     SD    #DELAY_TIMER
     NOP   0
     NOP   0
     NOP   0
     A     #DELAY_TIMER
     )    
     AN    #OPEN_LIMIT                // 在15秒内,阀门必须要打开到位.
     R     #DRV_OPEN                  // 否则,取消阀门打开指令.
     S      [AR1,P#0.1]               // 生成阀门报警.


     A     #DOWN                       // 阀门联锁条件不具备"#DOWN True-->False".
     FN     [AR1,P#0.3]                // 下降沿检测.
     AN    #UNLOCK                     // 阀门操作处在"联锁"状态.
     S      [AR1,P#0.1]                // 生成阀门报警.
     R     #DRV_OPEN                   // 取消阀门打开指令.
979
xiaozhang240
文章数:11
年度积分:50
历史总积分:979
注册时间:2006/2/23
发站内信
发表于:2007/4/1 13:01:00
#2楼
不管对于不对。。
首先得对二楼致敬先。。太难得了。。楼主也请出来现身说法。这个到底有没有用。也好让帮助你的人感到有点欣慰。。不要发完贴就走掉了。。那样可不好。。
993
wulijia
文章数:14
年度积分:50
历史总积分:993
注册时间:2005/11/18
发站内信
发表于:2008/4/14 11:39:00
#3楼
真的是太好了,但是还是看的不怎么懂

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004