Commit 61953e34 张东亮

进料与上料工位初始化信号确认

1 个父辈 ec67183f
......@@ -25,7 +25,7 @@ DI,中间升降气缸上升端,M_Updown_Up,11,PRO_AOI_IP_1,0,中间升降气缸上升端,X12,X12,0
DI,中间升降气缸下降端,M_Updown_Down,12,PRO_AOI_IP_1,0,中间升降气缸下降端,X13,X13,0
DI,中间轨道正阻挡检测,M_LeftStopCheck,13,PRO_AOI_IP_1,0,中间轨道正阻挡检测,X14,X14,0
DI,中间轨道反阻挡检测,M_RightStopCheck,14,PRO_AOI_IP_1,0,中间轨道反阻挡检测,X15,X15,0
DI,上料位前反阻挡检测,S1_StopCheck1,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
DI,上料位前反阻挡检测,PreS1_NegStopCheck,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
DO,待机状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,待机状态(指示灯),Y01,Y01,0
DO,运行状态(指示灯),RunSign_HddLed,1,PRO_AOI_IP_1,0,运行状态(指示灯),Y02,Y02,0
DO,故障状态(指示灯),Alarm_HddLed,2,PRO_AOI_IP_1,0,故障状态(指示灯),Y03,Y03,0
......@@ -45,10 +45,10 @@ DO,右出口轨道电机反转,R_OutLineBackRun,14,PRO_AOI_IP_1,0,右出口轨道电机反转,Y15,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
DI,上料位前正阻挡检测,S1_StopCheck2,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
DI,上料位反定位阻挡检测,S1_StopCheck3,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
DI,上料位正定位阻挡检测,S1_StopCheck4,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
DI,上料位后阻挡检测,S1_StopCheck5,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
DI,上料位前正阻挡检测,PreS1_PosStopCheck,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
DI,上料位反定位阻挡检测,S1_NegStopCheck,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
DI,上料位正定位阻挡检测,S1_PosStopCheck,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
DI,上料位后阻挡检测,AftS1_StopCheck,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
DI,上料工位顶升上升端1,S1_TopCylinderUp1,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
DI,上料工位顶升下降端1,S1_TopCylinderDown1,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
DI,上料工位顶升上升端2,S1_TopCylinderUp2,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
......@@ -73,11 +73,11 @@ DO,中间轨道正阻挡下降,M_LeftStopCylinder,7,PRO_AOI_IP_2,0,中间轨道正阻挡下降,Y28
DO,中间轨道反阻挡下降,M_RightStopCylinder,8,PRO_AOI_IP_2,0,中间轨道反阻挡下降,Y29,Y29,0
DO,中间升降气缸上升,M_Updown_Up,9,PRO_AOI_IP_2,0,中间升降气缸上升,Y30,Y30,0
DO,中间升降气缸下降,M_Updown_Down,10,PRO_AOI_IP_2,0,中间升降气缸下降,Y31,Y31,0
DO,上料位前反阻挡下降,S1_StopCylinder1,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,Y32,0
DO,上料位前正阻挡下降,S1_StopCylinder2,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
DO,上料位反定位阻挡下降,S1_StopCylinder3,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
DO,上料位正定位阻挡下降,S1_StopCylinder4,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
DO,上料位后阻挡下降,S1_StopCylinder5,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
DO,上料位前反阻挡下降,PreS1_NegStopCylinder,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,Y32,0
DO,上料位前正阻挡下降,PreS1_PosStopCylinder,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
DO,上料位反定位阻挡下降,S1_NegStopCylinder,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
DO,上料位正定位阻挡下降,S1_PosStopCylinder,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
DO,上料位后阻挡下降,AftS1_StopCylinder,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
......
......@@ -116,7 +116,7 @@ namespace OnlineStore.DeviceLibrary
#region 原点返回和复位处理
private void ReturnHome()
{
HighProcess = false;
LHighProcess = false;
LowProcess = false;
S1_ShelfTask = new ShelfTaskInfo();
S2CanGetShelf = true;
......@@ -157,9 +157,9 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH);
//工位1只上升2个阻挡
CheckAndMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH);
//工位只上升2个阻挡
CheckAndMove(IO_Type.S1_NegStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.PreS1_NegStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH);
......@@ -174,10 +174,9 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.M_LeftStopCylinder, value);
CheckAndMove(IO_Type.S1_StopCylinder1, value);
CheckAndMove(IO_Type.S1_StopCylinder2, value);
CheckAndMove(IO_Type.S1_StopCylinder5, value);
CheckAndMove(IO_Type.AftS1_StopCylinder, value);
CheckAndMove(IO_Type.S1_PosStopCheck, value);
CheckAndMove(IO_Type.PreS1_PosStopCylinder, value);
}
public void AllLineMove(IO_VALUE value, LineMoveInfo moveInfo = null)
......@@ -263,11 +262,11 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH);
CheckAndMove(IO_Type.PreS1_PosStopCylinder, IO_VALUE.LOW);
CheckAndMove(IO_Type.PreS1_NegStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_NegStopCylinder, IO_VALUE.HIGH);
S1LineRun(MoveInfo);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
}
else
{
......@@ -281,7 +280,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(MoveStep.H05_MShlefToLeft);
LogUtil.info(Name + " 复位:中间提升机有料架,等待料架到达S1左侧");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
break;
case MoveStep.H05_MShlefToLeft:
MoveInfo.NextMoveStep(MoveStep.H06_SaveLeft);
......
......@@ -17,10 +17,12 @@ namespace OnlineStore.DeviceLibrary
public string LeftUpdownRFID = "";
private Stopwatch lowWatch = new Stopwatch();
private Stopwatch highWatch = new Stopwatch();
private Stopwatch lhighWatch = new Stopwatch();
private Stopwatch rhighWatch = new Stopwatch();
private Stopwatch inLineWatch = new Stopwatch();
private bool LowProcess = false;
private bool HighProcess = false;
private bool LHighProcess = false;
private bool RHighProcess = false;
private void ShelfCheckPro()
{
//左侧轨道
......@@ -32,17 +34,17 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LHigh_StopCylinder2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.LHigh_LineRun).Equals(IO_VALUE.LOW) && HighProcess.Equals(false)
IOValue(IO_Type.LHigh_LineRun).Equals(IO_VALUE.LOW) && LHighProcess.Equals(false)
)
{
bool isUseHighShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_D12_LineRun && SOneMoveInfo.MoveStep <= MoveStep.S1_D12_LineRun);
if (!isUseHighShelf && LineManager.checkWatch(highWatch, 3000))
if (!isUseHighShelf && LineManager.checkWatch(lhighWatch, 3000))
{
highWatch.Stop();
lhighWatch.Stop();
//左侧上层需要放个料架
Task.Factory.StartNew(delegate
{
HighProcess = true;
LHighProcess = true;
LogUtil.info("左侧双层线_" + "左上层放料架到阻挡2");
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH, 3000);
......@@ -50,15 +52,43 @@ namespace OnlineStore.DeviceLibrary
{
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
}
HighProcess = false;
LHighProcess = false;
});
}
}
else
{
highWatch.Stop();
lhighWatch.Stop();
}
if (IOValue(IO_Type.RHigh_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.RHigh_StopCylinder2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.RHigh_StopCheck1).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.RHigh_LineRun).Equals(IO_VALUE.LOW) && RHighProcess.Equals(false)
)
{
if (LineManager.checkWatch(rhighWatch, 3000))
{
rhighWatch.Stop();
//右侧上层需要放个料架
Task.Factory.StartNew(delegate
{
LHighProcess = true;
LogUtil.info("右侧双层线_" + "右上层放料架到阻挡2");
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.RHigh_StopCheck2, IO_VALUE.HIGH, 30000, "右侧_上层放料架到阻挡2"))
{
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.LOW);
}
RHighProcess = false;
});
}
}
else
{
rhighWatch.Stop();
}
if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH) &&
......
......@@ -341,6 +341,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.R_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELT_OUT);
benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.LOW, 5000);
}
......@@ -364,6 +365,7 @@ namespace OnlineStore.DeviceLibrary
agvClient_Dbline.FinishLeave("A6");
IOMove(IO_Type.R_OutLineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW);
}
}
}
......
......@@ -78,7 +78,7 @@ namespace OnlineStore.DeviceLibrary
//IOMove(IO_Type.Pkg_Out_Stop_Down, IO_VALUE.LOW);
//双层线上层阻挡
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH);
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.RHigh_StopCylinder2, IO_VALUE.LOW);
//
......@@ -123,7 +123,7 @@ namespace OnlineStore.DeviceLibrary
ProcessBenQLeftEnter();
ProcessBenQRightEnter();
ProcessBenQLeave();
//BenQ 右侧入料
//右侧入料
ProcessBenQEnterFromOut();
CheckA5State();
CheckA6State();
......@@ -168,7 +168,7 @@ namespace OnlineStore.DeviceLibrary
//IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
//S2工位
IOMove(IO_Type.S1_StopCylinder5, IO_VALUE.LOW);
IOMove(IO_Type.AftS1_StopCylinder, IO_VALUE.LOW);
//IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW);
//双层线出料口
......@@ -176,7 +176,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW);
//右侧上层阻挡
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH);
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.RHigh_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.R_LineRun, IO_VALUE.LOW);
......
......@@ -178,8 +178,8 @@ namespace OnlineStore.DeviceLibrary
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.LOW, 5000);
CheckAndMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH);//右侧上层链条运行
CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH, 5000);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH,5000);
CheckAndMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH);
}
}
......@@ -188,6 +188,8 @@ namespace OnlineStore.DeviceLibrary
bool noShelf = IOManager.IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW) && IOManager.IOValue(IO_Type.R_RightStopCheck).Equals(IO_VALUE.LOW);
if (noShelf && benQInFromOutStep.IsFinished())//料盘进入完成
{
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_DOWN);
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW);
......@@ -196,6 +198,11 @@ namespace OnlineStore.DeviceLibrary
CylinderMove(MoveInfo, IO_Type.R_Updown_Up, IO_Type.R_Updown_Down);
benQInFromOutStep.AddTimeWait(5000);
}
else
{
CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
}
}
else if (benQInFromOutStep.IsStep(BenQ_IN_FROM_OUT_STEP.SHELF_DOWN))
{
......@@ -203,7 +210,7 @@ namespace OnlineStore.DeviceLibrary
{
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS);
benQInFromOutStep.Msg = "BenQ AGV 在右侧提升机将料架送入上层平台完成";
benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck2, IO_VALUE.HIGH);
benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck1, IO_VALUE.HIGH);
benQInFromOutStep.AddTimeWait(10000);
}
}
......@@ -214,7 +221,7 @@ namespace OnlineStore.DeviceLibrary
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.NONE);
benQInFromOutStep.Msg = "料架已到中间提升机右侧入口,停止链条";
//agvClient_Dbline.FinishEnter("A6");
//IOMove(IO_Type.RHigh_LineRun, IO_VALUE.LOW);//上层链条停止
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.LOW);//上层链条停止
}
else
{
......
......@@ -312,7 +312,6 @@
this.btnReload.TabIndex = 199;
this.btnReload.Text = "重新加载";
this.btnReload.UseVisualStyleBackColor = false;
this.btnReload.Visible = false;
this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
//
// chbUseAbb
......
......@@ -87,9 +87,9 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
public static string M_RightStopCheck = "M_RightStopCheck";
/// <summary>
/// DI,上料位前反阻挡检测,S1_StopCheck1,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
/// DI,上料位前反阻挡检测,PreS1_NegStopCheck,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
/// </summary>
public static string S1_StopCheck1 = "S1_StopCheck1";
public static string PreS1_NegStopCheck = "PreS1_NegStopCheck";
/// <summary>
......@@ -156,21 +156,21 @@ namespace OnlineStore.LoadCSVLibrary
#region PRO_AOI_IP_2
/// <summary>
///DI,上料位前正阻挡检测,S1_StopCheck2,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
///DI,上料位前正阻挡检测,PreS1_PosStopCheck,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
/// </summary>
public static string S1_StopCheck2 = "S1_StopCheck2";
public static string PreS1_PosStopCheck = "PreS1_PosStopCheck";
/// <summary>
///DI,上料位反定位阻挡检测,S1_StopCheck3,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
///DI,上料位反定位阻挡检测,S1_NegStopCheck,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
/// </summary>
public static string S1_StopCheck3 = "S1_StopCheck3";
public static string S1_NegStopCheck = "S1_NegStopCheck";
/// <summary>
///DI,上料位正定位阻挡检测,S1_StopCheck4,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
///DI,上料位正定位阻挡检测,S1_PosStopCheck,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
/// </summary>
public static string S1_StopCheck4 = "S1_StopCheck4";
public static string S1_PosStopCheck = "S1_PosStopCheck";
/// <summary>
///DI,上料位后阻挡检测,S1_StopCheck5,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
///DI,上料位后阻挡检测,AftS1_StopCheck,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
/// </summary>
public static string S1_StopCheck5 = "S1_StopCheck5";
public static string AftS1_StopCheck = "AftS1_StopCheck";
///// <summary>
/////DI,上料工位顶升上升端1,S1_TopCylinderUp1,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
///// </summary>
......@@ -266,25 +266,25 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
//public static string M_Updown_Down = "M_Updown_Down";
/// <summary>
///DO,上料位前反阻挡下降,S1_StopCylinder1,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,Y32,0
///DO,上料位前反阻挡下降,PreS1_NegStopCylinder,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,Y32,0
/// </summary>
public static string S1_StopCylinder1 = "S1_StopCylinder1";
public static string PreS1_NegStopCylinder = "PreS1_NegStopCylinder";
/// <summary>
///DO,上料位前正阻挡下降,S1_StopCylinder2,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
///DO,上料位前正阻挡下降,PreS1_PosStopCylinder,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
/// </summary>
public static string S1_StopCylinder2 = "S1_StopCylinder2";
public static string PreS1_PosStopCylinder = "PreS1_PosStopCylinder";
/// <summary>
///DO,上料位反定位阻挡下降,S1_StopCylinder3,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
///DO,上料位反定位阻挡下降,S1_NegStopCylinder,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
/// </summary>
public static string S1_StopCylinder3 = "S1_StopCylinder3";
public static string S1_NegStopCylinder = "S1_NegStopCylinder";
/// <summary>
///DO,上料位正定位阻挡下降,S1_StopCylinder4,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
///DO,上料位正定位阻挡下降,S1_PosStopCylinder,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
/// </summary>
public static string S1_StopCylinder4 = "S1_StopCylinder4";
public static string S1_PosStopCylinder = "S1_PosStopCylinder";
/// <summary>
///DO,上料位后阻挡下降,S1_StopCylinder5,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
///DO,上料位后阻挡下降,AftS1_StopCylinder,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
/// </summary>
public static string S1_StopCylinder5 = "S1_StopCylinder5";
public static string AftS1_StopCylinder = "AftS1_StopCylinder";
#endregion
#region PRO_AOI_IP_3
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!