2016-04-30 update 1 version 1.1.1 add port support in modbus and siemens tcp connection.

This commit is contained in:
parallelbgls@outlook.com
2016-04-30 10:59:32 +08:00
parent d8ce64f22f
commit 668bbf8fcf
10 changed files with 92 additions and 9 deletions

View File

@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>Modbus.Net.Modbus</id>
<version>1.1.0</version>
<version>1.1.1</version>
<title>Modbus.Net.Modbus</title>
<authors>Chris L.(Luo Sheng)</authors>
<owners>Hangzhou Delian Information and Science Technology Co.,Ltd.</owners>

View File

@@ -13,5 +13,10 @@
{
ProtocalLinker = new ModbusTcpProtocalLinker(ip);
}
public ModbusTcpProtocal(string ip, int port)
{
ProtocalLinker = new ModbusTcpProtocalLinker(ip, port);
}
}
}

View File

@@ -22,5 +22,10 @@
{
}
public ModbusTcpProtocalLinker(string ip, int port) : base(ip, port)
{
}
}
}

View File

@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using System;
using System.Threading.Tasks;
namespace Modbus.Net.Modbus
{
@@ -21,6 +22,34 @@ namespace Modbus.Net.Modbus
{
private ModbusType _modbusType;
protected string ConnectionStringIp
{
get
{
if (ConnectionString == null) return null;
return ConnectionString.Contains(":") ? ConnectionString.Split(':')[0] : ConnectionString;
}
}
protected int? ConnectionStringPort
{
get
{
if (ConnectionString == null) return null;
if (!ConnectionString.Contains(":")) return null;
var connectionStringSplit = ConnectionString.Split(':');
try
{
return connectionStringSplit.Length < 2 ? (int?)null : int.Parse(connectionStringSplit[1]);
}
catch
{
return null;
}
}
}
public ModbusType ModbusType
{
get
@@ -39,7 +68,7 @@ namespace Modbus.Net.Modbus
}
case ModbusType.Tcp:
{
Wrapper = ConnectionString == null ? new ModbusTcpProtocal() : new ModbusTcpProtocal(ConnectionString);
Wrapper = ConnectionString == null ? new ModbusTcpProtocal() : (ConnectionStringPort == null ? new ModbusTcpProtocal(ConnectionString) : new ModbusTcpProtocal(ConnectionStringIp,ConnectionStringPort.Value));
break;
}
}