1.主站:CP342_5硬件地址:256-271;从站:CP342_5硬件地址:272-287;
2.程序:
1)主站(OB1):Network1
CALL "DP_SEND"
CPLADDR:=W#16#100
SEND :=P#DB1.DBX0.0 BYTE 16
DONE :=M98.1
ERROR :=M98.2
STATUS :=MW10
Network2
CALL "DP_RECV"
CPLADDR :=W#16#100
RECV :=P#DB1.DBX16.0 BYTE 16
NDR :=M99.1
ERROR :=M99.2
STATUS :=MW11
DPSTATUS:=MB0
2)从站(OB1):Network1
CALL "DP_SEND"
CPLADDR:=W#16#110
SEND :=P#DB1.DBX0.0 BYTE 16
DONE :=M98.1
ERROR :=M98.2
STATUS :=MW10
Network2
CALL "DP_RECV"
CPLADDR :=W#16#110
RECV :=P#DB1.DBX16.0 BYTE 16
NDR :=M99.1
ERROR :=M99.2
STATUS :=MW11
DPSTATUS:=MB0
我是这样理解的:
1.将主站的DB1.DBX0.0 BYTE 16(发送数据区)发送到从站的DB1.DBX16.0 BYTE 16(接收数据区);
而主站的DB1.DBX16.0 BYTE 16(接收数据区)接收从站的DB1.DBX0.0 BYTE 16(发送数据区),对吗?
2.在主站HW配置窗口中,从站的属性对话框里:INPUT、OUTPUT区只是起到数据缓存和定义要交换的数据长度的作用。比如主站向从站发送数据:先将主站要发送的数据存到从站的OUPUT区,然后从站的CPU通过调用FC2("DP_RECV")模块读取OUPUT区的数据到从站的某一数据区中。