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 HslCommunication;
|
|
|
|
|
using HslCommunication.ModBus;
|
|
|
|
|
using HybirdFrameworkDriver.ModbusTcpMaster;
|
|
|
|
|
using HybirdFrameworkDriver.TcpServer;
|
|
|
|
|
using HybirdFrameworkServices.Plc;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace HybirdFrameworkServices.Init.Entity
|
|
|
|
|
{
|
|
|
|
|
public class PlcInfo
|
|
|
|
|
{
|
|
|
|
|
#region 字段
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ModbusTcp客户端
|
|
|
|
|
/// </summary>
|
|
|
|
|
//public ModbusTcpNet _client = null;
|
|
|
|
|
/// <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.NOCONNECT;
|
|
|
|
|
#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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|