..
This commit is contained in:
@@ -19,7 +19,7 @@ namespace Project.Device
|
||||
public string buffer = string.Empty;
|
||||
public System.Text.StringBuilder newbuffer = new StringBuilder();
|
||||
public string errorMessage = string.Empty;
|
||||
public DateTime LastStatusSendTime = DateTime.Now;
|
||||
public DateTime LastStatusSendTime { get; set; } = DateTime.Now;
|
||||
private EEProtocol proto;
|
||||
|
||||
public class MessageArgs : EventArgs
|
||||
|
||||
@@ -26,16 +26,11 @@ namespace Project
|
||||
return;
|
||||
}
|
||||
|
||||
//사용자 스텝처리가 아닌경우에만 검사
|
||||
//if (Pub.flag.get(eFlag.UserStepCheck) == false)
|
||||
//가동불가 조건 확인
|
||||
if (CheckStopCondition() == false)
|
||||
{
|
||||
|
||||
//가동불가 조건 확인
|
||||
if (CheckStopCondition() == false)
|
||||
{
|
||||
PUB.sm.SetNewStep(eSMStep.PAUSE);
|
||||
return;
|
||||
}
|
||||
PUB.sm.SetNewStep(eSMStep.PAUSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//이머전시상태라면 stop 처리한다.
|
||||
@@ -46,13 +41,6 @@ namespace Project
|
||||
PUB.sm.SetNewStep(eSMStep.IDLE);
|
||||
}
|
||||
|
||||
//실행스텝보정
|
||||
//if (Pub.sm.runStep == eRunStep.NOTSET && Pub.sm.runStepNew == eRunStep.NOTSET)
|
||||
//{
|
||||
// Pub.sm.setNewRunStep(eRunStep.IDLE);
|
||||
// Pub.log.Add("RUnStep Initialize");
|
||||
//}
|
||||
|
||||
//스텝이 변경되었다면?
|
||||
if (PUB.sm.RunStep != PUB.sm.RunStepNew)
|
||||
{
|
||||
@@ -88,7 +76,7 @@ namespace Project
|
||||
//if (PUB.Result != null && PUB.sm != null)
|
||||
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||
|
||||
PUB.Speak(Lang.충전을시작합니다) ;
|
||||
PUB.Speak(Lang.충전을시작합니다);
|
||||
PUB.sm.SetNewRunStep(ERunStep.CHARGECHECK);
|
||||
return;
|
||||
}
|
||||
@@ -143,8 +131,8 @@ namespace Project
|
||||
PUB.Speak(Lang.상차작업이완료되었습니다);
|
||||
|
||||
//230601
|
||||
// if (PUB.Result != null && PUB.sm != null)
|
||||
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||
// if (PUB.Result != null && PUB.sm != null)
|
||||
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||
|
||||
//QA를 제외한 경우에는 기본 QC로 이동한다
|
||||
if (PUB.Result.NextPos == ePosition.QA)
|
||||
@@ -184,7 +172,7 @@ namespace Project
|
||||
PUB.sm.ClearRunStep();
|
||||
PUB.Result.TargetPos = ePosition.QC;
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||
PUB.Speak( Lang.홈위치로이동합니다);
|
||||
PUB.Speak(Lang.홈위치로이동합니다);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -198,7 +186,7 @@ namespace Project
|
||||
else if (_SM_RUN_GOHOME(runStepisFirst, PUB.sm.GetRunSteptime))
|
||||
{
|
||||
//230601
|
||||
// if (PUB.Result != null && PUB.sm != null)
|
||||
// if (PUB.Result != null && PUB.sm != null)
|
||||
// EEMStatus.AddEEDBSQL(PUB.sm.Step, PUB.sm.RunStep.ToString(), PUB.Result.TargetPos.ToString());
|
||||
|
||||
PUB.Speak(Lang.홈이동완료대기상태로전환합니다);
|
||||
@@ -215,7 +203,7 @@ namespace Project
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void CheckAGVMoveTo(eGoDir dir)
|
||||
{
|
||||
//계속내려간다
|
||||
@@ -545,7 +533,7 @@ namespace Project
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}//cvass
|
||||
}
|
||||
|
||||
@@ -13,12 +13,12 @@ namespace Project
|
||||
{
|
||||
public Boolean _SM_RUN_READY(bool isFirst, TimeSpan stepTime)
|
||||
{
|
||||
//이동 불가 조건이 걸려있다면 충전을 하지 못하게 한다.
|
||||
Boolean bAutoChageOn = true;
|
||||
if (PUB.AGV.system1.stop_by_front_detect) bAutoChageOn = false;
|
||||
else if (PUB.AGV.error.Emergency) bAutoChageOn = false;
|
||||
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONA]) bAutoChageOn = false;
|
||||
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM]) bAutoChageOn = false;
|
||||
////이동 불가 조건이 걸려있다면 충전을 하지 못하게 한다.
|
||||
//Boolean bAutoChageOn = true;
|
||||
//if (PUB.AGV.system1.stop_by_front_detect) bAutoChageOn = false;
|
||||
//else if (PUB.AGV.error.Emergency) bAutoChageOn = false;
|
||||
//else if (VAR.BOOL[eVarBool.FLAG_CHARGEONA]) bAutoChageOn = false;
|
||||
//else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM]) bAutoChageOn = false;
|
||||
|
||||
|
||||
//자동 충전 중이라면 최대 충전시간과 레벨을 체크한다
|
||||
@@ -73,58 +73,58 @@ namespace Project
|
||||
}
|
||||
VAR.STR[eVarString.ChargeCheckMsg] = "현재 위치 모름";
|
||||
}
|
||||
else if (PUB.setting.Enable_AutoCharge == true )
|
||||
{
|
||||
if(bAutoChageOn)
|
||||
{
|
||||
VAR.BOOL[eVarBool.CHARGE_READY] = true;
|
||||
if (PUB.BMS.Current_Level < PUB.setting.ChargeStartLevel)
|
||||
{
|
||||
//레벨에 의한 자동 충전간격은
|
||||
var ts = VAR.TIME.RUN(eVarTime.ChargeTry);
|
||||
if (ts.TotalSeconds >= PUB.setting.ChargeRetryTerm)
|
||||
{
|
||||
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
PUB.log.Add($"자동충전레벨시작 {PUB.BMS.Current_Level}/{PUB.setting.ChargeStartLevel}");
|
||||
PUB.sm.ClearRunStep();
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOCHARGE);
|
||||
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||
PUB.AddEEDB($"자동충전레벨시작 {PUB.BMS.Current_Level}/{PUB.setting.ChargeStartLevel}");
|
||||
}
|
||||
else
|
||||
{
|
||||
VAR.I32[eVarInt32.ChargeWaitSec] = (int)(PUB.setting.ChargeRetryTerm - ts.TotalSeconds);
|
||||
VAR.BOOL[eVarBool.CHARGE_WAIT] = true;
|
||||
}
|
||||
VAR.STR[eVarString.ChargeCheckMsg] = "배터리 충전 레벨 필요";
|
||||
}
|
||||
else
|
||||
{
|
||||
//아직 레벨이 높다
|
||||
VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
VAR.STR[eVarString.ChargeCheckMsg] = "배터리 레벨상 충전 불필요";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
VAR.STR[eVarString.ChargeCheckMsg] = "충전 불가 조건";
|
||||
//충전조건이 맞지 않는다
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||
VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
//자동충전이 해제된 상태이므로 처리하지 않는다
|
||||
VAR.STR[eVarString.ChargeCheckMsg] = "자동 충전 해제 됨";
|
||||
}
|
||||
//else if (PUB.setting.Enable_AutoCharge == true )
|
||||
//{
|
||||
// if(bAutoChageOn)
|
||||
// {
|
||||
// VAR.BOOL[eVarBool.CHARGE_READY] = true;
|
||||
// if (PUB.BMS.Current_Level < PUB.setting.ChargeStartLevel)
|
||||
// {
|
||||
// //레벨에 의한 자동 충전간격은
|
||||
// var ts = VAR.TIME.RUN(eVarTime.ChargeTry);
|
||||
// if (ts.TotalSeconds >= PUB.setting.ChargeRetryTerm)
|
||||
// {
|
||||
// VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
// VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
// PUB.log.Add($"자동충전레벨시작 {PUB.BMS.Current_Level}/{PUB.setting.ChargeStartLevel}");
|
||||
// PUB.sm.ClearRunStep();
|
||||
// PUB.sm.SetNewRunStep(ERunStep.GOCHARGE);
|
||||
// PUB.sm.SetNewStep(eSMStep.RUN);
|
||||
// PUB.AddEEDB($"자동충전레벨시작 {PUB.BMS.Current_Level}/{PUB.setting.ChargeStartLevel}");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// VAR.I32[eVarInt32.ChargeWaitSec] = (int)(PUB.setting.ChargeRetryTerm - ts.TotalSeconds);
|
||||
// VAR.BOOL[eVarBool.CHARGE_WAIT] = true;
|
||||
// }
|
||||
// VAR.STR[eVarString.ChargeCheckMsg] = "배터리 충전 레벨 필요";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //아직 레벨이 높다
|
||||
// VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||
// VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
// VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
// VAR.STR[eVarString.ChargeCheckMsg] = "배터리 레벨상 충전 불필요";
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||
// VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
// VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
// VAR.STR[eVarString.ChargeCheckMsg] = "충전 불가 조건";
|
||||
// //충전조건이 맞지 않는다
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// VAR.BOOL[eVarBool.CHARGE_READY] = false;
|
||||
// VAR.I32[eVarInt32.ChargeWaitSec] = 0;
|
||||
// VAR.BOOL[eVarBool.CHARGE_WAIT] = false;
|
||||
// //자동충전이 해제된 상태이므로 처리하지 않는다
|
||||
// VAR.STR[eVarString.ChargeCheckMsg] = "자동 충전 해제 됨";
|
||||
//}
|
||||
|
||||
//대기모드에서는 움직이지 않게 한다
|
||||
if(PUB.AGV.system1.agv_run)
|
||||
|
||||
@@ -41,31 +41,7 @@ namespace Project
|
||||
{
|
||||
try
|
||||
{
|
||||
if (PUB.mapctl != null)
|
||||
{
|
||||
var rlt = AGVControl.MapControlManager.PredictNextAction();
|
||||
|
||||
if (rlt.ReasonCode == AGVControl.AGVActionReasonCode.busy)
|
||||
{
|
||||
//var premsg = $"이전 예측작업이 완료되지 않았습니다";
|
||||
//PUB.log.AddE(premsg);
|
||||
//PUB.log.AddE(premsg);
|
||||
//Console.WriteLine(premsg);
|
||||
|
||||
//predicterr += 1;
|
||||
//if (predicterr > 10)
|
||||
//{
|
||||
// var premsg = $"행동예측 오류카운트 초과";
|
||||
// PUB.AGV.AGVMoveStop(premsg);
|
||||
// PUB.log.AddE(premsg);
|
||||
// PUB.logagv.AddE(premsg);
|
||||
// Console.WriteLine(premsg);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//데이터 파싱
|
||||
switch (e.DataType)
|
||||
{
|
||||
case arDev.Narumi.DataType.STS:
|
||||
@@ -83,12 +59,12 @@ namespace Project
|
||||
|
||||
//모터방향 입력
|
||||
if (PUB.AGV.data.Direction == 'B')
|
||||
AGVControl.MapControlManager.agv.CurrentMOTDirection = AGVControl.Models.Direction.Backward;
|
||||
PUB.mapctl.Manager.agv.CurrentMOTDirection = AGVControl.Direction.Backward;
|
||||
else
|
||||
AGVControl.MapControlManager.agv.CurrentMOTDirection = AGVControl.Models.Direction.Forward;
|
||||
PUB.mapctl.Manager.agv.CurrentMOTDirection = AGVControl.Direction.Forward;
|
||||
|
||||
AGVControl.MapControlManager.agv.IsMoving = PUB.AGV.system1.agv_run;
|
||||
AGVControl.MapControlManager.agv.IsMarkCheck = PUB.AGV.system1.Mark1_check || PUB.AGV.system1.Mark2_check;
|
||||
PUB.mapctl.Manager.agv.IsMoving = PUB.AGV.system1.agv_run;
|
||||
PUB.mapctl.Manager.agv.IsMarkCheck = PUB.AGV.system1.Mark1_check || PUB.AGV.system1.Mark2_check;
|
||||
|
||||
if (PUB.AGV.signal.mark_sensor == false)
|
||||
{
|
||||
@@ -201,10 +177,8 @@ namespace Project
|
||||
else
|
||||
{
|
||||
//위치는 찾았다 해당 위치가 내 목적지라면 mark stop기능으로 전환한다
|
||||
|
||||
}
|
||||
|
||||
|
||||
////자동, 상하차 모드일때 RFID 가 타겟위치에 올때는 - 멈춤을 설정해준다
|
||||
//if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true &&
|
||||
// PUB.Result.CurrentPos == PUB.Result.TargetPos &&
|
||||
@@ -237,12 +211,19 @@ namespace Project
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
//이 후 상황을 예측한다
|
||||
if (PUB.mapctl != null)
|
||||
{
|
||||
var rlt = PUB.mapctl.Manager.PredictNextAction();
|
||||
if (rlt.Changed)
|
||||
Console.WriteLine($"[new] predict idx:{rlt.Idx}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[AGV_DataReceive] {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,9 +158,10 @@ namespace Project
|
||||
|
||||
private void Bms_BMSDataReceive(object sender, EventArgs e)
|
||||
{
|
||||
AGVControl.MapControlManager.agv.BatteryLevel = PUB.BMS.Current_Level;
|
||||
AGVControl.MapControlManager.agv.BatteryTemp1 = PUB.BMS.Current_temp1;
|
||||
AGVControl.MapControlManager.agv.BatteryTemp2 = PUB.BMS.Current_temp2;
|
||||
|
||||
PUB.mapctl.Manager.agv.BatteryLevel = PUB.BMS.Current_Level;
|
||||
PUB.mapctl.Manager.agv.BatteryTemp1 = PUB.BMS.Current_temp1;
|
||||
PUB.mapctl.Manager.agv.BatteryTemp2 = PUB.BMS.Current_temp2;
|
||||
if (PUB.BMS.Current_Level <= PUB.setting.ChargeStartLevel)
|
||||
{
|
||||
//배터리 레벨이 기준보다 낮다면 경고를 활성화 한다
|
||||
|
||||
@@ -163,10 +163,7 @@ namespace Project
|
||||
{
|
||||
PUB.BMS.SendQuery();
|
||||
}
|
||||
|
||||
|
||||
Update_BatteryWarnSpeak();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,25 @@ namespace Project
|
||||
var data = e.ReceivedPacket.Data;
|
||||
var dataStr = System.Text.Encoding.Default.GetString(data);
|
||||
var cmd = (ENIGProtocol.AGVCommands)e.ReceivedPacket.Command;
|
||||
var TargetID = 0;
|
||||
if (dataStr.Length >= 2)
|
||||
{
|
||||
//대상디바이스
|
||||
TargetID = Convert.ToByte(dataStr.Substring(0, 2), 16);
|
||||
|
||||
//데이터영역을 다시 설정
|
||||
if (dataStr.Length > 2) dataStr = dataStr.Substring(2);
|
||||
else dataStr = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.Add($"ACS 데이터에서 TARGET ID가 없습니다(data : first byte)");
|
||||
}
|
||||
|
||||
|
||||
if (PUB.setting.XBE_ID != TargetID)
|
||||
return;
|
||||
|
||||
switch (cmd)
|
||||
{
|
||||
|
||||
@@ -60,7 +79,7 @@ namespace Project
|
||||
case ENIGProtocol.AGVCommands.Goto: //move to tag
|
||||
if (uint.TryParse(dataStr, out uint tagno2))
|
||||
{
|
||||
var currPos = AGVControl.MapControlManager.agv.CurrentRFID;///.AGVMoveToRFID(;
|
||||
var currPos = PUB.mapctl.Manager.agv.CurrentRFID;///.AGVMoveToRFID(;
|
||||
if (PUB.mapctl.SetTargetPosition(tagno2))
|
||||
PUB.log.AddI($"New Target {tagno2}");
|
||||
else
|
||||
|
||||
19
Cs_HMI/Project/fMain.Designer.cs
generated
19
Cs_HMI/Project/fMain.Designer.cs
generated
@@ -172,7 +172,7 @@ namespace Project
|
||||
MenuLift.Text = "LIFT";
|
||||
toolTip1.SetToolTip(MenuLift, "I/O 및 FLAG를 확인 합니다");
|
||||
MenuLift.UseVisualStyleBackColor = true;
|
||||
MenuLift.Click += button3_Click;
|
||||
MenuLift.Click += MenuLift_Click;
|
||||
//
|
||||
// MenuMAN
|
||||
//
|
||||
@@ -189,7 +189,7 @@ namespace Project
|
||||
MenuMAN.Text = "MANUAL";
|
||||
toolTip1.SetToolTip(MenuMAN, "작업 내역을 확인 합니다");
|
||||
MenuMAN.UseVisualStyleBackColor = true;
|
||||
MenuMAN.Click += button4_Click;
|
||||
MenuMAN.Click += ManualMan_Click;
|
||||
//
|
||||
// MenuFlag
|
||||
//
|
||||
@@ -206,7 +206,7 @@ namespace Project
|
||||
MenuFlag.Text = "FLAG";
|
||||
toolTip1.SetToolTip(MenuFlag, "I/O 및 FLAG를 확인 합니다");
|
||||
MenuFlag.UseVisualStyleBackColor = true;
|
||||
MenuFlag.Click += button1_Click;
|
||||
MenuFlag.Click += btMenuFlag_Click;
|
||||
//
|
||||
// MenuAuto
|
||||
//
|
||||
@@ -223,7 +223,7 @@ namespace Project
|
||||
MenuAuto.Text = "AUTO";
|
||||
toolTip1.SetToolTip(MenuAuto, "작업 내역을 확인 합니다");
|
||||
MenuAuto.UseVisualStyleBackColor = true;
|
||||
MenuAuto.Click += button2_Click;
|
||||
MenuAuto.Click += btMenuAuto_Click;
|
||||
//
|
||||
// MenuLog
|
||||
//
|
||||
@@ -258,7 +258,7 @@ namespace Project
|
||||
MenuAGV.Text = "AGV";
|
||||
toolTip1.SetToolTip(MenuAGV, "I/O 및 FLAG를 확인 합니다");
|
||||
MenuAGV.UseVisualStyleBackColor = false;
|
||||
MenuAGV.Click += button1_Click_1;
|
||||
MenuAGV.Click += btMenuAGV_Click_1;
|
||||
//
|
||||
// MenuBMS
|
||||
//
|
||||
@@ -275,7 +275,7 @@ namespace Project
|
||||
MenuBMS.Text = "BMS";
|
||||
toolTip1.SetToolTip(MenuBMS, "I/O 및 FLAG를 확인 합니다");
|
||||
MenuBMS.UseVisualStyleBackColor = true;
|
||||
MenuBMS.Click += button2_Click_1;
|
||||
MenuBMS.Click += btMenuBMS_Click_1;
|
||||
//
|
||||
// btAutoRun
|
||||
//
|
||||
@@ -323,7 +323,7 @@ namespace Project
|
||||
btAutoRun.TextShadow = true;
|
||||
btAutoRun.TextVisible = true;
|
||||
toolTip1.SetToolTip(btAutoRun, "작업상태(자동/수동)를 표시 합니다");
|
||||
btAutoRun.Click += btStart_Click;
|
||||
btAutoRun.Click += btAutorun_Click;
|
||||
//
|
||||
// btChargeA
|
||||
//
|
||||
@@ -837,14 +837,12 @@ namespace Project
|
||||
gridviewTestToolStripMenuItem.Name = "gridviewTestToolStripMenuItem";
|
||||
gridviewTestToolStripMenuItem.Size = new Size(228, 22);
|
||||
gridviewTestToolStripMenuItem.Text = "GridviewTest";
|
||||
gridviewTestToolStripMenuItem.Click += gridviewTestToolStripMenuItem_Click;
|
||||
//
|
||||
// 으ㅆㄷㄴㅅToolStripMenuItem
|
||||
//
|
||||
으ㅆㄷㄴㅅToolStripMenuItem.Name = "으ㅆㄷㄴㅅToolStripMenuItem";
|
||||
으ㅆㄷㄴㅅToolStripMenuItem.Size = new Size(228, 22);
|
||||
으ㅆㄷㄴㅅToolStripMenuItem.Text = "Test DataMatrix StripID";
|
||||
으ㅆㄷㄴㅅToolStripMenuItem.Click += 으ㅆㄷㄴㅅToolStripMenuItem_Click;
|
||||
//
|
||||
// messageToolStripMenuItem
|
||||
//
|
||||
@@ -879,7 +877,6 @@ namespace Project
|
||||
reloadLotListToolStripMenuItem.Name = "reloadLotListToolStripMenuItem";
|
||||
reloadLotListToolStripMenuItem.Size = new Size(228, 22);
|
||||
reloadLotListToolStripMenuItem.Text = "Reload Lot List";
|
||||
reloadLotListToolStripMenuItem.Click += reloadLotListToolStripMenuItem_Click;
|
||||
//
|
||||
// moveSourceListToDestListToolStripMenuItem
|
||||
//
|
||||
@@ -1044,7 +1041,7 @@ namespace Project
|
||||
btHome.TextAlign = ContentAlignment.MiddleCenter;
|
||||
btHome.TextShadow = true;
|
||||
btHome.TextVisible = true;
|
||||
btHome.Click += arLabel1_Click;
|
||||
btHome.Click += brHome_Click;
|
||||
//
|
||||
// btChargeM
|
||||
//
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace Project
|
||||
ViewForm.fFlag form_flag = null;
|
||||
ViewForm.fAgv form_agv = null;
|
||||
ViewForm.fBms form_bms = null;
|
||||
Dialog.fLog form_log = null;
|
||||
|
||||
readonly usbdetect.DriveDetector usbdet;
|
||||
public fMain()
|
||||
@@ -59,6 +60,10 @@ namespace Project
|
||||
this.FormClosing += __Closing;
|
||||
|
||||
if (PUB.setting.FullScreen) this.WindowState = FormWindowState.Maximized;
|
||||
|
||||
lbTime.Click += (s1,e1) => {
|
||||
PUB.mapctl.ShowDesign();
|
||||
};
|
||||
}
|
||||
|
||||
protected override void WndProc(ref Message m)
|
||||
@@ -240,10 +245,10 @@ namespace Project
|
||||
this.btDebug.Visible = PUB.setting.UseDebugMode;
|
||||
|
||||
PUB.log.Add("Program Start");
|
||||
UpdateControlText();
|
||||
|
||||
|
||||
//수량표시
|
||||
PUB.counter.PropertyChanged += Counter_PropertyChanged;
|
||||
PUB.counter.PropertyChanged += (s1, e1) => Update_Count();
|
||||
Update_Count();
|
||||
|
||||
PUB.log.Add("프로그램 실행 기록 추가");
|
||||
@@ -256,15 +261,6 @@ namespace Project
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void Counter_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
//수량에 변화가 잇다면 업데이트 한다
|
||||
Update_Count();
|
||||
}
|
||||
|
||||
|
||||
#region "Mouse Form Move"
|
||||
|
||||
private Boolean fMove = false;
|
||||
@@ -296,6 +292,137 @@ namespace Project
|
||||
}
|
||||
|
||||
#endregion
|
||||
void socket_SendMessage(object sender, Device.Socket.SocketMessageEventArgs e)
|
||||
{
|
||||
//핑로그가 꺼져있는 상황일때 핑로그는 로그를 기록하지 않는다. 181205
|
||||
if (!PUB.setting.Log_Ping && e.Message.Type == Device.Socket.eType.REPLY && e.Message.SType == Device.Socket.eSType.STATUS)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PUB.log.Add("WS << " + e.rawData);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void socket_RecvMessage(object sender, Device.Socket.SocketMessageEventArgs e)
|
||||
{
|
||||
if (e.Message.isError)
|
||||
PUB.log.AddE("WS >> " + e.Message.ErrorMessage + ",RAW=" + e.rawData);
|
||||
else
|
||||
{
|
||||
|
||||
switch (e.Message.Type)
|
||||
{
|
||||
case Device.Socket.eType.REQUEST:
|
||||
if (e.Message.SType == Device.Socket.eSType.STATUS)
|
||||
{
|
||||
var packet = PUB.sock_debug.makeReplyStatus(Device.Socket.eStatus.IDLE);
|
||||
var rlt = PUB.sock_debug.Send(PUB.setting.Asset, Device.Socket.eType.REPLY, Device.Socket.eSType.STATUS, packet);
|
||||
if (!rlt)
|
||||
{
|
||||
PUB.log.AddE("Status Reply Error");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (PUB.setting.Log_Ping) PUB.log.AddI("Server Status Reply OK");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.Add("WS >> " + e.rawData);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void socket_GetMessage(object sender, Device.Socket.MesasgeEventArgs e)
|
||||
{
|
||||
if (e.isError) PUB.log.AddE("WS:" + e.Message);
|
||||
else PUB.log.Add("WS:" + e.Message);
|
||||
}
|
||||
delegate void SelectModelHandler(string modelName);
|
||||
void SelectModelM(string modelName)
|
||||
{
|
||||
if (this.InvokeRequired)
|
||||
{
|
||||
this.Invoke(new SelectModelHandler(SelectModelM), new object[] { modelName });
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void func_sw_start(bool Prompt = false)
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false) //자동상태가 아니라면
|
||||
{
|
||||
PUB.AGV.AGVErrorReset();
|
||||
if (Prompt)
|
||||
{
|
||||
if (UTIL.MsgQ("AGV상태를 자동으로 전환 할까요?") != DialogResult.Yes) return;
|
||||
}
|
||||
//충전상태확인
|
||||
if (PUB.CheckManualChargeMode() == false) return;
|
||||
PUB.popup.needClose = true;
|
||||
PUB.sm.bPause = false;
|
||||
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||
|
||||
if (PUB.Result.CurrentPos == ePosition.NONE || PUB.Result.TargetPos == ePosition.NONE)
|
||||
{
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||
}
|
||||
PUB.Speak(Lang.자동전환);
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false); //230425 수동전환하면 충전 해제한다
|
||||
PUB.sm.SetNewStep(eSMStep.IDLE);
|
||||
PUB.Speak(Lang.작업종료);
|
||||
}
|
||||
}
|
||||
|
||||
void Resultclear()
|
||||
{
|
||||
PUB.Result.Clear();
|
||||
PUB.log.AddI("Clear Resultclear");
|
||||
}
|
||||
|
||||
|
||||
void CheckFreeSpace()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (PUB.path.FullName.StartsWith("\\"))
|
||||
{
|
||||
SSInfo.setTitle(0, 1, "UNC Path Detected");
|
||||
SSInfo.setValue(0, 1, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
double freeSpaceRate_ = PUB.GetFreeSpace();
|
||||
this.freeSpaceRate = freeSpaceRate_;
|
||||
SSInfo.setTitle(0, 1, "FREE(" + PUB.path.FullName.Substring(0, 1) + ") : " + freeSpaceRate.ToString("N2") + "%");
|
||||
if (freeSpaceRate < PUB.setting.AutoDeleteThreshold)
|
||||
{
|
||||
VAR.BOOL[eVarBool.MINSPACE] = true;
|
||||
SSInfo.setValue(0, 1, 2); //lbFreeSpace.ForeColor = Color.Tomato;
|
||||
}
|
||||
else
|
||||
{
|
||||
VAR.BOOL[eVarBool.MINSPACE] = false;
|
||||
SSInfo.setValue(0, 1, 3);// lbFreeSpace.ForeColor = Color.White;
|
||||
}
|
||||
}
|
||||
|
||||
//Pub.log.Add("남은디스크공간확인:" + freeSpaceRate.ToString("N2") + "%"); 190129
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SSInfo.setTitle(0, 1, "FREE SPACE : -ERROR-");
|
||||
PUB.log.AddE("check free space : " + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void CtlPos1_ItemClick(object sender, CtlPos.ItemClickEventArgs e)
|
||||
@@ -451,191 +578,16 @@ namespace Project
|
||||
if (dlg != null) dlg.Dispose();
|
||||
}
|
||||
|
||||
void socket_SendMessage(object sender, Device.Socket.SocketMessageEventArgs e)
|
||||
{
|
||||
//핑로그가 꺼져있는 상황일때 핑로그는 로그를 기록하지 않는다. 181205
|
||||
if (!PUB.setting.Log_Ping && e.Message.Type == Device.Socket.eType.REPLY && e.Message.SType == Device.Socket.eSType.STATUS)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PUB.log.Add("WS << " + e.rawData);
|
||||
}
|
||||
|
||||
void socket_RecvMessage(object sender, Device.Socket.SocketMessageEventArgs e)
|
||||
{
|
||||
if (e.Message.isError)
|
||||
PUB.log.AddE("WS >> " + e.Message.ErrorMessage + ",RAW=" + e.rawData);
|
||||
else
|
||||
{
|
||||
|
||||
switch (e.Message.Type)
|
||||
{
|
||||
case Device.Socket.eType.REQUEST:
|
||||
if (e.Message.SType == Device.Socket.eSType.STATUS)
|
||||
{
|
||||
var packet = PUB.sock_debug.makeReplyStatus(Device.Socket.eStatus.IDLE);
|
||||
var rlt = PUB.sock_debug.Send(PUB.setting.Asset, Device.Socket.eType.REPLY, Device.Socket.eSType.STATUS, packet);
|
||||
if (!rlt)
|
||||
{
|
||||
PUB.log.AddE("Status Reply Error");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (PUB.setting.Log_Ping) PUB.log.AddI("Server Status Reply OK");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.Add("WS >> " + e.rawData);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void socket_GetMessage(object sender, Device.Socket.MesasgeEventArgs e)
|
||||
{
|
||||
if (e.isError) PUB.log.AddE("WS:" + e.Message);
|
||||
else PUB.log.Add("WS:" + e.Message);
|
||||
}
|
||||
delegate void SelectModelHandler(string modelName);
|
||||
void SelectModelM(string modelName)
|
||||
{
|
||||
if (this.InvokeRequired)
|
||||
{
|
||||
this.Invoke(new SelectModelHandler(SelectModelM), new object[] { modelName });
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void func_sw_start(bool Prompt = false)
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false) //자동상태가 아니라면
|
||||
{
|
||||
PUB.AGV.AGVErrorReset();
|
||||
if (Prompt)
|
||||
{
|
||||
if (UTIL.MsgQ("AGV상태를 자동으로 전환 할까요?") != DialogResult.Yes) return;
|
||||
}
|
||||
//충전상태확인
|
||||
if (PUB.CheckManualChargeMode() == false) return;
|
||||
PUB.popup.needClose = true;
|
||||
PUB.sm.bPause = false;
|
||||
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||
|
||||
if (PUB.Result.CurrentPos == ePosition.NONE || PUB.Result.TargetPos == ePosition.NONE)
|
||||
{
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||
}
|
||||
PUB.Speak(Lang.자동전환);
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false); //230425 수동전환하면 충전 해제한다
|
||||
PUB.sm.SetNewStep(eSMStep.IDLE);
|
||||
PUB.Speak(Lang.작업종료);
|
||||
}
|
||||
}
|
||||
|
||||
void Resultclear()
|
||||
{
|
||||
PUB.Result.Clear();
|
||||
PUB.log.AddI("Clear Resultclear");
|
||||
}
|
||||
|
||||
|
||||
void CheckFreeSpace()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (PUB.path.FullName.StartsWith("\\"))
|
||||
{
|
||||
SSInfo.setTitle(0, 1, "UNC Path Detected");
|
||||
SSInfo.setValue(0, 1, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
double freeSpaceRate_ = PUB.GetFreeSpace();
|
||||
this.freeSpaceRate = freeSpaceRate_;
|
||||
SSInfo.setTitle(0, 1, "FREE(" + PUB.path.FullName.Substring(0, 1) + ") : " + freeSpaceRate.ToString("N2") + "%");
|
||||
if (freeSpaceRate < PUB.setting.AutoDeleteThreshold)
|
||||
{
|
||||
VAR.BOOL[eVarBool.MINSPACE] = true;
|
||||
SSInfo.setValue(0, 1, 2); //lbFreeSpace.ForeColor = Color.Tomato;
|
||||
}
|
||||
else
|
||||
{
|
||||
VAR.BOOL[eVarBool.MINSPACE] = false;
|
||||
SSInfo.setValue(0, 1, 3);// lbFreeSpace.ForeColor = Color.White;
|
||||
}
|
||||
}
|
||||
|
||||
//Pub.log.Add("남은디스크공간확인:" + freeSpaceRate.ToString("N2") + "%"); 190129
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SSInfo.setTitle(0, 1, "FREE SPACE : -ERROR-");
|
||||
PUB.log.AddE("check free space : " + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void demoRunToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.Result.JobEndTime = DateTime.Now;
|
||||
// Pub.flag.Toggle(eFlag.DemoRun);
|
||||
// Pub.log.AddAT(string.Format("데모변경: {0}", Pub.flag.get(eFlag.DemoRun)));
|
||||
}
|
||||
|
||||
private void openMapFileToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (OpenFileDialog od = new OpenFileDialog())
|
||||
if (od.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
|
||||
//if (orgImage != null) orgImage.Dispose();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void setZValidToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
PUB.log.Add("user set z-home set on");
|
||||
}
|
||||
|
||||
private void gridviewTestToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void 으ㅆㄷㄴㅅToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
/////HB9225-4280A 0901
|
||||
//var striplist = new string[]{
|
||||
// "HB9125-7560A 0704",
|
||||
//"HB9125-7800A 0104",
|
||||
//"HB9125-8480A 0701",
|
||||
//"HB9130-8550A 5108",
|
||||
//"HB9130-8620A 0701",
|
||||
//"HB9131-9340A 0201",
|
||||
//"HB9206-0810A 5301",
|
||||
//"HB9206-0820A 0902",
|
||||
//"HB9222-3020A 0208",
|
||||
//"HB9222-3020A 0508",
|
||||
//"HB9222-3720A 0205",
|
||||
//"HB9222-3720A 0902",
|
||||
//"HB9225-3790A 0604",
|
||||
//"HB9225-4280A 0901",
|
||||
//"HB9228-4840A 0104",
|
||||
//"HB9228-4840A 5908",
|
||||
//"HB9313-7600A 1006",
|
||||
//"HB9319-9540A 6003",
|
||||
//"ZGP490510700 1305"
|
||||
//};
|
||||
|
||||
}
|
||||
|
||||
private void errorToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.popup.setMessage("error\berror message");
|
||||
@@ -651,12 +603,6 @@ namespace Project
|
||||
PUB.popup.setMessage("attention\nattention message", MessageWindow.eWindowType.attention);
|
||||
}
|
||||
|
||||
private void reloadLotListToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void arLabel3_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -676,11 +622,6 @@ namespace Project
|
||||
this.Close();
|
||||
}
|
||||
|
||||
void UpdateControlText()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void arLabel5_Click(object sender, EventArgs e)
|
||||
{
|
||||
//SetScreen(form_setup);
|
||||
@@ -700,7 +641,7 @@ namespace Project
|
||||
}
|
||||
|
||||
VAR.BOOL[eVarBool.FLAG_SETUP] = false;// VAR.BOOL[eVarBool.FLAG_SETUP] = false;//VAR.BOOL[eVarBool.FLAG_SETUP] = false;
|
||||
UpdateControlText();
|
||||
|
||||
if (popmsg) PUB.popup.Visible = true;
|
||||
}
|
||||
|
||||
@@ -737,13 +678,13 @@ namespace Project
|
||||
UTIL.RunExplorer(UTIL.CurrentPath);
|
||||
}
|
||||
|
||||
private void button4_Click(object sender, EventArgs e)
|
||||
private void ManualMan_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetScreen(form_manu);
|
||||
MenuMAN.ForeColor = Color.Gold;
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
private void MenuLift_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetScreen(form_zlift);
|
||||
MenuLift.ForeColor = Color.Gold;
|
||||
@@ -755,7 +696,7 @@ namespace Project
|
||||
this.cmDebug.Show(ctl, new Point((int)(ctl.Width / 1.5), (int)(ctl.Height / 1.5)));
|
||||
}
|
||||
|
||||
private void btStart_Click(object sender, EventArgs e)
|
||||
private void btAutorun_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ctl = sender as arCtl.arLabel;
|
||||
if (ctl.Enabled == false) return;
|
||||
@@ -763,20 +704,18 @@ namespace Project
|
||||
func_sw_start(true);
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
private void btMenuAuto_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetScreen(form_auto);
|
||||
MenuAuto.ForeColor = Color.Gold;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
private void btMenuFlag_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetScreen(form_flag);
|
||||
MenuFlag.ForeColor = Color.Gold;
|
||||
}
|
||||
|
||||
|
||||
Dialog.fLog form_log = null;
|
||||
|
||||
private void btLog_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (form_log == null || form_log.IsDisposed || form_log.Disposing)
|
||||
@@ -844,8 +783,7 @@ namespace Project
|
||||
PUB.Speak("고경석 수석님 밥은 드셨습니까?", true);
|
||||
UpdateProgressStatus(20, 100, "progre");
|
||||
}
|
||||
|
||||
private void arLabel1_Click(object sender, EventArgs e)
|
||||
private void brHome_Click(object sender, EventArgs e)
|
||||
{
|
||||
var bCharge = PUB.sm.Step == eSMStep.RUN &&
|
||||
(PUB.sm.RunStep == ERunStep.GOHOME);
|
||||
@@ -878,30 +816,6 @@ namespace Project
|
||||
|
||||
}
|
||||
|
||||
//private void btChargeM_Click(object sender, EventArgs e)
|
||||
//{
|
||||
// var bCharge = PUB.flag.get(EFlag.FLAG_CHARGEONM);
|
||||
|
||||
// //충전을 시작해라ㅏ
|
||||
// if (bCharge == true)
|
||||
// {
|
||||
// var dlg = Util.MsgQ("수동 충전 상태를 해제 할까요?");
|
||||
// if (dlg == DialogResult.Yes)
|
||||
// {
|
||||
// PUB.flag.set(EFlag.FLAG_CHARGEONM, false);
|
||||
// Pub.log.Add("수동 충전 상태 해제");
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// var dlg = Util.MsgQ("수동 충전 상태를 설정 할까요?\n수동충전이 설정되면 AGV는 움직지 않습니다");
|
||||
// if (dlg == DialogResult.Yes)
|
||||
// {
|
||||
// PUB.flag.set(EFlag.FLAG_CHARGEONM, true);
|
||||
// Pub.log.Add("수동 충전 상태 설정");
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
private void arLabel2_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
@@ -911,17 +825,18 @@ namespace Project
|
||||
|
||||
private void lbCNtUp_Click(object sender, EventArgs e)
|
||||
{
|
||||
//down,up둘다 연결해야함
|
||||
using (var f = new Dialog.fCounter())
|
||||
f.ShowDialog();
|
||||
}
|
||||
|
||||
private void button1_Click_1(object sender, EventArgs e)
|
||||
private void btMenuAGV_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
SetScreen(form_agv);
|
||||
MenuAGV.ForeColor = Color.Gold;
|
||||
}
|
||||
|
||||
private void button2_Click_1(object sender, EventArgs e)
|
||||
private void btMenuBMS_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
SetScreen(form_bms);
|
||||
MenuBMS.ForeColor = Color.Gold;
|
||||
@@ -971,5 +886,10 @@ namespace Project
|
||||
PUB.log.Add("수동 충전 실행");
|
||||
}
|
||||
}
|
||||
|
||||
private void lbTime_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.mapctl.ShowDesign();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
@@ -1,105 +1,152 @@
|
||||
[RFID_POINTS]
|
||||
100,486,517
|
||||
173,488,516
|
||||
230,493,515
|
||||
309,489,514
|
||||
370,490,513
|
||||
437,487,512
|
||||
483,459,511
|
||||
511,421,510
|
||||
543,371,509
|
||||
569,329,508
|
||||
608,289,507
|
||||
661,279,506
|
||||
701,297,505
|
||||
698,349,504
|
||||
698,391,503
|
||||
699,449,502
|
||||
691,491,501
|
||||
570,275,400
|
||||
517,264,401
|
||||
454,264,402
|
||||
388,262,403
|
||||
315,258,404
|
||||
639,234,600
|
||||
621,182,601
|
||||
641,183,602
|
||||
657,101,603
|
||||
627,82,604
|
||||
560,73,605
|
||||
499,65,606
|
||||
432,65,607
|
||||
264,232,405
|
||||
363,60,608
|
||||
654,508,500
|
||||
96,542,100
|
||||
159,542,101
|
||||
226,542,102
|
||||
309,541,103
|
||||
369,542,104
|
||||
483,165,753
|
||||
735,163,700
|
||||
523,170,752
|
||||
565,175,751
|
||||
597,182,750
|
||||
665,181,703
|
||||
700,176,702
|
||||
722,170,701
|
||||
100,486,517,False,,False
|
||||
162,487,516,False,,False
|
||||
230,493,515,False,,False
|
||||
309,489,514,False,,False
|
||||
370,490,513,False,,False
|
||||
429,487,512,False,Forward,False
|
||||
488,476,511,False,,False
|
||||
538,445,510,False,,False
|
||||
576,393,509,False,,False
|
||||
598,343,508,False,,False
|
||||
621,287,507,True,,False
|
||||
671,293,506,False,,False
|
||||
702,314,505,False,,False
|
||||
711,354,504,False,,False
|
||||
711,396,503,False,,False
|
||||
707,454,502,False,,False
|
||||
685,499,501,False,Forward,False
|
||||
566,281,400,False,,False
|
||||
504,274,401,False,,False
|
||||
439,271,402,False,,False
|
||||
383,267,403,False,,False
|
||||
311,260,404,False,Forward,False
|
||||
633,237,600,False,,False
|
||||
609,186,601,False,,False
|
||||
639,184,602,False,,False
|
||||
657,101,603,False,,False
|
||||
627,82,604,False,,False
|
||||
560,73,605,False,,False
|
||||
499,65,606,False,,False
|
||||
432,65,607,False,Forward,False
|
||||
242,239,405,False,Forward,True
|
||||
363,60,608,False,Forward,True
|
||||
633,547,500,False,Forward,True
|
||||
96,542,100,False,Forward,True
|
||||
159,542,101,False,Forward,True
|
||||
226,542,102,False,Forward,True
|
||||
310,541,103,False,Forward,True
|
||||
369,542,104,False,Forward,True
|
||||
397,166,753,False,Backward,True
|
||||
847,152,700,False,Backward,True
|
||||
484,169,752,False,Backward,False
|
||||
535,176,751,False,,False
|
||||
573,184,750,False,,False
|
||||
665,181,703,False,,False
|
||||
714,174,702,False,,False
|
||||
756,165,701,False,Backward,False
|
||||
[RFID_LINES]
|
||||
100,486,173,488,517,516,False,73.02739
|
||||
173,488,230,493,516,515,False,57.21888
|
||||
230,493,309,489,515,514,False,79.1012
|
||||
309,489,370,490,514,513,False,61.0082
|
||||
370,490,437,487,513,512,False,67.06713
|
||||
437,487,483,459,512,511,False,53.85165
|
||||
483,459,511,421,511,510,False,47.20169
|
||||
511,421,543,371,510,509,False,59.36329
|
||||
543,371,569,329,509,508,False,49.39635
|
||||
569,329,608,289,508,507,False,55.86591
|
||||
608,289,639,234,507,600,False,63.13478
|
||||
639,234,665,181,600,703,False,59.03389
|
||||
665,181,657,101,703,603,False,80.399
|
||||
657,101,627,82,603,604,False,35.51056
|
||||
627,82,560,73,604,605,False,67.60178
|
||||
560,73,499,65,605,606,False,61.52235
|
||||
499,65,432,65,606,607,False,67
|
||||
432,65,363,60,607,608,False,69.18092
|
||||
641,183,665,181,602,703,False,24.08319
|
||||
665,181,700,176,703,702,False,35.35534
|
||||
700,176,722,170,702,701,False,22.80351
|
||||
722,170,735,163,701,700,False,14.76482
|
||||
641,183,621,182,602,601,False,20.02498
|
||||
621,182,597,182,601,750,False,24
|
||||
597,182,565,175,750,751,False,32.75668
|
||||
565,175,523,170,751,752,False,42.29657
|
||||
523,170,483,165,752,753,False,40.31129
|
||||
264,232,315,258,405,404,False,57.24509
|
||||
315,258,388,262,404,403,False,73.1095
|
||||
388,262,454,264,403,402,False,66.0303
|
||||
454,264,517,264,402,401,False,63
|
||||
517,264,570,275,401,400,False,54.12947
|
||||
570,275,608,289,400,507,False,40.49691
|
||||
608,289,661,279,507,506,False,53.93515
|
||||
661,279,701,297,506,505,False,43.86343
|
||||
701,297,698,349,505,504,False,52.08647
|
||||
698,349,698,391,504,503,False,42
|
||||
698,391,699,449,503,502,False,58.00862
|
||||
699,449,691,491,502,501,False,42.75512
|
||||
691,491,654,508,501,500,False,40.71855
|
||||
96,542,100,486,100,517,False,56.14267
|
||||
159,542,173,488,101,516,False,55.7853
|
||||
226,542,230,493,102,515,False,49.16299
|
||||
309,541,309,489,103,514,False,52
|
||||
369,542,370,490,104,513,False,52.00961
|
||||
100,486,162,487,[RFIDPoint] 517,P:100,486,[RFIDPoint] 516,P:162,487,false,false,0
|
||||
162,487,230,493,[RFIDPoint] 516,P:162,487,[RFIDPoint] 515,P:230,493,false,false,0
|
||||
230,493,309,489,[RFIDPoint] 515,P:230,493,[RFIDPoint] 514,P:309,489,false,false,0
|
||||
309,489,370,490,[RFIDPoint] 514,P:309,489,[RFIDPoint] 513,P:370,490,false,false,0
|
||||
370,490,429,487,[RFIDPoint] 513,P:370,490,[RFIDPoint] 512,P:429,487,false,false,0
|
||||
429,487,488,476,[RFIDPoint] 512,P:429,487,[RFIDPoint] 511,P:488,476,false,false,0
|
||||
488,476,538,445,[RFIDPoint] 511,P:488,476,[RFIDPoint] 510,P:538,445,false,false,0
|
||||
538,445,576,393,[RFIDPoint] 510,P:538,445,[RFIDPoint] 509,P:576,393,false,false,0
|
||||
576,393,598,343,[RFIDPoint] 509,P:576,393,[RFIDPoint] 508,P:598,343,false,false,0
|
||||
598,343,621,287,[RFIDPoint] 508,P:598,343,[RFIDPoint] 507,P:621,287,false,false,0
|
||||
621,287,633,237,[RFIDPoint] 507,P:621,287,[RFIDPoint] 600,P:633,237,false,false,0
|
||||
633,237,665,181,[RFIDPoint] 600,P:633,237,[RFIDPoint] 703,P:665,181,false,false,0
|
||||
665,181,657,101,[RFIDPoint] 703,P:665,181,[RFIDPoint] 603,P:657,101,false,false,0
|
||||
657,101,627,82,[RFIDPoint] 603,P:657,101,[RFIDPoint] 604,P:627,82,false,false,0
|
||||
627,82,560,73,[RFIDPoint] 604,P:627,82,[RFIDPoint] 605,P:560,73,false,false,0
|
||||
560,73,499,65,[RFIDPoint] 605,P:560,73,[RFIDPoint] 606,P:499,65,false,false,0
|
||||
499,65,432,65,[RFIDPoint] 606,P:499,65,[RFIDPoint] 607,P:432,65,false,false,0
|
||||
432,65,363,60,[RFIDPoint] 607,P:432,65,[RFIDPoint] 608,P:363,60,false,false,0
|
||||
639,184,665,181,[RFIDPoint] 602,P:639,184,[RFIDPoint] 703,P:665,181,false,false,0
|
||||
665,181,714,174,[RFIDPoint] 703,P:665,181,[RFIDPoint] 702,P:714,174,false,false,0
|
||||
714,174,756,165,[RFIDPoint] 702,P:714,174,[RFIDPoint] 701,P:756,165,false,false,0
|
||||
756,165,847,152,[RFIDPoint] 701,P:756,165,[RFIDPoint] 700,P:847,152,false,false,0
|
||||
639,184,609,186,[RFIDPoint] 602,P:639,184,[RFIDPoint] 601,P:609,186,false,false,0
|
||||
609,186,573,184,[RFIDPoint] 601,P:609,186,[RFIDPoint] 750,P:573,184,false,false,0
|
||||
573,184,535,176,[RFIDPoint] 750,P:573,184,[RFIDPoint] 751,P:535,176,false,false,0
|
||||
535,176,484,169,[RFIDPoint] 751,P:535,176,[RFIDPoint] 752,P:484,169,false,false,0
|
||||
484,169,397,166,[RFIDPoint] 752,P:484,169,[RFIDPoint] 753,P:397,166,false,false,0
|
||||
242,239,311,260,[RFIDPoint] 405,P:242,239,[RFIDPoint] 404,P:311,260,false,false,0
|
||||
311,260,383,267,[RFIDPoint] 404,P:311,260,[RFIDPoint] 403,P:383,267,false,false,0
|
||||
383,267,439,271,[RFIDPoint] 403,P:383,267,[RFIDPoint] 402,P:439,271,false,false,0
|
||||
439,271,504,274,[RFIDPoint] 402,P:439,271,[RFIDPoint] 401,P:504,274,false,false,0
|
||||
504,274,566,281,[RFIDPoint] 401,P:504,274,[RFIDPoint] 400,P:566,281,false,false,0
|
||||
566,281,621,287,[RFIDPoint] 400,P:566,281,[RFIDPoint] 507,P:621,287,false,false,0
|
||||
621,287,671,293,[RFIDPoint] 507,P:621,287,[RFIDPoint] 506,P:671,293,false,false,0
|
||||
671,293,702,314,[RFIDPoint] 506,P:671,293,[RFIDPoint] 505,P:702,314,false,false,0
|
||||
702,314,711,354,[RFIDPoint] 505,P:702,314,[RFIDPoint] 504,P:711,354,false,false,0
|
||||
711,354,711,396,[RFIDPoint] 504,P:711,354,[RFIDPoint] 503,P:711,396,false,false,0
|
||||
711,396,707,454,[RFIDPoint] 503,P:711,396,[RFIDPoint] 502,P:707,454,false,false,0
|
||||
707,454,685,499,[RFIDPoint] 502,P:707,454,[RFIDPoint] 501,P:685,499,false,false,0
|
||||
685,499,633,547,[RFIDPoint] 501,P:685,499,[RFIDPoint] 500,P:633,547,false,false,0
|
||||
96,542,100,486,[RFIDPoint] 100,P:96,542,[RFIDPoint] 517,P:100,486,false,false,0
|
||||
159,542,162,487,[RFIDPoint] 101,P:159,542,[RFIDPoint] 516,P:162,487,false,false,0
|
||||
226,542,230,493,[RFIDPoint] 102,P:226,542,[RFIDPoint] 515,P:230,493,false,false,0
|
||||
310,541,309,489,[RFIDPoint] 103,P:310,541,[RFIDPoint] 514,P:309,489,false,false,0
|
||||
369,542,370,490,[RFIDPoint] 104,P:369,542,[RFIDPoint] 513,P:370,490,false,false,0
|
||||
[RFID_CONNECTION]
|
||||
100,486,162,487,517,516,1,,,
|
||||
162,487,230,493,516,515,1,,,
|
||||
230,493,309,489,515,514,1,,,
|
||||
309,489,370,490,514,513,1,,,
|
||||
370,490,429,487,513,512,1,,,
|
||||
429,487,488,476,512,511,1,,,
|
||||
488,476,538,445,511,510,1,,,
|
||||
538,445,576,393,510,509,1,,,
|
||||
576,393,598,343,509,508,1,,,
|
||||
598,343,621,287,508,507,1,,,
|
||||
621,287,633,237,507,600,1,,,
|
||||
633,237,665,181,600,703,1,,,
|
||||
665,181,657,101,703,603,1,,,
|
||||
657,101,627,82,603,604,1,,,
|
||||
627,82,560,73,604,605,1,,,
|
||||
560,73,499,65,605,606,1,,,
|
||||
499,65,432,65,606,607,1,,,
|
||||
432,65,363,60,607,608,1,,,
|
||||
639,184,665,181,602,703,1,,,
|
||||
665,181,714,174,703,702,1,,,
|
||||
714,174,756,165,702,701,1,,,
|
||||
756,165,847,152,701,700,1,,,
|
||||
639,184,609,186,602,601,1,,,
|
||||
609,186,573,184,601,750,1,,,
|
||||
573,184,535,176,750,751,1,,,
|
||||
535,176,484,169,751,752,1,,,
|
||||
484,169,397,166,752,753,1,,,
|
||||
242,239,311,260,405,404,1,,,
|
||||
311,260,383,267,404,403,1,,,
|
||||
383,267,439,271,403,402,1,,,
|
||||
439,271,504,274,402,401,1,,,
|
||||
504,274,566,281,401,400,1,,,
|
||||
566,281,621,287,400,507,1,,,
|
||||
621,287,671,293,507,506,1,,,
|
||||
671,293,702,314,506,505,1,,,
|
||||
702,314,711,354,505,504,1,,,
|
||||
711,354,711,396,504,503,1,,,
|
||||
711,396,707,454,503,502,1,,,
|
||||
707,454,685,499,502,501,1,,,
|
||||
685,499,633,547,501,500,1,,,
|
||||
96,542,100,486,100,517,1,,,
|
||||
159,542,162,487,101,516,1,,,
|
||||
226,542,230,493,102,515,1,,,
|
||||
310,541,309,489,103,514,1,,,
|
||||
369,542,370,490,104,513,1,,,
|
||||
[MAP_TEXTS]
|
||||
179,251,-1,-16777216,Arial,12,OPS-2
|
||||
239,52,-256,-65408,Arial,12,SSOTRON-3
|
||||
617,527,-16711936,-16777216,Arial,12,SSOTRON-1
|
||||
87,551,-16777216,16777215,Arial,12,B1
|
||||
150,550,-16777216,16777215,Arial,12,B2
|
||||
227,553,-16777216,16777215,Arial,12,B3
|
||||
299,555,-16777216,16777215,Arial,12,B4
|
||||
367,554,-16777216,16777215,Arial,12,B5
|
||||
453,128,-16777216,-8323073,Arial,12,CHG1
|
||||
725,124,-16777216,-8323073,Arial,12,CHG2
|
||||
231,193,-16777216,-2448096,Arial,12,TOPS-2
|
||||
315,25,-256,-65408,Arial,12,SSOTRON-3
|
||||
586,577,-16711936,-16777216,Arial,12,SSOTRON-1
|
||||
81,564,-16777216,-1,Arial,12,B1
|
||||
144,563,-16777216,-1,Arial,12,B2
|
||||
214,561,-16777216,-1,Arial,12,B3
|
||||
301,562,-16777216,-1,Arial,12,B4
|
||||
359,562,-16777216,-1,Arial,12,B5
|
||||
371,115,-16777216,-8323073,Arial,12,CHG1
|
||||
822,110,-16777216,-8323073,Arial,12,CHG2
|
||||
[CUSTOM_LINES]
|
||||
[CUSTOM_LINES]
|
||||
|
||||
Reference in New Issue
Block a user