diff --git a/Modbus.Net/Modbus.Net.Core/App.config b/Modbus.Net/Modbus.Net.Core/App.config
deleted file mode 100644
index 44dba52..0000000
--- a/Modbus.Net/Modbus.Net.Core/App.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj b/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj
deleted file mode 100644
index 60c2db4..0000000
--- a/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
- netstandard2.0
- Modbus.Net.Core
- Modbus.Net
- Modbus.Net.Core
- 1.4.1
- Modbus.Net
- Chris L.(Luo Sheng)
- Hangzhou Delian IoT Science Technology Co.,Ltd.
- https://github.com/parallelbgls/Modbus.Net/blob/master/LICENSE.md
- https://github.com/parallelbgls/Modbus.Net/tree/master/Modbus.Net
- https://github.com/parallelbgls/Modbus.Net/
- High extensible hardware communication implementation platform.
- Copyright 2017 Hangzhou Delian IoT Science Technology Co.,Ltd.
- hardware communicate protocal Delian
- git
- False
- True
- True
- True
-
-
-
- bin\Debug\netstandard2.0\Modbus.Net.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Modbus.Net/Modbus.Net.Modbus.Core/Modbus.Net.Modbus.Core.csproj b/Modbus.Net/Modbus.Net.Modbus.Core/Modbus.Net.Modbus.Core.csproj
deleted file mode 100644
index da30280..0000000
--- a/Modbus.Net/Modbus.Net.Modbus.Core/Modbus.Net.Modbus.Core.csproj
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
- netstandard2.0
- Modbus.Net.Modbus.Core
- Modbus.Net.Modbus
- Modbus.Net.Modbus.Core
- 1.4.1
- Chris L.(Luo Sheng)
- Hangzhou Delian IoT Science Technology Co.,Ltd.
- Modbus.Net.Modbus
- Modbus.Net Modbus Implementation
- Copyright 2017 Hangzhou Delian IoT Science Technology Co.,Ltd.
- https://github.com/parallelbgls/Modbus.Net/blob/master/LICENSE.md
- https://github.com/parallelbgls/Modbus.Net/tree/master/Modbus.Net/Modbus.Net.Modbus
- https://github.com/parallelbgls/Modbus.Net
- git
- hardware communicate protocal modbus Delian
- False
- True
- True
- True
-
-
-
- bin\Debug\netstandard2.0\Modbus.Net.Modbus.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Modbus.Net/src/Modbus.Common/AddressFormaterModbus.cs b/Modbus.Net/Modbus.Net.Modbus/AddressFormaterModbus.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/AddressFormaterModbus.cs
rename to Modbus.Net/Modbus.Net.Modbus/AddressFormaterModbus.cs
diff --git a/Modbus.Net/src/Modbus.Common/AddressTranslatorModbus.cs b/Modbus.Net/Modbus.Net.Modbus/AddressTranslatorModbus.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/AddressTranslatorModbus.cs
rename to Modbus.Net/Modbus.Net.Modbus/AddressTranslatorModbus.cs
diff --git a/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj b/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj
index 0a04c10..9069ff2 100644
--- a/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj
+++ b/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj
@@ -1,7 +1,7 @@
- net45
+ net45;netstandard20
Modbus.Net.Modbus
Modbus.Net.Modbus
Modbus.Net.Modbus
@@ -30,30 +30,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/Modbus.Net/src/Modbus.Common/ModbusAsciiInTcpProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusAsciiInTcpProtocal.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocal.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusAsciiInTcpProtocalLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocalLinker.cs
similarity index 95%
rename from Modbus.Net/src/Modbus.Common/ModbusAsciiInTcpProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocalLinker.cs
index a428838..1467900 100644
--- a/Modbus.Net/src/Modbus.Common/ModbusAsciiInTcpProtocalLinker.cs
+++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocalLinker.cs
@@ -25,6 +25,7 @@ namespace Modbus.Net.Modbus
public ModbusAsciiInTcpProtocalLinker(string ip, int port)
: base(ip, port)
{
+ ((BaseConnector)BaseConnector).AddController(new FIFOController(500));
}
///
diff --git a/Modbus.Net/src/Modbus.Common/ModbusAsciiProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusAsciiProtocal.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocal.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusAsciiProtocalLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocalLinker.cs
similarity index 94%
rename from Modbus.Net/src/Modbus.Common/ModbusAsciiProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocalLinker.cs
index 1b45171..28a5028 100644
--- a/Modbus.Net/src/Modbus.Common/ModbusAsciiProtocalLinker.cs
+++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocalLinker.cs
@@ -16,6 +16,7 @@ namespace Modbus.Net.Modbus
public ModbusAsciiProtocalLinker(string com, int slaveAddress)
: base(com, 9600, Parity.None, StopBits.One, 8, slaveAddress)
{
+ ((BaseConnector)BaseConnector).AddController(new FIFOController(500));
}
///
diff --git a/Modbus.Net/src/Modbus.Common/ModbusMachine.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusMachine.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusProtocal.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusProtocal.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusProtocalLinkerBytesExtend.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusProtocalLinkerBytesExtend.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusProtocalLinkerBytesExtend.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusProtocalLinkerBytesExtend.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusRtuInTcpProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusRtuInTcpProtocal.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocal.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusRtuInTcpProtocalLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocalLinker.cs
similarity index 94%
rename from Modbus.Net/src/Modbus.Common/ModbusRtuInTcpProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocalLinker.cs
index 264e035..896178c 100644
--- a/Modbus.Net/src/Modbus.Common/ModbusRtuInTcpProtocalLinker.cs
+++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocalLinker.cs
@@ -24,6 +24,7 @@ namespace Modbus.Net.Modbus
public ModbusRtuInTcpProtocalLinker(string ip, int port)
: base(ip, port)
{
+ ((BaseConnector)BaseConnector).AddController(new FIFOController(500));
}
///
diff --git a/Modbus.Net/src/Modbus.Common/ModbusRtuProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusRtuProtocal.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocal.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusRtuProtocalLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocalLinker.cs
similarity index 93%
rename from Modbus.Net/src/Modbus.Common/ModbusRtuProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocalLinker.cs
index 7c58088..06f71fb 100644
--- a/Modbus.Net/src/Modbus.Common/ModbusRtuProtocalLinker.cs
+++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocalLinker.cs
@@ -15,6 +15,7 @@ namespace Modbus.Net.Modbus
public ModbusRtuProtocalLinker(string com, int slaveAddress)
: base(com, 9600, Parity.None, StopBits.One, 8, slaveAddress)
{
+ ((BaseConnector)BaseConnector).AddController(new FIFOController(500));
}
///
diff --git a/Modbus.Net/src/Modbus.Common/ModbusTcpProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusTcpProtocal.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocal.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusTcpProtocalLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocalLinker.cs
similarity index 100%
rename from Modbus.Net/src/Modbus.Common/ModbusTcpProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocalLinker.cs
diff --git a/Modbus.Net/src/Modbus.Common/ModbusUtility.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs
similarity index 98%
rename from Modbus.Net/src/Modbus.Common/ModbusUtility.cs
rename to Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs
index 5434ce2..f00c194 100644
--- a/Modbus.Net/src/Modbus.Common/ModbusUtility.cs
+++ b/Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs
@@ -142,13 +142,13 @@ namespace Modbus.Net.Modbus
switch (_modbusType)
{
//Rtu协议
- /*case ModbusType.Rtu:
+ case ModbusType.Rtu:
{
Wrapper = ConnectionString == null
? new ModbusRtuProtocal(SlaveAddress, MasterAddress, Endian)
: new ModbusRtuProtocal(ConnectionString, SlaveAddress, MasterAddress, Endian);
break;
- }*/
+ }
//Tcp协议
case ModbusType.Tcp:
{
@@ -160,8 +160,7 @@ namespace Modbus.Net.Modbus
MasterAddress, Endian));
break;
}
- //Ascii协议
- /*
+ //Ascii协议
case ModbusType.Ascii:
{
Wrapper = ConnectionString == null
@@ -191,7 +190,6 @@ namespace Modbus.Net.Modbus
MasterAddress, Endian));
break;
}
- */
}
}
}
diff --git a/Modbus.Net/Modbus.Net.Siemens.Core/Modbus.Net.Siemens.Core.csproj b/Modbus.Net/Modbus.Net.Siemens.Core/Modbus.Net.Siemens.Core.csproj
deleted file mode 100644
index 33bbba5..0000000
--- a/Modbus.Net/Modbus.Net.Siemens.Core/Modbus.Net.Siemens.Core.csproj
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
- netstandard2.0
- Modbus.Net.Siemens.Core
- Modbus.Net.Siemens
- Modbus.Net.Siemens.Core
- 1.4.1
- Chris L.(Luo Sheng)
- Hangzhou Delian IoT Science Technology Co.,Ltd.
- Modbus.Net Siemens Profinet Implementation
- Copyright 2017 Hangzhou Delian IoT Science Technology Co.,Ltd.
- https://github.com/parallelbgls/Modbus.Net/blob/master/LICENSE.md
- https://github.com/parallelbgls/Modbus.Net/tree/master/Modbus.Net/Modbus.Net.Siemens
- https://github.com/parallelbgls/Modbus.Net
- git
- hardware communicate protocal Siemens profinet Delian
- False
- True
- True
- True
-
-
-
- bin\Debug\netstandard2.0\Modbus.Net.Siemens.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Modbus.Net/src/Siemens.Common/AddressFormaterSiemens.cs b/Modbus.Net/Modbus.Net.Siemens/AddressFormaterSiemens.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/AddressFormaterSiemens.cs
rename to Modbus.Net/Modbus.Net.Siemens/AddressFormaterSiemens.cs
diff --git a/Modbus.Net/src/Siemens.Common/AddressTranslatorSiemens.cs b/Modbus.Net/Modbus.Net.Siemens/AddressTranslatorSiemens.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/AddressTranslatorSiemens.cs
rename to Modbus.Net/Modbus.Net.Siemens/AddressTranslatorSiemens.cs
diff --git a/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj b/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj
index b906244..96b7930 100644
--- a/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj
+++ b/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj
@@ -1,7 +1,7 @@
- net45
+ net45;netstandard20
Modbus.Net.Siemens
Modbus.Net.Siemens
Modbus.Net.Siemens
@@ -25,26 +25,11 @@
bin\Debug\net45\Modbus.Net.Siemens.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/Modbus.Net/src/Siemens.Common/SiemensMachine.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/SiemensMachine.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs
diff --git a/Modbus.Net/src/Siemens.Common/SiemensPpiProtocal.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs
similarity index 93%
rename from Modbus.Net/src/Siemens.Common/SiemensPpiProtocal.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs
index fe51273..8311e38 100644
--- a/Modbus.Net/src/Siemens.Common/SiemensPpiProtocal.cs
+++ b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs
@@ -65,15 +65,6 @@ namespace Modbus.Net.Siemens
return await base.SendReceiveAsync(unit, content);
}
- ///
- /// 连接设备
- ///
- /// 是否连接成功
- public override bool Connect()
- {
- return AsyncHelper.RunSync(ConnectAsync);
- }
-
///
/// 连接设备
///
diff --git a/Modbus.Net/src/Siemens.Common/SiemensPpiProtocalLinker.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocalLinker.cs
similarity index 97%
rename from Modbus.Net/src/Siemens.Common/SiemensPpiProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocalLinker.cs
index 01a6ef2..5e04bd0 100644
--- a/Modbus.Net/src/Siemens.Common/SiemensPpiProtocalLinker.cs
+++ b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocalLinker.cs
@@ -17,6 +17,7 @@ namespace Modbus.Net.Siemens
public SiemensPpiProtocalLinker(string com, int slaveAddress)
: base(com, 9600, Parity.Even, StopBits.One, 8, slaveAddress)
{
+ ((BaseConnector)BaseConnector).AddController(new FIFOController(500));
}
///
diff --git a/Modbus.Net/src/Siemens.Common/SiemensProtocal.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/SiemensProtocal.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensProtocal.cs
diff --git a/Modbus.Net/src/Siemens.Common/SiemensProtocalLinkerBytesExtend.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensProtocalLinkerBytesExtend.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/SiemensProtocalLinkerBytesExtend.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensProtocalLinkerBytesExtend.cs
diff --git a/Modbus.Net/src/Siemens.Common/SiemensStructDefinition.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensStructDefinition.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/SiemensStructDefinition.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensStructDefinition.cs
diff --git a/Modbus.Net/src/Siemens.Common/SiemensTcpProtocal.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/SiemensTcpProtocal.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocal.cs
diff --git a/Modbus.Net/src/Siemens.Common/SiemensTcpProtocalLinker.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocalLinker.cs
similarity index 100%
rename from Modbus.Net/src/Siemens.Common/SiemensTcpProtocalLinker.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocalLinker.cs
diff --git a/Modbus.Net/src/Siemens.Common/SiemensUtility.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs
similarity index 99%
rename from Modbus.Net/src/Siemens.Common/SiemensUtility.cs
rename to Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs
index 729c0a7..4daf5c3 100644
--- a/Modbus.Net/src/Siemens.Common/SiemensUtility.cs
+++ b/Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs
@@ -183,8 +183,7 @@ namespace Modbus.Net.Siemens
_siemensType = value;
switch (_siemensType)
{
- //PPI
- /*
+ //PPI
case SiemensType.Ppi:
{
Wrapper = ConnectionString == null
@@ -196,8 +195,7 @@ namespace Modbus.Net.Siemens
case SiemensType.Mpi:
{
throw new NotImplementedException();
- }
- */
+ }
//Ethenet
case SiemensType.Tcp:
{
diff --git a/Modbus.Net/Modbus.Net.sln b/Modbus.Net/Modbus.Net.sln
index 039d138..94c1d72 100644
--- a/Modbus.Net/Modbus.Net.sln
+++ b/Modbus.Net/Modbus.Net.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26730.16
+VisualStudioVersion = 15.0.27130.2010
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Modbus.Net", "Modbus.Net\Modbus.Net.csproj", "{124EBEF2-8960-4447-84CF-1D683B1EF7CC}"
EndProject
@@ -30,12 +30,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrossLamp", "..\Samples\Cro
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnyType", "..\Samples\AnyType\AnyType.csproj", "{25FABD48-D82E-4E08-91A4-46F7057EC954}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Modbus.Net.Core", "Modbus.Net.Core\Modbus.Net.Core.csproj", "{BBC091FC-A995-4C06-96F1-F91ECD70FA7E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Modbus.Net.Modbus.Core", "Modbus.Net.Modbus.Core\Modbus.Net.Modbus.Core.csproj", "{71BF9248-B261-4C93-A039-FFA4D55A4A26}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Modbus.Net.Siemens.Core", "Modbus.Net.Siemens.Core\Modbus.Net.Siemens.Core.csproj", "{84071437-A569-4AAE-BA44-732138AC010E}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -78,18 +72,6 @@ Global
{25FABD48-D82E-4E08-91A4-46F7057EC954}.Debug|Any CPU.Build.0 = Debug|Any CPU
{25FABD48-D82E-4E08-91A4-46F7057EC954}.Release|Any CPU.ActiveCfg = Release|Any CPU
{25FABD48-D82E-4E08-91A4-46F7057EC954}.Release|Any CPU.Build.0 = Release|Any CPU
- {BBC091FC-A995-4C06-96F1-F91ECD70FA7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BBC091FC-A995-4C06-96F1-F91ECD70FA7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BBC091FC-A995-4C06-96F1-F91ECD70FA7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BBC091FC-A995-4C06-96F1-F91ECD70FA7E}.Release|Any CPU.Build.0 = Release|Any CPU
- {71BF9248-B261-4C93-A039-FFA4D55A4A26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {71BF9248-B261-4C93-A039-FFA4D55A4A26}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {71BF9248-B261-4C93-A039-FFA4D55A4A26}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {71BF9248-B261-4C93-A039-FFA4D55A4A26}.Release|Any CPU.Build.0 = Release|Any CPU
- {84071437-A569-4AAE-BA44-732138AC010E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {84071437-A569-4AAE-BA44-732138AC010E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {84071437-A569-4AAE-BA44-732138AC010E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {84071437-A569-4AAE-BA44-732138AC010E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Modbus.Net/src/Base.Common/AddressCombiner.cs b/Modbus.Net/Modbus.Net/AddressCombiner.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/AddressCombiner.cs
rename to Modbus.Net/Modbus.Net/AddressCombiner.cs
diff --git a/Modbus.Net/src/Base.Common/AddressFormater.cs b/Modbus.Net/Modbus.Net/AddressFormater.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/AddressFormater.cs
rename to Modbus.Net/Modbus.Net/AddressFormater.cs
diff --git a/Modbus.Net/src/Base.Common/AddressHelper.cs b/Modbus.Net/Modbus.Net/AddressHelper.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/AddressHelper.cs
rename to Modbus.Net/Modbus.Net/AddressHelper.cs
diff --git a/Modbus.Net/src/Base.Common/AddressTranslator.cs b/Modbus.Net/Modbus.Net/AddressTranslator.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/AddressTranslator.cs
rename to Modbus.Net/Modbus.Net/AddressTranslator.cs
diff --git a/Modbus.Net/src/Base.Common/AsyncHelper.cs b/Modbus.Net/Modbus.Net/AsyncHelper.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/AsyncHelper.cs
rename to Modbus.Net/Modbus.Net/AsyncHelper.cs
diff --git a/Modbus.Net/src/Base.Common/BaseConnector.cs b/Modbus.Net/Modbus.Net/BaseConnector.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/BaseConnector.cs
rename to Modbus.Net/Modbus.Net/BaseConnector.cs
diff --git a/Modbus.Net/src/Base.Common/BaseController.cs b/Modbus.Net/Modbus.Net/BaseController.cs
similarity index 99%
rename from Modbus.Net/src/Base.Common/BaseController.cs
rename to Modbus.Net/Modbus.Net/BaseController.cs
index bd44786..2b75d76 100644
--- a/Modbus.Net/src/Base.Common/BaseController.cs
+++ b/Modbus.Net/Modbus.Net/BaseController.cs
@@ -4,7 +4,6 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Serilog;
-using Serilog.Events;
namespace Modbus.Net
{
diff --git a/Modbus.Net/src/Base.Common/BaseMachine.cs b/Modbus.Net/Modbus.Net/BaseMachine.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/BaseMachine.cs
rename to Modbus.Net/Modbus.Net/BaseMachine.cs
diff --git a/Modbus.Net/src/Base.Common/BaseMachineExtend.cs b/Modbus.Net/Modbus.Net/BaseMachineExtend.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/BaseMachineExtend.cs
rename to Modbus.Net/Modbus.Net/BaseMachineExtend.cs
diff --git a/Modbus.Net/src/Base.Common/BaseProtocal.cs b/Modbus.Net/Modbus.Net/BaseProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/BaseProtocal.cs
rename to Modbus.Net/Modbus.Net/BaseProtocal.cs
diff --git a/Modbus.Net/src/Base.Common/BaseUtility.cs b/Modbus.Net/Modbus.Net/BaseUtility.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/BaseUtility.cs
rename to Modbus.Net/Modbus.Net/BaseUtility.cs
diff --git a/Modbus.Net/src/Base.Common/CRC16.cs b/Modbus.Net/Modbus.Net/CRC16.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/CRC16.cs
rename to Modbus.Net/Modbus.Net/CRC16.cs
diff --git a/Modbus.Net/src/Base.Common/ComConnector.cs b/Modbus.Net/Modbus.Net/ComConnector.cs
similarity index 74%
rename from Modbus.Net/src/Base.Common/ComConnector.cs
rename to Modbus.Net/Modbus.Net/ComConnector.cs
index 32dc968..d419719 100644
--- a/Modbus.Net/src/Base.Common/ComConnector.cs
+++ b/Modbus.Net/Modbus.Net/ComConnector.cs
@@ -6,6 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using Nito.AsyncEx;
using Serilog;
namespace Modbus.Net
@@ -18,7 +19,7 @@ namespace Modbus.Net
///
/// 发送锁
///
- public object Lock { get; set; } = new object();
+ public AsyncLock Lock { get; set; } = new AsyncLock();
}
///
@@ -66,6 +67,9 @@ namespace Modbus.Net
private int _sendCount;
+ private Task _receiveThread;
+ private bool _taskCancel = false;
+
///
/// Dispose是否执行
///
@@ -200,69 +204,6 @@ namespace Modbus.Net
return nBytelen;
}
-
- ///
- /// 字符数组转字符串16进制
- ///
- /// 二进制字节
- /// 类似"01 02 0F"
- public static string ByteToString(byte[] inBytes)
- {
- var stringOut = "";
- foreach (var inByte in inBytes)
- stringOut = stringOut + $"{inByte:X2}" + " ";
-
- return stringOut.Trim();
- }
-
- ///
- /// strhex 转字节数组
- ///
- /// 类似"01 02 0F" 用空格分开的
- ///
- public static byte[] StringToByte(string inString)
- {
- var byteStrings = inString.Split(" ".ToCharArray());
- var byteOut = new byte[byteStrings.Length];
- for (var i = 0; i <= byteStrings.Length - 1; i++)
- byteOut[i] = byte.Parse(byteStrings[i], NumberStyles.HexNumber);
- return byteOut;
- }
-
- ///
- /// strhex 转字节数组
- ///
- /// 类似"01 02 0F" 中间无空格
- ///
- public static byte[] StringToByte_2(string inString)
- {
- inString = inString.Replace(" ", "");
-
- var byteStrings = new string[inString.Length / 2];
- var j = 0;
- for (var i = 0; i < byteStrings.Length; i++)
- {
- byteStrings[i] = inString.Substring(j, 2);
- j += 2;
- }
-
- var byteOut = new byte[byteStrings.Length];
- for (var i = 0; i <= byteStrings.Length - 1; i++)
- byteOut[i] = byte.Parse(byteStrings[i], NumberStyles.HexNumber);
-
- return byteOut;
- }
-
- ///
- /// 字符串 转16进制字符串
- ///
- /// unico
- /// 类似“01 0f”
- public static string Str_To_0X(string inString)
- {
- return ByteToString(Encoding.Default.GetBytes(inString));
- }
-
///
/// 虚方法,可供子类重写
///
@@ -346,7 +287,7 @@ namespace Modbus.Net
/// 连接串口
///
/// 是否连接成功
- public override bool Connect()
+ protected bool Connect()
{
try
{
@@ -364,6 +305,8 @@ namespace Modbus.Net
Linkers.Add(_slave, _com);
SerialPort.Open();
Log.Information("Com client {ConnectionToken} connect success", ConnectionToken);
+ Controller.SendStart();
+ ReceiveMsgThreadStart();
return true;
}
catch (Exception e)
@@ -391,6 +334,8 @@ namespace Modbus.Net
if (Linkers.ContainsKey(_slave) && Connectors.ContainsKey(_com))
try
{
+ ReceiveMsgThreadStop();
+ Controller.SendStop();
Dispose();
Log.Information("Com client {ConnectionToken} disconnect success", ConnectionToken);
return true;
@@ -412,101 +357,152 @@ namespace Modbus.Net
/// 是否发送成功
public string SendMsg(string sendStr)
{
- var myByte = StringToByte_2(sendStr);
+ var myByte = sendStr.StringToByte_2();
var returnBytes = SendMsg(myByte);
- return ByteToString(returnBytes);
+ return returnBytes.ByteToString();
+ }
+
+ protected void CheckOpen()
+ {
+ if (!SerialPort.IsOpen)
+ {
+ try
+ {
+ SerialPort.Open();
+ }
+ catch (Exception err)
+ {
+ Log.Error(err, "Com client {ConnectionToken} open error", ConnectionToken);
+ Dispose();
+ try
+ {
+ SerialPort.Open();
+ }
+ catch (Exception err2)
+ {
+ Log.Error(err2, "Com client {ConnectionToken} open error", ConnectionToken);
+ Dispose();
+ }
+ }
+ }
}
///
- /// 带返回发送数据
+ /// 发送数据,需要返回
///
- /// 需要发送的数据
+ /// 发送的数据
/// 是否发送成功
- public override byte[] SendMsg(byte[] sendbytes)
+ protected byte[] SendMsg(byte[] message)
{
- try
+ return AsyncHelper.RunSync(() => SendMsgAsync(message));
+ }
+
+ ///
+ /// 发送数据,需要返回
+ ///
+ /// 发送的数据
+ /// 是否发送成功
+ public override async Task SendMsgAsync(byte[] message)
+ {
+ CheckOpen();
+ var task = SendMsgInner(message).WithCancellation(new CancellationTokenSource(10000).Token);
+ var ans = await task;
+ if (task.IsCanceled)
{
- if (!SerialPort.IsOpen)
- try
- {
- SerialPort.Open();
- }
- catch (Exception err)
- {
- Log.Error(err, "Com client {ConnectionToken} open error", ConnectionToken);
- Dispose();
- SerialPort.Open();
- }
+ Controller.ForceRemoveWaitingMessage(ans);
+ return null;
+ }
+ return ans.ReceiveMessage;
+ }
- byte[] returnBytes;
+ private async Task SendMsgInner(byte[] message)
+ {
+ var messageSendingdef = Controller.AddMessage(message);
+ messageSendingdef.SendMutex.WaitOne();
+ await SendMsgWithoutConfirm(message);
+ messageSendingdef.ReceiveMutex.WaitOne();
+ return messageSendingdef;
+ }
- lock (SerialPort.Lock)
+ protected override async Task SendMsgWithoutConfirm(byte[] message)
+ {
+ using (await SerialPort.Lock.LockAsync())
+ {
+ try
{
- try
- {
- Log.Verbose("Com client {ConnectionToken} send msg length: {Length}", ConnectionToken,
- sendbytes.Length);
- Log.Verbose(
- $"Com client {ConnectionToken} send msg: {String.Concat(sendbytes.Select(p => " " + p.ToString("X2")))}");
- SerialPort.Write(sendbytes, 0, sendbytes.Length);
- }
- catch (Exception err)
- {
- Log.Error(err, "Com client {ConnectionToken} send msg error", ConnectionToken);
- return null;
- }
- RefreshSendCount();
+ Log.Verbose("Com client {ConnectionToken} send msg length: {Length}", ConnectionToken,
+ message.Length);
+ Log.Verbose(
+ $"Com client {ConnectionToken} send msg: {String.Concat(message.Select(p => " " + p.ToString("X2")))}");
+ await Task.Run(()=>SerialPort.Write(message, 0, message.Length));
+ }
+ catch (Exception err)
+ {
+ Log.Error(err, "Com client {ConnectionToken} send msg error", ConnectionToken);
+ }
+ RefreshSendCount();
+ }
+ }
- try
+ protected override void ReceiveMsgThreadStart()
+ {
+ _receiveThread = Task.Run(()=>ReceiveMessage());
+ }
+
+ protected override void ReceiveMsgThreadStop()
+ {
+ _taskCancel = true;
+ }
+
+ private void ReceiveMessage()
+ {
+ while (!_taskCancel)
+ {
+ try
+ {
+ var returnBytes = ReadMsg();
+ if (returnBytes != null)
{
- returnBytes = ReadMsg();
Log.Verbose("Com client {ConnectionToken} receive msg length: {Length}", ConnectionToken,
returnBytes.Length);
Log.Verbose(
$"Com client {ConnectionToken} receive msg: {String.Concat(returnBytes.Select(p => " " + p.ToString("X2")))}");
- }
- catch (Exception e)
- {
- Log.Error(e, "Com client {ConnectionToken} read msg error", ConnectionToken);
- return null;
+
+ var isMessageConfirmed = Controller.ConfirmMessage(returnBytes);
+ if (isMessageConfirmed == false)
+ {
+ //主动传输事件
+ }
}
RefreshReceiveCount();
- }
- return returnBytes;
- }
- catch (Exception err)
- {
- Log.Error(err, "Com client {ConnectionToken} read error", ConnectionToken);
- Dispose();
- return null;
- }
- }
- ///
- /// 带返回发送数据
- ///
- /// 需要发送的数据
- /// 是否发送成功
- public override Task SendMsgAsync(byte[] message)
- {
- return Task.FromResult(SendMsg(message));
+ Thread.Sleep(500);
+ }
+ catch (Exception e)
+ {
+ Log.Error(e, "Com client {ConnectionToken} read msg error", ConnectionToken);
+ }
+ }
}
private byte[] ReadMsg()
{
try
{
- if (!SerialPort.IsOpen)
- SerialPort.Open();
+ CheckOpen();
byte[] data;
Thread.Sleep(100);
var i = ReadComm(out data, 10, 5000, 1000);
- var returndata = new byte[i];
- Array.Copy(data, 0, returndata, 0, i);
- return returndata;
+ if (i > 0)
+ {
+ var returndata = new byte[i];
+ Array.Copy(data, 0, returndata, 0, i);
+ return returndata;
+ }
+ return null;
}
catch (Exception e)
{
diff --git a/Modbus.Net/src/Base.Common/ComProtocalLinker.cs b/Modbus.Net/Modbus.Net/ComProtocalLinker.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/ComProtocalLinker.cs
rename to Modbus.Net/Modbus.Net/ComProtocalLinker.cs
diff --git a/Modbus.Net/src/Base.Common/IConnector.cs b/Modbus.Net/Modbus.Net/IConnector.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IConnector.cs
rename to Modbus.Net/Modbus.Net/IConnector.cs
diff --git a/Modbus.Net/src/Base.Common/IController.cs b/Modbus.Net/Modbus.Net/IController.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IController.cs
rename to Modbus.Net/Modbus.Net/IController.cs
diff --git a/Modbus.Net/src/Base.Common/IMachineMethod.cs b/Modbus.Net/Modbus.Net/IMachineMethod.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IMachineMethod.cs
rename to Modbus.Net/Modbus.Net/IMachineMethod.cs
diff --git a/Modbus.Net/src/Base.Common/IProtocal.cs b/Modbus.Net/Modbus.Net/IProtocal.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IProtocal.cs
rename to Modbus.Net/Modbus.Net/IProtocal.cs
diff --git a/Modbus.Net/src/Base.Common/IProtocalFormatting.cs b/Modbus.Net/Modbus.Net/IProtocalFormatting.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IProtocalFormatting.cs
rename to Modbus.Net/Modbus.Net/IProtocalFormatting.cs
diff --git a/Modbus.Net/src/Base.Common/IProtocalLinker.cs b/Modbus.Net/Modbus.Net/IProtocalLinker.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IProtocalLinker.cs
rename to Modbus.Net/Modbus.Net/IProtocalLinker.cs
diff --git a/Modbus.Net/src/Base.Common/IProtocalLinkerBytesExtend.cs b/Modbus.Net/Modbus.Net/IProtocalLinkerBytesExtend.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IProtocalLinkerBytesExtend.cs
rename to Modbus.Net/Modbus.Net/IProtocalLinkerBytesExtend.cs
diff --git a/Modbus.Net/src/Base.Common/IUtilityMethod.cs b/Modbus.Net/Modbus.Net/IUtilityMethod.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/IUtilityMethod.cs
rename to Modbus.Net/Modbus.Net/IUtilityMethod.cs
diff --git a/Modbus.Net/Modbus.Net/Modbus.Net.csproj b/Modbus.Net/Modbus.Net/Modbus.Net.csproj
index 8a14256..489ea1f 100644
--- a/Modbus.Net/Modbus.Net/Modbus.Net.csproj
+++ b/Modbus.Net/Modbus.Net/Modbus.Net.csproj
@@ -1,7 +1,7 @@
- net45
+ net45;netstandard20
Modbus.Net
Modbus.Net
Modbus.Net
@@ -27,46 +27,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Modbus.Net/src/Base.Common/PipeUnit.cs b/Modbus.Net/Modbus.Net/PipeUnit.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/PipeUnit.cs
rename to Modbus.Net/Modbus.Net/PipeUnit.cs
diff --git a/Modbus.Net/src/Base.Common/ProtocalLinker.cs b/Modbus.Net/Modbus.Net/ProtocalLinker.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/ProtocalLinker.cs
rename to Modbus.Net/Modbus.Net/ProtocalLinker.cs
diff --git a/Modbus.Net/src/Base.Common/ProtocalUnit.cs b/Modbus.Net/Modbus.Net/ProtocalUnit.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/ProtocalUnit.cs
rename to Modbus.Net/Modbus.Net/ProtocalUnit.cs
diff --git a/Modbus.Net/Modbus.Net/SerialPortHelper.cs b/Modbus.Net/Modbus.Net/SerialPortHelper.cs
new file mode 100644
index 0000000..52938c9
--- /dev/null
+++ b/Modbus.Net/Modbus.Net/SerialPortHelper.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Modbus.Net
+{
+ public static class SerialPortHelper
+ {
+ ///
+ /// 字符数组转字符串16进制
+ ///
+ /// 二进制字节
+ /// 类似"01 02 0F"
+ public static string ByteToString(this byte[] inBytes)
+ {
+ var stringOut = "";
+ foreach (var inByte in inBytes)
+ stringOut = stringOut + $"{inByte:X2}" + " ";
+
+ return stringOut.Trim();
+ }
+
+ ///
+ /// strhex 转字节数组
+ ///
+ /// 类似"01 02 0F" 用空格分开的
+ ///
+ public static byte[] StringToByte(this string inString)
+ {
+ var byteStrings = inString.Split(" ".ToCharArray());
+ var byteOut = new byte[byteStrings.Length];
+ for (var i = 0; i <= byteStrings.Length - 1; i++)
+ byteOut[i] = byte.Parse(byteStrings[i], NumberStyles.HexNumber);
+ return byteOut;
+ }
+
+ ///
+ /// strhex 转字节数组
+ ///
+ /// 类似"01 02 0F" 中间无空格
+ ///
+ public static byte[] StringToByte_2(this string inString)
+ {
+ inString = inString.Replace(" ", "");
+
+ var byteStrings = new string[inString.Length / 2];
+ var j = 0;
+ for (var i = 0; i < byteStrings.Length; i++)
+ {
+ byteStrings[i] = inString.Substring(j, 2);
+ j += 2;
+ }
+
+ var byteOut = new byte[byteStrings.Length];
+ for (var i = 0; i <= byteStrings.Length - 1; i++)
+ byteOut[i] = byte.Parse(byteStrings[i], NumberStyles.HexNumber);
+
+ return byteOut;
+ }
+
+ ///
+ /// 字符串 转16进制字符串
+ ///
+ /// unico
+ /// 类似“01 0f”
+ public static string Str_To_0X(this string inString)
+ {
+ return ByteToString(Encoding.Default.GetBytes(inString));
+ }
+ }
+}
diff --git a/Modbus.Net/src/Base.Common/TaskManager.cs b/Modbus.Net/Modbus.Net/TaskManager.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/TaskManager.cs
rename to Modbus.Net/Modbus.Net/TaskManager.cs
diff --git a/Modbus.Net/src/Base.Common/TcpConnector.cs b/Modbus.Net/Modbus.Net/TcpConnector.cs
similarity index 99%
rename from Modbus.Net/src/Base.Common/TcpConnector.cs
rename to Modbus.Net/Modbus.Net/TcpConnector.cs
index d12d3e8..147da72 100644
--- a/Modbus.Net/src/Base.Common/TcpConnector.cs
+++ b/Modbus.Net/Modbus.Net/TcpConnector.cs
@@ -196,6 +196,7 @@ namespace Modbus.Net
try
{
Dispose();
+ Controller.SendStop();
Log.Information("Tcp client {ConnectionToken} disconnected successfully", ConnectionToken);
return true;
}
diff --git a/Modbus.Net/src/Base.Common/TcpProtocalLinker.cs b/Modbus.Net/Modbus.Net/TcpProtocalLinker.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/TcpProtocalLinker.cs
rename to Modbus.Net/Modbus.Net/TcpProtocalLinker.cs
diff --git a/Modbus.Net/src/Base.Common/TypeExtensions.cs b/Modbus.Net/Modbus.Net/TypeExtensions.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/TypeExtensions.cs
rename to Modbus.Net/Modbus.Net/TypeExtensions.cs
diff --git a/Modbus.Net/src/Base.Common/ValueHelper.cs b/Modbus.Net/Modbus.Net/ValueHelper.cs
similarity index 100%
rename from Modbus.Net/src/Base.Common/ValueHelper.cs
rename to Modbus.Net/Modbus.Net/ValueHelper.cs
diff --git a/Modbus.Net/src/Base.Common/Modbus.Net.csproj b/Modbus.Net/src/Base.Common/Modbus.Net.csproj
deleted file mode 100644
index 584ec11..0000000
--- a/Modbus.Net/src/Base.Common/Modbus.Net.csproj
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {124EBEF2-8960-4447-84CF-1D683B1EF7CC}
- Library
- Properties
- Modbus.Net
- Modbus.Net
- v4.5
- 512
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- ConfigurationManager.resx
-
-
-
-
-
-
-
-
-
-
-
-
- Code
-
-
-
-
-
-
- PublicResXFileCodeGenerator
- ConfigurationManager.Designer.cs
-
-
-
-
- Designer
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Tests/Modbus.Net.Tests/ModbusTest.cs b/Tests/Modbus.Net.Tests/ModbusTest.cs
index 2c2353c..388f358 100644
--- a/Tests/Modbus.Net.Tests/ModbusTest.cs
+++ b/Tests/Modbus.Net.Tests/ModbusTest.cs
@@ -18,9 +18,9 @@ namespace Modbus.Net.Tests
[TestInitialize]
public void Init()
{
- _modbusTcpMachine = new ModbusMachine("1", ModbusType.Tcp, "192.168.3.10", null, true, 2, 0);
+ //_modbusTcpMachine = new ModbusMachine("1", ModbusType.Tcp, "192.168.3.10", null, true, 2, 0);
- //_modbusRtuMachine = new ModbusMachine("2", ModbusType.Rtu, "COM3", null, true, 2, 0);
+ _modbusRtuMachine = new ModbusMachine("2", ModbusType.Rtu, "COM5", null, true, 2, 0);
//_modbusAsciiMachine = new ModbusMachine("3", ModbusType.Ascii, "COM5", null, true, 2, 0);
}
@@ -50,17 +50,17 @@ namespace Modbus.Net.Tests
}
};
- _modbusTcpMachine.GetAddresses = addresses;
+ //_modbusTcpMachine.GetAddresses = addresses;
//_modbusAsciiMachine.GetAddresses = addresses;
- //_modbusRtuMachine.GetAddresses = addresses;
- await _modbusTcpMachine.SetDatasAsync(MachineSetDataType.Address, dic1);
+ _modbusRtuMachine.GetAddresses = addresses;
+ //await _modbusTcpMachine.SetDatasAsync(MachineSetDataType.Address, dic1);
//await _modbusAsciiMachine.SetDatasAsync(MachineSetDataType.Address, dic1);
- //await _modbusRtuMachine.SetDatasAsync(MachineSetDataType.Address, dic1);
- var ans = await _modbusTcpMachine.GetDatasAsync(MachineGetDataType.Address);
- //var ans2 = await _modbusRtuMachine.GetDatasAsync(MachineGetDataType.Address);
+ await _modbusRtuMachine.SetDatasAsync(MachineSetDataType.Address, dic1);
+ //var ans = await _modbusTcpMachine.GetDatasAsync(MachineGetDataType.Address);
+ var ans2 = await _modbusRtuMachine.GetDatasAsync(MachineGetDataType.Address);
//var ans3 = await _modbusAsciiMachine.GetDatasAsync(MachineGetDataType.Address);
- Assert.AreEqual(ans["0X 1.0"].PlcValue, dic1["0X 1.0"]);
- //Assert.AreEqual(ans2["0X 1.0"].PlcValue, dic1["0X 1.0"]);
+ //Assert.AreEqual(ans["0X 1.0"].PlcValue, dic1["0X 1.0"]);
+ Assert.AreEqual(ans2["0X 1.0"].PlcValue, dic1["0X 1.0"]);
//Assert.AreEqual(ans3["0X 1.0"].PlcValue, dic1["0X 1.0"]);
}
@@ -317,8 +317,8 @@ namespace Modbus.Net.Tests
public void MachineClean()
{
//_modbusAsciiMachine.Disconnect();
- //_modbusRtuMachine.Disconnect();
- _modbusTcpMachine.Disconnect();
+ _modbusRtuMachine.Disconnect();
+ //_modbusTcpMachine.Disconnect();
}
}
}