using System.ServiceModel; namespace MECF.Framework.Common.PLC { [ServiceContract] [ServiceKnownType(typeof(float[]))] [ServiceKnownType(typeof(bool[]))] [ServiceKnownType(typeof(int[]))] [ServiceKnownType(typeof(byte[]))] [ServiceKnownType(typeof(double[]))] public interface IWcfPlcService { [OperationContract] int Heartbeat(int counter); [OperationContract] bool Read(string variable, out object data, string type, int length, out string reason); [OperationContract] bool WriteArrayElement(string variable, int index, object value, out string reason); [OperationContract] bool[] ReadDi(int offset, int size, out string reason); [OperationContract] float[] ReadAiFloat(int offset, int size, out string reason); [OperationContract] int[] ReadAiInt(int offset, int size, out string reason); [OperationContract] bool WriteDo(int offset, bool[] buffer, out string reason); [OperationContract] bool WriteAoFloat(int offset, float[] buffer, out string reason); [OperationContract] bool WriteAoInt(int offset, int[] buffer, out string reason); } }