FbusIO_SendMsg
フィールドバスI/Oデバイスに、メッセージを送り、回答を返します。
書式
FbusIO_SendMsg(バス番号, デバイスID, msgParam, sendData(), recvData())
パラメーター
- バス番号
- フィールドバスシステム番号を表す整数式この番号は必ず16で、コントローラーのPC側にあるフィールドバスマスターボードに接続されているバスのIDです。
- デバイスID
- デバイスのフィールドバスIDを表す整数式
- msgParam
- メッセージパラメーターを表す整数式DeviceNetには使用できません。
- sendData
- デバイスに送信されるデータをByte型の配列で指定します。この配列の次元は、送信されるバイト数の次元と同じでなくてはなりません。データを送信しない場合は、"0"を指定します。
- recvData
- デバイスから受信されるデータをByte型の配列で指定します。この配列は自動的に受信したバイト数に応じた次元数に変換されます。
解説
FBusIO_SendMsg は、フィールドバスI/O デバイスに対するクエリーとして用います。サポートするメッセージについては、機器メーカーにお問合わせください。
注意
このコマンドは、フィールドバスマスターオプションが有効時のみ使用できます。
参照
FbusIO_GetBusStatus関数, FbusIO_GetDeviceStatus関数
FbusIO_SendMsg使用例
' DeviceNet デバイスに明示メッセージを送る
Byte sendData(5)
Byte recvData(0)
Integer i
sendData(0) = &H0E ' コマンド
sendData(1) = 1 ' クラス
sendData(3) = 1 ' インスタンス
sendData(5) = 7 ' 属性
' DeviceNet のmsgParamは"0"
FbusIO_SendMsg 16, 1, 0, sendData(), recvData()
' 回答を表示
For i = 0 to UBound(recvData)
Print recvData(i)
Next i
' Profibus デバイスにメッセージを送る
Byte recvData(0)
Integer i
' msgParamはサービス番号
FbusIO_SendMsg 16, 1, 56, 0, recvData()
' 回答を表示
For i = 0 to UBound(recvData)
Print recvData(i)
Next i