2018-01-08 Update 1 Add duplex param in linker
This commit is contained in:
@@ -13,7 +13,7 @@ namespace Modbus.Net.Modbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ip">IP地址</param>
|
/// <param name="ip">IP地址</param>
|
||||||
public ModbusAsciiInTcpProtocolLinker(string ip)
|
public ModbusAsciiInTcpProtocolLinker(string ip)
|
||||||
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"))
|
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"), false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace Modbus.Net.Modbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ip">IP地址</param>
|
/// <param name="ip">IP地址</param>
|
||||||
public ModbusAsciiInUdpProtocolLinker(string ip)
|
public ModbusAsciiInUdpProtocolLinker(string ip)
|
||||||
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"))
|
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"), false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace Modbus.Net.Modbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ip">IP地址</param>
|
/// <param name="ip">IP地址</param>
|
||||||
public ModbusRtuInTcpProtocolLinker(string ip)
|
public ModbusRtuInTcpProtocolLinker(string ip)
|
||||||
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"))
|
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"), false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace Modbus.Net.Modbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ip">IP地址</param>
|
/// <param name="ip">IP地址</param>
|
||||||
public ModbusRtuInUdpProtocolLinker(string ip)
|
public ModbusRtuInUdpProtocolLinker(string ip)
|
||||||
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"))
|
: base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"] ?? "502"), false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ namespace Modbus.Net
|
|||||||
/// <param name="ipaddress">Ip地址</param>
|
/// <param name="ipaddress">Ip地址</param>
|
||||||
/// <param name="port">端口</param>
|
/// <param name="port">端口</param>
|
||||||
/// <param name="timeoutTime">超时时间</param>
|
/// <param name="timeoutTime">超时时间</param>
|
||||||
public TcpConnector(string ipaddress, int port, int timeoutTime = 10000) : base(timeoutTime)
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
|
public TcpConnector(string ipaddress, int port, int timeoutTime = 10000, bool isFullDuplex = true) : base(timeoutTime, isFullDuplex)
|
||||||
{
|
{
|
||||||
_host = ipaddress;
|
_host = ipaddress;
|
||||||
_port = port;
|
_port = port;
|
||||||
|
|||||||
@@ -39,7 +39,8 @@ namespace Modbus.Net
|
|||||||
/// <param name="ipaddress">Ip地址</param>
|
/// <param name="ipaddress">Ip地址</param>
|
||||||
/// <param name="port">端口</param>
|
/// <param name="port">端口</param>
|
||||||
/// <param name="timeoutTime">超时时间</param>
|
/// <param name="timeoutTime">超时时间</param>
|
||||||
public UdpConnector(string ipaddress, int port, int timeoutTime = 10000) : base(timeoutTime)
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
|
public UdpConnector(string ipaddress, int port, int timeoutTime = 10000, bool isFullDuplex = true) : base(timeoutTime, isFullDuplex)
|
||||||
{
|
{
|
||||||
_host = ipaddress;
|
_host = ipaddress;
|
||||||
_port = port;
|
_port = port;
|
||||||
|
|||||||
@@ -30,11 +30,12 @@ namespace Modbus.Net
|
|||||||
/// <param name="stopBits">停止位</param>
|
/// <param name="stopBits">停止位</param>
|
||||||
/// <param name="dataBits">数据位</param>
|
/// <param name="dataBits">数据位</param>
|
||||||
/// <param name="slaveAddress">从站地址</param>
|
/// <param name="slaveAddress">从站地址</param>
|
||||||
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
protected ComProtocolLinker(string com, int baudRate, Parity parity, StopBits stopBits, int dataBits,
|
protected ComProtocolLinker(string com, int baudRate, Parity parity, StopBits stopBits, int dataBits,
|
||||||
int slaveAddress)
|
int slaveAddress, bool isFullDuplex = false)
|
||||||
: this(
|
: this(
|
||||||
com, baudRate, parity, stopBits, dataBits,
|
com, baudRate, parity, stopBits, dataBits,
|
||||||
int.Parse(ConfigurationManager.AppSettings["ComConnectionTimeout"] ?? "-1"), slaveAddress)
|
int.Parse(ConfigurationManager.AppSettings["ComConnectionTimeout"] ?? "-1"), slaveAddress, isFullDuplex)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,17 +49,18 @@ namespace Modbus.Net
|
|||||||
/// <param name="dataBits">数据位</param>
|
/// <param name="dataBits">数据位</param>
|
||||||
/// <param name="connectionTimeout">超时时间</param>
|
/// <param name="connectionTimeout">超时时间</param>
|
||||||
/// <param name="slaveAddress">从站地址</param>
|
/// <param name="slaveAddress">从站地址</param>
|
||||||
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
protected ComProtocolLinker(string com, int baudRate, Parity parity, StopBits stopBits, int dataBits,
|
protected ComProtocolLinker(string com, int baudRate, Parity parity, StopBits stopBits, int dataBits,
|
||||||
int connectionTimeout, int slaveAddress)
|
int connectionTimeout, int slaveAddress, bool isFullDuplex = false)
|
||||||
{
|
{
|
||||||
if (connectionTimeout == -1)
|
if (connectionTimeout == -1)
|
||||||
{
|
{
|
||||||
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate, parity, stopBits, dataBits);
|
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate, parity, stopBits, dataBits, isFullDuplex:isFullDuplex);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate, parity, stopBits, dataBits,
|
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate, parity, stopBits, dataBits,
|
||||||
connectionTimeout);
|
connectionTimeout, isFullDuplex:isFullDuplex);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,9 @@ namespace Modbus.Net
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ip">Ip地址</param>
|
/// <param name="ip">Ip地址</param>
|
||||||
/// <param name="port">端口</param>
|
/// <param name="port">端口</param>
|
||||||
protected TcpProtocolLinker(string ip, int port)
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
: this(ip, port, int.Parse(ConfigurationManager.AppSettings["IPConnectionTimeout"] ?? "-1"))
|
protected TcpProtocolLinker(string ip, int port, bool isFullDuplex = true)
|
||||||
|
: this(ip, port, int.Parse(ConfigurationManager.AppSettings["IPConnectionTimeout"] ?? "-1"), isFullDuplex)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,17 +32,18 @@ namespace Modbus.Net
|
|||||||
/// <param name="ip">Ip地址</param>
|
/// <param name="ip">Ip地址</param>
|
||||||
/// <param name="port">端口</param>
|
/// <param name="port">端口</param>
|
||||||
/// <param name="connectionTimeout">超时时间</param>
|
/// <param name="connectionTimeout">超时时间</param>
|
||||||
protected TcpProtocolLinker(string ip, int port, int connectionTimeout)
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
|
protected TcpProtocolLinker(string ip, int port, int connectionTimeout, bool isFullDuplex = true)
|
||||||
{
|
{
|
||||||
if (connectionTimeout == -1)
|
if (connectionTimeout == -1)
|
||||||
{
|
{
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new TcpConnector(ip, port);
|
BaseConnector = new TcpConnector(ip, port, isFullDuplex:isFullDuplex);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new TcpConnector(ip, port, connectionTimeout);
|
BaseConnector = new TcpConnector(ip, port, connectionTimeout, isFullDuplex:isFullDuplex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,9 @@ namespace Modbus.Net
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ip">Ip地址</param>
|
/// <param name="ip">Ip地址</param>
|
||||||
/// <param name="port">端口</param>
|
/// <param name="port">端口</param>
|
||||||
protected UdpProtocolLinker(string ip, int port)
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
: this(ip, port, int.Parse(ConfigurationManager.AppSettings["IPConnectionTimeout"] ?? "-1"))
|
protected UdpProtocolLinker(string ip, int port, bool isFullDuplex = true)
|
||||||
|
: this(ip, port, int.Parse(ConfigurationManager.AppSettings["IPConnectionTimeout"] ?? "-1"), isFullDuplex)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,17 +32,18 @@ namespace Modbus.Net
|
|||||||
/// <param name="ip">Ip地址</param>
|
/// <param name="ip">Ip地址</param>
|
||||||
/// <param name="port">端口</param>
|
/// <param name="port">端口</param>
|
||||||
/// <param name="connectionTimeout">超时时间</param>
|
/// <param name="connectionTimeout">超时时间</param>
|
||||||
protected UdpProtocolLinker(string ip, int port, int connectionTimeout)
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
|
protected UdpProtocolLinker(string ip, int port, int connectionTimeout, bool isFullDuplex = true)
|
||||||
{
|
{
|
||||||
if (connectionTimeout == -1)
|
if (connectionTimeout == -1)
|
||||||
{
|
{
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new UdpConnector(ip, port);
|
BaseConnector = new UdpConnector(ip, port, isFullDuplex:isFullDuplex);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new UdpConnector(ip, port, connectionTimeout);
|
BaseConnector = new UdpConnector(ip, port, connectionTimeout, isFullDuplex:isFullDuplex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user