Commit 87d44079 LN

皮带线456需要提前扫码,扫码后缓存,送料逻辑修改

1 个父辈 62da7271
......@@ -5,7 +5,7 @@
</configSections>
<appSettings>
<!--是否开机自动启动料仓-->
<add key="App_AutoRun" value="1" />
<add key="App_AutoRun" value="0" />
<add key="App_Title" value="流水线客户端" />
<!--Server address-->
<!--<add key="http.server" value="http://localhost/myproject/service/store/emptyPosForPutin"/>-->
......@@ -50,7 +50,7 @@
<add key ="OpenRFIDWrite" value ="1"/>
<add key="DefaultPWD" value ="123456"/>
<!--当前调试的设备ID,分号分割-->
<add key ="DebugDeviceId" value ="301"/>
<add key ="DebugDeviceId" value ="302"/>
<add key ="Server_Log_Open" value ="0"/>
<add key ="CodeCount" value ="3"/>
<add key ="DefaultTrayNum" value ="0"/>
......
......@@ -351,20 +351,7 @@ namespace OnlineStore.AssemblyLine
private void btnSRun_Click(object sender, EventArgs e)
{
LogUtil.info(equipBase.Name + "点击【" + btnSRun.Text + "】 ");
if (btnSRun.Text.Equals("分盘装置电机正转"))
{
equipBean.SeparateLineRun();
btnSRun.Text = "分盘装置电机反转";
btnSRun.BackColor = Color.Aqua;
}
else
{
equipBean.SeparateBackRun();
btnSRun.Text = "分盘装置电机正转";
btnSRun.BackColor = Color.SkyBlue;
}
//BtnMove(btnSRun, "分盘装置电机驱动", "分盘装置电机停止", IO_Type.SeparateDevice_Run);
equipBean.SeparateLineRun();
}
private void btnStrart_Click(object sender, EventArgs e)
......@@ -446,37 +433,49 @@ namespace OnlineStore.AssemblyLine
//判断line2是否停止
if (equipBase.IOValue(IO_Type.DLine_Run2).Equals(IO_VALUE.LOW))
{
BtnMove(btnNgMove, "NG气缸前进", "NG气缸后退", IO_Type.NGCylinder_After, IO_Type.NGCylinder_Before);
BtnMove(btnNgMove, "入库NG气缸前进", "入库NG气缸后退", IO_Type.NGCylinder_After, IO_Type.NGCylinder_Before);
}
else
{
MessageBox.Show(line2Name+"运转中,NG气缸不能动作");
MessageBox.Show(line2Name+"运转中,入库NG气缸不能动作");
}
}
private void button1_Click(object sender, EventArgs e)
{
LogUtil.info(equipBase.Name + "点击【" + button1.Text + "】 ");
equipBean.SeparateStopRun();
btnSRun.BackColor = Color.White;
equipBean.SeparateStopRun();
}
private void btnScanCylinder_Click(object sender, EventArgs e)
{
LogUtil.info(equipBase.Name + "点击【" + btnScanCylinder.Text + "】 ");
if (btnScanCylinder.Text.Equals("扫码NG气缸前进"))
if (equipBase.IOValue(IO_Type.DLine_Run3).Equals(IO_VALUE.LOW))
{
equipBean.ScanNgForward(null);
btnScanCylinder.Text = "扫码NG气缸后退";
btnScanCylinder.BackColor = Color.Aqua;
}
LogUtil.info(equipBase.Name + "点击【" + btnScanCylinder.Text + "】 ");
if (btnScanCylinder.Text.Equals("扫码NG气缸前进"))
{
equipBean.ScanNgForward(null);
btnScanCylinder.Text = "扫码NG气缸后退";
btnScanCylinder.BackColor = Color.Aqua;
}
else
{
equipBean.ScanNgBack(null);
btnScanCylinder.Text = "扫码NG气缸前进";
btnScanCylinder.BackColor = Color.SkyBlue;
}
}
else
{
equipBean.ScanNgBack(null);
btnScanCylinder.Text = "扫码NG气缸前进";
btnScanCylinder.BackColor = Color.SkyBlue;
MessageBox.Show(line2Name + "运转中,扫码NG气缸不能动作");
}
}
private void button2_Click(object sender, EventArgs e)
{
LogUtil.info(equipBase.Name + "点击【" + button2.Text + "】 ");
equipBean.SeparateStopRun();
}
}
}
......
......@@ -246,8 +246,10 @@ PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=800
皮带线扫码NG修改,皮带线123NG时转动到接驳台并倒转。
皮带线456扫码提前一个工位,NG时转动到下一个工位并NG气缸推出。
20200305:皮带线逻辑修改:
皮带线456需要提前扫码,扫码后缓存,送料逻辑修改。
皮带线456需要提前扫码,扫码后缓存。
......
......@@ -623,8 +623,8 @@ namespace OnlineStore.DeviceLibrary
//收到复位信号后启动
if (isAutoStart && fuweiValue.Equals(IO_VALUE.HIGH) && lastFuwei.Equals(IO_VALUE.LOW))
{
//没有启动时收到复位按钮,相当于启动按钮
LogUtil.info( Name + "没有启动时收到复位按钮,相当于启动按钮,开始调用启动方法!");
//没有启动时收到启动按钮
LogUtil.info( Name + "没有启动时收到启动按钮,开始调用启动方法!");
bool isOk = StartRun();
if (!isOk)
{
......
......@@ -450,7 +450,7 @@ namespace OnlineStore.DeviceLibrary
if (result.Equals(""))
{
if (span.TotalSeconds >= 4 && span.TotalSeconds <= 5)
{
{
LogUtil.debug(subType + "停止运动:[" + moveDO + "] [" + checkDI + "] 耗时 [" + FormUtil.GetSpanStr(span) + "][" + canWhileCount + "]");
}
else
......@@ -464,7 +464,10 @@ namespace OnlineStore.DeviceLibrary
}
LastEndTime = DateTime.Now;
IOManager.IOMove(moveDO, IO_VALUE.LOW, subType);
turnEnd?.Invoke(result.Equals(""));
Task.Factory.StartNew(delegate
{
turnEnd?.Invoke(result.Equals(""));
});
InTurn = false;
return result;
}
......
......@@ -145,22 +145,36 @@ namespace OnlineStore.DeviceLibrary
}
return "";
}
public static string GetTraySize(string deviceName, int robotIndex, List<string> codeList, out int outSize)
public static string ProcessCodeList(List<string> codeList)
{
string codeStr = "";
List<string> list = new List<string>();
foreach (string str in codeList)
{
if (list.Contains(str.Trim()) || String.IsNullOrEmpty(str.Trim()))
{
continue;
}
codeStr = codeStr + str.Trim() + spiltStr;
}
return codeStr;
}
public static string GetTraySize(string deviceName, int robotIndex, string codeStr, out int outSize)
{
outSize = 0;
string msg = "";
try
{
string codeStr = "";
List<string> list = new List<string>();
foreach (string str in codeList)
{
if (list.Contains(str.Trim()) || String.IsNullOrEmpty(str.Trim()))
{
continue;
}
codeStr = codeStr + str.Trim() + spiltStr;
}
//string codeStr = "";
//List<string> list = new List<string>();
//foreach (string str in codeList)
//{
// if (list.Contains(str.Trim()) || String.IsNullOrEmpty(str.Trim()))
// {
// continue;
// }
// codeStr = codeStr + str.Trim() + spiltStr;
//}
if (String.IsNullOrEmpty(codeStr))
{
return msg = deviceName + "未扫到条码";
......
......@@ -117,7 +117,7 @@ namespace OnlineStore.DeviceLibrary
if (balserNameList.Contains(cameraName))
{
bool result = BaslerCamera.Instance.Open(cameraName);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
LogUtil.info("相机【" + cameraName + "】打开:" + result + "");
if (result)
{
BaslerCamera.Instance.GrabOne();
......@@ -183,20 +183,21 @@ namespace OnlineStore.DeviceLibrary
{
continue;
}
LogUtil.info(" 摄像机【" + cameraName + "】开始获取图片");
LogUtil.info(" 相机【" + cameraName + "】开始打开相机获取图片");
using (Bitmap bitmap = GetCamerImage(cameraName))
{
if (bitmap == null)
{
LogUtil.error(" 摄像机【" + cameraName + "】获取图片失败,关闭相机");
LogUtil.error(" 机【" + cameraName + "】获取图片失败,关闭相机");
CloseCamera();
continue;
}
LogUtil.info(" 【" + cameraName + "】获取图片完成,开始转换图片");
LogUtil.info("相机 【" + cameraName + "】获取图片完成,开始转换图片,并扫码");
System.Threading.Thread.Sleep(1);
//转换托盘大概100-150ms,不打印日志
HalconDotNet.HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap);
LogUtil.info(" 【" + cameraName + "】转换图片完成,开始扫码");
// LogUtil.info(" 相机【" + cameraName + "】转换图片完成,开始扫码");
List<CodeInfo> cc = new List<CodeInfo>();
string r = "";
foreach (string codeType in codeTypeList)
......@@ -216,10 +217,10 @@ namespace OnlineStore.DeviceLibrary
codeList.Add(str);
r = r + "##" + str;
}
LogUtil.debug(" 【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
// LogUtil.debug(" 相机【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
}
LogUtil.info("【" + cameraName + "】扫码完成:" + r);
LogUtil.info("相机【" + cameraName + "】扫码完成:" + r);
ho_Image.Dispose();
bitmap.Dispose();
}
......
......@@ -1040,6 +1040,50 @@ namespace OnlineStore.DeviceLibrary
DO_18_SeparateRun = 30218,
#endregion
#region 皮带线3送出料盘新处理,增加NG推出气缸后的处理
/// <summary>
/// 送料盘到双层线:NG气缸后退,等待100后处理,
/// </summary>
DON_01_WaitTime = 30401,
/// <summary>
/// 送料盘到双层线:根据二维码从服务器获取料盘尺寸
/// </summary>
DON_03_GetTraySize = 30403,
/// <summary>
/// 送料盘到双层线:上升或下降分盘定位气缸
/// </summary>
DON_04_SUpDownMove = 30404,
/// <summary>
/// 送料盘到双层线:转动皮带线,同时转动分盘装置
/// </summary>
DON_05_LineRun = 30405,
/// <summary>
/// 送料盘到双层线:等待料盘到达分盘装置位置
/// </summary>
DON_07_SeparateCheck = 30407,
/// <summary>
/// 送料盘到双层线:到达后再转动500
/// </summary>
DON_08_CRun = 30408,
/// <summary>
/// 横移NG料:NG气缸前进
/// </summary>
DON_12_NGCylinderForward = 30412,
/// <summary>
/// 横移NG料:NG气缸前进后等待1000ms
/// </summary>
DON_13_NGCylinderWait = 30413,
/// <summary>
/// 横移NG料:NG气缸后退
/// </summary>
DON_14_NGCylinderBack = 30414,
#endregion
#region 皮带线12接收料盘并转动处理
/// <summary>
/// 皮带线12处理料盘:需要放入料盘,等待入口无料盘
......@@ -1089,6 +1133,8 @@ namespace OnlineStore.DeviceLibrary
DLO_11_ExitNoTray
#endregion
#endregion
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!