Fix
This commit is contained in:
@@ -12,11 +12,10 @@ namespace Modbus.Net
|
|||||||
/// 添加一个Controller
|
/// 添加一个Controller
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="protocolLinker">ProtocolLinker实例</param>
|
/// <param name="protocolLinker">ProtocolLinker实例</param>
|
||||||
/// <param name="param1">第一参数</param>
|
/// <param name="constructorParams">参数</param>
|
||||||
/// <param name="param2">第二参数</param>
|
|
||||||
/// <param name="connector">Connector实例</param>
|
/// <param name="connector">Connector实例</param>
|
||||||
/// <exception cref="NotImplementedException">如果没有发现控制器,报错</exception>
|
/// <exception cref="NotImplementedException">如果没有发现控制器,报错</exception>
|
||||||
public static void AddController(this IProtocolLinker<byte[], byte[]> protocolLinker, string param1, int param2, IConnector<byte[], byte[]> connector)
|
public static void AddController(this IProtocolLinker<byte[], byte[]> protocolLinker, object[] constructorParams, IConnector<byte[], byte[]> connector)
|
||||||
{
|
{
|
||||||
IController controller = null;
|
IController controller = null;
|
||||||
var assemblies = AssemblyHelper.GetAllLibraryAssemblies();
|
var assemblies = AssemblyHelper.GetAllLibraryAssemblies();
|
||||||
@@ -26,7 +25,7 @@ namespace Modbus.Net
|
|||||||
var controllerType = assembly.GetType(assembly.GetName().Name + "." + controllerName);
|
var controllerType = assembly.GetType(assembly.GetName().Name + "." + controllerName);
|
||||||
if (controllerType != null)
|
if (controllerType != null)
|
||||||
{
|
{
|
||||||
controller = assembly.CreateInstance(controllerType.FullName, true, BindingFlags.Default, null, new object[2] { param1, param2 }, null, null) as IController;
|
controller = assembly.CreateInstance(controllerType.FullName, true, BindingFlags.Default, null, constructorParams, null, null) as IController;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace Modbus.Net
|
|||||||
connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "ConnectionTimeout"));
|
connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "ConnectionTimeout"));
|
||||||
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "FullDuplex"));
|
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "FullDuplex"));
|
||||||
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate.Value, parity.Value, stopBits.Value, dataBits.Value, handshake.Value, connectionTimeout.Value, isFullDuplex.Value);
|
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate.Value, parity.Value, stopBits.Value, dataBits.Value, handshake.Value, connectionTimeout.Value, isFullDuplex.Value);
|
||||||
this.AddController(com, slaveAddress, BaseConnector);
|
this.AddController(new object[2] { com, slaveAddress }, BaseConnector);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "FullDuplex"));
|
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "FullDuplex"));
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new TcpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value);
|
BaseConnector = new TcpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value);
|
||||||
this.AddController(ip, port, BaseConnector);
|
this.AddController(new object[2] { ip, port }, BaseConnector);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("UDP:" + ip + ":" + port, "FullDuplex"));
|
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("UDP:" + ip + ":" + port, "FullDuplex"));
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new UdpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value);
|
BaseConnector = new UdpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value);
|
||||||
this.AddController(ip, port, BaseConnector);
|
this.AddController(new object[2] { ip, port }, BaseConnector);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user