diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs
index d0f44f9..46e922e 100644
--- a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs
+++ b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs
@@ -1,7 +1,8 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
+using System.IO.Ports;
using System.Threading;
using System.Threading.Tasks;
-using System.IO.Ports;
namespace Modbus.Net.Siemens
{
@@ -16,7 +17,11 @@ namespace Modbus.Net.Siemens
/// 串口地址
/// 从站号
public SiemensPpiProtocolLinker(string com, int slaveAddress)
- : base(com, slaveAddress, parity:Parity.Even)
+ : base(com, slaveAddress, parity:
+ ConfigurationReader.GetValue("COM:Siemens", "Parity") != null
+ ? Enum.Parse(ConfigurationReader.GetValue("COM:Siemens", "Parity"))
+ : null
+ )
{
((IConnectorWithController)BaseConnector).AddController(new FifoController(
int.Parse(ConfigurationReader.GetValue("COM:" + com + ":" + slaveAddress, "FetchSleepTime")),
diff --git a/Modbus.Net/Modbus.Net/appsettings.default.json b/Modbus.Net/Modbus.Net/appsettings.default.json
index 4676716..f72eb6b 100644
--- a/Modbus.Net/Modbus.Net/appsettings.default.json
+++ b/Modbus.Net/Modbus.Net/appsettings.default.json
@@ -35,7 +35,8 @@
"COM": "COM1"
},
"Siemens": {
- "COM": "COM2"
+ "COM": "COM2",
+ "Parity": "Even"
}
},
"Controller": {
diff --git a/Samples/AnyType/appsettings.default.json b/Samples/AnyType/appsettings.default.json
index 4676716..f72eb6b 100644
--- a/Samples/AnyType/appsettings.default.json
+++ b/Samples/AnyType/appsettings.default.json
@@ -35,7 +35,8 @@
"COM": "COM1"
},
"Siemens": {
- "COM": "COM2"
+ "COM": "COM2",
+ "Parity": "Even"
}
},
"Controller": {
diff --git a/Samples/CrossLamp/appsettings.default.json b/Samples/CrossLamp/appsettings.default.json
index 4676716..f72eb6b 100644
--- a/Samples/CrossLamp/appsettings.default.json
+++ b/Samples/CrossLamp/appsettings.default.json
@@ -35,7 +35,8 @@
"COM": "COM1"
},
"Siemens": {
- "COM": "COM2"
+ "COM": "COM2",
+ "Parity": "Even"
}
},
"Controller": {
diff --git a/Samples/MachineJob/appsettings.default.json b/Samples/MachineJob/appsettings.default.json
index 4676716..f72eb6b 100644
--- a/Samples/MachineJob/appsettings.default.json
+++ b/Samples/MachineJob/appsettings.default.json
@@ -35,7 +35,8 @@
"COM": "COM1"
},
"Siemens": {
- "COM": "COM2"
+ "COM": "COM2",
+ "Parity": "Even"
}
},
"Controller": {
diff --git a/Samples/TripleAdd/appsettings.default.json b/Samples/TripleAdd/appsettings.default.json
index 4676716..f72eb6b 100644
--- a/Samples/TripleAdd/appsettings.default.json
+++ b/Samples/TripleAdd/appsettings.default.json
@@ -35,7 +35,8 @@
"COM": "COM1"
},
"Siemens": {
- "COM": "COM2"
+ "COM": "COM2",
+ "Parity": "Even"
}
},
"Controller": {
diff --git a/Tests/Modbus.Net.Tests/appsettings.default.json b/Tests/Modbus.Net.Tests/appsettings.default.json
index 4676716..f72eb6b 100644
--- a/Tests/Modbus.Net.Tests/appsettings.default.json
+++ b/Tests/Modbus.Net.Tests/appsettings.default.json
@@ -35,7 +35,8 @@
"COM": "COM1"
},
"Siemens": {
- "COM": "COM2"
+ "COM": "COM2",
+ "Parity": "Even"
}
},
"Controller": {