发布于 2010-09-14 13:35:01
9楼
关键是接收模块的DB号需要填正确。
不管是西门子的例程还是自己写的程序,注意这一点就没有你说的这个问题了。我们的程序是用于项目的,抱歉不能给你,但我把相关部分拷贝如下:
CALL "P_RCV_RK" , "IDB_P_RCV_RK"
EN_R :=DB41.DBX0.0
R :=
LADDR :=DB41.DBW16
DB_NO :="Rev_DB"
DBB_NO :="Rev_DBB"
L_TYP :=
L_NO :=
L_OFFSET:=
L_CF_BYT:=
L_CF_BIT:=
NDR :=DB41.DBX0.4
ERROR :=DB41.DBX0.5
LEN :=DB41.DBW10
STATUS :=DB41.DBW12
FB7的 DB_NO :="Rev_DB"
需要定义一个形参,如MW4,每次调用时赋值。
如果你有10个从站,那么你的MW4需要按从站配对的DB号来和从站对应轮询;如1号从站DB1,2号从站DB2。。。。10从站DB10.
处理的时候,和哪个从站通信,DB号也对应。
JUST DO IT