2024年4月10日发(作者:)

return false;

}

}

public byte[] ReadKeepRegByteArr(string iAddress, string iLength)//偏移量,寄存器数量

{

try

{

ushort[] des = ldingRegisters((iAddress), (iLength));

byte[] res = eArrayFromUShortArray(des);

return res;

}

catch (Exception)

{

return null;

}

}

public ushort[] ReadKeepRegUshort(string iAddress, string iLength)//偏移量,寄存器数量

{

try

{

ushort[] des = ldingRegisters((iAddress), (iLength));

//byte[] res = eArrayFromUShortArray(des);

return des;

}

catch (Exception)

{

return null;

}

}

public List AnalyseData_4x(ushort[] des, string iAddress)

{

int StartByte;

StartByte = (iAddress) * 2;

List floatArray = new List();

byte[] byteArray = eArrayFromUShortArray(des);

for (int i = StartByte; i < ; i += 4)

{

(atFromByteArray(byteArray, i));

}

return floatArray;

}

}

}

主程序:

using uration;

using nvertLib;

namespace EF6Demon

{

public partial class FrmMain : Form

{

public FrmMain()

{

InitializeComponent();

+= FrmMain_Load;

}

private ModelsResponsitory dbContext = new ModelsResponsitory();

private ConfigurationBuilder cfgBuilder = new ConfigurationBuilder();

private IConfigurationRoot configRoot;

private CancellationTokenSource cts = new CancellationTokenSource();

ushort[] res;

string iAddress = "0";

string iLenth; //寄存器个数

private List floatList = new List();

private CancellationTokenSource cts1 = new CancellationTokenSource();

InsertDataSQLite objInsert = new InsertDataSQLite(10000);//10秒1次

private NModBusHelper objTcp;

private void FrmMain_Load(object? sender, EventArgs e)

{

//读取IP;

nFile("", optional: true, reloadOnChange: true);

Root = ();

= tion("NodeClass:ModbusNode:ServerURL").Value;

= tion("NodeClass:ModbusNode:Port").Value;

= tion("NodeClass:ModbusNode:VarNum").Value;

//读取点表信息

//for (int i = 0; i < (); i++)

//{

// Variable variable = tion($"NodeClass:ModbusNode:ModbusGroup:Variable:{i}").Get();