update
This commit is contained in:
@@ -87,7 +87,7 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
|
|
||||||
public async Task PollForEntry(Entry entry)
|
public async Task PollForEntry(Entry entry)
|
||||||
{
|
{
|
||||||
byte[] message = new byte[7];
|
byte[] message = new byte[9];
|
||||||
Console.WriteLine("Sending message: " + Modbus.ByteArrayToString(Modbus.BuildMessage(slaveID, (byte)entry.registerType, entry.address, entry.length, ref message)));
|
Console.WriteLine("Sending message: " + Modbus.ByteArrayToString(Modbus.BuildMessage(slaveID, (byte)entry.registerType, entry.address, entry.length, ref message)));
|
||||||
var send = await Modbus.ReadRegAsync(port, slaveID, (FunctionCode)entry.registerType, entry.address, entry.length);
|
var send = await Modbus.ReadRegAsync(port, slaveID, (FunctionCode)entry.registerType, entry.address, entry.length);
|
||||||
isAwaitingResponse = true;
|
isAwaitingResponse = true;
|
||||||
@@ -125,7 +125,7 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
port.Read(message, i + 3, 1);
|
port.Read(message, i + 3, 1);
|
||||||
}
|
}
|
||||||
byte[] data = new byte[length];
|
byte[] data = new byte[length];
|
||||||
for (int i = 0; i < length - 2; i++)
|
for (int i = 0; i < length; i++)
|
||||||
{
|
{
|
||||||
data[i] = message[i+3];
|
data[i] = message[i+3];
|
||||||
}
|
}
|
||||||
|
|||||||
2
Json.cs
2
Json.cs
@@ -40,5 +40,5 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
this.readOnce = readOnce;
|
this.readOnce = readOnce;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public enum RegisterType { Coil, Discrete, Holding, Input }
|
public enum RegisterType { Coil = 1, Discrete = 2, Holding = 3, Input = 4}
|
||||||
}
|
}
|
||||||
|
|||||||
6
Main.cs
6
Main.cs
@@ -280,6 +280,8 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
|
|
||||||
void PortDataReceived(object sender, EventArgs e)
|
void PortDataReceived(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (datasheet is null)
|
||||||
|
return;
|
||||||
if (datasheet.Enabled)
|
if (datasheet.Enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -329,7 +331,7 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
|
|
||||||
private async void Button_SendCommand_Click(object sender, EventArgs e)
|
private async void Button_SendCommand_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FunctionCode functionCode = (FunctionCode)CBox_Function.SelectedIndex;
|
FunctionCode functionCode = (FunctionCode)CBox_Function.SelectedIndex + 1;
|
||||||
ushort address = (ushort)UpDown_RegAddress.Value;
|
ushort address = (ushort)UpDown_RegAddress.Value;
|
||||||
ushort length = (ushort)UpDown_RegLength.Value;
|
ushort length = (ushort)UpDown_RegLength.Value;
|
||||||
|
|
||||||
@@ -427,4 +429,4 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum FunctionCode { ReadCoil, ReadDiscrete, ReadHolding, ReadInput, WriteCoil, WriteRegister, WriteMultCoils, WriteMultRegisters };
|
public enum FunctionCode { ReadCoil = 1, ReadDiscrete = 2, ReadHolding = 3, ReadInput = 4, WriteCoil = 5, WriteRegister = 6, WriteMultCoils = 15, WriteMultRegisters = 16};
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ namespace Gidrolock_Modbus_Scanner
|
|||||||
byte[] message = new byte[8];
|
byte[] message = new byte[8];
|
||||||
|
|
||||||
//Build outgoing modbus message:
|
//Build outgoing modbus message:
|
||||||
BuildMessage(slaveID, (byte)(1 + (int)functionCode), address, length, ref message);
|
BuildMessage(slaveID, (byte)functionCode, address, length, ref message);
|
||||||
|
|
||||||
//Send modbus message to Serial Port:
|
//Send modbus message to Serial Port:
|
||||||
try
|
try
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -53,7 +53,17 @@
|
|||||||
|
|
||||||
|
|
||||||
### To-Do
|
### To-Do
|
||||||
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `.json` <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> `.json` <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
```js
|
||||||
|
"checkEntry": {
|
||||||
|
"registerType": "input"
|
||||||
|
"address": 200,
|
||||||
|
"length": 6,
|
||||||
|
"dataType": "string"
|
||||||
|
"expectedValue": "SWT485"
|
||||||
|
}
|
||||||
|
```
|
||||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Modbus TCP
|
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Modbus TCP
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user