using HslCommunication.Profinet.AllenBradley; using System; namespace WCS.Service.PLCAccessors { public class AllenBradleyPLC : AllenBradleyNet { public AllenBradleyNet plc; public AllenBradleyPLC(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); } } }