西門子S120電源模塊6SL3330-7TG41-0AA3
ID :參考本地CPU連接表中的塊參數。
LADDR :參考本地CPU連接表中的塊參數。
RECV : 接收區(qū)。接收區(qū)應等于發(fā)送區(qū)。
NDR : 每次接收到新數據,產生一個上升沿。
ERROR :錯誤位。
STATUS:通訊狀態(tài)字。
LEN : 實際接收數據長度。
示例程序中S7-300 PLC將接收的數據存儲于本地數據區(qū)DB2的前60個字節(jié)中。
4.2.4在SIMOTION側編寫通信程序
在PLC側調用發(fā)送和接收功能塊,在SIMOTION側相應調用發(fā)送和接收函數與之相匹配,通信函數存儲于在“Communication"->“Data transfer"目錄下,發(fā)送函數調用的示例程序參考圖17,發(fā)送函數與PLC的接收功能塊相匹配。
圖17 調用發(fā)送函數
發(fā)送函數參數解釋如下:
ConnectionId
參考_TcpOpenClient函數建立的連接。
NextCommand
枚舉數據類型,元素中包括“IMMEDIATELY "、“WHEN_COMMAND_DONE。
“IMMEDIATELY":接收命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
“WHEN_COMMAND_DONE":接收命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
DataLength
發(fā)送數據的字節(jié)長度,數據類型為UDINT,例子中為60,發(fā)送數據區(qū)Data中前60個字節(jié)。
Data
發(fā)送數據區(qū),數據類型為數組,ARRAY [0..4095] OF BYTE。
OUT
輸出通信狀態(tài),數據類型為DINT。
接收函數調用的示例程序參考圖18,接收函數與PLC的發(fā)送功能塊相匹配。
圖18 調用接收函數
接收函數參數解釋如下:
ConnectionId
參考_TcpOpenClient函數建立的連接。
NextCommand
枚舉數據類型,元素中包括“IMMEDIATELY "、“WHEN_COMMAND_DONE。
“IMMEDIATELY":接收命令與后續(xù)所要執(zhí)行的命令同步執(zhí)行。
“WHEN_COMMAND_DONE":接收命令執(zhí)行或失敗后執(zhí)行后續(xù)的命令,異步執(zhí)行。
ReceiveVariable
數據接收區(qū),數據類型為數組,ARRAY [0..4095] OF BYTE,4096字節(jié)。
OUT
調用函數返回信息,包括調用狀態(tài)和接收的字節(jié)數量。數據類型為結構體(StructRetTcpReceive),返回信息參考表3: