Modbus 운전상태 추가

main
CJY 2025-12-23 16:54:05 +09:00
parent adcf839554
commit e1d0582bdf
4 changed files with 54 additions and 7 deletions

Binary file not shown.

View File

@ -620,6 +620,8 @@ namespace INT89DB_26.Forms
}
}
this.Update30000Operation();
this.ChildFormMainDisplay.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
this.ChildFormSystemSetting.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
this.ChildFormEquipmentTest.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
@ -634,6 +636,8 @@ namespace INT89DB_26.Forms
data.IsStart = false;
}
this.Update30000Operation();
this.ChildFormMainDisplay.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
this.ChildFormSystemSetting.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
this.ChildFormEquipmentTest.UpdateEquipmentStatusDisplay(this.EquipmentStatus);
@ -1866,6 +1870,12 @@ namespace INT89DB_26.Forms
byte[] length2Value = new byte[2];
byte[] length4Value = new byte[4];
int equipmentStatus;
if (this.EquipmentStatus == DataStore.EquipmentStatus.Start)
equipmentStatus = 1;
else
equipmentStatus = 0;
startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte);
numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte);
@ -1994,12 +2004,6 @@ namespace INT89DB_26.Forms
double deadZoneLow = this.Current30000ModbusData.DeadZoneLowLimit;
double deadZoneHigh = this.Current30000ModbusData.DeadZoneHighLimit;
int equipmentStatus;
if (this.EquipmentStatus == DataStore.EquipmentStatus.Start)
equipmentStatus = 1;
else
equipmentStatus = 0;
for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++)
{
switch (j)
@ -2010,6 +2014,16 @@ namespace INT89DB_26.Forms
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[1 - i];
break;
case (int)ModbusDefine._30000_Modbus.Operation_High:
length4Value = GetBytes(this.Current30000ModbusData.OperationStatus);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case (int)ModbusDefine._30000_Modbus.Operation_Low:
length4Value = GetBytes(this.Current30000ModbusData.OperationStatus);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case (int)ModbusDefine._30000_Modbus.UnderRange_High_Float:
length4Value = GetBytes((Single)underValue);
for (int i = 0; i < 2; i++)
@ -3103,6 +3117,16 @@ namespace INT89DB_26.Forms
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length2Value[1 - i];
break;
case (int)ModbusDefine._30000_Modbus.Operation_High:
length4Value = GetBytes(this.Current30000ModbusData.OperationStatus);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case (int)ModbusDefine._30000_Modbus.Operation_Low:
length4Value = GetBytes(this.Current30000ModbusData.OperationStatus);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case (int)ModbusDefine._30000_Modbus.UnderRange_High_Float:
length4Value = GetBytes((Single)underValue);
for (int i = 0; i < 2; i++)
@ -4438,6 +4462,13 @@ namespace INT89DB_26.Forms
return judgmentStatus;
}
public void Update30000Operation()
{
if (this.EquipmentStatus == DataStore.EquipmentStatus.Start)
this.Current30000ModbusData.OperationStatus = 1;
else
this.Current30000ModbusData.OperationStatus = 0;
}
public void Update30000DecimalPoint()
{
this.Current30000ModbusData.DecimalPoint = short.Parse(this.SystemConfig.DecimalPlaces.ToString());

View File

@ -10,6 +10,8 @@ namespace INT89DB_26.Int_Modbus
public enum _30000_Modbus
{
DecimalPoint = 0,
Operation_High = 40,
Operation_Low = 41,
UnderRange_High_Float = 1010,
UnderRange_Low_Float = 1011,
PassRange_High_Float = 1012,

View File

@ -10,6 +10,7 @@ namespace INT89DB_26.Int_Modbus
{
#region Field
private short m_DecimalPoint;
private int m_OperationStatus;
private double m_UnderValue;
private double m_PassValue;
private double m_OverValue;
@ -37,6 +38,11 @@ namespace INT89DB_26.Int_Modbus
get { return this.m_DecimalPoint; }
set { this.m_DecimalPoint = value; }
}
public int OperationStatus
{
get { return this.m_OperationStatus; }
set { this.m_OperationStatus = value; }
}
public double UnderValue
{
get { return this.m_UnderValue; }
@ -58,7 +64,14 @@ namespace INT89DB_26.Int_Modbus
set { this.m_TareValue = value; }
}
public string HexStringOperationStatus
{
get
{
string hexString = this.OperationStatus.ToString("X8");
return hexString;
}
}
public string HexStringUnderValue
{
get
@ -150,6 +163,7 @@ namespace INT89DB_26.Int_Modbus
public void Initialization()
{
this.DecimalPoint = 1;
this.OperationStatus = 0;
this.UnderValue = 100.0;
this.PassValue = 200.0;
this.OverValue = 300.0;