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
    デバイスに送信されるデータをByte型の配列で指定します。この配列の次元は、送信されるバイト数の次元と同じでなくてはなりません。データを送信しない場合は、“0”を指定します。
  • RecvData
    デバイスから受信されるデータをByte型の配列で指定します。この配列は自動的に受信したバイト数に応じた次元数に変換されます。

コメント
注意
このメソッドは、フィールドバスマスターオプションが有効のときのみ使用できます。

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