Compare commits

...

5 Commits

Author SHA1 Message Date
shark219
1a91a58f00 DigitalIndicator() 생성자의 인자로 (byte)PUB.CONFIG.indicator_slaveno 추가 2025-07-02 13:42:46 +09:00
7e3f87542c 1. 데이터 수신전에는 알람이 울리지 않도록 함 2025-07-01 23:02:33 +09:00
f480b508b7 1. 환경설정에 window 파일 저장 주기 추가(단위:분)
2. window1(2).grp 파일 생성시 임시(.temp) 파일에 생성 후 원본을 덮어쓰기 함 (window 파일 손상시 프로그램에 치명적이므로 임시파일로 처리)
2025-07-01 22:30:18 +09:00
bae298ca00 update : build number 2025-07-01 22:11:49 +09:00
ffa0cb9bf9 1. 알람셋팅화면에 기준값초기화 체크박스 추가
2. 기준값 초기화시 신규 설정된 기준값이 바로 저장되도록 함 (필요한 경우 5분 혹은 10분간격으로 window1, window2 : grp 파일은 생성해주는 것이 좋을 듯함)
3. 알람 설정화면을 통해서 값 변경시 , 기준값초기화 기능이 서브윈도우에 적용되지 않는 버그 수정
2025-07-01 22:11:17 +09:00
19 changed files with 631 additions and 497 deletions

View File

@@ -27,6 +27,10 @@ namespace vmsnet
DAQDisconnected,
DAQTryConnect,
RefreshChart,
/// <summary>
/// 알람설정에서 확인을 누르면 호출됩니다.
/// </summary>
AlarmValueReset,
}
enum ConnState
{

View File

@@ -125,16 +125,16 @@ namespace vmsnet
this.lbPLC,
this.lbINDI,
this.lb_status});
this.StatusStrip1.Location = new System.Drawing.Point(0, 747);
this.StatusStrip1.Location = new System.Drawing.Point(0, 757);
this.StatusStrip1.Name = "StatusStrip1";
this.StatusStrip1.Size = new System.Drawing.Size(1561, 32);
this.StatusStrip1.Size = new System.Drawing.Size(1561, 22);
this.StatusStrip1.TabIndex = 1;
this.StatusStrip1.Text = "StatusStrip1";
//
// lb_diskfree
//
this.lb_diskfree.Name = "lb_diskfree";
this.lb_diskfree.Size = new System.Drawing.Size(122, 25);
this.lb_diskfree.Size = new System.Drawing.Size(77, 17);
this.lb_diskfree.Text = "<FreeSpace>";
//
// lb_chcount
@@ -142,21 +142,21 @@ namespace vmsnet
this.lb_chcount.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lb_chcount.ForeColor = System.Drawing.Color.Navy;
this.lb_chcount.Name = "lb_chcount";
this.lb_chcount.Size = new System.Drawing.Size(110, 25);
this.lb_chcount.Size = new System.Drawing.Size(73, 17);
this.lb_chcount.Text = "<장치정보>";
//
// lb_msec
//
this.lb_msec.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lb_msec.Name = "lb_msec";
this.lb_msec.Size = new System.Drawing.Size(86, 25);
this.lb_msec.Size = new System.Drawing.Size(58, 17);
this.lb_msec.Text = "<MSEC>";
//
// lb_Saved
//
this.lb_Saved.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.lb_Saved.Name = "lb_Saved";
this.lb_Saved.Size = new System.Drawing.Size(121, 25);
this.lb_Saved.Size = new System.Drawing.Size(79, 17);
this.lb_Saved.Text = "<LASTSAVE>";
this.lb_Saved.Click += new System.EventHandler(this.lb_Saved_Click);
//
@@ -164,7 +164,7 @@ namespace vmsnet
//
this.lb_alarm.ForeColor = System.Drawing.Color.Silver;
this.lb_alarm.Name = "lb_alarm";
this.lb_alarm.Size = new System.Drawing.Size(30, 25);
this.lb_alarm.Size = new System.Drawing.Size(19, 17);
this.lb_alarm.Text = "●";
//
// lbMonitor
@@ -172,7 +172,7 @@ namespace vmsnet
this.lbMonitor.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbMonitor.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.lbMonitor.Name = "lbMonitor";
this.lbMonitor.Size = new System.Drawing.Size(125, 25);
this.lbMonitor.Size = new System.Drawing.Size(84, 17);
this.lbMonitor.Text = "<MONITOR>";
//
// lbPLC
@@ -180,7 +180,7 @@ namespace vmsnet
this.lbPLC.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbPLC.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.lbPLC.Name = "lbPLC";
this.lbPLC.Size = new System.Drawing.Size(69, 25);
this.lbPLC.Size = new System.Drawing.Size(46, 17);
this.lbPLC.Text = "<PLC>";
//
// lbINDI
@@ -188,7 +188,7 @@ namespace vmsnet
this.lbINDI.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbINDI.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.lbINDI.Name = "lbINDI";
this.lbINDI.Size = new System.Drawing.Size(137, 25);
this.lbINDI.Size = new System.Drawing.Size(92, 17);
this.lbINDI.Text = "<INDICATOR>";
//
// lb_status
@@ -196,7 +196,7 @@ namespace vmsnet
this.lb_status.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lb_status.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.lb_status.Name = "lb_status";
this.lb_status.Size = new System.Drawing.Size(104, 25);
this.lb_status.Size = new System.Drawing.Size(70, 17);
this.lb_status.Text = "<STATUS>";
//
// ToolStrip1
@@ -251,7 +251,7 @@ namespace vmsnet
this.btMonitorOn.Image = ((System.Drawing.Image)(resources.GetObject("btMonitorOn.Image")));
this.btMonitorOn.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btMonitorOn.Name = "btMonitorOn";
this.btMonitorOn.Size = new System.Drawing.Size(168, 39);
this.btMonitorOn.Size = new System.Drawing.Size(120, 41);
this.btMonitorOn.Text = "Monitor On/Off";
this.btMonitorOn.Click += new System.EventHandler(this.toolStripButton3_Click_1);
//
@@ -260,7 +260,7 @@ namespace vmsnet
this.bt_fullscreen.Image = ((System.Drawing.Image)(resources.GetObject("bt_fullscreen.Image")));
this.bt_fullscreen.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_fullscreen.Name = "bt_fullscreen";
this.bt_fullscreen.Size = new System.Drawing.Size(112, 39);
this.bt_fullscreen.Size = new System.Drawing.Size(83, 41);
this.bt_fullscreen.Text = "개별보기";
this.bt_fullscreen.Click += new System.EventHandler(this.bt_fullscreen_Click);
//
@@ -270,7 +270,7 @@ namespace vmsnet
this.bt_tviewr.Image = ((System.Drawing.Image)(resources.GetObject("bt_tviewr.Image")));
this.bt_tviewr.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_tviewr.Name = "bt_tviewr";
this.bt_tviewr.Size = new System.Drawing.Size(177, 39);
this.bt_tviewr.Size = new System.Drawing.Size(128, 41);
this.bt_tviewr.Text = "실시간트렌드(F1)";
this.bt_tviewr.Click += new System.EventHandler(this.ToolStripButton3_Click);
//
@@ -280,7 +280,7 @@ namespace vmsnet
this.bt_tview.Image = ((System.Drawing.Image)(resources.GetObject("bt_tview.Image")));
this.bt_tview.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_tview.Name = "bt_tview";
this.bt_tview.Size = new System.Drawing.Size(159, 39);
this.bt_tview.Size = new System.Drawing.Size(116, 41);
this.bt_tview.Text = "과거트렌드(F1)";
this.bt_tview.Click += new System.EventHandler(this.ToolStripButton1_Click_2);
//
@@ -290,7 +290,7 @@ namespace vmsnet
this.bt_alamhistory.Image = ((System.Drawing.Image)(resources.GetObject("bt_alamhistory.Image")));
this.bt_alamhistory.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_alamhistory.Name = "bt_alamhistory";
this.bt_alamhistory.Size = new System.Drawing.Size(141, 39);
this.bt_alamhistory.Size = new System.Drawing.Size(104, 41);
this.bt_alamhistory.Text = "알람목록(F3)";
this.bt_alamhistory.Click += new System.EventHandler(this.ToolStripButton2_Click_1);
//
@@ -300,7 +300,7 @@ namespace vmsnet
this.bt_alamsetup.Image = ((System.Drawing.Image)(resources.GetObject("bt_alamsetup.Image")));
this.bt_alamsetup.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_alamsetup.Name = "bt_alamsetup";
this.bt_alamsetup.Size = new System.Drawing.Size(141, 39);
this.bt_alamsetup.Size = new System.Drawing.Size(104, 41);
this.bt_alamsetup.Text = "알람설정(F4)";
this.bt_alamsetup.Click += new System.EventHandler(this.ToolStripButton1_Click_4);
//
@@ -310,7 +310,7 @@ namespace vmsnet
this.bt_save.Image = ((System.Drawing.Image)(resources.GetObject("bt_save.Image")));
this.bt_save.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_save.Name = "bt_save";
this.bt_save.Size = new System.Drawing.Size(105, 39);
this.bt_save.Size = new System.Drawing.Size(80, 41);
this.bt_save.Text = "저장(F5)";
this.bt_save.Click += new System.EventHandler(this.bt_save_Click);
//
@@ -319,7 +319,7 @@ namespace vmsnet
this.ToolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("ToolStripButton2.Image")));
this.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.ToolStripButton2.Name = "ToolStripButton2";
this.ToolStripButton2.Size = new System.Drawing.Size(141, 39);
this.ToolStripButton2.Size = new System.Drawing.Size(104, 41);
this.ToolStripButton2.Text = "소리끄기(F2)";
this.ToolStripButton2.Click += new System.EventHandler(this.ToolStripButton2_Click);
//
@@ -329,7 +329,7 @@ namespace vmsnet
this.bt_print.Image = ((System.Drawing.Image)(resources.GetObject("bt_print.Image")));
this.bt_print.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_print.Name = "bt_print";
this.bt_print.Size = new System.Drawing.Size(105, 39);
this.bt_print.Size = new System.Drawing.Size(80, 41);
this.bt_print.Text = "인쇄(F9)";
this.bt_print.Visible = false;
this.bt_print.Click += new System.EventHandler(this.bt_print_Click);
@@ -345,7 +345,7 @@ namespace vmsnet
this.bt_show2ndwindow.Image = ((System.Drawing.Image)(resources.GetObject("bt_show2ndwindow.Image")));
this.bt_show2ndwindow.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_show2ndwindow.Name = "bt_show2ndwindow";
this.bt_show2ndwindow.Size = new System.Drawing.Size(94, 39);
this.bt_show2ndwindow.Size = new System.Drawing.Size(71, 41);
this.bt_show2ndwindow.Text = "보조창";
this.bt_show2ndwindow.Visible = false;
this.bt_show2ndwindow.Click += new System.EventHandler(this.bt_show2ndwindow_Click);
@@ -357,7 +357,7 @@ namespace vmsnet
this.bt_config.Image = ((System.Drawing.Image)(resources.GetObject("bt_config.Image")));
this.bt_config.ImageTransparentColor = System.Drawing.Color.Magenta;
this.bt_config.Name = "bt_config";
this.bt_config.Size = new System.Drawing.Size(76, 39);
this.bt_config.Size = new System.Drawing.Size(59, 41);
this.bt_config.Text = "설정";
this.bt_config.Click += new System.EventHandler(this.btConfig_Click);
//
@@ -367,7 +367,7 @@ namespace vmsnet
this.ToolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("ToolStripButton1.Image")));
this.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.ToolStripButton1.Name = "ToolStripButton1";
this.ToolStripButton1.Size = new System.Drawing.Size(76, 39);
this.ToolStripButton1.Size = new System.Drawing.Size(59, 41);
this.ToolStripButton1.Text = "정보";
this.ToolStripButton1.Click += new System.EventHandler(this.ToolStripButton1_Click_6);
//
@@ -376,7 +376,7 @@ namespace vmsnet
this.btLog.Image = ((System.Drawing.Image)(resources.GetObject("btLog.Image")));
this.btLog.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btLog.Name = "btLog";
this.btLog.Size = new System.Drawing.Size(112, 29);
this.btLog.Size = new System.Drawing.Size(83, 41);
this.btLog.Text = "운영로그";
this.btLog.Click += new System.EventHandler(this.toolStripButton3_Click_2);
//
@@ -385,7 +385,7 @@ namespace vmsnet
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(112, 29);
this.toolStripButton3.Size = new System.Drawing.Size(83, 41);
this.toolStripButton3.Text = "저장폴더";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click_3);
//
@@ -434,7 +434,7 @@ namespace vmsnet
this.TableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.TableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.TableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.TableLayoutPanel1.Size = new System.Drawing.Size(1561, 703);
this.TableLayoutPanel1.Size = new System.Drawing.Size(1561, 713);
this.TableLayoutPanel1.TabIndex = 5;
//
// Panel1
@@ -455,7 +455,7 @@ namespace vmsnet
this.cmb_tanks.FormattingEnabled = true;
this.cmb_tanks.Location = new System.Drawing.Point(0, 0);
this.cmb_tanks.Name = "cmb_tanks";
this.cmb_tanks.Size = new System.Drawing.Size(657, 45);
this.cmb_tanks.Size = new System.Drawing.Size(657, 33);
this.cmb_tanks.TabIndex = 5;
this.cmb_tanks.SelectedIndexChanged += new System.EventHandler(this.cmb_group_SelectedIndexChanged);
//
@@ -488,13 +488,13 @@ namespace vmsnet
this.cmbt_x_gap_21600,
this.cmbt_x_gap_43200});
this.menus_xgap.Name = "menus_xgap";
this.menus_xgap.Size = new System.Drawing.Size(198, 32);
this.menus_xgap.Size = new System.Drawing.Size(150, 22);
this.menus_xgap.Text = "X축 간격";
//
// cmbt_x_gap_5
//
this.cmbt_x_gap_5.Name = "cmbt_x_gap_5";
this.cmbt_x_gap_5.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_5.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_5.Tag = "5";
this.cmbt_x_gap_5.Text = "5초";
//
@@ -504,7 +504,7 @@ namespace vmsnet
this.cmbt_x_gap_10.CheckOnClick = true;
this.cmbt_x_gap_10.CheckState = System.Windows.Forms.CheckState.Checked;
this.cmbt_x_gap_10.Name = "cmbt_x_gap_10";
this.cmbt_x_gap_10.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_10.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_10.Tag = "10";
this.cmbt_x_gap_10.Text = "10초";
//
@@ -512,7 +512,7 @@ namespace vmsnet
//
this.cmbt_x_gap_30.CheckOnClick = true;
this.cmbt_x_gap_30.Name = "cmbt_x_gap_30";
this.cmbt_x_gap_30.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_30.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_30.Tag = "30";
this.cmbt_x_gap_30.Text = "30초";
//
@@ -520,14 +520,14 @@ namespace vmsnet
//
this.cmbt_x_gap_60.CheckOnClick = true;
this.cmbt_x_gap_60.Name = "cmbt_x_gap_60";
this.cmbt_x_gap_60.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_60.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_60.Tag = "60";
this.cmbt_x_gap_60.Text = "1분";
//
// cmbt_x_gap_600
//
this.cmbt_x_gap_600.Name = "cmbt_x_gap_600";
this.cmbt_x_gap_600.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_600.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_600.Tag = "600";
this.cmbt_x_gap_600.Text = "10분";
//
@@ -535,7 +535,7 @@ namespace vmsnet
//
this.cmbt_x_gap_1800.CheckOnClick = true;
this.cmbt_x_gap_1800.Name = "cmbt_x_gap_1800";
this.cmbt_x_gap_1800.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_1800.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_1800.Tag = "1800";
this.cmbt_x_gap_1800.Text = "30분";
//
@@ -543,7 +543,7 @@ namespace vmsnet
//
this.cmbt_x_gap_3600.CheckOnClick = true;
this.cmbt_x_gap_3600.Name = "cmbt_x_gap_3600";
this.cmbt_x_gap_3600.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_3600.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_3600.Tag = "3600";
this.cmbt_x_gap_3600.Text = "1시간";
//
@@ -551,7 +551,7 @@ namespace vmsnet
//
this.cmbt_x_gap_21600.CheckOnClick = true;
this.cmbt_x_gap_21600.Name = "cmbt_x_gap_21600";
this.cmbt_x_gap_21600.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_21600.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_21600.Tag = "21600";
this.cmbt_x_gap_21600.Text = "6시간";
//
@@ -559,7 +559,7 @@ namespace vmsnet
//
this.cmbt_x_gap_43200.CheckOnClick = true;
this.cmbt_x_gap_43200.Name = "cmbt_x_gap_43200";
this.cmbt_x_gap_43200.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_gap_43200.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_gap_43200.Tag = "43200";
this.cmbt_x_gap_43200.Text = "12시간";
//
@@ -571,14 +571,14 @@ namespace vmsnet
this.cmbt_x_21600,
this.cmbt_x_43200});
this.menus_xterm.Name = "menus_xterm";
this.menus_xterm.Size = new System.Drawing.Size(198, 32);
this.menus_xterm.Size = new System.Drawing.Size(150, 22);
this.menus_xterm.Text = "X축 범위";
//
// cmbt_x_1800
//
this.cmbt_x_1800.CheckOnClick = true;
this.cmbt_x_1800.Name = "cmbt_x_1800";
this.cmbt_x_1800.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_1800.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_1800.Tag = "1800";
this.cmbt_x_1800.Text = "30분";
//
@@ -588,7 +588,7 @@ namespace vmsnet
this.cmbt_x_3600.CheckOnClick = true;
this.cmbt_x_3600.CheckState = System.Windows.Forms.CheckState.Checked;
this.cmbt_x_3600.Name = "cmbt_x_3600";
this.cmbt_x_3600.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_3600.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_3600.Tag = "3600";
this.cmbt_x_3600.Text = "1시간";
//
@@ -596,7 +596,7 @@ namespace vmsnet
//
this.cmbt_x_21600.CheckOnClick = true;
this.cmbt_x_21600.Name = "cmbt_x_21600";
this.cmbt_x_21600.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_21600.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_21600.Tag = "21600";
this.cmbt_x_21600.Text = "6시간";
//
@@ -604,7 +604,7 @@ namespace vmsnet
//
this.cmbt_x_43200.CheckOnClick = true;
this.cmbt_x_43200.Name = "cmbt_x_43200";
this.cmbt_x_43200.Size = new System.Drawing.Size(170, 34);
this.cmbt_x_43200.Size = new System.Drawing.Size(112, 22);
this.cmbt_x_43200.Tag = "43200";
this.cmbt_x_43200.Text = "12시간";
//
@@ -618,14 +618,14 @@ namespace vmsnet
this.cmbt_y_2_0,
this.cmbt_y_5_0});
this.menus_ygap.Name = "menus_ygap";
this.menus_ygap.Size = new System.Drawing.Size(198, 32);
this.menus_ygap.Size = new System.Drawing.Size(150, 22);
this.menus_ygap.Text = "Y축 간격";
//
// cmbt_y_0_1
//
this.cmbt_y_0_1.CheckOnClick = true;
this.cmbt_y_0_1.Name = "cmbt_y_0_1";
this.cmbt_y_0_1.Size = new System.Drawing.Size(138, 34);
this.cmbt_y_0_1.Size = new System.Drawing.Size(91, 22);
this.cmbt_y_0_1.Tag = "0.1";
this.cmbt_y_0_1.Text = "0.1";
//
@@ -635,7 +635,7 @@ namespace vmsnet
this.cmbt_y_0_5.CheckOnClick = true;
this.cmbt_y_0_5.CheckState = System.Windows.Forms.CheckState.Checked;
this.cmbt_y_0_5.Name = "cmbt_y_0_5";
this.cmbt_y_0_5.Size = new System.Drawing.Size(138, 34);
this.cmbt_y_0_5.Size = new System.Drawing.Size(91, 22);
this.cmbt_y_0_5.Tag = "0.5";
this.cmbt_y_0_5.Text = "0.5";
//
@@ -643,7 +643,7 @@ namespace vmsnet
//
this.cmbt_y_1_0.CheckOnClick = true;
this.cmbt_y_1_0.Name = "cmbt_y_1_0";
this.cmbt_y_1_0.Size = new System.Drawing.Size(138, 34);
this.cmbt_y_1_0.Size = new System.Drawing.Size(91, 22);
this.cmbt_y_1_0.Tag = "1.0";
this.cmbt_y_1_0.Text = "1.0";
//
@@ -651,7 +651,7 @@ namespace vmsnet
//
this.cmbt_y_1_5.CheckOnClick = true;
this.cmbt_y_1_5.Name = "cmbt_y_1_5";
this.cmbt_y_1_5.Size = new System.Drawing.Size(138, 34);
this.cmbt_y_1_5.Size = new System.Drawing.Size(91, 22);
this.cmbt_y_1_5.Tag = "1.5";
this.cmbt_y_1_5.Text = "1.5";
//
@@ -659,7 +659,7 @@ namespace vmsnet
//
this.cmbt_y_2_0.CheckOnClick = true;
this.cmbt_y_2_0.Name = "cmbt_y_2_0";
this.cmbt_y_2_0.Size = new System.Drawing.Size(138, 34);
this.cmbt_y_2_0.Size = new System.Drawing.Size(91, 22);
this.cmbt_y_2_0.Tag = "2.0";
this.cmbt_y_2_0.Text = "2.0";
//
@@ -667,38 +667,38 @@ namespace vmsnet
//
this.cmbt_y_5_0.CheckOnClick = true;
this.cmbt_y_5_0.Name = "cmbt_y_5_0";
this.cmbt_y_5_0.Size = new System.Drawing.Size(138, 34);
this.cmbt_y_5_0.Size = new System.Drawing.Size(91, 22);
this.cmbt_y_5_0.Tag = "5.0";
this.cmbt_y_5_0.Text = "5.0";
//
// ToolStripMenuItem2
//
this.ToolStripMenuItem2.Name = "ToolStripMenuItem2";
this.ToolStripMenuItem2.Size = new System.Drawing.Size(195, 6);
this.ToolStripMenuItem2.Size = new System.Drawing.Size(147, 6);
//
// menus_winsize
//
this.menus_winsize.Name = "menus_winsize";
this.menus_winsize.Size = new System.Drawing.Size(198, 32);
this.menus_winsize.Size = new System.Drawing.Size(150, 22);
this.menus_winsize.Text = "창 크기";
//
// GraphReSetToolStripMenuItem
//
this.GraphReSetToolStripMenuItem.Name = "GraphReSetToolStripMenuItem";
this.GraphReSetToolStripMenuItem.Size = new System.Drawing.Size(198, 32);
this.GraphReSetToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
this.GraphReSetToolStripMenuItem.Text = "그래프 초기화";
this.GraphReSetToolStripMenuItem.Click += new System.EventHandler(this.GraphReSetToolStripMenuItem_Click);
//
// ToolStripMenuItem3
//
this.ToolStripMenuItem3.Name = "ToolStripMenuItem3";
this.ToolStripMenuItem3.Size = new System.Drawing.Size(195, 6);
this.ToolStripMenuItem3.Size = new System.Drawing.Size(147, 6);
//
// DataPointToolStripMenuItem
//
this.DataPointToolStripMenuItem.CheckOnClick = true;
this.DataPointToolStripMenuItem.Name = "DataPointToolStripMenuItem";
this.DataPointToolStripMenuItem.Size = new System.Drawing.Size(198, 32);
this.DataPointToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
this.DataPointToolStripMenuItem.Text = "Data Point";
this.DataPointToolStripMenuItem.Click += new System.EventHandler(this.DataPointToolStripMenuItem_Click);
//
@@ -707,14 +707,14 @@ namespace vmsnet
this.DebugMsgToolStripMenuItem.CheckOnClick = true;
this.DebugMsgToolStripMenuItem.ForeColor = System.Drawing.Color.Gray;
this.DebugMsgToolStripMenuItem.Name = "DebugMsgToolStripMenuItem";
this.DebugMsgToolStripMenuItem.Size = new System.Drawing.Size(198, 32);
this.DebugMsgToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
this.DebugMsgToolStripMenuItem.Text = "Debug Msg";
this.DebugMsgToolStripMenuItem.Click += new System.EventHandler(this.DebugMsgToolStripMenuItem_Click);
//
// ToolStripMenuItem4
//
this.ToolStripMenuItem4.Name = "ToolStripMenuItem4";
this.ToolStripMenuItem4.Size = new System.Drawing.Size(195, 6);
this.ToolStripMenuItem4.Size = new System.Drawing.Size(147, 6);
//
// cm1
//
@@ -731,7 +731,7 @@ namespace vmsnet
this.DebugMsgToolStripMenuItem,
this.ToolStripMenuItem4});
this.cm1.Name = "ContextMenuStrip1";
this.cm1.Size = new System.Drawing.Size(199, 246);
this.cm1.Size = new System.Drawing.Size(151, 176);
//
// documentElement1
//
@@ -745,7 +745,7 @@ namespace vmsnet
//
// FMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1561, 779);
this.Controls.Add(this.TableLayoutPanel1);

View File

@@ -96,7 +96,7 @@ namespace vmsnet
this.DispCtrl1.Size = new System.Drawing.Size(774, 699);
this.DispCtrl1.TabIndex = 3;
this.DispCtrl1.Times = null;
this.DispCtrl1.Values = null;
this.DispCtrl1._Values = null;
this.DispCtrl1.OnAlamChange += DispCtrl1_OnAlamChangeL;
this.DispCtrl1.OnChangedShowIndex += DispCtrl1_OnChangedShowIndex;
this.DispCtrl1.OnClickCell += DispCtrl1_OnClickCell;
@@ -766,7 +766,34 @@ namespace vmsnet
private void Pub_RemoteCommandEvent(object sender, RemoteCommand e)
{
if (e.Command == rCommand.StateMessage)
if(e.Command == rCommand.AlarmValueReset)
{
////auto로 된 그룹의 기준값을 변경한다.
this.DispCtrl1.SuspendLayout();
foreach (HMI.CGROUP c in DispCtrl1.GROUPS)
{
if (c.AlarmType == "AUTO")
{
////이그룹을 사용하는 모든셀의 auto값을 초기화한다.
foreach (HMI.CITEM i in c.Items)
{
i.alamv = -999;
}
}
else if (c.AlarmType == "STOP")
{
c._alamcount = (short)0;
c._alamcountlb = (short)0;
}
}
this.DispCtrl1._raise_alarm_pre = true; ////혹알람이 발생되어있을지 모르니. 끄도록 발생한것 처럼 표시해준다.
this.DispCtrl1.ResumeLayout();
this.DispCtrl1.Invalidate();
////설정정보를 가져온다.
PUB.SaveConfigFile("GRP");
}
else if (e.Command == rCommand.StateMessage)
{
var msg = e.Data.ToString();
if (PUB.lastStatueMessage.Equals(msg) == false)
@@ -1222,7 +1249,8 @@ namespace vmsnet
if (maxunno < 0) maxunno = 5;
if (maxchno < 0) maxchno = 59;
PUB.Values = new int[maxmcno + 1, maxunno + 1, maxchno + 1];
PUB._Values = new int[maxmcno + 1, maxunno + 1, maxchno + 1];
PUB.Received = new bool[maxmcno + 1, maxunno + 1, maxchno + 1];
PUB.Times = new string[maxmcno + 1, maxunno + 1, maxchno + 1];
PUB.ChNos = new int[maxmcno + 1, maxunno + 1, maxchno + 1];
PUB.ChVOffset = new float[maxmcno + 1, maxunno + 1, maxchno + 1];
@@ -1236,7 +1264,8 @@ namespace vmsnet
{
for (int k = 0; k <= maxchno; k++)
{
PUB.Values[c, i, k] = 0;
PUB._Values[c, i, k] = 0;
PUB.Received[c, i, k] = false;
PUB.Times[c, i, k] = "";
PUB.ChVOffset[c, i, k] = 0f;
PUB.ChDecPos[c, i, k] = 0;
@@ -1262,7 +1291,8 @@ namespace vmsnet
PUB.StatusMSG("Ready...");
this.DispCtrl1.initmsg = "Complete";
this.DispCtrl1.init = true;
this.DispCtrl1.Values = PUB.Values;
this.DispCtrl1._Values = PUB._Values;
this.DispCtrl1.Received = PUB.Received;
this.DispCtrl1.Times = PUB.Times;
this.DispCtrl1.SmallSize = PUB.CONFIG.viewSize; ////개별표시모드일떄 사용하는 윈도우의 크기
this.DispCtrl1.FullScreen = true;
@@ -1560,32 +1590,13 @@ namespace vmsnet
{
PUB.log.Add(AR.Log.ETYPE.NORMAL, "알람설정화면확인");
////auto로 된 그룹의 기준값을 변경한다.
this.DispCtrl1.SuspendLayout();
foreach (HMI.CGROUP c in DispCtrl1.GROUPS)
{
if (c.AlarmType == "AUTO")
{
////이그룹을 사용하는 모든셀의 auto값을 초기화한다.
foreach (HMI.CITEM i in c.Items)
{
i.alamv = -999;
}
}
else if (c.AlarmType == "STOP")
{
c._alamcount = (short)0;
c._alamcountlb = (short)0;
}
}
this.DispCtrl1._raise_alarm_pre = true; ////혹알람이 발생되어있을지 모르니. 끄도록 발생한것 처럼 표시해준다.
this.DispCtrl1.ResumeLayout();
this.DispCtrl1.Invalidate();
////설정정보를 가져온다.
PUB.RaiseRemoteCommandEvent(rCommand.AlarmValueReset);
////설정정보를 가져온다(저장은 메인에서만 진행한다)
PUB.SaveConfigFile("GRP");
//각 창별로 window1.grp / window2.grp 의 파일에 그룹상태를 저장 합니다
PUB.RaiseRemoteCommandEvent(rCommand.SaveGroupClass);
}
}

View File

@@ -127,7 +127,7 @@
<data name="btMonitorOn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHWSURBVFhH7ZZbSwJBFIB76uf1Ft2IIsr3HiSMYCGtrMCF
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHWSURBVFhH7ZZbSwJBFIB76uf1Ft2IIsr3HiSMYCGtrMCF
qIeoKLKXpCACCzQvPXQxKkMLbw9lkUaUl0goEk+cBSVnJNedHVhxD3ysO+dw5mPc2dm2Nj1aIQwmEbRI
lWDsAzRF6whG8yVqTA1UEYzmAaYcIelK5lhRRdARSEHHuBP2b16pHCvMgpFsCYbm/WDZDsHo8jmVZ4VZ
cN33AMbVC4jkSjBg9YIrmqVqWGASDL8XoW/6CDyJnHS/5r2Hic1rqo4FJsHFgzgIW8HKfThThF6LG06S
@@ -141,7 +141,7 @@
<data name="bt_fullscreen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAN3SURBVFhHxVdNU5JRGGWmae30D5qWzdSiVYt+UsuaaRUG
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAN3SURBVFhHxVdNU5JRGGWmae30D5qWzdSiVYt+UsuaaRUG
oqVglmk600wbEcOPQgWV1D4EDFFEU0iwaVEivECh0vo0z/147+WtxqEJvDNnnuc55zz3npcdtmBkBWcJ
2zPfKM7q0NsswNbnfdz0xFsKelMF2M/BM1PCwHINg0s1DC7/5FX2xJtajfsYhE/3MI5mfY/3tDew/BO9
s2Wk9nMqQGo/C/d0CU8WaxhYPDGr7PmsV64xLBE4z/3E1/CEcXKfcxKemTJSOS3AZi6LnoCB/vAJ+l8T
@@ -162,7 +162,7 @@
<data name="bt_tviewr.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAabSURBVFhHxZZ7TJPnHsebtGR/9X1fL2e4oUXdzbk5F8yS
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAabSURBVFhHxZZ7TJPnHsebtGR/9X1fL2e4oUXdzbk5F8yS
ZX9syXL+ODnJsmRZsi05Wc7x7MwYLwg6pyCCWIsoskIvMCdoubQUaAuVuakIKrch4AUt9ykXQQdt3xZ2
Ocv++C6/533bQhnbjFv2JJ98f8/z/B5+n0BKqlAoFArjlcUFZo/mW/Ot1d+aPQtz/Hqcl/r/8GVq1+CH
H79D/495CzL6fwvrMV/RIPr9Qy/TVxq0BTbj9D3hV6Ee6o1+/9DL2KZBa+CDeQOjaQ18CEPbij9eIL9F
@@ -196,7 +196,7 @@
<data name="bt_tview.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAabSURBVFhHxZZ7TJPnHsebtGR/9X1fL2e4oUXdzbk5F8yS
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAabSURBVFhHxZZ7TJPnHsebtGR/9X1fL2e4oUXdzbk5F8yS
ZX9syXL+ODnJsmRZsi05Wc7x7MwYLwg6pyCCWIsoskIvMCdoubQUaAuVuakIKrch4AUt9ykXQQdt3xZ2
Ocv++C6/533bQhnbjFv2JJ98f8/z/B5+n0BKqlAoFArjlcUFZo/mW/Ot1d+aPQtz/Hqcl/r/8GVq1+CH
H79D/495CzL6fwvrMV/RIPr9Qy/TVxq0BTbj9D3hV6Ee6o1+/9DL2KZBa+CDeQOjaQ18CEPbij9eIL9F
@@ -230,7 +230,7 @@
<data name="bt_alamhistory.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAURSURBVFhHzZdrTFNnGMfPl1JEuVgEBPHjsuzDkmVR5KLz
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAURSURBVFhHzZdrTFNnGMfPl1JEuVgEBPHjsuzDkmVR5KLz
wihjkswblDvIRLkVRWRKxKHC4ubinDA3gmxzm1uMcSbKnRYEdcNt6jbNlkyBFitTTIhZtnMBNf/ledtT
T0/LqJsme5Jfctr35f97nvccTlKOe8zKrth2JKdiGzxBa+r9T7yytpSj49drHqE19f4nXmmlRqzZUOCR
dGPZf2+gYWXgwAcrA0A0JAegYWUgjNl6pBQWOcmtqPBISpG8pxhl2XrkxoU7Muw5lK32udWhVwPwy75o
@@ -258,7 +258,7 @@
<data name="bt_alamsetup.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAQnSURBVFhH5ZRtTFtVGICvGmWM9t5aWlhpy8DCNrdg2CaE
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQnSURBVFhH5ZRtTFtVGICvGmWM9t5aWlhpy8DCNrdg2CaE
xTBds8yEAD+Y7I+LxsQ/ix9Rf6gM2IlO4seQxkAyWaeMkU23AWNsOj6EIsOJM87p5n4QF8JaPlrarkDv
Z0dfcw+jrqdU0RUS45M86cn7vud9z217D0X9l/E1Gp72HdWXkvFlYbRet9LXYJy5dYzhpxpTEsn8kuNt
0tWwtp3A9ZeC75j+JJlfUtxNeoOzTisGpRmAWQlGj+skzxHjBrJuyfAc0fXwP70O0o+FEPj1BRB+fgNu
@@ -282,7 +282,7 @@
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAARxSURBVFhH7ZdLU5tVGMffGfd+BBeV3BNyIRBCSEIuJAYw
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARxSURBVFhH7ZdLU5tVGMffGfd+BBeV3BNyIRBCSEIuJAYw
NCUEEgLFta2fwZ0b9QPIzo2u2xm/gE21jtpAKFCqrhzMmwsJWlfJzN95znvOe81ohym6MTO/eS7nOc//
z5sQBkn6/8Vftd33DtKZHFKZHChW6/vI5VdZ/tWjR9fi1z9eIhyOqDsplstbtXz+XY9ZX6KBjz/5FO/f
+4AhDFD+52h0bcrlirqT9gsTZn0plV5GdWefCdd4JAO1+l38fHWFX66GPOoZGnKfP6Ai7uTyK6jt3GU7
@@ -307,7 +307,7 @@
<data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAABhKSURBVHhe7ZsHWFRnusePTKNPodo3btpqNsmmGDXqKGAn
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABhKSURBVHhe7ZsHWFRnusePTKNPodo3btpqNsmmGDXqKGAn
ighIUVFEyoBi1Giqxxg1mtx0o4nZ7M1zn81uNru5WVEULBkLxUKRIjAz1KHXoYiFMu993u+cM3PmMKhp
u/c+z/2e5x8IzJzv/f3f93u/7xxGivr/8euOEo2Xa3mycpE+SfmWXqM8a9C41+sTXG7oNco7+iRlP5FG
eac8ybXPEK9sNSQoLukSlR+UJytXlmi8fIXX+z8x9BtV43SJyl3lGtdahKuO9hpo3PEAtNKPQef+56Hr
@@ -417,7 +417,7 @@
<data name="bt_print.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAStSURBVFhH7ZZdTJNnFMef290sS1x0zhgXhyjJLiZ6sezG
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAStSURBVFhH7ZZdTJNnFMef290sS1x0zhgXhyjJLiZ6sezG
i3lBtt3uauFmcOHHPmI2dS4a2OIUiZluUTTSCPJhUWiLtWhtpaXY10Kp5cMWaCms6MAXBhQtgn2r7385
z9sX6OuIkXLpSX455zznec7/n6ZNytibeEXUemJYLpc9MWj3vXbUeqYgPEjC/SAJYViCeziZ6iUIVA+r
OclnHH43CX3bShhoi+HOsITWqIQ70STPan2H5wWUmXKH+isdjzM3oG+fhutvCS1RCS2UOcn5zGdpZwt9
@@ -443,7 +443,7 @@
<data name="bt_show2ndwindow.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAKdSURBVFhH7VZNiFJRGJ2IVm2CZhtEwQRBi1kEMQgR0SKC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKdSURBVFhH7VZNiFJRGJ2IVm2CZhtEwQRBi1kEMQgR0SKC
DDT8QXETTjUQBEbSgJY1Qw5MpFPTQsRUEMRZWptIazdOZUbgH4Wlgz+0mfwhCfGL8/A6+Urn3lYtPHDA
B98597z7Xe/3JibGGEMMu8xm8x6DwbDXZDLtMxqN+3U63eQooga10EALD7kpN2AAM71ef0ir1U5rNJoZ
nU6nGEXUoBYaaHsh/g14CxidcWxETy99IRFCAy085L7cwBvgbU7dL5B3/Se9yHa4iFpooIWH3FeOoX3W
@@ -460,7 +460,7 @@
<data name="bt_config.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAZRSURBVFhH7VZtbJNVFFZBiB/RiJqgIgnR+MPEGENMNFGr
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAZRSURBVFhH7VZtbJNVFFZBiB/RiJqgIgnR+MPEGENMNFGr
P0gwkMhi3/ZtmfCDhF+SEsJYM5KVZS9h61YCtBS6FTbavm1vu0/YLOvWbl1Hxz7Y+NiAsQ8YX4PBNhJ/
+MOYa54Lt3n7jlXR+M+TPLlv7z3nPOeee869fe65/+UfCiFkSzgc7n+CJCHEqNb5z4QQ8nMsFqN37txh
uHXrFm1tbaWEkJ/Uuv9aCCGfBINBZzAYtBFCPiSErPL7/cM3b96kjx49ojMzM2ycmJiggUAgRQh5jxDy
@@ -493,7 +493,7 @@
<data name="ToolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAciSURBVFhHnZZpTFvZGYaPqnbU0bSj/pi2U3VRR6qqVmql
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAciSURBVFhHnZZpTFvZGYaPqnbU0bSj/pi2U3VRR6qqVmql
VqPOn0oz/VFV7Y+2qhS1Umc0SaWpqqQzUaTQkGDwZQ2MbQgkQMxqwLsD2GwhkBAgJGEnYTcQNmNj3+vl
egFvhLzVuRMssB1D+0mPrOv7nvd7z3euF0JOWMV6y+syk/NP0hZOITM6JiQt3IrMyEGghVuj78laWbXE
5PhLuYH9Wvz6/7skBvZtWQtbyxi5YGmHE4oHPhinQxjdjGCRjcaY3Iqg6VEAZZ0uUK2slWsqavf8IN7v
@@ -530,7 +530,7 @@
<data name="btLog.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAJSSURBVFhH7db/axJxHMfx/RH9Ff3aH2A/7dym5mhBQo2x
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVFhH7db/axJxHMfx/RH9Ff3aH2A/7dym5mhBQo2x
+qkf+qEvPw9ibDs9XYOVtVoz2qDol9jI6CfDOu+805mVFfNkWBq1wNWuaNO5V3wEZX7COXc7Peie8P5B
TvTBh7d3dnWZ/S8xEwKMNLSvArwVKxtiTKDWMYFapyHQKJlArZlArZlArbUMvLKQqns96F/+5+He6pDP
aBS5Tvv2BLY7E6i14duJ1oDt3kES7dsT2IlonyGAyexPnL+TxAmfBIdHembjYkcMAwyEP8HpleHn1/Hk
@@ -546,7 +546,7 @@
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAC6SURBVFhHY2AYBaNgEIBpVS7/icY1Lr3o+mkOQBbf3pBK
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC6SURBVFhHY2AYBaNgEIBpVS7/icY1Lr3o+mkOQBbf3pBK
EF9dk/x/Wr3nlxlVLn3oZtAUEOvAAXMkKQ4E4fMrEv/X12n9wYh+KmOyHHhkXtT/uQ0e//fMjv3/8XTz
/6/nWmmCMRxILF7S5vv/wZ5yDAOpjTEciK5goPGoAynFow6kFI86kFI86kBK8agDKcWjDqQUjzqQUjzq
QErxqAMpxaMOpBSPOpBSPOpASjGGAwcjhjtwFIyCAQQAl/T9hdakfvYAAAAASUVORK5CYII=

View File

@@ -64,7 +64,7 @@ namespace vmsnet
this.DispCtrl1.Size = new System.Drawing.Size(774, 699);
this.DispCtrl1.TabIndex = 3;
this.DispCtrl1.Times = null;
this.DispCtrl1.Values = null;
this.DispCtrl1._Values = null;
this.DispCtrl1.OnAlamChange += DispCtrl1_OnAlamChangeL;
this.DispCtrl1.OnChangedShowIndex += DispCtrl1_OnChangedShowIndex;
this.DispCtrl1.OnClickCell += DispCtrl1_OnClickCell;
@@ -222,7 +222,31 @@ namespace vmsnet
delegate void Pub_RemoteCommandEventHandler(object sender, RemoteCommand e);
private void Pub_RemoteCommandEvent(object sender, RemoteCommand e)
{
if (e.Command == rCommand.StateMessage)
if(e.Command == rCommand.AlarmValueReset)
{
////auto로 된 그룹의 기준값을 변경한다.
this.DispCtrl1.SuspendLayout();
foreach (HMI.CGROUP c in DispCtrl1.GROUPS)
{
if (c.AlarmType == "AUTO")
{
////이그룹을 사용하는 모든셀의 auto값을 초기화한다.
foreach (HMI.CITEM i in c.Items)
{
i.alamv = -999;
}
}
else if (c.AlarmType == "STOP")
{
c._alamcount = (short)0;
c._alamcountlb = (short)0;
}
}
this.DispCtrl1._raise_alarm_pre = true; ////혹알람이 발생되어있을지 모르니. 끄도록 발생한것 처럼 표시해준다.
this.DispCtrl1.ResumeLayout();
this.DispCtrl1.Invalidate();
}
else if (e.Command == rCommand.StateMessage)
{
if (this.InvokeRequired)
{
@@ -744,7 +768,8 @@ namespace vmsnet
PUB.StatusMSG("Ready...");
this.DispCtrl1.initmsg = "Complete";
this.DispCtrl1.init = true;
this.DispCtrl1.Values = PUB.Values;
this.DispCtrl1._Values = PUB._Values;
this.DispCtrl1.Received = PUB.Received;
this.DispCtrl1.Times = PUB.Times;
//Me.DispCtrl1.WINDOW.restarttime = CONFIG.Restart
this.DispCtrl1.SmallSize = System.Convert.ToInt32(PUB.CONFIG.viewSize);

View File

@@ -69,6 +69,7 @@ namespace vmsnet.HMI
private String _value = "";
public int value2 = 0; //소수자리가 들어가기전의 값
public bool received = false;
public Single CurValue =0f;
public Single CurValue1 = 0f;
@@ -92,6 +93,7 @@ namespace vmsnet.HMI
BarRect = new RectangleF(0, 0, 0, 0);
_value = "";
value2 = 0;
received = false;
mtime = "";
idx = 0;
// detailform = null;

View File

@@ -129,7 +129,8 @@ namespace vmsnet.HMI
// }
//}
private int[,,] values;
private bool[,,] received;
private int[,,] _values;
private String[,,] times;
private Boolean _init = false; //그리드초기화완료여부
@@ -309,10 +310,20 @@ namespace vmsnet.HMI
#region *** Constructors ***
public int[,,] Values
/// <summary>
/// 데이터를 수신했는지
/// </summary>
public bool[,,] Received
{
get { return this.values; }
set { this.values = value; }
get { return this.received; }
set { this.received = value; }
}
public int[,,] _Values
{
get { return this._values; }
set { this._values = value; }
}
public String[,,] Times
@@ -670,9 +681,10 @@ namespace vmsnet.HMI
//값의 저장소가 아에없다면?
//Boolean OverDATA = false;
var alarmRemark = string.Empty;
if (this.Values == null)
if (this._Values == null)
{
Item.value2 = 0;
Item.received = false;
Item.CurValue = 0f;
Item.CurValue1 = 0f;
TimeStr = "Null Error";
@@ -685,6 +697,7 @@ namespace vmsnet.HMI
if (!Item.) //사용여부자체를 설정한다.
{
Item.value2 = 0;
Item.received = false;
Item.alamv = -999;
Item.CurValue = 0f; //미설정상태라면 값을 표시하지 않는다.
Item.CurValue1 = 0f;
@@ -698,18 +711,20 @@ namespace vmsnet.HMI
//Br = new SolidBrush(Color.Black);
Offset = Item.Offset; //수동으로입력된 옾셋
var u1 = this.Values.GetUpperBound(0);
var u2 = this.Values.GetUpperBound(1);
var u3 = this.Values.GetUpperBound(2);
var u1 = this._Values.GetUpperBound(0);
var u2 = this._Values.GetUpperBound(1);
var u3 = this._Values.GetUpperBound(2);
if (Item.idx_dev >= 0 && Item.idx_unit >= 0 && Item.idx_ch >= 0 &&
Item.idx_dev <= u1 && Item.idx_unit <= u2 && Item.idx_ch <= u3)
{
Item.value2 = this.Values[Item.idx_dev, Item.idx_unit, Item.idx_ch]; //측정값
Item.value2 = this._Values[Item.idx_dev, Item.idx_unit, Item.idx_ch]; //측정값
TimeStr = this.Times[Item.idx_dev, Item.idx_unit, Item.idx_ch]; //측정시간
Item.received = this.Received[Item.idx_dev, Item.idx_unit, Item.idx_ch]; //수신여부
}
else
{
Item.value2 = 0;
Item.received = false;
TimeStr = "";
}
@@ -791,7 +806,12 @@ namespace vmsnet.HMI
if (Item.alamv == -999 || Item.alamv == 0) Item.alamv = Item.CurValue;
Item. = "AUTO";
if (Item.CurValue > Item.alamv) //큰값이 있을경우 상한선을 확인한다.
if (Item.received == false)
{
Item.onalamh = false;
Item.onalaml = false;
}
else if (Item.CurValue > Item.alamv) //큰값이 있을경우 상한선을 확인한다.
{
Single gap = Math.Abs(Item.CurValue - Item.alamv);
if (gap >= Math.Abs(Item.aalamh))
@@ -818,7 +838,12 @@ namespace vmsnet.HMI
else if (grp.AlarmType == "MANUAL")
{
Item. = "MANUAL";
if (Item.CurValue >= Item.alamh)
if (Item.received == false)
{
Item.onalamh = false;
Item.onalaml = false;
}
else if (Item.CurValue >= Item.alamh)
{
Item.onalamh = true;
Item.onalaml = false;
@@ -842,7 +867,12 @@ namespace vmsnet.HMI
break;
case COMM.EALAMTYPE.:
Item. = "MANUAL";
if (Item.CurValue >= Item.alamh)
if (Item.received == false)
{
Item.onalamh = false;
Item.onalaml = false;
}
else if (Item.CurValue >= Item.alamh)
{
Item.onalamh = true;
Item.onalaml = false;
@@ -864,7 +894,12 @@ namespace vmsnet.HMI
/* 작성자: 이재웅, 작성일: 2025-06-17, 작성내용: 'Item.alamv == 0' OR조건 추가 */
if (Item.alamv == -999 || Item.alamv == 0) Item.alamv = Item.CurValue;
if (Item.CurValue > Item.alamv) //큰값이 있을경우 상한선을 확인한다.
if (Item.received == false)
{
Item.onalamh = false;
Item.onalaml = false;
}
else if (Item.CurValue > Item.alamv) //큰값이 있을경우 상한선을 확인한다.
{
Single gap = Math.Abs(Item.CurValue - Item.alamv);
if (gap >= Math.Abs(Item.aalamh))
@@ -897,7 +932,7 @@ namespace vmsnet.HMI
{
String alamtimes = "";
if (TimeStr != "" && TimeStr != "Not USE")
if (TimeStr != "" && TimeStr != "Not USE")
alamtimes = DateTime.Parse(TimeStr).ToString("yy-MM-dd HH:mm:ss");
else alamtimes = "";
@@ -934,7 +969,7 @@ namespace vmsnet.HMI
}
}
if (!Item. && Item.)
if ((!Item. && Item.) || Item.received == false)
{
Item._onalamover = false;
Item._onalamh = false;
@@ -954,6 +989,10 @@ namespace vmsnet.HMI
BrColor = (Color.DarkMagenta);
grp._errorcount += 1;
}
else if (Item.received == false)
{
ValueStr = "--";
}
else if (!Item.)
{
ValueStr = "--";
@@ -1294,7 +1333,7 @@ namespace vmsnet.HMI
//g.DrawString(this.window.disconnecttime.ToString(), this.Font, Brushes.Red, R.Left,R.Top);
}
grp._amp = 0;
if (grp._ampidx != "" && grp._ampidx != null)
{
@@ -1306,7 +1345,7 @@ namespace vmsnet.HMI
try
{
grp._ampdecpos = 3;
grp._amp = (float)(this.Values[di1, di2, di3 - 1] / (Math.Pow(10, grp._ampdecpos)));
grp._amp = (float)(this._Values[di1, di2, di3 - 1] / (Math.Pow(10, grp._ampdecpos)));
}
catch
{
@@ -1357,7 +1396,7 @@ namespace vmsnet.HMI
grp._nbalam_l = true; //a2 on
if (!grp._pre_nbalam_l)
{
if (grp.AlarmType != "STOP") OnAlamChange(grp.IDX, COMM.EALAMRAISETYPE.A2_ON, COMM.EALAMTYPE., "NB",
if (grp.AlarmType != "STOP") OnAlamChange(grp.IDX, COMM.EALAMRAISETYPE.A2_ON, COMM.EALAMTYPE., "NB",
(Single)nullvalue, (Single)grp.nbl, (Single)grp.nbl, $"> {grp.nbl}");
grp._pre_nbalam_l = true;
A2 = false;
@@ -1404,7 +1443,7 @@ namespace vmsnet.HMI
grp._nbalam_h = true;
if (!grp._pre_nbalam_h) //이전에 발생안햇다면
{
if (grp.AlarmType != "STOP") OnAlamChange(grp.IDX, COMM.EALAMRAISETYPE.A1_ON, COMM.EALAMTYPE., "NB",
if (grp.AlarmType != "STOP") OnAlamChange(grp.IDX, COMM.EALAMRAISETYPE.A1_ON, COMM.EALAMTYPE., "NB",
(Single)nullvalue, (Single)grp.nbh, (Single)grp.nbh, $"> {grp.nbh}");
grp._pre_nbalam_h = true;
blink1 = 0;
@@ -1490,7 +1529,7 @@ namespace vmsnet.HMI
//끝부분에 KA 를 표시한다.
String Kaunit = grp._ampunit;// +grp._ampidx.ToString() + "/" + grp._ampdecpos.ToString();
/* 작성자: 이재웅, 작성일: 2024-12-04, 작성내용: {전류량[KA] × 100} 변경 */
String MaxKA = (grp._amp * 10f).ToString("#0.00");
@@ -1732,7 +1771,7 @@ namespace vmsnet.HMI
if (grp.Showinfo) infogrp = grp;
//else
//{
DrawGroup(g, grp, new Point(0, 0), new SizeF(WINDOW.ITEMWIDTH, WINDOW.ITEMHEIGHT), WindowRect, , , false, visible);
DrawGroup(g, grp, new Point(0, 0), new SizeF(WINDOW.ITEMWIDTH, WINDOW.ITEMHEIGHT), WindowRect, , , false, visible);
//}
idx += 1;
@@ -2072,27 +2111,27 @@ namespace vmsnet.HMI
//if (this.FullScreen)
//{ /* 작성자: 이재웅, 작성일: 2024-12-04, 작성내용: '전체보기' 상태일 때만 그룹헤더의 [Null Balance] 팝업 정보가 표시되도록 변경 */
//마우스가 현재 그룹헤더에 존재하는지확인 (헤더에 올경우 특정 정보를 표시)
if (!Mouseinfo.Hand && !Mouseinfo.Move)
//마우스가 현재 그룹헤더에 존재하는지확인 (헤더에 올경우 특정 정보를 표시)
if (!Mouseinfo.Hand && !Mouseinfo.Move)
{
int tpidx = Check_GroupHeader(e, true);
if (tpidx != -1)
{
int tpidx = Check_GroupHeader(e, true);
if (tpidx != -1)
{
Mouseinfo.Hand = true;
this.GROUPS[tpidx].Showinfo = true;
//this.showHeaderInfo = true;
}
Mouseinfo.Hand = true;
this.GROUPS[tpidx].Showinfo = true;
//this.showHeaderInfo = true;
}
}
//마우스가 현재 그룹에 존재하는지?
if (!Mouseinfo.Hand && !Mouseinfo.Move)
}
//마우스가 현재 그룹에 존재하는지?
if (!Mouseinfo.Hand && !Mouseinfo.Move)
{
int tpidx = Check_Group(e);
if (tpidx != -1)
{
int tpidx = Check_Group(e);
if (tpidx != -1)
{
Mouseinfo.Hand = true;
}
Mouseinfo.Hand = true;
}
}
//}
if (Mouseinfo.Hand) this.Cursor = Cursors.Hand;

View File

@@ -1281,8 +1281,6 @@ namespace TrendCtrlII
base.OnSizeChanged(e);
if (this.Visible == false) return;
Console.WriteLine("OnSizeChanged");
}
void CreateBufferGraphic()

View File

@@ -38,6 +38,6 @@ using System.Runtime.InteropServices;
// 지정되도록 할 수 있습니다.
// <Assembly: AssemblyVersion("1.0.*")>
[assembly: AssemblyVersion("24.11.26.2200")]
[assembly: AssemblyFileVersion("24.11.26.2200")]
[assembly: AssemblyVersion("25.07.01.2200")]
[assembly: AssemblyFileVersion("25.07.01.2200")]

View File

@@ -74,7 +74,7 @@ namespace vmsnet
try
{
PUB.KA1_SUM += (float)(PUB.Values[di1, di2, di3 - 1] / (Math.Pow(10, _ampdecpos)));
PUB.KA1_SUM += (float)(PUB._Values[di1, di2, di3 - 1] / (Math.Pow(10, _ampdecpos)));
}
catch { }
}
@@ -89,7 +89,7 @@ namespace vmsnet
try
{
PUB.KA2_SUM += (float)(PUB.Values[di1, di2, di3 - 1] / (Math.Pow(10, _ampdecpos)));
PUB.KA2_SUM += (float)(PUB._Values[di1, di2, di3 - 1] / (Math.Pow(10, _ampdecpos)));
}
catch { }
}

View File

@@ -19,7 +19,7 @@ namespace vmsnet
VAR.Init();
//연결체크용 쓰레드
thConnection= Task.Run(() => bwDeviceConnection());
thConnection = Task.Run(() => bwDeviceConnection());
}
}

View File

@@ -9,10 +9,18 @@ namespace vmsnet
{
private void SPS_250ms()
{
if(VAR.isInit)
if (VAR.isInit)
{
VAR.STR[EVarString.MCStatus] = PUB.sm.Step.ToString();
}
//셀정보자동저장
if (PUB.sm != null && PUB.sm.Step == ESMStep.RUN && PUB.CONFIG.savetermcellinfo > 0)
{
var ts_saveCellinfo = DateTime.Now - PUB.LastWindowCellinfoSaved;
if (ts_saveCellinfo.TotalMinutes > PUB.CONFIG.savetermcellinfo)
PUB.RaiseRemoteCommandEvent(rCommand.SaveGroupClass);
}
}
private void SPS_Max()

View File

@@ -117,7 +117,16 @@ namespace vmsnet
/// </summary>
public bool opensubwindow { get; set; }
public short trashper { get; set; } ////자동삭제용량단위
/// <summary>
/// 저장주기(단위:초)
/// </summary>
public short saveterm { get; set; }
/// <summary>
/// 셀저장보 저장 주기(단위:분)
/// </summary>
public short savetermcellinfo { get; set; }
public bool seconddata { get; set; }
public bool thirddata { get; set; }
public bool getdata4 { get; set; }

View File

@@ -70,11 +70,14 @@ namespace vmsnet
this.StatusStrip1 = new System.Windows.Forms.StatusStrip();
this.ToolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.Button1 = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.chkResetValue = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.DataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.DataSet1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.DataTable1)).BeginInit();
this.StatusStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// DataGridView1
@@ -85,6 +88,7 @@ namespace vmsnet
this.DataGridView1.AutoGenerateColumns = false;
this.DataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.DataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.DataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.DataGridView1.ColumnHeadersHeight = 40;
this.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.DataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@@ -116,7 +120,7 @@ namespace vmsnet
this.DataGridView1.RowHeadersWidth = 50;
this.DataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
this.DataGridView1.RowTemplate.Height = 23;
this.DataGridView1.Size = new System.Drawing.Size(1010, 461);
this.DataGridView1.Size = new System.Drawing.Size(1010, 475);
this.DataGridView1.TabIndex = 0;
this.DataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DataGridView1_CellContentClick);
this.DataGridView1.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridView1_CellFormatting);
@@ -146,7 +150,7 @@ namespace vmsnet
this.TypeDataGridViewTextBoxColumn.Name = "TypeDataGridViewTextBoxColumn";
this.TypeDataGridViewTextBoxColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.TypeDataGridViewTextBoxColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.TypeDataGridViewTextBoxColumn.Width = 125;
this.TypeDataGridViewTextBoxColumn.Width = 82;
//
// HighDataGridViewTextBoxColumn
//
@@ -156,7 +160,7 @@ namespace vmsnet
this.HighDataGridViewTextBoxColumn.HeaderText = "Manual(H)";
this.HighDataGridViewTextBoxColumn.MinimumWidth = 8;
this.HighDataGridViewTextBoxColumn.Name = "HighDataGridViewTextBoxColumn";
this.HighDataGridViewTextBoxColumn.Width = 160;
this.HighDataGridViewTextBoxColumn.Width = 108;
//
// LowDataGridViewTextBoxColumn
//
@@ -166,7 +170,7 @@ namespace vmsnet
this.LowDataGridViewTextBoxColumn.HeaderText = "Manual(L)";
this.LowDataGridViewTextBoxColumn.MinimumWidth = 8;
this.LowDataGridViewTextBoxColumn.Name = "LowDataGridViewTextBoxColumn";
this.LowDataGridViewTextBoxColumn.Width = 156;
this.LowDataGridViewTextBoxColumn.Width = 105;
//
// AhighDataGridViewTextBoxColumn
//
@@ -176,7 +180,7 @@ namespace vmsnet
this.AhighDataGridViewTextBoxColumn.HeaderText = "Auto(±)";
this.AhighDataGridViewTextBoxColumn.MinimumWidth = 8;
this.AhighDataGridViewTextBoxColumn.Name = "AhighDataGridViewTextBoxColumn";
this.AhighDataGridViewTextBoxColumn.Width = 127;
this.AhighDataGridViewTextBoxColumn.Width = 87;
//
// AlowDataGridViewTextBoxColumn
//
@@ -187,7 +191,7 @@ namespace vmsnet
this.AlowDataGridViewTextBoxColumn.MinimumWidth = 8;
this.AlowDataGridViewTextBoxColumn.Name = "AlowDataGridViewTextBoxColumn";
this.AlowDataGridViewTextBoxColumn.Visible = false;
this.AlowDataGridViewTextBoxColumn.Width = 103;
this.AlowDataGridViewTextBoxColumn.Width = 71;
//
// nbhh
//
@@ -196,7 +200,7 @@ namespace vmsnet
this.nbhh.MinimumWidth = 8;
this.nbhh.Name = "nbhh";
this.nbhh.Visible = false;
this.nbhh.Width = 113;
this.nbhh.Width = 81;
//
// nbh
//
@@ -206,7 +210,7 @@ namespace vmsnet
this.nbh.HeaderText = "NullB(Alarm1)";
this.nbh.MinimumWidth = 8;
this.nbh.Name = "nbh";
this.nbh.Width = 199;
this.nbh.Width = 131;
//
// nbl
//
@@ -216,7 +220,7 @@ namespace vmsnet
this.nbl.HeaderText = "NullB(Alarm2)";
this.nbl.MinimumWidth = 8;
this.nbl.Name = "nbl";
this.nbl.Width = 199;
this.nbl.Width = 131;
//
// nbll
//
@@ -225,7 +229,7 @@ namespace vmsnet
this.nbll.MinimumWidth = 8;
this.nbll.Name = "nbll";
this.nbll.Visible = false;
this.nbll.Width = 109;
this.nbll.Width = 79;
//
// BindingSource1
//
@@ -324,10 +328,10 @@ namespace vmsnet
this.StatusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.StatusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripStatusLabel1});
this.StatusStrip1.Location = new System.Drawing.Point(0, 529);
this.StatusStrip1.Location = new System.Drawing.Point(0, 536);
this.StatusStrip1.Name = "StatusStrip1";
this.StatusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 20, 0);
this.StatusStrip1.Size = new System.Drawing.Size(1010, 29);
this.StatusStrip1.Size = new System.Drawing.Size(1010, 22);
this.StatusStrip1.TabIndex = 2;
this.StatusStrip1.Text = "StatusStrip1";
//
@@ -335,29 +339,50 @@ namespace vmsnet
//
this.ToolStripStatusLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.999999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1";
this.ToolStripStatusLabel1.Size = new System.Drawing.Size(423, 22);
this.ToolStripStatusLabel1.Size = new System.Drawing.Size(373, 17);
this.ToolStripStatusLabel1.Text = "개별알람 및 개별알람(자동)으로 설정된 셀은 영향을 받지 않습니다.";
//
// Button1
//
this.Button1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.Button1.Dock = System.Windows.Forms.DockStyle.Fill;
this.Button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Button1.Location = new System.Drawing.Point(0, 461);
this.Button1.Location = new System.Drawing.Point(0, 0);
this.Button1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Button1.Name = "Button1";
this.Button1.Size = new System.Drawing.Size(1010, 68);
this.Button1.Size = new System.Drawing.Size(858, 61);
this.Button1.TabIndex = 3;
this.Button1.Text = "저장";
this.Button1.UseVisualStyleBackColor = true;
this.Button1.Click += new System.EventHandler(this.Button1_Click);
//
// panel1
//
this.panel1.Controls.Add(this.Button1);
this.panel1.Controls.Add(this.chkResetValue);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 475);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1010, 61);
this.panel1.TabIndex = 4;
//
// chkResetValue
//
this.chkResetValue.Dock = System.Windows.Forms.DockStyle.Right;
this.chkResetValue.Location = new System.Drawing.Point(858, 0);
this.chkResetValue.Name = "chkResetValue";
this.chkResetValue.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
this.chkResetValue.Size = new System.Drawing.Size(152, 61);
this.chkResetValue.TabIndex = 0;
this.chkResetValue.Text = "알람 기준값 초기화";
this.chkResetValue.UseVisualStyleBackColor = true;
//
// Frm_Alam
//
this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 29F);
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1010, 558);
this.Controls.Add(this.DataGridView1);
this.Controls.Add(this.Button1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.StatusStrip1);
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.KeyPreview = true;
@@ -372,6 +397,7 @@ namespace vmsnet
((System.ComponentModel.ISupportInitialize)(this.DataTable1)).EndInit();
this.StatusStrip1.ResumeLayout(false);
this.StatusStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -406,6 +432,8 @@ namespace vmsnet
internal System.Windows.Forms.DataGridViewTextBoxColumn nbl;
internal System.Windows.Forms.DataGridViewTextBoxColumn nbll;
private System.ComponentModel.IContainer components;
private Panel panel1;
private CheckBox chkResetValue;
}
}

View File

@@ -65,7 +65,10 @@ namespace vmsnet
if (CDT == null)
{
//MsgBox("변경된 내용이 없습니다", MsgBoxStyle.Information, "확인")
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
if (chkResetValue.Checked)
this.DialogResult = DialogResult.OK;
else
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
}
else
{
@@ -94,8 +97,7 @@ namespace vmsnet
////설정바꾼다.
PUB.RaiseRemoteCommandEvent(rCommand.UpdateAlarmSetting,idx);
//각 창별로 window1.grp / window2.grp 의 파일에 그룹상태를 저장 합니다
PUB.RaiseRemoteCommandEvent(rCommand.SaveGroupClass);
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}

File diff suppressed because it is too large Load Diff

View File

@@ -180,6 +180,8 @@ namespace vmsnet
this.chk_lsb.Checked = PUB.CONFIG.lsb;
this.tb_trashper.Text = PUB.CONFIG.trashper.ToString();
this.tb_saveterm.Text = PUB.CONFIG.saveterm.ToString();
this.tb_savetermCellInfo.Text = PUB.CONFIG.savetermcellinfo.ToString();
this.chk_2nddata.Checked = PUB.CONFIG.seconddata;
this.chk_3rdData.Checked = PUB.CONFIG.thirddata;
this.chk_4thData.Checked = PUB.CONFIG.getdata4;
@@ -348,6 +350,25 @@ namespace vmsnet
return;
}
if (short.TryParse(this.tb_saveterm.Text, out short v_saveterm) == false)
{
UTIL.MsgE("저장주기를 입력하세요");
this.tb_saveterm.Focus();
return;
}
if (short.TryParse(this.tb_savetermCellInfo.Text, out short v_savetermCellInfo) == false)
{
UTIL.MsgE("셀정보 저장주기를 입력하세요");
this.tb_savetermCellInfo.Focus();
return;
}
if(short.TryParse(this.tb_trashper.Text, out short v_trashper) == false)
{
UTIL.MsgE("디스크 정리주기를 입력하세요");
this.tb_trashper.Focus();
return;
}
//데이터베이스적용
PUB.DS.Clear();
PUB.DS.Merge(this.DocumentElement1);
@@ -367,8 +388,10 @@ namespace vmsnet
PUB.CONFIG.synctime = this.chk_synctime.Checked;
PUB.CONFIG.databasefolder = this.tb_savepath.Text;
PUB.CONFIG.lsb = this.chk_lsb.Checked;
PUB.CONFIG.trashper = short.Parse(this.tb_trashper.Text);
PUB.CONFIG.saveterm = short.Parse(this.tb_saveterm.Text);
PUB.CONFIG.trashper = v_trashper;// short.Parse(this.tb_trashper.Text);
PUB.CONFIG.saveterm = v_saveterm;// short.Parse(this.tb_saveterm.Text);
PUB.CONFIG.savetermcellinfo = v_savetermCellInfo;// short.Parse(this.tb_savetermCellInfo.Text);
PUB.CONFIG.seconddata = this.chk_2nddata.Checked;
PUB.CONFIG.thirddata = this.chk_3rdData.Checked;
PUB.CONFIG.getdata4 = this.chk_4thData.Checked;

View File

@@ -124,7 +124,7 @@
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAWfSURBVFhH7ZZrTFNnHMaZFu/Oy3QxE5cQk12yGS+oUbm0
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAWfSURBVFhH7ZZrTFNnHMaZFu/Oy3QxE5cQk12yGS+oUbm0
WqWES6HQc3oDoqCACDjBTRCxjhF1uDjdCNOBMgzqFJB6w4EDKZeWm7QqKligBHFbsmTf9sFkybP8j3JG
3zoU93VP8qTved/n/3venvRDPTz+1ziUd9Vj4cGfJCl51ZIbedUTOo03JH+RaU17wtlVj4Xs3H9W7jVP
n7zrE4uP/jwfFV0haHXmwD58BEN/lAumNe3RGWUoSzMs57X0xdWJ+V/VzkPdw0QM/F6Ent8O4t6TXeh6
@@ -263,7 +263,7 @@
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
@@ -278,7 +278,7 @@
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
@@ -623,7 +623,7 @@
<data name="bt_remakelist.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAZPSURBVFhH7ZJrTFRnHsatvaXtZpveku1lm/RLP7SdghFZ
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAZPSURBVFhH7ZJrTFRnHsatvaXtZpveku1lm/RLP7SdghFZ
15Tih03ELt0IzDlzgVK8FFbFWky7EWozbdNL2rCVRUS8UECwVooSUFRSRSwCMzADBRGYC2eYGeZ6zpxz
hmGm2mzybN7jMpEDDNp+9Ul+Oe+85/9/nv/7zlm27K7u6g60umTw2ZSPTIUpe/rPpZSYjC/tMf2XQNbS
3kemQlIj7/vdWlNiSkr50Fj9bo0Zp4c42LgopsTr4CI3EIzekNbmQBTtIzx21VlAateUGJLkPncunW75

View File

@@ -14,6 +14,7 @@ using System.Runtime.CompilerServices;
using System.Linq;
using System.Threading.Tasks;
using vmsnet;
using System.Xml;
namespace vmsnet
{
@@ -47,10 +48,14 @@ namespace vmsnet
public static DigitalIndicator indicator;
public static int sleepoffset = 0; ////쓰레드슬립시간
/// <summary>
/// 데이터를 수신받았는지 체크
/// </summary>
public static bool[,,] Received;
/// <summary>
/// 측정값(전압)이 들어있다(mcidx/unitno/chidx)
/// </summary>
public static int[,,] Values;
public static int[,,] _Values;
/// <summary>
/// 측정값(시간)이 들어있다(mcidx/unitno/chidx)
/// yyyy-MM-dd HH:mm:ss
@@ -84,6 +89,7 @@ namespace vmsnet
public static FMain mainWindow;
public static DocumentElement DS = new DocumentElement();
public static bool runerror = false; ////실행오류
public static DateTime LastWindowCellinfoSaved = DateTime.Now;
public static string lastStatueMessage = "";
@@ -122,7 +128,7 @@ namespace vmsnet
}
public static void RaiseRemoteCommandEvent(rCommand cmd, object data = null)
{
{
RemoteCommandEvent?.Invoke(null, new RemoteCommand(cmd, data));
}
@@ -219,16 +225,17 @@ namespace vmsnet
/// <returns></returns>
public static bool AddMeasureValue(int mcidx, int unit, int ch, int value, string time)
{
var l0 = PUB.Values.GetUpperBound(0) + 1; //mc array size
var l1 = PUB.Values.GetUpperBound(1) + 1; //unit array size
var l2 = PUB.Values.GetUpperBound(2) + 1; //ch array size
var l0 = PUB._Values.GetUpperBound(0) + 1; //mc array size
var l1 = PUB._Values.GetUpperBound(1) + 1; //unit array size
var l2 = PUB._Values.GetUpperBound(2) + 1; //ch array size
if (mcidx < l0 && unit < l1 && ch > 0 && ch <= l2)
{
try
{
PUB.Values[mcidx, unit, ch - 1] = value;
PUB._Values[mcidx, unit, ch - 1] = value;
PUB.Times[mcidx, unit, ch - 1] = time;
PUB.Received[mcidx, unit, ch - 1] = true;
return true;
}
catch (Exception)
@@ -596,15 +603,22 @@ namespace vmsnet
public static void SaveGroupClass(HMI.CGROUP[] grous, System.IO.FileInfo fi)
{
LastWindowCellinfoSaved = DateTime.Now;
////그룹정보를 파일로 직렬화저장
try
{
if (fi.Directory.Exists == false) fi.Directory.Create();
System.IO.FileStream fs2 = new System.IO.FileStream(fi.FullName, System.IO.FileMode.Create);
var tempfile = fi.FullName + ".temp";
System.IO.FileStream fs2 = new System.IO.FileStream(tempfile, System.IO.FileMode.Create);
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf2 = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bf2.Serialize(fs2, grous);
fs2.Close();
PUB.log.Add(AR.Log.ETYPE.NORMAL, "그룹정보파일 저장완료");
System.IO.File.Copy(tempfile, fi.FullName, true);
}
catch (Exception ex)
{
@@ -783,7 +797,9 @@ namespace vmsnet
////master-K 231120 chi
masterk = new arDev.MasterK();
indicator = new DigitalIndicator();
//indicator = new DigitalIndicator();
/* 작성자: 이재웅, 작성일: 2025-06-26, 작성내용: DigitalIndicator() 생성자의 인자로 (byte)PUB.CONFIG.indicator_slaveno 추가 */
indicator = new DigitalIndicator((byte)PUB.CONFIG.indicator_slaveno);
////init Folder
workmsg("Init Dir");