点击或拖拽改变大小

ModbusRtuOverTcpWrite 方法 (String, Byte)

将数据写入到Modbus的寄存器上去,需要指定起始地址和数据内容,如果富文本地址不指定,默认使用的功能码是 0x10
To write data to Modbus registers, you need to specify the start address and data content. If the rich text address is not specified, the default function code is 0x10

命名空间:  HslCommunication.ModBus
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:12.1.2.0 (12.1.2.0)
语法
public override OperateResult Write(
	string address,
	byte[] value
)

参数

address
类型:SystemString
起始地址,比如"100","x=4;100","s=1;100","s=1;x=4;100"
value
类型:SystemByte
写入的数据,长度根据data的长度来指示

返回值

类型:OperateResult
返回写入结果

实现

IReadWriteNetWrite(String, Byte)
IReadWriteNetWrite(String, Byte)
备注
富地址格式,支持携带站号信息,功能码信息,具体参照类的示例代码
示例
此处演示批量写入的示例
Write示例
ModbusTcpNet modbus = new ModbusTcpNet( "192.168.0.1" );   // 实例化

// 假设100存储了short的报警,101,102存储了float的温度,103,104存储了int的产量
byte[] buffer = new byte[10];
modbus.ByteTransform.TransByte( (short)1 ).CopyTo( buffer, 0 );
modbus.ByteTransform.TransByte( 123.456f ).CopyTo( buffer, 2 );
modbus.ByteTransform.TransByte( 45678922 ).CopyTo( buffer, 6 );

OperateResult write = modbus.Write( "100", buffer );
if (write.IsSuccess)
{
    // success
}
else
{
    // failed
}
参见