Commit 65acfca6 LN

增加与服务器通信接口

1 个父辈 115f1361
正在显示 39 个修改的文件 包含 297 行增加197 行删除
......@@ -283,12 +283,7 @@
this.cmbLineType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbLineType.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmbLineType.FormattingEnabled = true;
this.cmbLineType.Items.AddRange(new object[] {
"皮带线1运转-入口定位测试",
"皮带线2运转-入口定位测试",
"皮带线3运转测试",
"皮带线1运转-出口定位测试",
"皮带线2运转-出口定位测试"});
this.cmbLineType.Location = new System.Drawing.Point(85, 25);
this.cmbLineType.Name = "cmbLineType";
this.cmbLineType.Size = new System.Drawing.Size(231, 28);
......@@ -451,7 +446,7 @@
this.btnSRun.Name = "btnSRun";
this.btnSRun.Size = new System.Drawing.Size(140, 34);
this.btnSRun.TabIndex = 263;
this.btnSRun.Text = "分盘装置电机1驱动";
this.btnSRun.Text = "分盘装置电机驱动";
this.btnSRun.UseVisualStyleBackColor = false;
this.btnSRun.Click += new System.EventHandler(this.btnSRun_Click);
//
......
......@@ -24,6 +24,10 @@ namespace OnlineStore.AssemblyLine
{
private bool IsLoad = false;
private DischargeLine equipBean;
private string line1Name = "皮带线1";
private string line2Name = "皮带线2";
private string line3Name = "皮带线3";
internal FrmDischargeLine(DischargeLine moveEquip)
{
equipBase = moveEquip;
......@@ -208,10 +212,27 @@ namespace OnlineStore.AssemblyLine
private void FrmStoreIOStatus_Load(object sender, EventArgs e)
{
chbDebug.Checked = equipBean.IsDebug;
cmbLineType.SelectedIndex = 2;
lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.lineStatus, equipBean.runStatus);
lblThisSta.Text = equipBean.WarnMsg;
lblName.Text = equipBean.Name;
if (equipBean.DeviceID.Equals(302))
{
line1Name = "皮带线4";
line2Name = "皮带线5";
line3Name = "皮带线6";
}
btnRun1.Text = line1Name + "运转";
btnRun2.Text = line2Name + "运转";
btnRun3.Text = line3Name + "运转";
btnLine1Test.Text = line1Name + "出库测试";
btnLine2Test.Text = line2Name + "出库测试";
this.cmbLineType.Items.AddRange(new object[] {
line1Name+"运转-入口定位测试",
line2Name+"运转-入口定位测试",
line3Name+"运转测试",
line1Name+"运转-出口定位测试",
line2Name+"运转-出口定位测试"});
cmbLineType.SelectedIndex = 2;
IsLoad = true;
}
......@@ -304,7 +325,7 @@ namespace OnlineStore.AssemblyLine
bool result = equipBean.TrayLine1.StartOut(new InOutParam(0, "CodeTest", "1#AC1_1_1", 8, 7));
if (!result)
{
MessageBox.Show("皮带线1出库测试失败");
MessageBox.Show(line1Name+"出库测试失败");
}
}
private void btnCloseAll_Click(object sender, EventArgs e)
......@@ -327,22 +348,22 @@ namespace OnlineStore.AssemblyLine
}
private void btnRun1_Click(object sender, EventArgs e)
{
BtnMove(btnRun1, "皮带线1运转", "皮带线1停止", IO_Type.DLine_Run1);
BtnMove(btnRun1, line1Name+"运转", line1Name+"停止", IO_Type.DLine_Run1);
}
private void btnRun2_Click(object sender, EventArgs e)
{
BtnMove(btnRun2, "皮带线2运转", "皮带线2停止", IO_Type.DLine_Run2);
BtnMove(btnRun2, line2Name+"运转", line2Name+"停止", IO_Type.DLine_Run2);
}
private void btnRun3_Click(object sender, EventArgs e)
{
BtnMove(btnRun3, "皮带线3运转", "皮带线3停止", IO_Type.DLine_Run3);
BtnMove(btnRun3, line3Name+"运转", line3Name+"停止", IO_Type.DLine_Run3);
}
private void btnSRun_Click(object sender, EventArgs e)
{
BtnMove(btnSRun, "分盘装置电机1驱动", "分盘装置电机1停止", IO_Type.SeparateDevice_Run);
BtnMove(btnSRun, "分盘装置电机驱动", "分盘装置电机停止", IO_Type.SeparateDevice_Run);
}
private void btnStrart_Click(object sender, EventArgs e)
......@@ -408,7 +429,7 @@ namespace OnlineStore.AssemblyLine
bool result = equipBean.TrayLine2.StartOut(new InOutParam(0, "CodeTest", "2#AC2_2_2", 8, 7));
if (!result)
{
MessageBox.Show("皮带线2出库测试失败");
MessageBox.Show(line2Name+"出库测试失败");
}
}
}
......
......@@ -249,7 +249,7 @@ namespace OnlineStore.AssemblyLine
e.Cancel = true;
HideForm();
}
}
}
private void ExitApp()
{
......@@ -277,10 +277,10 @@ namespace OnlineStore.AssemblyLine
//AIManager.CloseConnect();
ACServerManager.CloseAllPort();
// CodeManager.CloseAllCamera();
RFIDManager.Close();
// RFIDManager.Close();
System.Environment.Exit(System.Environment.ExitCode);
}
catch(Exception ex)
catch (Exception ex)
{
LogUtil.error("退出出错:" + ex.ToString());
}
......
......@@ -70,4 +70,23 @@ D2(上料模块出口)
入料模块先伺服动作,在气缸下降
入料一相机:GigE:MV-CE200-10GC (00D77519052)
入料二相机: GigE:MV-CE200-10GC (00D76546878)
入料三相机:GigE:MV-CE200-10GC (00D77519112)
皮带线1相机:GigE:MV-CE200-10GC (00D76546944)
皮带线2相机:GigE:MV-CE200-10GC (00D76546876)
......@@ -59,6 +59,7 @@
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,#,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546944),,,,,
,,,,,,,,,
DI,0,出料皮带线体1急停,DLine_SuddenStop,0,PRO_AOI_IP_2,0,出料皮带线体1急停,X021,X021
DI,0,出料皮带线体1复位,DLine_Reset,1,PRO_AOI_IP_2,0,出料皮带线体1复位,X022,X022
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,#,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546876),,,,,
,,,,,,,,,
DI,0,出料皮带线体2急停,DLine_SuddenStop,0,PRO_AOI_IP_3,0,出料皮带线体2急停,X041,X041
DI,0,出料皮带线体2复位,DLine_Reset,1,PRO_AOI_IP_3,0,出料皮带线体2复位,X042,X042
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,Name1#Name1,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D77519052),,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,1,,,,,
PRO,0,是否是用来出料,IsCanOut,0,,,,,
......@@ -8,9 +8,9 @@ PRO,0,上料流水线入口AGV小车站号名称,AgvInName,D5,,,,,
PRO,0,上料流水线出口AGV小车站号名称,AgvOutName,D6,,,,,
,,,,,,,,,
AXIS,0,轴二提升上料轴,Batch_Axis,1,COM5,0,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,23400000,,,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,6504500,,,,,
PRO,0,提升上料轴下降位置P2,BatchAxisP2,0,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,20930000,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,5741800,,,,,
PRO,0,提升上料轴目标速度,BatchAxis_TargetSpeed,1500,,,,,
PRO,0,提升上料轴加速度,BatchAxis_AddSpeed,400,,,,,
PRO,0,提升上料轴减速度,BatchAxis_DelSpeed,400,,,,,
......@@ -23,9 +23,9 @@ PRO,0,提升上料轴P3速度,BatchAxis_P3Speed,1000,,,,,
PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,19000,,,,,
,,,,,,,,,
AXIS,0,轴一移栽上下轴,UpDown_Axis,2,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=90000,,,,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,200000,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,69200,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=69200;8=69200;48=29000,,,,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,293565,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,Name1#Name1,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546878),,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,0,,,,,
PRO,0,是否是用来出料,IsCanOut,0,,,,,
......@@ -8,9 +8,9 @@ PRO,0,上料流水线入口AGV小车站号名称,AgvInName,D3,,,,,
PRO,0,上料流水线出口AGV小车站号名称,AgvOutName,D4,,,,,
,,,,,,,,,
AXIS,0,轴二提升上料轴,Batch_Axis,3,COM5,0,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,12460000,,,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,6603500,,,,,
PRO,0,提升上料轴下降位置P2,BatchAxisP2,0,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,11420750,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,6041800,,,,,
PRO,0,提升上料轴目标速度,BatchAxis_TargetSpeed,1500,,,,,
PRO,0,提升上料轴加速度,BatchAxis_AddSpeed,400,,,,,
PRO,0,提升上料轴减速度,BatchAxis_DelSpeed,400,,,,,
......@@ -23,9 +23,9 @@ PRO,0,提升上料轴P3速度,BatchAxis_P3Speed,1000,,,,,
PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,19000,,,,,
,,,,,,,,,
AXIS,0,轴一移栽上下轴,UpDown_Axis,4,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=40000;8=0,,,,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,258600,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,53800,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=-25000;8=90000;48=-23150;12=61900;16=63500;24=34880;32=23300;44=-7700,,,,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,244000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D77519112),,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,2,,,,,
......@@ -9,7 +9,7 @@ PRO,0,上料流水线出口AGV小车站号名称,AgvOutName,D2,,,,,
,,,,,,,,,
AXIS,0,轴二提升上料轴,Batch_Axis,5,COM5,0,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,6488350,,,,,
PRO,0,提升上料轴下降位置P2,BatchAxisP2,-34000,,,,,
PRO,0,提升上料轴下降位置P2,BatchAxisP2,0,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,5893500,,,,,
PRO,0,提升上料轴目标速度,BatchAxis_TargetSpeed,1500,,,,,
PRO,0,提升上料轴加速度,BatchAxis_AddSpeed,400,,,,,
......@@ -24,7 +24,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,19000,,,,,
,,,,,,,,,
AXIS,0,轴一移栽上下轴,UpDown_Axis,6,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,126100,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=138340;8=138340,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=138340;8=138340;12=116680;16=116750;24=105400;32=80540;44=55000;48=34800,,,,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,300000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
......
......@@ -8,9 +8,9 @@ PRO,0,上料流水线入口AGV小车站号名称,AgvInName,D7,,,,,
PRO,0,上料流水线出口AGV小车站号名称,AgvOutName,D8,,,,,
,,,,,,,,,
AXIS,0,轴二提升上料轴,Batch_Axis,7,COM5,0,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,23400000,,,,,
PRO,0,提升上料轴上升待机点 P1,BatchAxisP1,6630000,,,,,
PRO,0,提升上料轴下降位置P2,BatchAxisP2,0,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,20450000,,,,,
PRO,0,提升上料缓慢上升目标位置P3,BatchAxisP3,5863000,,,,,
PRO,0,提升上料轴目标速度,BatchAxis_TargetSpeed,1500,,,,,
PRO,0,提升上料轴加速度,BatchAxis_AddSpeed,400,,,,,
PRO,0,提升上料轴减速度,BatchAxis_DelSpeed,400,,,,,
......@@ -23,9 +23,9 @@ PRO,0,提升上料轴P3速度,BatchAxis_P3Speed,2000,,,,,
PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,19000,,,,,
,,,,,,,,,
AXIS,0,轴一移栽上下轴,UpDown_Axis,8,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=155000,,,,,
PRO,0,移栽上下轴P3放料位置,UpDownAxisP3,310000,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,91500,,,,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=91500;24=105160;12=122700;16=121120;32=85510;44=65960;48=37800,,,,,
PRO,0,移栽上下轴P3放料位置,UpDownAxisP3,315000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -104,4 +104,3 @@ DO,0,环形线横移4定位下降SOL,SW4_LocationCylinder_Down,12,PRO_AOI_IP_1,0,环形线横
,0,,,13,PRO_AOI_IP_1,0,,Y014,Y014
,0,,,14,PRO_AOI_IP_1,0,,Y015,Y015
,0,,,15,PRO_AOI_IP_1,0,,Y016,Y016
,,,,,,,,,
\ No newline at end of file
......@@ -3,9 +3,9 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,11,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-5700,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=119200;48=28680;8=159300;44=62900;16=121250;24=105460;32=83900,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=90000;48=90000;8=90000;44=90000;16=90000;24=90000;32=90000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -3,9 +3,9 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,12,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-5700,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=136353;16=135900;24=116800;32=99000;44=73100;48=45350,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=90000;16=90000;24=90000;32=90000;44=90000;48=90000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -3,9 +3,9 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,13,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-5700,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=138500;16=137150;24=113980;32=101350;44=77580;48=51130,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=90000;16=90000;24=90000;32=90000;44=90000;48=90000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -3,9 +3,9 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,14,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-5700,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=144800;16=148000;24=123250;32=90890;44=59700,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=90000;16=90000;24=90000;32=90000;44=90000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......@@ -14,4 +14,4 @@ PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点P1速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,,,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
\ No newline at end of file
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,7,COM2,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,8,COM2,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,17,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-5700,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=158500;16=159200;24=140500;32=121500;44=102140;48=73700,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=90000;16=90000;24=90000;32=90000;44=90000;48=90000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,18,COM5,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,2000,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-5700,,,,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=159200;16=159300;24=139900;32=119980;44=98100;48=72100,,,,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=90000;16=90000;24=90000;32=90000;44=90000;48=90000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -14,4 +14,4 @@ PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点P1速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,,,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
\ No newline at end of file
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM5,1,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM5,1,,,
......@@ -14,4 +14,4 @@ PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点P1速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,,,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
\ No newline at end of file
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM5,1,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM5,1,,,
......
......@@ -91,4 +91,4 @@ DO,1000,环形线横移4阻挡下降SOL,SW4_StopDown,4,PRO_AOI_IP_36,0,出料4阻挡1下降SOL,
,,,,,,,,,
DO,1000,环形线横移4顶升上升SOL,SW4_TopCylinder_Up,6,PRO_AOI_IP_36,0,环形线横移4顶升上升SOL,Y557,Y557
DO,1000,环形线横移4顶升下降SOL,SW4_TopCylinder_Down,7,PRO_AOI_IP_36,0,环形线横移4顶升下降SOL,Y558,Y558
,,,,,,,,,
\ No newline at end of file
,,,,,,,,,
......@@ -14,4 +14,4 @@ PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点P1速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,,,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
\ No newline at end of file
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,,,,
......@@ -80,7 +80,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.DO_01_WaitTime);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
LastCodeList = new List<string>();
LastHeight = 0;
// LastHeight = 0;
LastWidth = 0;
return true;
}
......@@ -91,7 +91,7 @@ namespace OnlineStore.DeviceLibrary
}
}
private List<string> LastCodeList = new List<string>();
private int LastHeight = 0;
// private int LastHeight = 0;
private int LastWidth = 0;
protected override void OutStoreProcess()
{
......@@ -145,27 +145,33 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_02_ScanCode))
{
MoveInfo.NextMoveStep(LineMoveStep.DO_03_GetTraySize);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
string lastCode = "";
foreach (string code in LastCodeList)
{
lastCode += code;
}
//TODO
LastWidth = 7;
LastHeight = 8;
LogInfo("皮带3出口有料,二维码[" + lastCode + "] 获取料盘尺寸【" + LastWidth + "X" + LastHeight + "】");
LastWidth = 0;
int robotIndex =1;
if (DeviceID.Equals(301))
{
robotIndex = 2;
}
SServerManager.GetTraySize(Name, robotIndex, LastCodeList, out LastWidth);
LogInfo("皮带3出口有料,二维码[" + lastCode + "] 获取料盘尺寸【" + LastWidth + "】");
MoveInfo.EndMove();
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_03_GetTraySize))
{
MoveInfo.NextMoveStep(LineMoveStep.DO_04_SeparateDeviceMove);
if (LastWidth.Equals(7))
{
LogInfo("皮带3出口有料,料盘尺寸【" + LastWidth + "X" + LastHeight + "】上升分盘定位气缸");
LogInfo("皮带3出口有料,料盘尺寸【" + LastWidth + "】上升分盘定位气缸");
CylinderMove(MoveInfo, IO_Type.SeparateDevice_Down, IO_Type.SeparateDevice_Up);
}
else
{
LogInfo("皮带3出口有料,料盘尺寸【" + LastWidth + "X" + LastHeight + "】下降分盘定位气缸");
LogInfo("皮带3出口有料,料盘尺寸【" + LastWidth + "】下降分盘定位气缸");
CylinderMove(MoveInfo, IO_Type.SeparateDevice_Up, IO_Type.SeparateDevice_Down);
}
}
......
......@@ -359,14 +359,7 @@ namespace OnlineStore.DeviceLibrary
wait.IsEnd = IOValue(wait.IoType).Equals(wait.IoValue);
if (!wait.IsEnd)
{
////屏蔽料盘检测信号
//if (wait.IoType.Equals(IO_Type.TrayCheck) && wait.IoValue.Equals(IO_VALUE.HIGH) && LineManager.Config.IsUse_Tray_Check.Equals(0))
//{
// LogUtil.debug(moveInfo.Name + "未检测到:IsUse_Tray_Check= " + wait.IoValue + ",直接跳过检测继续下一步");
//}
//夹紧按钮若果超过一秒钟还未收到,默认成功
{
if (wait.IoType.Equals(IO_Type.ClampCylinder_Slack) && wait.IoValue.Equals(IO_VALUE.HIGH) && span.TotalMilliseconds > 6000)
{
LogInfo("未检测到:ClampCylinder_Slack=HIGH,超过6秒钟,默认下一步骤");
......@@ -388,25 +381,25 @@ namespace OnlineStore.DeviceLibrary
Alarm(LineAlarmType.IoSingleTimeOut);
LogUtil.error(MoveInfo.Name + WarnMsg, DeviceID + 13);
}
else if (rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6)
{
preRWTime = DateTime.Now;
string msg = moveInfo.Name + " " + NotOkMsg + "已等待 " + Math.Abs(span.TotalSeconds) + "秒,重写DO:";
bool isLog = false;
foreach (WaitResultInfo ww in list)
{
if (ww != null && ww.WaitType.Equals(2) && baseConfig.DOList.ContainsKey(ww.IoType))
{
isLog = true;
IOMove(ww.IoType, ww.IoValue);
msg += ww.ToStr() + ",";
}
}
if (isLog)
{
LogUtil.error(msg);
}
}
//else if (rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6)
//{
// preRWTime = DateTime.Now;
// string msg = moveInfo.Name + " " + NotOkMsg + "已等待 " + Math.Abs(span.TotalSeconds) + "秒,重写DO:";
// bool isLog = false;
// foreach (WaitResultInfo ww in list)
// {
// if (ww != null && ww.WaitType.Equals(2) && baseConfig.DOList.ContainsKey(ww.IoType))
// {
// isLog = true;
// IOMove(ww.IoType, ww.IoValue);
// msg += ww.ToStr() + ",";
// }
// }
// if (isLog)
// {
// LogUtil.error(msg);
// }
//}
isOk = false;
break;
}
......
......@@ -18,6 +18,7 @@ namespace OnlineStore.DeviceLibrary
{
public FeedingEquip_Config Config;
public bool OutEndSendShelfOut = false;
public string CurrShelfId = "";//当前的料架ID
public AxisBean BatchAxis = null;
public FeedingEquip(string cid, FeedingEquip_Config config)
{
......@@ -103,6 +104,7 @@ namespace OnlineStore.DeviceLibrary
}
OutStoreHeight = -1;
//OutStoreCount = 0;
BatchAxisStopCheck();
ResetClearData();
lineStatus = LineStatus.ResetMove;
......@@ -675,20 +677,32 @@ namespace OnlineStore.DeviceLibrary
}
});
}
internal void ShelfEnterProcess()
private bool UpdateShelfId()
{
//判断料架的编码是否正确
RFIDData data = RFIDManager.GetShelfData(DeviceID);
if (data.Num <= 0)
try
{
MoveInfo.EndMove();
runStatus = LineRunStatus.Runing;
LogUtil.info(" 入料检测有料架,获取不到正确的料架编号,入料结束");
return ;
}
//发送料架信息给调度系统
AgvClient.SendRFID(Config.AgvInName, data.ToData());
LogUtil.info(Name + "入料口读取到料架:" + data.ToStr());
//判断料架的编码是否正确
byte[] data = null;
CurrShelfId = RFIDManager.GetShelfId(DeviceID, out data);
if (CurrShelfId.Equals(""))
{
//MoveInfo.EndMove();
//runStatus = LineRunStatus.Runing;
LogUtil.info(" 定位工位料架检测到料架,获取料架号失败");
return false;
}
//发送料架信息给调度系统
AgvClient.SendRFID(Config.AgvInName, data);
LogUtil.info(Name + "定位工位料架编号:" + CurrShelfId);
}catch(Exception ex)
{
LogUtil.error(Name+ "UpdateShelfId出错:"+ex.ToString());
}
return true;
}
internal void ShelfEnterProcess()
{
Task.Factory.StartNew(delegate
{
try
......
......@@ -521,9 +521,11 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.ShelfNoTray = false;
//定位工位有料架,直接开始入料
MoveInfo.NextMoveStep(LineMoveStep.FI_07_LocationCylinder_Up);
InLog("定位工位检测到料架: " + MoveInfo.SLog + " 缓冲阻挡上升, 定位气缸上升");
InLog("定位工位检测到料架: " + MoveInfo.SLog + " 缓冲阻挡上升, 定位气缸上升,读取料架号");
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡下降
CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Down, IO_Type.SW4_LocationCylinder_Up);
UpdateShelfId();
}
else
{
......
......@@ -12,6 +12,8 @@ namespace OnlineStore.DeviceLibrary
{
#region 出料流程
private int OutStoreHeight = -1;
private int OutStoreCount = -1;
private ShelfData serverShelfData = null;
internal bool CanStartCheckOut(int trayNum)
{
preTrayNum = currTrayNum;
......@@ -196,9 +198,11 @@ namespace OnlineStore.DeviceLibrary
{
//定位工位有料架,直接开始入料
MoveInfo.NextMoveStep(LineMoveStep.FO_05_LocationCylinder_Up);
OutLog("定位工位检测到料架: " + MoveInfo.SLog + " 缓冲阻挡下降, 定位气缸上升");
OutLog("定位工位检测到料架: " + MoveInfo.SLog + " 缓冲阻挡下降, 定位气缸上升,读取料架号");
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡下降
CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Down, IO_Type.SW4_LocationCylinder_Up);
UpdateShelfId();
}
else
{
......@@ -235,6 +239,7 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.SL_AxisLocationCheck).Equals(IO_VALUE.LOW))
{
OutStoreHeight = 0;
OutStoreCount = 0;
//如果再出库中直接出库
MoveInfo.EndMove();
runStatus = LineRunStatus.Runing;
......@@ -274,6 +279,7 @@ namespace OnlineStore.DeviceLibrary
OutLog("出料完成 " + MoveInfo.SLog + ": 升降盘定位气缸后退,重置OutEndSendShelfOut=fasle,OutStoreHeight = -1");
OutEndSendShelfOut = false;
OutStoreHeight = -1;
OutStoreCount = 0;
TrayLCylinderAfter(MoveInfo);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_32_TrayLocationCylinder_After))
......@@ -420,34 +426,66 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_219_UpdownAxisToP3))
{
OutStoreHeight += MoveInfo.MoveParam.PlateH;
OutStoreCount++;
MoveInfo.NextMoveStep(LineMoveStep.FO_220_MoveCylinder_Slack);
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":出料横移机构放松");
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":出料横移机构放松,累积出库【" + OutStoreCount + "】盘【" + OutStoreHeight + "】mm");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Tighten, IO_Type.SL_MoveCylinder_Slack);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_220_MoveCylinder_Slack))
{
MoveInfo.NextMoveStep(LineMoveStep.FO_221_UpdownAxisToP1);
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":移栽伺服上升到待机点P1");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":移栽伺服上升到待机点P1,通知服务器PutShelfFinished");
UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
Task.Factory.StartNew(delegate
{
string msg = SServerManager.PutShelfFinished(Name, MoveInfo.MoveParam.WareCode, CurrShelfId, OutStoreCount.ToString(), out serverShelfData);
if (String.IsNullOrEmpty(msg).Equals(false))
{
LogUtil.error(Name + "【"+MoveInfo.MoveParam.WareCode+"】【"+CurrShelfId+"】【"+OutStoreCount.ToString()+"】PutShelfFinished 结果:" + msg);
serverShelfData = null;
}
});
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_221_UpdownAxisToP1))
{
//出库结束 TODO
// bool isNeedSendShelf = false;
if (OutEndSendShelfOut)
//判断料架是否满了
int currPositon = BatchAxis.GetAclPosition();
int tp = currPositon - Config.Height_ChangeValue * 10;
if (tp < Config.BatchAxisP2)
{
MoveInfo.NextMoveStep(LineMoveStep.FO_31_BatchAxisToP2);
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":需要将料架送出,提升伺服到P2点");
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed);
SendOutShelfOut("当前提升轴位置:" + currPositon + ",料架已满,需要送出料架");
}
else if (OutEndSendShelfOut)
{
SendOutShelfOut("当前提升轴位置:" + currPositon + ",OutEndSendShelfOut,需要送出料架");
}
else
{
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":出料结束");
MoveInfo.EndMove();
runStatus = LineRunStatus.Runing;
//判断是否需要送出料架
if (serverShelfData != null && serverShelfData.cutTask <= 0)
{
SendOutShelfOut("服务器返回cutTask="+serverShelfData.cutTask+",需要送出料架");
}
else
{
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":出料结束");
MoveInfo.EndMove();
runStatus = LineRunStatus.Runing;
}
}
}
}
private void SendOutShelfOut(string msg="")
{
MoveInfo.NextMoveStep(LineMoveStep.FO_31_BatchAxisToP2);
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":"+msg+ ",提升伺服到P2点");
BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed);
}
#endregion
}
}
......@@ -171,16 +171,11 @@ namespace OnlineStore.DeviceLibrary
Task.Factory.StartNew(delegate
{
IOManager.instance.ConnectionIOList(cioList);
Thread.Sleep(5);
Task.Factory.StartNew(delegate
{
//string path = Application.StartupPath + @"\logs\rfid\";
//RFIDManager.RfidReader.LogPath = path;
//string[] rfidArray = rfidList.ToArray();
////连接rfip
//RFIDManager.RfidReader.Open(rfidArray);
RFIDManager.Open(rfidList.ToArray());
});
//Thread.Sleep(5);
//Task.Factory.StartNew(delegate
//{
// RFIDManager.Open(rfidList.ToArray());
//});
addLastDI(IO_Type.Airpressure_Check, IOValue(IO_Type.Airpressure_Check));
addLastDI(IO_Type.SuddenStop_BTN, IOValue(IO_Type.SuddenStop_BTN));
addLastDI(IO_Type.Reset_BTN, IOValue(IO_Type.Reset_BTN));
......@@ -269,7 +264,13 @@ namespace OnlineStore.DeviceLibrary
runStatus = LineRunStatus.HomeMoving;
StartTime = DateTime.Now;
LogUtil.info(Name + "开始启动,启动时间:" + StartTime.ToString());
Task.Factory.StartNew(delegate
{
LogUtil.info(Name + "RFIDManager.Open");
RFIDManager.Open(rfidList.ToArray());
});
Thread.Sleep(5);
//连接AGV调度
if (!AgvClient.ISConnected())
{
......@@ -422,6 +423,8 @@ namespace OnlineStore.DeviceLibrary
runStatus = LineRunStatus.Wait;
LineServer.StopServer();
LogUtil.info(Name + "RFIDManager.Close");
RFIDManager.Close();
TimeSpan span = DateTime.Now - StartTime;
LogUtil.info( Name + ",停止运行,总运行时间:" + span.ToString());
}
......
......@@ -206,25 +206,25 @@ namespace OnlineStore.DeviceLibrary
Alarm(LineAlarmType.IoSingleTimeOut);
LogUtil.error(MoveInfo.Name + WarnMsg, DeviceID + 13);
}
else if (rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6)
{
preRWTime = DateTime.Now;
string msg = checkWaitInfo.Name + " " + NotOkMsg + "已等待 " + Math.Abs(span.TotalSeconds) + "秒,重写DO:";
bool isLog = false;
foreach (WaitResultInfo ww in list)
{
if (ww != null && ww.WaitType.Equals(2) && baseConfig.DOList.ContainsKey(ww.IoType))
{
isLog = true;
IOMove(ww.IoType, ww.IoValue);
msg += ww.ToStr() + ",";
}
}
if (isLog)
{
LogUtil.error(msg);
}
}
//else if (rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6)
//{
// preRWTime = DateTime.Now;
// string msg = checkWaitInfo.Name + " " + NotOkMsg + "已等待 " + Math.Abs(span.TotalSeconds) + "秒,重写DO:";
// bool isLog = false;
// foreach (WaitResultInfo ww in list)
// {
// if (ww != null && ww.WaitType.Equals(2) && baseConfig.DOList.ContainsKey(ww.IoType))
// {
// isLog = true;
// IOMove(ww.IoType, ww.IoValue);
// msg += ww.ToStr() + ",";
// }
// }
// if (isLog)
// {
// LogUtil.error(msg);
// }
//}
isOk = false;
break;
}
......
......@@ -82,8 +82,12 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_53_UpDownCylinderDownWait))
{
MoveInfo.NextMoveStep(LineMoveStep.MO_54_ClampCylinderSlack);
OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸1夹紧)");
OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸1夹紧,更新料盘位置【"+MoveInfo.MoveParam.WareCode+"】【MOVING】【"+DeviceID+"】");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Tighten, IO_Type.ClampCylinder_Slack);
//更新料盘位置
SServerManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, LocStatus.MOVING, DeviceID);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_54_ClampCylinderSlack))
{
......@@ -106,17 +110,21 @@ namespace OnlineStore.DeviceLibrary
&& MoveInfo.MoveStep.Equals(LineMoveStep.MO_56_BeforeAfterCylinderAfter)
&& !SecondMoveInfo.IsInWait)
{
int trayNum = SecondMoveInfo.MoveParam.TrayNumber;
//去掉直接丢盘处理
MoveInfo.NextMoveStep(LineMoveStep.MO_58_UpDownCylinderDown);
OutLog("出库 " + MoveInfo.SLog + ": 夹具检测编码完成, 上下气缸1下降 ");
OutLog("出库 " + MoveInfo.SLog + ": 夹具检测编码完成, 上下气缸1下降 ,更新料盘位置【" + MoveInfo.MoveParam.WareCode + "】【INLINE】【" + trayNum + "】");
if (MoveInfo.MoveParam != null)
{
MoveInfo.MoveParam.TrayNumber = SecondMoveInfo.MoveParam.TrayNumber;
MoveInfo.MoveParam.TrayNumber = trayNum;
}
else
{
MoveInfo.MoveParam = SecondMoveInfo.MoveParam;
}
}
//更新料盘位置
SServerManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, LocStatus.INLINE, trayNum);
UpdownDownP2Move(MoveInfo.MoveParam.PlateH);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_58_UpDownCylinderDown))
......@@ -550,7 +558,7 @@ namespace OnlineStore.DeviceLibrary
TrayManager.UpdateTrayNumError(-1, "");
}
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_14_TopCylinder_Down);
CheckLog("托盘检测" + SecondMoveInfo.SLog + " ,托盘号【" + currTrayNum + "】,直接放盘通过,顶升气缸下降");
CheckLog("托盘检测" + SecondMoveInfo.SLog + " ,托盘号【" + currTrayNum + "】,直接放盘通过,顶升气缸下降 ");
CylinderMove(SecondMoveInfo, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down);
}
......@@ -567,7 +575,7 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopCylinder_Down))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行" + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000");
CheckLog("托盘放行" + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000 ");
if (DeviceID.Equals(2))
{
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
......
......@@ -60,7 +60,7 @@ namespace OnlineStore.DeviceLibrary
private string posId = "";
public bool StartOut(InOutParam moveParam )
{
if (MoveInfo.MoveType.Equals(LineMoveType.None))
if (MoveInfo.MoveType.Equals(LineMoveType.None)&& equipBean.runStatus>LineRunStatus.HomeMoving)
{
MoveInfo.MoveParam = moveParam;
MoveInfo.NewMove(LineMoveType.OutStore);
......
......@@ -156,9 +156,10 @@ namespace OnlineStore.DeviceLibrary
{
TrayInfo trayInfo = TrayManager.GetTrayInfo(currTrayNum);
InOutParam param = new InOutParam(currTrayNum, trayInfo.WareCode, trayInfo.PosId, trayInfo.PlateH, trayInfo.PlateW,trayInfo.InStoreNG);
CheckLog("托盘阻挡是需要出库" + param.ToStr() + ":" + SecondMoveInfo.SLog + "等待1秒后顶升上升 )");
SecondMoveInfo.MoveParam = param;
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_05_WaitTime);
CheckLog("托盘阻挡需要出库" + SecondMoveInfo.SLog + ":" + param.ToStr() + " 等待1秒后顶升上升 )");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitProvidingEquipCanOut());//等待
......@@ -167,10 +168,6 @@ namespace OnlineStore.DeviceLibrary
else
{
MO_14_TopCylinder_Down();
//bool isFull = TrayManager.TrayIsFull(currTrayNum);
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
//LogInfo(SecondMoveInfo.MoveNum + "***************上个托盘号【" + preTrayNum + "】,当前" + (isFull ? "有料托盘" : "空托盘") + "【" + currTrayNum + "】没有出入料任务,放盘通过~");
//CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)");
}
}
else
......@@ -184,37 +181,26 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_05_WaitTime))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp);
CheckLog("托盘阻挡 " + SecondMoveInfo.SLog + " 顶升气缸上 升 )");
CylinderMove(SecondMoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_UP);
//移栽开始出库
LogInfo("开始新的出库任务~" + SecondMoveInfo.MoveParam.ToStr());
bool result = StartOutStoreMove(SecondMoveInfo.MoveParam);
CheckLog("托盘阻挡 " + SecondMoveInfo.SLog + " 顶升气缸上升 ");
CylinderMove(SecondMoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_UP);
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_06_TopCylinderUp))
{
SecondMoveInfo.MoveParam = new InOutParam(currTrayNum);
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_11_CodeRember);
LogInfo(SecondMoveInfo.MoveNum + " 托盘号【" + currTrayNum + "】等待移栽料盘");
SecondMoveInfo.EndStepWait();
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_08_WaitInStore) && MoveInfo.MoveType.Equals(LineMoveType.None))
{
StartOutStoreMove(SecondMoveInfo.MoveParam);
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember) && MoveInfo.MoveType.Equals(LineMoveType.None))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_09_WaitLetFixtureGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + ",等待移栽完成后放开阻挡)");
CheckLog("托盘放行 " + SecondMoveInfo.SLog + "开始新的出库任务~" + SecondMoveInfo.MoveParam.ToStr()+",等待移栽完成后放开阻挡)");
bool result = StartOutStoreMove(SecondMoveInfo.MoveParam);
}
#endregion
#region 不需要出出料,直接放行
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopCylinder_Down))
{
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
//CheckLog("托盘放行 " + SecondMoveInfo.SLog + ",需要判断是否可以放盘通过,最多等待10000)");
////更新横移托盘已处理完成
////TODO 阻挡气缸是否需要处理
//TrayManager.UpdateSWState(Config.SidesWayNum, 1);
if (Config.SidesWayNum > 0)
{
SecondMoveInfo.EndMove();
......@@ -323,9 +309,17 @@ namespace OnlineStore.DeviceLibrary
//只有当BOX可以进行出出料时,移栽物品,防止卡住
else if (MoveInfo.MoveStep.Equals(LineMoveStep.PO_02_UpDownCylinderDownWait))
{
int lineId = 1;
if (DeviceID > 102)
{
lineId = 2;
}
MoveInfo.NextMoveStep(LineMoveStep.PO_03_ClampCylinderSlack);
OutLog("出库 " + MoveInfo.SLog + " : 夹料气缸夹紧");
OutLog("出库 " + MoveInfo.SLog + " : 夹料气缸夹紧,更新料盘位置【"+ MoveInfo.MoveParam.WareCode + "】【INBELT】【"+ lineId + "】");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Tighten, IO_Type.ClampCylinder_Slack);
//更新料盘位置
SServerManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, LocStatus.INBELT, lineId);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.PO_03_ClampCylinderSlack))
{
......
......@@ -72,13 +72,21 @@ namespace OnlineStore.DeviceLibrary
return 0;
}
public static RFIDData GetShelfData(int subType)
public static string GetShelfId(int subType,out byte[] bytedata)
{
string ip = GetRFIP(subType, 1);
return ReadRFID(ip);
RFIDData data= ReadRFID(ip);
bytedata = data.ToData();
if (data.RFType.Equals('B'))
{
return data.RFType.ToString() + "" + data.Num.ToString().PadLeft(2, '0');
}else if (data.Num > 0)
{
LogUtil.error("RFID [ " + ip + " ] 读到数据 " + data.ToStr() + " 返回料架号为空");
}
return "";
}
public static RFIDData ReadRFID(string ip, bool isClear = false)
{
try
......@@ -158,9 +166,8 @@ namespace OnlineStore.DeviceLibrary
}
public string ToStr()
{
return " [" + RFType + "],[" + Num + "] ";
}
return "" + RFType + "" + ((int)Num).ToString().PadLeft(2, '0');
//return " [" + RFType + "],[" + Num + "] ";
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!