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