Commit ab330180 刘韬

更新IO配置

1 个父辈 419a02c5
......@@ -287,7 +287,7 @@ namespace OnlineStore.DUOStore
private void btnStoreOn_Click(object sender, EventArgs e)
{
BtnMove(btnCamerLed, "打开设备电源", "关闭设备电源", IO_Type.Device_Led);
BtnMove(btnCamerLed, "打开设备照明", "关闭设备照明", IO_Type.Device_Led);
}
private void btnCloseCyDo_Click(object sender, EventArgs e)
......@@ -303,12 +303,12 @@ namespace OnlineStore.DUOStore
private void btnClamp_Click(object sender, EventArgs e)
{
StoreManager.Store.CylinderMove(null, IO_Type.ClampCylinder_Relax, IO_Type.ClampCylinder_Clamp);
ElectricClamp.Clamp();
}
private void btnRelax_Click(object sender, EventArgs e)
{
StoreManager.Store.CylinderMove(null, IO_Type.ClampCylinder_Clamp, IO_Type.ClampCylinder_Relax);
ElectricClamp.Release();
}
private void btnLDoorUp_Click(object sender, EventArgs e)
......
......@@ -78,6 +78,7 @@
<Compile Include="duoStore\BoxBean_Partial.cs" />
<Compile Include="duoStore\BoxBean_Shelf.cs" />
<Compile Include="duoStore\DUOStoreBean_Partial.cs" />
<Compile Include="duoStore\ElectricClamp.cs" />
<Compile Include="duoStore\EquipBase.cs" />
<Compile Include="duoStore\HoisterCylinder.cs" />
<Compile Include="duoStore\HumitureBean.cs" />
......
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位,
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0,
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,0,
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0,
,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.201.21#16;192.168.201.22#16;192.168.200.23#8,,,,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.201.21#16;192.168.201.22#16;192.168.200.23#8,,,,,,,,,,,,,
PRO,,第一块IO模块IP,PRO_AIO_IP_1,192.168.200.21,,,,,,,,,,,,,
PRO,,第二块IO模块IP,PRO_AIO_IP_2,192.168.200.22,,,,,,,,,,,,,
PRO,,第三块IO模块IP,PRO_AIO_IP_3,192.168.200.23,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
DI,0,急停,SuddenStop_BTN,0,PRO_AIO_IP_1,X01,X00,急停,,,,,,,,,
DI,0,复位,Reset_BTN,1,PRO_AIO_IP_1,X02,X01,复位,,,,,,,,,
DI,0,启动,AutoRun_BTN,2,PRO_AIO_IP_1,X03,*,,,,,,,,,,
DI,0,气压检测,Airpressure_Check,3,PRO_AIO_IP_1,X04,X02,气压检测,,,,,,,,,
DI,0,线体入口料串检测,Line_InCheck,4,PRO_AIO_IP_1,X05,X03,线体入口料串检测,,,,,,,,,
DI,0,线体上料等待区检测,Line_WaitCheck,5,PRO_AIO_IP_1,X06,X04,线体上料等待区检测,,,,,,,,,
DI,0,线体上料区料串检测,Line_WorkCheck,6,PRO_AIO_IP_1,X07,,,,,,,,,,,
DI,0,料串识别检测1,ShelfCheck1,7,PRO_AIO_IP_1,X08,,,,,,,,,,,
DI,0,料串识别检测2,ShelfCheck2,8,PRO_AIO_IP_1,X09,,,,,,,,,,,
DI,0,料串识别检测3,ShelfCheck3,9,PRO_AIO_IP_1,X10,,,,,,,,,,,
DI,0,料串识别检测4,ShelfCheck4,10,PRO_AIO_IP_1,X11,,,,,,,,,,,
DI,0,线体后端料串堆积检测,Line_BufferCheck,11,PRO_AIO_IP_1,X12,,,,,,,,,,,
DI,0,线体后端料串检测,Line_OutCheck,12,PRO_AIO_IP_1,X13,,,,,,,,,,,
DI,0,线体顶升气缸上升端,TopCylinder_Up,13,PRO_AIO_IP_1,X14,,,,,,,,,,,
DI,0,线体顶升气缸下降端,TopCylinder_Down,14,PRO_AIO_IP_1,X15,,,,,,,,,,,
DI,0,取料提升机构前进端,Hoister_Forward,15,PRO_AIO_IP_1,X16,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
DO,0,自动指示灯,AutoRun_HddLed,0,PRO_AIO_IP_1,Y01,Y00,自动指示灯,,,,,,,,,
DO,0,故障指示灯,Alarm_HddLed,1,PRO_AIO_IP_1,Y02,Y01,故障指示灯,,,,,,,,,
DO,0,待机指示灯,RunSign_HddLed,2,PRO_AIO_IP_1,Y03,Y02,待机指示灯,,,,,,,,,
DO,0,报警蜂鸣器,Alarm_Buzzer,3,PRO_AIO_IP_1,Y04,Y03,报警蜂鸣器,,,,,,,,,
DO,1,左侧料口物料指示灯绿色,DoorLed_Green,4,PRO_AIO_IP_1,Y05,Y04,左侧料口绿色指示灯,,,,,,,,,
DO,1,左侧料口物料指示灯红色,DoorLed_Red,5,PRO_AIO_IP_1,Y06,Y05,左侧料口红色指示灯,,,,,,,,,
DO,2,右侧料口物料指示灯绿色,DoorLed_Green,6,PRO_AIO_IP_1,Y07,Y06,右侧料口绿色指示灯,,,,,,,,,
DO,2,右侧料口物料指示灯红色,DoorLed_Red,7,PRO_AIO_IP_1,Y08,Y07,右侧料口红色指示灯,,,,,,,,,
DO,0,取料提升机构电机前进,Hoister_Forward,8,PRO_AIO_IP_1,Y09,,,,,,,,,,,
DO,0,取料提升机构电机后退,Hoister_Back,9,PRO_AIO_IP_1,Y10,,,,,,,,,,,
DO,0,相机光源ON,Camera_Led,10,PRO_AIO_IP_1,Y11,Y09,相机光源开启,,,,,,,,,
DO,1,*左侧料仓升降轴刹车ON,UpdownAxis_Break,11,PRO_AIO_IP_1,Y12,*,,,,,,,,,,
DO,2,*右侧料仓升降轴刹车ON,UpdownAxis_Break,12,PRO_AIO_IP_1,Y13,*,,,,,,,,,,
DO,0,*提升机构升降轴刹车ON,BatchAxis_Break,13,PRO_AIO_IP_1,Y14,*,,,,,,,,,,
DO,0,*移栽机构上下轴刹车ON,MoveAxis_Break,14,PRO_AIO_IP_1,Y15,*,,,,,,,,,,
DO,1,*左侧料仓伺服ON,Axis_Run,15,PRO_AIO_IP_1,Y16,*,,,,,,,,,,
,,,,,,, ,,,,,,,,,,
DI,0,取料提升机构后退端,Hoister_Back,0,PRO_AIO_IP_2,X21, ,,,,,,,,,,
DI,0,提升机构料盘检测,BatchAxis_Check,1,PRO_AIO_IP_2,X22,,,,,,,,,,,
DI,0,*取料气缸放松端,ClampCylinder_Relax,2,PRO_AIO_IP_2,X23,*,,,,,,,,,,
DI,0,*取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AIO_IP_2,X24,*,,,,,,,,,,
DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AIO_IP_2,X25,X12,左侧出料口安全光栅,,,,,,,,,
DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AIO_IP_2,X26,X11,左侧暂存区料盘检测,,,,,,,,,
DI,1,左侧出料口门上升/打开端,OutDoor_Up,6,PRO_AIO_IP_2,X27,X13,左侧出料口门上升端,,,,,,,,,
DI,1,左侧出料口门下降/关闭端,OutDoor_Down,7,PRO_AIO_IP_2,X28,X14,左侧出料口门下降端,,,,,,,,,
DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AIO_IP_2,X29,X15,左侧出料口料盘检测,,,,,,,,,
DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AIO_IP_2,X30,X16,左侧料叉料盘检测,,,,,,,,,
DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,X19,右侧出料口安全光栅,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,X18,右侧暂存区料盘检测,,,,,,,,,
DI,2,右侧出料口门上升/打开端,OutDoor_Up,12,PRO_AIO_IP_2,X33,X20,右侧出料口门上升端,,,,,,,,,
DI,2,右侧出料口门下降/关闭端,OutDoor_Down,13,PRO_AIO_IP_2,X34,X21,右侧出料口门下降端,,,,,,,,,
DI,2,右侧料叉料盘检测,Fixture_Check,14,PRO_AIO_IP_2,X35,X23,右侧料叉料盘检测,,,,,,,,,
DI,2,右侧出料口料盘检测,OutDoor_Check,15,PRO_AIO_IP_2,X36,X22,右侧出料口料盘检测,,,,,,,,,
,,,,,,,,,,,,,,,,,
DO,2,*右侧料仓伺服ON,Axis_Run,0,PRO_AIO_IP_2,Y21,*,,,,,,,,,,
DO,0,*取料机构伺服ON,MoveAxis_Run,1,PRO_AIO_IP_2,Y22,*,,,,,,,,,,
DO,0,线体皮带正转,Line_Run,2,PRO_AIO_IP_2,Y23,Y11,横移电机正转,,,,,,,,,
DO,0,线体皮带反转,Line_BackRun,3,PRO_AIO_IP_2,Y24,Y12,横移电机反转,,,,,,,,,
DO,0,线体等待区阻挡1上升,Line_Stop1_Wait,4,PRO_AIO_IP_2,Y25,Y16,线体等待区阻挡上升,,,,,,,,,
DO,0,线体上料区阻挡2上升,Line_Stop2_Work,5,PRO_AIO_IP_2,Y26,Y17,线体上料区阻挡上升,,,,,,,,,
DO,0,线体出料区阻挡3上升,Line_Stop3_Buffer,6,PRO_AIO_IP_2,Y27,,,,,,,,,,,
DO,0,线体放行阻挡4上升,Line_Stop4_Out,7,PRO_AIO_IP_2,Y28,Y18,线体放行阻挡上升,,,,,,,,,
DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AIO_IP_2,Y29,Y19,线体横移顶升上升,,,,,,,,,
DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AIO_IP_2,Y30,Y20,线体横移顶升下降,,,,,,,,,
DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AIO_IP_2,Y31,*,,,,,,,,,,
DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AIO_IP_2,Y32,*,,,,,,,,,,
DO,1,左侧出料口门上升/打开SOL,OutDoor_Up,12,PRO_AIO_IP_2,Y33,Y25,左侧出料口门上升,,,,,,,,,
DO,1,左侧出料口门下降/关闭SOL,OutDoor_Down,13,PRO_AIO_IP_2,Y34,Y26,左侧出料口门下降,,,,,,,,,
DO,2,右侧出料口门上升/打开SOL,OutDoor_Up,14,PRO_AIO_IP_2,Y35,Y29,右侧出料口门上升,,,,,,,,,
DO,2,右侧出料口门下降/关闭SOL,OutDoor_Down,15,PRO_AIO_IP_2,Y36,Y30,右侧出料口门下降,,,,,,,,,
,,,,,,,,,,,,,,,,,
DI,0,*取料气缸料盘检测,ClampCylinder_Check,0,PRO_AIO_IP_3,X41,,,,,,,,,,,
DI,0,*线体出口放行信号,LineOut_BTN,1,PRO_AIO_IP_3,X42,,,,,,,,,,,
,0,,,2,PRO_AIO_IP_3,X43,,,,,,,,,,,
,0,,,3,PRO_AIO_IP_3,X44,,,,,,,,,,,
,0,,,4,PRO_AIO_IP_3,X45,,,,,,,,,,,
,0,,,5,PRO_AIO_IP_3,X46,,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,X47,,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,X48,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
DO,0,*线体入口指示灯,LineIn_Led,0,PRO_AIO_IP_3,Y41,,,,,,,,,,,
DO,0,*线体出口指示灯,LineOut_Led,1,PRO_AIO_IP_3,Y42,,,,,,,,,,,
DO,0,设备内部照明ON,Device_Led,2,PRO_AIO_IP_3,Y43,Y08,设备内部照明开启,,,,,,,,,Y08
,0,,,3,PRO_AIO_IP_3,Y44,,,,,,,,,,,
,0,,,4,PRO_AIO_IP_3,Y45,,,,,,,,,,,
,0,,,5,PRO_AIO_IP_3,Y46,,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,Y47,,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,Y48,,,,,,,,,,,
,,,,,,,,,,,,,,,, ,
PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,5000,,,,, ,,,,,,,,
PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,4000,,,,, ,,,,,,,,
PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,4000,,,,,,,,,,,,,
PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,500,,,,, ,,,,,,,,
PRO,0,T1_提升轴高度转换系数(1mm对应的脉冲),BatchAxis_ChangeValue,11000,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,T2_旋转轴_料串取放料点P4:,
PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,5000,,,,,,,,,,,,,
PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,59002,,,,,,,,,,,,,
PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,59003,,,,,,,,,,,,,
PRO,0,T2_旋转轴_料串取放料点_P4,MiddleAxis_P4,59004,,,,,,,,,,,,,
PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,500,,,,,,,,,,,,,
PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,500,,,,,,,,,,,,,
PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,500,,,,,,,,,,,,,
PRO,0,T2_旋转轴P4速度,MiddleAxis_P4Speed,500,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,5000,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料高点/待机点 P2,UpdownAxis_P2,5001,,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,5002,,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,5003,,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,5004,,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,5005,,,,,,,,,,,,,
PRO,0,T2_升降轴P1速度/慢速度,UpdownAxis_P1Speed,500,,,,,,,,,,,,,
PRO,0,T2_升降轴P2速度/快速度,UpdownAxis_P2Speed,501,,,,,,,,,,,,,
PRO,0,T2_升降轴P3速度/慢速度,UpdownAxis_P3Speed,502,,,,,,,,,,,,,
PRO,0,T2_升降轴P4速度/快速度,UpdownAxis_P4Speed,503,,,,,,,,,,,,,
PRO,0,T2_升降轴P5速度/慢速度,UpdownAxis_P5Speed,504,,,,,,,,,,,,,
PRO,0,T2_升降轴P6速度/快速度,UpdownAxis_P6Speed,505,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
PRO,,预警温度,WarnTemperate,80,,,,,,,,,,,,,
PRO,,预警湿度,WarnHumidity,80,,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,,
PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,,
PRO,,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,,,
PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,
PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1,,,,,,,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2,,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,,,,,,,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,HC,,250,500,500,100,200,1000,10,1000,0,0
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,HC,,1000,1000,1000,200,500,500,10,1000,0,0
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,HC,,800,1000,1000,200,500,500,10,1000,0,0
AXIS,,T4_取料机构进出轴,T4_InOut_Axis,4,HC,,800,1000,1000,200,500,500,10,1000,0,0
,,,,,,,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.201.21#16;192.168.201.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.201.21#16;192.168.201.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,第一块IO模块IP,PRO_AIO_IP_1,192.168.200.21,,,,,,,,,,,,
PRO,,第二块IO模块IP,PRO_AIO_IP_2,192.168.200.22,,,,,,,,,,,,
PRO,,第三块IO模块IP,PRO_AIO_IP_3,192.168.200.23,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
DI,0,急停,SuddenStop_BTN,0,HC,X00,,,,,,,,,,
DI,0,复位,Reset_BTN,1,HC,X01,,,,,,,,,,
DI,0,气压检测,Airpressure_Check,2,HC,X02,,,,,,,,,,
DI,0,线体入口料串检测,Line_InCheck,3,HC,X03,,,,,,,,,,
DI,0,线体上料等待区检测,Line_WaitCheck,4,HC,X04,,,,,,,,,,
DI,0,线体上料区底部料串检测,Line_WorkCheck,5,HC,X05,,,,,,,,,,
DI,0,线体上料区侧部料串检测,Line_SideCheck,6,HC,X06,*,,,,,,,,,
DI,0,线体放行区料串满料检测,Line_BufferCheck,7,HC,X07,,,,,,,,,,
DI,0,线体放行区料串检测,Line_OutCheck,8,HC,X08,,,,,,,,,,
DI,0,线体横移顶升上升端,TopCylinder_Up,9,HC,X09,,,,,,,,,,
DI,0,线体横移顶升下降端,TopCylinder_Down,10,HC,X10,,,,,,,,,,
DI,1,左侧暂存区料盘检测,InDoor_Check,11,HC,X11,,,,,,,,,,
DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,12,HC,X12,,,,,,,,,,
DI,1,左侧出料口门上升端,OutDoor_Up,13,HC,X13,,,,,,,,,,
DI,1,左侧出料口门下降端,OutDoor_Down,14,HC,X14,,,,,,,,,,
DI,1,左侧出料口料盘检测,OutDoor_Check,15,HC,X15,,,,,,,,,,
DI,1,左侧料叉料盘检测,Fixture_Check,16,HC,X16,,,,,,,,,,
DI,1,左侧料叉激光定位,Fixture_Laser,17,HC,X17,*,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,18,HC,X18,,,,,,,,,,
DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,19,HC,X19,,,,,,,,,,
DI,2,右侧出料口门上升端,OutDoor_Up,20,HC,X20,,,,,,,,,,
DI,2,右侧出料口门下降端,OutDoor_Down,21,HC,X21,,,,,,,,,,
DI,2,右侧出料口料盘检测,OutDoor_Check,22,HC,X22,,,,,,,,,,
DI,2,右侧料叉料盘检测,Fixture_Check,23,HC,X23,,,,,,,,,,
DI,2,右侧料叉激光定位,Fixture_Laser,24,HC,X24,*,,,,,,,,,
DI,0,取料气缸料盘检测,ClampCylinder_Check,25,HC,X25,,,,,,,,,,
DI,0,提升工位料盘定位检测,BatchAxis_Check,26,HC,X26,,,,,,,,,,
DI,0,7寸料盘宽度检测,TrayCheck_7,27,HC,X27,*,,,,,,,,,
DI,0,11/13/15寸料盘宽度检测,TrayCheck_11to15,28,HC,X28,*,,,,,,,,,
DI,0,提升工位前端料串检测,RaiseStation_FrontCheck,29,HC,X29,*,,,,,,,,,
DI,0,提升工位末端料串检测,RaiseStation_BackendCheck,30,HC,X30,*,,,,,,,,,
DI,0,提升工位定位1上升端,RaiseStation_UpLocation1,31,HC,X31,*,,,,,,,,,
DI,0,提升工位定位1下降端,RaiseStation_DownLocation1,32,HC,X32,*,,,,,,,,,
DI,0,提升工位定位2上升端,RaiseStation_UpLocation2,33,HC,X33,*,,,,,,,,,
DI,0,提升工位定位2下降端,RaiseStation_DownLocation2,34,HC,X34,*,,,,,,,,,
DI,0,设备左侧防护门打开端,LeftDoor_Open,35,HC,X35,*,,,,,,,,,
DI,0,设备左侧防护门关闭端,LeftDoor_Close,36,HC,X36,*,,,,,,,,,
DI,0,设备右侧防护门打开端,RightDoor_Open,37,HC,X37,*,,,,,,,,,
DI,0,设备右侧防护门关闭端,RightDoor_Close,38,HC,X38,*,,,,,,,,,
DI,0,卡爪到位确认,Clamp_OnPosition,39,HC,X39,*,,,,,,,,,
DI,0,卡爪范围确认,Clamp_InRange,40,HC,X40,*,,,,,,,,,
DI,0,卡爪动作中,Clamp_Busy,41,HC,X41,*,,,,,,,,,
DI,0,卡爪异常代码1,Clamp_Abnormal1,42,HC,X42,*,,,,,,,,,
DI,0,卡爪异常代码2,Clamp_Abnormal2,43,HC,X43,*,,,,,,,,,
DI,0,卡爪物件辨识1,Clamp_ObjRecognize1,44,HC,X44,*,,,,,,,,,
DI,0,卡爪物件辨识2,Clamp_ObjRecognize2,45,HC,X45,*,,,,,,,,,
DI,0,卡爪物件辨识3,Clamp_ObjRecognize3,46,HC,X46,*,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,0,自动指示灯,AutoRun_HddLed,0,HC,Y00,,,,,,,,,,
DO,0,故障指示灯,Alarm_HddLed,1,HC,Y01,,,,,,,,,,
DO,0,待机指示灯,RunSign_HddLed,2,HC,Y02,,,,,,,,,,
DO,0,报警蜂鸣器,Alarm_Buzzer,3,HC,Y03,,,,,,,,,,
DO,1,左侧料口绿色指示灯,DoorLed_Green,4,HC,Y04,,,,,,,,,,
DO,1,左侧料口红色指示灯,DoorLed_Red,5,HC,Y05,,,,,,,,,,
DO,2,右侧料口绿色指示灯,DoorLed_Green,6,HC,Y06,,,,,,,,,,
DO,2,右侧料口红色指示灯,DoorLed_Red,7,HC,Y07,,,,,,,,,,
DO,0,设备内部照明开启,Device_Led,8,HC,Y08,,,,,,,,,,
DO,0,相机光源开启,Camera_Led,9,HC,Y09,,,,,,,,,,
DO,0,线体链条启动,Line_Run,10,HC,Y10,,,,,,,,,,
DO,0,横移电机正转,RaiseStation_GoIn,11,HC,Y11,*,,,,,,,,,
DO,0,横移电机反转,RaiseStation_GoOut,12,HC,Y12,*,,,,,,,,,
DO,0,过渡电滚筒正转,RaiseStation_GoIn1,13,HC,Y13,*,,,,,,,,,
DO,0,过渡电滚筒反转,RaiseStation_GoOut1,14,HC,Y14,*,,,,,,,,,
DO,0,设备氮气阀门开启,Nitrogen_Valve,15,HC,Y15,*,,,,,,,,,
DO,0,线体等待区阻挡下降,Line_Stop1_Wait,16,HC,Y16,,,,,,,,,,
DO,0,线体上料区阻挡下降,Line_Stop2_Work,17,HC,Y17,,,,,,,,,,
DO,0,线体放行阻挡下降,Line_Stop4_Out,18,HC,Y18,,,,,,,,,,
DO,0,线体横移顶升上升,TopCylinder_Up,19,HC,Y19,,,,,,,,,,
DO,0,线体横移顶升下降,TopCylinder_Down,20,HC,Y20,,,,,,,,,,
DO,0,提升工位定位上升,RaiseStation_LocationUp,21,HC,Y21,*,,,,,,,,,
DO,0,提升工位定位下降,RaiseStation_LocationDown,22,HC,Y22,*,,,,,,,,,
,0,设备左侧防护门打开,LeftDoor_Open,23,HC,Y23,*,,,,,,,,,
DO,0,设备左侧防护门关闭,LeftDoor_Close,24,HC,Y24,*,,,,,,,,,
DO,1,左侧出料口门上升,OutDoor_Up,25,HC,Y25,,,,,,,,,,
DO,1,左侧出料口门下降,OutDoor_Down,26,HC,Y26,,,,,,,,,,
DO,0,设备右侧防护门打开,RightDoor_Open,27,HC,Y27,*,,,,,,,,,
DO,0,设备右侧防护门关闭,RightDoor_Close,28,HC,Y28,*,,,,,,,,,
DO,2,右侧出料口门上升,OutDoor_Up,29,HC,Y29,,,,,,,,,,
DO,2,右侧出料口门下降,OutDoor_Down,30,HC,Y30,,,,,,,,,,
DO,0,卡爪指令编码0,Clamp_SetPos0,31,HC,Y31,*,,,,,,,,,
DO,1,卡爪指令编码1,Clamp_SetPos1,32,HC,Y32,*,,,,,,,,,
DO,2,卡爪指令编码2,Clamp_SetPos2,33,HC,Y33,*,,,,,,,,,
DO,3,卡爪指令编码3,Clamp_SetPos3,34,HC,Y34,*,,,,,,,,,
DO,4,卡爪指令编码4,Clamp_SetPos4,35,HC,Y35,*,,,,,,,,,
DO,5,卡爪动作指令,Clamp_DoAction,36,HC,Y36,*,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,5000,,,,, ,,,,,,,
PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,4000,,,,, ,,,,,,,
PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,4000,,,,,,,,,,,,
PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,500,,,,, ,,,,,,,
PRO,0,T1_提升轴高度转换系数(1mm对应的脉冲),BatchAxis_ChangeValue,11000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,5000,,,,,,,,,,,,
PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,59002,,,,,,,,,,,,
PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,59003,,,,,,,,,,,,
PRO,0,T2_旋转轴_料串取放料点_P4,MiddleAxis_P4,59004,,,,,,,,,,,,
PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P4速度,MiddleAxis_P4Speed,500,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,5000,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料高点/待机点 P2,UpdownAxis_P2,5001,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,5002,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,5003,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,5004,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,5005,,,,,,,,,,,,
PRO,0,T3_升降轴P1速度/慢速度,UpdownAxis_P1Speed,500,,,,,,,,,,,,
PRO,0,T3_升降轴P2速度/快速度,UpdownAxis_P2Speed,501,,,,,,,,,,,,
PRO,0,T3_升降轴P3速度/慢速度,UpdownAxis_P3Speed,502,,,,,,,,,,,,
PRO,0,T3_升降轴P4速度/快速度,UpdownAxis_P4Speed,503,,,,,,,,,,,,
PRO,0,T3_升降轴P5速度/慢速度,UpdownAxis_P5Speed,504,,,,,,,,,,,,
PRO,0,T32_升降轴P6速度/快速度,UpdownAxis_P6Speed,505,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,预警温度,WarnTemperate,80,,,,,,,,,,,,
PRO,,预警湿度,WarnHumidity,80,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,
PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,
PRO,,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,,
PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1,,,,,,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,,,,,,
......@@ -25,10 +25,12 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 取料提升机构气缸
/// </summary>
public HoisterCylinder hoisterCylinder = new HoisterCylinder(0);
//public HoisterCylinder hoisterCylinder = new HoisterCylinder(0);
public ElectricClamp electricClamp = new ElectricClamp(0);
public AxisBean T1_BatchAxis = null;
public AxisBean T2_MiddleAxis = null;
public AxisBean T3_UpdownAxis = null;
public AxisBean T4_InOut_Axis = null;
#region 初始化
......@@ -67,6 +69,7 @@ namespace OnlineStore.DeviceLibrary
T1_BatchAxis = new AxisBean(Config.T1_Batch_Axis, Name);
T2_MiddleAxis = new AxisBean(Config.T2_Middle_Axis,Name);
T3_UpdownAxis = new AxisBean(Config.T3_Updown_Axis,Name);
T4_InOut_Axis = new AxisBean(Config.T4_InOut_Axis, Name);
IOManager.Init();
CodeManager.LoadConfig();
......@@ -188,13 +191,10 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(600));
IOMove(IO_Type.Line_Stop1_Wait, IO_VALUE.LOW);
IOMove(IO_Type.Line_Stop2_Work, IO_VALUE.LOW);
IOMove(IO_Type.Line_Stop3_Buffer, IO_VALUE.LOW);
IOMove(IO_Type.Line_Stop4_Out, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_Stop1_Wait, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_Stop2_Work, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_Stop3_Buffer, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_Stop4_Out, IO_VALUE.LOW));
hoisterCylinder.StartForward(MoveInfo);
}
protected override void ResetProcess()
......@@ -220,7 +220,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StoreMoveStep.LR_03_BatchAxisHome);
LogUtil.info(Name + "复位 " + MoveInfo.MoveStep + " :夹爪放松,提升轴回原点,上下轴回原点,流水线停止");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Clamp, IO_Type.ClampCylinder_Relax);
ElectricClamp.Release(MoveInfo);
T1_BatchAxis.HomeMove(MoveInfo);
T3_UpdownAxis.HomeMove(MoveInfo);
LineStop(MoveInfo);
......@@ -300,12 +300,11 @@ namespace OnlineStore.DeviceLibrary
equip.StopMove();
}
MoveInfo.EndMove();
hoisterCylinder.Stop();
//轴运动停止
T3_UpdownAxis.SuddenStop();
T2_MiddleAxis.SuddenStop();
T1_BatchAxis.SuddenStop();
T4_InOut_Axis.SuddenStop();
CloseAllAxis();
LineStop();
......@@ -581,10 +580,8 @@ namespace OnlineStore.DeviceLibrary
try
{
if (IOValue(IO_Type.Line_OutCheck).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.Line_BackRun).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.Line_Run).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.Line_BufferCheck).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.Line_Stop3_Buffer).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.Line_Stop4_Out).Equals(IO_VALUE.LOW) &&
LowProcess.Equals(false))
{
......@@ -596,7 +593,7 @@ namespace OnlineStore.DeviceLibrary
LowProcess = true;
LogUtil.info(Name + "从料架堆积处放一个料架到后端");
IOMove(IO_Type.Line_Run, IO_VALUE.HIGH, false, 30000);
IOMove(IO_Type.Line_Stop3_Buffer, IO_VALUE.HIGH, false, 2000);
//IOMove(IO_Type.Line_Stop3_Buffer, IO_VALUE.HIGH, false, 2000);
if (WaitIo(IO_Type.Line_OutCheck, IO_VALUE.HIGH, 30000, "堆积处放料架到后端"))
{
LineStop();
......@@ -619,10 +616,10 @@ namespace OnlineStore.DeviceLibrary
public int GetShelfNum()
{
int ShelfCheck1 = (int)IOValue(IO_Type.ShelfCheck1);
int ShelfCheck2 = (int)IOValue(IO_Type.ShelfCheck2);
int ShelfCheck3 = (int)IOValue(IO_Type.ShelfCheck3);
int ShelfCheck4 = (int)IOValue(IO_Type.ShelfCheck4);
int ShelfCheck1 = 0;// (int)IOValue(IO_Type.ShelfCheck1);
int ShelfCheck2 = 0;//(int)IOValue(IO_Type.ShelfCheck2);
int ShelfCheck3 = 0;//(int)IOValue(IO_Type.ShelfCheck3);
int ShelfCheck4 = 0;//(int)IOValue(IO_Type.ShelfCheck4);
string dStr = ShelfCheck4.ToString()+ShelfCheck3.ToString() + ShelfCheck2.ToString() + ShelfCheck1.ToString();
int num = Convert.ToInt32(dStr, 2);
......@@ -633,10 +630,8 @@ namespace OnlineStore.DeviceLibrary
{
if (move != null)
{
move.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_BackRun, IO_VALUE.LOW));
move.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_Run, IO_VALUE.HIGH));
}
IOMove(IO_Type.Line_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Line_Run, IO_VALUE.HIGH);
}
......@@ -644,29 +639,26 @@ namespace OnlineStore.DeviceLibrary
{
if (move != null)
{
move.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_BackRun, IO_VALUE.LOW));
move.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_Run, IO_VALUE.LOW));
}
IOMove(IO_Type.Line_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.Line_Run, IO_VALUE.LOW);
}
public bool OpenAllAxis(bool isCheck = true)
{
if (RunMultiAxis(isCheck, new AxisBean []{ T3_UpdownAxis,T2_MiddleAxis}))
if (RunMultiAxis(isCheck, new AxisBean []{ T3_UpdownAxis,T2_MiddleAxis,T4_InOut_Axis, T1_BatchAxis }))
{
if (RunAxis(isCheck, T1_BatchAxis) )
{
return true;
}
return true;
//if (RunAxis(isCheck, T1_BatchAxis) )
// return true;
}
return false;
}
public void CloseAllAxis()
{
CloseMultiAxis(new AxisBean[] { T3_UpdownAxis, T2_MiddleAxis });
CloseAxis(T1_BatchAxis);
CloseMultiAxis(new AxisBean[] { T3_UpdownAxis, T2_MiddleAxis, T4_InOut_Axis, T1_BatchAxis });
//CloseAxis(T1_BatchAxis);
}
}
}
\ No newline at end of file
......@@ -254,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StoreMoveStep.LO_14_CylinderTighten);
InOutStoreLog("取料:夹爪气缸夹紧");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Relax, IO_Type.ClampCylinder_Clamp);
ElectricClamp.Clamp(MoveInfo);
}
else if (MoveInfo.IsStep(StoreMoveStep.LO_14_CylinderTighten))
{
......@@ -292,7 +292,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StoreMoveStep.LO_19_CylinderRelax);
InOutStoreLog("料盘移栽: 夹爪气缸放松");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Clamp, IO_Type.ClampCylinder_Relax);
ElectricClamp.Release(MoveInfo);
}
else if (MoveInfo.IsStep(StoreMoveStep.LO_19_CylinderRelax))
{
......@@ -335,7 +335,6 @@ namespace OnlineStore.DeviceLibrary
InOutStoreLog(" 等待料盘出库");
}
}
#endregion
......@@ -610,7 +609,6 @@ namespace OnlineStore.DeviceLibrary
InOutStoreLog("入料检测:有料盘:升降轴到料串高点P2["+ Config.UpdownAxis_P2 + "],旋转轴到料串位置P4["+ Config.MiddleAxis_P4 + "]");
T3_UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P2, Config.UpdownAxis_P2Speed);
T2_MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P4, Config.MiddleAxis_P4Speed);
}
#endregion
......@@ -625,7 +623,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StoreMoveStep.LI_13_CylinderTighten);
InOutStoreLog("取料:夹爪气缸夹紧");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Relax, IO_Type.ClampCylinder_Clamp);
ElectricClamp.Clamp(MoveInfo);
}
else if (MoveInfo.IsStep(StoreMoveStep.LI_13_CylinderTighten))
{
......@@ -741,7 +739,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StoreMoveStep.LI_24_CylinderRelax);
InOutStoreLog("料盘移栽: 上料气缸放松");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Clamp, IO_Type.ClampCylinder_Relax);
ElectricClamp.Release(MoveInfo);
}
else if (MoveInfo.IsStep(StoreMoveStep.LI_24_CylinderRelax))
{
......
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
{
public class ElectricClamp
{
private static int subType = 0;
public static bool needClamp = false;
public ElectricClamp(int subType)
{
//this.subType = subType;
}
public static void Clamp(StoreMoveInfo moveInfo = null)
{
needClamp = true;
if (!IsBusy)
{
IOManager.IOMove(IO_Type.Clamp_SetPos0, IO_VALUE.LOW, subType);
IOManager.IOMove(IO_Type.Clamp_SetPos1, IO_VALUE.HIGH, subType);
IOManager.IOMove(IO_Type.Clamp_DoAction, IO_VALUE.HIGH, subType);
}
if (moveInfo != null)
moveInfo.WaitList.Add(WaitResultInfo.WaitElectricClamp());
}
public static bool Release(StoreMoveInfo moveInfo = null)
{
needClamp = false;
if (!IsBusy)
{
IOManager.IOMove(IO_Type.Clamp_SetPos0, IO_VALUE.HIGH, subType);
IOManager.IOMove(IO_Type.Clamp_SetPos1, IO_VALUE.LOW, subType);
IOManager.IOMove(IO_Type.Clamp_DoAction, IO_VALUE.HIGH, subType);
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
return true;
}
else
{
return false;
if (moveInfo != null)
moveInfo.WaitList.Add(WaitResultInfo.WaitElectricClamp());
}
}
public static bool IsBusy {
get {
return IOManager.IOValue(IO_Type.Clamp_Busy, subType).Equals(IO_VALUE.HIGH);
}
}
public static bool IsClamp {
get
{
return IOManager.IOValue(IO_Type.Clamp_OnPosition, subType).Equals(IO_VALUE.HIGH);
}
}
}
}
......@@ -231,10 +231,14 @@ namespace OnlineStore.DeviceLibrary
int timeOutMs = StoreManager.Config.IOSingle_TimerOut;
if (!wait.IsEnd)
{
if (wait.IoType.Equals(IO_Type.Line_BackRun) || wait.IoType.Equals(IO_Type.Line_Run))
if (wait.IoType.Equals(IO_Type.Line_Run))
{
IOMove(wait.IoType, wait.IoValue);
}
}
else if (wait.IoType.Equals(IO_Type.Clamp_OnPosition))
{
ElectricClamp.Clamp();
}
else if (span.TotalMilliseconds > timeOutMs && NoAlarm())
{
......@@ -253,6 +257,25 @@ namespace OnlineStore.DeviceLibrary
{
wait.IsEnd = (span.TotalMilliseconds >= wait.TimeMSeconds);
}
else if (wait.WaitType.Equals(WaitEnum.W012_ElectricClampEvent))
{
if (ElectricClamp.IsBusy)
break;
if (ElectricClamp.needClamp)
{
if (ElectricClamp.IsClamp)
wait.IsEnd = true;
else
{
ElectricClamp.Clamp();
break;
}
}
else {
wait.IsEnd = ElectricClamp.Release();
}
}
else
{
wait.IsEnd = CheckWaitResult(MoveInfo, wait);
......
......@@ -94,6 +94,7 @@ namespace OnlineStore.DeviceLibrary
/// 运动处理
/// </summary>
protected bool isInPro = false;
object worklock = new object();
protected virtual void BusyMoveProcess()
{
//if (isInPro)
......@@ -101,32 +102,39 @@ namespace OnlineStore.DeviceLibrary
// return;
//}
isInPro = true;
try
if (Monitor.TryEnter(worklock))
{
switch (MoveInfo.MoveType)
try
{
case MoveType.InStore:
InStoreProcess();
isInPro = false;
break;
case MoveType.OutStore:
OutStoreProcess();
isInPro = false;
break;
case MoveType.ReturnHome:
ResetProcess();
isInPro = false;
break;
case MoveType.Reset:
ResetProcess();
isInPro = false;
break;
default: break;
switch (MoveInfo.MoveType)
{
case MoveType.InStore:
InStoreProcess();
isInPro = false;
break;
case MoveType.OutStore:
OutStoreProcess();
isInPro = false;
break;
case MoveType.ReturnHome:
ResetProcess();
isInPro = false;
break;
case MoveType.Reset:
ResetProcess();
isInPro = false;
break;
default: break;
}
}
catch (Exception ex)
{
LogUtil.error("BusyMoveProcess出错:" + ex.ToString());
}
finally
{
Monitor.Exit(worklock);
}
}
catch (Exception ex)
{
LogUtil.error("BusyMoveProcess出错:" + ex.ToString());
}
isInPro = false;
}
......@@ -497,12 +505,10 @@ namespace OnlineStore.DeviceLibrary
public bool RunAxis(bool isCheck, AxisBean axis)
{
IOMove(axis.Config.ServerOnDO, IO_VALUE.HIGH);
string msg = "";
bool result = axis.Open(isCheck, out msg);
if (result && String.IsNullOrEmpty(msg))
{
IOMove(axis.Config.BreakOnDO, IO_VALUE.HIGH);
return true;
}
SetWarnMsg(Name + msg);
......@@ -513,10 +519,8 @@ namespace OnlineStore.DeviceLibrary
public void CloseAxis(AxisBean axis)
{
IOMove(axis.Config.BreakOnDO, IO_VALUE.LOW);
axis.ServoOff();
Thread.Sleep(100);
IOMove(axis.Config.ServerOnDO, IO_VALUE.LOW);
}
......
......@@ -214,6 +214,12 @@ namespace OnlineStore.DeviceLibrary
wait.WaitType = WaitEnum.W011_DoorCloseEvent;
return wait;
}
public static WaitResultInfo WaitElectricClamp()
{
WaitResultInfo wait = new WaitResultInfo();
wait.WaitType = WaitEnum.W012_ElectricClampEvent;
return wait;
}
public string ToStr()
{
if (WaitType.Equals(WaitEnum.W001_AxisMove))
......@@ -363,11 +369,14 @@ namespace OnlineStore.DeviceLibrary
/// Agv状态
/// </summary>
internal static int W010_AgvStatus = 10;
/// <summary>
/// 等待agvDoorClose事件
/// </summary>
internal static int W011_DoorCloseEvent = 11;
/// <summary>
/// 等待电夹爪事件
/// </summary>
internal static int W012_ElectricClampEvent = 12;
}
public enum MoveType
{
......
......@@ -61,11 +61,11 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// 伺服ON的Do信号
/// </summary>
public string ServerOnDO = "";
/// <summary>
//public string ServerOnDO = "";
//// <summary>
/// 伺服刹车信号
/// </summary>
public string BreakOnDO = "";
//public string BreakOnDO = "";
[CSVAttribute("设备名称")]
public string DeviceName { get; set; }
......
......@@ -25,212 +25,269 @@ namespace OnlineStore.LoadCSVLibrary
}
return TypeList;
}
/// <summary>
/// DI,0,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,X01,
///DO 0 自动指示灯 Y00
/// </summary>
public static string SuddenStop_BTN = "SuddenStop_BTN";
public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary>
/// DI,0,复位,Reset_BTN,1,PRO_AOI_IP_1,X02,
///DO 0 故障指示灯 Y01
/// </summary>
public static string Reset_BTN = "Reset_BTN";
public static string Alarm_HddLed = "Alarm_HddLed";
/// <summary>
/// DI,0,启动,AutoRun_BTN,2,PRO_AOI_IP_1,X03,
///DO 0 待机指示灯 Y02
/// </summary>
//public static string AutoRun_BTN = "AutoRun_BTN";
public static string RunSign_HddLed = "RunSign_HddLed";
/// <summary>
/// DI,0,气压检测,Airpressure_Check,3,PRO_AOI_IP_1,X04,
///DO 0 报警蜂鸣器 Y03
/// </summary>
public static string Airpressure_Check = "Airpressure_Check";
public static string Alarm_Buzzer = "Alarm_Buzzer";
/// <summary>
/// DI,0,线体入口料串检测,Line_InCheck,4,PRO_AOI_IP_1,X05,
///DO 1 左侧料口绿色指示灯 Y04
/// </summary>
public static string Line_InCheck = "Line_InCheck";
public static string DoorLed_Green = "DoorLed_Green";
/// <summary>
/// DI,0,线体上料等待区检测,Line_WaitCheck,5,PRO_AOI_IP_1,X06,
///DO 1 左侧料口红色指示灯 Y05
/// </summary>
public static string Line_WaitCheck = "Line_WaitCheck";
public static string DoorLed_Red = "DoorLed_Red";
/// <summary>
/// DI,0,线体上料区料串检测,Line_WorkCheck,6,PRO_AOI_IP_1,X07,
///DO 0 设备内部照明开启 Y08
/// </summary>
public static string Line_WorkCheck = "Line_WorkCheck";
public static string Device_Led = "Device_Led";
/// <summary>
/// DI,0,料串识别检测1,ShelfCheck1,7,PRO_AOI_IP_1,X08,
///DO 0 相机光源开启 Y09
/// </summary>
public static string ShelfCheck1 = "ShelfCheck1";
public static string Camera_Led = "Camera_Led";
/// <summary>
/// DI,0,料串识别检测2,ShelfCheck2,8,PRO_AOI_IP_1,X09,
///DO 0 线体链条启动 Y10
/// </summary>
public static string ShelfCheck2 = "ShelfCheck2";
public static string Line_Run = "Line_Run";
/// <summary>
/// DI,0,料串识别检测3,ShelfCheck3,9,PRO_AOI_IP_1,X10,
///DO 0 横移电机正转 Y11
/// </summary>
public static string ShelfCheck3 = "ShelfCheck3";
public static string RaiseStation_GoIn = "RaiseStation_GoIn";
/// <summary>
/// DI,0,料串识别检测4,ShelfCheck4,10,PRO_AOI_IP_1,X11,
///DO 0 横移电机反转 Y12
/// </summary>
public static string ShelfCheck4 = "ShelfCheck4";
public static string RaiseStation_GoOut = "RaiseStation_GoOut";
/// <summary>
/// DI,0,线体后端料串堆积检测,Line_BufferCheck,11,PRO_AOI_IP_1,X12,
///DO 0 过渡电滚筒正转 Y13
/// </summary>
public static string Line_BufferCheck = "Line_BufferCheck";
public static string RaiseStation_GoIn1 = "RaiseStation_GoIn1";
/// <summary>
/// DI,0,线体后端料串检测,Line_OutCheck,12,PRO_AOI_IP_1,X13,
///DO 0 过渡电滚筒反转 Y14
/// </summary>
public static string Line_OutCheck = "Line_OutCheck";
public static string RaiseStation_GoOut1 = "RaiseStation_GoOut1";
/// <summary>
///DO 0 设备氮气阀门开启 Y15
/// </summary>
public static string Nitrogen_Valve = "Nitrogen_Valve";
/// <summary>
///DO 0 线体等待区阻挡下降 Y16
/// </summary>
public static string Line_Stop1_Wait = "Line_Stop1_Wait";
/// <summary>
///DO 0 线体上料区阻挡下降 Y17
/// </summary>
public static string Line_Stop2_Work = "Line_Stop2_Work";
/// <summary>
/// DI,0,线体顶升气缸上升端,TopCylinder_Up,13,PRO_AOI_IP_1,X14,
///DO 0 线体放行阻挡下降 Y18
/// </summary>
public static string Line_Stop4_Out = "Line_Stop4_Out";
/// <summary>
///DO 0 线体横移顶升上升 Y19
/// </summary>
public static string TopCylinder_Up = "TopCylinder_Up";
/// <summary>
/// DI,0,线体顶升气缸下降端,TopCylinder_Down,14,PRO_AOI_IP_1,X15,
///DO 0 线体横移顶升下降 Y20
/// </summary>
public static string TopCylinder_Down = "TopCylinder_Down";
/// <summary>
/// DI,0,取料提升机构前进端,Hoister_Forward,15,PRO_AOI_IP_1,X16,
///DO 0 提升工位定位上升 Y21
/// </summary>
public static string Hoister_Forward = "Hoister_Forward";
public static string RaiseStation_LocationUp = "RaiseStation_LocationUp";
/// <summary>
/// DO,0,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,Y01,
///DO 0 提升工位定位下降 Y22
/// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed";
public static string RaiseStation_LocationDown = "RaiseStation_LocationDown";
/// <summary>
/// DO,0,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,Y02,
///DO 0 设备左侧防护门打开 Y23
/// </summary>
public static string Alarm_HddLed = "Alarm_HddLed";
public static string LeftDoor_Open = "LeftDoor_Open";
/// <summary>
/// DO,0,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,Y03,
///DO 0 设备左侧防护门关闭 Y24
/// </summary>
public static string RunSign_HddLed = "RunSign_HddLed";
public static string LeftDoor_Close = "LeftDoor_Close";
/// <summary>
/// DO,0,报警蜂鸣器,Alarm_Buzzer,3,PRO_AOI_IP_1,Y04,
///DO 1 左侧出料口门上升 Y25
/// </summary>
public static string Alarm_Buzzer = "Alarm_Buzzer";
public static string OutDoor_Up = "OutDoor_Up";
/// <summary>
/// DO,1,左侧料口物料指示灯绿色,DoorLed_Green,4,PRO_AOI_IP_1,Y05,
///DO 1 左侧出料口门下降 Y26
/// </summary>
public static string DoorLed_Green = "DoorLed_Green";
public static string OutDoor_Down = "OutDoor_Down";
/// <summary>
/// DO,1,左侧料口物料指示灯红色,DoorLed_Red,5,PRO_AOI_IP_1,Y06,
///DO 0 设备右侧防护门打开 Y27
/// </summary>
public static string DoorLed_Red = "DoorLed_Red";
public static string RightDoor_Open = "RightDoor_Open";
/// <summary>
/// DO,0,取料提升机构电机后退,Hoister_Back,9,PRO_AOI_IP_1,Y10,
///DO 0 设备右侧防护门关闭 Y28
/// </summary>
public static string Hoister_Back = "Hoister_Back";
public static string RightDoor_Close = "RightDoor_Close";
/// <summary>
/// DO,0,相机光源ON,Camera_Led,10,PRO_AOI_IP_1,Y11,
///DO 0 卡爪指令编码0 Y31
/// </summary>
public static string Camera_Led = "Camera_Led";
public static string Clamp_SetPos0 = "Clamp_SetPos0";
/// <summary>
/// DO,1,左侧料仓升降轴刹车ON,UpdownAxis_Break,11,PRO_AOI_IP_1,Y12,
///DO 1 卡爪指令编码1 Y32
/// </summary>
//public static string UpdownAxis_Break = "UpdownAxis_Break";
public static string Clamp_SetPos1 = "Clamp_SetPos1";
/// <summary>
///DO 2 卡爪指令编码2 Y33
/// </summary>
public static string Clamp_SetPos2 = "Clamp_SetPos2";
/// <summary>
/// DO,0,提升机构升降轴刹车ON,BatchAxis_Break,13,PRO_AOI_IP_1,Y14,
///DO 3 卡爪指令编码3 Y34
/// </summary>
//public static string BatchAxis_Break = "BatchAxis_Break";
public static string Clamp_SetPos3 = "Clamp_SetPos3";
/// <summary>
/// DO,0,移栽机构上下轴刹车ON,MoveAxis_Break,14,PRO_AOI_IP_1,Y15,
///DO 4 卡爪指令编码4 Y35
/// </summary>
//public static string MoveAxis_Break = "MoveAxis_Break";
public static string Clamp_SetPos4 = "Clamp_SetPos4";
/// <summary>
/// DO,1,左侧料仓伺服ON,Axis_Run,15,PRO_AOI_IP_1,Y16,
///DO 5 卡爪动作指令 Y36
/// </summary>
//public static string Axis_Run = "Axis_Run";
public static string Clamp_DoAction = "Clamp_DoAction";
/// <summary>
/// DI,0,提升机构料盘检测,BatchAxis_Check,1,PRO_AOI_IP_2,X22,
///DI 0 急停 X00
/// </summary>
public static string BatchAxis_Check = "BatchAxis_Check";
public static string SuddenStop_BTN = "SuddenStop_BTN";
/// <summary>
/// DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AOI_IP_2,X23,
///DI 0 复位 X01
/// </summary>
public static string ClampCylinder_Relax = "ClampCylinder_Relax";
public static string Reset_BTN = "Reset_BTN";
/// <summary>
/// DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AOI_IP_2,X24,
///DI 0 气压检测 X02
/// </summary>
public static string ClampCylinder_Clamp = "ClampCylinder_Clamp";
public static string Airpressure_Check = "Airpressure_Check";
/// <summary>
/// DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AOI_IP_2,X25,
///DI 0 线体入口料串检测 X03
/// </summary>
public static string OutDoor_SafeSignal = "OutDoor_SafeSignal";
public static string Line_InCheck = "Line_InCheck";
/// <summary>
/// DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AOI_IP_2,X26,
///DI 0 线体上料等待区检测 X04
/// </summary>
public static string InDoor_Check = "InDoor_Check";
public static string Line_WaitCheck = "Line_WaitCheck";
/// <summary>
/// DI,1,左侧出料口门上升/打开端,OutDoor_Up,6,PRO_AOI_IP_2,X27,
///DI 0 线体上料区底部料串检测 X05
/// </summary>
public static string OutDoor_Up = "OutDoor_Up";
public static string Line_WorkCheck = "Line_WorkCheck";
/// <summary>
/// DI,1,左侧出料口门下降/关闭端,OutDoor_Down,7,PRO_AOI_IP_2,X28,
///DI 0 线体上料区侧部料串检测 X06
/// </summary>
public static string OutDoor_Down = "OutDoor_Down";
public static string Line_SideCheck = "Line_SideCheck";
/// <summary>
///DI 0 线体放行区料串满料检测 X07
/// </summary>
public static string Line_BufferCheck = "Line_BufferCheck";
/// <summary>
///DI 0 线体放行区料串检测 X08
/// </summary>
public static string Line_OutCheck = "Line_OutCheck";
/// <summary>
///DI 1 左侧暂存区料盘检测 X11
/// </summary>
public static string InDoor_Check = "InDoor_Check";
/// <summary>
///DI 1 左侧出料口安全光栅 X12
/// </summary>
public static string OutDoor_SafeSignal = "OutDoor_SafeSignal";
/// <summary>
/// DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AOI_IP_2,X29,
///DI 1 左侧出料口料盘检测 X15
/// </summary>
public static string OutDoor_Check = "OutDoor_Check";
/// <summary>
/// DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AOI_IP_2,X30,
///DI 1 左侧料叉料盘检测 X16
/// </summary>
public static string Fixture_Check = "Fixture_Check";
/// <summary>
/// DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AOI_IP_2,Y22,
///DI 1 左侧料叉激光定位 X17
/// </summary>
//public static string MoveAxis_Run = "MoveAxis_Run";
public static string Fixture_Laser = "Fixture_Laser";
/// <summary>
/// DO,0,线体皮带正转,Line_Run,2,PRO_AOI_IP_2,Y23,
///DI 0 取料气缸料盘检测 X25
/// </summary>
public static string Line_Run = "Line_Run";
public static string ClampCylinder_Check = "ClampCylinder_Check";
/// <summary>
/// DO,0,线体皮带反转,Line_BackRun,3,PRO_AOI_IP_2,Y24,
///DI 0 提升工位料盘定位检测 X26
/// </summary>
public static string Line_BackRun = "Line_BackRun";
public static string BatchAxis_Check = "BatchAxis_Check";
/// <summary>
/// DO,0,线体等待区阻挡1上升,Line_Stop1_Wait,4,PRO_AOI_IP_2,Y25,
///DI 0 7寸料盘宽度检测 X27
/// </summary>
public static string Line_Stop1_Wait = "Line_Stop1_Wait";
public static string TrayCheck_7 = "TrayCheck_7";
/// <summary>
/// DO,0,线体上料区阻挡2上升,Line_Stop2_Work,5,PRO_AOI_IP_2,Y26,
///DI 0 11/13/15寸料盘宽度检测 X28
/// </summary>
public static string Line_Stop2_Work = "Line_Stop2_Work";
public static string TrayCheck_11to15 = "TrayCheck_11to15";
/// <summary>
/// DO,0,线体出料区阻挡3上升,Line_Stop3_Buffer,6,PRO_AOI_IP_2,Y27,
///DI 0 提升工位前端料串检测 X29
/// </summary>
public static string Line_Stop3_Buffer = "Line_Stop3_Buffer";
public static string RaiseStation_FrontCheck = "RaiseStation_FrontCheck";
/// <summary>
/// DO,0,线体放行阻挡4上升,Line_Stop4_Out,7,PRO_AOI_IP_2,Y28,
///DI 0 提升工位末端料串检测 X30
/// </summary>
public static string Line_Stop4_Out = "Line_Stop4_Out";
public static string RaiseStation_BackendCheck = "RaiseStation_BackendCheck";
/// <summary>
/// DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AOI_IP_3,X41,
///DI 0 提升工位定位1上升端 X31
/// </summary>
//public static string ClampCylinder_Check = "ClampCylinder_Check";
public static string RaiseStation_UpLocation1 = "RaiseStation_UpLocation1";
/// <summary>
/// DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AOI_IP_3,X42,
///DI 0 提升工位定位1下降端 X32
/// </summary>
// public static string LineOut_BTN = "LineOut_BTN";
public static string RaiseStation_DownLocation1 = "RaiseStation_DownLocation1";
/// <summary>
/// DO,0,线体入口指示灯,LineIn_Led,0,PRO_AOI_IP_3,Y41,
///DI 0 提升工位定位2上升端 X33
/// </summary>
//public static string LineIn_Led = "LineIn_Led";
public static string RaiseStation_UpLocation2 = "RaiseStation_UpLocation2";
/// <summary>
/// DO,0,线体出口指示灯,LineOut_Led,1,PRO_AOI_IP_3,Y42,
///DI 0 提升工位定位2下降端 X34
/// </summary>
//public static string LineOut_Led = "LineOut_Led";
public static string RaiseStation_DownLocation2 = "RaiseStation_DownLocation2";
/// <summary>
/// DO,0,设备内部照明ON,Device_Led,2,PRO_AOI_IP_3,Y43,
///DI 0 卡爪到位确认 X39
/// </summary>
public static string Device_Led = "Device_Led";
public static string Clamp_OnPosition = "Clamp_OnPosition";
/// <summary>
///DI 0 卡爪范围确认 X40
/// </summary>
public static string Clamp_InRange = "Clamp_InRange";
/// <summary>
///DI 0 卡爪动作中 X41
/// </summary>
public static string Clamp_Busy = "Clamp_Busy";
/// <summary>
///DI 0 卡爪异常代码1 X42
/// </summary>
public static string Clamp_Abnormal1 = "Clamp_Abnormal1";
/// <summary>
///DI 0 卡爪异常代码2 X43
/// </summary>
public static string Clamp_Abnormal2 = "Clamp_Abnormal2";
/// <summary>
///DI 0 卡爪物件辨识1 X44
/// </summary>
public static string Clamp_ObjRecognize1 = "Clamp_ObjRecognize1";
/// <summary>
///DI 0 卡爪物件辨识2 X45
/// </summary>
public static string Clamp_ObjRecognize2 = "Clamp_ObjRecognize2";
/// <summary>
///DI 0 卡爪物件辨识3 X46
/// </summary>
public static string Clamp_ObjRecognize3 = "Clamp_ObjRecognize3";
}
public enum IO_VALUE
{
......
......@@ -34,6 +34,12 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("T3_Updown_Axis")]
public ConfigMoveAxis T3_Updown_Axis { get; set; }
/// <summary>
/// AXIS,,T4_取料机构进出轴,T4_InOut_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
/// </summary>
[ConfigProAttribute("T3_Updown_Axis")]
public ConfigMoveAxis T4_InOut_Axis { get; set; }
/// <summary>
/// PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
/// </summary>
[ConfigProAttribute("IO_DILength")]
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!