Commit 2846c9e9 刘韬

优化72mm料盘NG

1 个父辈 07bacd1d
......@@ -521,6 +521,41 @@ Res0128.e5d9ef10 模版匹配失败 Template Matching Failure
Res0129.0e13d0de 标签打印失败,请检查打印机状态,关门后将自动重试 Label printing failure.Please check the status. Will automatically retry after closing the door
Res0130.c3836615 标签吸取失败,请检查,关门后将自动重试 Label sucking failed, please check, will automatically retry after closing the door
Res0131.df796d2d 运动报警 Motion Alarm
Res0132.45f8ce0b 请先选择相机 Please select camera
Res0133.348f1b33 请先选择图片 Please select picture
Res0134.2f36fc36 获取二维码图片为空 Get the two-dimensional code picture is empty
Res0135.4cc0a7a8 确定删除文件: Make sure to delete the file:
Res0136.c56a14a0 读取文件失败:
Res0137.f18f365a 扫码测试_
Res0138.72eff852 识别
Res0139.29d9f02a //ID,启用,宽度,高度,角度,中点x,中点y,p1.x,p1.y,p2.x,p2.y,p3.x,p3.y,p4.x,p4.y
Res0140.3b7b140a //类型,中点X,中点Y,角度,文本
Res0141.45b4fe3b 选择二维码图片
Res0142.5358d483 图片(*.jpg)|*.jpg|图片(*.png)|*.png
Res0143.836d6b0c 请先解析条码!
Res0144.0d4a0d99 请等待上个二维码生成成功后再操作!
Res0145.308b5439 生成中:
Res0146.2f29961e 拼接格式说明:*为分隔符
Res0147.fa67f3ad \r\nRID表示RealID对应的条码内容
Res0148.1a900ea2 \r\nPN表示Customer PN 对应的条码内容
Res0149.d96f4e8e \r\nQTY表示QTY对应的条码内容
Res0150.620048ee \r\nDATE表示DATE对应的条码内容
Res0151.6926e3be \r\nLOT表示LOT对应的条码内容
Res0152.3b108349 保存成功
Res0153.78876856 (默认)
Res0154.7854b52a 启用
Res0155.5daef6b4 输入新的标签名称:
Res0156.67a79371 输入字段名:
Res0157.89d3b48c 图片文件|*.jpg;*.jpeg;*.png;*.bmp;*.gif|所有文件|*.*
Res0158.14175694 输入模板的名称:
Res0159.a5d1c511 模板名称
Res0160.e7991e32 图片(*.png)|*.png|图片(*.jpg)|*.jpg
Res0161.631cd220 确认删除
Res0162.b04fbd0f \r\n识别到二维码:
Res0163.17995f3f \r\n未识别到二维码
Res0164.d42d76fd \r\n扫码结束耗时:
Res0165.5e2a4b76 \r\n转换图片耗时:
Res0166.2bf72810 NG物料厚度超过72mm无法放入NG箱 NG materials exceeding 72mm in thickness cannot be placed into the NG container.
Res0188 电夹爪通讯失败:{0} Eletric Gripper Communication Failure:{0}
Res0189 IO板卡初始化失败 IO Card Initialization Failure
Res0190 打开配置模式 Turn On Configuration Modo
......
......@@ -21,7 +21,9 @@ namespace DeviceLibrary
{
//硬件v2版本,已经去除料车检测X11的io
if ((RightMoveInfo.IsStep(MoveStep.Wait) || RightMoveInfo.IsStep(MoveStep.REND))
&& IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH))
&& IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH)
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox_72HRelease)
{
//有料,出料,无料,进料
if (IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH))
......@@ -52,7 +54,9 @@ namespace DeviceLibrary
{
if ((RightMoveInfo.IsStep(MoveStep.Wait) || RightMoveInfo.IsStep(MoveStep.REND))
&& IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH))
&& IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH)
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox_72HRelease)
{
//有料,出料,无料,进料
if (IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH))
......@@ -86,7 +90,9 @@ namespace DeviceLibrary
if (RightMoveInfo.IsStep(MoveStep.Wait)
&& IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH))
&& IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH)
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox_72HRelease)
{
RightMoveInfo.NewMove(MoveStep.R30_OutShelf);
LogUtil.info("BtnProcess:进料串感应到有料,进料口确认,检测到小车");
......@@ -114,6 +120,17 @@ namespace DeviceLibrary
CylinderMove(null, IO_Type.LeftStopUP, IO_Type.LeftStopDown);
}
}
if (MiddleMoveInfo.MoveStep == MoveStep.M20_ToNgBox && IOValue(IO_Type.GratingSignal_Check).Equals(IO_VALUE.LOW))
{
if (IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH))
{
MiddleMoveInfo.NextMoveStep(MoveStep.M20_ToNgBox_72HRelease);
clampTool.Release();
MiddleMoveInfo.log("用户按下右侧reset,夹抓放松");
}
}
}
}
}
......@@ -24,7 +24,10 @@ namespace DeviceLibrary
RightMoveInfo.NewMove(MoveStep.R40_InShelf);
}
//有料无AGV进料请求转到出料步骤
else if(IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.FeedAGV_Receiving).Equals(IO_VALUE.LOW))
else if(IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.FeedAGV_Receiving).Equals(IO_VALUE.LOW)
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox_72HRelease)
{
RightMoveInfo.NewMove(MoveStep.R30_OutShelf);
LogUtil.info("IOMonitor:进料串感应到有料");
......@@ -60,6 +63,8 @@ namespace DeviceLibrary
}
else if (IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH)
&& MiddleMoveInfo.MoveStep!= MoveStep.M20_ToNgBox
&& MiddleMoveInfo.MoveStep != MoveStep.M20_ToNgBox_72HRelease
&& (IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.FeedAGV_Receiving).Equals(IO_VALUE.HIGH)))
{
RightMoveInfo.NewMove(MoveStep.R30_OutShelf);
......
......@@ -17,26 +17,28 @@ namespace DeviceLibrary
int LeftCount = 0;
public bool SafeReleaseLeftShelf = false;
int Uppre = -1000;
int Uplast = -1000;
int step = 0;
//int Uppre = -1000;
//int Uplast = -1000;
//int step = 0;
public int LastBatchAxisPosition = 0;
public int PlwHight = 0;
/// <summary>
/// 料盘高度单位脉冲
/// </summary>
public int PlwHight
{
get
{
int hight = 0;
//if (Uppre != -1000 && Uplast != -1000&&step==3)
if (Uppre != -1000 && Uplast != -1000 && step == 2)
{
hight = Math.Abs(Uplast - Uppre) + 2000;
RightMoveInfo.log($"料盘高度计算:hight:{hight},Uppre:{Uppre},Uplast:{Uplast}");
}
return hight;
}
}
//public int PlwHight
//{
// get
// {
// int hight = 0;
// //if (Uppre != -1000 && Uplast != -1000&&step==3)
// if (Uppre != -1000 && Uplast != -1000 && step == 2)
// {
// hight = Math.Abs(Uplast - Uppre) + 2000;
// RightMoveInfo.log($"料盘高度计算:hight:{hight},Uppre:{Uppre},Uplast:{Uplast}");
// }
// return hight;
// }
//}
void LeftProcess()
{
if (CheckWait(LeftMoveInfo))
......@@ -52,25 +54,34 @@ namespace DeviceLibrary
CylinderMove(null, IO_Type.LeftStopDown, IO_Type.LeftStopUP);
LeftBatchAxisToP2(Config.Left_Batch_P2, Config.Left_Batch_P1_speed, IO_VALUE.HIGH);
LeftMoveInfo.log($"批量轴上升到P2位置,第一次提升,LeftStartMovePosition={LeftStartMovePosition}");
step = 1;
break;
//没有这个步骤
case MoveStep.L02:
LeftMoveInfo.NextMoveStep(MoveStep.L03);
LeftBatchAxisToP2(Config.Left_Batch_P2, Config.Left_Batch_P2_speed, IO_VALUE.HIGH);
LeftMoveInfo.log($"批量轴上升到P2位置,二次提升,LeftStartMovePosition={LeftStartMovePosition}");
break;
//轴下降一点
case MoveStep.L03:
LeftMoveInfo.NextMoveStep(MoveStep.L04);
//int currpot = Left_Batch_Axis.GetAclPosition();
LeftBatchAxisDown();
int targetP1 = Left_Batch_Axis.GetAclPosition() - ConfigHelper.Config.Get("LeftAxisDownValue", 50) * Config.Left_Batch_ChangeValue;
if (PlwHight > 5000)
{
int currpoint = Left_Batch_Axis.GetAclPosition();
int countPleHight = PlwHight / Config.Right_Batch_ChangeValue * Config.Left_Batch_ChangeValue;
targetP1 = currpoint - countPleHight + 5000;
LeftMoveInfo.log($"出料提升机构,获取到料盘高度脉冲{PlwHight},当前位置{currpoint},计算盘高{countPleHight}");
}
int targetSpeed = Config.Left_Batch_P1_speed;
if (targetP1 <= 0)
{
LeftMoveInfo.log("出料提升机构,下降固定值小于0,设置回到0原点。");
targetP1 = 0;
LeftMoveInfo.NextMoveStep(MoveStep.L40_ShelfFull);
LeftMoveInfo.log($"批量轴已下降到底,料串已满,Left_Batch_P1={Config.Left_Batch_P1}");
}
LeftMoveInfo.log($"出料提升机构,下降固定值为{targetP1}脉冲!");
Left_Batch_Axis.AbsMove(LeftMoveInfo, targetP1, targetSpeed);
LeftMoveInfo.log($"批量轴下降固定值");
break;
//根据轴位置判断去料串满步骤还是不满步骤
case MoveStep.L04:
var currpos = Left_Batch_Axis.GetAclPosition();
if (currpos <= Config.Left_Batch_P1)
if (currpos <= Config.Left_Batch_P1+2000)
{
LeftMoveInfo.NextMoveStep(MoveStep.L40_ShelfFull);
LeftMoveInfo.log($"批量轴已下降到底,料串已满,Left_Batch_P1={Config.Left_Batch_P1},needpos={currpos}");
......@@ -86,7 +97,7 @@ namespace DeviceLibrary
break;
//中间步骤给盘,下降一点,获取盘信息
case MoveStep.L11_ReelPutted:
if (step == 2 || RightMoveInfo.MoveStep== MoveStep.Wait)
//if (RightMoveInfo.MoveStep== MoveStep.Wait)
{
LeftCount++;
LeftMoveInfo.NextMoveStep(MoveStep.L12);
......@@ -95,10 +106,10 @@ namespace DeviceLibrary
LabelMoveInfo.MoveParam = LeftMoveInfo.MoveParam.clone();
LeftMoveInfo.log($"左侧料盘已放入,批量轴下降固定值");
}
else
{
LeftMoveInfo.NextMoveStep(MoveStep.L11_ReelPutted);
}
//else
//{
// LeftMoveInfo.NextMoveStep(MoveStep.L11_ReelPutted);
//}
break;
//防意外
case MoveStep.L12:
......@@ -109,18 +120,7 @@ namespace DeviceLibrary
break;
case MoveStep.L13:
LeftMoveInfo.NextMoveStep(MoveStep.L20_WaitLabel);
int currpot = Left_Batch_Axis.GetAclPosition();
//if (step == 1)
//{
// Uppre = currpot;
// step = 2;
//}
//else if (step == 2)
//{
// Uplast = currpot;
// step = 3;
//}
LeftMoveInfo.log($"批量轴完成上升,等待贴标当前位置{currpot},步骤step:{step},Uppre:{Uppre},Uplast:{Uplast}");
break;
//等贴标,由贴标流程跳出
case MoveStep.L20_WaitLabel:
......@@ -136,7 +136,7 @@ namespace DeviceLibrary
}
else
{
if (step == 2)
if (PlwHight >0)
{
LeftMoveInfo.NextMoveStep(MoveStep.L03);
LeftBatchAxisToP2(Config.Left_Batch_P1, Config.Left_Batch_P1_speed, IO_VALUE.LOW);
......
......@@ -26,6 +26,7 @@ namespace DeviceLibrary
//如果右侧可取料那么那么移动轴到p2点,夹爪释放。获取右侧的标签信息,右侧标签信息复位,否则等待
if (RightMoveInfo.MoveStep == MoveStep.R10_WaitReelLeave)
{
PlwHight = 0;
MiddleMoveInfo.NextMoveStep(MoveStep.M02);
Take_Middle_Axis.AbsMove(MiddleMoveInfo, Config.Take_Middle_P2, Config.Take_Middle_P2_speed);
Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P2, Config.Take_UpDown_P2_speed);
......@@ -204,9 +205,29 @@ namespace DeviceLibrary
break;
//NG流程
case MoveStep.M20_ToNgBox:
MiddleMoveInfo.NextMoveStep(MoveStep.M20_1_ToNgBox);
Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P1, Config.Take_UpDown_P1_speed);
MiddleMoveInfo.log("NG时上下轴转到P1");
if (PlwHight > 65*1000)
{
Msg.add(crc.GetString("Res0166.2bf72810","NG物料厚度超过72mm无法放入NG箱"), MsgLevel.alarm);
}
else if (PlwHight>0) {
MiddleMoveInfo.NextMoveStep(MoveStep.M20_1_ToNgBox);
Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P1, Config.Take_UpDown_P1_speed);
MiddleMoveInfo.log("NG时上下轴转到P1");
}
else
{
Msg.add("NG物料, 等待测高", MsgLevel.info);
MiddleMoveInfo.log("NG物料, 等待测高");
}
break;
case MoveStep.M20_ToNgBox_72HRelease:
if (IOValue(IO_Type.GratingSignal_Check).Equals(IO_VALUE.HIGH))
{
MiddleMoveInfo.NextMoveStep(MoveStep.M_ReturnToP1);
MiddleMoveInfo.log("光栅恢复,回待机点");
}
break;
case MoveStep.M20_1_ToNgBox:
MiddleMoveInfo.NextMoveStep(MoveStep.M21);
......
......@@ -36,16 +36,15 @@ namespace DeviceLibrary
break;
case MoveStep.R02:
RightMoveInfo.NextMoveStep(MoveStep.R03);
Uppre = Right_Batch_Axis.GetAclPosition();
step = 1;
LastBatchAxisPosition = Right_Batch_Axis.GetAclPosition();
RightBatchAxisToP2(false);
RightMoveInfo.log($"批量轴上升到P2位置,二次提升,RightStartMovePosition={RightStartMovePosition}");
RightMoveInfo.log($"批量轴上升到P2位置,二次提升,LastBatchAxisPosition={RightStartMovePosition}");
break;
case MoveStep.R03:
RightMoveInfo.NextMoveStep(MoveStep.R04);
Uplast = Right_Batch_Axis.GetAclPosition();
step = 2;
RightMoveInfo.log($"批量轴上升到P2位置到位,当前位置{Uplast}");
var Uplast = Right_Batch_Axis.GetAclPosition();
PlwHight = Uplast - LastBatchAxisPosition;
RightMoveInfo.log($"批量轴上升到P2位置到位,当前位置:{Uplast}, PlwHight:{PlwHight}");
break;
//如果定位上升并且特定中间步骤偶,开始扫码
case MoveStep.R04:
......@@ -146,6 +145,7 @@ namespace DeviceLibrary
break;
case MoveStep.R11_NextReel:
RightCount++;
//处于释放状态转到无料料流程,否则回到取料流程
if (SafeReleaseRightShelf)
{
......
......@@ -98,6 +98,7 @@ namespace DeviceLibrary
M09,
M10,
M20_ToNgBox,
M20_ToNgBox_72HRelease,
M20_1_ToNgBox,
M21,
M22,
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DeviceLibrary
{
class DEIF
{
}
}
......@@ -120,6 +120,7 @@
<Compile Include="AutoScanAndLabel\MoveStep.cs" />
<Compile Include="AutoScanAndLabel\MainMachine _Common_.cs" />
<Compile Include="AutoScanAndLabel\MainMachine _RightProcess.cs" />
<Compile Include="DEIF.cs" />
<Compile Include="DeviceLibrary\AlarmBuzzer.cs" />
<Compile Include="DeviceLibrary\ClampTool.cs" />
<Compile Include="DeviceLibrary\CodeManager.cs" />
......
......@@ -297,7 +297,12 @@ public class RemoteDecodeHelper_mod
{
lock (p)
{
var port = (int)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\NS100\\", "port", 58137);
int port = 58137;
try
{
port = (int)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\NS100\\", "port", 58137);
}
catch { }
serverhost = "http://127.0.0.1:" + port + "/";
Process proes = new Process();
var pss = Process.GetProcessesByName("Neo Scan");
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!