using IoTClient.Clients.PLC; using IoTClient.Enums; using IoTClient.Interfaces; using System.Collections.Generic; namespace IoTClient.Extensions.Adapter { public class MitsubishiClientCommunication : IIoTClientCommon { private IEthernetClient client; public string DeviceVersion { get; } public bool IsConnected => client.Connected; public string ConnectionInfo => client.IpEndPoint.ToString(); public MitsubishiClientCommunication(MitsubishiVersion version, string ip, int port, int timeout = 1500) { switch (version) { case MitsubishiVersion.A_1E: DeviceVersion = EthernetDeviceVersion.Mitsubishi_A_1E.ToString(); break; case MitsubishiVersion.Qna_3E: DeviceVersion = EthernetDeviceVersion.Mitsubishi_Qna_3E.ToString(); break; } client = new MitsubishiClient(version, ip, port, timeout); } public Result> BatchRead(Dictionary addresses, int batchNumber) { return client.BatchRead(addresses, batchNumber); } public Result BatchWrite(Dictionary addresses, int batchNumber) { return client.BatchWrite(addresses, batchNumber); } public Result Close() { return client.Close(); } public Result Open() { return client.Open(); } public Result ReadBoolean(string address) { return client.ReadBoolean(address); } public Result ReadDouble(string address) { return client.ReadDouble(address); } public Result ReadFloat(string address) { return client.ReadFloat(address); } public Result ReadInt16(string address) { return client.ReadInt16(address); } public Result ReadInt32(string address) { return client.ReadInt32(address); } public Result ReadInt64(string address) { return client.ReadInt64(address); } public Result ReadUInt16(string address) { return client.ReadUInt16(address); } public Result ReadUInt32(string address) { return client.ReadUInt32(address); } public Result ReadUInt64(string address) { return client.ReadUInt64(address); } public Result Write(string address, byte value) { return client.Write(address, value); } public Result Write(string address, bool value) { return client.Write(address, value); } public Result Write(string address, sbyte value) { return client.Write(address, value); } public Result Write(string address, ushort value) { return client.Write(address, value); } public Result Write(string address, short value) { return client.Write(address, value); } public Result Write(string address, uint value) { return client.Write(address, value); } public Result Write(string address, int value) { return client.Write(address, value); } public Result Write(string address, ulong value) { return client.Write(address, value); } public Result Write(string address, long value) { return client.Write(address, value); } public Result Write(string address, float value) { return client.Write(address, value); } public Result Write(string address, double value) { return client.Write(address, value); } public Result Write(string address, object value, DataTypeEnum dataType) { return client.Write(address, value, dataType); } } }