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.
|
|
|
|
using HybirdFrameworkDriver.ModbusTcpMaster;
|
|
|
|
|
using HybirdFrameworkDriver.Session;
|
|
|
|
|
using HybirdFrameworkServices.Plc;
|
|
|
|
|
|
|
|
|
|
namespace Service.Init.Entity
|
|
|
|
|
{
|
|
|
|
|
public class PlcInfo
|
|
|
|
|
{
|
|
|
|
|
#region 字段
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
private string _devNo = "001";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
private string _devname = "换电PLC";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 服务端连接IP
|
|
|
|
|
/// </summary>
|
|
|
|
|
private string _ipaddr = "172.0.20.48";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 服务端连接端口
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int _port = 502;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 站号
|
|
|
|
|
/// </summary>
|
|
|
|
|
private byte _site = 0x01;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 连接超时时间。单位秒
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int _connecttimeout = 10;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 保持活跃时间。单位秒
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int _keepalive = 30;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 连接状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
private ConnectState _connect_state = ConnectState.Disconnect;
|
|
|
|
|
|
|
|
|
|
#endregion 字段
|
|
|
|
|
|
|
|
|
|
public string ChannelId;
|
|
|
|
|
|
|
|
|
|
public int EqmSn;
|
|
|
|
|
|
|
|
|
|
public HostToPlc hostToPlc = new HostToPlc();
|
|
|
|
|
public PlcToHost plcToHost = new PlcToHost();
|
|
|
|
|
public PlcFault plcFault = new PlcFault();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public PlcInfo(string channelId, int eqmSn)
|
|
|
|
|
{
|
|
|
|
|
ChannelId = channelId;
|
|
|
|
|
EqmSn = eqmSn;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool WriteUint16(ModbusProperty<UInt16> value)
|
|
|
|
|
{
|
|
|
|
|
bool bResult = false;
|
|
|
|
|
ModbusSession session = SessionMgr.GetModbusSession(ChannelId);
|
|
|
|
|
bResult = session.Write<UInt16>(value);
|
|
|
|
|
return bResult;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool Writeint16(ModbusProperty<Int16> value)
|
|
|
|
|
{
|
|
|
|
|
bool bResult = false;
|
|
|
|
|
ModbusSession session = SessionMgr.GetModbusSession(ChannelId);
|
|
|
|
|
bResult = session.Write<Int16>(value);
|
|
|
|
|
return bResult;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|