2017-2-8 update 1 Add interfaces.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user