using System.IO.Ports; using DH.Commons.Enums; using HslCommunication; namespace DH.Devices.PLC { public class PLCBase { /// <summary> /// 连接状态 /// </summary> public bool connected = false; /// <summary> /// 类型 /// </summary> public EnumPLCType PLCType=EnumPLCType.信捷XD_网口; /// <summary> /// 串口号 /// </summary> public string portName="COM1"; /// <summary> /// 波特率 /// </summary> public int baudRate = 9600; /// <summary> /// 数据位 /// </summary> public int dataBit = 8; /// <summary> /// 停止位 /// </summary> public StopBits stopBit = (StopBits)Enum.Parse(typeof(StopBits), "One"); /// <summary> /// 奇偶效验位 /// </summary> public Parity parity = (Parity)Enum.Parse(typeof(Parity), "None"); /// <summary> /// IP地址 /// </summary> public string IP = "192.168.6.6"; /// <summary> /// 端口号 /// </summary> public int Port = 502; /// <summary> /// 初始化 /// </summary> /// <returns></returns> public virtual bool PLCConnect() { return false; } public virtual bool PLCDisConnect() { return false; } public virtual ushort ReadShort(string address) { return 0; } public virtual int ReadInt(string address) { return 0; } public virtual float ReadFloat(string address) { return 0; } public virtual bool ReadBool(string address) { return false; } public virtual bool WriteShort(string address, short value, bool waitForReply = true) { return false; } public virtual bool WriteInt(string address, int value, bool waitForReply = true) { return false; } public virtual bool WriteDInt(string address, int value, bool waitForReply = true) { return false; } public virtual bool WriteFloat(string address, float value, bool waitForReply = true) { return false; } public virtual bool WriteBool(string address, bool value, bool waitForReply = true) { return false; } } }