ComProtocolLinker and ComConnector param change
This commit is contained in:
@@ -13,10 +13,12 @@ namespace Modbus.Net.Siemens
|
|||||||
/// PPI
|
/// PPI
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Ppi = 0,
|
Ppi = 0,
|
||||||
|
#pragma warning disable
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MPI
|
/// MPI
|
||||||
/// </summary>
|
/// </summary>
|
||||||
//Mpi = 1,
|
//Mpi = 1,
|
||||||
|
#pragma warning restore
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 以太网
|
/// 以太网
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -57,6 +57,11 @@ namespace Modbus.Net
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private readonly StopBits _stopBits;
|
private readonly StopBits _stopBits;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 停止位
|
||||||
|
/// </summary>
|
||||||
|
private readonly Handshake _handshake;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
protected override int TimeoutTime { get; set; }
|
protected override int TimeoutTime { get; set; }
|
||||||
|
|
||||||
@@ -107,20 +112,23 @@ namespace Modbus.Net
|
|||||||
/// <param name="parity">校验位</param>
|
/// <param name="parity">校验位</param>
|
||||||
/// <param name="stopBits">停止位</param>
|
/// <param name="stopBits">停止位</param>
|
||||||
/// <param name="dataBits">数据位</param>
|
/// <param name="dataBits">数据位</param>
|
||||||
|
/// <param name="handshake">流控制</param>
|
||||||
/// <param name="timeoutTime">超时时间</param>
|
/// <param name="timeoutTime">超时时间</param>
|
||||||
/// <param name="isFullDuplex">是否为全双工</param>
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
public ComConnector(string com, int baudRate, Parity parity, StopBits stopBits, int dataBits, int timeoutTime = 10000, bool isFullDuplex = false) : base(timeoutTime, isFullDuplex)
|
public ComConnector(string com, BaudRate baudRate, Parity parity, StopBits stopBits, DataBits dataBits, Handshake handshake, int timeoutTime = 10000, bool isFullDuplex = false) : base(timeoutTime, isFullDuplex)
|
||||||
{
|
{
|
||||||
//端口号
|
//端口号
|
||||||
_com = com.Split(':')[0];
|
_com = com.Split(':')[0];
|
||||||
//波特率
|
//波特率
|
||||||
_baudRate = baudRate;
|
_baudRate = (int)baudRate;
|
||||||
//奇偶校验
|
//奇偶校验
|
||||||
_parity = parity;
|
_parity = parity;
|
||||||
//停止位
|
//停止位
|
||||||
_stopBits = stopBits;
|
_stopBits = stopBits;
|
||||||
//数据位
|
//数据位
|
||||||
_dataBits = dataBits;
|
_dataBits = (int)dataBits;
|
||||||
|
//流控制
|
||||||
|
_handshake = handshake;
|
||||||
//从站号
|
//从站号
|
||||||
_slave = com.Split(':')[1];
|
_slave = com.Split(':')[1];
|
||||||
}
|
}
|
||||||
@@ -346,6 +354,7 @@ namespace Modbus.Net
|
|||||||
Parity = _parity,
|
Parity = _parity,
|
||||||
StopBits = _stopBits,
|
StopBits = _stopBits,
|
||||||
DataBits = _dataBits,
|
DataBits = _dataBits,
|
||||||
|
Handshake = _handshake,
|
||||||
ReadTimeout = TimeoutTime
|
ReadTimeout = TimeoutTime
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,46 @@ using System.IO.Ports;
|
|||||||
|
|
||||||
namespace Modbus.Net
|
namespace Modbus.Net
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 波特率
|
||||||
|
/// </summary>
|
||||||
|
public enum BaudRate
|
||||||
|
{
|
||||||
|
#pragma warning disable
|
||||||
|
BaudRate75 = 75,
|
||||||
|
BaudRate110 = 110,
|
||||||
|
BaudRate134 = 134,
|
||||||
|
BaudRate150 = 150,
|
||||||
|
BaudRate300 = 300,
|
||||||
|
BaudRate600 = 600,
|
||||||
|
BaudRate1200 = 1200,
|
||||||
|
BaudRate1800 = 1800,
|
||||||
|
BaudRate2400 = 2400,
|
||||||
|
BaudRate4800 = 4800,
|
||||||
|
BaudRate9600 = 9600,
|
||||||
|
BaudRate14400 = 14400,
|
||||||
|
BaudRate19200 = 19200,
|
||||||
|
BaudRate38400 = 38400,
|
||||||
|
BaudRate57600 = 57600,
|
||||||
|
BaudRate115200 = 115200,
|
||||||
|
BaudRate128000 = 128000,
|
||||||
|
BaudRate230400 = 230400,
|
||||||
|
BaudRate460800 = 460800,
|
||||||
|
BaudRate921600 = 921600,
|
||||||
|
#pragma warning restore
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 数据位
|
||||||
|
/// </summary>
|
||||||
|
public enum DataBits
|
||||||
|
{
|
||||||
|
#pragma warning disable
|
||||||
|
Seven = 7,
|
||||||
|
Eight = 8,
|
||||||
|
#pragma warning restore
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 串口连接对象
|
/// 串口连接对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -16,19 +56,21 @@ namespace Modbus.Net
|
|||||||
/// <param name="parity">校验位</param>
|
/// <param name="parity">校验位</param>
|
||||||
/// <param name="stopBits">停止位</param>
|
/// <param name="stopBits">停止位</param>
|
||||||
/// <param name="dataBits">数据位</param>
|
/// <param name="dataBits">数据位</param>
|
||||||
|
/// <param name="handshake">流控制</param>
|
||||||
/// <param name="connectionTimeout">超时时间</param>
|
/// <param name="connectionTimeout">超时时间</param>
|
||||||
/// <param name="slaveAddress">从站地址</param>
|
/// <param name="slaveAddress">从站地址</param>
|
||||||
/// <param name="isFullDuplex">是否为全双工</param>
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
protected ComProtocolLinker(string com, int slaveAddress, int? baudRate = null, Parity? parity = null, StopBits? stopBits = null, int? dataBits = null,
|
protected ComProtocolLinker(string com, int slaveAddress, BaudRate? baudRate = null, Parity? parity = null, StopBits? stopBits = null, DataBits? dataBits = null, Handshake? handshake = null,
|
||||||
int? connectionTimeout = null, bool? isFullDuplex = null)
|
int? connectionTimeout = null, bool? isFullDuplex = null)
|
||||||
{
|
{
|
||||||
baudRate = int.Parse(baudRate != null ? baudRate.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "BaudRate"));
|
baudRate = Enum.Parse<BaudRate>(baudRate != null ? baudRate.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "BaudRate"));
|
||||||
parity = Enum.Parse<Parity>(parity != null ? parity.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "Parity"));
|
parity = Enum.Parse<Parity>(parity != null ? parity.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "Parity"));
|
||||||
stopBits = Enum.Parse<StopBits>(stopBits != null ? stopBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "StopBits"));
|
stopBits = Enum.Parse<StopBits>(stopBits != null ? stopBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "StopBits"));
|
||||||
dataBits = int.Parse(dataBits != null ? dataBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "DataBits"));
|
dataBits = Enum.Parse<DataBits>(dataBits != null ? dataBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "DataBits"));
|
||||||
|
handshake = Enum.Parse<Handshake>(handshake != null ? handshake.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "Handshake"));
|
||||||
connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "ConnectionTimeout"));
|
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"));
|
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, connectionTimeout.Value, isFullDuplex.Value);
|
BaseConnector = new ComConnector(com + ":" + slaveAddress, baudRate.Value, parity.Value, stopBits.Value, dataBits.Value, handshake.Value, connectionTimeout.Value, isFullDuplex.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,10 +25,11 @@
|
|||||||
"COM": {
|
"COM": {
|
||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "BaudRate9600",
|
||||||
"Parity": "None",
|
"Parity": "None",
|
||||||
"StopBits": "One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "Eight",
|
||||||
|
"Handshake": "None",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
"COM": "COM1"
|
"COM": "COM1"
|
||||||
|
|||||||
@@ -25,10 +25,11 @@
|
|||||||
"COM": {
|
"COM": {
|
||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "BaudRate9600",
|
||||||
"Parity": "None",
|
"Parity": "None",
|
||||||
"StopBits": "One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "Eight",
|
||||||
|
"Handshake": "None",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
"COM": "COM1"
|
"COM": "COM1"
|
||||||
|
|||||||
@@ -25,10 +25,11 @@
|
|||||||
"COM": {
|
"COM": {
|
||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "BaudRate9600",
|
||||||
"Parity": "None",
|
"Parity": "None",
|
||||||
"StopBits": "One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "Eight",
|
||||||
|
"Handshake": "None",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
"COM": "COM1"
|
"COM": "COM1"
|
||||||
|
|||||||
@@ -25,10 +25,11 @@
|
|||||||
"COM": {
|
"COM": {
|
||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "BaudRate9600",
|
||||||
"Parity": "None",
|
"Parity": "None",
|
||||||
"StopBits": "One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "Eight",
|
||||||
|
"Handshake": "None",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
"COM": "COM1"
|
"COM": "COM1"
|
||||||
|
|||||||
@@ -25,10 +25,11 @@
|
|||||||
"COM": {
|
"COM": {
|
||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "BaudRate9600",
|
||||||
"Parity": "None",
|
"Parity": "None",
|
||||||
"StopBits": "One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "Eight",
|
||||||
|
"Handshake": "None",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
"COM": "COM1"
|
"COM": "COM1"
|
||||||
|
|||||||
Reference in New Issue
Block a user