您现在所在的是:

西门子SIEMENS

回帖:5个,阅读:3951 [上一页] [1] [下一页]
1031
hysonhzh
文章数:39
年度积分:50
历史总积分:1031
注册时间:2003/9/3
发站内信
发表于:2004/11/20 23:14:00
#0楼
我要在程序中写入对LINK 20的诊断程序,假设LINK20的PROFIBUS-DP地址为4,I/O分配地址为112-127,那LINK20的诊断信息保存在哪里,如何在程序中写?
请各位大侠指教!表情
6335
karl 版主
文章数:1703
年度积分:50
历史总积分:6335
注册时间:2003/12/26
发站内信
发表于:2004/11/21 16:37:00
#1楼
一般有LINK 20的面板显示就足够了。
在程序中,应在OB~~中根据此DP地址作相应判断。
.
1031
hysonhzh
文章数:39
年度积分:50
历史总积分:1031
注册时间:2003/9/3
发站内信
发表于:2004/11/21 22:21:00
#2楼
karl,你好。我就是想知道在OB中,应该如何调用故障数据,处理后用来控制机器的自动运行。能否写一小段?
6335
karl 版主
文章数:1703
年度积分:50
历史总积分:6335
注册时间:2003/12/26
发站内信
发表于:2004/11/22 13:43:00
#3楼
OB82
L     #OB82_MDL_ADDR
T     #t_laddr

SET  
=     #t_req



L     #t_laddr
L     W#16#??
==I  
JC    LINK
.
.
.
LINK: CALL SFC59
.
.
.
CLR  
=     #t_req
A     #t_busy
JC    LINK
S     "M ?.?"
JU    END
.
.
.
END: NOP 0


.
6335
karl 版主
文章数:1703
年度积分:50
历史总积分:6335
注册时间:2003/12/26
发站内信
发表于:2004/11/22 13:49:00
#4楼
哈哈,关键程序都有了,自己填空吧。
.
1031
hysonhzh
文章数:39
年度积分:50
历史总积分:1031
注册时间:2003/9/3
发站内信
发表于:2004/11/22 23:09:00
#5楼
真是太谢谢您了!我明白了。我看过其它程序,程序中用到DB59,如:
     L     #OB82_MDL_ADDR              
     T     DB59.DBW    0
      ...

loop: CALL  SFC   59
      REQ    :=#t_req
      IOID   :=B#16#54                
      LADDR  :=DB59.DBW0              
      RECNUM :=B#16#1                
      RET_VAL:=DB59.DBW2
      BUSY   :=#t_busy
      RECORD :=P#DB59.DBX 10.0 BYTE 11 //DS1 is saved from byte 10

为何在BLOCK中没有DB59?上面的程序为诊断CP342-2的,那诊断LINK20   RECORD :=P#DB59.DBX 10.0 BYTE 23 ,对吗?




[此贴子已经被作者于2004-11-23 11:17:50编辑过]

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

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

46.8003