Wrong COM default settings fix.
This commit is contained in:
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Ascii码协议Tcp透传
|
/// Modbus/Ascii码协议Tcp透传
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System.Text;
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
namespace Modbus.Net.Modbus
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Ascii码协议Udp透传
|
/// Modbus/Ascii码协议Udp透传
|
||||||
@@ -15,7 +11,7 @@ namespace Modbus.Net.Modbus
|
|||||||
/// <param name="slaveAddress">从站号</param>
|
/// <param name="slaveAddress">从站号</param>
|
||||||
/// <param name="masterAddress">主站号</param>
|
/// <param name="masterAddress">主站号</param>
|
||||||
public ModbusAsciiInUdpProtocol(byte slaveAddress, byte masterAddress)
|
public ModbusAsciiInUdpProtocol(byte slaveAddress, byte masterAddress)
|
||||||
: this(ConfigurationReader.GetValueDirect("UDP:Modbus","IP"), slaveAddress, masterAddress)
|
: this(ConfigurationReader.GetValueDirect("UDP:Modbus", "IP"), slaveAddress, masterAddress)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System.Text;
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
namespace Modbus.Net.Modbus
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Ascii码协议
|
/// Modbus/Ascii码协议
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System.Collections.Generic;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.IO.Ports;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
namespace Modbus.Net.Modbus
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Rtu协议tcp透传
|
/// Modbus/Rtu协议tcp透传
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Rtu协议连接器Tcp透传
|
/// Modbus/Rtu协议连接器Tcp透传
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Rtu协议udp透传
|
/// Modbus/Rtu协议udp透传
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Rtu协议连接器Udp透传
|
/// Modbus/Rtu协议连接器Udp透传
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Rtu协议
|
/// Modbus/Rtu协议
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System.Collections.Generic;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.IO.Ports;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
namespace Modbus.Net.Modbus
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Tcp协议
|
/// Modbus/Tcp协议
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Tcp协议连接器
|
/// Modbus/Tcp协议连接器
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Udp协议
|
/// Modbus/Udp协议
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net.Modbus
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Modbus
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Modbus/Udp协议连接器
|
/// Modbus/Udp协议连接器
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using Nito.AsyncEx;
|
||||||
using Nito.AsyncEx;
|
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Modbus.Net.Siemens
|
namespace Modbus.Net.Siemens
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System.Threading;
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.IO.Ports;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using Nito.AsyncEx;
|
||||||
using Nito.AsyncEx;
|
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Modbus.Net.Siemens
|
namespace Modbus.Net.Siemens
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net.Siemens
|
namespace Modbus.Net.Siemens
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -306,7 +306,8 @@ namespace Modbus.Net.Siemens
|
|||||||
Wrapper.SendReceiveAsync<WriteRequestSiemensOutputStruct>(
|
Wrapper.SendReceiveAsync<WriteRequestSiemensOutputStruct>(
|
||||||
Wrapper[typeof(WriteRequestSiemensProtocol)],
|
Wrapper[typeof(WriteRequestSiemensProtocol)],
|
||||||
writeRequestSiemensInputStruct);
|
writeRequestSiemensInputStruct);
|
||||||
return new ReturnStruct<bool> {
|
return new ReturnStruct<bool>
|
||||||
|
{
|
||||||
Datas = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError,
|
Datas = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError,
|
||||||
IsSuccess = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError,
|
IsSuccess = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError,
|
||||||
ErrorCode = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError ? 0 : (int)writeRequestSiemensOutputStruct?.AccessResult,
|
ErrorCode = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError ? 0 : (int)writeRequestSiemensOutputStruct?.AccessResult,
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Modbus.Net
|
namespace Modbus.Net
|
||||||
{
|
{
|
||||||
@@ -56,7 +53,7 @@ namespace Modbus.Net
|
|||||||
var firstColon = path.IndexOf(":");
|
var firstColon = path.IndexOf(":");
|
||||||
while (firstColon != -1)
|
while (firstColon != -1)
|
||||||
{
|
{
|
||||||
root = root?.GetSection(path.Substring(0,firstColon));
|
root = root?.GetSection(path.Substring(0, firstColon));
|
||||||
path = path.Substring(firstColon + 1);
|
path = path.Substring(firstColon + 1);
|
||||||
firstColon = path.IndexOf(":");
|
firstColon = path.IndexOf(":");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
@@ -38,7 +36,7 @@ namespace Modbus.Net
|
|||||||
public FifoController(int acquireTime, bool activateSema = true, Func<byte[], ICollection<byte[]>> duplicateFunc = null, int? waitingListMaxCount = null)
|
public FifoController(int acquireTime, bool activateSema = true, Func<byte[], ICollection<byte[]>> duplicateFunc = null, int? waitingListMaxCount = null)
|
||||||
: base(duplicateFunc)
|
: base(duplicateFunc)
|
||||||
{
|
{
|
||||||
_waitingListMaxCount = int.Parse(waitingListMaxCount != null ? waitingListMaxCount.ToString() : null ?? ConfigurationReader.GetValueDirect("Controller","WaitingListCount"));
|
_waitingListMaxCount = int.Parse(waitingListMaxCount != null ? waitingListMaxCount.ToString() : null ?? ConfigurationReader.GetValueDirect("Controller", "WaitingListCount"));
|
||||||
if (activateSema)
|
if (activateSema)
|
||||||
{
|
{
|
||||||
_taskCycleSema = new Semaphore(0, _waitingListMaxCount);
|
_taskCycleSema = new Semaphore(0, _waitingListMaxCount);
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace Modbus.Net
|
|||||||
/// <param name="count">重复次数,负数为无限循环,0为执行一次</param>
|
/// <param name="count">重复次数,负数为无限循环,0为执行一次</param>
|
||||||
/// <param name="intervalSecond">间隔秒数</param>
|
/// <param name="intervalSecond">间隔秒数</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static ParallelLoopResult RunScheduler<TKey>(IEnumerable<IMachine<TKey>> machines, Func<IMachine<TKey>, MachineGetJobScheduler, Task> machineJobTemplate, int count = 0, int intervalSecond = 1) where TKey: IEquatable<TKey>
|
public static ParallelLoopResult RunScheduler<TKey>(IEnumerable<IMachine<TKey>> machines, Func<IMachine<TKey>, MachineGetJobScheduler, Task> machineJobTemplate, int count = 0, int intervalSecond = 1) where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
_machineCount = machines.Count();
|
_machineCount = machines.Count();
|
||||||
return Parallel.ForEach(machines, (machine, state, index) =>
|
return Parallel.ForEach(machines, (machine, state, index) =>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
using System;
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.IO.Ports;
|
using System.IO.Ports;
|
||||||
|
|
||||||
namespace Modbus.Net
|
namespace Modbus.Net
|
||||||
@@ -24,7 +22,7 @@ namespace Modbus.Net
|
|||||||
protected ComProtocolLinker(string com, int slaveAddress, int? baudRate = null, Parity? parity = null, StopBits? stopBits = null, int? dataBits = null,
|
protected ComProtocolLinker(string com, int slaveAddress, int? baudRate = null, Parity? parity = null, StopBits? stopBits = null, int? dataBits = 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 = int.Parse(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 = int.Parse(dataBits != null ? dataBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "DataBits"));
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net
|
||||||
using System;
|
|
||||||
using System.Configuration;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tcp连接对象
|
/// Tcp连接对象
|
||||||
@@ -19,7 +14,7 @@ namespace Modbus.Net
|
|||||||
/// <param name="isFullDuplex">是否为全双工</param>
|
/// <param name="isFullDuplex">是否为全双工</param>
|
||||||
protected TcpProtocolLinker(string ip, int port, int? connectionTimeout = null, bool? isFullDuplex = null)
|
protected TcpProtocolLinker(string ip, int port, int? connectionTimeout = null, bool? isFullDuplex = null)
|
||||||
{
|
{
|
||||||
connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("TCP:"+ip+":"+port, "ConnectionTimeout"));
|
connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "ConnectionTimeout"));
|
||||||
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "FullDuplex"));
|
isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "FullDuplex"));
|
||||||
//初始化连接对象
|
//初始化连接对象
|
||||||
BaseConnector = new TcpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value);
|
BaseConnector = new TcpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value);
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
namespace Modbus.Net
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Modbus.Net
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Udp连接对象
|
/// Udp连接对象
|
||||||
|
|||||||
@@ -213,7 +213,8 @@ namespace Modbus.Net
|
|||||||
await BaseUtility.ConnectAsync();
|
await BaseUtility.ConnectAsync();
|
||||||
//如果无法连接,终止
|
//如果无法连接,终止
|
||||||
if (!BaseUtility.IsConnected) return
|
if (!BaseUtility.IsConnected) return
|
||||||
new ReturnStruct<Dictionary<string, ReturnUnit>>() {
|
new ReturnStruct<Dictionary<string, ReturnUnit>>()
|
||||||
|
{
|
||||||
Datas = null,
|
Datas = null,
|
||||||
IsSuccess = false,
|
IsSuccess = false,
|
||||||
ErrorCode = -1,
|
ErrorCode = -1,
|
||||||
@@ -493,7 +494,7 @@ namespace Modbus.Net
|
|||||||
ErrorMsg = datas.ErrorMsg
|
ErrorMsg = datas.ErrorMsg
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else if(datas.Datas.Length <
|
else if (datas.Datas.Length <
|
||||||
(int)
|
(int)
|
||||||
Math.Ceiling(communicateAddress.GetCount *
|
Math.Ceiling(communicateAddress.GetCount *
|
||||||
BigEndianValueHelper.Instance.ByteLength[
|
BigEndianValueHelper.Instance.ByteLength[
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace Modbus.Net
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Modbus.Net
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 返回引用类型
|
/// 返回引用类型
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Security.Policy;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Xml.Linq;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 端格式
|
/// 端格式
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "9600",
|
||||||
"Parity": "Parity.None",
|
"Parity": "None",
|
||||||
"StopBits": "StopBits.One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "8",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "9600",
|
||||||
"Parity": "Parity.None",
|
"Parity": "None",
|
||||||
"StopBits": "StopBits.One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "8",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "9600",
|
||||||
"Parity": "Parity.None",
|
"Parity": "None",
|
||||||
"StopBits": "StopBits.One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "8",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ namespace MachineJob.Service
|
|||||||
|
|
||||||
IMachine<string> machine = new ModbusMachine<string, string>("ModbusMachine1", ModbusType.Tcp, null, _addresses, true, 1, 2, Endian.BigEndianLsb);
|
IMachine<string> machine = new ModbusMachine<string, string>("ModbusMachine1", ModbusType.Tcp, null, _addresses, true, 1, 2, Endian.BigEndianLsb);
|
||||||
IMachine<string> machine2 = new SiemensMachine<string, string>("SiemensMachine1", SiemensType.Tcp, null, SiemensMachineModel.S7_1200, _addresses2, true, 1, 2);
|
IMachine<string> machine2 = new SiemensMachine<string, string>("SiemensMachine1", SiemensType.Tcp, null, SiemensMachineModel.S7_1200, _addresses2, true, 1, 2);
|
||||||
|
IMachine<string> machine3 = new ModbusMachine<string, string>("ModbusMachine2", ModbusType.Rtu, "COM3", _addresses, true, 3, 2);
|
||||||
var machines = new List<IMachine<string>>() { machine, machine2 };
|
var machines = new List<IMachine<string>>() { machine, machine2, machine3 };
|
||||||
return Task.Run(() => MultipleMachinesJobScheduler.RunScheduler(machines, async (machine, scheduler) =>
|
return Task.Run(() => MultipleMachinesJobScheduler.RunScheduler(machines, async (machine, scheduler) =>
|
||||||
{
|
{
|
||||||
await scheduler.From(machine.Id, machine, MachineDataType.Name).Result.Query(machine.Id + ".ConsoleQuery", QueryConsole).Result.To(machine.Id + ".To", machine).Result.Deal(machine.Id + ".Deal", OnSuccess, OnFailure).Result.Run();
|
await scheduler.From(machine.Id, machine, MachineDataType.Name).Result.Query(machine.Id + ".ConsoleQuery", QueryConsole).Result.To(machine.Id + ".To", machine).Result.Deal(machine.Id + ".Deal", OnSuccess, OnFailure).Result.Run();
|
||||||
@@ -56,7 +56,7 @@ namespace MachineJob.Service
|
|||||||
|
|
||||||
public override Task StopAsync(CancellationToken cancellationToken)
|
public override Task StopAsync(CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
return Task.Run(()=>MultipleMachinesJobScheduler.CancelJob());
|
return Task.Run(() => MultipleMachinesJobScheduler.CancelJob());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task OnSuccess(string machineId)
|
public Task OnSuccess(string machineId)
|
||||||
@@ -67,13 +67,15 @@ namespace MachineJob.Service
|
|||||||
|
|
||||||
public Task OnFailure(string machineId, int errorCode, string errorMsg)
|
public Task OnFailure(string machineId, int errorCode, string errorMsg)
|
||||||
{
|
{
|
||||||
_logger.LogError("Machine {0} set failure", machineId);
|
_logger.LogError("Machine {0} set failure: {1}", machineId, errorMsg);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Dictionary<string, double> QueryConsole(DataReturnDef dataReturnDef)
|
private Dictionary<string, double>? QueryConsole(DataReturnDef dataReturnDef)
|
||||||
{
|
{
|
||||||
var values = dataReturnDef.ReturnValues.Datas;
|
var values = dataReturnDef.ReturnValues.Datas;
|
||||||
|
if (dataReturnDef.ReturnValues.IsSuccess)
|
||||||
|
{
|
||||||
foreach (var value in values)
|
foreach (var value in values)
|
||||||
{
|
{
|
||||||
_logger.LogInformation(dataReturnDef.MachineId + " " + value.Key + " " + value.Value.DeviceValue);
|
_logger.LogInformation(dataReturnDef.MachineId + " " + value.Key + " " + value.Value.DeviceValue);
|
||||||
@@ -113,5 +115,7 @@ namespace MachineJob.Service
|
|||||||
|
|
||||||
return values.MapGetValuesToSetValues();
|
return values.MapGetValuesToSetValues();
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -26,8 +26,8 @@
|
|||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "9600",
|
||||||
"Parity": "Parity.None",
|
"Parity": "None",
|
||||||
"StopBits": "StopBits.One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "8",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
|
|||||||
@@ -26,8 +26,8 @@
|
|||||||
"FetchSleepTime": "100",
|
"FetchSleepTime": "100",
|
||||||
"ConnectionTimeout": "5000",
|
"ConnectionTimeout": "5000",
|
||||||
"BaudRate": "9600",
|
"BaudRate": "9600",
|
||||||
"Parity": "Parity.None",
|
"Parity": "None",
|
||||||
"StopBits": "StopBits.One",
|
"StopBits": "One",
|
||||||
"DataBits": "8",
|
"DataBits": "8",
|
||||||
"FullDuplex": "False",
|
"FullDuplex": "False",
|
||||||
"Modbus": {
|
"Modbus": {
|
||||||
|
|||||||
Reference in New Issue
Block a user