Compare commits
3 Commits
bae298ca00
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a91a58f00 | ||
| 7e3f87542c | |||
| f480b508b7 |
@@ -96,7 +96,7 @@ namespace vmsnet
|
|||||||
this.DispCtrl1.Size = new System.Drawing.Size(774, 699);
|
this.DispCtrl1.Size = new System.Drawing.Size(774, 699);
|
||||||
this.DispCtrl1.TabIndex = 3;
|
this.DispCtrl1.TabIndex = 3;
|
||||||
this.DispCtrl1.Times = null;
|
this.DispCtrl1.Times = null;
|
||||||
this.DispCtrl1.Values = null;
|
this.DispCtrl1._Values = null;
|
||||||
this.DispCtrl1.OnAlamChange += DispCtrl1_OnAlamChangeL;
|
this.DispCtrl1.OnAlamChange += DispCtrl1_OnAlamChangeL;
|
||||||
this.DispCtrl1.OnChangedShowIndex += DispCtrl1_OnChangedShowIndex;
|
this.DispCtrl1.OnChangedShowIndex += DispCtrl1_OnChangedShowIndex;
|
||||||
this.DispCtrl1.OnClickCell += DispCtrl1_OnClickCell;
|
this.DispCtrl1.OnClickCell += DispCtrl1_OnClickCell;
|
||||||
@@ -1249,7 +1249,8 @@ namespace vmsnet
|
|||||||
if (maxunno < 0) maxunno = 5;
|
if (maxunno < 0) maxunno = 5;
|
||||||
if (maxchno < 0) maxchno = 59;
|
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.Times = new string[maxmcno + 1, maxunno + 1, maxchno + 1];
|
||||||
PUB.ChNos = new int[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];
|
PUB.ChVOffset = new float[maxmcno + 1, maxunno + 1, maxchno + 1];
|
||||||
@@ -1263,7 +1264,8 @@ namespace vmsnet
|
|||||||
{
|
{
|
||||||
for (int k = 0; k <= maxchno; k++)
|
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.Times[c, i, k] = "";
|
||||||
PUB.ChVOffset[c, i, k] = 0f;
|
PUB.ChVOffset[c, i, k] = 0f;
|
||||||
PUB.ChDecPos[c, i, k] = 0;
|
PUB.ChDecPos[c, i, k] = 0;
|
||||||
@@ -1289,7 +1291,8 @@ namespace vmsnet
|
|||||||
PUB.StatusMSG("Ready...");
|
PUB.StatusMSG("Ready...");
|
||||||
this.DispCtrl1.initmsg = "Complete";
|
this.DispCtrl1.initmsg = "Complete";
|
||||||
this.DispCtrl1.init = true;
|
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.Times = PUB.Times;
|
||||||
this.DispCtrl1.SmallSize = PUB.CONFIG.viewSize; ////개별표시모드일떄 사용하는 윈도우의 크기
|
this.DispCtrl1.SmallSize = PUB.CONFIG.viewSize; ////개별표시모드일떄 사용하는 윈도우의 크기
|
||||||
this.DispCtrl1.FullScreen = true;
|
this.DispCtrl1.FullScreen = true;
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ namespace vmsnet
|
|||||||
this.DispCtrl1.Size = new System.Drawing.Size(774, 699);
|
this.DispCtrl1.Size = new System.Drawing.Size(774, 699);
|
||||||
this.DispCtrl1.TabIndex = 3;
|
this.DispCtrl1.TabIndex = 3;
|
||||||
this.DispCtrl1.Times = null;
|
this.DispCtrl1.Times = null;
|
||||||
this.DispCtrl1.Values = null;
|
this.DispCtrl1._Values = null;
|
||||||
this.DispCtrl1.OnAlamChange += DispCtrl1_OnAlamChangeL;
|
this.DispCtrl1.OnAlamChange += DispCtrl1_OnAlamChangeL;
|
||||||
this.DispCtrl1.OnChangedShowIndex += DispCtrl1_OnChangedShowIndex;
|
this.DispCtrl1.OnChangedShowIndex += DispCtrl1_OnChangedShowIndex;
|
||||||
this.DispCtrl1.OnClickCell += DispCtrl1_OnClickCell;
|
this.DispCtrl1.OnClickCell += DispCtrl1_OnClickCell;
|
||||||
@@ -768,7 +768,8 @@ namespace vmsnet
|
|||||||
PUB.StatusMSG("Ready...");
|
PUB.StatusMSG("Ready...");
|
||||||
this.DispCtrl1.initmsg = "Complete";
|
this.DispCtrl1.initmsg = "Complete";
|
||||||
this.DispCtrl1.init = true;
|
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.Times = PUB.Times;
|
||||||
//Me.DispCtrl1.WINDOW.restarttime = CONFIG.Restart
|
//Me.DispCtrl1.WINDOW.restarttime = CONFIG.Restart
|
||||||
this.DispCtrl1.SmallSize = System.Convert.ToInt32(PUB.CONFIG.viewSize);
|
this.DispCtrl1.SmallSize = System.Convert.ToInt32(PUB.CONFIG.viewSize);
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ namespace vmsnet.HMI
|
|||||||
|
|
||||||
private String _value = "";
|
private String _value = "";
|
||||||
public int value2 = 0; //소수자리가 들어가기전의 값
|
public int value2 = 0; //소수자리가 들어가기전의 값
|
||||||
|
public bool received = false;
|
||||||
public Single CurValue =0f;
|
public Single CurValue =0f;
|
||||||
public Single CurValue1 = 0f;
|
public Single CurValue1 = 0f;
|
||||||
|
|
||||||
@@ -92,6 +93,7 @@ namespace vmsnet.HMI
|
|||||||
BarRect = new RectangleF(0, 0, 0, 0);
|
BarRect = new RectangleF(0, 0, 0, 0);
|
||||||
_value = "";
|
_value = "";
|
||||||
value2 = 0;
|
value2 = 0;
|
||||||
|
received = false;
|
||||||
mtime = "";
|
mtime = "";
|
||||||
idx = 0;
|
idx = 0;
|
||||||
// detailform = null;
|
// detailform = null;
|
||||||
|
|||||||
@@ -129,7 +129,8 @@ namespace vmsnet.HMI
|
|||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
private int[,,] values;
|
private bool[,,] received;
|
||||||
|
private int[,,] _values;
|
||||||
private String[,,] times;
|
private String[,,] times;
|
||||||
|
|
||||||
private Boolean _init = false; //그리드초기화완료여부
|
private Boolean _init = false; //그리드초기화완료여부
|
||||||
@@ -309,10 +310,20 @@ namespace vmsnet.HMI
|
|||||||
|
|
||||||
#region *** Constructors ***
|
#region *** Constructors ***
|
||||||
|
|
||||||
public int[,,] Values
|
/// <summary>
|
||||||
|
/// 데이터를 수신했는지
|
||||||
|
/// </summary>
|
||||||
|
public bool[,,] Received
|
||||||
{
|
{
|
||||||
get { return this.values; }
|
get { return this.received; }
|
||||||
set { this.values = value; }
|
set { this.received = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int[,,] _Values
|
||||||
|
{
|
||||||
|
get { return this._values; }
|
||||||
|
set { this._values = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[,,] Times
|
public String[,,] Times
|
||||||
@@ -670,9 +681,10 @@ namespace vmsnet.HMI
|
|||||||
//값의 저장소가 아에없다면?
|
//값의 저장소가 아에없다면?
|
||||||
//Boolean OverDATA = false;
|
//Boolean OverDATA = false;
|
||||||
var alarmRemark = string.Empty;
|
var alarmRemark = string.Empty;
|
||||||
if (this.Values == null)
|
if (this._Values == null)
|
||||||
{
|
{
|
||||||
Item.value2 = 0;
|
Item.value2 = 0;
|
||||||
|
Item.received = false;
|
||||||
Item.CurValue = 0f;
|
Item.CurValue = 0f;
|
||||||
Item.CurValue1 = 0f;
|
Item.CurValue1 = 0f;
|
||||||
TimeStr = "Null Error";
|
TimeStr = "Null Error";
|
||||||
@@ -685,6 +697,7 @@ namespace vmsnet.HMI
|
|||||||
if (!Item.사용) //사용여부자체를 설정한다.
|
if (!Item.사용) //사용여부자체를 설정한다.
|
||||||
{
|
{
|
||||||
Item.value2 = 0;
|
Item.value2 = 0;
|
||||||
|
Item.received = false;
|
||||||
Item.alamv = -999;
|
Item.alamv = -999;
|
||||||
Item.CurValue = 0f; //미설정상태라면 값을 표시하지 않는다.
|
Item.CurValue = 0f; //미설정상태라면 값을 표시하지 않는다.
|
||||||
Item.CurValue1 = 0f;
|
Item.CurValue1 = 0f;
|
||||||
@@ -698,18 +711,20 @@ namespace vmsnet.HMI
|
|||||||
//Br = new SolidBrush(Color.Black);
|
//Br = new SolidBrush(Color.Black);
|
||||||
Offset = Item.Offset; //수동으로입력된 옾셋
|
Offset = Item.Offset; //수동으로입력된 옾셋
|
||||||
|
|
||||||
var u1 = this.Values.GetUpperBound(0);
|
var u1 = this._Values.GetUpperBound(0);
|
||||||
var u2 = this.Values.GetUpperBound(1);
|
var u2 = this._Values.GetUpperBound(1);
|
||||||
var u3 = this.Values.GetUpperBound(2);
|
var u3 = this._Values.GetUpperBound(2);
|
||||||
if (Item.idx_dev >= 0 && Item.idx_unit >= 0 && Item.idx_ch >= 0 &&
|
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.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]; //측정시간
|
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
|
else
|
||||||
{
|
{
|
||||||
Item.value2 = 0;
|
Item.value2 = 0;
|
||||||
|
Item.received = false;
|
||||||
TimeStr = "";
|
TimeStr = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -791,7 +806,12 @@ namespace vmsnet.HMI
|
|||||||
if (Item.alamv == -999 || Item.alamv == 0) Item.alamv = Item.CurValue;
|
if (Item.alamv == -999 || Item.alamv == 0) Item.alamv = Item.CurValue;
|
||||||
|
|
||||||
Item.적용형태 = "AUTO";
|
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);
|
Single gap = Math.Abs(Item.CurValue - Item.alamv);
|
||||||
if (gap >= Math.Abs(Item.aalamh))
|
if (gap >= Math.Abs(Item.aalamh))
|
||||||
@@ -818,7 +838,12 @@ namespace vmsnet.HMI
|
|||||||
else if (grp.AlarmType == "MANUAL")
|
else if (grp.AlarmType == "MANUAL")
|
||||||
{
|
{
|
||||||
Item.적용형태 = "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.onalamh = true;
|
||||||
Item.onalaml = false;
|
Item.onalaml = false;
|
||||||
@@ -842,7 +867,12 @@ namespace vmsnet.HMI
|
|||||||
break;
|
break;
|
||||||
case COMM.EALAMTYPE.개별알람:
|
case COMM.EALAMTYPE.개별알람:
|
||||||
Item.적용형태 = "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.onalamh = true;
|
||||||
Item.onalaml = false;
|
Item.onalaml = false;
|
||||||
@@ -864,7 +894,12 @@ namespace vmsnet.HMI
|
|||||||
/* 작성자: 이재웅, 작성일: 2025-06-17, 작성내용: 'Item.alamv == 0' OR조건 추가 */
|
/* 작성자: 이재웅, 작성일: 2025-06-17, 작성내용: 'Item.alamv == 0' OR조건 추가 */
|
||||||
if (Item.alamv == -999 || Item.alamv == 0) Item.alamv = Item.CurValue;
|
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);
|
Single gap = Math.Abs(Item.CurValue - Item.alamv);
|
||||||
if (gap >= Math.Abs(Item.aalamh))
|
if (gap >= Math.Abs(Item.aalamh))
|
||||||
@@ -897,7 +932,7 @@ namespace vmsnet.HMI
|
|||||||
{
|
{
|
||||||
String alamtimes = "";
|
String alamtimes = "";
|
||||||
|
|
||||||
if (TimeStr != "" && TimeStr != "Not USE")
|
if (TimeStr != "" && TimeStr != "Not USE")
|
||||||
alamtimes = DateTime.Parse(TimeStr).ToString("yy-MM-dd HH:mm:ss");
|
alamtimes = DateTime.Parse(TimeStr).ToString("yy-MM-dd HH:mm:ss");
|
||||||
else alamtimes = "";
|
else alamtimes = "";
|
||||||
|
|
||||||
@@ -934,7 +969,7 @@ namespace vmsnet.HMI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Item.활성화 && Item.사용)
|
if ((!Item.활성화 && Item.사용) || Item.received == false)
|
||||||
{
|
{
|
||||||
Item._onalamover = false;
|
Item._onalamover = false;
|
||||||
Item._onalamh = false;
|
Item._onalamh = false;
|
||||||
@@ -954,6 +989,10 @@ namespace vmsnet.HMI
|
|||||||
BrColor = (Color.DarkMagenta);
|
BrColor = (Color.DarkMagenta);
|
||||||
grp._errorcount += 1;
|
grp._errorcount += 1;
|
||||||
}
|
}
|
||||||
|
else if (Item.received == false)
|
||||||
|
{
|
||||||
|
ValueStr = "--";
|
||||||
|
}
|
||||||
else if (!Item.활성화)
|
else if (!Item.활성화)
|
||||||
{
|
{
|
||||||
ValueStr = "--";
|
ValueStr = "--";
|
||||||
@@ -1294,7 +1333,7 @@ namespace vmsnet.HMI
|
|||||||
|
|
||||||
//g.DrawString(this.window.disconnecttime.ToString(), this.Font, Brushes.Red, R.Left,R.Top);
|
//g.DrawString(this.window.disconnecttime.ToString(), this.Font, Brushes.Red, R.Left,R.Top);
|
||||||
}
|
}
|
||||||
|
|
||||||
grp._amp = 0;
|
grp._amp = 0;
|
||||||
if (grp._ampidx != "" && grp._ampidx != null)
|
if (grp._ampidx != "" && grp._ampidx != null)
|
||||||
{
|
{
|
||||||
@@ -1306,7 +1345,7 @@ namespace vmsnet.HMI
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
grp._ampdecpos = 3;
|
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
|
catch
|
||||||
{
|
{
|
||||||
@@ -1357,7 +1396,7 @@ namespace vmsnet.HMI
|
|||||||
grp._nbalam_l = true; //a2 on
|
grp._nbalam_l = true; //a2 on
|
||||||
if (!grp._pre_nbalam_l)
|
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}");
|
(Single)nullvalue, (Single)grp.nbl, (Single)grp.nbl, $"> {grp.nbl}");
|
||||||
grp._pre_nbalam_l = true;
|
grp._pre_nbalam_l = true;
|
||||||
A2 = false;
|
A2 = false;
|
||||||
@@ -1404,7 +1443,7 @@ namespace vmsnet.HMI
|
|||||||
grp._nbalam_h = true;
|
grp._nbalam_h = true;
|
||||||
if (!grp._pre_nbalam_h) //이전에 발생안햇다면
|
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}");
|
(Single)nullvalue, (Single)grp.nbh, (Single)grp.nbh, $"> {grp.nbh}");
|
||||||
grp._pre_nbalam_h = true;
|
grp._pre_nbalam_h = true;
|
||||||
blink1 = 0;
|
blink1 = 0;
|
||||||
@@ -1490,7 +1529,7 @@ namespace vmsnet.HMI
|
|||||||
|
|
||||||
//끝부분에 KA 를 표시한다.
|
//끝부분에 KA 를 표시한다.
|
||||||
String Kaunit = grp._ampunit;// +grp._ampidx.ToString() + "/" + grp._ampdecpos.ToString();
|
String Kaunit = grp._ampunit;// +grp._ampidx.ToString() + "/" + grp._ampdecpos.ToString();
|
||||||
|
|
||||||
/* 작성자: 이재웅, 작성일: 2024-12-04, 작성내용: {전류량[KA] × 100} 변경 */
|
/* 작성자: 이재웅, 작성일: 2024-12-04, 작성내용: {전류량[KA] × 100} 변경 */
|
||||||
String MaxKA = (grp._amp * 10f).ToString("#0.00");
|
String MaxKA = (grp._amp * 10f).ToString("#0.00");
|
||||||
|
|
||||||
@@ -1732,7 +1771,7 @@ namespace vmsnet.HMI
|
|||||||
if (grp.Showinfo) infogrp = grp;
|
if (grp.Showinfo) infogrp = grp;
|
||||||
//else
|
//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;
|
idx += 1;
|
||||||
@@ -2072,27 +2111,27 @@ namespace vmsnet.HMI
|
|||||||
//if (this.FullScreen)
|
//if (this.FullScreen)
|
||||||
//{ /* 작성자: 이재웅, 작성일: 2024-12-04, 작성내용: '전체보기' 상태일 때만 그룹헤더의 [Null Balance] 팝업 정보가 표시되도록 변경 */
|
//{ /* 작성자: 이재웅, 작성일: 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);
|
Mouseinfo.Hand = true;
|
||||||
if (tpidx != -1)
|
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);
|
Mouseinfo.Hand = true;
|
||||||
if (tpidx != -1)
|
|
||||||
{
|
|
||||||
Mouseinfo.Hand = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//}
|
//}
|
||||||
|
|
||||||
if (Mouseinfo.Hand) this.Cursor = Cursors.Hand;
|
if (Mouseinfo.Hand) this.Cursor = Cursors.Hand;
|
||||||
|
|||||||
@@ -1281,8 +1281,6 @@ namespace TrendCtrlII
|
|||||||
base.OnSizeChanged(e);
|
base.OnSizeChanged(e);
|
||||||
if (this.Visible == false) return;
|
if (this.Visible == false) return;
|
||||||
Console.WriteLine("OnSizeChanged");
|
Console.WriteLine("OnSizeChanged");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateBufferGraphic()
|
void CreateBufferGraphic()
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ namespace vmsnet
|
|||||||
|
|
||||||
try
|
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 { }
|
catch { }
|
||||||
}
|
}
|
||||||
@@ -89,7 +89,7 @@ namespace vmsnet
|
|||||||
|
|
||||||
try
|
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 { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,10 +9,18 @@ namespace vmsnet
|
|||||||
{
|
{
|
||||||
private void SPS_250ms()
|
private void SPS_250ms()
|
||||||
{
|
{
|
||||||
if(VAR.isInit)
|
if (VAR.isInit)
|
||||||
{
|
{
|
||||||
VAR.STR[EVarString.MCStatus] = PUB.sm.Step.ToString();
|
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()
|
private void SPS_Max()
|
||||||
|
|||||||
@@ -117,7 +117,16 @@ namespace vmsnet
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool opensubwindow { get; set; }
|
public bool opensubwindow { get; set; }
|
||||||
public short trashper { get; set; } ////자동삭제용량단위
|
public short trashper { get; set; } ////자동삭제용량단위
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 저장주기(단위:초)
|
||||||
|
/// </summary>
|
||||||
public short saveterm { get; set; }
|
public short saveterm { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 셀저장보 저장 주기(단위:분)
|
||||||
|
/// </summary>
|
||||||
|
public short savetermcellinfo { get; set; }
|
||||||
public bool seconddata { get; set; }
|
public bool seconddata { get; set; }
|
||||||
public bool thirddata { get; set; }
|
public bool thirddata { get; set; }
|
||||||
public bool getdata4 { get; set; }
|
public bool getdata4 { get; set; }
|
||||||
|
|||||||
593
cVMS.NET_CS/Setting/Frm_Config.Designer.cs
generated
593
cVMS.NET_CS/Setting/Frm_Config.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -180,6 +180,8 @@ namespace vmsnet
|
|||||||
this.chk_lsb.Checked = PUB.CONFIG.lsb;
|
this.chk_lsb.Checked = PUB.CONFIG.lsb;
|
||||||
this.tb_trashper.Text = PUB.CONFIG.trashper.ToString();
|
this.tb_trashper.Text = PUB.CONFIG.trashper.ToString();
|
||||||
this.tb_saveterm.Text = PUB.CONFIG.saveterm.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_2nddata.Checked = PUB.CONFIG.seconddata;
|
||||||
this.chk_3rdData.Checked = PUB.CONFIG.thirddata;
|
this.chk_3rdData.Checked = PUB.CONFIG.thirddata;
|
||||||
this.chk_4thData.Checked = PUB.CONFIG.getdata4;
|
this.chk_4thData.Checked = PUB.CONFIG.getdata4;
|
||||||
@@ -348,6 +350,25 @@ namespace vmsnet
|
|||||||
return;
|
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.Clear();
|
||||||
PUB.DS.Merge(this.DocumentElement1);
|
PUB.DS.Merge(this.DocumentElement1);
|
||||||
@@ -367,8 +388,10 @@ namespace vmsnet
|
|||||||
PUB.CONFIG.synctime = this.chk_synctime.Checked;
|
PUB.CONFIG.synctime = this.chk_synctime.Checked;
|
||||||
PUB.CONFIG.databasefolder = this.tb_savepath.Text;
|
PUB.CONFIG.databasefolder = this.tb_savepath.Text;
|
||||||
PUB.CONFIG.lsb = this.chk_lsb.Checked;
|
PUB.CONFIG.lsb = this.chk_lsb.Checked;
|
||||||
PUB.CONFIG.trashper = short.Parse(this.tb_trashper.Text);
|
PUB.CONFIG.trashper = v_trashper;// short.Parse(this.tb_trashper.Text);
|
||||||
PUB.CONFIG.saveterm = short.Parse(this.tb_saveterm.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.seconddata = this.chk_2nddata.Checked;
|
||||||
PUB.CONFIG.thirddata = this.chk_3rdData.Checked;
|
PUB.CONFIG.thirddata = this.chk_3rdData.Checked;
|
||||||
PUB.CONFIG.getdata4 = this.chk_4thData.Checked;
|
PUB.CONFIG.getdata4 = this.chk_4thData.Checked;
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAWfSURBVFhH7ZZrTFNnHMaZFu/Oy3QxE5cQk12yGS+oUbm0
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAWfSURBVFhH7ZZrTFNnHMaZFu/Oy3QxE5cQk12yGS+oUbm0
|
||||||
WqWES6HQc3oDoqCACDjBTRCxjhF1uDjdCNOBMgzqFJB6w4EDKZeWm7QqKligBHFbsmTf9sFkybP8j3JG
|
WqWES6HQc3oDoqCACDjBTRCxjhF1uDjdCNOBMgzqFJB6w4EDKZeWm7QqKligBHFbsmTf9sFkybP8j3JG
|
||||||
3zoU93VP8qTved/n/3venvRDPTz+1ziUd9Vj4cGfJCl51ZIbedUTOo03JH+RaU17wtlVj4Xs3H9W7jVP
|
3zoU93VP8qTved/n/3venvRDPTz+1ziUd9Vj4cGfJCl51ZIbedUTOo03JH+RaU17wtlVj4Xs3H9W7jVP
|
||||||
n7zrE4uP/jwfFV0haHXmwD58BEN/lAumNe3RGWUoSzMs57X0xdWJ+V/VzkPdw0QM/F6Ent8O4t6TXeh6
|
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">
|
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
||||||
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
||||||
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
||||||
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
|
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">
|
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
||||||
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
||||||
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
||||||
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
|
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">
|
<data name="bt_remakelist.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAZPSURBVFhH7ZJrTFRnHsatvaXtZpveku1lm/RLP7SdghFZ
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAZPSURBVFhH7ZJrTFRnHsatvaXtZpveku1lm/RLP7SdghFZ
|
||||||
15Tih03ELt0IzDlzgVK8FFbFWky7EWozbdNL2rCVRUS8UECwVooSUFRSRSwCMzADBRGYC2eYGeZ6zpxz
|
15Tih03ELt0IzDlzgVK8FFbFWky7EWozbdNL2rCVRUS8UECwVooSUFRSRSwCMzADBRGYC2eYGeZ6zpxz
|
||||||
hmGm2mzybN7jMpEDDNp+9Ul+Oe+85/9/nv/7zlm27K7u6g60umTw2ZSPTIUpe/rPpZSYjC/tMf2XQNbS
|
hmGm2mzybN7jMpEDDNp+9Ul+Oe+85/9/nv/7zlm27K7u6g60umTw2ZSPTIUpe/rPpZSYjC/tMf2XQNbS
|
||||||
3kemQlIj7/vdWlNiSkr50Fj9bo0Zp4c42LgopsTr4CI3EIzekNbmQBTtIzx21VlAateUGJLkPncunW75
|
3kemQlIj7/vdWlNiSkr50Fj9bo0Zp4c42LgopsTr4CI3EIzekNbmQBTtIzx21VlAateUGJLkPncunW75
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ using System.Runtime.CompilerServices;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using vmsnet;
|
using vmsnet;
|
||||||
|
using System.Xml;
|
||||||
|
|
||||||
namespace vmsnet
|
namespace vmsnet
|
||||||
{
|
{
|
||||||
@@ -47,10 +48,14 @@ namespace vmsnet
|
|||||||
public static DigitalIndicator indicator;
|
public static DigitalIndicator indicator;
|
||||||
public static int sleepoffset = 0; ////쓰레드슬립시간
|
public static int sleepoffset = 0; ////쓰레드슬립시간
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 데이터를 수신받았는지 체크
|
||||||
|
/// </summary>
|
||||||
|
public static bool[,,] Received;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 측정값(전압)이 들어있다(mcidx/unitno/chidx)
|
/// 측정값(전압)이 들어있다(mcidx/unitno/chidx)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static int[,,] Values;
|
public static int[,,] _Values;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 측정값(시간)이 들어있다(mcidx/unitno/chidx)
|
/// 측정값(시간)이 들어있다(mcidx/unitno/chidx)
|
||||||
/// yyyy-MM-dd HH:mm:ss
|
/// yyyy-MM-dd HH:mm:ss
|
||||||
@@ -84,6 +89,7 @@ namespace vmsnet
|
|||||||
public static FMain mainWindow;
|
public static FMain mainWindow;
|
||||||
public static DocumentElement DS = new DocumentElement();
|
public static DocumentElement DS = new DocumentElement();
|
||||||
public static bool runerror = false; ////실행오류
|
public static bool runerror = false; ////실행오류
|
||||||
|
public static DateTime LastWindowCellinfoSaved = DateTime.Now;
|
||||||
|
|
||||||
|
|
||||||
public static string lastStatueMessage = "";
|
public static string lastStatueMessage = "";
|
||||||
@@ -122,7 +128,7 @@ namespace vmsnet
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void RaiseRemoteCommandEvent(rCommand cmd, object data = null)
|
public static void RaiseRemoteCommandEvent(rCommand cmd, object data = null)
|
||||||
{
|
{
|
||||||
RemoteCommandEvent?.Invoke(null, new RemoteCommand(cmd, data));
|
RemoteCommandEvent?.Invoke(null, new RemoteCommand(cmd, data));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,16 +225,17 @@ namespace vmsnet
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static bool AddMeasureValue(int mcidx, int unit, int ch, int value, string time)
|
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 l0 = PUB._Values.GetUpperBound(0) + 1; //mc array size
|
||||||
var l1 = PUB.Values.GetUpperBound(1) + 1; //unit array size
|
var l1 = PUB._Values.GetUpperBound(1) + 1; //unit array size
|
||||||
var l2 = PUB.Values.GetUpperBound(2) + 1; //ch array size
|
var l2 = PUB._Values.GetUpperBound(2) + 1; //ch array size
|
||||||
|
|
||||||
if (mcidx < l0 && unit < l1 && ch > 0 && ch <= l2)
|
if (mcidx < l0 && unit < l1 && ch > 0 && ch <= l2)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PUB.Values[mcidx, unit, ch - 1] = value;
|
PUB._Values[mcidx, unit, ch - 1] = value;
|
||||||
PUB.Times[mcidx, unit, ch - 1] = time;
|
PUB.Times[mcidx, unit, ch - 1] = time;
|
||||||
|
PUB.Received[mcidx, unit, ch - 1] = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
@@ -596,15 +603,22 @@ namespace vmsnet
|
|||||||
|
|
||||||
public static void SaveGroupClass(HMI.CGROUP[] grous, System.IO.FileInfo fi)
|
public static void SaveGroupClass(HMI.CGROUP[] grous, System.IO.FileInfo fi)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
LastWindowCellinfoSaved = DateTime.Now;
|
||||||
|
|
||||||
////그룹정보를 파일로 직렬화저장
|
////그룹정보를 파일로 직렬화저장
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (fi.Directory.Exists == false) fi.Directory.Create();
|
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();
|
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf2 = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
|
||||||
bf2.Serialize(fs2, grous);
|
bf2.Serialize(fs2, grous);
|
||||||
fs2.Close();
|
fs2.Close();
|
||||||
PUB.log.Add(AR.Log.ETYPE.NORMAL, "그룹정보파일 저장완료");
|
PUB.log.Add(AR.Log.ETYPE.NORMAL, "그룹정보파일 저장완료");
|
||||||
|
System.IO.File.Copy(tempfile, fi.FullName, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -783,7 +797,9 @@ namespace vmsnet
|
|||||||
////master-K 231120 chi
|
////master-K 231120 chi
|
||||||
masterk = new arDev.MasterK();
|
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
|
////init Folder
|
||||||
workmsg("Init Dir");
|
workmsg("Init Dir");
|
||||||
|
|||||||
Reference in New Issue
Block a user