Fix
This commit is contained in:
@@ -12,11 +12,10 @@ namespace Modbus.Net
|
||||
/// 添加一个Controller
|
||||
/// </summary>
|
||||
/// <param name="protocolLinker">ProtocolLinker实例</param>
|
||||
/// <param name="param1">第一参数</param>
|
||||
/// <param name="param2">第二参数</param>
|
||||
/// <param name="constructorParams">参数</param>
|
||||
/// <param name="connector">Connector实例</param>
|
||||
/// <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;
|
||||
var assemblies = AssemblyHelper.GetAllLibraryAssemblies();
|
||||
@@ -26,7 +25,7 @@ namespace Modbus.Net
|
||||
var controllerType = assembly.GetType(assembly.GetName().Name + "." + controllerName);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Modbus.Net
|
||||
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"));
|
||||
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"));
|
||||
//初始化连接对象
|
||||
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"));
|
||||
//初始化连接对象
|
||||
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