Commit 89af521e 张东亮

机器人连接ok,rfid读取ok

1 个父辈 eddb5fd6
此文件类型无法预览
此文件类型无法预览
...@@ -44,8 +44,11 @@ ...@@ -44,8 +44,11 @@
<Reference Include="Asa.IOModule.AIOBOX"> <Reference Include="Asa.IOModule.AIOBOX">
<HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath> <HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath>
</Reference> </Reference>
<Reference Include="Asa.RFID"> <Reference Include="Asa.RFID.HiStation">
<HintPath>..\..\dll\Asa.RFID.dll</HintPath> <HintPath>..\..\dll\Asa.RFID.HiStation.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID.IReadAll">
<HintPath>..\..\dll\Asa.RFID.IReadAll.dll</HintPath>
</Reference> </Reference>
<Reference Include="AsaPL.AgvClient"> <Reference Include="AsaPL.AgvClient">
<HintPath>..\..\dll\AsaPL.AgvClient.dll</HintPath> <HintPath>..\..\dll\AsaPL.AgvClient.dll</HintPath>
...@@ -115,7 +118,7 @@ ...@@ -115,7 +118,7 @@
<Compile Include="packageLine\AgvProcess.cs" /> <Compile Include="packageLine\AgvProcess.cs" />
<Compile Include="packageLine\bean\StepInfo.cs" /> <Compile Include="packageLine\bean\StepInfo.cs" />
<Compile Include="packageLine\PackageLine.cs" /> <Compile Include="packageLine\PackageLine.cs" />
<Compile Include="packageLine\BenQProcess.cs" /> <Compile Include="packageLine\LineAGVProcess.cs" />
<Compile Include="packageLine\PackageLine_BuffShelf.cs" /> <Compile Include="packageLine\PackageLine_BuffShelf.cs" />
<Compile Include="packageLine\PackageLine_BenQInShelf.cs" /> <Compile Include="packageLine\PackageLine_BenQInShelf.cs" />
<Compile Include="packageLine\PackageLine_PkgInShelf.cs" /> <Compile Include="packageLine\PackageLine_PkgInShelf.cs" />
......
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID 类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID
PRO,IO模块对应的DI数量,IO_DILength,192.168.103.23#8;192.168.103.29#8,,,,,, PRO,IO模块对应的DI数量,IO_DILength,192.168.103.21#16,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.103.23#24;192.168.103.29#8,,,,,, PRO,模块对应的DO数量,IO_DOLength,192.168.103.21#61,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.21,,,,,, PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.21,,,,,,
PRO,IO模块IP,PRO_AOI_IP_2,192.168.103.22,,,,,, PRO,IO模块IP,PRO_AOI_IP_2,192.168.103.22,,,,,,
PRO,IO模块IP,PRO_AOI_IP_3,192.168.103.23,,,,,, PRO,IO模块IP,PRO_AOI_IP_3,192.168.103.23,,,,,,
PRO,IO模块IP,PRO_AOI_IP_4,192.168.103.24,,,,,,
PRO,IO模块IP,PRO_AOI_IP_6,192.168.103.26,,,,,,
PRO,IO模块IP,PRO_AOI_IP_7,192.168.103.27,,,,,,
PRO,IO模块IP,PRO_AOI_IP_8,192.168.103.28,,,,,, PRO,IO模块IP,PRO_AOI_IP_8,192.168.103.28,,,,,,
PRO,IO模块IP,PRO_AOI_IP_9,192.168.103.29,,,,,, PRO,IO模块IP,PRO_AOI_IP_9,192.168.103.29,,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,休眠秒数(秒),SleepSeconds,60,,,,,, PRO,休眠秒数(秒),SleepSeconds,60,,,,,,
PRO,IO信号超时时间(秒),IOSingle_TimerOut,15,,,,,, PRO,IO信号超时时间(秒),IOSingle_TimerOut,15,,,,,,
,,,,,,,,, ,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X601,X601,0 DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,X01,0
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X602,X602,0 DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,X02,0
DI,联动,Auto_BTN,2,PRO_AOI_IP_1,0,联动,X603,X603,0 DI,气压检测,AirCheck,2,PRO_AOI_IP_1,0,气压检测,X03,X03,0
DI,气压检测,AirCheck,3,PRO_AOI_IP_1,0,气压检测,X604,X604,0 DI,左升降气缸上升端,L_Updown_Up,3,PRO_AOI_IP_1,0,左升降气缸上升端,X04,X04,0
DI,左侧升降气缸上升端,L_Updown_Up,4,PRO_AOI_IP_1,0,左侧升降气缸上升端,X605,X605,0 DI,左升降气缸下降端,L_Updown_Down,4,PRO_AOI_IP_1,0,左升降气缸下降端,X05,X05,0
DI,左侧升降气缸下降端,L_Updown_Down,5,PRO_AOI_IP_1,0,左侧升降气缸下降端,X606,X606,0 DI,入口轨道检测,Line_InCheck,5,PRO_AOI_IP_1,0,入口轨道检测,X06,X06,0
DI,入口轨道检测,Line_InCheck,6,PRO_AOI_IP_1,0,入口轨道检测,X607,X607,0 DI,入口轨道阻挡检测,Line_StopCheck,6,PRO_AOI_IP_1,0,入口轨道阻挡检测,X07,X07,0
DI,入口轨道阻挡检测,Line_StopCheck,7,PRO_AOI_IP_1,0,入口轨道阻挡检测,X608,X608,0 DI,左下层线体阻挡1检测,LLow_StopCheck1,7,PRO_AOI_IP_1,0,左下层线体阻挡1检测,X08,X08,0
DI,左侧下层线体阻挡1检测,LLow_StopCheck1,8,PRO_AOI_IP_1,0,左侧下层线体阻挡1检测,X609,X609,0 DI,左下层线体阻挡2检测,LLow_StopCheck2,8,PRO_AOI_IP_1,0,左下层线体阻挡2检测,X09,X09,0
DI,左侧下层线体阻挡2检测,LLow_StopCheck2,9,PRO_AOI_IP_1,0,左侧下层线体阻挡2检测,X610,X610,0 DI,左上层线体阻挡1检测,LHigh_StopCheck1,9,PRO_AOI_IP_1,0,左上层线体阻挡1检测,X10,X10,0
DI,左侧下层线体阻挡3检测,LLow_StopCheck3,10,PRO_AOI_IP_1,0,左侧下层线体阻挡3检测,X611,X611,0 DI,左上层线体阻挡2检测,LHigh_StopCheck2,10,PRO_AOI_IP_1,0,左上层线体阻挡2检测,X11,X11,0
DI,左侧上层线体阻挡1检测,LHigh_StopCheck1,11,PRO_AOI_IP_1,0,左侧上层线体阻挡1检测,X612,X612,0 DI,中间升降气缸上升端,M_Updown_Up,11,PRO_AOI_IP_1,0,中间升降气缸上升端,X12,X12,0
DI,左侧上层线体阻挡2检测,LHigh_StopCheck2,12,PRO_AOI_IP_1,0,左侧上层线体阻挡2检测,X613,X613,0 DI,中间升降气缸下降端,M_Updown_Down,12,PRO_AOI_IP_1,0,中间升降气缸下降端,X13,X13,0
DI,左侧上层线体阻挡3检测,LHigh_StopCheck3,13,PRO_AOI_IP_1,0,左侧上层线体阻挡3检测,X614,X614,0 DI,中间轨道正阻挡检测,M_LeftStopCheck,13,PRO_AOI_IP_1,0,中间轨道正阻挡检测,X14,X14,0
DI,中间升降气缸上升端,M_Updown_Up,14,PRO_AOI_IP_1,0,中间升降气缸上升端,X615,X615,0 DI,中间轨道反阻挡检测,M_RightStopCheck,14,PRO_AOI_IP_1,0,中间轨道反阻挡检测,X15,X15,0
DI,中间升降气缸下降端,M_Updown_Down,15,PRO_AOI_IP_1,0,中间升降气缸下降端,X616,X616,0 DI,上料位前反阻挡检测,S1_StopCheck1,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
DO,待机状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,待机状态(指示灯),Y601,Y601,0 DO,待机状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,待机状态(指示灯),Y01,Y01,0
DO,运行状态(指示灯),RunSign_HddLed,1,PRO_AOI_IP_1,0,运行状态(指示灯),Y602,Y602,0 DO,运行状态(指示灯),RunSign_HddLed,1,PRO_AOI_IP_1,0,运行状态(指示灯),Y02,Y02,0
DO,故障状态(指示灯),Alarm_HddLed,2,PRO_AOI_IP_1,0,故障状态(指示灯),Y603,Y603,0 DO,故障状态(指示灯),Alarm_HddLed,2,PRO_AOI_IP_1,0,故障状态(指示灯),Y03,Y03,0
DO,故障状态(蜂鸣器),Alarm_Buzzer,3,PRO_AOI_IP_1,0,故障状态(蜂鸣器),Y604,Y604,0 DO,故障状态(蜂鸣器),Alarm_Buzzer,3,PRO_AOI_IP_1,0,故障状态(蜂鸣器),Y04,Y04,0
DO,左侧升降气缸上升SOL,L_Updown_Up,4,PRO_AOI_IP_1,0,左侧升降气缸上升SOL,Y605,Y605,0 DO,左下层电机正转,LLown_LineRun,4,PRO_AOI_IP_1,0,左下层电机正转,Y05,Y05,0
DO,左侧升降气缸下降SOL,L_Updown_Down,5,PRO_AOI_IP_1,0,左侧升降气缸下降SOL,Y606,Y606,0 DO,左上层电机正转,LHigh_LineRun,5,PRO_AOI_IP_1,0,左上层电机正转,Y06,Y06,0
DO,左侧入口轨道阻挡下降,Line_StopCylinder,6,PRO_AOI_IP_1,0,左侧入口轨道阻挡下降,Y607,Y607,0 DO,上料工位电机正转,S1_LineRun,6,PRO_AOI_IP_1,0,上料工位电机正转,Y07,Y07,0
DO,左侧下层线体阻挡1下降,LLow_StopCylinder1,7,PRO_AOI_IP_1,0,左侧下层线体阻挡1下降,Y608,Y608,0 DO,上料工位电机反转,S1_LineBackRun,7,PRO_AOI_IP_1,0,上料工位电机反转,Y08,Y08,0
DO,左侧下层线体阻挡2下降,LLow_StopCylinder2,8,PRO_AOI_IP_1,0,左侧下层线体阻挡2下降,Y609,Y609,0 DO,右下层电机正转,R_LineRun,8,PRO_AOI_IP_1,0,右下层电机正转,Y09,Y09,0
DO,左侧下层线体阻挡3下降,LLow_StopCylinder3,9,PRO_AOI_IP_1,0,左侧下层线体阻挡3下降,Y610,Y610,0 DO,右上层电机正转,RHigh_LineRun,9,PRO_AOI_IP_1,0,右上层电机正转,Y10,Y10,0
DO,左侧上层线体阻挡1下降,LHigh_StopCylinder1,10,PRO_AOI_IP_1,0,左侧上层线体阻挡1下降,Y611,Y611,0 DO,左入口轨道电机正转,L_InLineRun,10,PRO_AOI_IP_1,0,左入口轨道电机正转,Y11,Y11,0
DO,左侧上层线体阻挡2下降,LHigh_StopCylinder2,11,PRO_AOI_IP_1,0,左侧上层线体阻挡2下降,Y612,Y612,0 DO,中间轨道电机正转,M_LineRun,11,PRO_AOI_IP_1,0,中间轨道电机正转,Y12,Y12,0
DO,左侧上层线体阻挡3下降,LHigh_StopCylinder3,12,PRO_AOI_IP_1,0,左侧上层线体阻挡3下降,Y613,Y613,0 DO,中间轨道电机反转,M_LineBackRun,12,PRO_AOI_IP_1,0,中间轨道电机反转,Y13,Y13,0
DO,左侧入口轨道电机正转,L_InLineRun,13,PRO_AOI_IP_1,0,左侧入口轨道电机正转,Y614,Y614,0 DO,右出口轨道电机正转,R_OutLineRun,13,PRO_AOI_IP_1,0,右出口轨道电机正转,Y14,Y14,0
DO,左侧入口轨道电机反转,L_InLineBackRun,14,PRO_AOI_IP_1,0,左侧入口轨道电机反转,Y615,Y615,0 DO,右出口轨道电机反转,R_OutLineBackRun,14,PRO_AOI_IP_1,0,右出口轨道电机反转,Y15,Y15,0
,,Y616,15,PRO_AOI_IP_1,0,,Y616,Y616,0 ,,,15,PRO_AOI_IP_1,0,,Y16,Y16,0
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
DI,中间轨道左阻挡检测,M_LeftStopCheck,0,PRO_AOI_IP_2,0,中间轨道左阻挡检测,X621,X621,0 DI,上料位前正阻挡检测,S1_StopCheck2,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
DI,中间轨道右阻挡检测,M_RightStopCheck,1,PRO_AOI_IP_2,0,中间轨道右阻挡检测,X622,X622,0 DI,上料位反定位阻挡检测,S1_StopCheck3,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
DI,上料工位1阻挡1检测,S1_StopCheck1,2,PRO_AOI_IP_2,0,上料工位1阻挡1检测,X623,X623,0 DI,上料位正定位阻挡检测,S1_StopCheck4,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
DI,上料工位1阻挡2检测,S1_StopCheck2,3,PRO_AOI_IP_2,0,上料工位1阻挡2检测,X624,X624,0 DI,上料位后阻挡检测,S2_StopCheck1,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
,上料工位1阻挡3检测,S1_StopCheck3,4,PRO_AOI_IP_2,0,上料工位1阻挡3检测,X625,X625,0 DI,上料工位顶升上升端1,S1_TopCylinderUp,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
DI,上料工位1阻挡4检测,S1_StopCheck4,5,PRO_AOI_IP_2,0,上料工位1阻挡4检测,X626,X626,0 DI,上料工位顶升下降端1,S1_TopCylinderDown,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
DI,上料工位2阻挡1检测,S2_StopCheck1,6,PRO_AOI_IP_2,0,上料工位2阻挡1检测,X627,X627,0 DI,上料工位顶升上升端2,S2_TopCylinderUp,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
DI,上料工位2阻挡2检测,S2_StopCheck2,7,PRO_AOI_IP_2,0,上料工位2阻挡2检测,X628,X628,0 DI,上料工位顶升下降端2,S2_TopCylinderDown,7,PRO_AOI_IP_2,0,上料工位顶升下降端2,X28,X28,0
DI,上料工位1顶升上升端,S1_TopCylinderUp,8,PRO_AOI_IP_2,0,上料工位1顶升上升端,X629,X629,0 DI,J1接驳台有料检测,ABB1_TrayCheck,8,PRO_AOI_IP_2,0,J1接驳台有料检测,X29,X29,0
DI,上料工位1顶升下降端,S1_TopCylinderDown,9,PRO_AOI_IP_2,0,上料工位1顶升下降端,X630,X630,0 DI,J2接驳台有料检测,ABB2_TrayCheck,9,PRO_AOI_IP_2,0,J2接驳台有料检测,X30,X30,0
DI,上料工位2顶升上升端,S2_TopCylinderUp,10,PRO_AOI_IP_2,0,上料工位2顶升上升端,X631,X631,0 DI,右升降气缸上升端,R_Updown_Up,10,PRO_AOI_IP_2,0,右侧升降气缸上升端,X31,X31,0
DI,上料工位2顶升下降端,S2_TopCylinderDown,11,PRO_AOI_IP_2,0,上料工位2顶升下降端,X632,X632,0 DI,右升降气缸下降端,R_Updown_Down,11,PRO_AOI_IP_2,0,右侧升降气缸下降端,X32,X32,0
DI,右侧升降气缸上升端,R_Updown_Up,12,PRO_AOI_IP_2,0,右侧升降气缸上升端,X633,X633,0 DI,右下层线体阻挡1检测,R_StopCheck1,12,PRO_AOI_IP_2,0,右侧下层线体阻挡1检测,X33,X33,0
DI,右侧升降气缸下降端,R_Updown_Down,13,PRO_AOI_IP_2,0,右侧升降气缸下降端,X634,X634,0 DI,右下层线体阻挡2检测,R_StopCheck2,13,PRO_AOI_IP_2,0,右侧下层线体阻挡2检测,X34,X34,0
DI,右侧下层线体阻挡1检测,R_StopCheck1,14,PRO_AOI_IP_2,0,右侧下层线体阻挡1检测,X635,X635,0 DI,右轨道入料阻挡检测,R_RightStopCheck,14,PRO_AOI_IP_2,0,右轨道入料阻挡检测,X35,X35,0
DI,右侧下层线体阻挡2检测,R_StopCheck2,15,PRO_AOI_IP_2,0,右侧下层线体阻挡2检测,X636,X636,0 DI,右轨道出料阻挡检测,R_LeftStopCheck,15,PRO_AOI_IP_2,0,右轨道出料阻挡检测,X36,X36,0
DO,左侧下层电机正转,LLown_LineRun,0,PRO_AOI_IP_2,0,左侧下层电机正转,Y621,Y621,0 ,,,,,,,,,
DO,左侧上层电机正转,LHigh_LineRun,1,PRO_AOI_IP_2,0,左侧上层电机正转,Y622,Y622,0 DO,左入口轨道阻挡下降,Line_StopCylinder,0,PRO_AOI_IP_2,0,左入口轨道阻挡下降,Y21,Y21,0
DO,中间轨道电机正转,M_LineRun,2,PRO_AOI_IP_2,0,中间轨道电机正转,Y623,Y623,0 DO,左升降气缸上升,L_Updown_Up,1,PRO_AOI_IP_2,0,左升降气缸上升,Y22,Y22,0
DO,中间轨道电机反转,M_LineBackRun,3,PRO_AOI_IP_2,0,中间轨道电机反转,Y624,Y624,0 DO,左升降气缸下降,L_Updown_Down,2,PRO_AOI_IP_2,0,左升降气缸下降,Y23,Y23,0
DO,中间升降气缸上升SOL,M_Updown_Up,4,PRO_AOI_IP_2,0,中间升降气缸上升SOL,Y625,Y625,0 DO,左下层线体阻挡1下降,LLow_StopCylinder1,3,PRO_AOI_IP_2,0,左下层线体阻挡1下降,Y24,Y24,0
DO,中间升降气缸下降SOL,M_Updown_Down,5,PRO_AOI_IP_2,0,中间升降气缸下降SOL,Y626,Y626,0 DO,左下层线体阻挡2下降,LLow_StopCylinder2,4,PRO_AOI_IP_2,0,左下层线体阻挡2下降,Y25,Y25,0
DO,中间轨道左阻挡下降,M_LeftStopCylinder,6,PRO_AOI_IP_2,0,中间轨道左阻挡下降,Y627,Y627,0 DO,左上层线体阻挡1下降,LHigh_StopCylinder1,5,PRO_AOI_IP_2,0,左上层线体阻挡1下降,Y26,Y26,0
DO,中间轨道右阻挡下降,M_RightStopCylinder,7,PRO_AOI_IP_2,0,中间轨道右阻挡下降,Y628,Y628,0 DO,左上层线体阻挡2下降,LHigh_StopCylinder2,6,PRO_AOI_IP_2,0,左上层线体阻挡2下降,Y27,Y27,0
DO,上料工位1阻挡1下降,S1_StopCylinder1,8,PRO_AOI_IP_2,0,上料工位1阻挡1下降,Y629,Y629,0 DO,中间轨道正阻挡下降,M_LeftStopCylinder,7,PRO_AOI_IP_2,0,中间轨道正阻挡下降,Y28,Y28,0
DO,上料工位1阻挡2下降,S1_StopCylinder2,9,PRO_AOI_IP_2,0,上料工位1阻挡2下降,Y630,Y630,0 DO,中间轨道反阻挡下降,M_RightStopCylinder,8,PRO_AOI_IP_2,0,中间轨道反阻挡下降,Y29,Y29,0
DO,上料工位1阻挡3下降,S1_StopCylinder3,10,PRO_AOI_IP_2,0,上料工位1阻挡3下降,Y631,Y631,0 DO,中间升降气缸上升,M_Updown_Up,9,PRO_AOI_IP_2,0,中间升降气缸上升,Y30,Y30,0
DO,上料工位1阻挡4下降,S1_StopCylinder4,11,PRO_AOI_IP_2,0,上料工位1阻挡4下降,Y632,Y632,0 DO,中间升降气缸下降,M_Updown_Down,10,PRO_AOI_IP_2,0,中间升降气缸下降,Y31,Y31,0
DO,上料工位2阻挡1下降,S2_StopCylinder1,12,PRO_AOI_IP_2,0,上料工位2阻挡1下降,Y633,Y633,0 DO,上料位前反阻挡下降,S1_StopCylinder1,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,Y32,0
DO,上料工位2阻挡2下降,S2_StopCylinder2,13,PRO_AOI_IP_2,0,上料工位2阻挡2下降,Y634,Y634,0 DO,上料位前正阻挡下降,S1_StopCylinder2,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
,,Y635,14,PRO_AOI_IP_2,0,,Y635,Y635,0 DO,上料位反定位阻挡下降,S1_StopCylinder3,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
,,Y636,15,PRO_AOI_IP_2,0,,Y636,Y636,0 DO,上料位正定位阻挡下降,S1_StopCylinder4,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
,,,,,,,,, DO,上料位后阻挡下降,S2_StopCylinder1,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
DI,右侧轨道左阻挡检测,R_LeftStopCheck,0,PRO_AOI_IP_3,0,右侧轨道左阻挡检测,X641,X641,0 ,,,,,,,,,
DI,右侧轨道右阻挡检测,R_RightStopCheck,1,PRO_AOI_IP_3,0,右侧轨道右阻挡检测,X642,X642,0 DI,右上层线体阻挡1检测,RHigh_StopCheck1,0,PRO_AOI_IP_3,0,右上层线体阻挡1检测,X41,X41,0
DI,右侧上层线体阻挡1检测,RHigh_StopCheck1,2,PRO_AOI_IP_3,0,右侧上层线体阻挡1检测,X643,X643,0 DI,右上层线体阻挡2检测,RHigh_StopCheck2,1,PRO_AOI_IP_3,0,右上层线体阻挡2检测,X42,X42,0
DI,右侧上层线体阻挡2检测,RHigh_StopCheck2,3,PRO_AOI_IP_3,0,右侧上层线体阻挡2检测,X644,X644,0 DI,左下层线体满料检测,LLow_FullCheck,2,PRO_AOI_IP_3,0,左下层线体满料检测,X43,X43,0
DI,左侧工作位横移平台下降端1,Left_Tranverse_Down_Sig1,4,PRO_AOI_IP_3,0,左侧工作位横移平台下降端1,X645,X645,0 DI,左上层线体满料检测,LHigh_FullCheck,3,PRO_AOI_IP_3,0,左上层线体满料检测,X44,X44,0
DI,左侧工作位横移平台下降端2,Left_Tranverse_Down_Sig2,5,PRO_AOI_IP_3,0,左侧工作位横移平台下降端2,X646,X646,0 DI,右上层线体满料检测,RHigh_FullCheck,4,PRO_AOI_IP_3,0,右上层线体满料检测,X45,X45,0
DI,左侧工作位横移平台上升端1,Left_Tranverse_Up_Sig1,6,PRO_AOI_IP_3,0,左侧缓存位横移平台上升端1,X647,X647,0 ,,,,,,,,,
DI,左侧工作位横移平台上升端2,Left_Tranverse_Up_Sig2,7,PRO_AOI_IP_3,0,左侧缓存位横移平台上升端2,X648,X648,0 DO,上料工位顶升上升,S1_TopCylinderUp,0,PRO_AOI_IP_3,0,上料工位顶升上升,Y41,Y41,0
,,,,,,,,, DO,上料工位顶升下降,S1_TopCylinderDown,1,PRO_AOI_IP_3,0,上料工位顶升下降,Y42,Y42,0
DO,上料工位1顶升上升SOL,S1_TopCylinderUp,0,PRO_AOI_IP_3,0,上料工位1顶升上升SOL,Y641,Y641,0 DO,右下层线体阻挡1下降,R_StopCylinder1,2,PRO_AOI_IP_3,0,右下层线体阻挡1下降,Y43,Y43,0
DO,上料工位1顶升下降SOL,S1_TopCylinderDown,1,PRO_AOI_IP_3,0,上料工位1顶升下降SOL,Y642,Y642,0 DO,右下层线体阻挡2下降,R_StopCylinder2,3,PRO_AOI_IP_3,0,右下层线体阻挡2下降,Y44,Y44,0
DO,上料工位2顶升上升SOL,S2_TopCylinderUp,2,PRO_AOI_IP_3,0,上料工位2顶升上升SOL,Y643,Y643,0 DO,右上层线体阻挡1下降,RHigh_StopCylinder1,4,PRO_AOI_IP_3,0,右上层线体阻挡1下降,Y45,Y45,0
DO,上料工位2顶升下降SOL,S2_TopCylinderDown,3,PRO_AOI_IP_3,0,上料工位2顶升下降SOL,Y644,Y644,0 DO,右上层线体阻挡2下降,RHigh_StopCylinder2,5,PRO_AOI_IP_3,0,右上层线体阻挡2下降,Y46,Y46,0
DO,上料工位1电机正转,S1_LineRun,4,PRO_AOI_IP_3,0,上料工位1电机正转,Y645,Y645,0 DO,右轨道入料阻挡下降,R_RightStopCylinder,6,PRO_AOI_IP_3,0,右轨道入料阻挡下降,Y47,Y47,0
DO,上料工位1电机反转,S1_LineBackRun,5,PRO_AOI_IP_3,0,上料工位1电机反转,Y646,Y646,0 DO,右轨道出料阻挡下降,R_LeftStopCylinder,7,PRO_AOI_IP_3,0,右轨道出料阻挡下降,Y48,Y48,0
DO,上料工位2电机正转,S2_LineRun,6,PRO_AOI_IP_3,0,上料工位2电机正转,Y647,Y647,0 DO,右升降气缸上升,R_Updown_Up,8,PRO_AOI_IP_3,0,右升降气缸上升,Y49,Y49,0
DO,上料工位2电机反转,S2_LineBackRun,7,PRO_AOI_IP_3,0,上料工位2电机反转,Y648,Y648,0 DO,右升降气缸下降,R_Updown_Down,9,PRO_AOI_IP_3,0,右升降气缸下降,Y50,Y50,0
DO,右侧出口轨道电机正转,R_OutLineRun,8,PRO_AOI_IP_3,0,右侧出口轨道电机正转,Y649,Y649,0 ,,Y51,10,PRO_AOI_IP_3,0,,Y51,Y51,0
DO,右侧出口轨道电机反转,R_OutLineBackRun,9,PRO_AOI_IP_3,0,右侧出口轨道电机反转,Y650,Y650,0 ,,Y52,11,PRO_AOI_IP_3,0,,Y52,Y52,0
DO,右侧下层电机正转,R_LineRun,10,PRO_AOI_IP_3,0,右侧下层电机正转,Y651,Y651,0 ,,Y53,12,PRO_AOI_IP_3,0,,Y53,Y53,0
DO,右侧上层电机正转,RHigh_LineRun,11,PRO_AOI_IP_3,0,右侧上层电机正转,Y652,Y652,0 ,,Y54,13,PRO_AOI_IP_3,0,,Y54,Y54,0
DO,右侧下层线体阻挡1SOL,R_StopCylinder1,12,PRO_AOI_IP_3,0,右侧下层线体阻挡1SOL,Y653,Y653,0 ,,Y55,14,PRO_AOI_IP_3,0,,Y55,Y55,0
DO,右侧下层线体阻挡2SOL,R_StopCylinder2,13,PRO_AOI_IP_3,0,右侧下层线体阻挡2SOL,Y654,Y654,0 ,,Y56,15,PRO_AOI_IP_3,0,,Y56,Y56,0
DO,右侧升降气缸上升SOL,R_Updown_Up,14,PRO_AOI_IP_3,0,右侧升降气缸上升SOL,Y655,Y655,0 ,,,,,,,,,
DO,右侧升降气缸下降SOL,R_Updown_Down,15,PRO_AOI_IP_3,0,右侧升降气缸下降SOL,Y656,Y656,0 ,,,,,,,,,
DO,右侧轨道左阻挡下降,R_LeftStopCylinder,16,PRO_AOI_IP_3,0,右侧轨道左阻挡下降,Y661,Y661,0 ,,,,,,,,,
,右侧轨道右阻挡下降,R_RightStopCylinder,17,PRO_AOI_IP_3,0,右侧轨道右阻挡下降,Y662,Y662,0 ,左侧缓存横移平台下降端1,Left_Buf_Tranverse_Down_Sig1,0,PRO_AOI_IP_8,0,左侧缓存横移平台下降端1,X801,X801,0
DO,右侧上层线体阻挡1下降,RHigh_StopCylinder1,18,PRO_AOI_IP_3,0,右侧上层线体阻挡1下降,Y663,Y663,0 ,左侧缓存横移平台下降端2,Left_Buf_Tranverse_Down_Sig2,1,PRO_AOI_IP_8,0,左侧缓存横移平台下降端2,X802,X802,0
DO,右侧上层线体阻挡2下降,RHigh_StopCylinder2,19,PRO_AOI_IP_3,0,右侧上层线体阻挡2下降,Y664,Y664,0 ,左侧缓存横移平台上升端1,Left_Buf_Tranverse_Up_Sig1,2,PRO_AOI_IP_8,0,左侧缓存横移平台上升端1,X803,X803,0
,,Y665,20,PRO_AOI_IP_3,0,,Y665,Y665,0 ,左侧缓存横移平台上升端2,Left_Buf_Tranverse_Up_Sig2,3,PRO_AOI_IP_8,0,左侧缓存横移平台上升端2,X804,X804,0
,,Y666,21,PRO_AOI_IP_3,0,,Y666,Y666,0 ,左侧横移物料检测(工作位),Left_Tranverse_Shelf_Sig,4,PRO_AOI_IP_8,0,左侧横移物料检测(工作位),X805,X805,0
,,Y667,22,PRO_AOI_IP_3,0,,Y667,Y667,0 ,左侧横移物料检测(缓存位),Left_Buf_Tranverse_Shelf_Sig,5,PRO_AOI_IP_8,0,左侧横移物料检测(缓存位),X806,X806,0
,,Y668,23,PRO_AOI_IP_3,0,,Y668,Y668,0 ,左侧横移到位检测(工作位),Left_Tranverse_InPosition_Sig,6,PRO_AOI_IP_8,0,左侧横移到位检测(工作位),X807,X807,0
,,,,,,,,, ,左侧横移到位检测(缓存位),Left_Buf_Tranverse_InPosition_Sig,7,PRO_AOI_IP_8,0,左侧横移到位检测(缓存位),X808,X808,0
,,,,,,,,, ,左侧缓存满杯物料检测,Left_Buf_Full_Shelf_Sig,8,PRO_AOI_IP_8,0,左侧缓存满杯物料检测,X809,X809,0
,,,,,,,,,
DI,包装线急停,Pkg_SuddenStop_BTN,0,PRO_AOI_IP_4,0,包装线急停,X701,X701,0
DI,包装线复位,Pkg_Reset,1,PRO_AOI_IP_4,0,包装线复位,X702,X702,0
DI,包装线入口检测1,Pkg_In_Check,2,PRO_AOI_IP_4,0,包装线入口检测1,X703,X703,0
DI,包装线阻挡检测1,Pkg_Stop_Check1,3,PRO_AOI_IP_4,0,包装线阻挡检测1,X704,X704,0
DI,包装线阻挡检测2,Pkg_Stop_Check2,4,PRO_AOI_IP_4,0,包装线阻挡检测2,X705,X705,0
DI,包装线顶升定位工位检测,Pkg_Station_Check,5,PRO_AOI_IP_4,0,包装线顶升定位工位检测,X706,X706,0
DI,包装线上料工位顶升上升端,Pkg_Station_Up,6,PRO_AOI_IP_4,0,包装线上料工位顶升上升端,X707,X707,0
DI,包装线上料工位顶升下降端,Pkg_Station_Down,7,PRO_AOI_IP_4,0,包装线上料工位顶升下降端,X708,X708,0
DI,包装线出口阻挡检测,Pkg_Out_Stop_Check,8,PRO_AOI_IP_4,0,包装线出口阻挡检测,X709,X709,0
DI,包装线ROBOT禁用检测,Pkg_Rotot_Forbidden_Check,9,PRO_AOI_IP_4,0,包装线ROBOT禁用检测,X710,X710,0
DI,包装线空架缓存检测,Pkg_Empty_Shelf_Check,10,PRO_AOI_IP_4,0,包装线空架缓存检测,X711,X711,0
,,,,,,,,,
DO,包装线运行状态(指示灯),Pkg_Status_Run,0,PRO_AOI_IP_4,0,包装线运行状态(指示灯),Y701,Y701,0
DO,包装线故障状态(指示灯),Pkg_Status_Warnning,1,PRO_AOI_IP_4,0,包装线故障状态(指示灯),Y702,Y702,0
DO,包装线阻挡1下降,Pkg_Stop1_Down,2,PRO_AOI_IP_4,0,包装线阻挡1下降,Y703,Y703,0
DO,包装线阻挡2下降,Pkg_Stop2_Down,3,PRO_AOI_IP_4,0,包装线阻挡2下降,Y704,Y704,0
DO,包装线阻挡3下降,Pkg_Stop3_Down,4,PRO_AOI_IP_4,0,包装线阻挡3下降,Y705,Y705,0
DO,包装线顶升定位工位阻档下降,Pkg_Station_Stop_Down,5,PRO_AOI_IP_4,0,包装线顶升定位工位阻档下降,Y706,Y706,0
DO,包装线出口阻挡下降,Pkg_Out_Stop_Down,6,PRO_AOI_IP_4,0,包装线出口阻挡下降,Y707,Y707,0
DO,包装线上料工位顶升上升SOL,Pkg_Station_SOL_UP,7,PRO_AOI_IP_4,0,包装线上料工位顶升上升SOL,Y708,Y708,0
DO,包装线上料工位顶升下降SOL,Pkg_Station_SOL_Down,8,PRO_AOI_IP_4,0,包装线上料工位顶升下降SOL,Y709,Y709,0
DO,包装线驱动电机1正转,Pkg_Line1_Forward,9,PRO_AOI_IP_4,0,包装线驱动电机1正转,Y710,Y710,0
DO,包装线驱动电机2正转,Pkg_Line2_Forward,10,PRO_AOI_IP_4,0,包装线驱动电机2正转,Y711,Y711,0
DO,包装线驱动电机2反转,Pkg_Line2_Backward,11,PRO_AOI_IP_4,0,包装线驱动电机2反转,Y712,Y712,0
DO,包装线驱动电机3正转,Pkg_Line3_Forward,12,PRO_AOI_IP_4,0,包装线驱动电机3正转,Y713,Y713,0
DO,包装线驱动电机3反转,Pkg_Line3_Backward,13,PRO_AOI_IP_4,0,包装线驱动电机3反转,Y714,Y714,0
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,皮带线3出口料盘检测,X670,0,PRO_AOI_IP_6,0,皮带线3出口料盘检测,X670,X670,0
,分盘装置1定位气缸上升端,X671,1,PRO_AOI_IP_6,0,分盘装置1定位气缸上升端,X671,X671,0
,分盘装置1定位气缸下降端,X672,2,PRO_AOI_IP_6,0,分盘装置1定位气缸下降端,X672,X672,0
DI,分盘装置1料盘检测_ABB2,ABB2_TrayCheck,3,PRO_AOI_IP_6,0,分盘装置1料盘检测,X673,X673,0
,分盘装置电机1驱动,Y670,4,PRO_AOI_IP_6,0,分盘装置电机1驱动,Y670,Y670,0
,分盘装置1定位气缸上升SOL,Y671,5,PRO_AOI_IP_6,0,分盘装置1定位气缸上升SOL,Y671,Y671,0
,分盘装置1定位气缸下降SOL,Y672,6,PRO_AOI_IP_6,0,分盘装置1定位气缸下降SOL,Y672,Y672,0
,,,7,PRO_AOI_IP_6,0,,,,0
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,皮带线6出口料盘检测,X641,0,PRO_AOI_IP_7,0,皮带线6出口料盘检测,X680,X641,0
,分盘装置2定位气缸上升端,X681,1,PRO_AOI_IP_7,0,分盘装置2定位气缸上升端,X681,X642,0
,分盘装置2定位气缸下降端,X682,2,PRO_AOI_IP_7,0,分盘装置2定位气缸下降端,X682,X643,0
DI,分盘装置2料盘检测_ABB1,ABB1_TrayCheck,3,PRO_AOI_IP_7,0,分盘装置2料盘检测,X683,X683,0
,分盘装置电机1驱动,Y680,4,PRO_AOI_IP_7,0,分盘装置电机1驱动,Y680,X645,0
,分盘装置2定位气缸上升SOL,Y681,5,PRO_AOI_IP_7,0,分盘装置2定位气缸上升SOL,Y681,X646,0
,分盘装置2定位气缸下降SOL,Y682,6,PRO_AOI_IP_7,0,分盘装置2定位气缸下降SOL,Y682,X647,0
,,,7,PRO_AOI_IP_7,0,,,X648,0
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
DI,左侧缓存横移平台下降端1,Left_Buf_Tranverse_Down_Sig1,0,PRO_AOI_IP_8,0,左侧缓存横移平台下降端1,X801,X801,0
DI,左侧缓存横移平台下降端2,Left_Buf_Tranverse_Down_Sig2,1,PRO_AOI_IP_8,0,左侧缓存横移平台下降端2,X802,X802,0
DI,左侧缓存横移平台上升端1,Left_Buf_Tranverse_Up_Sig1,2,PRO_AOI_IP_8,0,左侧缓存横移平台上升端1,X803,X803,0
DI,左侧缓存横移平台上升端2,Left_Buf_Tranverse_Up_Sig2,3,PRO_AOI_IP_8,0,左侧缓存横移平台上升端2,X804,X804,0
DI,左侧横移物料检测(工作位),Left_Tranverse_Shelf_Sig,4,PRO_AOI_IP_8,0,左侧横移物料检测(工作位),X805,X805,0
DI,左侧横移物料检测(缓存位),Left_Buf_Tranverse_Shelf_Sig,5,PRO_AOI_IP_8,0,左侧横移物料检测(缓存位),X806,X806,0
DI,左侧横移到位检测(工作位),Left_Tranverse_InPosition_Sig,6,PRO_AOI_IP_8,0,左侧横移到位检测(工作位),X807,X807,0
DI,左侧横移到位检测(缓存位),Left_Buf_Tranverse_InPosition_Sig,7,PRO_AOI_IP_8,0,左侧横移到位检测(缓存位),X808,X808,0
DI,左侧缓存满杯物料检测,Left_Buf_Full_Shelf_Sig,8,PRO_AOI_IP_8,0,左侧缓存满杯物料检测,X809,X809,0
,,,9,PRO_AOI_IP_8,0,,X810,X810,0 ,,,9,PRO_AOI_IP_8,0,,X810,X810,0
DI,右侧工作位横移平台下降端1,Right_Tranverse_Down_Sig1,10,PRO_AOI_IP_8,0,右侧工作位横移平台下降端1,X811,X811,0 ,右侧工作位横移平台下降端1,Right_Tranverse_Down_Sig1,10,PRO_AOI_IP_8,0,右侧工作位横移平台下降端1,X811,X811,0
DI,右侧工作位横移平台下降端2,Right_Tranverse_Down_Sig2,11,PRO_AOI_IP_8,0,右侧工作位横移平台下降端2,X812,X812,0 ,右侧工作位横移平台下降端2,Right_Tranverse_Down_Sig2,11,PRO_AOI_IP_8,0,右侧工作位横移平台下降端2,X812,X812,0
DI,右侧工作位横移平台上升端1,Right_Tranverse_Up_Sig1,12,PRO_AOI_IP_8,0,右侧工作位横移平台上升端1,X813,X813,0 ,右侧工作位横移平台上升端1,Right_Tranverse_Up_Sig1,12,PRO_AOI_IP_8,0,右侧工作位横移平台上升端1,X813,X813,0
DI,右侧工作位横移平台上升端2,Right_Tranverse_Up_Sig2,13,PRO_AOI_IP_8,0,右侧工作位横移平台上升端2,X814,X814,0 ,右侧工作位横移平台上升端2,Right_Tranverse_Up_Sig2,13,PRO_AOI_IP_8,0,右侧工作位横移平台上升端2,X814,X814,0
DI,右侧缓存横移平台下降端1,Right_Buf_Tranverse_Down_Sig1,14,PRO_AOI_IP_8,0,右侧缓存横移平台下降端1,X815,X815,0 ,右侧缓存横移平台下降端1,Right_Buf_Tranverse_Down_Sig1,14,PRO_AOI_IP_8,0,右侧缓存横移平台下降端1,X815,X815,0
DI,右侧缓存横移平台下降端2,Right_Buf_Tranverse_Down_Sig2,15,PRO_AOI_IP_8,0,右侧缓存横移平台下降端2,X816,X816,0 ,右侧缓存横移平台下降端2,Right_Buf_Tranverse_Down_Sig2,15,PRO_AOI_IP_8,0,右侧缓存横移平台下降端2,X816,X816,0
DO,左侧横移平台下降SOL,Left_Tranverse_Down,0,PRO_AOI_IP_8,0,左侧横移平台下降SOL,Y801,Y801,0 ,左侧横移平台下降SOL,Left_Tranverse_Down,0,PRO_AOI_IP_8,0,左侧横移平台下降SOL,Y801,Y801,0
DO,左侧横移平台上升SOL,Left_Tranverse_Up,1,PRO_AOI_IP_8,0,左侧横移平台上升SOL,Y802,Y802,0 ,左侧横移平台上升SOL,Left_Tranverse_Up,1,PRO_AOI_IP_8,0,左侧横移平台上升SOL,Y802,Y802,0
DO,左侧工作位横移平台物料阻挡SOL,Left_Tranverse_StopDown,2,PRO_AOI_IP_8,0,左侧工作位横移平台物料阻挡SOL,Y803,Y803,0 ,左侧工作位横移平台物料阻挡SOL,Left_Tranverse_StopDown,2,PRO_AOI_IP_8,0,左侧工作位横移平台物料阻挡SOL,Y803,Y803,0
DO,左侧缓存线阻挡(近横移平台侧)SOL,Left_Buf_Near_StopDown,3,PRO_AOI_IP_8,0,左侧缓存线阻挡(近横移平台侧)SOL,Y804,Y804,0 ,左侧缓存线阻挡(近横移平台侧)SOL,Left_Buf_Near_StopDown,3,PRO_AOI_IP_8,0,左侧缓存线阻挡(近横移平台侧)SOL,Y804,Y804,0
DO,左侧缓存线阻挡(远横移平台侧)SOL,Left_Buf_Far_StopDown,4,PRO_AOI_IP_8,0,左侧缓存线阻挡(远横移平台侧)SOL,Y805,Y805,0 ,左侧缓存线阻挡(远横移平台侧)SOL,Left_Buf_Far_StopDown,4,PRO_AOI_IP_8,0,左侧缓存线阻挡(远横移平台侧)SOL,Y805,Y805,0
DO,左侧缓冲气缸SOL,Left_Buf_Out_StopDown,5,PRO_AOI_IP_8,0,左侧缓冲气缸SOL,Y806,Y806,0 ,左侧缓冲气缸SOL,Left_Buf_Out_StopDown,5,PRO_AOI_IP_8,0,左侧缓冲气缸SOL,Y806,Y806,0
,,,6,PRO_AOI_IP_8,0,,Y807,Y807,0 ,,,6,PRO_AOI_IP_8,0,,Y807,Y807,0
DO,左侧横移电机1、2正转,Left_Tranverse_Run,7,PRO_AOI_IP_8,0,左侧横移电机1、2正转,Y808,Y808,0 ,左侧横移电机1、2正转,Left_Tranverse_Run,7,PRO_AOI_IP_8,0,左侧横移电机1、2正转,Y808,Y808,0
DO,左侧横移电机1、2反转,Left_Tranverse_BackRun,8,PRO_AOI_IP_8,0,左侧横移电机1、2反转,Y809,Y809,0 ,左侧横移电机1、2反转,Left_Tranverse_BackRun,8,PRO_AOI_IP_8,0,左侧横移电机1、2反转,Y809,Y809,0
DO,左侧缓存线电机1、2正转,Left_Buf_Run,9,PRO_AOI_IP_8,0,左侧缓存线电机1、2正转,Y810,Y810,0 ,左侧缓存线电机1、2正转,Left_Buf_Run,9,PRO_AOI_IP_8,0,左侧缓存线电机1、2正转,Y810,Y810,0
DO,左侧缓存线电机1、2反转,Left_Buf_BackRun,10,PRO_AOI_IP_8,0,左侧缓存线电机1、2反转,Y811,Y811,0 ,左侧缓存线电机1、2反转,Left_Buf_BackRun,10,PRO_AOI_IP_8,0,左侧缓存线电机1、2反转,Y811,Y811,0
,,,11,PRO_AOI_IP_8,0,,Y812,Y812,0 ,,,11,PRO_AOI_IP_8,0,,Y812,Y812,0
DO,右侧横移平台下降SOL,Right_Tranverse_Down,12,PRO_AOI_IP_8,0,右侧横移平台下降SOL,Y813,Y813,0 ,右侧横移平台下降SOL,Right_Tranverse_Down,12,PRO_AOI_IP_8,0,右侧横移平台下降SOL,Y813,Y813,0
DO,右侧横移平台上升SOL,Right_Tranverse_Up,13,PRO_AOI_IP_8,0,右侧横移平台上升SOL,Y814,Y814,0 ,右侧横移平台上升SOL,Right_Tranverse_Up,13,PRO_AOI_IP_8,0,右侧横移平台上升SOL,Y814,Y814,0
DO,右侧工作位横移平台物料阻挡SOL,Right_Tranverse_StopDown,14,PRO_AOI_IP_8,0,右侧工作位横移平台物料阻挡SOL,Y815,Y815,0 ,右侧工作位横移平台物料阻挡SOL,Right_Tranverse_StopDown,14,PRO_AOI_IP_8,0,右侧工作位横移平台物料阻挡SOL,Y815,Y815,0
DO,右侧缓存线阻挡(近横移平台侧)SOL,Right_Buf_Near_StopDown,15,PRO_AOI_IP_8,0,右侧缓存线阻挡(近横移平台侧)SOL,Y816,Y816,0 ,右侧缓存线阻挡(近横移平台侧)SOL,Right_Buf_Near_StopDown,15,PRO_AOI_IP_8,0,右侧缓存线阻挡(近横移平台侧)SOL,Y816,Y816,0
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
DI,右侧缓存位横移平台上升端1,Right_Buf_Tranverse_Up_Sig1,0,PRO_AOI_IP_9,0,右侧缓存位横移平台上升端1,X817,X817,0 ,右侧缓存位横移平台上升端1,Right_Buf_Tranverse_Up_Sig1,0,PRO_AOI_IP_9,0,右侧缓存位横移平台上升端1,X817,X817,0
DI,右侧缓存位横移平台上升端2,Right_Buf_Tranverse_Up_Sig2,1,PRO_AOI_IP_9,0,右侧缓存位横移平台上升端2,X818,X818,0 ,右侧缓存位横移平台上升端2,Right_Buf_Tranverse_Up_Sig2,1,PRO_AOI_IP_9,0,右侧缓存位横移平台上升端2,X818,X818,0
DI,右侧横移物料检测(工作位),Right_Tranverse_Shelf_Sig,2,PRO_AOI_IP_9,0,右侧横移物料检测(工作位),X819,X819,0 ,右侧横移物料检测(工作位),Right_Tranverse_Shelf_Sig,2,PRO_AOI_IP_9,0,右侧横移物料检测(工作位),X819,X819,0
DI,右侧横移物料检测(缓存位),Right_Buf_Tranverse_Shelf_Sig,3,PRO_AOI_IP_9,0,右侧横移物料检测(缓存位),X820,X820,0 ,右侧横移物料检测(缓存位),Right_Buf_Tranverse_Shelf_Sig,3,PRO_AOI_IP_9,0,右侧横移物料检测(缓存位),X820,X820,0
DI,右侧横移到位检测(工作位),Right_Tranverse_InPosition_Sig,4,PRO_AOI_IP_9,0,右侧横移到位检测(工作位),X821,X821,0 ,右侧横移到位检测(工作位),Right_Tranverse_InPosition_Sig,4,PRO_AOI_IP_9,0,右侧横移到位检测(工作位),X821,X821,0
DI,右侧横移到位检测(缓存位),Right_Buf_Tranverse_InPosition_Sig,5,PRO_AOI_IP_9,0,右侧横移到位检测(缓存位),X822,X822,0 ,右侧横移到位检测(缓存位),Right_Buf_Tranverse_InPosition_Sig,5,PRO_AOI_IP_9,0,右侧横移到位检测(缓存位),X822,X822,0
DI,右侧缓存满杯物料检测,Right_Buf_Full_Shelf_Sig,6,PRO_AOI_IP_9,0,右侧缓存满杯物料检测,X823,X823,0 ,右侧缓存满杯物料检测,Right_Buf_Full_Shelf_Sig,6,PRO_AOI_IP_9,0,右侧缓存满杯物料检测,X823,X823,0
,,,7,PRO_AOI_IP_9,0,,X824,X824,0 ,,,7,PRO_AOI_IP_9,0,,X824,X824,0
,,,,,,,,, ,,,,,,,,,
DO,右侧缓存线阻挡(远横移平台侧)SOL,Right_Buf_Far_StopDown,0,PRO_AOI_IP_9,0,右侧缓存线阻挡(远横移平台侧)SOL,Y817,Y817,0 ,右侧缓存线阻挡(远横移平台侧)SOL,Right_Buf_Far_StopDown,0,PRO_AOI_IP_9,0,右侧缓存线阻挡(远横移平台侧)SOL,Y817,Y817,0
DO,右侧缓冲气缸SOL,Right_Buf_Out_StopDown,1,PRO_AOI_IP_9,0,右侧缓冲气缸SOL,Y818,Y818,0 ,右侧缓冲气缸SOL,Right_Buf_Out_StopDown,1,PRO_AOI_IP_9,0,右侧缓冲气缸SOL,Y818,Y818,0
,,,2,PRO_AOI_IP_9,0,,Y819,Y819,0 ,,,2,PRO_AOI_IP_9,0,,Y819,Y819,0
DO,右侧横移电机1、2正转,Right_Tranverse_Run,3,PRO_AOI_IP_9,0,右侧横移电机1、2正转,Y820,Y820,0 ,右侧横移电机1、2正转,Right_Tranverse_Run,3,PRO_AOI_IP_9,0,右侧横移电机1、2正转,Y820,Y820,0
DO,右侧横移电机1、2反转,Right_Tranverse_BackRun,4,PRO_AOI_IP_9,0,右侧横移电机1、2反转,Y821,Y821,0 ,右侧横移电机1、2反转,Right_Tranverse_BackRun,4,PRO_AOI_IP_9,0,右侧横移电机1、2反转,Y821,Y821,0
DO,右侧缓存线电机1、2正转,Right_Buf_Run,5,PRO_AOI_IP_9,0,右侧缓存线电机1、2正转,Y822,Y822,0 ,右侧缓存线电机1、2正转,Right_Buf_Run,5,PRO_AOI_IP_9,0,右侧缓存线电机1、2正转,Y822,Y822,0
DO,右侧缓存线电机1、2反转,Right_Buf_BackRun,6,PRO_AOI_IP_9,0,右侧缓存线电机1、2反转,Y823,Y823,0 ,右侧缓存线电机1、2反转,Right_Buf_BackRun,6,PRO_AOI_IP_9,0,右侧缓存线电机1、2反转,Y823,Y823,0
,,,7,PRO_AOI_IP_9,0,,Y824,Y824,0 ,,,7,PRO_AOI_IP_9,0,,Y824,Y824,0
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,ABB机器人1IP,ABB1_IP,192.168.103.51,,,,,, PRO,ABB机器人1IP,ABB1_IP,192.168.103.51,,,,,,
PRO,ABB机器人2IP,ABB2_IP,192.168.103.52,,,,,, PRO,ABB机器人2IP,ABB2_IP,192.168.103.52,,,,,,
PRO,ABB机器人3IP,ABB3_IP,192.168.103.53,,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,双层线左侧提升机,L_Updown_Rfid,192.168.103.101,,,,,, PRO,双层线左侧提升机,L_Updown_Rfid,192.168.103.101,,,,,,
PRO,双层线中间提升机,M_Updown_Rfid,192.168.103.102,,,,,, PRO,双层线中间提升机,M_Updown_Rfid,192.168.103.102,,,,,,
PRO,双层线上料工位1,S1_Rfid,192.168.103.103,,,,,, PRO,双层线上料工位1,S1_Rfid,192.168.103.103,,,,,,
PRO,双层线上料工位2,S2_Rfid,192.168.103.104,,,,,,
PRO,双层线右侧提升机,R_Updown_Rfid,192.168.103.105,,,,,, PRO,双层线右侧提升机,R_Updown_Rfid,192.168.103.105,,,,,,
PRO,包装线RFID,Pkg_Rfid,192.168.103.106,,,,,,
PRO,双层线上层右侧RFID,RHigh_Rfid,192.168.103.109,,,,,, PRO,双层线上层右侧RFID,RHigh_Rfid,192.168.103.109,,,,,,
using ABB.Robotics.Controllers; using ABB.Robotics.Controllers;
using ABB.Robotics.Controllers.Discovery; using ABB.Robotics.Controllers.Discovery;
using ABB.Robotics.Controllers.IOSystemDomain; using ABB.Robotics.Controllers.IOSystemDomain;
using ABB.Robotics.Controllers.RapidDomain;
using OnlineStore.Common; using OnlineStore.Common;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -14,7 +13,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -14,7 +13,7 @@ namespace OnlineStore.DeviceLibrary
{ {
public class ABBControl public class ABBControl
{ {
public static int DefaultSpeed = ConfigAppSettings.GetIntValue(Setting_Init.DefaultSpeed); public static int DefaultSpeed = ConfigAppSettings.GetIntValue(Setting_Init.DefaultSpeed);
public static string DI_Start = "di_start";//启动程序 public static string DI_Start = "di_start";//启动程序
public static string DI_Stop = "di_stop";//停止程序 public static string DI_Stop = "di_stop";//停止程序
public static string DO_ES = "do_ES";//急停状态 public static string DO_ES = "do_ES";//急停状态
...@@ -368,7 +367,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -368,7 +367,7 @@ namespace OnlineStore.DeviceLibrary
ErrorInfo = msg; ErrorInfo = msg;
} }
else if ((!preCmd.Equals("")) && msg.Contains(preCmd)) else if ((!preCmd.Equals("")) && msg.Contains(preCmd))
{ {
if (msg.Contains(OkStr)) if (msg.Contains(OkStr))
{ {
UpdateAbbCmd(add, ""); UpdateAbbCmd(add, "");
...@@ -391,7 +390,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -391,7 +390,7 @@ namespace OnlineStore.DeviceLibrary
//} //}
else if (msg.Contains(OkStr)) else if (msg.Contains(OkStr))
{ {
LogUtil.info("Revice[" + add + "]:[" + msg + "] 未找到相关处理,preCmd="+preCmd); LogUtil.info("Revice[" + add + "]:[" + msg + "] 未找到相关处理,preCmd=" + preCmd);
//OnCmdEnd?.Invoke(add, msg); //OnCmdEnd?.Invoke(add, msg);
} }
return false; return false;
...@@ -411,7 +410,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -411,7 +410,7 @@ namespace OnlineStore.DeviceLibrary
{ } { }
else else
{ {
LogUtil.error ("Send [" + robotIp + "] : [" + str + "] 失败,命令无效"); LogUtil.error("Send [" + robotIp + "] : [" + str + "] 失败,命令无效");
return false; return false;
} }
Client client = null; Client client = null;
...@@ -437,9 +436,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -437,9 +436,9 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error("Send [" + robotIp + "] : [" + str + "] 失败,客户端未连接"); LogUtil.error("Send [" + robotIp + "] : [" + str + "] 失败,客户端未连接");
} }
return false; return false;
} }
private static void UpdateAbbCmd(string robotIp, string moveCmd) private static void UpdateAbbCmd(string robotIp, string moveCmd)
{ {
if (AbbCurrCmd.ContainsKey(robotIp)) if (AbbCurrCmd.ContainsKey(robotIp))
{ {
AbbCurrCmd.Remove(robotIp); AbbCurrCmd.Remove(robotIp);
...@@ -470,8 +469,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -470,8 +469,8 @@ namespace OnlineStore.DeviceLibrary
#region 连续动作 #region 连续动作
public static bool IsAutoMove = false; public static bool IsAutoMove = false;
public static string LastAutoP = ""; public static string LastAutoP = "";
public static void StartConMove(string ip, List<string> movePList, string mType = "L", string getp = "p1", int speed = 0) public static void StartConMove(string ip, List<string> movePList, string mType = "L", string getp = "p1", int speed = 0)
{ {
if (speed <= 0) if (speed <= 0)
...@@ -587,7 +586,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -587,7 +586,7 @@ namespace OnlineStore.DeviceLibrary
} }
return ""; return "";
} }
private static void SaveLastCmd(string ip, string cmd) private static void SaveLastCmd(string ip, string cmd)
{ {
try try
{ {
...@@ -604,11 +603,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -604,11 +603,11 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.error("SaveLastCmd[" + ip + "][" + cmd + "]error :" + ex.ToString()); LogUtil.error("SaveLastCmd[" + ip + "][" + cmd + "]error :" + ex.ToString());
} }
} }
#endregion #endregion
} }
#endregion #endregion
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
using Asa; using Asa;
using OnlineStore.Common; using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary; using OnlineStore.LoadCSVLibrary;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
...@@ -11,14 +11,14 @@ using System.Threading; ...@@ -11,14 +11,14 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
public partial class DoubleLineBean:RobotBase public partial class DoubleLineBean : RobotBase
{ {
public DoubleLineConfig Config; public DoubleLineConfig Config;
public RunStatus runStatus = RunStatus.Wait; public RunStatus runStatus = RunStatus.Wait;
public List<string> RfidIpList = new List<string>(); public List<string> RfidIpList = new List<string>();
public RobotMoveBean LeftRobot = null; public RobotMoveBean LeftRobot = null;
public RobotMoveBean RightRobot = null; public RobotMoveBean RightRobot = null;
public LineMoveInfo SOneMoveInfo = null; public LineMoveInfo SOneMoveInfo = null;
public DoubleLineBean(DoubleLineConfig config) : base(config) public DoubleLineBean(DoubleLineConfig config) : base(config)
...@@ -28,8 +28,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -28,8 +28,8 @@ namespace OnlineStore.DeviceLibrary
mainTimer.Elapsed += timersTimer_Elapsed; mainTimer.Elapsed += timersTimer_Elapsed;
ledTimer.Elapsed += Led_timer_Tick; ledTimer.Elapsed += Led_timer_Tick;
LeftRobot = new RobotMoveBean(2, config.ABB2_IP, "左侧ABB", IO_Type.ABB2_TrayCheck); LeftRobot = new RobotMoveBean(1, config.ABB1_IP, "左侧ABB", IO_Type.ABB1_TrayCheck);
RightRobot = new RobotMoveBean(1, config.ABB1_IP, "右侧ABB", IO_Type.ABB1_TrayCheck); RightRobot = new RobotMoveBean(2, config.ABB2_IP, "右侧ABB", IO_Type.ABB2_TrayCheck);
//添加调试 //添加调试
IsDebug = ConfigAppSettings.GetIntValue(Setting_Init.IsInDebug).Equals(1); IsDebug = ConfigAppSettings.GetIntValue(Setting_Init.IsInDebug).Equals(1);
...@@ -45,14 +45,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -45,14 +45,14 @@ namespace OnlineStore.DeviceLibrary
if (isAuto == 1) if (isAuto == 1)
{ {
mainTimer.Enabled = true; mainTimer.Enabled = true;
} }
RfidIpList = new List<string>(){ RfidIpList = new List<string>(){
config.L_Updown_Rfid, config.L_Updown_Rfid,
config.M_Updown_Rfid, config.M_Updown_Rfid,
config.R_Updown_Rfid, config.R_Updown_Rfid,
config.S1_Rfid, config.S1_Rfid,
config.S2_Rfid, //config.S2_Rfid,
config.Pkg_Rfid, //config.Pkg_Rfid,
config.RHigh_Rfid config.RHigh_Rfid
}; };
//benQ_AGV = new BenQ_AGV(); //benQ_AGV = new BenQ_AGV();
...@@ -70,11 +70,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -70,11 +70,11 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.info(Name + "开始启动,启动时间:" + DateTime.Now); LogUtil.info(Name + "开始启动,启动时间:" + DateTime.Now);
WarnMsg = ""; WarnMsg = "";
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH) ) if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
{ {
if (ABBControl.GetControllerByIP(Config.ABB1_IP) == null) if (ABBControl.GetControllerByIP(Config.ABB1_IP) == null)
{ {
SetWarnMsg("启动失败:机器人["+Config.ABB1_IP+"]加载失败"); SetWarnMsg("启动失败:机器人[" + Config.ABB1_IP + "]加载失败");
return false; return false;
} }
if (ABBControl.GetControllerByIP(Config.ABB2_IP) == null) if (ABBControl.GetControllerByIP(Config.ABB2_IP) == null)
...@@ -82,16 +82,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -82,16 +82,16 @@ namespace OnlineStore.DeviceLibrary
SetWarnMsg("启动失败:机器人[" + Config.ABB2_IP + "]加载失败"); SetWarnMsg("启动失败:机器人[" + Config.ABB2_IP + "]加载失败");
return false; return false;
} }
if (ABBControl.GetControllerByIP(Config.ABB3_IP) == null) //if (ABBControl.GetControllerByIP(Config.ABB3_IP) == null)
{ //{
SetWarnMsg("启动失败:机器人[" + Config.ABB3_IP + "]加载失败"); // SetWarnMsg("启动失败:机器人[" + Config.ABB3_IP + "]加载失败");
return false; // return false;
} //}
S1_RightShelfId = ""; S1_RightShelfId = "";
S1_CurrShelfId = ""; S1_CurrShelfId = "";
S1_LeftShelfId = ""; S1_LeftShelfId = "";
RealRfidMap = new Dictionary<string, string>(); RealRfidMap = new Dictionary<string, string>();
mainTimer.Enabled = false ; mainTimer.Enabled = false;
// AgvClient.SetCancelState(false); // AgvClient.SetCancelState(false);
RFIDManager.Open(RfidIpList.ToArray()); RFIDManager.Open(RfidIpList.ToArray());
runStatus = RunStatus.HomeMoving; runStatus = RunStatus.HomeMoving;
...@@ -100,17 +100,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -100,17 +100,17 @@ namespace OnlineStore.DeviceLibrary
ReturnHome(); ReturnHome();
return true; return true;
} }
//else if (IOValue(IO_Type.AirCheck).Equals(IO_VALUE.LOW)) //else if (IOValue(IO_Type.AirCheck).Equals(IO_VALUE.LOW))
//{ //{
// SetWarnMsg("启动失败:气压未开"); // SetWarnMsg("启动失败:气压未开");
//} //}
else else
{ {
SetWarnMsg("启动失败:急停未开"); SetWarnMsg("启动失败:急停未开");
} }
return false; return false;
} }
...@@ -131,7 +131,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -131,7 +131,7 @@ namespace OnlineStore.DeviceLibrary
//清理RFID //清理RFID
RFIDManager.ReadRFID(Config.L_Updown_Rfid, true); RFIDManager.ReadRFID(Config.L_Updown_Rfid, true);
RFIDManager.ReadRFID(Config.S1_Rfid, true); RFIDManager.ReadRFID(Config.S1_Rfid, true);
LeftRobot.Reset(); LeftRobot.Reset();
RightRobot.Reset(); RightRobot.Reset();
SOneMoveInfo.EndMove(); SOneMoveInfo.EndMove();
...@@ -139,7 +139,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -139,7 +139,7 @@ namespace OnlineStore.DeviceLibrary
ResetStopMove(); ResetStopMove();
//工位顶升下降 //工位顶升下降
CylinderMove(MoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown); CylinderMove(MoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
CylinderMove(MoveInfo, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown); //CylinderMove(MoveInfo, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown);
mainTimer.Enabled = true; mainTimer.Enabled = true;
ledTimer.Enabled = true; ledTimer.Enabled = true;
...@@ -165,19 +165,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -165,19 +165,18 @@ namespace OnlineStore.DeviceLibrary
IO_VALUE value = IO_VALUE.LOW; IO_VALUE value = IO_VALUE.LOW;
CheckAndMove(IO_Type.Line_StopCylinder, value); CheckAndMove(IO_Type.Line_StopCylinder, value);
// IOMove(IO_Type.LLow_StopCylinder1, value); CheckAndMove(IO_Type.LLow_StopCylinder1, value);
CheckAndMove(IO_Type.LLow_StopCylinder2, value); CheckAndMove(IO_Type.LLow_StopCylinder2, value);
CheckAndMove(IO_Type.LLow_StopCylinder3, value);
// IOMove(IO_Type.LHigh_StopCylinder1, value); CheckAndMove(IO_Type.LHigh_StopCylinder1, value);
CheckAndMove(IO_Type.LHigh_StopCylinder2, value); CheckAndMove(IO_Type.LHigh_StopCylinder2, value);
CheckAndMove(IO_Type.LHigh_StopCylinder3, value);
CheckAndMove(IO_Type.M_LeftStopCylinder, value); CheckAndMove(IO_Type.M_LeftStopCylinder, value);
CheckAndMove(IO_Type.S1_StopCylinder1, value); CheckAndMove(IO_Type.S1_StopCylinder1, value);
CheckAndMove(IO_Type.S1_StopCylinder2, value); CheckAndMove(IO_Type.S1_StopCylinder2, value);
CheckAndMove(IO_Type.S2_StopCylinder1, value); CheckAndMove(IO_Type.S2_StopCylinder1, value);
} }
public void AllLineMove(IO_VALUE value, LineMoveInfo moveInfo = null) public void AllLineMove(IO_VALUE value, LineMoveInfo moveInfo = null)
...@@ -194,27 +193,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -194,27 +193,27 @@ namespace OnlineStore.DeviceLibrary
{ {
S1LineStop(); S1LineStop();
} }
if (value.Equals(IO_VALUE.HIGH)) //if (value.Equals(IO_VALUE.HIGH))
{ //{
S2LineRun(); // S2LineRun();
} //}
else //else
{ //{
S2LineStop(); // S2LineStop();
} //}
} }
public override void Reset() public override void Reset()
{ {
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH) ) if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
{ {
mainTimer.Enabled = false; mainTimer.Enabled = false;
runStatus = RunStatus.Reset; runStatus = RunStatus.Reset;
MoveInfo.NewMove(LineMoveType.StoreReset); MoveInfo.NewMove(LineMoveType.StoreReset);
ReturnHome(); ReturnHome();
LineManager.packageLine.Reset(); LineManager.packageLine.Reset();
} }
//else if (IOValue(IO_Type.AirCheck).Equals(IO_VALUE.LOW)) //else if (IOValue(IO_Type.AirCheck).Equals(IO_VALUE.LOW))
//{ //{
...@@ -246,7 +245,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -246,7 +245,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
AllLineMove(IO_VALUE.HIGH); AllLineMove(IO_VALUE.HIGH);
break; break;
case MoveStep.H02_LineRun: case MoveStep.H02_LineRun:
MoveInfo.NextMoveStep(MoveStep.H03_UpoownDown); MoveInfo.NextMoveStep(MoveStep.H03_UpoownDown);
LogUtil.info(Name + " 复位:停止线体,提升机下降"); LogUtil.info(Name + " 复位:停止线体,提升机下降");
...@@ -262,16 +261,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -262,16 +261,16 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + " 复位:中间提升机有料架,转动料架到S1左侧"); LogUtil.info(Name + " 复位:中间提升机有料架,转动料架到S1左侧");
IOMove(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW); CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH); CheckAndMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH); CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH);
S1LineRun(MoveInfo); S1LineRun(MoveInfo);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck1, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck1, IO_VALUE.HIGH));
} }
else else
{ {
LogUtil.info(Name + " 复位完成,"); LogUtil.info(Name + " 复位完成,");
MoveInfo.EndMove(); MoveInfo.EndMove();
runStatus = RunStatus.Runing; runStatus = RunStatus.Runing;
...@@ -279,14 +278,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -279,14 +278,14 @@ namespace OnlineStore.DeviceLibrary
break; break;
case MoveStep.H04_MStopDown: case MoveStep.H04_MStopDown:
MoveInfo.NextMoveStep(MoveStep.H05_MShlefToLeft); MoveInfo.NextMoveStep(MoveStep.H05_MShlefToLeft);
LogUtil.info(Name + " 复位:中间提升机有料架,等待料架到达S1左侧"); LogUtil.info(Name + " 复位:中间提升机有料架,等待料架到达S1左侧");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); 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.S1_StopCheck1, IO_VALUE.HIGH));
break; break;
case MoveStep.H05_MShlefToLeft: case MoveStep.H05_MShlefToLeft:
MoveInfo.NextMoveStep(MoveStep.H06_SaveLeft); MoveInfo.NextMoveStep(MoveStep.H06_SaveLeft);
S1_LeftShelfId = RFIDManager.ReadRFID(Config.M_Updown_Rfid, true).NumStr(); S1_LeftShelfId = RFIDManager.ReadRFID(Config.M_Updown_Rfid, true).NumStr();
LogUtil.info(Name + " 复位:停止转动,记录左侧料架信息:"+LeftSName); LogUtil.info(Name + " 复位:停止转动,记录左侧料架信息:" + LeftSName);
IOMove(IO_Type.M_LineRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineRun, IO_VALUE.LOW);
S1LineStop(MoveInfo); S1LineStop(MoveInfo);
break; break;
...@@ -349,12 +348,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -349,12 +348,12 @@ namespace OnlineStore.DeviceLibrary
LineManager.packageLine.StopMove(); LineManager.packageLine.StopMove();
} }
private bool InProcess = false; private bool InProcess = false;
private Stopwatch stopwatch = new Stopwatch(); private Stopwatch stopwatch = new Stopwatch();
public bool MoveStop = false; public bool MoveStop = false;
protected void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) protected void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{ {
if (runStatus >= RunStatus.HomeMoving ) if (runStatus >= RunStatus.HomeMoving)
{ {
LeftRobot.TimerProcess(); LeftRobot.TimerProcess();
RightRobot.TimerProcess(); RightRobot.TimerProcess();
...@@ -389,16 +388,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -389,16 +388,16 @@ namespace OnlineStore.DeviceLibrary
//RightRobot.TimerProcess(); //RightRobot.TimerProcess();
if (MoveInfo.MoveType.Equals(LineMoveType.None)) if (MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
WorkShelfCheck(); //WorkShelfCheck();
ShelfCheckPro(); ShelfCheckPro();
} }
else if (MoveInfo.MoveType.Equals(LineMoveType.LTransWork2Buf)) else if (MoveInfo.MoveType.Equals(LineMoveType.LTransWork2Buf))
{ {
LTransWork2BuffProcess(); //LTransWork2BuffProcess();
} }
else if (MoveInfo.MoveType.Equals(LineMoveType.LTransBuf2Work)) else if (MoveInfo.MoveType.Equals(LineMoveType.LTransBuf2Work))
{ {
LTransBuff2WorkProcess(); //LTransBuff2WorkProcess();
} }
else if (MoveInfo.MoveType.Equals(LineMoveType.LeftShelf)) else if (MoveInfo.MoveType.Equals(LineMoveType.LeftShelf))
{ {
...@@ -449,8 +448,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -449,8 +448,8 @@ namespace OnlineStore.DeviceLibrary
} }
finally { InProcess = false; } finally { InProcess = false; }
} }
private IO_VALUE LastResetValue = IO_VALUE.LOW; private IO_VALUE LastResetValue = IO_VALUE.LOW;
public void IoCheckProcess() public void IoCheckProcess()
...@@ -469,7 +468,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -469,7 +468,7 @@ namespace OnlineStore.DeviceLibrary
bool result = StartRun(); bool result = StartRun();
if (result.Equals(false)) if (result.Equals(false))
{ {
LogUtil.error(Name+"启动失败,等待下次启动!"); LogUtil.error(Name + "启动失败,等待下次启动!");
mainTimer.Enabled = true; mainTimer.Enabled = true;
} }
} }
...@@ -480,7 +479,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -480,7 +479,7 @@ namespace OnlineStore.DeviceLibrary
} }
//判断急停 //判断急停
else if (runStatus >= RunStatus.HomeMoving) else if (runStatus >= RunStatus.HomeMoving)
{ {
//判断急停 //判断急停
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
...@@ -515,8 +514,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -515,8 +514,8 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
private DateTime preIoTimerOutTime = DateTime.Now; private DateTime preIoTimerOutTime = DateTime.Now;
private void IOTimeOutProcess() private void IOTimeOutProcess()
{ {
try try
...@@ -528,7 +527,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -528,7 +527,7 @@ namespace OnlineStore.DeviceLibrary
if (runStatus < RunStatus.Runing || isInSuddenDown) if (runStatus < RunStatus.Runing || isInSuddenDown)
{ {
return; return;
} }
if (alarmType.Equals(AlarmType.IoSingleTimeOut) && MoveInfo.IsInWait == false) if (alarmType.Equals(AlarmType.IoSingleTimeOut) && MoveInfo.IsInWait == false)
{ {
LogUtil.info(Name + "之前有IO超时报警,清理报警:" + WarnMsg); LogUtil.info(Name + "之前有IO超时报警,清理报警:" + WarnMsg);
...@@ -552,15 +551,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -552,15 +551,15 @@ namespace OnlineStore.DeviceLibrary
{ {
s1Info = S1_ShelfTask.ToStr(); s1Info = S1_ShelfTask.ToStr();
} }
string leftShelf = LeftUpdownRFID.Equals("") ? "" : " 左侧料架="+LeftUpdownRFID+" "; string leftShelf = LeftUpdownRFID.Equals("") ? "" : " 左侧料架=" + LeftUpdownRFID + " ";
string msg = MoveInfo.MoveType + " " + MoveInfo.MoveStep + " "+ leftShelf + "\r\n" + string msg = MoveInfo.MoveType + " " + MoveInfo.MoveStep + " " + leftShelf + "\r\n" +
"" + SOneMoveInfo.MoveType + " " + SOneMoveInfo.MoveStep + " \t" + AllTaskInfo.ToStr() + "\r\n"+ "" + SOneMoveInfo.MoveType + " " + SOneMoveInfo.MoveStep + " \t" + AllTaskInfo.ToStr() + "\r\n" +
"S1工位(" +(S1IsReady()?"可放料":"不可放料")+"): " + LeftSName + " " + S1SName + " " + RightSName + "" + " " + s1Info+ "\r\n" + "S1工位(" + (S1IsReady() ? "可放料" : "不可放料") + "): " + LeftSName + " " + S1SName + " " + RightSName + "" + " " + s1Info + "\r\n" +
// "" + LeftRobot.Name + ":" + LeftRobot.MoveInfo.MoveType + " " + LeftRobot.MoveInfo.MoveStep + " [" + LeftRobot.CurrPoint + "]["+LeftRobot.NeedShelf+"] " + LeftRobot.CurrTray.ToStr() + "" + "\r\n" + // "" + LeftRobot.Name + ":" + LeftRobot.MoveInfo.MoveType + " " + LeftRobot.MoveInfo.MoveStep + " [" + LeftRobot.CurrPoint + "]["+LeftRobot.NeedShelf+"] " + LeftRobot.CurrTray.ToStr() + "" + "\r\n" +
//"" + RightRobot.Name + ":" + RightRobot.MoveInfo.MoveType + " " + RightRobot.MoveInfo.MoveStep + " [" + RightRobot.CurrPoint + "][" + RightRobot.NeedShelf + "] " + RightRobot.CurrTray.ToStr() + "" //"" + RightRobot.Name + ":" + RightRobot.MoveInfo.MoveType + " " + RightRobot.MoveInfo.MoveStep + " [" + RightRobot.CurrPoint + "][" + RightRobot.NeedShelf + "] " + RightRobot.CurrTray.ToStr() + ""
LeftRobot.GetRunInfo()+"\r\n" + LeftRobot.GetRunInfo() + "\r\n" +
RightRobot.GetRunInfo() + "\r\n" RightRobot.GetRunInfo() + "\r\n"
; ;
...@@ -569,7 +568,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -569,7 +568,7 @@ namespace OnlineStore.DeviceLibrary
private void S1LineRun(LineMoveInfo moveInfo=null ) private void S1LineRun(LineMoveInfo moveInfo = null)
{ {
if (moveInfo != null) if (moveInfo != null)
{ {
...@@ -599,36 +598,36 @@ namespace OnlineStore.DeviceLibrary ...@@ -599,36 +598,36 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.S1_LineBackRun, IO_VALUE.LOW); CheckAndMove(IO_Type.S1_LineBackRun, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_LineRun, IO_VALUE.LOW); CheckAndMove(IO_Type.S1_LineRun, IO_VALUE.LOW);
} }
private void S2LineRun(LineMoveInfo moveInfo = null) //private void S2LineRun(LineMoveInfo moveInfo = null)
{ //{
if (moveInfo != null) // if (moveInfo != null)
{ // {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineBackRun, IO_VALUE.LOW)); // moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineBackRun, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.HIGH)); // moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.HIGH));
} // }
CheckAndMove(IO_Type.S2_LineBackRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.S2_LineBackRun, IO_VALUE.LOW);
IOMove(IO_Type.S2_LineRun, IO_VALUE.HIGH); // IOMove(IO_Type.S2_LineRun, IO_VALUE.HIGH);
} //}
private void S2BackRun(LineMoveInfo moveInfo = null) //private void S2BackRun(LineMoveInfo moveInfo = null)
{ //{
if (moveInfo != null) // if (moveInfo != null)
{ // {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW)); // moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineBackRun, IO_VALUE.HIGH)); // moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineBackRun, IO_VALUE.HIGH));
} // }
CheckAndMove(IO_Type.S2_LineRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.S2_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.S2_LineBackRun, IO_VALUE.HIGH); // IOMove(IO_Type.S2_LineBackRun, IO_VALUE.HIGH);
} //}
private void S2LineStop(LineMoveInfo moveInfo = null) //private void S2LineStop(LineMoveInfo moveInfo = null)
{ //{
if (moveInfo != null) // if (moveInfo != null)
{ // {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineBackRun, IO_VALUE.LOW)); // moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineBackRun, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW)); // moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW));
} // }
CheckAndMove(IO_Type.S2_LineBackRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.S2_LineBackRun, IO_VALUE.LOW);
CheckAndMove(IO_Type.S2_LineRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.S2_LineRun, IO_VALUE.LOW);
} //}
} }
} }
\ No newline at end of file \ No newline at end of file
...@@ -135,7 +135,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -135,7 +135,6 @@ namespace OnlineStore.DeviceLibrary
IOValue(IO_Type.S1_StopCheck4).Equals(IO_VALUE.LOW) && IOValue(IO_Type.S1_StopCheck4).Equals(IO_VALUE.LOW) &&
CylinderIsOk(IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown) && CylinderIsOk(IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown) &&
IOValue(IO_Type.S2_StopCheck1).Equals(IO_VALUE.LOW) && IOValue(IO_Type.S2_StopCheck1).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.S2_StopCheck2).Equals(IO_VALUE.LOW) &&
CylinderIsOk(IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown) && CylinderIsOk(IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown) &&
IOManager.DOValue(IO_Type.S2_TopCylinderUp).Equals(IO_VALUE.LOW) && IOManager.DOValue(IO_Type.S2_TopCylinderDown).Equals(IO_VALUE.HIGH) IOManager.DOValue(IO_Type.S2_TopCylinderUp).Equals(IO_VALUE.LOW) && IOManager.DOValue(IO_Type.S2_TopCylinderDown).Equals(IO_VALUE.HIGH)
) )
...@@ -239,7 +238,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -239,7 +238,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info("双层线_S1" + AllTaskInfo.ToStr() + "S1需要新料架【" + needNewShelf + "】,等待 LLow_StopCheck3"); LogUtil.info("双层线_S1" + AllTaskInfo.ToStr() + "S1需要新料架【" + needNewShelf + "】,等待 LLow_StopCheck3");
//放一个C料架 //放一个C料架
SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_C01_GetC); SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_C01_GetC);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck3, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck2, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCheck, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCheck, IO_VALUE.LOW));
} }
...@@ -248,7 +247,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -248,7 +247,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info("双层线_S1" + AllTaskInfo.ToStr() + "S1需要新料架【" + needNewShelf + "】,等待 LHigh_StopCheck3"); LogUtil.info("双层线_S1" + AllTaskInfo.ToStr() + "S1需要新料架【" + needNewShelf + "】,等待 LHigh_StopCheck3");
//放一个D料架 //放一个D料架
SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_D10_GetD); SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_D10_GetD);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_StopCheck3, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_StopCheck2, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCheck, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCheck, IO_VALUE.LOW));
} }
...@@ -275,7 +274,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -275,7 +274,7 @@ namespace OnlineStore.DeviceLibrary
S1Log(" 下层阻挡3下降, 链条转动,开始放大料架到左侧,阻挡1需要上升"); S1Log(" 下层阻挡3下降, 链条转动,开始放大料架到左侧,阻挡1需要上升");
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2500)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2500));
IOMove(IO_Type.LLow_StopCylinder3, IO_VALUE.HIGH, 3000); IOMove(IO_Type.LLow_StopCylinder2, IO_VALUE.HIGH, 3000);
IOMove(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH);
...@@ -297,12 +296,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -297,12 +296,12 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C03_MStopDown)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C03_MStopDown))
{ {
IOMove(IO_Type.LLow_StopCylinder3, IO_VALUE.LOW); IOMove(IO_Type.LLow_StopCylinder2, IO_VALUE.LOW);
SOneMoveInfo.NextMoveStep(MoveStep.S1_C04_DToLeft); SOneMoveInfo.NextMoveStep(MoveStep.S1_C04_DToLeft);
SOneMoveInfo.TimeOutSeconds = 20; SOneMoveInfo.TimeOutSeconds = 20;
S1Log("等待料架到达左侧工位,S1阻挡1上升,S1正转"); S1Log("等待料架到达左侧工位,S1阻挡1上升,S1正转");
IOMove(IO_Type.LLow_StopCylinder3, IO_VALUE.LOW); IOMove(IO_Type.LLow_StopCylinder2, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW); CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH); CheckAndMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH);
...@@ -347,7 +346,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -347,7 +346,7 @@ namespace OnlineStore.DeviceLibrary
S1_StopMove(SOneMoveInfo, IO_VALUE.HIGH); S1_StopMove(SOneMoveInfo, IO_VALUE.HIGH);
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.LLow_StopCylinder3, IO_VALUE.LOW); IOMove(IO_Type.LLow_StopCylinder2, IO_VALUE.LOW);
// IOMove(IO_Type.S1_LineRun, IO_VALUE.HIGH); // IOMove(IO_Type.S1_LineRun, IO_VALUE.HIGH);
IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH);
// SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_LineRun, IO_VALUE.HIGH)); // SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_LineRun, IO_VALUE.HIGH));
...@@ -392,7 +391,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -392,7 +391,7 @@ namespace OnlineStore.DeviceLibrary
if (!IsUseRightHigh) if (!IsUseRightHigh)
{ {
S1Log(" 上层阻挡下降,上层链条转,中间链条转"); S1Log(" 上层阻挡下降,上层链条转,中间链条转");
IOMove(IO_Type.LHigh_StopCylinder3, IO_VALUE.HIGH, 2000); IOMove(IO_Type.LHigh_StopCylinder2, IO_VALUE.HIGH, 2000);
CheckAndMove(IO_Type.M_LeftStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.M_LeftStopCylinder, IO_VALUE.LOW);
CheckAndMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH); CheckAndMove(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH);
...@@ -546,7 +545,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -546,7 +545,7 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_27_S1ShelfGo)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_27_S1ShelfGo))
{ {
S2LineStop(); //S2LineStop();
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW);
//IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW); //IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW);
string log = S1SName + "已离开,阻挡2上升 ,清空绑定信息"; string log = S1SName + "已离开,阻挡2上升 ,清空绑定信息";
...@@ -588,7 +587,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -588,7 +587,7 @@ namespace OnlineStore.DeviceLibrary
S1_RightShelfId = S1_CurrShelfId; S1_RightShelfId = S1_CurrShelfId;
S1_CurrShelfId = ""; S1_CurrShelfId = "";
// IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW); // IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW);
S2LineStop(); //S2LineStop();
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW);
Start_LeftShelfToS1(MoveStep.S1_32_LeftToS1, " 左->S1切换 :" + S1SName + "到达右侧,记录料架号,清空S1信息,"); Start_LeftShelfToS1(MoveStep.S1_32_LeftToS1, " 左->S1切换 :" + S1SName + "到达右侧,记录料架号,清空S1信息,");
...@@ -638,7 +637,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -638,7 +637,7 @@ namespace OnlineStore.DeviceLibrary
S1_CurrShelfId = ""; S1_CurrShelfId = "";
S2CanGetShelf = false; S2CanGetShelf = false;
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW)); //SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.HIGH));
CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.LOW); CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_StopCylinder2, IO_VALUE.HIGH); CheckAndMove(IO_Type.S1_StopCylinder2, IO_VALUE.HIGH);
...@@ -656,7 +655,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -656,7 +655,7 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.HIGH); CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.HIGH);
S1BackRun(); S1BackRun();
S2BackRun(); //S2BackRun();
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck2, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck2, IO_VALUE.HIGH));
} }
...@@ -677,7 +676,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -677,7 +676,7 @@ namespace OnlineStore.DeviceLibrary
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
S1LineStop(SOneMoveInfo); S1LineStop(SOneMoveInfo);
S2LineStop(SOneMoveInfo); //S2LineStop(SOneMoveInfo);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
} }
...@@ -957,7 +956,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -957,7 +956,7 @@ namespace OnlineStore.DeviceLibrary
S2CanGetShelf = false; S2CanGetShelf = false;
} }
CylinderMove(null, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown); CylinderMove(null, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW)); // SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCylinder1, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCylinder1, IO_VALUE.LOW));
} }
...@@ -965,7 +964,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -965,7 +964,7 @@ namespace OnlineStore.DeviceLibrary
private void Start_S1ShelfToRight(MoveStep nextStep, string movetype, bool ShelfIsCanGo = false) private void Start_S1ShelfToRight(MoveStep nextStep, string movetype, bool ShelfIsCanGo = false)
{ {
SOneMoveInfo.NextMoveStep(nextStep); SOneMoveInfo.NextMoveStep(nextStep);
S1Log(" " + movetype + ":" + S1SName + " 先到右侧,阻挡1上升,S1正转,S2正转"); S1Log(" " + movetype + ":" + S1SName + " 先到右侧,阻挡1上升,S1正转");
S2CanGetShelf = ShelfIsCanGo; S2CanGetShelf = ShelfIsCanGo;
IOMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW); IOMove(IO_Type.S1_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.HIGH); IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.HIGH);
...@@ -975,7 +974,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -975,7 +974,7 @@ namespace OnlineStore.DeviceLibrary
} }
CylinderMove(SOneMoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown); CylinderMove(SOneMoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
S1LineRun(); S1LineRun();
S2LineRun(); //S2LineRun();
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck2, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck2, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.HIGH));
} }
......
...@@ -23,262 +23,262 @@ namespace OnlineStore.DeviceLibrary ...@@ -23,262 +23,262 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 检查工作位料架 /// 检查工作位料架
/// </summary> /// </summary>
private void WorkShelfCheck() //private void WorkShelfCheck()
{ //{
if (IOValue(IO_Type.Left_Tranverse_Down_Sig1).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.Left_Tranverse_Down_Sig2).Equals(IO_VALUE.HIGH) && // if (IOValue(IO_Type.Left_Tranverse_Down_Sig1).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.Left_Tranverse_Down_Sig2).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.Left_Tranverse_BackRun).Equals(IO_VALUE.LOW) && IOValue(IO_Type.Left_Tranverse_Run).Equals(IO_VALUE.LOW) && // IOValue(IO_Type.Left_Tranverse_BackRun).Equals(IO_VALUE.LOW) && IOValue(IO_Type.Left_Tranverse_Run).Equals(IO_VALUE.LOW) &&
(IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.LOW) || IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW)) && // (IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.LOW) || IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW)) &&
IOValue(IO_Type.Left_Tranverse_Shelf_Sig).Equals(IO_VALUE.HIGH) && LeftProcess.Equals(false) // IOValue(IO_Type.Left_Tranverse_Shelf_Sig).Equals(IO_VALUE.HIGH) && LeftProcess.Equals(false)
) // )
{ // {
if (LineManager.checkWatch(leftWatch, 3000)) // if (LineManager.checkWatch(leftWatch, 3000))
{ // {
leftWatch.Stop(); // leftWatch.Stop();
//左侧上层需要放个料架 // //左侧上层需要放个料架
Task.Factory.StartNew(delegate // Task.Factory.StartNew(delegate
{ // {
LeftProcess = true; // LeftProcess = true;
LogUtil.info("左侧双层线_" + "左上放料架离开横移"); // LogUtil.info("左侧双层线_" + "左上放料架离开横移");
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000); // IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.Left_Tranverse_StopDown, IO_VALUE.HIGH, 3000); // IOMove(IO_Type.Left_Tranverse_StopDown, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.LHigh_StopCheck1, IO_VALUE.HIGH, 30000, "左侧_上层放料架离开横移")) // if (WaitIo(IO_Type.LHigh_StopCheck1, IO_VALUE.HIGH, 30000, "左侧_上层放料架离开横移"))
{ // {
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW); // IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
} // }
LeftProcess = false; // LeftProcess = false;
}); // });
} // }
} // }
else // else
{ // {
leftWatch.Stop(); // leftWatch.Stop();
} // }
//左侧工作位有料架 // //左侧工作位有料架
if (IOValue(IO_Type.Left_Tranverse_Shelf_Sig).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH)) // if (IOValue(IO_Type.Left_Tranverse_Shelf_Sig).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH))
{ // {
if (IOValue(IO_Type.Left_Buf_Full_Shelf_Sig).Equals(IO_VALUE.LOW)) // if (IOValue(IO_Type.Left_Buf_Full_Shelf_Sig).Equals(IO_VALUE.LOW))
{ // {
if (MoveInfo.MoveType.Equals(LineMoveType.None) && LineManager.checkWatch(leftFullWatch, 3000, true)) // if (MoveInfo.MoveType.Equals(LineMoveType.None) && LineManager.checkWatch(leftFullWatch, 3000, true))
{ // {
LogUtil.info("左侧双层线_" + "上层有料架,且工作位满 开始料架转移处理"); // LogUtil.info("左侧双层线_" + "上层有料架,且工作位满 开始料架转移处理");
//开始料架转移处理 // //开始料架转移处理
MoveInfo.NewMove(LineMoveType.LTransWork2Buf, MoveStep.SW2B_L1_GetShelf); // MoveInfo.NewMove(LineMoveType.LTransWork2Buf, MoveStep.SW2B_L1_GetShelf);
} // }
} // }
else // else
{ // {
leftFullWatch.Stop(); // leftFullWatch.Stop();
} // }
} // }
else // else
{ // {
leftFullWatch.Stop(); // leftFullWatch.Stop();
} // }
//左侧缓存位有料架,工作位无料架 // //左侧缓存位有料架,工作位无料架
if (IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW)) // if (IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW))
{ // {
if (IOValue(IO_Type.Left_Buf_Full_Shelf_Sig).Equals(IO_VALUE.HIGH)) // if (IOValue(IO_Type.Left_Buf_Full_Shelf_Sig).Equals(IO_VALUE.HIGH))
{ // {
if (MoveInfo.MoveType.Equals(LineMoveType.None) && LineManager.checkWatch(leftNeedWatch, 3000, true)) // if (MoveInfo.MoveType.Equals(LineMoveType.None) && LineManager.checkWatch(leftNeedWatch, 3000, true))
{ // {
LogUtil.info("左侧双层线_" + "上层需要料架,且缓存右料架 开始料架转移处理"); // LogUtil.info("左侧双层线_" + "上层需要料架,且缓存右料架 开始料架转移处理");
//开始料架转移处理 // //开始料架转移处理
MoveInfo.NewMove(LineMoveType.LTransBuf2Work, MoveStep.SB2W_L0_None); // MoveInfo.NewMove(LineMoveType.LTransBuf2Work, MoveStep.SB2W_L0_None);
} // }
} // }
else // else
{ // {
CheckAndMove(IO_Type.Left_Buf_Run, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_Run, IO_VALUE.LOW);
IOMove(IO_Type.Left_Buf_BackRun, IO_VALUE.HIGH, 10000); // IOMove(IO_Type.Left_Buf_BackRun, IO_VALUE.HIGH, 10000);
leftNeedWatch.Stop(); // leftNeedWatch.Stop();
} // }
} // }
else // else
{ // {
leftNeedWatch.Stop(); // leftNeedWatch.Stop();
} // }
} //}
internal void LTransBuff2WorkProcess() //internal void LTransBuff2WorkProcess()
{ //{
if (MoveInfo.IsInWait) // if (MoveInfo.IsInWait)
{ // {
CheckWait(MoveInfo); // CheckWait(MoveInfo);
} // }
if (MoveInfo.IsInWait) // if (MoveInfo.IsInWait)
{ // {
return; // return;
} // }
if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L0_None)) // if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L0_None))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L1_GetShelf); // MoveInfo.NextMoveStep(MoveStep.SB2W_L1_GetShelf);
IOMove(IO_Type.Left_Buf_Out_StopDown, IO_VALUE.HIGH, 2000); // IOMove(IO_Type.Left_Buf_Out_StopDown, IO_VALUE.HIGH, 2000);
CheckAndMove(IO_Type.Left_Buf_Run, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_Run, IO_VALUE.LOW);
CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.HIGH); // CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.HIGH);
CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH); // CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH);
CheckAndMove(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW);
IOMove(IO_Type.Left_Buf_Near_StopDown, IO_VALUE.HIGH, 2000); // IOMove(IO_Type.Left_Buf_Near_StopDown, IO_VALUE.HIGH, 2000);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Shelf_Sig, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Shelf_Sig, IO_VALUE.HIGH));
LogUtil.info(Name + MoveInfo.SLog + " :左侧缓存料架放到横移上"); // LogUtil.info(Name + MoveInfo.SLog + " :左侧缓存料架放到横移上");
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L1_GetShelf)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L1_GetShelf))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L2_Tranverse_Up); // MoveInfo.NextMoveStep(MoveStep.SB2W_L2_Tranverse_Up);
CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW);
CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH); // IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig2, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig2, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig2, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig2, IO_VALUE.HIGH));
LogUtil.info(Name + MoveInfo.SLog + " :左侧横移上升"); // LogUtil.info(Name + MoveInfo.SLog + " :左侧横移上升");
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L2_Tranverse_Up)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L2_Tranverse_Up))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L3_Tranverse_Run); // MoveInfo.NextMoveStep(MoveStep.SB2W_L3_Tranverse_Run);
LogUtil.info(Name + MoveInfo.SLog + " :左侧横移电机反传"); // LogUtil.info(Name + MoveInfo.SLog + " :左侧横移电机反传");
CheckAndMove(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW);
IOMove(IO_Type.Left_Tranverse_BackRun, IO_VALUE.HIGH); // IOMove(IO_Type.Left_Tranverse_BackRun, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_BackRun, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_BackRun, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_InPosition_Sig, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_InPosition_Sig, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L3_Tranverse_Run)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L3_Tranverse_Run))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L4_Shelf_To_Buf); // MoveInfo.NextMoveStep(MoveStep.SB2W_L4_Shelf_To_Buf);
LogUtil.info(Name + MoveInfo.SLog + ":料架到达工作横移位置"); // LogUtil.info(Name + MoveInfo.SLog + ":料架到达工作横移位置");
IOMove(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW); // IOMove(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW); // IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW);
CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH); // CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down_Sig1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down_Sig1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down_Sig2, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down_Sig2, IO_VALUE.HIGH));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L4_Shelf_To_Buf)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L4_Shelf_To_Buf))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L5_Tranverse_Down); // MoveInfo.NextMoveStep(MoveStep.SB2W_L5_Tranverse_Down);
LogUtil.info(Name + MoveInfo.SLog + ":左侧横移下降"); // LogUtil.info(Name + MoveInfo.SLog + ":左侧横移下降");
CheckAndMove(IO_Type.Left_Buf_Far_StopDown, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_Far_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH); // IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH);
IOMove(IO_Type.Left_Tranverse_StopDown, IO_VALUE.HIGH,2000); // IOMove(IO_Type.Left_Tranverse_StopDown, IO_VALUE.HIGH,2000);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_StopCheck1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_StopCheck1, IO_VALUE.HIGH));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L5_Tranverse_Down)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L5_Tranverse_Down))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L6_Shelf_Leave_Buf); // MoveInfo.NextMoveStep(MoveStep.SB2W_L6_Shelf_Leave_Buf);
LogUtil.info(Name + MoveInfo.SLog + ":料架离开左侧工作位横移"); // LogUtil.info(Name + MoveInfo.SLog + ":料架离开左侧工作位横移");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L6_Shelf_Leave_Buf)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SB2W_L6_Shelf_Leave_Buf))
{ // {
MoveInfo.NextMoveStep(MoveStep.SB2W_L7_Tranverse_Finish); // MoveInfo.NextMoveStep(MoveStep.SB2W_L7_Tranverse_Finish);
CheckAndMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
LogUtil.info(Name + MoveInfo.SLog + ":料架移到左侧工作位完成,停止链条"); // LogUtil.info(Name + MoveInfo.SLog + ":料架移到左侧工作位完成,停止链条");
MoveInfo.EndMove(); // MoveInfo.EndMove();
} // }
} //}
/// <summary> /// <summary>
/// 左侧工作位到缓存位 /// 左侧工作位到缓存位
/// </summary> /// </summary>
internal void LTransWork2BuffProcess() //internal void LTransWork2BuffProcess()
{ //{
if (MoveInfo.IsInWait) // if (MoveInfo.IsInWait)
{ // {
CheckWait(MoveInfo); // CheckWait(MoveInfo);
} // }
if (MoveInfo.IsInWait) // if (MoveInfo.IsInWait)
{ // {
return; // return;
} // }
if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L1_GetShelf)) // if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L1_GetShelf))
{ // {
MoveInfo.NextMoveStep(MoveStep.SW2B_L2_Tranverse_Up); // MoveInfo.NextMoveStep(MoveStep.SW2B_L2_Tranverse_Up);
CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW);
IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH); // IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig2, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up_Sig2, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig2, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Up_Sig2, IO_VALUE.HIGH));
LogUtil.info(Name + MoveInfo.SLog + " :左侧横移上升"); // LogUtil.info(Name + MoveInfo.SLog + " :左侧横移上升");
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L2_Tranverse_Up)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L2_Tranverse_Up))
{ // {
MoveInfo.NextMoveStep(MoveStep.SW2B_L3_Tranverse_Run); // MoveInfo.NextMoveStep(MoveStep.SW2B_L3_Tranverse_Run);
LogUtil.info(Name + MoveInfo.SLog + " :左侧横移电机正传"); // LogUtil.info(Name + MoveInfo.SLog + " :左侧横移电机正传");
CheckAndMove(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Left_Tranverse_Run, IO_VALUE.HIGH); // IOMove(IO_Type.Left_Tranverse_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_BackRun, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Run, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Run, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_InPosition_Sig, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_InPosition_Sig, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L3_Tranverse_Run)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L3_Tranverse_Run))
{ // {
MoveInfo.NextMoveStep(MoveStep.SW2B_L4_Shelf_To_Buf); // MoveInfo.NextMoveStep(MoveStep.SW2B_L4_Shelf_To_Buf);
LogUtil.info(Name + MoveInfo.SLog + ":料架到达缓存横移位置"); // LogUtil.info(Name + MoveInfo.SLog + ":料架到达缓存横移位置");
IOMove(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW); // IOMove(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW);
IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW); // IOMove(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW);
CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH); // CheckAndMove(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Run, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Up, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Tranverse_Down, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Down_Sig1, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Down_Sig1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Down_Sig2, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Tranverse_Down_Sig2, IO_VALUE.HIGH));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L4_Shelf_To_Buf)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L4_Shelf_To_Buf))
{ // {
MoveInfo.NextMoveStep(MoveStep.SW2B_L5_Tranverse_Down); // MoveInfo.NextMoveStep(MoveStep.SW2B_L5_Tranverse_Down);
if (IOValue(IO_Type.Left_Buf_Full_Shelf_Sig).Equals(IO_VALUE.LOW)) // if (IOValue(IO_Type.Left_Buf_Full_Shelf_Sig).Equals(IO_VALUE.LOW))
{ // {
LogUtil.info(Name + MoveInfo.SLog + ":左侧横移下降"); // LogUtil.info(Name + MoveInfo.SLog + ":左侧横移下降");
CheckAndMove(IO_Type.Left_Buf_Far_StopDown, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_Far_StopDown, IO_VALUE.LOW);
CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Left_Buf_Run, IO_VALUE.HIGH); // IOMove(IO_Type.Left_Buf_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Full_Shelf_Sig, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Left_Buf_Full_Shelf_Sig, IO_VALUE.HIGH));
} // }
else // else
{ // {
LogUtil.error(Name + MoveInfo.SLog + " :左侧缓存已满,无法将料架运离横移,结束处理 "); // LogUtil.error(Name + MoveInfo.SLog + " :左侧缓存已满,无法将料架运离横移,结束处理 ");
MoveInfo.EndMove(); // MoveInfo.EndMove();
} // }
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L5_Tranverse_Down)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L5_Tranverse_Down))
{ // {
MoveInfo.NextMoveStep(MoveStep.SW2B_L6_Shelf_Leave_Buf); // MoveInfo.NextMoveStep(MoveStep.SW2B_L6_Shelf_Leave_Buf);
LogUtil.info(Name + MoveInfo.SLog + ":料架离开左侧缓存横移"); // LogUtil.info(Name + MoveInfo.SLog + ":料架离开左侧缓存横移");
IOMove(IO_Type.Left_Buf_Far_StopDown, IO_VALUE.HIGH, 5000); // IOMove(IO_Type.Left_Buf_Far_StopDown, IO_VALUE.HIGH, 5000);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
} // }
else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L6_Shelf_Leave_Buf)) // else if (MoveInfo.MoveStep.Equals(MoveStep.SW2B_L6_Shelf_Leave_Buf))
{ // {
MoveInfo.NextMoveStep(MoveStep.SW2B_L7_Tranverse_Finish); // MoveInfo.NextMoveStep(MoveStep.SW2B_L7_Tranverse_Finish);
CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_BackRun, IO_VALUE.LOW);
CheckAndMove(IO_Type.Left_Buf_Run, IO_VALUE.LOW); // CheckAndMove(IO_Type.Left_Buf_Run, IO_VALUE.LOW);
LogUtil.info(Name + MoveInfo.SLog + ":料架移到左侧缓存完成,停止链条"); // LogUtil.info(Name + MoveInfo.SLog + ":料架移到左侧缓存完成,停止链条");
MoveInfo.EndMove(); // MoveInfo.EndMove();
} // }
} //}
#endregion #endregion
......
...@@ -29,9 +29,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -29,9 +29,9 @@ namespace OnlineStore.DeviceLibrary
//料架满 //料架满
} }
if (IOValue(IO_Type.LHigh_StopCheck3).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LHigh_StopCylinder3).Equals(IO_VALUE.LOW) && IOValue(IO_Type.LHigh_StopCylinder2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.HIGH) && 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) && HighProcess.Equals(false)
) )
{ {
...@@ -43,10 +43,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -43,10 +43,10 @@ namespace OnlineStore.DeviceLibrary
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
HighProcess = true; HighProcess = true;
LogUtil.info("左侧双层线_" + "左上层放料架到阻挡3"); LogUtil.info("左侧双层线_" + "左上层放料架到阻挡2");
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.LHigh_StopCylinder2, IO_VALUE.HIGH, 3000); IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.LHigh_StopCheck3, IO_VALUE.HIGH, 30000, "左侧_上层放料架到阻挡3")) if (WaitIo(IO_Type.LHigh_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_上层放料架到阻挡2"))
{ {
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
} }
...@@ -60,10 +60,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -60,10 +60,10 @@ namespace OnlineStore.DeviceLibrary
} }
if (IOValue(IO_Type.LLow_StopCheck3).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLow_StopCylinder3).Equals(IO_VALUE.LOW) && IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.LLow_StopCylinder2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) && LowProcess.Equals(false)) IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) && LowProcess.Equals(false))
{ {
bool isUseLowShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep <= MoveStep.S1_C05_CheckS1); bool isUseLowShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep <= MoveStep.S1_C05_CheckS1);
if (!isUseLowShelf && LineManager.checkWatch(lowWatch, 3000)) if (!isUseLowShelf && LineManager.checkWatch(lowWatch, 3000))
...@@ -72,10 +72,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -72,10 +72,10 @@ namespace OnlineStore.DeviceLibrary
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
LowProcess = true; LowProcess = true;
LogUtil.info("左侧双层线_" + "左下层放料架到阻挡3"); LogUtil.info("左侧双层线_" + "左下层放料架到阻挡2");
IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH, 30000); IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.LLow_StopCylinder2, IO_VALUE.HIGH, 3000); IOMove(IO_Type.LLow_StopCylinder1, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.LLow_StopCheck3, IO_VALUE.HIGH, 30000, "左侧_下层放料架到阻挡3")) if (WaitIo(IO_Type.LLow_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_下层放料架到阻挡2"))
{ {
IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW);
} }
...@@ -98,11 +98,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -98,11 +98,11 @@ namespace OnlineStore.DeviceLibrary
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, false).NumStr(); LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, false).NumStr();
bool needProces = false; bool needProces = false;
//等待可放料架 //等待可放料架
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix) && IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.LOW)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix) && IOValue(IO_Type.LHigh_FullCheck).Equals(IO_VALUE.LOW))
{ {
needProces = true; needProces = true;
} }
else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix) && IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.LOW)) else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix) && IOValue(IO_Type.LLow_FullCheck).Equals(IO_VALUE.LOW))
{ {
needProces = true; needProces = true;
} }
...@@ -167,13 +167,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -167,13 +167,13 @@ namespace OnlineStore.DeviceLibrary
//等待可放料架 //等待可放料架
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
{ {
LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待上层 LHigh_StopCheck1无信号"); LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待上层 LHigh_FullCheck无信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_StopCheck1, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_FullCheck, IO_VALUE.LOW));
} }
else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix)) else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix))
{ {
LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待下层 LLow_StopCheck1无信号"); LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待下层 LLow_FullCheck无信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck1, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_FullCheck, IO_VALUE.LOW));
} }
else else
{ {
......
...@@ -27,32 +27,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -27,32 +27,32 @@ namespace OnlineStore.DeviceLibrary
public static string updateDeviceAlarmMsg(List<AlarmMsg> msgList) public static string updateDeviceAlarmMsg(List<AlarmMsg> msgList)
{ {
string msg = ""; string msg = "";
try //try
{ //{
Dictionary<string, string> paramMap = new Dictionary<string, string>(); // Dictionary<string, string> paramMap = new Dictionary<string, string>();
string msgListStr = JsonHelper.SerializeObject(msgList); // string msgListStr = JsonHelper.SerializeObject(msgList);
paramMap.Add("deviceAlarmList", msgListStr); // paramMap.Add("deviceAlarmList", msgListStr);
string server = GetAddr(Addr_updateDeviceAlarmMsg, paramMap); // string server = GetAddr(Addr_updateDeviceAlarmMsg, paramMap);
DateTime startTime = DateTime.Now; // DateTime startTime = DateTime.Now;
string resultStr = HttpHelper.Post(server, "", 2000); // string resultStr = HttpHelper.Post(server, "", 2000);
LogUtil.debug("updateDeviceAlarmMsg " + FormUtil.GetSpanStr(DateTime.Now - startTime) + " 【" + server + "】【" + resultStr + "】"); // LogUtil.debug("updateDeviceAlarmMsg " + FormUtil.GetSpanStr(DateTime.Now - startTime) + " 【" + server + "】【" + resultStr + "】");
RfidData data = JsonHelper.DeserializeJsonToObject<RfidData>(resultStr); // RfidData data = JsonHelper.DeserializeJsonToObject<RfidData>(resultStr);
if (data == null) // if (data == null)
{ // {
return msg = " updateDeviceAlarmMsg 没有收到服务器反馈"; // return msg = " updateDeviceAlarmMsg 没有收到服务器反馈";
} // }
else if (data.code.Equals(0).Equals(false)) // else if (data.code.Equals(0).Equals(false))
{ // {
return msg = " updateDeviceAlarmMsg 【" + server + "】【" + resultStr + "】" + data.msg; // return msg = " updateDeviceAlarmMsg 【" + server + "】【" + resultStr + "】" + data.msg;
} // }
return ""; // return "";
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
LogUtil.error(" updateDeviceAlarmMsg Error: " + ex.ToString()); // LogUtil.error(" updateDeviceAlarmMsg Error: " + ex.ToString());
} //}
return msg; return msg;
} }
private static string GetAddr(string addr, Dictionary<string, string> paramsMap) private static string GetAddr(string addr, Dictionary<string, string> paramsMap)
......

using Asa.RFID;
using OnlineStore.Common;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.DeviceLibrary
{
public class RFIDManager
{
private static ReadAll readAll = new ReadAll("TheRFID");
private static bool IsOpen = false;
private static ConcurrentDictionary<string, string> LastRfidMap = new ConcurrentDictionary<string, string>();
public static void Open(string[] iparray)
{
if (IsOpen)
{
return;
}
try
{
// readAll.Received += ReadAll_Received;
// readAll.Log += ReadAll_Log;
readAll.Start();
IsOpen = true;
}
catch (Exception ex)
{
LogUtil.error("Open 出错:" + ex.ToString());
}
}
private static void ReadAll_Log(string ip, string log)
{
LogUtil.LOGGER.Info("RFID : [" + ip + "] " + log);
}
public static RFIDData ReadRFID(string ip, bool isClear = false)
{
try
{
if (String.IsNullOrEmpty(ip).Equals(false))
{
if (isClear)
{
readAll.Clear(ip);
}
Thread.Sleep(1000);
string outValue = readAll.Read(ip);
if (outValue.Equals("000"))
{
// LogUtil.error("ReadRFID[" + ip + "]=" + outValue);
}
RFIDData data = new RFIDData(outValue);
return data;
}
}
catch (Exception ex)
{
LogUtil.error("ReadRFID[" + ip + "] [" + isClear + "] 出错:" + ex.ToString());
}
return new RFIDData();
}
public static void Close()
{
try
{
readAll.Stop();
}
catch (Exception ex)
{
LogUtil.error("关闭RFID出错:" + ex.ToString());
}
}
}
public class RFIDData
{
public string StrData = "";
public RFIDData(string data="00")
{
if (String.IsNullOrEmpty(data))
{
data = "00";
}
this.StrData = data;
}
public string NumStr()
{
return StrData;
}
internal static bool IsRealRfid(string shelfRfid)
{
//判断料架号是否是真实的料架号
if (shelfRfid.StartsWith("C") || shelfRfid.StartsWith("D"))
{
int num = -1;
try
{
num = Convert.ToInt32(shelfRfid.Substring(1, shelfRfid.Length - 1));
}
catch (Exception ex)
{
}
if (num > 0)
{
return true;
}
}
return false;
}
}
}
 using Asa.RFID;
using Asa.RFID;
using OnlineStore.Common; using OnlineStore.Common;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
...@@ -8,16 +7,21 @@ using System.Linq; ...@@ -8,16 +7,21 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
public class RFIDManager public class RFIDManager
{ {
private static ReadAll readAll = new ReadAll("TheRFID"); private static Asa.RFID.ReadAll read;
private static bool IsOpen = false; private static bool IsOpen = false;
private static ConcurrentDictionary<string, string> LastRfidMap = new ConcurrentDictionary<string, string>(); public static bool IsAuto = false;
public static void Open(string[] iparray) /// <summary>
/// 是否连接
/// </summary>
public static bool IsConnected { get; set; } = false;
private static Dictionary<string, string> LastRfidMap = new Dictionary<string, string>();
public static void Open(string[] ip)
{ {
if (IsOpen) if (IsOpen)
{ {
...@@ -25,9 +29,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -25,9 +29,9 @@ namespace OnlineStore.DeviceLibrary
} }
try try
{ {
// readAll.Received += ReadAll_Received; read = new ReadAll("TheRFID");
// readAll.Log += ReadAll_Log; read.Received += Read_Received;
readAll.Start(); read.Start(12001);
IsOpen = true; IsOpen = true;
} }
catch (Exception ex) catch (Exception ex)
...@@ -35,14 +39,40 @@ namespace OnlineStore.DeviceLibrary ...@@ -35,14 +39,40 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error("Open 出错:" + ex.ToString()); LogUtil.error("Open 出错:" + ex.ToString());
} }
} }
private static string lastStr = "";
private static void Read_Received(string ip, string id)
{
try
{
if(LastRfidMap.ContainsKey(ip))
{
LastRfidMap[ip] = id;
}
else
{
LastRfidMap.Add(ip,id);
}
}
catch (ObjectDisposedException ex)
{
//程序刚退出,又回传数据
}
}
private static void ReadAll_Log(string ip, string log) private static void ReadAll_Log(string ip, string log)
{ {
LogUtil.LOGGER.Info("RFID : [" + ip + "] " + log); string str = "RFID : [" + ip + "] " + log;
if (lastStr.Equals(str))
{
return;
}
LogUtil.info(str);
lastStr = str;
} }
public static RFIDData ReadRFID(string ip, bool isClear = false) public static RFIDData ReadRFID(string ip,bool isClear= true)
{ {
try try
{ {
...@@ -50,15 +80,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -50,15 +80,13 @@ namespace OnlineStore.DeviceLibrary
{ {
if (isClear) if (isClear)
{ {
readAll.Clear(ip); read.Clear(ip);
}
Thread.Sleep(1000);
string outValue = readAll.Read(ip);
if (outValue.Equals("000"))
{
// LogUtil.error("ReadRFID[" + ip + "]=" + outValue);
} }
Thread.Sleep(100);
string outValue = read.Read(ip);
RFIDData data = new RFIDData(outValue); RFIDData data = new RFIDData(outValue);
return data; return data;
} }
} }
...@@ -74,7 +102,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -74,7 +102,7 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
readAll.Stop(); read.Stop();
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -86,7 +114,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -86,7 +114,7 @@ namespace OnlineStore.DeviceLibrary
public class RFIDData public class RFIDData
{ {
public string StrData = ""; public string StrData = "";
public RFIDData(string data="00") public RFIDData(string data = "00")
{ {
if (String.IsNullOrEmpty(data)) if (String.IsNullOrEmpty(data))
{ {
...@@ -94,29 +122,29 @@ namespace OnlineStore.DeviceLibrary ...@@ -94,29 +122,29 @@ namespace OnlineStore.DeviceLibrary
} }
this.StrData = data; this.StrData = data;
} }
public string NumStr() public string NumStr()
{ {
return StrData; return StrData;
} }
internal static bool IsRealRfid(string shelfRfid) internal static bool IsRealRfid(string shelfRfid)
{ {
//判断料架号是否是真实的料架号 //判断料架号是否是真实的料架号
if (shelfRfid.StartsWith("C") || shelfRfid.StartsWith("D")) if (shelfRfid.StartsWith("C") || shelfRfid.StartsWith("D"))
{ {
int num = -1; int num = -1;
try try
{ {
num = Convert.ToInt32(shelfRfid.Substring(1, shelfRfid.Length - 1)); num = Convert.ToInt32(shelfRfid.Substring(1, shelfRfid.Length - 1));
} }
catch (Exception ex) catch (Exception ex)
{ {
} }
if (num > 0) if (num > 0)
{ {
return true; return true;
} }
} }
return false; return false;
} }
......
...@@ -55,8 +55,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -55,8 +55,8 @@ namespace OnlineStore.DeviceLibrary
FINISH_LEAVE FINISH_LEAVE
} }
public StepInfo<AGV_ENTER_A3_STEP> agvA3Step = new StepInfo<AGV_ENTER_A3_STEP>(AGV_ENTER_A3_STEP.NONE); // public StepInfo<AGV_ENTER_A3_STEP> agvA3Step = new StepInfo<AGV_ENTER_A3_STEP>(AGV_ENTER_A3_STEP.NONE);
public StepInfo<AGV_LEAVE_A4_STEP> agvA4Step = new StepInfo<AGV_LEAVE_A4_STEP>(AGV_LEAVE_A4_STEP.NONE); //public StepInfo<AGV_LEAVE_A4_STEP> agvA4Step = new StepInfo<AGV_LEAVE_A4_STEP>(AGV_LEAVE_A4_STEP.NONE);
/// <summary> /// <summary>
/// A4料架情况 /// A4料架情况
/// </summary> /// </summary>
...@@ -64,194 +64,194 @@ namespace OnlineStore.DeviceLibrary ...@@ -64,194 +64,194 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// AGV进入处理 /// AGV进入处理
/// </summary> /// </summary>
private void ProcessA3Agv() //private void ProcessA3Agv()
{ //{
if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.NONE)) // if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.NONE))
{ // {
//检测左侧入口IO,是否可继续进入料架 // //检测左侧入口IO,是否可继续进入料架
if (IOValue(IO_Type.Pkg_Stop_Check1).Equals(IO_VALUE.LOW)) // if (IOValue(IO_Type.Pkg_Stop_Check1).Equals(IO_VALUE.LOW))
{ // {
agvA3Step.Msg = "料架未满,可以进入"; // agvA3Step.Msg = "料架未满,可以进入";
agvClient.SetStatus("A3", "", "", Asa.ClientAction.NeedEnter); // agvClient.SetStatus("A3", "", "", Asa.ClientAction.NeedEnter);
} // }
else // else
{ // {
//已经满了 // //已经满了
agvA3Step.Msg = "料架已满,不允许进入"; // agvA3Step.Msg = "料架已满,不允许进入";
agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.NONE); // agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.NONE);
agvClient.SetStatus("A3", "", "", Asa.ClientAction.None); // agvClient.SetStatus("A3", "", "", Asa.ClientAction.None);
} // }
} // }
else if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.START_ENTER)) // else if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.START_ENTER))
{ // {
if (IOValue(IO_Type.Pkg_Stop_Check1).Equals(IO_VALUE.LOW)) // if (IOValue(IO_Type.Pkg_Stop_Check1).Equals(IO_VALUE.LOW))
{ // {
agvA3Step.Msg = "收到 Agv 到达包装线A3点, 线体未满,开启链条1和2 "; // agvA3Step.Msg = "收到 Agv 到达包装线A3点, 线体未满,开启链条1和2 ";
IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH);
agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.WAIT_ENTER_FINISH); // agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.WAIT_ENTER_FINISH);
} // }
} // }
else if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.WAIT_ENTER_FINISH)) // else if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.WAIT_ENTER_FINISH))
{ // {
bool enterFinished = IOValue(IO_Type.Pkg_In_Check).Equals(IO_VALUE.HIGH); // bool enterFinished = IOValue(IO_Type.Pkg_In_Check).Equals(IO_VALUE.HIGH);
if (enterFinished) // if (enterFinished)
{ // {
agvA3Step.Msg = "Agv 料架进入包装线A3点完成, 3秒后允许继续进入 "; // agvA3Step.Msg = "Agv 料架进入包装线A3点完成, 3秒后允许继续进入 ";
agvClient.SetStatus("A3", "", "", Asa.ClientAction.FinishEnter); // agvClient.SetStatus("A3", "", "", Asa.ClientAction.FinishEnter);
agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.FINISH_ENTER); // agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.FINISH_ENTER);
agvA3Step.AddTimeWait(3000); // agvA3Step.AddTimeWait(3000);
} // }
else // else
{ // {
bool timeOut = agvA3Step.IsTimeOut(20000); // bool timeOut = agvA3Step.IsTimeOut(20000);
if (timeOut) // if (timeOut)
{ // {
agvA3Step.Msg = "Agv 料架进入包装线A3点20秒内未检测到入口信号,超时结束 "; // agvA3Step.Msg = "Agv 料架进入包装线A3点20秒内未检测到入口信号,超时结束 ";
agvClient.SetStatus("A3", "", "", Asa.ClientAction.FinishEnter); // agvClient.SetStatus("A3", "", "", Asa.ClientAction.FinishEnter);
agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.FINISH_ENTER); // agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.FINISH_ENTER);
agvA3Step.AddTimeWait(3000); // agvA3Step.AddTimeWait(3000);
} // }
} // }
} // }
else if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.FINISH_ENTER)) // else if (agvA3Step.IsStep(AGV_ENTER_A3_STEP.FINISH_ENTER))
{ // {
if (agvA3Step.IsFinished()) // if (agvA3Step.IsFinished())
{ // {
agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.NONE); // agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.NONE);
} // }
} // }
} //}
/// <summary> /// <summary>
/// AGV送出处理 /// AGV送出处理
/// </summary> /// </summary>
private void ProcessA4Agv() //private void ProcessA4Agv()
{ //{
if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.NONE)) // if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.NONE))
{ // {
//检测右侧IO,是否有料架要出/入(需要保留2个料架) // //检测右侧IO,是否有料架要出/入(需要保留2个料架)
bool hasEmptyShelf = IOValue(IO_Type.Pkg_Out_Stop_Check).Equals(IO_VALUE.HIGH); // bool hasEmptyShelf = IOValue(IO_Type.Pkg_Out_Stop_Check).Equals(IO_VALUE.HIGH);
bool has3EmptyShelf = IOValue(IO_Type.Pkg_Empty_Shelf_Check).Equals(IO_VALUE.HIGH); // bool has3EmptyShelf = IOValue(IO_Type.Pkg_Empty_Shelf_Check).Equals(IO_VALUE.HIGH);
bool hasMoreThan3Shelf = IOValue(IO_Type.Pkg_Rotot_Forbidden_Check).Equals(IO_VALUE.HIGH); // bool hasMoreThan3Shelf = IOValue(IO_Type.Pkg_Rotot_Forbidden_Check).Equals(IO_VALUE.HIGH);
if (hasEmptyShelf) // if (hasEmptyShelf)
{ // {
A4_Shelf_Exist = true; // A4_Shelf_Exist = true;
if (has3EmptyShelf && hasMoreThan3Shelf) // if (has3EmptyShelf && hasMoreThan3Shelf)
{ // {
//出口已经满了,影响机器人工作了,优先级变高 // //出口已经满了,影响机器人工作了,优先级变高
agvA4Step.Msg = "包装线出口料架大于等于3个,必须尽快拉走一个"; // agvA4Step.Msg = "包装线出口料架大于等于3个,必须尽快拉走一个";
agvClient.SetStatus("A4", "", "00", Asa.ClientAction.NeedLeave, Asa.ClientLevel.High); // agvClient.SetStatus("A4", "", "00", Asa.ClientAction.NeedLeave, Asa.ClientLevel.High);
}else if (has3EmptyShelf) // }else if (has3EmptyShelf)
{ // {
agvA4Step.Msg = "包装线出口料架大于2个,需要拉走一个"; // agvA4Step.Msg = "包装线出口料架大于2个,需要拉走一个";
agvClient.SetStatus("A4", "", "00", Asa.ClientAction.NeedLeave, Asa.ClientLevel.Middle); // agvClient.SetStatus("A4", "", "00", Asa.ClientAction.NeedLeave, Asa.ClientLevel.Middle);
} // }
else // else
{ // {
agvA4Step.Msg = "包装线出口料架小于2个,低优先级"; // agvA4Step.Msg = "包装线出口料架小于2个,低优先级";
agvClient.SetStatus("A4", "", "00", Asa.ClientAction.NeedLeave, Asa.ClientLevel.Low); // agvClient.SetStatus("A4", "", "00", Asa.ClientAction.NeedLeave, Asa.ClientLevel.Low);
} // }
} // }
else // else
{ // {
if (has3EmptyShelf || hasMoreThan3Shelf) // if (has3EmptyShelf || hasMoreThan3Shelf)
{ // {
agvA4Step.Msg = "包装线出口料架信号未检测到,但已有2料架信号,转动链条2, 3"; // agvA4Step.Msg = "包装线出口料架信号未检测到,但已有2料架信号,转动链条2, 3";
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH);
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.WAIT_TO_EXIT); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.WAIT_TO_EXIT);
agvA4Step.AddIoWait(IO_Type.Pkg_Rotot_Forbidden_Check, IO_VALUE.LOW); // agvA4Step.AddIoWait(IO_Type.Pkg_Rotot_Forbidden_Check, IO_VALUE.LOW);
agvA4Step.AddIoWait(IO_Type.Pkg_Out_Stop_Check, IO_VALUE.HIGH); // agvA4Step.AddIoWait(IO_Type.Pkg_Out_Stop_Check, IO_VALUE.HIGH);
} // }
else // else
{ // {
//已经没料架了 // //已经没料架了
agvA4Step.Msg = "包装线出口无料架,需要尽快补充"; // agvA4Step.Msg = "包装线出口无料架,需要尽快补充";
A4_Shelf_Exist = false; // A4_Shelf_Exist = false;
agvClient.SetStatus("A4", "", "00", Asa.ClientAction.None, Asa.ClientLevel.Low); // agvClient.SetStatus("A4", "", "00", Asa.ClientAction.None, Asa.ClientLevel.Low);
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE);
} // }
} // }
}else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.WAIT_TO_EXIT)) // }else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.WAIT_TO_EXIT))
{ // {
if (agvA4Step.IsFinished()) // if (agvA4Step.IsFinished())
{ // {
agvA4Step.Msg = "料架已到包装线出口,停止链条3"; // agvA4Step.Msg = "料架已到包装线出口,停止链条3";
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE);
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW);
} // }
else if (agvA4Step.IsTimeOut(20000)) // else if (agvA4Step.IsTimeOut(20000))
{ // {
agvA4Step.Msg = "料架到包装线出口超时,停止链条3"; // agvA4Step.Msg = "料架到包装线出口超时,停止链条3";
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE);
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW);
} // }
else // else
{ // {
KeepLineRun(IO_Type.Pkg_Line3_Forward); // KeepLineRun(IO_Type.Pkg_Line3_Forward);
KeepLineRun(IO_Type.Pkg_Line2_Forward); // KeepLineRun(IO_Type.Pkg_Line2_Forward);
} // }
} // }
else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.START_LEAVE)) // else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.START_LEAVE))
{ // {
agvA4Step.Msg = "收到 Agv 到达包装线A4点, 开启链条,准备送出料架 "; // agvA4Step.Msg = "收到 Agv 到达包装线A4点, 开启链条,准备送出料架 ";
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Out_Stop_Down, IO_VALUE.HIGH, 2000); // IOMove(IO_Type.Pkg_Out_Stop_Down, IO_VALUE.HIGH, 2000);
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.WAIT_LEAVE_FINISH); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.WAIT_LEAVE_FINISH);
agvA4Step.AddTimeWait(30000); // agvA4Step.AddTimeWait(30000);
} // }
else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.WAIT_LEAVE_FINISH)) // else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.WAIT_LEAVE_FINISH))
{ // {
if (agvA4Step.IsFinished()) // if (agvA4Step.IsFinished())
{ // {
agvA4Step.Msg = "Agv 料架离开包装线A4点超时完成, 停止链条 "; // agvA4Step.Msg = "Agv 料架离开包装线A4点超时完成, 停止链条 ";
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.FINISH_LEAVE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.FINISH_LEAVE);
agvA4Step.AddTimeWait(5000); // agvA4Step.AddTimeWait(5000);
} // }
} // }
else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.FINISH_LEAVE)) // else if (agvA4Step.IsStep(AGV_LEAVE_A4_STEP.FINISH_LEAVE))
{ // {
if (agvA4Step.IsFinished()) // if (agvA4Step.IsFinished())
{ // {
agvClient.SetStatus("A4", "", "00", Asa.ClientAction.FinishLeave); // agvClient.SetStatus("A4", "", "00", Asa.ClientAction.FinishLeave);
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.NONE);
} // }
} // }
} //}
private void AgvClient_Ready(string name, string content) //private void AgvClient_Ready(string name, string content)
{ //{
LogUtil.info("收到 AgvClient_Ready [" + name + "] "); // LogUtil.info("收到 AgvClient_Ready [" + name + "] ");
if (name.Equals("A3")) // if (name.Equals("A3"))
{ // {
agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.START_ENTER); // agvA3Step.ToNextStep(AGV_ENTER_A3_STEP.START_ENTER);
}else if (name.Equals("A4")) // }else if (name.Equals("A4"))
{ // {
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.START_LEAVE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.START_LEAVE);
} // }
} //}
private void AgvClient_CloseDoor(string name, string rfid) //private void AgvClient_CloseDoor(string name, string rfid)
{ //{
if (name.Equals("A4")) // if (name.Equals("A4"))
{ // {
agvA4Step.Msg = "Agv 料架离开包装线A4点,收到AGV反馈完成, 停止链条 "; // agvA4Step.Msg = "Agv 料架离开包装线A4点,收到AGV反馈完成, 停止链条 ";
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.FINISH_LEAVE); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.FINISH_LEAVE);
} // }
} //}
private void AgvClient_Log(string s) //private void AgvClient_Log(string s)
{ //{
LogUtil.debug("AGV: " + s); // LogUtil.debug("AGV: " + s);
} //}
} }
} }
...@@ -96,8 +96,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -96,8 +96,8 @@ namespace OnlineStore.DeviceLibrary
if (agvClient_Dbline.A5_ReadyEnter) if (agvClient_Dbline.A5_ReadyEnter)
{ {
//检测左侧升降无料架,且在下方,并且料架没满 //检测左侧升降无料架,且在下方,并且料架没满
bool topFull = IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH); bool topFull = IOValue(IO_Type.LHigh_FullCheck).Equals(IO_VALUE.HIGH);
bool bottomFull = IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH); bool bottomFull = IOValue(IO_Type.LLow_FullCheck).Equals(IO_VALUE.HIGH);
bool hasShelfLeft = IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH); bool hasShelfLeft = IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH);
bool hasShelfRight = IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH); bool hasShelfRight = IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH);
//升降机在上方 //升降机在上方
...@@ -183,7 +183,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -183,7 +183,7 @@ namespace OnlineStore.DeviceLibrary
//升降机在下方 //升降机在下方
bool isRightUpdownDown = CylinderIsOk(IO_Type.R_Updown_Up, IO_Type.R_Updown_Down); bool isRightUpdownDown = CylinderIsOk(IO_Type.R_Updown_Up, IO_Type.R_Updown_Down);
//上层料满 //上层料满
bool topFull = IOValue(IO_Type.RHigh_StopCheck1).Equals(IO_VALUE.HIGH); bool topFull = IOValue(IO_Type.RHigh_FullCheck).Equals(IO_VALUE.HIGH);
if (isChainRun || !isRightUpdownDown || topFull)//料盘无法送入 if (isChainRun || !isRightUpdownDown || topFull)//料盘无法送入
{ {
string msg = "A6 "; string msg = "A6 ";
...@@ -200,13 +200,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -200,13 +200,13 @@ namespace OnlineStore.DeviceLibrary
msg = msg + "上层料满,"; msg = msg + "上层料满,";
} }
//有料架或线上无空间 //有料架或线上无空间
benQInStepRight.Msg = msg + "送料 BenQ AGV 不允许进入,"; benQInStepRight.Msg = msg + "送料AGV 不允许进入,";
benQInStepRight.ToNextStep(BenQ_IN_STEP.NONE); benQInStepRight.ToNextStep(BenQ_IN_STEP.NONE);
} }
else else
{ {
agvClient_Dbline.MayEnter("A6"); agvClient_Dbline.MayEnter("A6");
benQInStepRight.Msg = "BenQ AGV 料架准备送入,链条启动"; benQInStepRight.Msg = "产线AGV 料架准备送入,链条启动";
benQInStepRight.ToNextStep(BenQ_IN_STEP.SHELT_IN); benQInStepRight.ToNextStep(BenQ_IN_STEP.SHELT_IN);
benQInStepRight.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH); benQInStepRight.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH);
benQInStepRight.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH); benQInStepRight.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH);
...@@ -372,7 +372,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -372,7 +372,7 @@ namespace OnlineStore.DeviceLibrary
if (agvClient_Dbline.A6_InProcess) if (agvClient_Dbline.A6_InProcess)
return; return;
//上层料满 //上层料满
bool topfull = IOValue(IO_Type.RHigh_StopCheck1).Equals(IO_VALUE.HIGH); bool topfull = IOValue(IO_Type.RHigh_FullCheck).Equals(IO_VALUE.HIGH);
//下层有料出 //下层有料出
bool bottomfull = IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.HIGH); bool bottomfull = IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.HIGH);
...@@ -414,10 +414,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -414,10 +414,10 @@ namespace OnlineStore.DeviceLibrary
{ {
if (agvClient_Dbline.A5_InProcess) if (agvClient_Dbline.A5_InProcess)
return; return;
bool topFull = IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH); bool topFull = IOValue(IO_Type.LHigh_FullCheck).Equals(IO_VALUE.HIGH);
bool bottomFull = IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH); bool bottomFull = IOValue(IO_Type.LLow_FullCheck).Equals(IO_VALUE.HIGH);
//左侧上层只剩最后一个料,优先级最高 //左侧上层只剩最后一个料,优先级最高
bool topX613 = IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.HIGH); bool topX613 = IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH);
//提升机上有料 //提升机上有料
bool hasShelfLeft = IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH); bool hasShelfLeft = IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH);
bool hasShelfRight = IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH); bool hasShelfRight = IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH);
......
...@@ -14,17 +14,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -14,17 +14,17 @@ namespace OnlineStore.DeviceLibrary
DoubleLineConfig Config; DoubleLineConfig Config;
static String agvServerIp = ConfigAppSettings.GetValue(Setting_Init.AgvServerIp); static String agvServerIp = ConfigAppSettings.GetValue(Setting_Init.AgvServerIp);
Asa.AgvClient agvClient = new Asa.AgvClient(agvServerIp); //Asa.AgvClient agvClient = new Asa.AgvClient(agvServerIp);
AgvClient_Dbline agvClient_Dbline = new AgvClient_Dbline(); AgvClient_Dbline agvClient_Dbline = new AgvClient_Dbline();
public PackageLine(DoubleLineConfig config) : base(config) public PackageLine(DoubleLineConfig config) : base(config)
{ {
this.Config = config; this.Config = config;
agvClient.CancelState = false; //agvClient.CancelState = false;
agvClient.Log += AgvClient_Log; //agvClient.Log += AgvClient_Log;
agvClient.Ready += AgvClient_Ready; //agvClient.Ready += AgvClient_Ready;
agvClient.CloseDoor += AgvClient_CloseDoor; //agvClient.CloseDoor += AgvClient_CloseDoor;
mainTimer.Elapsed += packageLineProcess; mainTimer.Elapsed += packageLineProcess;
agvClient_Dbline.Init(); agvClient_Dbline.Init();
} }
...@@ -39,43 +39,43 @@ namespace OnlineStore.DeviceLibrary ...@@ -39,43 +39,43 @@ namespace OnlineStore.DeviceLibrary
public override void Reset() public override void Reset()
{ {
LogUtil.info("包装线体开始复位"); LogUtil.info("双层线出入口开始复位");
mainStep = new StepInfo<MAIN_STEP>(MAIN_STEP.NONE); mainStep = new StepInfo<MAIN_STEP>(MAIN_STEP.NONE);
agvA3Step = new StepInfo<AGV_ENTER_A3_STEP>(AGV_ENTER_A3_STEP.NONE); //agvA3Step = new StepInfo<AGV_ENTER_A3_STEP>(AGV_ENTER_A3_STEP.NONE);
agvA4Step = new StepInfo<AGV_LEAVE_A4_STEP>(AGV_LEAVE_A4_STEP.NONE); // agvA4Step = new StepInfo<AGV_LEAVE_A4_STEP>(AGV_LEAVE_A4_STEP.NONE);
inStep = new StepInfo<IN_SHELF>(IN_SHELF.NONE); inStep = new StepInfo<IN_SHELF>(IN_SHELF.NONE);
pkgStationStep = new StepInfo<PKG_STATION_STEP>(PKG_STATION_STEP.NONE); //pkgStationStep = new StepInfo<PKG_STATION_STEP>(PKG_STATION_STEP.NONE);
s2StationStep = new StepInfo<S2_STATION_STEP>(S2_STATION_STEP.NONE); //s2StationStep = new StepInfo<S2_STATION_STEP>(S2_STATION_STEP.NONE);
benQInStepLeft = new StepInfo<BenQ_IN_STEP>(BenQ_IN_STEP.NONE); benQInStepLeft = new StepInfo<BenQ_IN_STEP>(BenQ_IN_STEP.NONE);
benQInStepRight = new StepInfo<BenQ_IN_STEP>(BenQ_IN_STEP.NONE); benQInStepRight = new StepInfo<BenQ_IN_STEP>(BenQ_IN_STEP.NONE);
benQOutStep = new StepInfo<BenQ_OUT_STEP>(BenQ_OUT_STEP.NONE); benQOutStep = new StepInfo<BenQ_OUT_STEP>(BenQ_OUT_STEP.NONE);
//判断机器人是否连接,若未连接,直接连接 //判断机器人是否连接,若未连接,直接连接
if (!ABBControl.IsConnected(Config.ABB3_IP)) //if (!ABBControl.IsConnected(Config.ABB3_IP))
{ //{
ABBControl.StartABBControl(Config.ABB3_IP); // ABBControl.StartABBControl(Config.ABB3_IP);
} //}
if (!agvClient.IsConn) //if (!agvClient.IsConn)
{ //{
LogUtil.info("开始连接AGV服务"); // LogUtil.info("开始连接AGV服务");
agvClient.Connect(); // agvClient.Connect();
} //}
if (!agvClient_Dbline.ISConnected()) if (!agvClient_Dbline.ISConnected())
{ {
agvClient_Dbline.agvClient.Connect(); agvClient_Dbline.agvClient.Connect();
LogUtil.info("开启BenQ AGV 连接"); LogUtil.info("开启产线 AGV 连接");
} }
//包装线体工位下降 //包装线体工位下降
CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down); //CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down);
//阻挡1下降 2上升 3上升 4上升 //阻挡1下降 2上升 3上升 4上升
IOMove(IO_Type.Pkg_Stop1_Down, IO_VALUE.HIGH); //IOMove(IO_Type.Pkg_Stop1_Down, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Stop3_Down, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Stop3_Down, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Out_Stop_Down, IO_VALUE.LOW); //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.HIGH);
...@@ -84,14 +84,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -84,14 +84,14 @@ namespace OnlineStore.DeviceLibrary
// //
LogUtil.info(Name + " 线体复位:线体转30秒"); LogUtil.info(Name + " 线体复位:线体转30秒");
int lineRunTime = 30000; int lineRunTime = 30000;
IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.HIGH, lineRunTime); //IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.HIGH, lineRunTime);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH, lineRunTime); //IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH, lineRunTime);
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH, lineRunTime); //IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH, lineRunTime);
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, lineRunTime); IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, lineRunTime);
//S2工位 //S2工位
IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.LOW); //IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW); // IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW);
//双层线出料口 //双层线出料口
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH); IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH);
...@@ -115,11 +115,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -115,11 +115,11 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
ProcessA3Agv(); //ProcessA3Agv();
ProcessA4Agv(); //ProcessA4Agv();
ProcessInShelf(); //ProcessInShelf();
ProcessPkgStation(); //ProcessPkgStation();
ProcessS2Station(); //ProcessS2Station();
ProcessBenQLeftEnter(); ProcessBenQLeftEnter();
ProcessBenQRightEnter(); ProcessBenQRightEnter();
ProcessBenQLeave(); ProcessBenQLeave();
...@@ -137,7 +137,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -137,7 +137,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (mainStep.IsFinished()) if (mainStep.IsFinished())
{ {
LogUtil.info("包装线体复位完成"); LogUtil.info("双层线出入口复位完成");
mainStep.ToNextStep(MAIN_STEP.RUN); mainStep.ToNextStep(MAIN_STEP.RUN);
} }
} }
...@@ -145,7 +145,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -145,7 +145,7 @@ namespace OnlineStore.DeviceLibrary
public override bool StartRun() public override bool StartRun()
{ {
LogUtil.info(Name + "包装线开始启动,启动时间:" + DateTime.Now); LogUtil.info(Name + "双层线出入口开始启动,启动时间:" + DateTime.Now);
Reset(); Reset();
return true; return true;
} }
...@@ -153,23 +153,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -153,23 +153,23 @@ namespace OnlineStore.DeviceLibrary
public override void StopMove() public override void StopMove()
{ {
mainStep.ToNextStep(MAIN_STEP.NONE); mainStep.ToNextStep(MAIN_STEP.NONE);
LogUtil.info(Name + " 包装线体停止"); LogUtil.info(Name + " 双层线出入口停止");
//包装线体工位下降 //包装线体工位下降
CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down); //CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down);
IOMove(IO_Type.Pkg_Stop1_Down, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Stop1_Down, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Stop3_Down, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Stop3_Down, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Out_Stop_Down, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Out_Stop_Down, IO_VALUE.LOW);
// ////
IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW); //IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
//S2工位 //S2工位
IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.LOW); IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW); //IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW);
//双层线出料口 //双层线出料口
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH); IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH);
...@@ -181,27 +181,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -181,27 +181,27 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.R_LineRun, IO_VALUE.LOW); IOMove(IO_Type.R_LineRun, IO_VALUE.LOW);
try //try
{ //{
if (!agvClient.IsConn) // if (!agvClient.IsConn)
{ // {
LogUtil.info("停止AGV服务"); // LogUtil.info("停止AGV服务");
agvClient.Close(); // agvClient.Close();
} // }
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
LogUtil.error("停止AGV服务出错", ex); // LogUtil.error("停止AGV服务出错", ex);
} //}
try try
{ {
LogUtil.info("停止BenQ AGV服务"); LogUtil.info("停止产线 AGV服务");
agvClient_Dbline.Dispose(); agvClient_Dbline.Dispose();
} }
catch(Exception ex) catch(Exception ex)
{ {
LogUtil.error("停止BenQ AGV服务出错", ex); LogUtil.error("停止产线 AGV服务出错", ex);
} }
} }
......
...@@ -62,7 +62,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -62,7 +62,7 @@ namespace OnlineStore.DeviceLibrary
bool hasShelfRight = IOValue(IO_Type.R_RightStopCheck).Equals(IO_VALUE.HIGH); bool hasShelfRight = IOValue(IO_Type.R_RightStopCheck).Equals(IO_VALUE.HIGH);
bool noShelfLeft = IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW); bool noShelfLeft = IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW);
//上层料满 //上层料满
bool full = IOValue(IO_Type.RHigh_StopCheck1).Equals(IO_VALUE.HIGH); bool full = IOValue(IO_Type.RHigh_FullCheck).Equals(IO_VALUE.HIGH);
bool chainNoRun = IOValue(IO_Type.R_OutLineRun).Equals(IO_VALUE.LOW); bool chainNoRun = IOValue(IO_Type.R_OutLineRun).Equals(IO_VALUE.LOW);
//判断是否是手动拉料架 //判断是否是手动拉料架
if (!hasShelfRight && !noShelfLeft && chainNoRun) if (!hasShelfRight && !noShelfLeft && chainNoRun)
......
...@@ -28,42 +28,42 @@ namespace OnlineStore.DeviceLibrary ...@@ -28,42 +28,42 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 料架进入处理 /// 料架进入处理
/// </summary> /// </summary>
private void ProcessInShelf() //private void ProcessInShelf()
{ //{
//检测左侧入口IO,检测到后线体转60S // //检测左侧入口IO,检测到后线体转60S
bool hasShelfIn = IOValue(IO_Type.Pkg_In_Check).Equals(IO_VALUE.HIGH); // bool hasShelfIn = IOValue(IO_Type.Pkg_In_Check).Equals(IO_VALUE.HIGH);
if (hasShelfIn) // if (hasShelfIn)
{ // {
inStep.Msg = "包装线检测到有料架进入,启动线体1和2"; // inStep.Msg = "包装线检测到有料架进入,启动线体1和2";
inStep.ToNextStep(IN_SHELF.LINE_RUN); // inStep.ToNextStep(IN_SHELF.LINE_RUN);
int lineRunTime = 60000; // int lineRunTime = 60000;
inStep.AddTimeWait(lineRunTime); // inStep.AddTimeWait(lineRunTime);
inStep.AddIoWait(IO_Type.Pkg_Stop_Check2, IO_VALUE.HIGH); // inStep.AddIoWait(IO_Type.Pkg_Stop_Check2, IO_VALUE.HIGH);
KeepLineRun(IO_Type.Pkg_Line1_Forward); // KeepLineRun(IO_Type.Pkg_Line1_Forward);
KeepLineRun(IO_Type.Pkg_Line2_Forward); // KeepLineRun(IO_Type.Pkg_Line2_Forward);
} // }
if (inStep.IsStep(IN_SHELF.NONE)) // if (inStep.IsStep(IN_SHELF.NONE))
{ // {
} // }
else if (inStep.IsStep(IN_SHELF.LINE_RUN)) // else if (inStep.IsStep(IN_SHELF.LINE_RUN))
{ // {
if (inStep.IsFinished()) // if (inStep.IsFinished())
{ // {
inStep.Msg = "包装线料架进入后,线体已启动60秒,停止线体"; // inStep.Msg = "包装线料架进入后,线体已启动60秒,停止线体";
//10秒已到,停止线体 // //10秒已到,停止线体
inStep.ToNextStep(IN_SHELF.NONE); // inStep.ToNextStep(IN_SHELF.NONE);
IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.LOW);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW);
} // }
else // else
{ // {
KeepLineRun(IO_Type.Pkg_Line1_Forward); // KeepLineRun(IO_Type.Pkg_Line1_Forward);
KeepLineRun(IO_Type.Pkg_Line2_Forward); // KeepLineRun(IO_Type.Pkg_Line2_Forward);
} // }
} // }
} //}
} }
} }
...@@ -11,7 +11,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -11,7 +11,7 @@ namespace OnlineStore.DeviceLibrary
{ {
partial class PackageLine partial class PackageLine
{ {
public StepInfo<PKG_STATION_STEP> pkgStationStep = new StepInfo<PKG_STATION_STEP>(PKG_STATION_STEP.NONE); // public StepInfo<PKG_STATION_STEP> pkgStationStep = new StepInfo<PKG_STATION_STEP>(PKG_STATION_STEP.NONE);
/// <summary> /// <summary>
/// 包装料架工位 /// 包装料架工位
/// </summary> /// </summary>
...@@ -55,129 +55,129 @@ namespace OnlineStore.DeviceLibrary ...@@ -55,129 +55,129 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 包装线工位 /// 包装线工位
/// </summary> /// </summary>
private void ProcessPkgStation() //private void ProcessPkgStation()
{ //{
if (pkgStationStep.IsStep(PKG_STATION_STEP.NONE)) // if (pkgStationStep.IsStep(PKG_STATION_STEP.NONE))
{ // {
bool hasPkgShelf = IOValue(IO_Type.Pkg_Station_Check).Equals(IO_VALUE.HIGH); // bool hasPkgShelf = IOValue(IO_Type.Pkg_Station_Check).Equals(IO_VALUE.HIGH);
if (hasPkgShelf) // if (hasPkgShelf)
{ // {
pkgStationStep.Msg = "包装线已有料架,等待读取RFID"; // pkgStationStep.Msg = "包装线已有料架,等待读取RFID";
pkgStationStep.ToNextStep(PKG_STATION_STEP.READ_RFID); // pkgStationStep.ToNextStep(PKG_STATION_STEP.READ_RFID);
} // }
else // else
{ // {
pkgStationStep.Msg = "包装线无料架,等待料架进入"; // pkgStationStep.Msg = "包装线无料架,等待料架进入";
pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_SHELF); // pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_SHELF);
} // }
} // }
else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_SHELF)) // else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_SHELF))
{ // {
bool hasWaitShelf = IOValue(IO_Type.Pkg_Stop_Check2).Equals(IO_VALUE.HIGH); // bool hasWaitShelf = IOValue(IO_Type.Pkg_Stop_Check2).Equals(IO_VALUE.HIGH);
//有等待的料架 // //有等待的料架
if (hasWaitShelf) // if (hasWaitShelf)
{ // {
pkgStationStep.Msg = "包装线等待位发现料架, 将其送入工位"; // pkgStationStep.Msg = "包装线等待位发现料架, 将其送入工位";
pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_SHELF_TO_STATION); // pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_SHELF_TO_STATION);
pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Check, IO_VALUE.HIGH,3000); // pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Check, IO_VALUE.HIGH,3000);
//IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.HIGH); // //IOMove(IO_Type.Pkg_Line1_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.HIGH, 2000); // IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.HIGH, 2000);
} // }
} // }
else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_SHELF_TO_STATION)) // else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_SHELF_TO_STATION))
{ // {
if (pkgStationStep.IsFinished()) // if (pkgStationStep.IsFinished())
{ // {
pkgStationStep.Msg = "包装线料架到达工位,停止线体1和2,等待读取RFID"; // pkgStationStep.Msg = "包装线料架到达工位,停止线体1和2,等待读取RFID";
pkgStationStep.ToNextStep(PKG_STATION_STEP.READ_RFID); // pkgStationStep.ToNextStep(PKG_STATION_STEP.READ_RFID);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW);
} // }
else // else
{ // {
bool line2Stop = IOValue(IO_Type.Pkg_Line2_Forward).Equals(IO_VALUE.LOW); // bool line2Stop = IOValue(IO_Type.Pkg_Line2_Forward).Equals(IO_VALUE.LOW);
if (line2Stop) // if (line2Stop)
{ // {
LogUtil.info("包装线线体2已停止,但料架还未到达工位,重新启动"); // LogUtil.info("包装线线体2已停止,但料架还未到达工位,重新启动");
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH);
} // }
} // }
} // }
else if (pkgStationStep.IsStep(PKG_STATION_STEP.READ_RFID)) // else if (pkgStationStep.IsStep(PKG_STATION_STEP.READ_RFID))
{ // {
if (pkgStationStep.IsTimeOut(1000)) // if (pkgStationStep.IsTimeOut(1000))
{ // {
//1秒读取1次 // //1秒读取1次
PkgShelfRFID = ""; // PkgShelfRFID = "";
string rfid = RFIDManager.ReadRFID(Config.Pkg_Rfid, true).NumStr(); // string rfid = RFIDManager.ReadRFID(Config.Pkg_Rfid, true).NumStr();
if (rfid.Contains("A")) // if (rfid.Contains("A"))
{ // {
pkgStationStep.Msg = "包装线读取到RFID[" + rfid + "], 工位顶升"; // pkgStationStep.Msg = "包装线读取到RFID[" + rfid + "], 工位顶升";
pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_STATION_UP); // pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_STATION_UP);
pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Down, IO_VALUE.LOW); // pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Down, IO_VALUE.LOW);
pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Up, IO_VALUE.HIGH); // pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Up, IO_VALUE.HIGH);
PkgShelfRFID = rfid; // PkgShelfRFID = rfid;
//包装线体工位上升 // //包装线体工位上升
CylinderMove(null, IO_Type.Pkg_Station_SOL_Down, IO_Type.Pkg_Station_SOL_UP); // CylinderMove(null, IO_Type.Pkg_Station_SOL_Down, IO_Type.Pkg_Station_SOL_UP);
} // }
else // else
{ // {
pkgStationStep.Msg = "包装线读取到的RFID数据[" + rfid + "]错误"; // pkgStationStep.Msg = "包装线读取到的RFID数据[" + rfid + "]错误";
pkgStationStep.ToNextStep(PKG_STATION_STEP.READ_RFID); // pkgStationStep.ToNextStep(PKG_STATION_STEP.READ_RFID);
} // }
} // }
} // }
else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_STATION_UP)) // else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_STATION_UP))
{ // {
if (pkgStationStep.IsFinished()) // if (pkgStationStep.IsFinished())
{ // {
pkgStationStep.Msg = "包装线工位顶升到位,等待机器人抓取[" + PkgShelfRFID + "]"; // pkgStationStep.Msg = "包装线工位顶升到位,等待机器人抓取[" + PkgShelfRFID + "]";
pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_ROBOT); // pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_ROBOT);
} // }
}else if (pkgStationStep.IsStep(PKG_STATION_STEP.SHELF_EMPTY)) // }else if (pkgStationStep.IsStep(PKG_STATION_STEP.SHELF_EMPTY))
{ // {
pkgStationStep.Msg = "包装线工位料架[" + PkgShelfRFID + "]已空,下降顶升,准备放行"; // pkgStationStep.Msg = "包装线工位料架[" + PkgShelfRFID + "]已空,下降顶升,准备放行";
pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_STATION_DOWN); // pkgStationStep.ToNextStep(PKG_STATION_STEP.WAIT_STATION_DOWN);
pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Down, IO_VALUE.HIGH); // pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Down, IO_VALUE.HIGH);
pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Up, IO_VALUE.LOW); // pkgStationStep.AddIoWait(IO_Type.Pkg_Station_Up, IO_VALUE.LOW);
//包装线体工位下降 // //包装线体工位下降
CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down); // CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down);
} // }
else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_STATION_DOWN)) // else if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_STATION_DOWN))
{ // {
if (pkgStationStep.IsFinished()) // if (pkgStationStep.IsFinished())
{ // {
pkgStationStep.Msg = "包装线工位料架[" + PkgShelfRFID + "]顶升下降到位,开始放行"; // pkgStationStep.Msg = "包装线工位料架[" + PkgShelfRFID + "]顶升下降到位,开始放行";
pkgStationStep.ToNextStep(PKG_STATION_STEP.TO_EMPTY_STATION); // pkgStationStep.ToNextStep(PKG_STATION_STEP.TO_EMPTY_STATION);
pkgStationStep.AddIoWait(IO_Type.Pkg_Out_Stop_Check, IO_VALUE.HIGH); // pkgStationStep.AddIoWait(IO_Type.Pkg_Out_Stop_Check, IO_VALUE.HIGH);
pkgStationStep.AddIoWait(IO_Type.Pkg_Rotot_Forbidden_Check, IO_VALUE.HIGH); // pkgStationStep.AddIoWait(IO_Type.Pkg_Rotot_Forbidden_Check, IO_VALUE.HIGH);
pkgStationStep.AddTimeWait(20000); // pkgStationStep.AddTimeWait(20000);
IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH); // IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.HIGH);
IOMove(IO_Type.Pkg_Station_Stop_Down, IO_VALUE.HIGH, 3000); // IOMove(IO_Type.Pkg_Station_Stop_Down, IO_VALUE.HIGH, 3000);
IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.HIGH, 3000); // IOMove(IO_Type.Pkg_Stop2_Down, IO_VALUE.HIGH, 3000);
} // }
}else if (pkgStationStep.IsStep(PKG_STATION_STEP.TO_EMPTY_STATION)) // }else if (pkgStationStep.IsStep(PKG_STATION_STEP.TO_EMPTY_STATION))
{ // {
if (pkgStationStep.IsFinished()) // if (pkgStationStep.IsFinished())
{ // {
pkgStationStep.Msg = "包装线工位料架[" + PkgShelfRFID + "放行完成"; // pkgStationStep.Msg = "包装线工位料架[" + PkgShelfRFID + "放行完成";
PkgShelfRFID = ""; // PkgShelfRFID = "";
//IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW); // //IOMove(IO_Type.Pkg_Line2_Forward, IO_VALUE.LOW);
//IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW); // //IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
pkgStationStep.ToNextStep(PKG_STATION_STEP.NONE); // pkgStationStep.ToNextStep(PKG_STATION_STEP.NONE);
agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.WAIT_TO_EXIT); // agvA4Step.ToNextStep(AGV_LEAVE_A4_STEP.WAIT_TO_EXIT);
} // }
} // }
} //}
} }
} }
...@@ -21,7 +21,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -21,7 +21,7 @@ namespace OnlineStore.DeviceLibrary
PackageRobotTaskBean packgeRobotTaskBean; PackageRobotTaskBean packgeRobotTaskBean;
public StepInfo<S2_STATION_STEP> s2StationStep = new StepInfo<S2_STATION_STEP>(S2_STATION_STEP.NONE); //public StepInfo<S2_STATION_STEP> s2StationStep = new StepInfo<S2_STATION_STEP>(S2_STATION_STEP.NONE);
/// <summary> /// <summary>
/// 包装料架工位 /// 包装料架工位
/// </summary> /// </summary>
...@@ -71,284 +71,284 @@ namespace OnlineStore.DeviceLibrary ...@@ -71,284 +71,284 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 双层线大料工位 /// 双层线大料工位
/// </summary> /// </summary>
private void ProcessS2Station() //private void ProcessS2Station()
{ //{
ProcessShelfOutS2(); // ProcessShelfOutS2();
if (s2StationStep.IsStep(S2_STATION_STEP.NONE)) // if (s2StationStep.IsStep(S2_STATION_STEP.NONE))
{ // {
bool hasShelf = IOValue(IO_Type.S2_StopCheck2).Equals(IO_VALUE.HIGH); // bool hasShelf = IOValue(IO_Type.S2_StopCheck2).Equals(IO_VALUE.HIGH);
if (hasShelf) // if (hasShelf)
{ // {
s2StationStep.Msg ="工位2检测到料架,等待读取RFID"; // s2StationStep.Msg ="工位2检测到料架,等待读取RFID";
s2StationStep.ToNextStep(S2_STATION_STEP.READ_RFID); // s2StationStep.ToNextStep(S2_STATION_STEP.READ_RFID);
} else // } else
{ // {
s2StationStep.Msg ="工位2无料架,等待料架进入"; // s2StationStep.Msg ="工位2无料架,等待料架进入";
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_SHELF);
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_SHELF)) { // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_SHELF)) {
bool hasWaitShelf = IOValue(IO_Type.S2_StopCheck1).Equals(IO_VALUE.HIGH); // bool hasWaitShelf = IOValue(IO_Type.S2_StopCheck1).Equals(IO_VALUE.HIGH);
//有等待的料架 // //有等待的料架
if (hasWaitShelf) // if (hasWaitShelf)
{ // {
//验证料架是否可用 // //验证料架是否可用
if (LineManager.Line.S2CanGetShelf) // if (LineManager.Line.S2CanGetShelf)
{ // {
s2StationStep.Msg = "工位2等待位发现料架,降下S2_StopCylinder1(2秒),打开工位2链条, 将其送入工位"; // s2StationStep.Msg = "工位2等待位发现料架,降下S2_StopCylinder1(2秒),打开工位2链条, 将其送入工位";
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_SHELF_TO_S2); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_SHELF_TO_S2);
s2StationStep.AddIoWait(IO_Type.S2_StopCheck1, IO_VALUE.LOW); // s2StationStep.AddIoWait(IO_Type.S2_StopCheck1, IO_VALUE.LOW);
s2StationStep.AddIoWait(IO_Type.S2_StopCheck2, IO_VALUE.HIGH); // s2StationStep.AddIoWait(IO_Type.S2_StopCheck2, IO_VALUE.HIGH);
IOMove(IO_Type.S2_LineRun, IO_VALUE.HIGH); // IOMove(IO_Type.S2_LineRun, IO_VALUE.HIGH);
IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.HIGH, 2000); // IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.HIGH, 2000);
} // }
else // else
{ // {
s2StationStep.Msg = "工位2等待位发现料架, 但工位一未使用完"; // s2StationStep.Msg = "工位2等待位发现料架, 但工位一未使用完";
} // }
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_SHELF_TO_S2)) { // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_SHELF_TO_S2)) {
if (s2StationStep.IsFinished()) // if (s2StationStep.IsFinished())
{ // {
s2StationStep.Msg ="料架到达工位2, 停止工位2链条, 开始读取RFID"; // s2StationStep.Msg ="料架到达工位2, 停止工位2链条, 开始读取RFID";
IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW); // IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW);
s2StationStep.ToNextStep(S2_STATION_STEP.READ_RFID); // s2StationStep.ToNextStep(S2_STATION_STEP.READ_RFID);
} // }
else // else
{ // {
KeepLineRun(IO_Type.S2_LineRun); // KeepLineRun(IO_Type.S2_LineRun);
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.READ_RFID)) // else if (s2StationStep.IsStep(S2_STATION_STEP.READ_RFID))
{ // {
if (s2StationStep.IsTimeOut(1000)) // if (s2StationStep.IsTimeOut(1000))
{ // {
string rfid = RFIDManager.ReadRFID(Config.S2_Rfid, true).NumStr(); // string rfid = RFIDManager.ReadRFID(Config.S2_Rfid, true).NumStr();
if (rfid.Contains("C")) // if (rfid.Contains("C"))
{ // {
ResultBean resultBean = HttpServer.GetPackInfo(rfid, PkgShelfRFID); // ResultBean resultBean = HttpServer.GetPackInfo(rfid, PkgShelfRFID);
//发送指令到服务器 // //发送指令到服务器
if (resultBean != null) // if (resultBean != null)
{ // {
if (resultBean.code == 0) // if (resultBean.code == 0)
{ // {
PackageRobotTaskBean shelfTaskBean = resultBean.data; // PackageRobotTaskBean shelfTaskBean = resultBean.data;
if (shelfTaskBean.emptyInBig > 0) // if (shelfTaskBean.emptyInBig > 0)
{ // {
s2StationStep.Msg = "料架[" + rfid + "]剩余包装料空位数位[" + shelfTaskBean.emptyInBig + "]工位2顶升"; // s2StationStep.Msg = "料架[" + rfid + "]剩余包装料空位数位[" + shelfTaskBean.emptyInBig + "]工位2顶升";
//还有包装料要放,升起顶升 // //还有包装料要放,升起顶升
BigShelfRFID = rfid; // BigShelfRFID = rfid;
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_STATION_UP); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_STATION_UP);
s2StationStep.AddIoWait(IO_Type.S2_TopCylinderUp, IO_VALUE.HIGH); // s2StationStep.AddIoWait(IO_Type.S2_TopCylinderUp, IO_VALUE.HIGH);
s2StationStep.AddIoWait(IO_Type.S2_TopCylinderDown, IO_VALUE.LOW); // s2StationStep.AddIoWait(IO_Type.S2_TopCylinderDown, IO_VALUE.LOW);
CylinderMove(null, IO_Type.S2_TopCylinderDown, IO_Type.S2_TopCylinderUp); // CylinderMove(null, IO_Type.S2_TopCylinderDown, IO_Type.S2_TopCylinderUp);
} // }
else // else
{ // {
s2StationStep.Msg = "工位2料架[" + rfid + "]已无空位,放行"; // s2StationStep.Msg = "工位2料架[" + rfid + "]已无空位,放行";
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
} // }
else // else
{ // {
s2StationStep.Msg = "工位2料架[" + rfid + "] 未从服务器获取到有效信息[" + resultBean.msg + "],放行大料架"; // s2StationStep.Msg = "工位2料架[" + rfid + "] 未从服务器获取到有效信息[" + resultBean.msg + "],放行大料架";
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
} // }
} // }
else if (rfid.Contains("D")) // else if (rfid.Contains("D"))
{ // {
s2StationStep.Msg = "工位2料架[" + rfid + "]不是大料架,直接放行"; // s2StationStep.Msg = "工位2料架[" + rfid + "]不是大料架,直接放行";
//不是大料架直接放行 // //不是大料架直接放行
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
else // else
{ // {
s2StationStep.Msg = "工位2料架RFID读取错误["+rfid+"],重新读取"; // s2StationStep.Msg = "工位2料架RFID读取错误["+rfid+"],重新读取";
s2StationStep.ToNextStep(S2_STATION_STEP.READ_RFID); // s2StationStep.ToNextStep(S2_STATION_STEP.READ_RFID);
} // }
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.OUT_SHELF)) // else if (s2StationStep.IsStep(S2_STATION_STEP.OUT_SHELF))
{ // {
TempBigRfid = ""; // TempBigRfid = "";
BigShelfRFID = ""; // BigShelfRFID = "";
s2StationStep.Msg ="工位2顶升下降"; // s2StationStep.Msg ="工位2顶升下降";
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_STATION_DOWN); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_STATION_DOWN);
s2StationStep.AddIoWait(IO_Type.S2_TopCylinderUp, IO_VALUE.LOW); // s2StationStep.AddIoWait(IO_Type.S2_TopCylinderUp, IO_VALUE.LOW);
s2StationStep.AddIoWait(IO_Type.S2_TopCylinderDown, IO_VALUE.HIGH); // s2StationStep.AddIoWait(IO_Type.S2_TopCylinderDown, IO_VALUE.HIGH);
CylinderMove(null, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown); // CylinderMove(null, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown);
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_STATION_DOWN)) { // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_STATION_DOWN)) {
if (s2StationStep.IsFinished()) // if (s2StationStep.IsFinished())
{ // {
s2StationStep.Msg ="工位2顶升下降完成,打开右侧下方线体, 开始放行料架"; // s2StationStep.Msg ="工位2顶升下降完成,打开右侧下方线体, 开始放行料架";
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_OUT_S2); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_OUT_S2);
s2StationStep.AddIoWait(IO_Type.S2_StopCheck2, IO_VALUE.LOW, 2000); // s2StationStep.AddIoWait(IO_Type.S2_StopCheck2, IO_VALUE.LOW, 2000);
s2StationStep.AddTimeWait(12000); // s2StationStep.AddTimeWait(12000);
KeepLineRun(IO_Type.S2_LineRun); // KeepLineRun(IO_Type.S2_LineRun);
//阻挡2下降2秒 // //阻挡2下降2秒
IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.HIGH, 2000); // IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.HIGH, 2000);
//打开右侧下方线体 // //打开右侧下方线体
KeepLineRun(IO_Type.R_LineRun); // KeepLineRun(IO_Type.R_LineRun);
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_OUT_S2)) { // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_OUT_S2)) {
if (s2StationStep.IsFinished()) // if (s2StationStep.IsFinished())
{ // {
if (outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.WAIT_OUT_IO)) // if (outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.WAIT_OUT_IO))
{ // {
//上一个料架流出未完成 // //上一个料架流出未完成
s2StationStep.Msg = "料架流出工位2完成,但上一个料架未到出口"; // s2StationStep.Msg = "料架流出工位2完成,但上一个料架未到出口";
} // }
else // else
{ // {
s2StationStep.Msg = "工位2放行料架完成,停止工位2线体"; // s2StationStep.Msg = "工位2放行料架完成,停止工位2线体";
s2StationStep.ToNextStep(S2_STATION_STEP.NONE); // s2StationStep.ToNextStep(S2_STATION_STEP.NONE);
IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW); // IOMove(IO_Type.S2_LineRun, IO_VALUE.LOW);
//右侧下方线体是否停止,要根据情况来 // //右侧下方线体是否停止,要根据情况来
outShelfStep.ToNextStep(SHELF_TO_LEAVE_STATION.SHELF_OUT_S2); // outShelfStep.ToNextStep(SHELF_TO_LEAVE_STATION.SHELF_OUT_S2);
} // }
} // }
else // else
{ // {
KeepLineRun(IO_Type.R_LineRun); // KeepLineRun(IO_Type.R_LineRun);
if (s2StationStep.IsTimeOut(15000)) // if (s2StationStep.IsTimeOut(15000))
{ // {
s2StationStep.Msg = "工位2放行料架15秒仍未完成,重新放行"; // s2StationStep.Msg = "工位2放行料架15秒仍未完成,重新放行";
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_STATION_UP)) // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_STATION_UP))
{ // {
if (s2StationStep.IsFinished()) // if (s2StationStep.IsFinished())
{ // {
//顶升已经升起,等待机器人处理 // //顶升已经升起,等待机器人处理
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT);
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT)) // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT))
{ // {
packgeRobotTaskBean = null; // packgeRobotTaskBean = null;
string currentPkgShelfRfid = ""; // string currentPkgShelfRfid = "";
if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_ROBOT)) // if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_ROBOT))
{ // {
currentPkgShelfRfid = PkgShelfRFID; // currentPkgShelfRfid = PkgShelfRFID;
} // }
//发送指令到服务器 // //发送指令到服务器
ResultBean resultBean = HttpServer.GetPackInfo(BigShelfRFID, currentPkgShelfRfid); // ResultBean resultBean = HttpServer.GetPackInfo(BigShelfRFID, currentPkgShelfRfid);
if (resultBean != null) // if (resultBean != null)
{ // {
if(resultBean.code == 0) // if(resultBean.code == 0)
{ // {
PackageRobotTaskBean shelfTaskBean = resultBean.data; // PackageRobotTaskBean shelfTaskBean = resultBean.data;
if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_ROBOT)) // if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_ROBOT))
{ // {
if (shelfTaskBean.reelInPackage <= 0) // if (shelfTaskBean.reelInPackage <= 0)
{ // {
s2StationStep.Msg = "包装料架[" + PkgShelfRFID + "]上已无料盘,放行"; // s2StationStep.Msg = "包装料架[" + PkgShelfRFID + "]上已无料盘,放行";
pkgStationStep.ToNextStep(PKG_STATION_STEP.SHELF_EMPTY); // pkgStationStep.ToNextStep(PKG_STATION_STEP.SHELF_EMPTY);
} // }
} // }
if (shelfTaskBean.emptyInBig <= 0) // if (shelfTaskBean.emptyInBig <= 0)
{ // {
s2StationStep.Msg = "工位2料架[" + BigShelfRFID + "]已无空位,放行"; // s2StationStep.Msg = "工位2料架[" + BigShelfRFID + "]已无空位,放行";
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
else // else
{ // {
if (TempBigRfid.Equals("") || TempBigRfid.Equals(shelfTaskBean.bigRfid) || BigShelfRFID.Equals(shelfTaskBean.realBigRfid)) // if (TempBigRfid.Equals("") || TempBigRfid.Equals(shelfTaskBean.bigRfid) || BigShelfRFID.Equals(shelfTaskBean.realBigRfid))
{ // {
//未绑定过或与绑定的虚拟料架一致 // //未绑定过或与绑定的虚拟料架一致
if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_ROBOT) && s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT)) // if (pkgStationStep.IsStep(PKG_STATION_STEP.WAIT_ROBOT) && s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT))
{ // {
if (TempBigRfid.Equals("")) // if (TempBigRfid.Equals(""))
{ // {
TempBigRfid = shelfTaskBean.bigRfid; // TempBigRfid = shelfTaskBean.bigRfid;
} // }
packgeRobotTaskBean = shelfTaskBean; // packgeRobotTaskBean = shelfTaskBean;
s2StationStep.ToNextStep(S2_STATION_STEP.ROBOT_GET); // s2StationStep.ToNextStep(S2_STATION_STEP.ROBOT_GET);
s2StationStep.Msg = "机器人准备抓取包装料架[" + PkgShelfRFID + "]库位[" + shelfTaskBean.packageLoc + "]上的料盘[" + shelfTaskBean.barcode + "]"; // s2StationStep.Msg = "机器人准备抓取包装料架[" + PkgShelfRFID + "]库位[" + shelfTaskBean.packageLoc + "]上的料盘[" + shelfTaskBean.barcode + "]";
} // }
} // }
else // else
{ // {
s2StationStep.Msg = "工位2料架" + BigShelfRFID + "[" + TempBigRfid + "]与服务器给定" + shelfTaskBean.bigRfid + "[" + shelfTaskBean.realBigRfid + "]不一致,放行大料架"; // s2StationStep.Msg = "工位2料架" + BigShelfRFID + "[" + TempBigRfid + "]与服务器给定" + shelfTaskBean.bigRfid + "[" + shelfTaskBean.realBigRfid + "]不一致,放行大料架";
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
} // }
} // }
else // else
{ // {
s2StationStep.Msg = "工位2料架" + BigShelfRFID + "[" + TempBigRfid + "】 未从服务器获取到有效信息["+resultBean.msg+"],放行大料架"; // s2StationStep.Msg = "工位2料架" + BigShelfRFID + "[" + TempBigRfid + "】 未从服务器获取到有效信息["+resultBean.msg+"],放行大料架";
s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF); // s2StationStep.ToNextStep(S2_STATION_STEP.OUT_SHELF);
} // }
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.ROBOT_GET)) // else if (s2StationStep.IsStep(S2_STATION_STEP.ROBOT_GET))
{ // {
bool robotCanMove = IOValue(IO_Type.Pkg_Rotot_Forbidden_Check).Equals(IO_VALUE.LOW); // bool robotCanMove = IOValue(IO_Type.Pkg_Rotot_Forbidden_Check).Equals(IO_VALUE.LOW);
if (robotCanMove) // if (robotCanMove)
{ // {
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT_GET_OK); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT_GET_OK);
s2StationStep.Msg ="机器人开始抓取包装料架[" + PkgShelfRFID + "]库位[" + packgeRobotTaskBean.packageLoc + "]上的料盘[" + packgeRobotTaskBean.barcode + "]"; // s2StationStep.Msg ="机器人开始抓取包装料架[" + PkgShelfRFID + "]库位[" + packgeRobotTaskBean.packageLoc + "]上的料盘[" + packgeRobotTaskBean.barcode + "]";
ABBControl.SendCmd(Config.ABB3_IP, ABBControl.Cmd_moveget, "p" + packgeRobotTaskBean.packageLoc, "L", ABBControl.DefaultSpeed); // ABBControl.SendCmd(Config.ABB3_IP, ABBControl.Cmd_moveget, "p" + packgeRobotTaskBean.packageLoc, "L", ABBControl.DefaultSpeed);
}else // }else
{ // {
s2StationStep.Msg = "包装线体机器人禁止区域有料架,暂停抓取"; // s2StationStep.Msg = "包装线体机器人禁止区域有料架,暂停抓取";
s2StationStep.ToNextStep(S2_STATION_STEP.ROBOT_GET); // s2StationStep.ToNextStep(S2_STATION_STEP.ROBOT_GET);
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT_GET_OK)) // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT_GET_OK))
{ // {
string getResult = ABBControl.GetAbbCmd(Config.ABB3_IP); // string getResult = ABBControl.GetAbbCmd(Config.ABB3_IP);
if (getResult.Equals("")) // if (getResult.Equals(""))
{ // {
//如果包装料架已经空了,放行 // //如果包装料架已经空了,放行
if (packgeRobotTaskBean.reelInPackage == 1) // if (packgeRobotTaskBean.reelInPackage == 1)
{ // {
s2StationStep.Msg ="包装料架[" + PkgShelfRFID + "]最后一盘料已取出,放行"; // s2StationStep.Msg ="包装料架[" + PkgShelfRFID + "]最后一盘料已取出,放行";
pkgStationStep.ToNextStep(PKG_STATION_STEP.SHELF_EMPTY); // pkgStationStep.ToNextStep(PKG_STATION_STEP.SHELF_EMPTY);
} // }
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT_PUT_FINISH); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT_PUT_FINISH);
s2StationStep.Msg ="机器人开始将料盘[" + packgeRobotTaskBean.barcode + "]放入[" + packgeRobotTaskBean.realBigRfid + "]库位[" + packgeRobotTaskBean.bigLoc + "]"; // s2StationStep.Msg ="机器人开始将料盘[" + packgeRobotTaskBean.barcode + "]放入[" + packgeRobotTaskBean.realBigRfid + "]库位[" + packgeRobotTaskBean.bigLoc + "]";
ABBControl.SendCmd(Config.ABB3_IP, ABBControl.Cmd_moveput, "cp" + packgeRobotTaskBean.bigLoc, "L", ABBControl.DefaultSpeed); // ABBControl.SendCmd(Config.ABB3_IP, ABBControl.Cmd_moveput, "cp" + packgeRobotTaskBean.bigLoc, "L", ABBControl.DefaultSpeed);
} // }
} else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT_PUT_FINISH)) // } else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT_PUT_FINISH))
{ // {
string putResult = ABBControl.GetAbbCmd(Config.ABB3_IP); // string putResult = ABBControl.GetAbbCmd(Config.ABB3_IP);
if (putResult.Contains("FINISHED")) // if (putResult.Contains("FINISHED"))
{ // {
s2StationStep.Msg ="机器人将料盘[" + packgeRobotTaskBean.barcode + "]放入" + packgeRobotTaskBean.bigRfid + "[" + packgeRobotTaskBean.realBigRfid + "]库位[" + packgeRobotTaskBean.bigLoc + "]完成"; // s2StationStep.Msg ="机器人将料盘[" + packgeRobotTaskBean.barcode + "]放入" + packgeRobotTaskBean.bigRfid + "[" + packgeRobotTaskBean.realBigRfid + "]库位[" + packgeRobotTaskBean.bigLoc + "]完成";
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT_PUT_OK); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT_PUT_OK);
//发送消息到服务器 // //发送消息到服务器
HttpServer.PackFinish(packgeRobotTaskBean.barcode, packgeRobotTaskBean.packageRfid, packgeRobotTaskBean.packageLoc, BigShelfRFID, packgeRobotTaskBean.bigLoc); // HttpServer.PackFinish(packgeRobotTaskBean.barcode, packgeRobotTaskBean.packageRfid, packgeRobotTaskBean.packageLoc, BigShelfRFID, packgeRobotTaskBean.bigLoc);
} // }
} // }
else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT_PUT_OK)) // else if (s2StationStep.IsStep(S2_STATION_STEP.WAIT_ROBOT_PUT_OK))
{ // {
string putResult = ABBControl.GetAbbCmd(Config.ABB3_IP); // string putResult = ABBControl.GetAbbCmd(Config.ABB3_IP);
if (putResult.Equals("")) // if (putResult.Equals(""))
{ // {
s2StationStep.Msg ="机器人将料盘[" + packgeRobotTaskBean.barcode + "]放入[" + packgeRobotTaskBean.realBigRfid + "]库位[" + packgeRobotTaskBean.bigLoc + "]结束"; // s2StationStep.Msg ="机器人将料盘[" + packgeRobotTaskBean.barcode + "]放入[" + packgeRobotTaskBean.realBigRfid + "]库位[" + packgeRobotTaskBean.bigLoc + "]结束";
s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT); // s2StationStep.ToNextStep(S2_STATION_STEP.WAIT_ROBOT);
} // }
} // }
} //}
private StepInfo<SHELF_TO_LEAVE_STATION> outShelfStep = new StepInfo<SHELF_TO_LEAVE_STATION>(SHELF_TO_LEAVE_STATION.NONE); private StepInfo<SHELF_TO_LEAVE_STATION> outShelfStep = new StepInfo<SHELF_TO_LEAVE_STATION>(SHELF_TO_LEAVE_STATION.NONE);
private enum SHELF_TO_LEAVE_STATION private enum SHELF_TO_LEAVE_STATION
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
</logger> </logger>
<logger name="TheRFID"> <logger name="TheRFID">
<level value="Error" /> <level value="Info" />
<appender-ref ref="TheRFID" /> <appender-ref ref="TheRFID" />
</logger> </logger>
<!--<root> <!--<root>
......
...@@ -119,6 +119,9 @@ ...@@ -119,6 +119,9 @@
this.btnS1Stop = new System.Windows.Forms.Button(); this.btnS1Stop = new System.Windows.Forms.Button();
this.groupBox8 = new System.Windows.Forms.GroupBox(); this.groupBox8 = new System.Windows.Forms.GroupBox();
this.ABB1_TrayCheck = new System.Windows.Forms.Label(); this.ABB1_TrayCheck = new System.Windows.Forms.Label();
this.groupBox9 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.groupBox6.SuspendLayout(); this.groupBox6.SuspendLayout();
this.groupBox5.SuspendLayout(); this.groupBox5.SuspendLayout();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
...@@ -127,6 +130,7 @@ ...@@ -127,6 +130,7 @@
this.groupBox7.SuspendLayout(); this.groupBox7.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
this.groupBox8.SuspendLayout(); this.groupBox8.SuspendLayout();
this.groupBox9.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// groupBox6 // groupBox6
...@@ -344,12 +348,13 @@ ...@@ -344,12 +348,13 @@
this.groupBox5.Controls.Add(this.S2_LineRun); this.groupBox5.Controls.Add(this.S2_LineRun);
this.groupBox5.Controls.Add(this.S2_LineBackRun); this.groupBox5.Controls.Add(this.S2_LineBackRun);
this.groupBox5.Controls.Add(this.S2_TopCylinderUp); this.groupBox5.Controls.Add(this.S2_TopCylinderUp);
this.groupBox5.Location = new System.Drawing.Point(33, 393); this.groupBox5.Location = new System.Drawing.Point(997, 367);
this.groupBox5.Name = "groupBox5"; this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(320, 281); this.groupBox5.Size = new System.Drawing.Size(252, 33);
this.groupBox5.TabIndex = 46; this.groupBox5.TabIndex = 46;
this.groupBox5.TabStop = false; this.groupBox5.TabStop = false;
this.groupBox5.Text = "上料工位2"; this.groupBox5.Text = "上料工位2";
this.groupBox5.Visible = false;
// //
// S2_StopCylinder2 // S2_StopCylinder2
// //
...@@ -412,7 +417,7 @@ ...@@ -412,7 +417,7 @@
this.S2_TopCylinderDown.Name = "S2_TopCylinderDown"; this.S2_TopCylinderDown.Name = "S2_TopCylinderDown";
this.S2_TopCylinderDown.Size = new System.Drawing.Size(111, 21); this.S2_TopCylinderDown.Size = new System.Drawing.Size(111, 21);
this.S2_TopCylinderDown.TabIndex = 8; this.S2_TopCylinderDown.TabIndex = 8;
this.S2_TopCylinderDown.Text = "X632 下降到位"; this.S2_TopCylinderDown.Text = "X32 下降到位";
this.S2_TopCylinderDown.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.S2_TopCylinderDown.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnS2Up // btnS2Up
...@@ -476,7 +481,7 @@ ...@@ -476,7 +481,7 @@
this.S2_TopCylinderUp.Name = "S2_TopCylinderUp"; this.S2_TopCylinderUp.Name = "S2_TopCylinderUp";
this.S2_TopCylinderUp.Size = new System.Drawing.Size(111, 21); this.S2_TopCylinderUp.Size = new System.Drawing.Size(111, 21);
this.S2_TopCylinderUp.TabIndex = 5; this.S2_TopCylinderUp.TabIndex = 5;
this.S2_TopCylinderUp.Text = "X631 上升到位"; this.S2_TopCylinderUp.Text = "X31 上升到位";
this.S2_TopCylinderUp.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.S2_TopCylinderUp.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// groupBox4 // groupBox4
...@@ -602,7 +607,7 @@ ...@@ -602,7 +607,7 @@
this.S1_TopCylinderDown.Name = "S1_TopCylinderDown"; this.S1_TopCylinderDown.Name = "S1_TopCylinderDown";
this.S1_TopCylinderDown.Size = new System.Drawing.Size(111, 21); this.S1_TopCylinderDown.Size = new System.Drawing.Size(111, 21);
this.S1_TopCylinderDown.TabIndex = 8; this.S1_TopCylinderDown.TabIndex = 8;
this.S1_TopCylinderDown.Text = "X630 下降到位"; this.S1_TopCylinderDown.Text = "X26下降到位";
this.S1_TopCylinderDown.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.S1_TopCylinderDown.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnS1Up // btnS1Up
...@@ -666,7 +671,7 @@ ...@@ -666,7 +671,7 @@
this.S1_TopCylinderUp.Name = "S1_TopCylinderUp"; this.S1_TopCylinderUp.Name = "S1_TopCylinderUp";
this.S1_TopCylinderUp.Size = new System.Drawing.Size(111, 21); this.S1_TopCylinderUp.Size = new System.Drawing.Size(111, 21);
this.S1_TopCylinderUp.TabIndex = 5; this.S1_TopCylinderUp.TabIndex = 5;
this.S1_TopCylinderUp.Text = "X629 上升到位"; this.S1_TopCylinderUp.Text = "X27上升到位";
this.S1_TopCylinderUp.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.S1_TopCylinderUp.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// groupBox2 // groupBox2
...@@ -749,7 +754,7 @@ ...@@ -749,7 +754,7 @@
this.M_Updown_Down.Name = "M_Updown_Down"; this.M_Updown_Down.Name = "M_Updown_Down";
this.M_Updown_Down.Size = new System.Drawing.Size(111, 21); this.M_Updown_Down.Size = new System.Drawing.Size(111, 21);
this.M_Updown_Down.TabIndex = 8; this.M_Updown_Down.TabIndex = 8;
this.M_Updown_Down.Text = "X616下降到位"; this.M_Updown_Down.Text = "X13下降到位";
this.M_Updown_Down.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.M_Updown_Down.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnMUp // btnMUp
...@@ -802,7 +807,7 @@ ...@@ -802,7 +807,7 @@
this.M_Updown_Up.Name = "M_Updown_Up"; this.M_Updown_Up.Name = "M_Updown_Up";
this.M_Updown_Up.Size = new System.Drawing.Size(111, 21); this.M_Updown_Up.Size = new System.Drawing.Size(111, 21);
this.M_Updown_Up.TabIndex = 5; this.M_Updown_Up.TabIndex = 5;
this.M_Updown_Up.Text = "X615上升到位"; this.M_Updown_Up.Text = "X12上升到位";
this.M_Updown_Up.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.M_Updown_Up.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// ABB2_TrayCheck // ABB2_TrayCheck
...@@ -812,9 +817,9 @@ ...@@ -812,9 +817,9 @@
this.ABB2_TrayCheck.Location = new System.Drawing.Point(343, 22); this.ABB2_TrayCheck.Location = new System.Drawing.Point(343, 22);
this.ABB2_TrayCheck.Margin = new System.Windows.Forms.Padding(3); this.ABB2_TrayCheck.Margin = new System.Windows.Forms.Padding(3);
this.ABB2_TrayCheck.Name = "ABB2_TrayCheck"; this.ABB2_TrayCheck.Name = "ABB2_TrayCheck";
this.ABB2_TrayCheck.Size = new System.Drawing.Size(220, 20); this.ABB2_TrayCheck.Size = new System.Drawing.Size(176, 17);
this.ABB2_TrayCheck.TabIndex = 7; this.ABB2_TrayCheck.TabIndex = 7;
this.ABB2_TrayCheck.Text = "右侧_分盘装置2料盘检测_ABB1"; this.ABB2_TrayCheck.Text = "右侧_分盘装置2料盘检测_ABB2";
this.ABB2_TrayCheck.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.ABB2_TrayCheck.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// groupBox1 // groupBox1
...@@ -883,7 +888,7 @@ ...@@ -883,7 +888,7 @@
this.L_Updown_Down.Name = "L_Updown_Down"; this.L_Updown_Down.Name = "L_Updown_Down";
this.L_Updown_Down.Size = new System.Drawing.Size(111, 21); this.L_Updown_Down.Size = new System.Drawing.Size(111, 21);
this.L_Updown_Down.TabIndex = 8; this.L_Updown_Down.TabIndex = 8;
this.L_Updown_Down.Text = "X606下降到位"; this.L_Updown_Down.Text = "X05下降到位";
this.L_Updown_Down.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.L_Updown_Down.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnLUp // btnLUp
...@@ -947,7 +952,7 @@ ...@@ -947,7 +952,7 @@
this.L_Updown_Up.Name = "L_Updown_Up"; this.L_Updown_Up.Name = "L_Updown_Up";
this.L_Updown_Up.Size = new System.Drawing.Size(111, 21); this.L_Updown_Up.Size = new System.Drawing.Size(111, 21);
this.L_Updown_Up.TabIndex = 5; this.L_Updown_Up.TabIndex = 5;
this.L_Updown_Up.Text = "X605上升到位"; this.L_Updown_Up.Text = "X04上升到位";
this.L_Updown_Up.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.L_Updown_Up.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// timer1 // timer1
...@@ -980,7 +985,7 @@ ...@@ -980,7 +985,7 @@
this.groupBox7.Controls.Add(this.RHigh_StopCylinder1); this.groupBox7.Controls.Add(this.RHigh_StopCylinder1);
this.groupBox7.Controls.Add(this.RHigh_StopCheck1); this.groupBox7.Controls.Add(this.RHigh_StopCheck1);
this.groupBox7.Controls.Add(this.RHigh_LineRun); this.groupBox7.Controls.Add(this.RHigh_LineRun);
this.groupBox7.Location = new System.Drawing.Point(401, 406); this.groupBox7.Location = new System.Drawing.Point(17, 408);
this.groupBox7.Name = "groupBox7"; this.groupBox7.Name = "groupBox7";
this.groupBox7.Size = new System.Drawing.Size(234, 255); this.groupBox7.Size = new System.Drawing.Size(234, 255);
this.groupBox7.TabIndex = 291; this.groupBox7.TabIndex = 291;
...@@ -1126,7 +1131,7 @@ ...@@ -1126,7 +1131,7 @@
this.groupBox3.Controls.Add(this.R_OutLineRun); this.groupBox3.Controls.Add(this.R_OutLineRun);
this.groupBox3.Controls.Add(this.R_OutLineBackRun); this.groupBox3.Controls.Add(this.R_OutLineBackRun);
this.groupBox3.Controls.Add(this.R_Updown_Up); this.groupBox3.Controls.Add(this.R_Updown_Up);
this.groupBox3.Location = new System.Drawing.Point(683, 403); this.groupBox3.Location = new System.Drawing.Point(274, 408);
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(374, 260); this.groupBox3.Size = new System.Drawing.Size(374, 260);
this.groupBox3.TabIndex = 290; this.groupBox3.TabIndex = 290;
...@@ -1194,7 +1199,7 @@ ...@@ -1194,7 +1199,7 @@
this.R_Updown_Down.Name = "R_Updown_Down"; this.R_Updown_Down.Name = "R_Updown_Down";
this.R_Updown_Down.Size = new System.Drawing.Size(111, 21); this.R_Updown_Down.Size = new System.Drawing.Size(111, 21);
this.R_Updown_Down.TabIndex = 8; this.R_Updown_Down.TabIndex = 8;
this.R_Updown_Down.Text = "X634 下降到位"; this.R_Updown_Down.Text = "X32下降到位";
this.R_Updown_Down.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.R_Updown_Down.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnRUp // btnRUp
...@@ -1258,7 +1263,7 @@ ...@@ -1258,7 +1263,7 @@
this.R_Updown_Up.Name = "R_Updown_Up"; this.R_Updown_Up.Name = "R_Updown_Up";
this.R_Updown_Up.Size = new System.Drawing.Size(111, 21); this.R_Updown_Up.Size = new System.Drawing.Size(111, 21);
this.R_Updown_Up.TabIndex = 5; this.R_Updown_Up.TabIndex = 5;
this.R_Updown_Up.Text = "X633 上升到位"; this.R_Updown_Up.Text = "X31 上升到位";
this.R_Updown_Up.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.R_Updown_Up.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnS1StopDown // btnS1StopDown
...@@ -1319,16 +1324,52 @@ ...@@ -1319,16 +1324,52 @@
this.ABB1_TrayCheck.Location = new System.Drawing.Point(92, 22); this.ABB1_TrayCheck.Location = new System.Drawing.Point(92, 22);
this.ABB1_TrayCheck.Margin = new System.Windows.Forms.Padding(3); this.ABB1_TrayCheck.Margin = new System.Windows.Forms.Padding(3);
this.ABB1_TrayCheck.Name = "ABB1_TrayCheck"; this.ABB1_TrayCheck.Name = "ABB1_TrayCheck";
this.ABB1_TrayCheck.Size = new System.Drawing.Size(220, 20); this.ABB1_TrayCheck.Size = new System.Drawing.Size(176, 17);
this.ABB1_TrayCheck.TabIndex = 7; this.ABB1_TrayCheck.TabIndex = 7;
this.ABB1_TrayCheck.Text = "左侧_分盘装置1料盘检测_ABB2"; this.ABB1_TrayCheck.Text = "左侧_分盘装置1料盘检测_ABB1";
this.ABB1_TrayCheck.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.ABB1_TrayCheck.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// groupBox9
//
this.groupBox9.BackColor = System.Drawing.Color.Aqua;
this.groupBox9.Controls.Add(this.label1);
this.groupBox9.Controls.Add(this.button1);
this.groupBox9.Location = new System.Drawing.Point(657, 408);
this.groupBox9.Name = "groupBox9";
this.groupBox9.Size = new System.Drawing.Size(275, 188);
this.groupBox9.TabIndex = 296;
this.groupBox9.TabStop = false;
this.groupBox9.Text = "RFID读取";
//
// button1
//
this.button1.BackColor = System.Drawing.Color.White;
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button1.Location = new System.Drawing.Point(80, 19);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(103, 37);
this.button1.TabIndex = 290;
this.button1.Text = "读取";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.btnInitRFID_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 80);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 17);
this.label1.TabIndex = 0;
this.label1.Tag = "192.168.103.51";
this.label1.Text = "RFID";
//
// FrmDbLineIO // FrmDbLineIO
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1284, 721); this.ClientSize = new System.Drawing.Size(1284, 721);
this.Controls.Add(this.groupBox9);
this.Controls.Add(this.groupBox8); this.Controls.Add(this.groupBox8);
this.Controls.Add(this.btnS1Stop); this.Controls.Add(this.btnS1Stop);
this.Controls.Add(this.S1StopDown); this.Controls.Add(this.S1StopDown);
...@@ -1354,6 +1395,8 @@ ...@@ -1354,6 +1395,8 @@
this.groupBox3.ResumeLayout(false); this.groupBox3.ResumeLayout(false);
this.groupBox8.ResumeLayout(false); this.groupBox8.ResumeLayout(false);
this.groupBox8.PerformLayout(); this.groupBox8.PerformLayout();
this.groupBox9.ResumeLayout(false);
this.groupBox9.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
...@@ -1450,5 +1493,8 @@ ...@@ -1450,5 +1493,8 @@
internal System.Windows.Forms.Button btnS1Stop; internal System.Windows.Forms.Button btnS1Stop;
private System.Windows.Forms.GroupBox groupBox8; private System.Windows.Forms.GroupBox groupBox8;
private System.Windows.Forms.Label ABB1_TrayCheck; private System.Windows.Forms.Label ABB1_TrayCheck;
private System.Windows.Forms.GroupBox groupBox9;
private System.Windows.Forms.Label label1;
internal System.Windows.Forms.Button button1;
} }
} }
\ No newline at end of file \ No newline at end of file
...@@ -18,7 +18,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -18,7 +18,7 @@ namespace OnlineStore.DoubleLineClient
{ {
InitializeComponent(); InitializeComponent();
} }
private List<Control> DILabel = new List<Control>(); private List<Control> DILabel = new List<Control>();
private List<Control> doList = new List<Control>(); private List<Control> doList = new List<Control>();
private void FrmDbLineIO_Load(object sender, EventArgs e) private void FrmDbLineIO_Load(object sender, EventArgs e)
{ {
...@@ -31,13 +31,13 @@ namespace OnlineStore.DoubleLineClient ...@@ -31,13 +31,13 @@ namespace OnlineStore.DoubleLineClient
{ {
DILabel = new List<Control>(); DILabel = new List<Control>();
doList = new List<Control>(); doList = new List<Control>();
foreach(Control con in this.Controls) foreach (Control con in this.Controls)
{ {
if(con is GroupBox) if (con is GroupBox)
{ {
foreach(Control c in con.Controls) foreach (Control c in con.Controls)
{ {
if(c is Label) if (c is Label)
{ {
if (LineManager.Line.Config.DIList.ContainsKey(c.Name)) if (LineManager.Line.Config.DIList.ContainsKey(c.Name))
{ {
...@@ -63,14 +63,15 @@ namespace OnlineStore.DoubleLineClient ...@@ -63,14 +63,15 @@ namespace OnlineStore.DoubleLineClient
if (!this.Visible) if (!this.Visible)
{ {
return; return;
} }
foreach (Control labl in DILabel) foreach (Control labl in DILabel)
{ {
IO_VALUE value = LineManager.Line.IOValue(labl.Name); IO_VALUE value = LineManager.Line.IOValue(labl.Name);
if (value.Equals(IO_VALUE.HIGH)) if (value.Equals(IO_VALUE.HIGH))
{ {
labl.BackColor = Color.LawnGreen; labl.BackColor = Color.LawnGreen;
}else if (value.Equals(IO_VALUE.LOW)) }
else if (value.Equals(IO_VALUE.LOW))
{ {
labl.BackColor = Color.LightGray; labl.BackColor = Color.LightGray;
} }
...@@ -84,11 +85,21 @@ namespace OnlineStore.DoubleLineClient ...@@ -84,11 +85,21 @@ namespace OnlineStore.DoubleLineClient
} }
else if (value.Equals(IO_VALUE.LOW)) else if (value.Equals(IO_VALUE.LOW))
{ {
labl.BackColor = labl.Parent.BackColor ; labl.BackColor = labl.Parent.BackColor;
//labl.BackColor = Color.LightGray; //labl.BackColor = Color.LightGray;
} }
} }
if (LineManager.Line.RfidIpList != null && LineManager.Line.RfidIpList.Count > 0)
{
string tmp = "";
foreach (string con in LineManager.Line.RfidIpList)
{
tmp += con + ":" + RFIDManager.ReadRFID(con).NumStr() + "\r\t";
}
this.Invoke(new Action(() => {
label1.Text = tmp;
}));
}
} }
private void Line_StopCylinder_Click(object sender, EventArgs e) private void Line_StopCylinder_Click(object sender, EventArgs e)
...@@ -144,13 +155,13 @@ namespace OnlineStore.DoubleLineClient ...@@ -144,13 +155,13 @@ namespace OnlineStore.DoubleLineClient
private void btnS2Up_Click(object sender, EventArgs e) private void btnS2Up_Click(object sender, EventArgs e)
{ {
LineManager.Line.CylinderMove(null, IO_Type.S2_TopCylinderDown, IO_Type.S2_TopCylinderUp); // LineManager.Line.CylinderMove(null, IO_Type.S2_TopCylinderDown, IO_Type.S2_TopCylinderUp);
} }
private void btnS2Down_Click(object sender, EventArgs e) private void btnS2Down_Click(object sender, EventArgs e)
{ {
LineManager.Line.CylinderMove(null, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown); // LineManager.Line.CylinderMove(null, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown);
} }
private void btnRUp_Click(object sender, EventArgs e) private void btnRUp_Click(object sender, EventArgs e)
...@@ -182,5 +193,9 @@ namespace OnlineStore.DoubleLineClient ...@@ -182,5 +193,9 @@ namespace OnlineStore.DoubleLineClient
LineManager.Line.IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW); LineManager.Line.IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW);
} }
private void btnInitRFID_Click(object sender, EventArgs e)
{
}
} }
} }
...@@ -65,8 +65,8 @@ namespace OnlineStore.DoubleLineClient ...@@ -65,8 +65,8 @@ namespace OnlineStore.DoubleLineClient
AddForm(" 线体操作调试 ", frmdb); AddForm(" 线体操作调试 ", frmdb);
frmdb.btnBack.Click += BtnBack_Click; frmdb.btnBack.Click += BtnBack_Click;
PackageLineClien pakageLineClient = new PackageLineClien(); //PackageLineClien pakageLineClient = new PackageLineClien();
AddForm(" 包装线 ", pakageLineClient); //AddForm(" 包装线 ", pakageLineClient);
LoadOk = true; LoadOk = true;
} }
...@@ -126,11 +126,11 @@ namespace OnlineStore.DoubleLineClient ...@@ -126,11 +126,11 @@ namespace OnlineStore.DoubleLineClient
isAlarm = true; isAlarm = true;
msglist.Add(new AlarmMsg("1号机器人", "doubleLine.RightRobot.WarnMsg", DoubleLine.RightRobot.WarnMsg)); msglist.Add(new AlarmMsg("1号机器人", "doubleLine.RightRobot.WarnMsg", DoubleLine.RightRobot.WarnMsg));
} }
if (!LineManager.packageLine.A4_Shelf_Exist) //if (!LineManager.packageLine.A4_Shelf_Exist)
{ //{
isAlarm = true; // isAlarm = true;
msglist.Add(new AlarmMsg("A4包装线出口状态", "doubleLine.packageLine.agvA4Step.Msg", LineManager.packageLine.agvA4Step.Msg)); // msglist.Add(new AlarmMsg("A4包装线出口状态", "doubleLine.packageLine.agvA4Step.Msg", LineManager.packageLine.agvA4Step.Msg));
} //}
if (!LineManager.packageLine.LeftAllowIn) if (!LineManager.packageLine.LeftAllowIn)
{ {
isAlarm = true; isAlarm = true;
......
...@@ -273,7 +273,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -273,7 +273,7 @@ namespace OnlineStore.DoubleLineClient
private void btnDriveMotor_Run_Click(object sender, EventArgs e) private void btnDriveMotor_Run_Click(object sender, EventArgs e)
{ {
BtnMove(btnNGCylinder, "左侧升降机下降", "左侧升降机上升", IO_Type.L_Updown_Up, IO_Type.L_Updown_Down); BtnMove(btnDriveMotor_Run, "左侧升降机下降", "左侧升降机上升", IO_Type.L_Updown_Up, IO_Type.L_Updown_Down);
} }
private void btnNGCylinder_Click(object sender, EventArgs e) private void btnNGCylinder_Click(object sender, EventArgs e)
...@@ -290,7 +290,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -290,7 +290,7 @@ namespace OnlineStore.DoubleLineClient
private void btnSw1Location_Click(object sender, EventArgs e) private void btnSw1Location_Click(object sender, EventArgs e)
{ {
BtnMove(btnSw1Location, "工位2顶升下降", "工位2顶升上升", IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown); // BtnMove(btnSw1Location, "工位2顶升下降", "工位2顶升上升", IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown);
} }
private void btnSw4Location_Click(object sender, EventArgs e) private void btnSw4Location_Click(object sender, EventArgs e)
......
...@@ -77,17 +77,17 @@ namespace OnlineStore.DoubleLineClient ...@@ -77,17 +77,17 @@ namespace OnlineStore.DoubleLineClient
private void updateStatus() private void updateStatus()
{ {
pkgStationStatus.Text = LineManager.packageLine.pkgStationStep.StatusStr(); //pkgStationStatus.Text = LineManager.packageLine.pkgStationStep.StatusStr();
pkgStatusMsg.Text = LineManager.packageLine.pkgStationStep.Msg; //pkgStatusMsg.Text = LineManager.packageLine.pkgStationStep.Msg;
agvA3Status.Text = LineManager.packageLine.agvA3Step.StatusStr(); //agvA3Status.Text = LineManager.packageLine.agvA3Step.StatusStr();
agvA3Msg.Text = LineManager.packageLine.agvA3Step.Msg; //agvA3Msg.Text = LineManager.packageLine.agvA3Step.Msg;
agvA4Status.Text = LineManager.packageLine.agvA4Step.StatusStr(); //agvA4Status.Text = LineManager.packageLine.agvA4Step.StatusStr();
agvA4Msg.Text = LineManager.packageLine.agvA4Step.Msg; //agvA4Msg.Text = LineManager.packageLine.agvA4Step.Msg;
s2StationStatus.Text = LineManager.packageLine.s2StationStep.StatusStr(); //s2StationStatus.Text = LineManager.packageLine.s2StationStep.StatusStr();
s2StationMsg.Text = LineManager.packageLine.s2StationStep.Msg; //s2StationMsg.Text = LineManager.packageLine.s2StationStep.Msg;
benQLeftInStatus.Text = LineManager.packageLine.benQInStepLeft.StatusStr(); benQLeftInStatus.Text = LineManager.packageLine.benQInStepLeft.StatusStr();
benQLeftInMsg.Text = LineManager.packageLine.benQInStepLeft.Msg; benQLeftInMsg.Text = LineManager.packageLine.benQInStepLeft.Msg;
...@@ -139,12 +139,12 @@ namespace OnlineStore.DoubleLineClient ...@@ -139,12 +139,12 @@ namespace OnlineStore.DoubleLineClient
private void btnS2Down_Click(object sender, EventArgs e) private void btnS2Down_Click(object sender, EventArgs e)
{ {
LineManager.Line.CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down); //LineManager.Line.CylinderMove(null, IO_Type.Pkg_Station_SOL_UP, IO_Type.Pkg_Station_SOL_Down);
} }
private void btnS2Up_Click(object sender, EventArgs e) private void btnS2Up_Click(object sender, EventArgs e)
{ {
LineManager.Line.CylinderMove(null, IO_Type.Pkg_Station_SOL_Down, IO_Type.Pkg_Station_SOL_UP); // LineManager.Line.CylinderMove(null, IO_Type.Pkg_Station_SOL_Down, IO_Type.Pkg_Station_SOL_UP);
} }
private void BtnClick(object sender, EventArgs e) private void BtnClick(object sender, EventArgs e)
......
...@@ -58,30 +58,30 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -58,30 +58,30 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary> /// <summary>
/// PRO ABB机器人3IP ABB3_IP 192.168.103.53 /// PRO ABB机器人3IP ABB3_IP 192.168.103.53
/// </summary> /// </summary>
[ConfigProAttribute("ABB3_IP", false)] //[ConfigProAttribute("ABB3_IP", false)]
public string ABB3_IP { get; set; } //public string ABB3_IP { get; set; }
/// <summary> /// <summary>
/// PRO 双层线左侧提升机 L_Updown_Rfid 192.168.103.101 /// PRO 双层线左侧提升机 L_Updown_Rfid 192.168.103.51
/// </summary> /// </summary>
[ConfigProAttribute("L_Updown_Rfid", false)] [ConfigProAttribute("L_Updown_Rfid", false)]
public string L_Updown_Rfid { get; set; } public string L_Updown_Rfid { get; set; }
/// <summary> /// <summary>
/// PRO 双层线中间提升机 M_Updown_Rfid 192.168.103.102 /// PRO 双层线中间提升机 M_Updown_Rfid 192.168.103.52
/// </summary> /// </summary>
[ConfigProAttribute("M_Updown_Rfid", false)] [ConfigProAttribute("M_Updown_Rfid", false)]
public string M_Updown_Rfid { get; set; } public string M_Updown_Rfid { get; set; }
/// <summary> /// <summary>
/// PRO 双层线上料工位1 S1_Rfid 192.168.103.103 /// PRO 双层线上料工位1 S1_Rfid 192.168.103.53
/// </summary> /// </summary>
[ConfigProAttribute("S1_Rfid", false)] [ConfigProAttribute("S1_Rfid", false)]
public string S1_Rfid { get; set; } public string S1_Rfid { get; set; }
/// <summary> /// <summary>
/// PRO 双层线上料工位2 S2_Rfid 192.168.103.104 /// PRO 双层线上料工位2 S2_Rfid 192.168.103.104
/// </summary> /// </summary>
[ConfigProAttribute("S2_Rfid", false)] //[ConfigProAttribute("S2_Rfid", false)]
public string S2_Rfid { get; set; } //public string S2_Rfid { get; set; }
/// <summary> /// <summary>
/// PRO 双层线右侧提升机 R_Updown_Rfid 192.168.103.105 /// PRO 双层线右侧提升机 R_Updown_Rfid 192.168.103.54
/// </summary> /// </summary>
[ConfigProAttribute("R_Updown_Rfid", false)] [ConfigProAttribute("R_Updown_Rfid", false)]
public string R_Updown_Rfid { get; set; } public string R_Updown_Rfid { get; set; }
...@@ -89,10 +89,10 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -89,10 +89,10 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary> /// <summary>
/// PRO,包装线RFID,Pkg_Rfid,192.168.103.106 /// PRO,包装线RFID,Pkg_Rfid,192.168.103.106
/// </summary> /// </summary>
[ConfigProAttribute("Pkg_Rfid", false)] //[ConfigProAttribute("Pkg_Rfid", false)]
public string Pkg_Rfid { get; set; } //public string Pkg_Rfid { get; set; }
/// <summary> /// <summary>
/// PRO,双层线上层右侧RFID,RHigh_Rfid,192.168.103.109 /// PRO,双层线上层右侧RFID,RHigh_Rfid,192.168.103.55
/// </summary> /// </summary>
[ConfigProAttribute("RHigh_Rfid", false)] [ConfigProAttribute("RHigh_Rfid", false)]
public string RHigh_Rfid { get; set; } public string RHigh_Rfid { get; set; }
......
...@@ -27,452 +27,449 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -27,452 +27,449 @@ namespace OnlineStore.LoadCSVLibrary
#region PRO_AOI_IP_1 #region PRO_AOI_IP_1
/// <summary> /// <summary>
/// DI 急停 SuddenStop_BTN 0 PRO_AOI_IP_1 0 急停 X601 /// DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,X01,0
/// </summary> /// </summary>
public static string SuddenStop_BTN = "SuddenStop_BTN"; public static string SuddenStop_BTN = "SuddenStop_BTN";
/// <summary> /// <summary>
/// DI 复位 Reset_BTN 1 PRO_AOI_IP_1 0 复位 X602 ///DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,X02,0
/// </summary> /// </summary>
public static string Reset_BTN = "Reset_BTN"; public static string Reset_BTN = "Reset_BTN";
/// <summary> /// <summary>
/// DI 联动 Auto_BTN 2 PRO_AOI_IP_1 0 联动 X603 ///DI,气压检测,AirCheck,2,PRO_AOI_IP_1,0,气压检测,X03,X03,0
/// </summary>
public static string Auto_BTN = "Auto_BTN";
/// <summary>
/// DI 气压检测 AirCheck 3 PRO_AOI_IP_1 0 气压检测 X604
/// </summary> /// </summary>
public static string AirCheck = "AirCheck"; public static string AirCheck = "AirCheck";
/// <summary> /// <summary>
/// DI 左侧升降气缸上升端 L_Updown_Up 4 PRO_AOI_IP_1 0 左侧升降气缸上升端 X605 ///DI,左升降气缸上升端,L_Updown_Up,3,PRO_AOI_IP_1,0,左升降气缸上升端,X04,X04,0
/// </summary> /// </summary>
public static string L_Updown_Up = "L_Updown_Up"; public static string L_Updown_Up = "L_Updown_Up";
/// <summary> /// <summary>
/// DI 左侧升降气缸下降端 L_Updown_Down 5 PRO_AOI_IP_1 0 左侧升降气缸下降端 X606 /// DI,左升降气缸下降端,L_Updown_Down,4,PRO_AOI_IP_1,0,左升降气缸下降端,X05,X05,0
/// </summary> /// </summary>
public static string L_Updown_Down = "L_Updown_Down"; public static string L_Updown_Down = "L_Updown_Down";
/// <summary> /// <summary>
/// DI 入口轨道检测 Line_InCheck 6 PRO_AOI_IP_1 0 入口轨道检测 X607 /// DI,入口轨道检测,Line_InCheck,5,PRO_AOI_IP_1,0,入口轨道检测,X06,X06,0
/// </summary> /// </summary>
public static string Line_InCheck = "Line_InCheck"; public static string Line_InCheck = "Line_InCheck";
/// <summary> /// <summary>
/// DI 入口轨道阻挡检测 Line_StopCheck 7 PRO_AOI_IP_1 0 入口轨道阻挡检测 X608 ///DI,入口轨道阻挡检测,Line_StopCheck,6,PRO_AOI_IP_1,0,入口轨道阻挡检测,X07,X07,0
/// </summary> /// </summary>
public static string Line_StopCheck = "Line_StopCheck"; public static string Line_StopCheck = "Line_StopCheck";
/// <summary> /// <summary>
/// DI 左侧下层线体阻挡1检测 LLow_StopCheck1 8 PRO_AOI_IP_1 0 左侧下层线体阻挡1检测 X609 /// DI,左下层线体阻挡1检测,LLow_StopCheck1,7,PRO_AOI_IP_1,0,左下层线体阻挡1检测,X08,X08,0
/// </summary> /// </summary>
public static string LLow_StopCheck1 = "LLow_StopCheck1"; public static string LLow_StopCheck1 = "LLow_StopCheck1";
/// <summary> /// <summary>
/// DI 左侧下层线体阻挡2检测 LLow_StopCheck2 9 PRO_AOI_IP_1 0 左侧下层线体阻挡2检测 X610 /// DI,左下层线体阻挡2检测,LLow_StopCheck2,8,PRO_AOI_IP_1,0,左下层线体阻挡2检测,X09,X09,0
/// </summary> /// </summary>
public static string LLow_StopCheck2 = "LLow_StopCheck2"; public static string LLow_StopCheck2 = "LLow_StopCheck2";
/// <summary> /// <summary>
/// DI 左侧下层线体阻挡3检测 LLow_StopCheck3 10 PRO_AOI_IP_1 0 左侧下层线体阻挡3检测 X611 /// DI,左上层线体阻挡1检测,LHigh_StopCheck1,9,PRO_AOI_IP_1,0,左上层线体阻挡1检测,X10,X10,0
/// </summary>
public static string LLow_StopCheck3 = "LLow_StopCheck3";
/// <summary>
/// DI 左侧上层线体阻挡1检测 LHigh_StopCheck1 11 PRO_AOI_IP_1 0 左侧上层线体阻挡1检测 X612
/// </summary> /// </summary>
public static string LHigh_StopCheck1 = "LHigh_StopCheck1"; public static string LHigh_StopCheck1 = "LHigh_StopCheck1";
/// <summary> /// <summary>
/// DI 左侧上层线体阻挡2检测 LHigh_StopCheck2 12 PRO_AOI_IP_1 0 左侧上层线体阻挡2检测 X613 ///DI,左上层线体阻挡2检测,LHigh_StopCheck2,10,PRO_AOI_IP_1,0,左上层线体阻挡2检测,X11,X11,0
/// </summary> /// </summary>
public static string LHigh_StopCheck2 = "LHigh_StopCheck2"; public static string LHigh_StopCheck2 = "LHigh_StopCheck2";
/// <summary> /// <summary>
/// DI 左侧上层线体阻挡3检测 LHigh_StopCheck3 13 PRO_AOI_IP_1 0 左侧上层线体阻挡3检测 X614 /// DI,中间升降气缸上升端,M_Updown_Up,11,PRO_AOI_IP_1,0,中间升降气缸上升端,X12,X12,0
/// </summary>
public static string LHigh_StopCheck3 = "LHigh_StopCheck3";
/// <summary>
/// DI 中间升降气缸上升端 M_Updown_Up 14 PRO_AOI_IP_1 0 中间升降气缸上升端 X615
/// </summary> /// </summary>
public static string M_Updown_Up = "M_Updown_Up"; public static string M_Updown_Up = "M_Updown_Up";
/// <summary> /// <summary>
/// DI 中间升降气缸下降端 M_Updown_Down 15 PRO_AOI_IP_1 0 中间升降气缸下降端 X616 /// DI,中间升降气缸下降端,M_Updown_Down,12,PRO_AOI_IP_1,0,中间升降气缸下降端,X13,X13,0
/// </summary> /// </summary>
public static string M_Updown_Down = "M_Updown_Down"; public static string M_Updown_Down = "M_Updown_Down";
/// <summary> /// <summary>
/// DO 待机状态(指示灯) AutoRun_HddLed 0 PRO_AOI_IP_1 0 待机状态(指示灯) Y601 /// DI,中间轨道正阻挡检测,M_LeftStopCheck,13,PRO_AOI_IP_1,0,中间轨道正阻挡检测,X14,X14,0
/// </summary>
public static string M_LeftStopCheck = "M_LeftStopCheck";
/// <summary>
/// DI,中间轨道反阻挡检测,M_RightStopCheck,14,PRO_AOI_IP_1,0,中间轨道反阻挡检测,X15,X15,0
/// </summary>
public static string M_RightStopCheck = "M_RightStopCheck";
/// <summary>
/// DI,上料位前反阻挡检测,S1_StopCheck1,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
/// </summary>
public static string S1_StopCheck1 = "M_RightStopCheck";
/// <summary>
/// DO,待机状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,待机状态(指示灯),Y01,Y01,0
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary> /// <summary>
/// DO 运行状态(指示灯) RunSign_HddLed 1 PRO_AOI_IP_1 0 运行状态(指示灯) Y602 /// DO,运行状态(指示灯),RunSign_HddLed,1,PRO_AOI_IP_1,0,运行状态(指示灯),Y02,Y02,0
/// </summary> /// </summary>
public static string RunSign_HddLed = "RunSign_HddLed"; public static string RunSign_HddLed = "RunSign_HddLed";
/// <summary> /// <summary>
/// DO 故障状态(指示灯) Alarm_HddLed 2 PRO_AOI_IP_1 0 故障状态(指示灯) Y603 /// DO,故障状态(指示灯),Alarm_HddLed,2,PRO_AOI_IP_1,0,故障状态(指示灯),Y03,Y03,0
/// </summary> /// </summary>
public static string Alarm_HddLed = "Alarm_HddLed"; public static string Alarm_HddLed = "Alarm_HddLed";
/// <summary> /// <summary>
/// DO 故障状态(蜂鸣器) Alarm_Buzzer 3 PRO_AOI_IP_1 0 故障状态(蜂鸣器) Y604 /// DO,故障状态(蜂鸣器),Alarm_Buzzer,3,PRO_AOI_IP_1,0,故障状态(蜂鸣器),Y04,Y04,0
/// </summary> /// </summary>
public static string Alarm_Buzzer = "Alarm_Buzzer"; public static string Alarm_Buzzer = "Alarm_Buzzer";
/// <summary> /// <summary>
/// DO 左侧入口轨道阻挡下降 Line_StopCylinder 6 PRO_AOI_IP_1 0 左侧入口轨道阻挡下降 Y607 /// DO,左下层电机正转,LLown_LineRun,4,PRO_AOI_IP_1,0,左下层电机正转,Y05,Y05,0
/// </summary> /// </summary>
public static string Line_StopCylinder = "Line_StopCylinder"; public static string LLown_LineRun = "LLown_LineRun";
/// <summary>
/// DO,左侧下层线体阻挡1下降,LLow_StopCylinder1,7,PRO_AOI_IP_1,0,左侧下层线体阻挡1下降,Y608,Y608,0
/// </summary>
public static string LLow_StopCylinder1 = "LLow_StopCylinder1";
/// <summary> /// <summary>
/// DO,左侧下层线体阻挡2下降,LLow_StopCylinder2,8,PRO_AOI_IP_1,0,左侧下层线体阻挡2下降,Y609,Y609,0 /// DO,左上层电机正转,LHigh_LineRun,5,PRO_AOI_IP_1,0,左上层电机正转,Y06,Y06,0
/// </summary> /// </summary>
public static string LLow_StopCylinder2 = "LLow_StopCylinder2"; public static string LHigh_LineRun = "LHigh_LineRun";
/// <summary> /// <summary>
/// DO,左侧下层线体阻挡3下降,LLow_StopCylinder3,9,PRO_AOI_IP_1,0,左侧下层线体阻挡3下降,Y610,Y610,0 /// DO,上料工位电机正转,S1_LineRun,6,PRO_AOI_IP_1,0,上料工位电机正转,Y07,Y07,0
/// </summary> /// </summary>
public static string LLow_StopCylinder3 = "LLow_StopCylinder3"; public static string S1_LineRun = "S1_LineRun";
/// <summary> /// <summary>
/// DO,左侧上层线体阻挡1下降,LHigh_StopCylinder,10,PRO_AOI_IP_1,0,左侧上层线体阻挡1下降,Y611,Y611,0 /// DO,上料工位电机反转,S1_LineBackRun,7,PRO_AOI_IP_1,0,上料工位电机反转,Y08,Y08,0
/// </summary> /// </summary>
public static string LHigh_StopCylinder1 = "LHigh_StopCylinder1"; public static string S1_LineBackRun = "S1_LineBackRun";
/// <summary> /// <summary>
/// DO,左侧上层线体阻挡2下降,LHigh_StopCylinder,11,PRO_AOI_IP_1,0,左侧上层线体阻挡2下降,Y612,Y612,0 /// DO,右下层电机正转,R_LineRun,8,PRO_AOI_IP_1,0,右下层电机正转,Y09,Y09,0
/// </summary> /// </summary>
public static string LHigh_StopCylinder2 = "LHigh_StopCylinder2"; public static string R_LineRun = "R_LineRun";
/// <summary> /// <summary>
/// DO,左侧上层线体阻挡3下降,LHigh_StopCylinder,12,PRO_AOI_IP_1,0,左侧上层线体阻挡3下降,Y613,Y613,0 ///DO,右上层电机正转,RHigh_LineRun,9,PRO_AOI_IP_1,0,右上层电机正转,Y10,Y10,0
/// </summary> /// </summary>
public static string LHigh_StopCylinder3 = "LHigh_StopCylinder3"; public static string RHigh_LineRun = "RHigh_LineRun";
/// <summary> /// <summary>
/// DO,左侧入口轨道电机正转,L_InLineRun,13,PRO_AOI_IP_1,0,左侧入口轨道电机正转,Y614,Y614,0 ///DO,左入口轨道电机正转,L_InLineRun,10,PRO_AOI_IP_1,0,左入口轨道电机正转,Y11,Y11,0
/// </summary> /// </summary>
public static string L_InLineRun = "L_InLineRun"; public static string L_InLineRun = "L_InLineRun";
/// <summary> /// <summary>
/// DO,左侧入口轨道电机反转,L_InLineBackRun,14,PRO_AOI_IP_1,0,左侧入口轨道电机反转,Y615,Y615,0 /// DO,中间轨道电机正转,M_LineRun,11,PRO_AOI_IP_1,0,中间轨道电机正转,Y12,Y12,0
/// </summary> /// </summary>
public static string L_InLineBackRun = "L_InLineBackRun"; public static string M_LineRun = "M_LineRun";
#endregion
#region PRO_AOI_IP_2
/// <summary> /// <summary>
///DI,中间轨道左阻挡检测,M_LeftStopCheck,0,PRO_AOI_IP_2,0,中间轨道左阻挡检测,X621,X621,0 /// DO,中间轨道电机反转,M_LineBackRun,12,PRO_AOI_IP_1,0,中间轨道电机反转,Y13,Y13,0
/// </summary> /// </summary>
public static string M_LeftStopCheck = "M_LeftStopCheck"; public static string M_LineBackRun = "M_LineBackRun";
/// <summary> /// <summary>
///DI,中间轨道右阻挡检测,M_RightStopCheck,1,PRO_AOI_IP_2,0,中间轨道右阻挡检测,X622,X622,0 /// DO,右出口轨道电机正转,R_OutLineRun,13,PRO_AOI_IP_1,0,右出口轨道电机正转,Y14,Y14,0
/// </summary> /// </summary>
public static string M_RightStopCheck = "M_RightStopCheck"; public static string R_OutLineRun = "R_OutLineRun";
/// <summary> /// <summary>
///DI,上料工位1阻挡1检测,S1_StopCheck1,2,PRO_AOI_IP_2,0,上料工位1阻挡1检测,X623,X623,0 ///DO,右出口轨道电机反转,R_OutLineBackRun,14,PRO_AOI_IP_1,0,右出口轨道电机反转,Y15,Y15,0
/// </summary> /// </summary>
public static string S1_StopCheck1 = "S1_StopCheck1"; public static string R_OutLineBackRun = "R_OutLineBackRun";
#endregion
#region PRO_AOI_IP_2
/// <summary> /// <summary>
///DI,上料工位1阻挡2检测,S1_StopCheck2,3,PRO_AOI_IP_2,0,上料工位1阻挡2检测,X624,X624,0 ///DI,上料位前正阻挡检测,S1_StopCheck2,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
/// </summary> /// </summary>
public static string S1_StopCheck2 = "S1_StopCheck2"; public static string S1_StopCheck2 = "S1_StopCheck2";
///// <summary>
/////DI,上料工位1阻挡3检测,S1_StopCheck3,4,PRO_AOI_IP_2,0,上料工位1阻挡3检测,X625,X625,0
///// </summary>
//public static string S1_StopCheck3 = "S1_StopCheck3";
/// <summary> /// <summary>
///DI,上料工位1阻挡4检测,S1_StopCheck4,5,PRO_AOI_IP_2,0,上料工位1阻挡4检测,X626,X626,0 ///DI,上料位反定位阻挡检测,S1_StopCheck3,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
/// </summary> /// </summary>
public static string S1_StopCheck4 = "S1_StopCheck4"; public static string S1_StopCheck3 = "S1_StopCheck3";
/// <summary> /// <summary>
///DI,上料工位2阻挡1检测,S2_StopCheck1,6,PRO_AOI_IP_2,0,上料工位2阻挡1检测,X627,X627,0 ///DI,上料位正定位阻挡检测,S1_StopCheck4,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
/// </summary> /// </summary>
public static string S2_StopCheck1 = "S2_StopCheck1"; public static string S1_StopCheck4 = "S1_StopCheck4";
/// <summary>
///DI,上料工位2阻挡2检测,S2_StopCheck2,7,PRO_AOI_IP_2,0,上料工位2阻挡2检测,X628,X628,0
/// <summary>
public static string S2_StopCheck2 = "S2_StopCheck2";
/// <summary> /// <summary>
///DI,上料工位1顶升上升端,S1_TopCylinderUp,8,PRO_AOI_IP_2,0,上料工位1顶升上升端,X629,X629,0 ///DI,上料位后阻挡检测,S2_StopCheck1,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
/// </summary> /// </summary>
public static string S2_StopCheck1 = "S2_StopCheck1";
///// <summary>
/////DI,上料工位顶升上升端1,S1_TopCylinderUp,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
///// </summary>
public static string S1_TopCylinderUp = "S1_TopCylinderUp"; public static string S1_TopCylinderUp = "S1_TopCylinderUp";
/// <summary> /// <summary>
///DI,上料工位1顶升下降端,S1_TopCylinderDown,9,PRO_AOI_IP_2,0,上料工位1顶升下降端,X630,X630,0 ///DI,上料工位顶升下降端1,S1_TopCylinderDown,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
/// </summary> /// </summary>
public static string S1_TopCylinderDown = "S1_TopCylinderDown"; public static string S1_TopCylinderDown = "S1_TopCylinderDown";
/// <summary> /// <summary>
///DI,上料工位2顶升上升端,S2_TopCylinderUp,10,PRO_AOI_IP_2,0,上料工位2顶升上升端,X631,X631,0 ///DI,上料工位顶升上升端2,S2_TopCylinderUp,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
/// </summary> /// </summary>
public static string S2_TopCylinderUp = "S2_TopCylinderUp"; public static string S2_TopCylinderUp = "S2_TopCylinderUp";
/// <summary> /// <summary>
///DI,上料工位2顶升下降端,S2_TopCylinderDown,11,PRO_AOI_IP_2,0,上料工位2顶升下降端,X632,X632,0 ///DI,上料工位顶升下降端2,S2_TopCylinderDown,7,PRO_AOI_IP_2,0,上料工位顶升下降端2,X28,X28,0
/// </summary> /// <summary>
public static string S2_TopCylinderDown = "S2_TopCylinderDown"; public static string S2_TopCylinderDown = "S2_TopCylinderDown";
/// <summary> /// <summary>
///DI,右侧升降气缸上升端,R_Updown_Up,12,PRO_AOI_IP_2,0,右侧升降气缸上升端,X633,X633,0 ///DI,J1接驳台有料检测,ABB1_TrayCheck,8,PRO_AOI_IP_2,0,J1接驳台有料检测,X29,X29,0
/// </summary>
public static string ABB1_TrayCheck = "ABB1_TrayCheck";
/// <summary>
///DI,J2接驳台有料检测,ABB2_TrayCheck,9,PRO_AOI_IP_2,0,J2接驳台有料检测,X30,X30,0
/// </summary>
public static string ABB2_TrayCheck = "ABB2_TrayCheck";
/// <summary>
///DI,右升降气缸上升端,R_Updown_Up,10,PRO_AOI_IP_2,0,右侧升降气缸上升端,X31,X31,0
/// </summary> /// </summary>
public static string R_Updown_Up = "R_Updown_Up"; public static string R_Updown_Up = "R_Updown_Up";
/// <summary> /// <summary>
///DI,右侧升降气缸下降端,R_Updown_Down,13,PRO_AOI_IP_2,0,右侧升降气缸下降端,X634,X634,0 ///DI,右升降气缸下降端,R_Updown_Down,11,PRO_AOI_IP_2,0,右侧升降气缸下降端,X32,X32,0
/// </summary> /// </summary>
public static string R_Updown_Down = "R_Updown_Down"; public static string R_Updown_Down = "R_Updown_Down";
/// <summary> /// <summary>
///DI,右侧下层线体阻挡1检测,R_StopCheck1,14,PRO_AOI_IP_2,0,右侧下层线体阻挡1检测,X635,X635,0 ///DI,右下层线体阻挡1检测,R_StopCheck1,12,PRO_AOI_IP_2,0,右侧下层线体阻挡1检测,X33,X33,0
/// </summary> /// </summary>
public static string R_StopCheck1 = "R_StopCheck1"; public static string R_StopCheck1 = "R_StopCheck1";
/// <summary> /// <summary>
///DI,右侧下层线体阻挡2检测,R_StopCheck2,15,PRO_AOI_IP_2,0,右侧下层线体阻挡2检测,X636,X636,0 ///DI,右下层线体阻挡2检测,R_StopCheck2,13,PRO_AOI_IP_2,0,右侧下层线体阻挡2检测,X34,X34,0
/// </summary> /// </summary>
public static string R_StopCheck2 = "R_StopCheck2"; public static string R_StopCheck2 = "R_StopCheck2";
/// <summary> /// <summary>
/// DO,左侧下层电机正转,LLown_LineRun,0,PRO_AOI_IP_2,0,左侧下层电机正转,Y621,Y621,0 ///DI,右轨道入料阻挡检测,R_RightStopCheck,14,PRO_AOI_IP_2,0,右轨道入料阻挡检测,X35,X35,0
/// </summary> /// </summary>
public static string LLown_LineRun = "LLown_LineRun"; public static string R_RightStopCheck = "R_RightStopCheck";
/// <summary> /// <summary>
/// DO,左侧上层电机正转,LHigh_LineRun,1,PRO_AOI_IP_2,0,左侧上层电机正转,Y622,Y622,0 ///DI,右轨道出料阻挡检测,R_LeftStopCheck,15,PRO_AOI_IP_2,0,右轨道出料阻挡检测,X36,X36,0
/// </summary> /// </summary>
public static string LHigh_LineRun = "LHigh_LineRun"; public static string R_LeftStopCheck = "R_LeftStopCheck";
/// <summary> /// <summary>
/// DO,中间轨道电机正转,M_LineRun,2,PRO_AOI_IP_2,0,中间轨道电机正转,Y623,Y623,0 ///DO,左入口轨道阻挡下降,Line_StopCylinder,0,PRO_AOI_IP_2,0,左入口轨道阻挡下降,Y21,Y21,0
/// </summary> /// </summary>
public static string M_LineRun = "M_LineRun"; public static string Line_StopCylinder = "Line_StopCylinder";
/// <summary> /// <summary>
/// DO,中间轨道电机反转,M_LineBackRun,3,PRO_AOI_IP_2,0,中间轨道电机反转,Y624,Y624,0 /// DO,左升降气缸上升,L_Updown_Up,1,PRO_AOI_IP_2,0,左升降气缸上升,Y22,Y22,0
/// </summary> /// </summary>
public static string M_LineBackRun = "M_LineBackRun"; //public static string L_Updown_Up = "L_Updown_Up";
/// <summary> /// <summary>
/// DO,中间轨道左阻挡下降,M_LeftStopCylinder,6,PRO_AOI_IP_2,0,中间轨道左阻挡下降,Y627,Y627,0 /// DO,左升降气缸下降,L_Updown_Down,2,PRO_AOI_IP_2,0,左升降气缸下降,Y23,Y23,0
/// </summary> /// </summary>
public static string M_LeftStopCylinder = "M_LeftStopCylinder"; //public static string L_Updown_Down = "L_Updown_Down";
/// <summary>
/// DO,中间轨道右阻挡下降,M_RightStopCylinder,7,PRO_AOI_IP_2,0,中间轨道右阻挡下降,Y628,Y628,0
/// <summary> /// <summary>
public static string M_RightStopCylinder = "M_RightStopCylinder"; /// DO,左下层线体阻挡1下降,LLow_StopCylinder1,3,PRO_AOI_IP_2,0,左下层线体阻挡1下降,Y24,Y24,0
/// <summary>
/// DO,上料工位1阻挡1下降,S1_StopCylinder1,8,PRO_AOI_IP_2,0,上料工位1阻挡1下降,Y629,Y629,0
/// </summary> /// </summary>
public static string S1_StopCylinder1 = "S1_StopCylinder1"; public static string LLow_StopCylinder1 = "LLow_StopCylinder1";
/// <summary> /// <summary>
/// DO,上料工位1阻挡2下降,S1_StopCylinder2,9,PRO_AOI_IP_2,0,上料工位1阻挡2下降,Y630,Y630,0 /// DO,左下层线体阻挡2下降,LLow_StopCylinder2,4,PRO_AOI_IP_2,0,左下层线体阻挡2下降,Y25,Y25,0
/// </summary> /// </summary>
public static string S1_StopCylinder2 = "S1_StopCylinder2"; public static string LLow_StopCylinder2 = "LLow_StopCylinder2";
/// <summary>
/// DO,左上层线体阻挡1下降,LHigh_StopCylinder1,5,PRO_AOI_IP_2,0,左上层线体阻挡1下降,Y26,Y26,0
/// <summary>
public static string LHigh_StopCylinder1 = "LHigh_StopCylinder1";
/// <summary> /// <summary>
/// DO,上料工位1阻挡3下降,S1_StopCylinder3,10,PRO_AOI_IP_2,0,上料工位1阻挡3下降,Y631,Y631,0 /// DO,左上层线体阻挡2下降,LHigh_StopCylinder2,6,PRO_AOI_IP_2,0,左上层线体阻挡2下降,Y27,Y27,0
/// </summary> /// </summary>
public static string S1_StopCylinder3 = "S1_StopCylinder3"; public static string LHigh_StopCylinder2 = "LHigh_StopCylinder2";
/// <summary> /// <summary>
/// DO,上料工位1阻挡4下降,S1_StopCylinder4,11,PRO_AOI_IP_2,0,上料工位1阻挡4下降,Y632,Y632,0 ///DO,中间轨道正阻挡下降,M_LeftStopCylinder,7,PRO_AOI_IP_2,0,中间轨道正阻挡下降,Y28,Y28,0
/// </summary> /// </summary>
public static string S1_StopCylinder4 = "S1_StopCylinder4"; public static string M_LeftStopCylinder = "M_LeftStopCylinder";
/// <summary> /// <summary>
/// DO,上料工位2阻挡1下降,S2_StopCylinder1,12,PRO_AOI_IP_2,0,上料工位2阻挡1下降,Y633,Y633,0 /// DO,中间轨道反阻挡下降,M_RightStopCylinder,8,PRO_AOI_IP_2,0,中间轨道反阻挡下降,Y29,Y29,0
/// </summary> /// </summary>
public static string S2_StopCylinder1 = "S2_StopCylinder1"; public static string M_RightStopCylinder = "M_RightStopCylinder";
/// <summary> /// <summary>
/// DO,上料工位2阻挡2下降,S2_StopCylinder2,13,PRO_AOI_IP_2,0,上料工位2阻挡2下降,Y634,Y634,0 /// DO,中间升降气缸上升,M_Updown_Up,9,PRO_AOI_IP_2,0,中间升降气缸上升,Y30,Y30,0
/// </summary> /// </summary>
public static string S2_StopCylinder2 = "S2_StopCylinder2"; //public static string M_Updown_Up = "M_Updown_Up";
#endregion
#region PRO_AOI_IP_3
/// <summary> /// <summary>
///DI,右侧轨道左阻挡检测,R_LeftStopCheck,0,PRO_AOI_IP_3,0,右侧轨道左阻挡检测,X641,X641,0 ///DO,中间升降气缸下降,M_Updown_Down,10,PRO_AOI_IP_2,0,中间升降气缸下降,Y31,Y31,0
/// </summary> /// </summary>
public static string R_LeftStopCheck = "R_LeftStopCheck"; //public static string M_Updown_Down = "M_Updown_Down";
/// <summary> /// <summary>
///DI,右侧轨道右阻挡检测,R_RightStopCheck,1,PRO_AOI_IP_3,0,右侧轨道右阻挡检测,X642,X642,0 ///DO,上料位前反阻挡下降,S1_StopCylinder1,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,Y32,0
/// </summary> /// </summary>
public static string R_RightStopCheck = "R_RightStopCheck"; public static string S1_StopCylinder1 = "S1_StopCylinder1";
/// <summary> /// <summary>
/// DI,右侧上层线体阻挡1检测,RHigh_StopCheck1,2,PRO_AOI_IP_3,0,右侧上层线体阻挡1检测,X643,X643,0 ///DO,上料位前正阻挡下降,S1_StopCylinder2,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
/// </summary> /// </summary>
public static string RHigh_StopCheck1 = "RHigh_StopCheck1"; public static string S1_StopCylinder2 = "S1_StopCylinder2";
/// <summary> /// <summary>
/// DI,右侧上层线体阻挡2检测,RHigh_StopCheck2,3,PRO_AOI_IP_3,0,右侧上层线体阻挡2检测,X644,X644,0 ///DO,上料位反定位阻挡下降,S1_StopCylinder3,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
/// </summary> /// </summary>
public static string RHigh_StopCheck2 = "RHigh_StopCheck2"; public static string S1_StopCylinder3 = "S1_StopCylinder3";
/// <summary> /// <summary>
/// DI,左侧工作位横移平台下降端1,Left_Tranverse_Down_Sig1,4,PRO_AOI_IP_3,0,左侧工作位横移平台下降端1,X645,X645,0 ///DO,上料位正定位阻挡下降,S1_StopCylinder4,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
/// </summary> /// </summary>
public static string Left_Tranverse_Down_Sig1 = "Left_Tranverse_Down_Sig1"; public static string S1_StopCylinder4 = "S1_StopCylinder4";
/// <summary> /// <summary>
/// DI,左侧工作位横移平台下降端2,Left_Tranverse_Down_Sig2,5,PRO_AOI_IP_3,0,左侧工作位横移平台下降端2,X646,X646,0 ///DO,上料位后阻挡下降,S2_StopCylinder1,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
/// </summary> /// </summary>
public static string Left_Tranverse_Down_Sig2 = "Left_Tranverse_Down_Sig2"; public static string S2_StopCylinder1 = "S2_StopCylinder1";
#endregion
#region PRO_AOI_IP_3
/// <summary> /// <summary>
/// DI,左侧工作位横移平台上升端1,Left_Tranverse_Up_Sig1,6,PRO_AOI_IP_3,0,左侧缓存位横移平台上升端1,X647,X647,0 ///DI,右上层线体阻挡1检测,RHigh_StopCheck1,0,PRO_AOI_IP_3,0,右上层线体阻挡1检测,X41,X41,0
/// </summary> /// </summary>
public static string Left_Tranverse_Up_Sig1 = "Left_Tranverse_Up_Sig1"; public static string RHigh_StopCheck1 = "RHigh_StopCheck1";
/// <summary> /// <summary>
/// DI,左侧工作位横移平台上升端2,Left_Tranverse_Up_Sig2,7,PRO_AOI_IP_3,0,左侧缓存位横移平台上升端2,X648,X648,0 ///DI,右上层线体阻挡2检测,RHigh_StopCheck2,1,PRO_AOI_IP_3,0,右上层线体阻挡2检测,X42,X42,0
/// </summary> /// </summary>
public static string Left_Tranverse_Up_Sig2 = "Left_Tranverse_Up_Sig2"; public static string RHigh_StopCheck2 = "RHigh_StopCheck2";
/// <summary> /// <summary>
/// DO,上料工位1电机正转,S1_LineRun,12,PRO_AOI_IP_3,0,上料工位1电机正转,Y645,Y645,0 /// DI,左下层线体满料检测,LLow_FullCheck,2,PRO_AOI_IP_3,0,左下层线体满料检测,X43,X43,0
/// </summary> /// </summary>
public static string S1_LineRun = "S1_LineRun"; public static string LLow_FullCheck = "LLow_FullCheck";
/// <summary> /// <summary>
/// DO,上料工位1电机反转,S1_LineBackRun,13,PRO_AOI_IP_3,0,上料工位1电机反转,Y646,Y646,0 /// DI,左上层线体满料检测,LHigh_FullCheck,3,PRO_AOI_IP_3,0,左上层线体满料检测,X44,X44,0
/// </summary> /// </summary>
public static string S1_LineBackRun = "S1_LineBackRun"; public static string LHigh_FullCheck = "LHigh_FullCheck";
/// <summary> /// <summary>
/// DO,上料工位2电机正转,S2_LineRun,14,PRO_AOI_IP_3,0,上料工位2电机正转,Y647,Y647,0 /// DI,右上层线体满料检测,RHigh_FullCheck,4,PRO_AOI_IP_3,0,右上层线体满料检测,X45,X45,0
/// </summary> /// </summary>
public static string S2_LineRun = "S2_LineRun"; public static string RHigh_FullCheck = "RHigh_FullCheck";
/// <summary> /// <summary>
/// DO,上料工位2电机反转,S2_LineBackRun,15,PRO_AOI_IP_3,0,上料工位2电机反转,Y648,Y648,0 /// DO,上料工位顶升上升,S1_TopCylinderUp,0,PRO_AOI_IP_3,0,上料工位顶升上升,Y41,Y41,0
/// </summary> /// </summary>
public static string S2_LineBackRun = "S2_LineBackRun"; //public static string S1_TopCylinderUp = "S1_TopCylinderUp";
/// <summary> /// <summary>
/// DO,右侧出口轨道电机正转,R_OutLineRun,0,PRO_AOI_IP_3,0,右侧出口轨道电机正转,Y649,Y649,0 /// DO,上料工位顶升下降,S1_TopCylinderDown,1,PRO_AOI_IP_3,0,上料工位顶升下降,Y42,Y42,0
/// </summary> /// </summary>
public static string R_OutLineRun = "R_OutLineRun"; //public static string S1_TopCylinderDown = "S1_TopCylinderDown";
/// <summary> /// <summary>
/// DO,右侧出口轨道电机反转,R_OutLineBackRun,1,PRO_AOI_IP_3,0,右侧出口轨道电机反转,Y650,Y650,0 ///DO,右下层线体阻挡1下降,R_StopCylinder1,2,PRO_AOI_IP_3,0,右下层线体阻挡1下降,Y43,Y43,0
/// </summary> /// </summary>
public static string R_OutLineBackRun = "R_OutLineBackRun"; public static string R_StopCylinder1 = "R_StopCylinder1";
/// <summary> /// <summary>
/// DO,右侧下层电机正转,R_LineRun,2,PRO_AOI_IP_3,0,右侧下层电机正转,Y651,Y651,0 /// DO,右下层线体阻挡2下降,R_StopCylinder2,3,PRO_AOI_IP_3,0,右下层线体阻挡2下降,Y44,Y44,0
/// </summary> /// </summary>
public static string R_LineRun = "R_LineRun"; public static string R_StopCylinder2 = "R_StopCylinder2";
/// <summary> /// <summary>
/// DO,右侧上层电机正转,RHigh_LineRun,11,PRO_AOI_IP_3,0,右侧上层电机正转,Y652,Y652,0 ///DO,右上层线体阻挡1下降,RHigh_StopCylinder1,4,PRO_AOI_IP_3,0,右上层线体阻挡1下降,Y45,Y45,0
/// </summary> /// </summary>
public static string RHigh_LineRun = "RHigh_LineRun"; public static string RHigh_StopCylinder1 = "RHigh_StopCylinder1";
/// <summary> /// <summary>
/// DO,右侧下层线体阻挡1SOL,R_StopCylinder1,4,PRO_AOI_IP_3,0,右侧下层线体阻挡1SOL,Y653,Y653,0 /// DO,右上层线体阻挡2下降,RHigh_StopCylinder2,5,PRO_AOI_IP_3,0,右上层线体阻挡2下降,Y46,Y46,0
/// </summary> /// </summary>
public static string R_StopCylinder1 = "R_StopCylinder1"; public static string RHigh_StopCylinder2 = "RHigh_StopCylinder2";
/// <summary> /// <summary>
/// DO,右侧下层线体阻挡2SOL,R_StopCylinder2,5,PRO_AOI_IP_3,0,右侧下层线体阻挡2SOL,Y654,Y654,0 ///DO,右轨道入料阻挡下降,R_RightStopCylinder,6,PRO_AOI_IP_3,0,右轨道入料阻挡下降,Y47,Y47,0
/// </summary> /// </summary>
public static string R_StopCylinder2 = "R_StopCylinder2"; public static string R_RightStopCylinder = "R_RightStopCylinder";
/// <summary> /// <summary>
/// DO,右侧轨道左阻挡下降,R_LeftStopCylinder,8,PRO_AOI_IP_3,0,右侧轨道左阻挡下降,Y661,Y661,0 ///DO,右轨道出料阻挡下降,R_LeftStopCylinder,7,PRO_AOI_IP_3,0,右轨道出料阻挡下降,Y48,Y48,0
/// </summary> /// </summary>
public static string R_LeftStopCylinder = "R_LeftStopCylinder"; public static string R_LeftStopCylinder = "R_LeftStopCylinder";
///// <summary>
///// DO,右侧轨道右阻挡下降,R_RightStopCylinder,9,PRO_AOI_IP_3,0,右侧轨道右阻挡下降,Y662,Y662,0
///// </summary>
//public static string R_RightStopCylinder = "R_RightStopCylinder";
/// <summary> /// <summary>
/// DO,右侧上层线体阻挡1下降,RHigh_StopCylinder1,18,PRO_AOI_IP_3,0,右侧上层线体阻挡1下降,Y663,Y663,0 /// DO,右升降气缸上升,R_Updown_Up,8,PRO_AOI_IP_3,0,右升降气缸上升,Y49,Y49,0
/// </summary> /// </summary>
public static string RHigh_StopCylinder1 = "RHigh_StopCylinder1"; // public static string R_Updown_Up = "R_Updown_Up";
/// <summary> /// <summary>
/// DO,右侧上层线体阻挡2下降,RHigh_StopCylinder2,19,PRO_AOI_IP_3,0,右侧上层线体阻挡2下降,Y664,Y664,0 /// DO,右升降气缸下降,R_Updown_Down,9,PRO_AOI_IP_3,0,右升降气缸下降,Y50,Y50,0
/// </summary> /// </summary>
public static string RHigh_StopCylinder2 = "RHigh_StopCylinder2"; // public static string R_Updown_Down = "R_Updown_Down";
#endregion #endregion
#region PRO_AOI_IP_6 #region PRO_AOI_IP_6
/// <summary> /// <summary>
///DI,分盘装置1料盘检测_ABB2,ABB2_TrayCheck,3,PRO_AOI_IP_6,0,分盘装置1料盘检测,X673,X673,0 ///DI,分盘装置1料盘检测_ABB2,ABB2_TrayCheck,3,PRO_AOI_IP_6,0,分盘装置1料盘检测,X673,X673,0
/// </summary> /// </summary>
public static string ABB2_TrayCheck = "ABB2_TrayCheck"; // public static string ABB2_TrayCheck = "ABB2_TrayCheck";
#endregion #endregion
#region PRO_AOI_IP_7 #region PRO_AOI_IP_7
/// <summary> /// <summary>
///DI,分盘装置2料盘检测_ABB1,ABB1_TrayCheck,3,PRO_AOI_IP_7,0,分盘装置2料盘检测,X683,X683,0 ///DI,分盘装置2料盘检测_ABB1,ABB1_TrayCheck,3,PRO_AOI_IP_7,0,分盘装置2料盘检测,X683,X683,0
/// </summary> /// </summary>
public static string ABB1_TrayCheck = "ABB1_TrayCheck"; //public static string ABB1_TrayCheck = "ABB1_TrayCheck";
#endregion #endregion
#region PRO_AOI_IP_4 #region PRO_AOI_IP_4
/// <summary> ///// <summary>
/// DI,包装线急停,Pkg_SuddenStop_BTN,0,PRO_AOI_IP_4,0,包装线急停,X701,X701,0 ///// DI,包装线急停,Pkg_SuddenStop_BTN,0,PRO_AOI_IP_4,0,包装线急停,X701,X701,0
/// </summary> ///// </summary>
public static string Pkg_SuddenStop_BTN = "Pkg_SuddenStop_BTN"; //public static string Pkg_SuddenStop_BTN = "Pkg_SuddenStop_BTN";
/// <summary> ///// <summary>
/// DI,包装线复位,Pkg_Reset,1,PRO_AOI_IP_4,0,包装线复位,X702,X702,0 ///// DI,包装线复位,Pkg_Reset,1,PRO_AOI_IP_4,0,包装线复位,X702,X702,0
/// </summary> ///// </summary>
public static string Pkg_Reset = "Pkg_Reset"; //public static string Pkg_Reset = "Pkg_Reset";
/// <summary> ///// <summary>
/// DI,包装线入口检测1,Pkg_In_Check,2,PRO_AOI_IP_4,0,包装线入口检测1,X703,X703,0 ///// DI,包装线入口检测1,Pkg_In_Check,2,PRO_AOI_IP_4,0,包装线入口检测1,X703,X703,0
/// </summary> ///// </summary>
public static string Pkg_In_Check = "Pkg_In_Check"; //public static string Pkg_In_Check = "Pkg_In_Check";
/// <summary> ///// <summary>
/// DI,包装线阻挡检测1,Pkg_Stop_Check1,3,PRO_AOI_IP_4,0,包装线阻挡检测1,X704,X704,0 ///// DI,包装线阻挡检测1,Pkg_Stop_Check1,3,PRO_AOI_IP_4,0,包装线阻挡检测1,X704,X704,0
/// </summary> ///// </summary>
public static string Pkg_Stop_Check1 = "Pkg_Stop_Check1"; //public static string Pkg_Stop_Check1 = "Pkg_Stop_Check1";
/// <summary> ///// <summary>
/// DI,包装线阻挡检测2,Pkg_Stop_Check2,4,PRO_AOI_IP_4,0,包装线阻挡检测2,X705,X705,0 ///// DI,包装线阻挡检测2,Pkg_Stop_Check2,4,PRO_AOI_IP_4,0,包装线阻挡检测2,X705,X705,0
/// </summary> ///// </summary>
public static string Pkg_Stop_Check2 = "Pkg_Stop_Check2"; //public static string Pkg_Stop_Check2 = "Pkg_Stop_Check2";
/// <summary> ///// <summary>
/// DI,包装线顶升定位工位检测,Pkg_Station_Check,5,PRO_AOI_IP_4,0,包装线顶升定位工位检测,X706,X706,0 ///// DI,包装线顶升定位工位检测,Pkg_Station_Check,5,PRO_AOI_IP_4,0,包装线顶升定位工位检测,X706,X706,0
/// </summary> ///// </summary>
public static string Pkg_Station_Check = "Pkg_Station_Check"; //public static string Pkg_Station_Check = "Pkg_Station_Check";
/// <summary> ///// <summary>
/// DI,包装线上料工位顶升上升端,Pkg_Station_Up,6,PRO_AOI_IP_4,0,包装线上料工位顶升上升端,X707,X707,0 ///// DI,包装线上料工位顶升上升端,Pkg_Station_Up,6,PRO_AOI_IP_4,0,包装线上料工位顶升上升端,X707,X707,0
/// </summary> ///// </summary>
public static string Pkg_Station_Up = "Pkg_Station_Up"; //public static string Pkg_Station_Up = "Pkg_Station_Up";
/// <summary> ///// <summary>
/// DI,包装线上料工位顶升下降端,Pkg_Station_Down,7,PRO_AOI_IP_4,0,包装线上料工位顶升下降端,X708,X708,0 ///// DI,包装线上料工位顶升下降端,Pkg_Station_Down,7,PRO_AOI_IP_4,0,包装线上料工位顶升下降端,X708,X708,0
/// </summary> ///// </summary>
public static string Pkg_Station_Down = "Pkg_Station_Down"; //public static string Pkg_Station_Down = "Pkg_Station_Down";
/// <summary> ///// <summary>
/// DI,包装线出口阻挡检测,Pkg_Out_Stop_Check,8,PRO_AOI_IP_4,0,包装线出口阻挡检测,X709,X709,0 ///// DI,包装线出口阻挡检测,Pkg_Out_Stop_Check,8,PRO_AOI_IP_4,0,包装线出口阻挡检测,X709,X709,0
/// </summary> ///// </summary>
public static string Pkg_Out_Stop_Check = "Pkg_Out_Stop_Check"; //public static string Pkg_Out_Stop_Check = "Pkg_Out_Stop_Check";
/// <summary> ///// <summary>
/// DI,包装线ROBOT禁用检测,Pkg_Rotot_Forbidden_Check,9,PRO_AOI_IP_4,0,包装线ROBOT禁用检测,X710,X710,0 ///// DI,包装线ROBOT禁用检测,Pkg_Rotot_Forbidden_Check,9,PRO_AOI_IP_4,0,包装线ROBOT禁用检测,X710,X710,0
/// </summary> ///// </summary>
public static string Pkg_Rotot_Forbidden_Check = "Pkg_Rotot_Forbidden_Check"; //public static string Pkg_Rotot_Forbidden_Check = "Pkg_Rotot_Forbidden_Check";
/// <summary> ///// <summary>
/// DI,包装线空架缓存检测,Pkg_Empty_Shelf_Check,10,PRO_AOI_IP_4,0,包装线空架缓存检测,X711,X711,0 ///// DI,包装线空架缓存检测,Pkg_Empty_Shelf_Check,10,PRO_AOI_IP_4,0,包装线空架缓存检测,X711,X711,0
/// </summary> ///// </summary>
public static string Pkg_Empty_Shelf_Check = "Pkg_Empty_Shelf_Check"; //public static string Pkg_Empty_Shelf_Check = "Pkg_Empty_Shelf_Check";
/// <summary> ///// <summary>
/// DO,包装线运行状态(指示灯),Pkg_Status_Run,0,PRO_AOI_IP_4,0,包装线运行状态(指示灯),Y701,Y701,0 ///// DO,包装线运行状态(指示灯),Pkg_Status_Run,0,PRO_AOI_IP_4,0,包装线运行状态(指示灯),Y701,Y701,0
/// </summary> ///// </summary>
public static string Pkg_Status_Run = "Pkg_Status_Run"; //public static string Pkg_Status_Run = "Pkg_Status_Run";
/// <summary> ///// <summary>
/// DO,包装线故障状态(指示灯),Pkg_Status_Warnning,1,PRO_AOI_IP_4,0,包装线故障状态(指示灯),Y702,Y702,0 ///// DO,包装线故障状态(指示灯),Pkg_Status_Warnning,1,PRO_AOI_IP_4,0,包装线故障状态(指示灯),Y702,Y702,0
/// </summary> ///// </summary>
public static string Pkg_Status_Warnning = "Pkg_Status_Warnning"; //public static string Pkg_Status_Warnning = "Pkg_Status_Warnning";
/// <summary> ///// <summary>
/// DO,包装线阻挡1下降,Pkg_Stop1_Down,2,PRO_AOI_IP_4,0,包装线阻挡1下降,Y703,Y703,0 ///// DO,包装线阻挡1下降,Pkg_Stop1_Down,2,PRO_AOI_IP_4,0,包装线阻挡1下降,Y703,Y703,0
/// </summary> ///// </summary>
public static string Pkg_Stop1_Down = "Pkg_Stop1_Down"; //public static string Pkg_Stop1_Down = "Pkg_Stop1_Down";
/// <summary> ///// <summary>
/// DO,包装线阻挡2下降,Pkg_Stop2_Down,3,PRO_AOI_IP_4,0,包装线阻挡2下降,Y704,Y704,0 ///// DO,包装线阻挡2下降,Pkg_Stop2_Down,3,PRO_AOI_IP_4,0,包装线阻挡2下降,Y704,Y704,0
/// </summary> ///// </summary>
public static string Pkg_Stop2_Down = "Pkg_Stop2_Down"; //public static string Pkg_Stop2_Down = "Pkg_Stop2_Down";
/// <summary> ///// <summary>
/// DO,包装线阻挡3下降,Pkg_Stop3_Down,4,PRO_AOI_IP_4,0,包装线阻挡3下降,Y705,Y705,0 ///// DO,包装线阻挡3下降,Pkg_Stop3_Down,4,PRO_AOI_IP_4,0,包装线阻挡3下降,Y705,Y705,0
/// </summary> ///// </summary>
public static string Pkg_Stop3_Down = "Pkg_Stop3_Down"; //public static string Pkg_Stop3_Down = "Pkg_Stop3_Down";
/// <summary> ///// <summary>
/// DO,包装线顶升定位工位阻档下降,Pkg_Station_Stop_Down,5,PRO_AOI_IP_4,0,包装线顶升定位工位阻档下降,Y706,Y706,0 ///// DO,包装线顶升定位工位阻档下降,Pkg_Station_Stop_Down,5,PRO_AOI_IP_4,0,包装线顶升定位工位阻档下降,Y706,Y706,0
/// </summary> ///// </summary>
public static string Pkg_Station_Stop_Down = "Pkg_Station_Stop_Down"; //public static string Pkg_Station_Stop_Down = "Pkg_Station_Stop_Down";
/// <summary> ///// <summary>
/// DO,包装线出口阻挡下降,Pkg_Out_Stop_Down,6,PRO_AOI_IP_4,0,包装线出口阻挡下降,Y707,Y707,0 ///// DO,包装线出口阻挡下降,Pkg_Out_Stop_Down,6,PRO_AOI_IP_4,0,包装线出口阻挡下降,Y707,Y707,0
/// </summary> ///// </summary>
public static string Pkg_Out_Stop_Down = "Pkg_Out_Stop_Down"; //public static string Pkg_Out_Stop_Down = "Pkg_Out_Stop_Down";
/// <summary> ///// <summary>
/// DO,包装线上料工位顶升上升SOL,Pkg_Station_SOL_UP,7,PRO_AOI_IP_4,0,包装线上料工位顶升上升SOL,Y708,Y708,0 ///// DO,包装线上料工位顶升上升SOL,Pkg_Station_SOL_UP,7,PRO_AOI_IP_4,0,包装线上料工位顶升上升SOL,Y708,Y708,0
/// </summary> ///// </summary>
public static string Pkg_Station_SOL_UP = "Pkg_Station_SOL_UP"; //public static string Pkg_Station_SOL_UP = "Pkg_Station_SOL_UP";
/// <summary> ///// <summary>
/// DO,包装线上料工位顶升下降SOL,Pkg_Station_SOL_Down,8,PRO_AOI_IP_4,0,包装线上料工位顶升下降SOL,Y709,Y709,0 ///// DO,包装线上料工位顶升下降SOL,Pkg_Station_SOL_Down,8,PRO_AOI_IP_4,0,包装线上料工位顶升下降SOL,Y709,Y709,0
/// </summary> ///// </summary>
public static string Pkg_Station_SOL_Down = "Pkg_Station_SOL_Down"; //public static string Pkg_Station_SOL_Down = "Pkg_Station_SOL_Down";
/// <summary> ///// <summary>
/// DO,包装线驱动电机1正转,Pkg_Line1_Forward,9,PRO_AOI_IP_4,0,包装线驱动电机1正转,Y710,Y710,0 ///// DO,包装线驱动电机1正转,Pkg_Line1_Forward,9,PRO_AOI_IP_4,0,包装线驱动电机1正转,Y710,Y710,0
/// </summary> ///// </summary>
public static string Pkg_Line1_Forward = "Pkg_Line1_Forward"; //public static string Pkg_Line1_Forward = "Pkg_Line1_Forward";
/// <summary> ///// <summary>
/// DO,包装线驱动电机2正转,Pkg_Line2_Forward,10,PRO_AOI_IP_4,0,包装线驱动电机2正转,Y711,Y711,0 ///// DO,包装线驱动电机2正转,Pkg_Line2_Forward,10,PRO_AOI_IP_4,0,包装线驱动电机2正转,Y711,Y711,0
/// </summary> ///// </summary>
public static string Pkg_Line2_Forward = "Pkg_Line2_Forward"; //public static string Pkg_Line2_Forward = "Pkg_Line2_Forward";
/// <summary> ///// <summary>
/// DO,包装线驱动电机2反转,Pkg_Line2_Backward,11,PRO_AOI_IP_4,0,包装线驱动电机2反转,Y712,Y712,0 ///// DO,包装线驱动电机2反转,Pkg_Line2_Backward,11,PRO_AOI_IP_4,0,包装线驱动电机2反转,Y712,Y712,0
/// </summary> ///// </summary>
public static string Pkg_Line2_Backward = "Pkg_Line2_Backward"; //public static string Pkg_Line2_Backward = "Pkg_Line2_Backward";
/// <summary> ///// <summary>
/// DO,包装线驱动电机3正转,Pkg_Line3_Forward,12,PRO_AOI_IP_4,0,包装线驱动电机3正转,Y713,Y713,0 ///// DO,包装线驱动电机3正转,Pkg_Line3_Forward,12,PRO_AOI_IP_4,0,包装线驱动电机3正转,Y713,Y713,0
/// </summary> ///// </summary>
public static string Pkg_Line3_Forward = "Pkg_Line3_Forward"; //public static string Pkg_Line3_Forward = "Pkg_Line3_Forward";
/// <summary> ///// <summary>
/// DO,包装线驱动电机3反转,Pkg_Line3_Backward,13,PRO_AOI_IP_4,0,包装线驱动电机3反转,Y714,Y714,0 ///// DO,包装线驱动电机3反转,Pkg_Line3_Backward,13,PRO_AOI_IP_4,0,包装线驱动电机3反转,Y714,Y714,0
/// </summary> ///// </summary>
public static string Pkg_Line3_Backward = "Pkg_Line3_Backward"; //public static string Pkg_Line3_Backward = "Pkg_Line3_Backward";
#endregion #endregion
#region PRO_AOI_IP_8 #region PRO_AOI_IP_8
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!