removed device selection in favour of auto-detection
This commit is contained in:
65
Datasheet.Designer.cs
generated
65
Datasheet.Designer.cs
generated
@@ -30,6 +30,9 @@
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Datasheet));
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.cBoxSpeed = new System.Windows.Forms.ComboBox();
|
||||
this.buttonSetSpeed = new System.Windows.Forms.Button();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.labelBattery = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.buttonPoll = new System.Windows.Forms.Button();
|
||||
@@ -52,9 +55,6 @@
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.sensorPanel = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.cBoxSpeed = new System.Windows.Forms.ComboBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudModbusID)).BeginInit();
|
||||
this.groupBox2.SuspendLayout();
|
||||
@@ -63,7 +63,7 @@
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.cBoxSpeed);
|
||||
this.groupBox1.Controls.Add(this.button1);
|
||||
this.groupBox1.Controls.Add(this.buttonSetSpeed);
|
||||
this.groupBox1.Controls.Add(this.label8);
|
||||
this.groupBox1.Controls.Add(this.labelBattery);
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
@@ -82,6 +82,34 @@
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Инфо";
|
||||
//
|
||||
// cBoxSpeed
|
||||
//
|
||||
this.cBoxSpeed.FormattingEnabled = true;
|
||||
this.cBoxSpeed.Location = new System.Drawing.Point(74, 97);
|
||||
this.cBoxSpeed.Name = "cBoxSpeed";
|
||||
this.cBoxSpeed.Size = new System.Drawing.Size(73, 21);
|
||||
this.cBoxSpeed.TabIndex = 13;
|
||||
this.cBoxSpeed.Text = "9600";
|
||||
//
|
||||
// buttonSetSpeed
|
||||
//
|
||||
this.buttonSetSpeed.Location = new System.Drawing.Point(153, 94);
|
||||
this.buttonSetSpeed.Name = "buttonSetSpeed";
|
||||
this.buttonSetSpeed.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonSetSpeed.TabIndex = 12;
|
||||
this.buttonSetSpeed.Text = "Изменить";
|
||||
this.buttonSetSpeed.UseVisualStyleBackColor = true;
|
||||
this.buttonSetSpeed.Click += new System.EventHandler(this.buttonSetSpeed_Click);
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(6, 99);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(58, 13);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "Скорость:";
|
||||
//
|
||||
// labelBattery
|
||||
//
|
||||
this.labelBattery.AutoSize = true;
|
||||
@@ -297,33 +325,6 @@
|
||||
this.label9.TabIndex = 5;
|
||||
this.label9.Text = "Датчики";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(153, 94);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 12;
|
||||
this.button1.Text = "Изменить";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(6, 99);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(58, 13);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "Скорость:";
|
||||
//
|
||||
// cBoxSpeed
|
||||
//
|
||||
this.cBoxSpeed.FormattingEnabled = true;
|
||||
this.cBoxSpeed.Location = new System.Drawing.Point(74, 97);
|
||||
this.cBoxSpeed.Name = "cBoxSpeed";
|
||||
this.cBoxSpeed.Size = new System.Drawing.Size(73, 21);
|
||||
this.cBoxSpeed.TabIndex = 13;
|
||||
this.cBoxSpeed.Text = "9600";
|
||||
//
|
||||
// Datasheet
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
@@ -373,7 +374,7 @@
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label labelBattery;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Button buttonSetSpeed;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.ComboBox cBoxSpeed;
|
||||
}
|
||||
|
||||
32
Datasheet.cs
32
Datasheet.cs
@@ -346,6 +346,38 @@ namespace Gidrolock_Modbus_Scanner
|
||||
buttonCleaning.Text = cleaningStatus ? "Выключить" : "Включить";
|
||||
}
|
||||
}
|
||||
|
||||
private async void buttonSetSpeed_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string str = cBoxSpeed.Items[cBoxSpeed.SelectedIndex].ToString();
|
||||
str = str.Substring(0, str.Length - 2); //clip off two zeroes at the end
|
||||
ushort newSpeed = (ushort)Int16.Parse(str);
|
||||
//Console.WriteLine("Baudrate: " + newSpeed);
|
||||
|
||||
// send speed value to device
|
||||
// await for response
|
||||
Modbus.WriteSingleAsync(FunctionCode.WriteRegister, modbusID, device.baudRate.address, newSpeed);
|
||||
await Task.Delay(2000).ContinueWith(_ =>
|
||||
{
|
||||
if (isAwaitingResponse)
|
||||
{
|
||||
MessageBox.Show("Превышено время ожидания ответа от устройства.");
|
||||
isAwaitingResponse = false;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
while (isAwaitingResponse) { continue; }
|
||||
if (latestMessage.Status != ModbusStatus.Error)
|
||||
{
|
||||
port.Close();
|
||||
port.BaudRate = newSpeed;
|
||||
port.Open();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { MessageBox.Show(ex.Message); }
|
||||
}
|
||||
}
|
||||
public class Sensor : FlowLayoutPanel
|
||||
{
|
||||
|
||||
72
Main.Designer.cs
generated
72
Main.Designer.cs
generated
@@ -30,17 +30,14 @@
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(App));
|
||||
this.TextBox_Log = new System.Windows.Forms.TextBox();
|
||||
this.UpDown_ModbusID = new System.Windows.Forms.NumericUpDown();
|
||||
this.upDownModbusID = new System.Windows.Forms.NumericUpDown();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.cBoxPorts = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.cBoxDevice = new System.Windows.Forms.ComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.checkboxID = new System.Windows.Forms.CheckBox();
|
||||
this.cBoxSpeed = new System.Windows.Forms.ComboBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.UpDown_ModbusID)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.upDownModbusID)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TextBox_Log
|
||||
@@ -53,17 +50,22 @@
|
||||
this.TextBox_Log.Size = new System.Drawing.Size(498, 160);
|
||||
this.TextBox_Log.TabIndex = 1;
|
||||
//
|
||||
// UpDown_ModbusID
|
||||
// upDownModbusID
|
||||
//
|
||||
this.UpDown_ModbusID.Location = new System.Drawing.Point(334, 26);
|
||||
this.UpDown_ModbusID.Name = "UpDown_ModbusID";
|
||||
this.UpDown_ModbusID.Size = new System.Drawing.Size(66, 20);
|
||||
this.UpDown_ModbusID.TabIndex = 1;
|
||||
this.upDownModbusID.Location = new System.Drawing.Point(164, 27);
|
||||
this.upDownModbusID.Name = "upDownModbusID";
|
||||
this.upDownModbusID.Size = new System.Drawing.Size(66, 20);
|
||||
this.upDownModbusID.TabIndex = 1;
|
||||
this.upDownModbusID.Value = new decimal(new int[] {
|
||||
30,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(331, 9);
|
||||
this.label2.Location = new System.Drawing.Point(161, 9);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(59, 13);
|
||||
this.label2.TabIndex = 0;
|
||||
@@ -72,7 +74,7 @@
|
||||
// cBoxPorts
|
||||
//
|
||||
this.cBoxPorts.FormattingEnabled = true;
|
||||
this.cBoxPorts.Location = new System.Drawing.Point(139, 24);
|
||||
this.cBoxPorts.Location = new System.Drawing.Point(12, 26);
|
||||
this.cBoxPorts.Name = "cBoxPorts";
|
||||
this.cBoxPorts.Size = new System.Drawing.Size(65, 21);
|
||||
this.cBoxPorts.TabIndex = 1;
|
||||
@@ -81,7 +83,7 @@
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(136, 7);
|
||||
this.label1.Location = new System.Drawing.Point(9, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(32, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
@@ -97,38 +99,10 @@
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.ButtonConnect_Click);
|
||||
//
|
||||
// cBoxDevice
|
||||
//
|
||||
this.cBoxDevice.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cBoxDevice.Location = new System.Drawing.Point(12, 24);
|
||||
this.cBoxDevice.Name = "cBoxDevice";
|
||||
this.cBoxDevice.Size = new System.Drawing.Size(121, 21);
|
||||
this.cBoxDevice.TabIndex = 3;
|
||||
this.cBoxDevice.SelectedIndexChanged += new System.EventHandler(this.cBoxDevice_SelectedIndexChanged);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(9, 8);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(67, 13);
|
||||
this.label3.TabIndex = 4;
|
||||
this.label3.Text = "Устройство";
|
||||
//
|
||||
// checkboxID
|
||||
//
|
||||
this.checkboxID.AutoSize = true;
|
||||
this.checkboxID.Location = new System.Drawing.Point(313, 29);
|
||||
this.checkboxID.Name = "checkboxID";
|
||||
this.checkboxID.Size = new System.Drawing.Size(15, 14);
|
||||
this.checkboxID.TabIndex = 5;
|
||||
this.checkboxID.UseVisualStyleBackColor = true;
|
||||
this.checkboxID.CheckedChanged += new System.EventHandler(this.checkboxID_CheckedChanged);
|
||||
//
|
||||
// cBoxSpeed
|
||||
//
|
||||
this.cBoxSpeed.FormattingEnabled = true;
|
||||
this.cBoxSpeed.Location = new System.Drawing.Point(210, 24);
|
||||
this.cBoxSpeed.Location = new System.Drawing.Point(83, 26);
|
||||
this.cBoxSpeed.Name = "cBoxSpeed";
|
||||
this.cBoxSpeed.Size = new System.Drawing.Size(78, 21);
|
||||
this.cBoxSpeed.TabIndex = 7;
|
||||
@@ -137,7 +111,7 @@
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(207, 7);
|
||||
this.label4.Location = new System.Drawing.Point(80, 9);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(55, 13);
|
||||
this.label4.TabIndex = 6;
|
||||
@@ -150,13 +124,10 @@
|
||||
this.ClientSize = new System.Drawing.Size(518, 226);
|
||||
this.Controls.Add(this.cBoxSpeed);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.checkboxID);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.cBoxDevice);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.cBoxPorts);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.UpDown_ModbusID);
|
||||
this.Controls.Add(this.upDownModbusID);
|
||||
this.Controls.Add(this.TextBox_Log);
|
||||
this.Controls.Add(this.label2);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
@@ -167,7 +138,7 @@
|
||||
this.Text = "Gidrolock Modbus Scanner";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.App_FormClosed);
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.UpDown_ModbusID)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.upDownModbusID)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -175,14 +146,11 @@
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.TextBox TextBox_Log;
|
||||
private System.Windows.Forms.NumericUpDown UpDown_ModbusID;
|
||||
private System.Windows.Forms.NumericUpDown upDownModbusID;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ComboBox cBoxPorts;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.CheckBox checkboxID;
|
||||
private System.Windows.Forms.ComboBox cBoxDevice;
|
||||
private System.Windows.Forms.ComboBox cBoxSpeed;
|
||||
private System.Windows.Forms.Label label4;
|
||||
}
|
||||
|
||||
87
Main.cs
87
Main.cs
@@ -27,7 +27,7 @@ namespace Gidrolock_Modbus_Scanner
|
||||
Modbus.Init();
|
||||
Modbus.ResponseReceived += OnResponseReceived;
|
||||
|
||||
this.UpDown_ModbusID.Value = 0;
|
||||
this.upDownModbusID.Value = 0;
|
||||
TextBox_Log.Text = "Приложение готово к работе.";
|
||||
|
||||
cBoxSpeed.Items.Add("1200");
|
||||
@@ -41,17 +41,9 @@ namespace Gidrolock_Modbus_Scanner
|
||||
cBoxSpeed.Items.Add("115200");
|
||||
cBoxSpeed.SelectedIndex = 3;
|
||||
|
||||
cBoxDevice.Items.Add("Standard");
|
||||
cBoxDevice.Items.Add("Premium Plus");
|
||||
//cBoxDevice.Items.Add("Inteli");
|
||||
//cBoxDevice.Items.Add("Premium");
|
||||
cBoxDevice.SelectedIndex = 0;
|
||||
|
||||
checkboxID.Checked = false;
|
||||
UpDown_ModbusID.Enabled = false;
|
||||
UpDown_ModbusID.Value = 30;
|
||||
UpDown_ModbusID.Minimum = 1;
|
||||
UpDown_ModbusID.Maximum = 247;
|
||||
upDownModbusID.Value = 30;
|
||||
upDownModbusID.Minimum = 1;
|
||||
upDownModbusID.Maximum = 247;
|
||||
|
||||
models.Add("Standard", "STW485");
|
||||
models.Add("Premium Plus", "PRPLS1");
|
||||
@@ -92,7 +84,7 @@ namespace Gidrolock_Modbus_Scanner
|
||||
if (res == DialogResult.Cancel)
|
||||
return;
|
||||
}
|
||||
if (UpDown_ModbusID.Value == 0)
|
||||
if (upDownModbusID.Value == 0)
|
||||
{
|
||||
DialogResult res = MessageBox.Show("Указан Modbus ID 0 — глобальное вещание. Устройства не смогут отвечать на сообщения. Продолжить?", "Внимание", MessageBoxButtons.OKCancel);
|
||||
if (res == DialogResult.Cancel)
|
||||
@@ -124,15 +116,12 @@ namespace Gidrolock_Modbus_Scanner
|
||||
// if matching model is found, instantiate device window
|
||||
|
||||
|
||||
string selectedModel = models[cBoxDevice.SelectedItem.ToString()];
|
||||
int selectedIndex = cBoxDevice.SelectedIndex;
|
||||
AddLog("Проверка модели устройства.");
|
||||
await Task.Run(async () =>
|
||||
{
|
||||
// send message
|
||||
latestMessage = null;
|
||||
isAwaitingResponse = true;
|
||||
var send = Modbus.ReadRegAsync((byte)UpDown_ModbusID.Value, FunctionCode.ReadInput, 200, 6);
|
||||
var send = Modbus.ReadRegAsync((byte)upDownModbusID.Value, FunctionCode.ReadInput, 200, 6);
|
||||
await Task.Delay(2000).ContinueWith(_ =>
|
||||
{
|
||||
if (isAwaitingResponse)
|
||||
@@ -145,28 +134,15 @@ namespace Gidrolock_Modbus_Scanner
|
||||
|
||||
while (isAwaitingResponse) { continue; }
|
||||
|
||||
if (latestMessage is null)
|
||||
{
|
||||
Console.WriteLine("latestMessage is still null");
|
||||
return;
|
||||
}
|
||||
|
||||
if (latestMessage.Status == ModbusStatus.Error)
|
||||
return;
|
||||
|
||||
|
||||
// confirm the model
|
||||
string response = ByteArrayToUnicode(latestMessage.Data);
|
||||
Console.WriteLine("device model response: " + response);
|
||||
Console.WriteLine("expected response: " + selectedModel);
|
||||
if (response != selectedModel)
|
||||
{
|
||||
// response doesn't match expected model
|
||||
AddLog("Ответ устройства не соответствует выбранной модели. Поиск подходящей модели.");
|
||||
// check whether it matches anything else, offer to open that model if it does
|
||||
int index = 0;
|
||||
string match = "";
|
||||
string model = "";
|
||||
int index = 0;
|
||||
foreach (string key in models.Keys)
|
||||
{
|
||||
if (models[key] == response)
|
||||
@@ -178,14 +154,10 @@ namespace Gidrolock_Modbus_Scanner
|
||||
index++;
|
||||
}
|
||||
|
||||
|
||||
if (match == "") // if no matches found
|
||||
MessageBox.Show("Подключенное устройство не соответствует ни одной из поддерживаемых моделей.");
|
||||
|
||||
else // match found, offer to switch to that model instead
|
||||
{
|
||||
DialogResult result = MessageBox.Show(("Подключенное устройство соответствует модели " + model + ". Нажмите ОК, чтобы открыть настройки для модели " + model), "Внимание", MessageBoxButtons.OKCancel);
|
||||
if (result == DialogResult.OK)
|
||||
else // match found
|
||||
{
|
||||
// instantiate panel
|
||||
AddLog("Открываю панель конфигурации.");
|
||||
@@ -193,15 +165,6 @@ namespace Gidrolock_Modbus_Scanner
|
||||
Device device = GetDevice((DeviceType)index);
|
||||
StartDatasheet(device);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// model is correct, instantiate config panel
|
||||
AddLog("Устройство соответстует модели, открываю панель конфигурации.");
|
||||
Device device = GetDevice((DeviceType)selectedIndex);
|
||||
StartDatasheet(device);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -212,7 +175,7 @@ namespace Gidrolock_Modbus_Scanner
|
||||
|
||||
void StartDatasheet(Device device)
|
||||
{
|
||||
datasheet = new Datasheet((byte)UpDown_ModbusID.Value, device);
|
||||
datasheet = new Datasheet((byte)upDownModbusID.Value, device);
|
||||
Application.Run(datasheet);
|
||||
}
|
||||
|
||||
@@ -319,33 +282,6 @@ namespace Gidrolock_Modbus_Scanner
|
||||
return new string(result.ToArray());
|
||||
}
|
||||
|
||||
private void checkboxID_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
UpDown_ModbusID.Enabled = checkboxID.Checked ? true : false;
|
||||
}
|
||||
|
||||
private void cBoxDevice_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (cBoxDevice.SelectedItem)
|
||||
{
|
||||
case "Standard":
|
||||
UpDown_ModbusID.Value = 30;
|
||||
break;
|
||||
case "Premium Plus":
|
||||
UpDown_ModbusID.Value = 30;
|
||||
break;
|
||||
case "Inteli":
|
||||
UpDown_ModbusID.Value = 26;
|
||||
break;
|
||||
case "Premium":
|
||||
UpDown_ModbusID.Value = 26;
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine("Invalid change");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public Device GetDevice(DeviceType dt)
|
||||
{
|
||||
Device d = new Device();
|
||||
@@ -355,6 +291,7 @@ namespace Gidrolock_Modbus_Scanner
|
||||
d.name = "Standard Wi-Fi RS485";
|
||||
d.id = 30;
|
||||
d.modelName = "STW485";
|
||||
d.baudRate = new Entry(RegisterType.Holding, 110);
|
||||
|
||||
d.valveStatus = new Entry(RegisterType.Coil, 1202);
|
||||
d.alarmStatus = new Entry(RegisterType.Coil, 1201);
|
||||
@@ -378,6 +315,7 @@ namespace Gidrolock_Modbus_Scanner
|
||||
d.name = "Premium Plus Wi-Fi";
|
||||
d.id = 30;
|
||||
d.modelName = "PRPLS1";
|
||||
d.baudRate = new Entry(RegisterType.Holding, 110);
|
||||
|
||||
d.valveStatus = new Entry(RegisterType.Coil, 1202);
|
||||
d.alarmStatus = new Entry(RegisterType.Coil, 1201);
|
||||
@@ -395,6 +333,9 @@ namespace Gidrolock_Modbus_Scanner
|
||||
break;
|
||||
case DeviceType.Premium:
|
||||
d.modelName = "Premium";
|
||||
d.id = 26;
|
||||
d.modelName = "BUP485";
|
||||
d.baudRate = new Entry(RegisterType.Holding, 110);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user