You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
using HybirdFrameworkCore.Autofac.Attribute;
|
|
using HybirdFrameworkCore.Const;
|
|
using HybirdFrameworkDriver.ModbusTcpMaster;
|
|
|
|
namespace Service.Humiture.Client;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
[Scope]
|
|
public class HumiturePlcClientRight:ModbusTcpMaster
|
|
{
|
|
public HumiturePlcClientRight()
|
|
{
|
|
ReadAction = BatchRead;
|
|
Ip = "172.0.50.100";
|
|
Port = 502;
|
|
Duration = 1000;
|
|
AutoReConnect = true;
|
|
ByteSeq = EndingConst.ByteSeq.BA;
|
|
WordSeq= EndingConst.WordSeq.CD;
|
|
}
|
|
|
|
private bool BatchRead(ModbusTcpMaster master)
|
|
{
|
|
var bytes01 = master.BatchReadHolderRegister(0, 2);
|
|
//TODO 地址未确定,不知道哪个是温度,哪个是湿度
|
|
if (bytes01 != null)
|
|
{
|
|
ModbusDecoder.Decode<HumitureMsg>(bytes01, HumiturePlcMgr.HumitureMsg1, EndingConst.ByteSeq.AB,
|
|
EndingConst.WordSeq.DC);
|
|
}
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
//var bytes02 = master.BatchReadHolderRegister(100, 6);
|
|
|
|
//byte[] bytes03 = new byte[bytes01.Length + bytes02.Length];
|
|
//Array.Copy(bytes01, 0, bytes03, 0, bytes01.Length);
|
|
//Array.Copy(bytes02, 0, bytes03, bytes01.Length, bytes02.Length);
|
|
}
|
|
|
|
} |