Modbus 버그 수정

main
DESKTOP-999R8N3\CJY 2025-02-14 15:26:41 +09:00
parent f059d6e3db
commit 3f34329291
2 changed files with 45 additions and 41 deletions

View File

@ -208,6 +208,10 @@ namespace INT_PT002.Controls
this.CollectionHexaIsProcessing[i].Text = this.ParentForm.ParentForm.Current30000ModbusData.CollectionIsProcessingHexa[i].ToString(); this.CollectionHexaIsProcessing[i].Text = this.ParentForm.ParentForm.Current30000ModbusData.CollectionIsProcessingHexa[i].ToString();
this.CollectionHexaIsLeak[i].Text = this.ParentForm.ParentForm.Current30000ModbusData.CollectionIsLeakHexa[i].ToString(); this.CollectionHexaIsLeak[i].Text = this.ParentForm.ParentForm.Current30000ModbusData.CollectionIsLeakHexa[i].ToString();
} }
// Modbus
if (this.ParentForm.ParentForm.SystemConfig.ETHERNET_COMM_MODE == 1)
this.ParentForm.ParentForm.Update30000ModbusItem();
} }
public void DisplayRefresh() public void DisplayRefresh()

View File

@ -2396,7 +2396,7 @@ namespace INT_PT002.Forms
int startAddressInt; int startAddressInt;
int numberOfRegisterInt; int numberOfRegisterInt;
int madeDataIndex = 0; int madeDataIndex = 0;
byte[] length2Value = new byte[2]; byte[] length4Value = new byte[4];
startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte); startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte);
numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte); numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte);
@ -2411,104 +2411,104 @@ namespace INT_PT002.Forms
{ {
#region Make data #region Make data
case _30000_ModbusAddress._01_1_IsProcessing: case _30000_ModbusAddress._01_1_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[0]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[0]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._02_1_IsLeak: case _30000_ModbusAddress._02_1_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[0]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[0]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._03_2_IsProcessing: case _30000_ModbusAddress._03_2_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[1]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[1]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._04_2_IsLeak: case _30000_ModbusAddress._04_2_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[1]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[1]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._05_3_IsProcessing: case _30000_ModbusAddress._05_3_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[2]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[2]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._06_3_IsLeak: case _30000_ModbusAddress._06_3_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[2]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[2]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._07_4_IsProcessing: case _30000_ModbusAddress._07_4_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[3]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[3]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._08_4_IsLeak: case _30000_ModbusAddress._08_4_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[3]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[3]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._09_5_IsProcessing: case _30000_ModbusAddress._09_5_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[4]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[4]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._10_5_IsLeak: case _30000_ModbusAddress._10_5_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[4]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[4]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._11_6_IsProcessing: case _30000_ModbusAddress._11_6_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[5]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[5]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._12_6_IsLeak: case _30000_ModbusAddress._12_6_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[5]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[5]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._13_7_IsProcessing: case _30000_ModbusAddress._13_7_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[6]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[6]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._14_7_IsLeak: case _30000_ModbusAddress._14_7_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[6]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[6]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._15_8_IsProcessing: case _30000_ModbusAddress._15_8_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[7]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[7]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._16_8_IsLeak: case _30000_ModbusAddress._16_8_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[7]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[7]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._17_9_IsProcessing: case _30000_ModbusAddress._17_9_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[8]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[8]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._18_9_IsLeak: case _30000_ModbusAddress._18_9_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[8]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[8]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._19_10_IsProcessing: case _30000_ModbusAddress._19_10_IsProcessing:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[9]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsProcessing[9]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._20_10_IsLeak: case _30000_ModbusAddress._20_10_IsLeak:
length2Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[9]); length4Value = GetBytes(this.Current30000ModbusData.CollectionIsLeak[9]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[2 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
default: default:
break; break;