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