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