FBusIO_SendMsg方法
描述
向現場匯流排I/O裝置發送訊息,並傳回回答。
語法
Sub FBusIO_SendMsg (BusNumber As Integer, DeviceID As Integer, MsgParam As Integer, SendData As Byte(), ByRef RecvData As Byte())
參數
- BusNumber
現場匯流排系統的編號的整數值。此數字始終為16,是連接到控制器PC側的現場匯流排主機板的總線的ID。 - DeviceID
代表裝置的現場匯流排ID的整數值 - MsgParam
代表訊息參數的整數運算式。不可用於DeviceNet。 - SendData
在位元組類型的陣列中,指定發送給裝置的資料。此陣列尺寸必須和發送的位元組尺寸相同。如果不發送訊息,請指定為“0”。 - RecvData
在位元組類型的陣列中,指定從裝置接收的資料。此陣列會根據接收到的位元組數,自動轉換尺寸大小。
備註
注意
僅當啓用了現場匯流排主機板選配件功能時,才可以用本方法。
另請參閱
FBusIO_GetBusStatus方法, FBusIO_GetDeviceStatus方法, IsOptionActive方法
FBusIO_SendMsg範例
VB 例:
'向DeviceNet發送訊息
Dim recvData() as Byte
Dim sendData(6) as Byte
Array.Clear(sendData, 0, sendData.Length)
sendData(0) = 14 '命令
sendData(1) = 1 '類別
sendData(3) = 1 '範例
sendData(5) = 7 '屬性
' DeviceNet的 MsgParam是0
m_spel.FbusIO_SendMsg(16, 1, 0, sendData, recvData)
' 向Profibus發送訊息
Dim recvData() As Byte;
m_spel.FbusIO_SendMsg(16, 1, 56, Nothing, recvData);
C# 例:
// 向DeviceNet發送訊息
byte[] sendData, recvData;
byte[] sendData = new byte[6];
Array.Clear(sendData, 0, sendData.Length);
sendData[0] = 14; //命令
sendData[1] = 1; //類別
sendData[3] = 1; //範例
sendData[5] = 7; //屬性
// DeviceNet的MsgParam是0
m_spel.FbusIO_SendMsg(16, 201, 0, sendData, out recvData);
// 向Profibus發送訊息
byte[] recvData;
m_spel.FbusIO_SendMsg(16, 1, 56, null, out recvData);