Add IConnector

This commit is contained in:
parallelbgls
2017-06-01 18:37:13 +08:00
parent d425ff2715
commit b66eeb7c09
5 changed files with 72 additions and 4 deletions

View File

@@ -5,7 +5,7 @@
<AssemblyName>Modbus.Net.Core</AssemblyName> <AssemblyName>Modbus.Net.Core</AssemblyName>
<RootNamespace>Modbus.Net</RootNamespace> <RootNamespace>Modbus.Net</RootNamespace>
<PackageId>Modbus.Net.Core</PackageId> <PackageId>Modbus.Net.Core</PackageId>
<Version>1.3.8-beta2</Version> <Version>1.3.8-beta3</Version>
<Product>Modbus.Net</Product> <Product>Modbus.Net</Product>
<Authors>Chris L.(Luo Sheng)</Authors> <Authors>Chris L.(Luo Sheng)</Authors>
<Company>Hangzhou Delian IoT Science Technology Co.,Ltd.</Company> <Company>Hangzhou Delian IoT Science Technology Co.,Ltd.</Company>
@@ -49,6 +49,7 @@
<Compile Include="..\src\Base.Common\IUtilityMethod.cs" Link="IUtilityMethod.cs" /> <Compile Include="..\src\Base.Common\IUtilityMethod.cs" Link="IUtilityMethod.cs" />
<Compile Include="..\src\Base.Common\IMachineMethod.cs" Link="IMachineMethod.cs" /> <Compile Include="..\src\Base.Common\IMachineMethod.cs" Link="IMachineMethod.cs" />
<Compile Include="..\src\Base.Common\TypeExtensions.cs" Link="TypeExtensions.cs" /> <Compile Include="..\src\Base.Common\TypeExtensions.cs" Link="TypeExtensions.cs" />
<Compile Include="..\src\Base.Common\IConnector.cs" Link="IConnector.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -5,7 +5,7 @@
<AssemblyName>Modbus.Net</AssemblyName> <AssemblyName>Modbus.Net</AssemblyName>
<RootNamespace>Modbus.Net</RootNamespace> <RootNamespace>Modbus.Net</RootNamespace>
<PackageId>Modbus.Net</PackageId> <PackageId>Modbus.Net</PackageId>
<Version>1.3.8-beta1</Version> <Version>1.3.8-beta2</Version>
<Product>Modbus.Net</Product> <Product>Modbus.Net</Product>
<Authors>Chris L.(Luo Sheng)</Authors> <Authors>Chris L.(Luo Sheng)</Authors>
<Company>Hangzhou Delian IoT Science Technology Co.,Ltd.</Company> <Company>Hangzhou Delian IoT Science Technology Co.,Ltd.</Company>
@@ -48,6 +48,7 @@
<Compile Include="..\src\Base.Common\IUtilityMethod.cs" Link="IUtilityMethod.cs" /> <Compile Include="..\src\Base.Common\IUtilityMethod.cs" Link="IUtilityMethod.cs" />
<Compile Include="..\src\Base.Common\IMachineMethod.cs" Link="IMachineMethod.cs" /> <Compile Include="..\src\Base.Common\IMachineMethod.cs" Link="IMachineMethod.cs" />
<Compile Include="..\src\Base.Common\TypeExtensions.cs" Link="TypeExtensions.cs" /> <Compile Include="..\src\Base.Common\TypeExtensions.cs" Link="TypeExtensions.cs" />
<Compile Include="..\src\Base.Common\IConnector.cs" Link="IConnector.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -12,7 +12,7 @@ namespace Modbus.Net
/// <summary> /// <summary>
/// 基础的协议连接类 /// 基础的协议连接类
/// </summary> /// </summary>
public abstract class BaseConnector<TParamIn, TParamOut> public abstract class BaseConnector<TParamIn, TParamOut> : IConnector<TParamIn, TParamOut>
{ {
/// <summary> /// <summary>
/// 标识Connector的连接关键字 /// 标识Connector的连接关键字

View File

@@ -0,0 +1,66 @@
using System.Threading.Tasks;
namespace Modbus.Net
{
/// <summary>
/// 基础的协议连接接口
/// </summary>
public interface IConnector<TParamIn, TParamOut>
{
/// <summary>
/// 标识Connector的连接关键字
/// </summary>
string ConnectionToken { get; }
/// <summary>
/// 是否处于连接状态
/// </summary>
bool IsConnected { get; }
/// <summary>
/// 连接PLC
/// </summary>
/// <returns>是否连接成功</returns>
bool Connect();
/// <summary>
/// 连接PLC异步
/// </summary>
/// <returns>是否连接成功</returns>
Task<bool> ConnectAsync();
/// <summary>
/// 断开PLC
/// </summary>
/// <returns>是否断开成功</returns>
bool Disconnect();
/// <summary>
/// 无返回发送数据
/// </summary>
/// <param name="message">需要发送的数据</param>
/// <returns>是否发送成功</returns>
bool SendMsgWithoutReturn(TParamIn message);
/// <summary>
/// 无返回发送数据
/// </summary>
/// <param name="message">需要发送的数据</param>
/// <returns>是否发送成功</returns>
Task<bool> SendMsgWithoutReturnAsync(TParamIn message);
/// <summary>
/// 带返回发送数据
/// </summary>
/// <param name="message">需要发送的数据</param>
/// <returns>是否发送成功</returns>
TParamOut SendMsg(TParamIn message);
/// <summary>
/// 带返回发送数据
/// </summary>
/// <param name="message">需要发送的数据</param>
/// <returns>是否发送成功</returns>
Task<TParamOut> SendMsgAsync(TParamIn message);
}
}

View File

@@ -76,7 +76,7 @@ namespace Modbus.Net
/// <summary> /// <summary>
/// 传输连接器 /// 传输连接器
/// </summary> /// </summary>
protected BaseConnector<TParamIn, TParamOut> BaseConnector; protected IConnector<TParamIn, TParamOut> BaseConnector;
/// <summary> /// <summary>
/// 连接设备 /// 连接设备