- 제품진입 미감지 기능 추가(레드마인 #2818 참고)

1. 엔지니어 설정 '제품진입 미감지' 0.0 초과일 경우, 기능 작동
   2. 알람 8 - 제품진입 미감지 추가
   3. IsJudgmentNow1, 2 판정 시 true로 변경 -> 영점표시 시 false
      false일 경우만 알람 발생
      알람 발생 시, 장비 정지 신호 메인보드로 전송
   4. labelAlarmWindow 추가 -> 현재 제품진입 미감지 시에만 Pop up됨
      창 클릭 시, 운전 시 해제
   5. 알람 해제 조건 : 정지 시
master
DESKTOP-999R8N3\CJY 2022-12-05 17:13:22 +09:00
parent 3d5708196b
commit 333ab9ff18
13 changed files with 796 additions and 623 deletions

View File

@ -35,6 +35,8 @@
this.labelTitleCommunicationLog = new SmartX.SmartLabel();
this.buttonCommunicationLog = new SmartX.SmartButton();
this.labelTitleEquipmentType = new SmartX.SmartLabel();
this.labelEntryNotDetected = new SmartX.SmartLabel();
this.labelTitleEntryNotDetected = new SmartX.SmartLabel();
this.smartGroupBox1.SuspendLayout();
this.SuspendLayout();
//
@ -43,6 +45,8 @@
this.smartGroupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(46)))), ((int)(((byte)(46)))));
this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null;
this.smartGroupBox1.Controls.Add(this.labelEntryNotDetected);
this.smartGroupBox1.Controls.Add(this.labelTitleEntryNotDetected);
this.smartGroupBox1.Controls.Add(this.comboBoxEquipmentType);
this.smartGroupBox1.Controls.Add(this.buttonCapture);
this.smartGroupBox1.Controls.Add(this.labelTitleCommunicationLog);
@ -176,6 +180,46 @@
this.labelTitleEquipmentType.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleEquipmentType.Wordwrap = false;
//
// labelEntryNotDetected
//
this.labelEntryNotDetected.BackColor = System.Drawing.SystemColors.Window;
this.labelEntryNotDetected.BackPictureBox = null;
this.labelEntryNotDetected.BackPictureBox1 = null;
this.labelEntryNotDetected.BackPictureBox2 = null;
this.labelEntryNotDetected.BorderColor = System.Drawing.Color.Black;
this.labelEntryNotDetected.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelEntryNotDetected.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelEntryNotDetected.InitVisible = true;
this.labelEntryNotDetected.LineSpacing = 0F;
this.labelEntryNotDetected.Location = new System.Drawing.Point(401, 84);
this.labelEntryNotDetected.Name = "labelEntryNotDetected";
this.labelEntryNotDetected.Size = new System.Drawing.Size(120, 28);
this.labelEntryNotDetected.TabIndex = 219;
this.labelEntryNotDetected.Text = "0.0";
this.labelEntryNotDetected.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelEntryNotDetected.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelEntryNotDetected.Wordwrap = false;
this.labelEntryNotDetected.Click += new System.EventHandler(this.labelEntryNotDeteced_Click);
//
// labelTitleEntryNotDetected
//
this.labelTitleEntryNotDetected.BackPictureBox1 = null;
this.labelTitleEntryNotDetected.BackPictureBox2 = this.smartGroupBox1;
this.labelTitleEntryNotDetected.BorderColor = System.Drawing.Color.Black;
this.labelTitleEntryNotDetected.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleEntryNotDetected.Font = new System.Drawing.Font("새굴림", 11F, System.Drawing.FontStyle.Bold);
this.labelTitleEntryNotDetected.ForeColor = System.Drawing.Color.White;
this.labelTitleEntryNotDetected.InitVisible = true;
this.labelTitleEntryNotDetected.LineSpacing = 0F;
this.labelTitleEntryNotDetected.Location = new System.Drawing.Point(130, 84);
this.labelTitleEntryNotDetected.Name = "labelTitleEntryNotDetected";
this.labelTitleEntryNotDetected.Size = new System.Drawing.Size(265, 28);
this.labelTitleEntryNotDetected.TabIndex = 218;
this.labelTitleEntryNotDetected.Text = "제품진입 미감지";
this.labelTitleEntryNotDetected.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitleEntryNotDetected.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleEntryNotDetected.Wordwrap = false;
//
// ControlCenterEquipEngineer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -196,5 +240,7 @@
private SmartX.SmartLabel labelTitleCommunicationLog;
private SmartX.SmartButton buttonCommunicationLog;
private SmartX.SmartLabel labelTitleEquipmentType;
public SmartX.SmartLabel labelEntryNotDetected;
private SmartX.SmartLabel labelTitleEntryNotDetected;
}
}

View File

@ -138,9 +138,10 @@ namespace ITC81DB_2.Controls
}
private void UpdateParameterDisplay(SystemConfigurationItem item)
private void UpdateParameterDisplay(SystemConfigurationItem item, SystemParameter9507 system)
{
int index = 0;
string value = "";
// 장비타입
this.comboBoxEquipmentType.SelectedIndexChanged -= new EventHandler(this.comboBoxEquipmentType_SelectedIndexChanged);
@ -162,6 +163,10 @@ namespace ITC81DB_2.Controls
this.buttonCommunicationLog.ButtonDown();
else
this.buttonCommunicationLog.ButtonUp();
value = Helper.StringToDecimalPlaces(system.EntryNotDetectedWeight, this.ParentForm.ParentForm.SystemConfig.DecimalPlaces);
if (this.labelEntryNotDetected.Text != value)
this.labelEntryNotDetected.Text = value;
}
public void DisplayRefresh(SystemStatus status)
@ -170,7 +175,7 @@ namespace ITC81DB_2.Controls
this.ParentForm.ParentForm.SetDisplayMode(DataStore.DisplayMode.Menu);
this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus);
this.UpdateParameterDisplay(this.ParentForm.ParentForm.SystemConfig);
this.UpdateParameterDisplay(this.ParentForm.ParentForm.SystemConfig, this.ParentForm.ParentForm.CurrentSystemParameter9507);
}
#endregion
@ -203,6 +208,30 @@ namespace ITC81DB_2.Controls
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._1002_EquipmentType, value);
}
private void labelEntryNotDeteced_Click(object sender, EventArgs e)
{
string value = "";
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelEntryNotDetected.Text, 5, this.ParentForm.ParentForm.SystemConfig.DecimalPlaces,
false, this.ParentForm.ParentForm.SystemConfig.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
if (myKeyPad.doubleValue < 0.0)
{
// 입력범위를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.Language);
myMsg.ShowDialog();
}
else
{
this.labelEntryNotDetected.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.CurrentSystemParameter9507.EntryNotDetectedWeight = myKeyPad.StringValue.Replace(".", "");
value = Helper.StringZeroFillDigits7(this.ParentForm.ParentForm.CurrentSystemParameter9507.EntryNotDetectedWeight);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._6010_EntryNotDetectedWeight, value);
}
}
}
private void buttonCapture_Click(object sender, EventArgs e)
{

View File

@ -63,7 +63,7 @@ namespace ITC81DB_2.Controls
private void DefaultSetting()
{
this.labelSerialNo.Text = this.ParentForm.ParentForm.SystemConfig.SerialNumber;
this.labelDisplayVer.Text = "2.4.0";
this.labelDisplayVer.Text = "2.5.0";
}
public void UpdateMainBoardVersionDisplay(string version)

View File

@ -351,7 +351,11 @@ namespace ITC81DB_2.Controls
// 영점 아이콘표시
if (data.Status == DataStore.WeightStatus.WeightZero)
{
if (this.ParentForm.ParentForm.IsJudgmentNow1 == true)
this.ParentForm.ParentForm.IsJudgmentNow1 = false;
this.pictureBoxIconZero1.Visible = true;
}
else
this.pictureBoxIconZero1.Visible = false;
@ -369,7 +373,11 @@ namespace ITC81DB_2.Controls
// 영점 아이콘표시
if (data.Status == DataStore.WeightStatus.WeightZero)
{
if (this.ParentForm.ParentForm.IsJudgmentNow2 == true)
this.ParentForm.ParentForm.IsJudgmentNow2 = false;
this.pictureBoxIconZero2.Visible = true;
}
else
this.pictureBoxIconZero2.Visible = false;

View File

@ -567,6 +567,8 @@ namespace ITC81DB_2
public static readonly string _6006_Chattering = "6006";
// 옵션 - 외부 NG 입력 사용
public static readonly string _6007_ExternalInput = "6007";
// 옵션 - 제품진입 미감지
public static readonly string _6010_EntryNotDetectedWeight = "6010";
// 옵션 - OPT2_포트
public static readonly string _6231_OPT2Port = "6231";
// 옵션 - OPT2_지연시간1
@ -1222,6 +1224,7 @@ namespace ITC81DB_2
private bool m_IsPressureSensingError;
private bool m_IsEmergencyStop;
private bool m_IsDoorInterlock;
private bool m_IsEntryNotDetected;
private DateTime m_StartTime;
private DateTime m_StopTime;
@ -1289,6 +1292,11 @@ namespace ITC81DB_2
get { return this.m_IsDoorInterlock; }
set { this.m_IsDoorInterlock = value; }
}
public bool IsEntryNotDetected
{
get { return this.m_IsEntryNotDetected; }
set { this.m_IsEntryNotDetected = value; }
}
public DateTime StartTime
{
@ -1590,6 +1598,7 @@ namespace ITC81DB_2
this.IsInverterError = false;
this.IsPressureSensingError = false;
this.IsDoorInterlock = false;
this.IsEntryNotDetected = false;
this.StartTime = new DateTime(1111, 11, 11, 11, 11, 11);
this.StopTime = new DateTime(1111, 11, 11, 11, 11, 11);
@ -1980,6 +1989,7 @@ namespace ITC81DB_2
private string m_RelayOnTime;
private string m_Chattering;
private string m_SorterDoubleEntry;
private string m_EntryNotDetectedWeight;
private string m_Dummy1;
private string m_Dummy2;
@ -1993,10 +2003,6 @@ namespace ITC81DB_2
private string m_Dummy10;
private string m_Dummy11;
private string m_Dummy12;
private string m_Dummy13;
private string m_Dummy14;
private string m_Dummy15;
private string m_Dummy16;
#endregion
#region Constructor
@ -2027,6 +2033,11 @@ namespace ITC81DB_2
get { return this.m_SorterDoubleEntry; }
set { this.m_SorterDoubleEntry = value; }
}
public string EntryNotDetectedWeight
{
get { return this.m_EntryNotDetectedWeight; }
set { this.m_EntryNotDetectedWeight = value; }
}
public string Dummy1
{
@ -2088,26 +2099,6 @@ namespace ITC81DB_2
get { return this.m_Dummy12; }
set { this.m_Dummy12 = value; }
}
public string Dummy13
{
get { return this.m_Dummy13; }
set { this.m_Dummy13 = value; }
}
public string Dummy14
{
get { return this.m_Dummy14; }
set { this.m_Dummy14 = value; }
}
public string Dummy15
{
get { return this.m_Dummy15; }
set { this.m_Dummy15 = value; }
}
public string Dummy16
{
get { return this.m_Dummy16; }
set { this.m_Dummy16 = value; }
}
#endregion
#region Method
@ -2117,6 +2108,7 @@ namespace ITC81DB_2
this.RelayOnTime = "500";
this.Chattering = "0";
this.SorterDoubleEntry = "0";
this.EntryNotDetectedWeight = "0";
this.Dummy1 = "0";
this.Dummy2 = "0";
@ -2130,10 +2122,6 @@ namespace ITC81DB_2
this.Dummy10 = "0";
this.Dummy11 = "0";
this.Dummy12 = "0";
this.Dummy13 = "0";
this.Dummy14 = "0";
this.Dummy15 = "0";
this.Dummy16 = "0";
}
#endregion
}
@ -2170,6 +2158,8 @@ namespace ITC81DB_2
public string SorterDetecting;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string OptionBoard;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string EntryNotDetectedWeight;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string Dummy1;
@ -2181,8 +2171,6 @@ namespace ITC81DB_2
public string Dummy4;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string Dummy5;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)]
public string Dummy6;
}
#endregion
#region SystemParameter9508

View File

@ -23,6 +23,8 @@ namespace ITC81DB_2.Forms
private int CommunicationCheckCount;
public bool IsBootingComplete;
public int BufferSmartUart;
public bool IsJudgmentNow1;
public bool IsJudgmentNow2;
// 로그온 색상
public Color ColorLogOff;
@ -135,6 +137,8 @@ namespace ITC81DB_2.Forms
this.CommunicationCheckCount = 0;
this.IsBootingComplete = false;
this.BufferSmartUart = 1000000;
this.IsJudgmentNow1 = false;
this.IsJudgmentNow2 = false;
this.ColorLogOff = Color.Red;
this.ColorLogOn = Color.Lime;
@ -283,7 +287,7 @@ namespace ITC81DB_2.Forms
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._9017_SystemParameterWrite, sb.ToString());
}
private void ConverterAlarm(ref WeightData data, string alarm)
private void ConverterAlarm(ref WeightData data, string alarm, int laneNum)
{
string sValue1 = "", sValue2 = "", sValue3 = "";
@ -314,11 +318,30 @@ namespace ITC81DB_2.Forms
{ }
else
{ }
// 알람 8-
// 알람 8-제품진입 미감지
if (sValue2[0] == '0')
{ }
data.IsEntryNotDetected = false;
else
{ }
{
if (laneNum == 1)
{
if (this.IsJudgmentNow1 == false)
{
data.IsEntryNotDetected = true;
if (this.CurrentSystemStatus.Equipment == DataStore.EquipmentStatus.Start)
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
}
}
else
{
if (this.IsJudgmentNow2 == false)
{
data.IsEntryNotDetected = true;
if (this.CurrentSystemStatus.Equipment == DataStore.EquipmentStatus.Start)
this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard);
}
}
}
// 알람 7-리젝터 동작 감지
if (sValue2[1] == '0')
{ }
@ -613,8 +636,8 @@ namespace ITC81DB_2.Forms
#region Test 용 통신 로그
fullPath = this.PathDataBackupFolder + "Communicationlog.txt";
this.smartFileCommunicationLog.FilePathName = fullPath;
//this.smartFileCommunicationLog.Open();
//this.IsCommunicationLogOpen = true;
this.smartFileCommunicationLog.Open();
this.IsCommunicationLogOpen = true;
#endregion
}
public void CloseSmartUartLink()
@ -877,6 +900,9 @@ namespace ITC81DB_2.Forms
this.SaveCounterFile2(this.CurrentWeightData2, this.SystemConfig.ProductNumber - 1);
}
// 운전 시, 진입센서 미감지 Pop up 창 자동 Close
this.ChildFormMainDisplay.PopUpWarningClose();
if (this.CurrentSystemStatus.CurrentDisplay == DataStore.DisplayStore.MainDisplay)
this.ChildFormMainDisplay.UpdateEquipmentStatusDisplay(this.CurrentSystemStatus.Equipment);
else
@ -1194,22 +1220,19 @@ namespace ITC81DB_2.Forms
this.CurrentSystemParameter9507.RelayOnTime = receiveData.Substring(4, 4).Trim();
this.CurrentSystemParameter9507.SorterDoubleEntry = receiveData.Substring(8, 4).Trim();
this.CurrentSystemParameter9507.Chattering = receiveData.Substring(12, 4).Trim();
this.CurrentSystemParameter9507.Dummy1 = receiveData.Substring(16, 4).Trim();
this.CurrentSystemParameter9507.Dummy2 = receiveData.Substring(20, 4).Trim();
this.CurrentSystemParameter9507.Dummy3 = receiveData.Substring(24, 4).Trim();
this.CurrentSystemParameter9507.Dummy4 = receiveData.Substring(28, 4).Trim();
this.CurrentSystemParameter9507.Dummy5 = receiveData.Substring(32, 4).Trim();
this.CurrentSystemParameter9507.Dummy6 = receiveData.Substring(36, 4).Trim();
this.CurrentSystemParameter9507.Dummy7 = receiveData.Substring(40, 4).Trim();
this.CurrentSystemParameter9507.Dummy8 = receiveData.Substring(44, 4).Trim();
this.CurrentSystemParameter9507.Dummy9 = receiveData.Substring(48, 4).Trim();
this.CurrentSystemParameter9507.Dummy10 = receiveData.Substring(52, 4).Trim();
this.CurrentSystemParameter9507.Dummy11 = receiveData.Substring(56, 4).Trim();
this.CurrentSystemParameter9507.Dummy12 = receiveData.Substring(60, 4).Trim();
this.CurrentSystemParameter9507.Dummy13 = receiveData.Substring(64, 4).Trim();
this.CurrentSystemParameter9507.Dummy14 = receiveData.Substring(68, 4).Trim();
this.CurrentSystemParameter9507.Dummy15 = receiveData.Substring(72, 4).Trim();
this.CurrentSystemParameter9507.Dummy16 = receiveData.Substring(76, 4).Trim();
this.CurrentSystemParameter9507.EntryNotDetectedWeight = receiveData.Substring(16, 7).Trim();
this.CurrentSystemParameter9507.Dummy1 = receiveData.Substring(23, 7).Trim();
this.CurrentSystemParameter9507.Dummy2 = receiveData.Substring(30, 7).Trim();
this.CurrentSystemParameter9507.Dummy3 = receiveData.Substring(37, 7).Trim();
this.CurrentSystemParameter9507.Dummy4 = receiveData.Substring(44, 4).Trim();
this.CurrentSystemParameter9507.Dummy5 = receiveData.Substring(48, 4).Trim();
this.CurrentSystemParameter9507.Dummy6 = receiveData.Substring(52, 4).Trim();
this.CurrentSystemParameter9507.Dummy7 = receiveData.Substring(56, 4).Trim();
this.CurrentSystemParameter9507.Dummy8 = receiveData.Substring(60, 4).Trim();
this.CurrentSystemParameter9507.Dummy9 = receiveData.Substring(64, 4).Trim();
this.CurrentSystemParameter9507.Dummy10 = receiveData.Substring(68, 4).Trim();
this.CurrentSystemParameter9507.Dummy11 = receiveData.Substring(72, 4).Trim();
this.CurrentSystemParameter9507.Dummy12 = receiveData.Substring(76, 4).Trim();
#endregion
// Read SystemParameter9508
this.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress._9508_SystemParameterRead, "");
@ -1429,22 +1452,22 @@ namespace ITC81DB_2.Forms
if (this.CurrentSystemStatus.Equipment == DataStore.EquipmentStatus.Stop)
{
this.CurrentWeightData1.Status = Helper.StringToWeightStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 1);
this.CurrentWeightData1.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData1.ADCValue = receiveData.Substring(10, 5);
this.CurrentWeightData2.Status = Helper.StringToWeightStatus(receiveData.Substring(19, 2));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3), 2);
this.CurrentWeightData2.Weight = Helper.StringToWeight(receiveData.Substring(24, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData2.ADCValue = receiveData.Substring(29, 5);
}
else
{
this.CurrentWeightData1.Status = Helper.StringToWeightStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 1);
this.CurrentWeightData2.Status = Helper.StringToWeightStatus(receiveData.Substring(19, 2));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3), 2);
}
#endregion
@ -1474,7 +1497,7 @@ namespace ITC81DB_2.Forms
case "A":
#region Value Assign
this.CurrentWeightData1.JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 1);
this.CurrentWeightData1.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData1.WeightString = receiveData.Substring(5, 5);
this.CurrentWeightData1.ADCValue = receiveData.Substring(10, 5);
@ -1485,6 +1508,8 @@ namespace ITC81DB_2.Forms
// 통신 제대로 받으면 ACK
this.TransferData(string.Format("{0}{1}{2}", CommunicationCommand.RunWeightData, (int)DataStore.ResponseData.ACK, transferCount), CommunicationID.MainBoard);
this.IsJudgmentNow1 = true;
// 통신 COM1
if (this.SystemConfig.SerialCOM1Mode != 0)
{
@ -1551,7 +1576,7 @@ namespace ITC81DB_2.Forms
case "B":
#region Value Assign
this.CurrentWeightData2.JudgmentStatus = Helper.StringToJudgmentStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 2);
this.CurrentWeightData2.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData2.WeightString = receiveData.Substring(5, 5);
this.CurrentWeightData2.ADCValue = receiveData.Substring(10, 5);
@ -1562,6 +1587,8 @@ namespace ITC81DB_2.Forms
// 통신 제대로 받으면 ACK
this.TransferData(string.Format("{0}{1}{2}", CommunicationCommand.RunWeightData, (int)DataStore.ResponseData.ACK, transferCount), CommunicationID.MainBoard);
this.IsJudgmentNow2 = true;
// 통신 COM1
if (this.SystemConfig.SerialCOM1Mode != 0)
{
@ -1646,12 +1673,12 @@ namespace ITC81DB_2.Forms
case "Z":
#region Value Assign
this.CurrentWeightData1.Status = Helper.StringToWeightStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 1);
this.CurrentWeightData1.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData1.ADCValue = receiveData.Substring(10, 5);
this.CurrentWeightData2.Status = Helper.StringToWeightStatus(receiveData.Substring(19, 2));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3), 2);
this.CurrentWeightData2.Weight = Helper.StringToWeight(receiveData.Substring(24, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData2.ADCValue = receiveData.Substring(29, 5);
#endregion
@ -1694,12 +1721,12 @@ namespace ITC81DB_2.Forms
case "Z":
#region Value Assign
this.CurrentWeightData1.Status = Helper.StringToWeightStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 1);
this.CurrentWeightData1.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData1.ADCValue = receiveData.Substring(10, 5);
this.CurrentWeightData2.Status = Helper.StringToWeightStatus(receiveData.Substring(19, 2));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(21, 3), 2);
this.CurrentWeightData2.Weight = Helper.StringToWeight(receiveData.Substring(24, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData2.ADCValue = receiveData.Substring(29, 5);
#endregion
@ -1722,7 +1749,7 @@ namespace ITC81DB_2.Forms
case "A":
#region Value Assign
this.CurrentWeightData1.Status = Helper.StringToWeightStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData1, receiveData.Substring(2, 3), 1);
this.CurrentWeightData1.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData1.ADCValue = receiveData.Substring(10, 5);
@ -1737,7 +1764,7 @@ namespace ITC81DB_2.Forms
case "B":
#region Value Assign
this.CurrentWeightData2.Status = Helper.StringToWeightStatus(receiveData.Substring(0, 2));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(2, 3));
this.ConverterAlarm(ref this.CurrentWeightData2, receiveData.Substring(2, 3), 2);
this.CurrentWeightData2.Weight = Helper.StringToWeight(receiveData.Substring(5, 5), this.SystemConfig.DecimalPlaces);
this.CurrentWeightData2.ADCValue = receiveData.Substring(10, 5);

View File

@ -65,6 +65,7 @@
this.pictureBoxIconUsbDesable = new System.Windows.Forms.PictureBox();
this.buttonConveyorUpDown = new SmartX.SmartButton();
this.buttonPrint2 = new SmartX.SmartButton();
this.labelAlarmWindow = new SmartX.SmartLabel();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
@ -771,12 +772,36 @@
this.buttonPrint2.Visible = false;
this.buttonPrint2.Click += new System.EventHandler(this.buttonPrint2_Click);
//
// labelAlarmWindow
//
this.labelAlarmWindow.BackColor = System.Drawing.Color.DarkRed;
this.labelAlarmWindow.BackPictureBox = null;
this.labelAlarmWindow.BackPictureBox1 = null;
this.labelAlarmWindow.BackPictureBox2 = null;
this.labelAlarmWindow.BorderColor = System.Drawing.Color.Black;
this.labelAlarmWindow.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelAlarmWindow.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.labelAlarmWindow.ForeColor = System.Drawing.Color.White;
this.labelAlarmWindow.InitVisible = true;
this.labelAlarmWindow.LineSpacing = 0F;
this.labelAlarmWindow.Location = new System.Drawing.Point(140, 125);
this.labelAlarmWindow.Name = "labelAlarmWindow";
this.labelAlarmWindow.Size = new System.Drawing.Size(500, 100);
this.labelAlarmWindow.TabIndex = 576;
this.labelAlarmWindow.Text = "선별부 에러";
this.labelAlarmWindow.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelAlarmWindow.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelAlarmWindow.Visible = false;
this.labelAlarmWindow.Wordwrap = false;
this.labelAlarmWindow.Click += new System.EventHandler(this.labelAlarmWindow_Click);
//
// FormMainDisplay
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.AutoScroll = true;
this.ClientSize = new System.Drawing.Size(800, 600);
this.Controls.Add(this.labelAlarmWindow);
this.Controls.Add(this.buttonPrint2);
this.Controls.Add(this.buttonConveyorUpDown);
this.Controls.Add(this.pictureBoxIconUsbEnable);
@ -849,5 +874,6 @@
private System.Windows.Forms.PictureBox pictureBoxIconUsbDesable;
private SmartX.SmartButton buttonConveyorUpDown;
private SmartX.SmartButton buttonPrint2;
private SmartX.SmartLabel labelAlarmWindow;
}
}

View File

@ -191,6 +191,8 @@ namespace ITC81DB_2.Forms
if (this.AlarmListBool[2] != data1.IsEmergencyStop) flagChange = true;
if (this.AlarmListBool[3] != data1.IsEntrySensorError) flagChange = true;
if (this.AlarmListBool[4] != data2.IsEntrySensorError) flagChange = true;
if (this.AlarmListBool[5] != data1.IsEntryNotDetected) flagChange = true;
if (this.AlarmListBool[6] != data2.IsEntryNotDetected) flagChange = true;
}
this.AlarmListBool.Clear();
@ -199,6 +201,8 @@ namespace ITC81DB_2.Forms
this.AlarmListBool.Add(data1.IsEmergencyStop);
this.AlarmListBool.Add(data1.IsEntrySensorError);
this.AlarmListBool.Add(data2.IsEntrySensorError);
this.AlarmListBool.Add(data1.IsEntryNotDetected);
this.AlarmListBool.Add(data2.IsEntryNotDetected);
foreach (bool listBool in this.AlarmListBool)
{
@ -234,6 +238,22 @@ namespace ITC81DB_2.Forms
this.MainDisplayAlarm.listBoxMessage.Items.Add("#1 Entry Sensor Error");
if (data2.IsEntrySensorError == true)
this.MainDisplayAlarm.listBoxMessage.Items.Add("#2 Entry Sensor Error");
if (data1.IsEntryNotDetected == true)
{
this.MainDisplayAlarm.listBoxMessage.Items.Add("#1 Entry Not Detected");
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
this.PopUpWarning("제품진입 미감지");
else
this.PopUpWarning("Entry not detected");
}
if (data2.IsEntryNotDetected == true)
{
this.MainDisplayAlarm.listBoxMessage.Items.Add("#2 Entry Not Detected");
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
this.PopUpWarning("제품진입 미감지");
else
this.PopUpWarning("Entry not detected");
}
if (flagChange == true && this.MainDisplayAlarm.listBoxMessage.Items.Count > 0)
{
@ -576,6 +596,17 @@ namespace ITC81DB_2.Forms
if (this.MainDisplayMenu != null)
this.MainDisplayMenu.UpdateStartWeightDisplay2(status, data);
}
public void PopUpWarning(string warning)
{
this.labelAlarmWindow.Text = warning;
this.labelAlarmWindow.BringToFront();
this.labelAlarmWindow.Visible = true;
}
public void PopUpWarningClose()
{
if (this.labelAlarmWindow.Visible == true)
this.labelAlarmWindow.Visible = false;
}
public void CurrentBottomMenuControlEnable(DataStore.EquipmentStatus status)
{
@ -824,6 +855,11 @@ namespace ITC81DB_2.Forms
}
}
private void labelAlarmWindow_Click(object sender, EventArgs e)
{
this.PopUpWarningClose();
}
private void buttonPrint1_Click(object sender, EventArgs e)
{
if (this.buttonPrint1.ButtonStatus == SmartButton.BUTSTATUS.DOWN)

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,19 @@
2열 기본형 컨베어 계량기
*/
@ Ver 2.5.0 by CJY
- 2022.12.05
- Ver 2.4.0 Modify
- 제품진입 미감지 기능 추가(레드마인 #2818 참고)
1. 엔지니어 설정 '제품진입 미감지' 0.0 초과일 경우, 기능 작동
2. 알람 8 - 제품진입 미감지 추가
3. IsJudgmentNow1, 2 판정 시 true로 변경 -> 영점표시 시 false
false일 경우만 알람 발생
알람 발생 시, 장비 정지 신호 메인보드로 전송
4. labelAlarmWindow 추가 -> 현재 제품진입 미감지 시에만 Pop up됨
창 클릭 시, 운전 시 해제
5. 알람 해제 조건 : 정지 시
@ Ver 2.4.0 by CJY
- 2022.07.29
- Ver 2.3.0 Modify

Binary file not shown.

Binary file not shown.