|
|
|
@ -109,18 +109,18 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
public void test()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// string result = await _productOffLineServices.QueryChecked("1531000AP0098DCU0481");
|
|
|
|
|
// Console.WriteLine(result);
|
|
|
|
|
|
|
|
|
|
string result = _productOffLineServices.QueryChecked("1531000AP0098DCU0481");
|
|
|
|
|
Console.WriteLine(result);
|
|
|
|
|
string strSave = _productOffLineServices.SaveBarcodeInfo("1531000AP0098DCU0481", "ILS_SORT", result.Replace("0000",""), 1);
|
|
|
|
|
// string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
|
|
|
|
|
//Task.Run(() =>
|
|
|
|
|
//{
|
|
|
|
|
// while(true)
|
|
|
|
|
// {
|
|
|
|
|
// Thread.Sleep(50000);
|
|
|
|
|
// //while (true)
|
|
|
|
|
// //{
|
|
|
|
|
// Thread.Sleep(5000);
|
|
|
|
|
// Random random = new Random();
|
|
|
|
|
// MaterialBarScan("32160030000000912"+random.Next(100,999), "192.168.1.19");
|
|
|
|
|
// }
|
|
|
|
|
// MaterialBarScan("32160030000000912" + random.Next(100, 999), "192.168.1.20");
|
|
|
|
|
// // }
|
|
|
|
|
|
|
|
|
|
// // Thread.Sleep(1000);
|
|
|
|
|
// // MaterialBarScanEvent("33160030000000910780", "192.168.1.20");
|
|
|
|
@ -153,6 +153,7 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
}
|
|
|
|
|
// 2.更新mes数据库
|
|
|
|
|
BackResult = updateMesData(TempOffLineInfo1);
|
|
|
|
|
BackResult = true; // 测试
|
|
|
|
|
// 3.plc放行
|
|
|
|
|
if (BackResult)
|
|
|
|
|
{
|
|
|
|
@ -186,6 +187,7 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
}
|
|
|
|
|
// 2.更新mes数据库
|
|
|
|
|
BackResult = updateMesData(TempOffLineInfo2);
|
|
|
|
|
BackResult = true;
|
|
|
|
|
// 3.plc放行
|
|
|
|
|
if (BackResult)
|
|
|
|
|
{
|
|
|
|
@ -309,8 +311,9 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 1.质检
|
|
|
|
|
List<ReportQualityInsPection> qualityList = _reportQualityInspectionServices.JudgeIsQualified(BarCode);
|
|
|
|
|
if(qualityList != null)
|
|
|
|
|
// List<ReportQualityInsPection> qualityList = _reportQualityInspectionServices.JudgeIsQualified(BarCode);
|
|
|
|
|
List<ReportQualityInsPection> qualityList = null; // 测试使用
|
|
|
|
|
if (qualityList != null)
|
|
|
|
|
{
|
|
|
|
|
TempOffLineInfo.QualityResult = "失败";
|
|
|
|
|
TempOffLineInfo.ProductSNCode = BarCode.Trim(); //产品SN条码*1
|
|
|
|
@ -374,7 +377,8 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
// }
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + ", 多码验证通过!");
|
|
|
|
|
//2.上传条码系统
|
|
|
|
|
return uploadSnSysytem(TempOffLineInfo);
|
|
|
|
|
// return uploadSnSysytem(TempOffLineInfo);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
@ -537,23 +541,23 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("成品下线Plc"));
|
|
|
|
|
if (obj != null)
|
|
|
|
|
{
|
|
|
|
|
if (obj.plc.IsConnected)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if(scannerNo == 1) // 扫码器1对应的货道地址
|
|
|
|
|
{
|
|
|
|
|
// 写入入库方向,两条道plc地址不同
|
|
|
|
|
obj.plc.WriteInt32("D100", direction);
|
|
|
|
|
obj.plc.WriteInt32("ZR1000", direction);
|
|
|
|
|
// 往plc写入放行信号
|
|
|
|
|
obj.plc.WriteInt32("D102", 1);
|
|
|
|
|
obj.plc.WriteInt32("ZR1002", 1);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
direction = 2;
|
|
|
|
|
// 写入入库方向,两条道plc地址不同
|
|
|
|
|
obj.plc.WriteInt32("D200", direction);
|
|
|
|
|
obj.plc.WriteInt32("ZR1001", direction);
|
|
|
|
|
// 往plc写入放行信号
|
|
|
|
|
obj.plc.WriteInt32("D202", 1);
|
|
|
|
|
obj.plc.WriteInt32("ZR1003", 1);
|
|
|
|
|
}
|
|
|
|
|
DateTime targetTime = DateTime.Now.AddSeconds(8);
|
|
|
|
|
DateTime targetTime = DateTime.Now.AddSeconds(100);
|
|
|
|
|
// 等待plc反馈信号
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
@ -566,12 +570,12 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
if (scannerNo == 1)
|
|
|
|
|
{
|
|
|
|
|
// 读取plc反馈信号
|
|
|
|
|
if (obj.plc.ReadInt32("D102") == 2)
|
|
|
|
|
if (obj.plc.ReadInt32("ZR1002") == 2)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("收到plc放行成功");
|
|
|
|
|
// 清空数据
|
|
|
|
|
obj.plc.WriteInt32("D100", 0);
|
|
|
|
|
obj.plc.WriteInt32("D102", 0);
|
|
|
|
|
// obj.plc.WriteInt32("ZR1000", 0);
|
|
|
|
|
obj.plc.WriteInt32("ZR1002", 0);
|
|
|
|
|
result = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -579,23 +583,19 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// 读取plc反馈信号
|
|
|
|
|
if (obj.plc.ReadInt32("D202") == 2)
|
|
|
|
|
if (obj.plc.ReadInt32("ZR1003") == 2)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("收到plc放行成功");
|
|
|
|
|
// 清空数据
|
|
|
|
|
obj.plc.WriteInt32("D200", 0);
|
|
|
|
|
obj.plc.WriteInt32("D202", 0);
|
|
|
|
|
// obj.plc.WriteInt32("ZR1001", 0);
|
|
|
|
|
obj.plc.WriteInt32("ZR1003", 0);
|
|
|
|
|
result = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Thread.Sleep(500);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
log.Info("成品下线plc连接失败,请检查plc连接");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|