2017-2-8 update 1 Add interfaces.

This commit is contained in:
parallelbgls
2017-02-08 15:42:22 +08:00
parent b378fa1861
commit a3fcf6798f
21 changed files with 214 additions and 109 deletions

View File

@@ -14,7 +14,7 @@ namespace Modbus.Net.OPC
#region
public class ReadRequestOpcInputStruct : InputStruct
public class ReadRequestOpcInputStruct : IInputStruct
{
public ReadRequestOpcInputStruct(string tag)
{
@@ -24,7 +24,7 @@ namespace Modbus.Net.OPC
public string Tag { get; }
}
public class ReadRequestOpcOutputStruct : OutputStruct
public class ReadRequestOpcOutputStruct : IOutputStruct
{
public ReadRequestOpcOutputStruct(byte[] value)
{
@@ -34,15 +34,15 @@ namespace Modbus.Net.OPC
public byte[] GetValue { get; private set; }
}
public class ReadRequestOpcProtocal : SpecialProtocalUnit
public class ReadRequestOpcProtocal : ProtocalUnit, ISpecialProtocalUnit
{
public override byte[] Format(InputStruct message)
public override byte[] Format(IInputStruct message)
{
var r_message = (ReadRequestOpcInputStruct) message;
return Format((byte) 0x00, Encoding.UTF8.GetBytes(r_message.Tag));
}
public override OutputStruct Unformat(byte[] messageBytes, ref int pos)
public override IOutputStruct Unformat(byte[] messageBytes, ref int pos)
{
return new ReadRequestOpcOutputStruct(messageBytes);
}
@@ -52,7 +52,7 @@ namespace Modbus.Net.OPC
#region
public class WriteRequestOpcInputStruct : InputStruct
public class WriteRequestOpcInputStruct : IInputStruct
{
public WriteRequestOpcInputStruct(string tag, object setValue)
{
@@ -64,7 +64,7 @@ namespace Modbus.Net.OPC
public object SetValue { get; }
}
public class WriteRequestOpcOutputStruct : OutputStruct
public class WriteRequestOpcOutputStruct : IOutputStruct
{
public WriteRequestOpcOutputStruct(bool writeResult)
{
@@ -74,9 +74,9 @@ namespace Modbus.Net.OPC
public bool WriteResult { get; private set; }
}
public class WriteRequestOpcProtocal : SpecialProtocalUnit
public class WriteRequestOpcProtocal : ProtocalUnit, ISpecialProtocalUnit
{
public override byte[] Format(InputStruct message)
public override byte[] Format(IInputStruct message)
{
var r_message = (WriteRequestOpcInputStruct) message;
var tag = Encoding.UTF8.GetBytes(r_message.Tag);
@@ -84,7 +84,7 @@ namespace Modbus.Net.OPC
return Format((byte) 0x01, tag, 0x00ffff00, fullName, 0x00ffff00, r_message.SetValue);
}
public override OutputStruct Unformat(byte[] messageBytes, ref int pos)
public override IOutputStruct Unformat(byte[] messageBytes, ref int pos)
{
var ansByte = BigEndianValueHelper.Instance.GetByte(messageBytes, ref pos);
var ans = ansByte != 0;