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);