using HslCommunication.Profinet.AllenBradley; using System; namespace WCS.Service.PLCAccessors { /// /// 汇川 /// TODO 具体内容需要重构,暂时使用AB基类 /// public class HuiChuangPLC : AllenBradleyNet { public AllenBradleyNet plc; public HuiChuangPLC(string ipAddress) { plc = new AllenBradleyNet(ipAddress); } public byte[] ReadBytes(ushort db, ushort address, ushort length) { var addr = "DB" + db + "." + address; var res = plc.Read(addr, length); if (res.IsSuccess) return res.Content; throw new Exception("读取PLC数据失败:" + res.Message); } public void WriteBytes(ushort db, ushort address, byte[] data) { var start = db + address / 2; var res = plc.Write("D" + start, data); if (!res.IsSuccess) throw new Exception("写入PLC数据失败:" + res.Message); } } }