- 제품진입 미감지 기능 추가(레드마인 #2818 참고)
1. 엔지니어 설정 '제품진입 미감지' 0.0 초과일 경우, 기능 작동
   2. 알람 8 - 제품진입 미감지 추가
   3. IsJudgmentNow1, 2 판정 시 true로 변경 -> 영점표시 시 false
      false일 경우만 알람 발생
      알람 발생 시, 장비 정지 신호 메인보드로 전송
   4. labelAlarmWindow 추가 -> 현재 제품진입 미감지 시에만 Pop up됨
      창 클릭 시, 운전 시 해제
   5. 알람 해제 조건 : 정지 시
			
			
				master
			
			
		
							parent
							
								
									3d5708196b
								
							
						
					
					
						commit
						333ab9ff18
					
				|  | @ -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; | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -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) | ||||
|         { | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
|     } | ||||
| } | ||||
|  | @ -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
												
											
										
									
								|  | @ -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.
											
										
									
								
											
												Binary file not shown.
											
										
									
								
		Loading…
	
		Reference in New Issue