Commit bbf0fa7f LN

扫码增加数量配置。

出库时直接打开门锁,屏蔽出库轴上升功能。
1 个父辈 e7e4c3f2
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
...@@ -51,6 +51,8 @@ ...@@ -51,6 +51,8 @@
<add key="DefaultPWD" value ="123456"/> <add key="DefaultPWD" value ="123456"/>
<!--自动出入库时使用--> <!--自动出入库时使用-->
<add key ="LOC" value ="1"/> <add key ="LOC" value ="1"/>
<!--最多识别多少个二维码-->
<add key ="QRCodeCount" value ="1"/>
</appSettings> </appSettings>
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
......
...@@ -227,3 +227,11 @@ PositionNum,Priority,Height,Width,StoreID,SupportBatch,MiddleAxis_Position_P2,Up ...@@ -227,3 +227,11 @@ PositionNum,Priority,Height,Width,StoreID,SupportBatch,MiddleAxis_Position_P2,Up
2.相机名称 未配置时可以自动默认配置。 2.相机名称 未配置时可以自动默认配置。
20191109
扫码增加数量配置。
<!--最多识别多少个二维码-->
<add key ="QRCodeCount" value ="1"/>
出库时直接打开门锁,屏蔽出库轴上升功能。
\ No newline at end of file \ No newline at end of file
...@@ -99,5 +99,7 @@ namespace OnlineStore.Common ...@@ -99,5 +99,7 @@ namespace OnlineStore.Common
public static string LibNameType = "LibNameType"; public static string LibNameType = "LibNameType";
public static string DefaultPWD = "DefaultPWD"; public static string DefaultPWD = "DefaultPWD";
public static string LOC = "LOC"; public static string LOC = "LOC";
public static string QRCodeCount = "QRCodeCount";
} }
} }
...@@ -15,6 +15,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -15,6 +15,7 @@ namespace OnlineStore.DeviceLibrary
{ {
public static int DeCodeType = ConfigAppSettings.GetIntValue(Setting_Init.DeCodeType); public static int DeCodeType = ConfigAppSettings.GetIntValue(Setting_Init.DeCodeType);
private static int QRCodeCount = ConfigAppSettings.GetIntValue(Setting_Init.QRCodeCount);
public static List<string> cameraNameList = new List<string>(); public static List<string> cameraNameList = new List<string>();
public static List<string> codeTypeList = new List<string>(); public static List<string> codeTypeList = new List<string>();
...@@ -25,8 +26,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -25,8 +26,12 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 初始化摄像机名称和二维码类型 /// 初始化摄像机名称和二维码类型
/// </summary> /// </summary>
public static void LoadConfig( ) public static void LoadConfig()
{ {
if (QRCodeCount < 1)
{
QRCodeCount = 1;
}
string nameStr = ConfigAppSettings.GetValue(Setting_Init.CameraName); string nameStr = ConfigAppSettings.GetValue(Setting_Init.CameraName);
string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType); string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType);
cameraNameList = new List<string>(); cameraNameList = new List<string>();
...@@ -59,18 +64,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -59,18 +64,18 @@ namespace OnlineStore.DeviceLibrary
CodeLibrary.HDCodeLearnHelper.LoadConfig(nameStr, codeStr); CodeLibrary.HDCodeLearnHelper.LoadConfig(nameStr, codeStr);
//如果未加载到配置相机,自动配置 //如果未加载到配置相机,自动配置
if(cameraNameList.Count<=0&& hikNameList.Count > 0) if (cameraNameList.Count <= 0 && hikNameList.Count > 0)
{ {
cameraNameList = new List<string>(hikNameList); cameraNameList = new List<string>(hikNameList);
string cameraStr = ""; string cameraStr = "";
foreach(string name in hikNameList) foreach (string name in hikNameList)
{ {
cameraStr += name + spiltChar; cameraStr += name + spiltChar;
} }
cameraStr = cameraStr.Substring(0, cameraStr.Length - 1); cameraStr = cameraStr.Substring(0, cameraStr.Length - 1);
ConfigAppSettings.SaveValue(Setting_Init.CameraName, cameraStr); ConfigAppSettings.SaveValue(Setting_Init.CameraName, cameraStr);
LogUtil.info("未配置扫码相机,默认【"+ Setting_Init.CameraName + "】=【"+ cameraStr + "】"); LogUtil.info("未配置扫码相机,默认【" + Setting_Init.CameraName + "】=【" + cameraStr + "】");
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -81,9 +86,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -81,9 +86,11 @@ namespace OnlineStore.DeviceLibrary
{ {
if (isReLoad) if (isReLoad)
{ {
try { try
CodeLibrary.HIKCamera.Instance.Load(); {
}catch(Exception ex) CodeLibrary.HIKCamera.Instance.Load();
}
catch (Exception ex)
{ {
LogUtil.error("加载HIK相机出错:" + ex.ToString()); LogUtil.error("加载HIK相机出错:" + ex.ToString());
} }
...@@ -97,8 +104,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -97,8 +104,8 @@ namespace OnlineStore.DeviceLibrary
} }
} }
string[] names = CodeLibrary.HIKCamera.Instance.CameraName; string[] names = CodeLibrary.HIKCamera.Instance.CameraName;
if (names != null) if (names != null)
{ {
hikNameList.AddRange(names); hikNameList.AddRange(names);
...@@ -129,7 +136,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -129,7 +136,7 @@ namespace OnlineStore.DeviceLibrary
try try
{ {
if (balserNameList.Contains(cameraName)) if (balserNameList.Contains(cameraName))
{ {
bool result = BaslerCamera.Instance.Open(cameraName); bool result = BaslerCamera.Instance.Open(cameraName);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")"); // LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
if (result) if (result)
...@@ -144,7 +151,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -144,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
else if (hikNameList.Contains(cameraName)) else if (hikNameList.Contains(cameraName))
{ {
bool result = HIKCamera.Instance.Open(cameraName); bool result = HIKCamera.Instance.Open(cameraName);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")"); // LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
if (result) if (result)
...@@ -180,8 +187,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -180,8 +187,6 @@ namespace OnlineStore.DeviceLibrary
public static List<string> CameraScan() public static List<string> CameraScan()
{ {
List<string> codeList = new List<string>(); List<string> codeList = new List<string>();
//List<CodeInfo> allCodeList = new List<CodeInfo>();
try try
{ {
foreach (string cameraName in cameraNameList) foreach (string cameraName in cameraNameList)
...@@ -201,9 +206,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -201,9 +206,10 @@ namespace OnlineStore.DeviceLibrary
{ {
HalconDotNet.HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap); HalconDotNet.HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap);
LogUtil.debug(" 摄像机【" + cameraName + "】转换图片完成,开始扫码"); LogUtil.debug(" 摄像机【" + cameraName + "】转换图片完成,开始扫码");
List<CodeInfo> cc = new List<CodeInfo>();
foreach (string codeType in codeTypeList) foreach (string codeType in codeTypeList)
{ {
List<CodeInfo> cc = new List<CodeInfo>();
//判断是否是一维码 //判断是否是一维码
if (codeType.ToLower().Equals("barcode")) if (codeType.ToLower().Equals("barcode"))
{ {
...@@ -211,18 +217,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -211,18 +217,16 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
cc = HDCodeHelper.DecodeCode(ho_Image, 1, GetCodeParamFilePath(codeType), codeType); cc = HDCodeHelper.DecodeCode(ho_Image, QRCodeCount, GetCodeParamFilePath(codeType), codeType);
} }
if (cc.Count > 0)
string r = "";
foreach (CodeInfo c in cc)
{ {
string r = ""; codeList.Add(c.CodeStr);
foreach (CodeInfo c in cc) r = r + "##" + c.CodeStr;
{
codeList.Add(c.CodeStr);
r = r + "##" + c.CodeStr;
}
LogUtil.info(" 【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
} }
LogUtil.info(" [" + cameraName + "][" + codeType + "]扫码完成:" + r);
} }
} }
else else
...@@ -262,6 +266,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -262,6 +266,6 @@ namespace OnlineStore.DeviceLibrary
{ {
return ""; return "";
} }
} }
} }
} }
...@@ -623,11 +623,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -623,11 +623,7 @@ namespace OnlineStore.DeviceLibrary
} }
private static void IsNeedScanCode() private static void IsNeedScanCode()
{ {
LastCode = ""; ClearInStoreInfo();
LastCodeList = new List<string>();
LastHeight = 0;
LastWidth = 0;
LastPosId = "";
SuckingDisc_WorkCount = 0; SuckingDisc_WorkCount = 0;
//如果有超时异常,需要清理 //如果有超时异常,需要清理
if (StoreManager.Store.alarmType.Equals(StoreAlarmType.BatchIoTimeOut)) if (StoreManager.Store.alarmType.Equals(StoreAlarmType.BatchIoTimeOut))
...@@ -641,10 +637,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -641,10 +637,10 @@ namespace OnlineStore.DeviceLibrary
if (IOManager.IOValue(IO_Type.TrayCheck_LoadMaterial).Equals(IO_VALUE.HIGH)) if (IOManager.IOValue(IO_Type.TrayCheck_LoadMaterial).Equals(IO_VALUE.HIGH))
{ {
StoreMove.NextMoveStep(StoreMoveStep.AUTO_I03_ScanCode); StoreMove.NextMoveStep(StoreMoveStep.AUTO_I03_ScanCode);
LogUtil.info(Name + "入料: 开始扫码,最多等待6000 "); LogUtil.info(Name + "入料: 开始扫码,最多等待10000 ");
StoreMove.OneWaitCanEndStep = true; StoreMove.WaitList.Add(WaitResultInfo.WaitTime(10000));
StoreMove.WaitList.Add(WaitResultInfo.WaitCodeOK()); StoreMove.WaitList.Add(WaitResultInfo.WaitCodeOK());
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(6000)); StoreMove.OneWaitCanEndStep = true;
GetCameraCode(); GetCameraCode();
} }
else else
......
...@@ -346,10 +346,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -346,10 +346,7 @@ namespace OnlineStore.DeviceLibrary
IOManager.IOMove(IO_Type.CameraLight_Power, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.CameraLight_Power, IO_VALUE.HIGH);
string message = ""; string message = "";
List<string> codeList = CodeManager.CameraScan(); List<string> codeList = CodeManager.CameraScan();
if (codeList.Count <= 0)
{
codeList = CodeManager.CameraScan();
}
//需要过滤重复的二维码 //需要过滤重复的二维码
List<string> hasList = new List<string>(); List<string> hasList = new List<string>();
foreach (string str in codeList) foreach (string str in codeList)
...@@ -363,22 +360,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -363,22 +360,18 @@ namespace OnlineStore.DeviceLibrary
} }
LastCodeList = hasList; LastCodeList = hasList;
LastCode = message; LastCode = message;
if (LastCode.Equals("") && (StoreManager.Store.IsDebug )) if (LastCode.Equals("") && (StoreManager.Store.IsDebug))
{ {
LastCode = "NoCode"; LastCode = "NoCode";
LogUtil.info(Name + "模拟二维码:NoCode"); LogUtil.info(Name + "模拟二维码:NoCode");
} }
if (LastCode.Equals("")) if (LastCode.Equals(""))
{ {
StoreManager.Store.CodeOrInoutMsg =ResourceControl.GetString(ResourceControl.InStoreNoCode, "未扫到二维码,需要将料盘送出"); StoreManager.Store.CodeOrInoutMsg = ResourceControl.GetString(ResourceControl.InStoreNoCode, "未扫到二维码,需要将料盘送出");
LogUtil.error("未扫到二维码,需要将料盘送出"); LogUtil.error("未扫到二维码,需要将料盘送出");
} }
else LogUtil.info("扫码结束:" + LastCode);
{
LogUtil.debug("扫到二维码:" + LastCode);
}
IOManager.IOMove(IO_Type.CameraLight_Power, IO_VALUE.LOW); IOManager.IOMove(IO_Type.CameraLight_Power, IO_VALUE.LOW);
// StoreManager.Store.onCodeReceived(message);
}); });
} }
#endregion #endregion
...@@ -664,9 +657,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -664,9 +657,9 @@ namespace OnlineStore.DeviceLibrary
{ {
if (BatchOutStoreCount > 0 && BatchOutStoreHeight > 0) if (BatchOutStoreCount > 0 && BatchOutStoreHeight > 0)
{ {
// BatchDoorOpen(false); BatchDoorOpen(false);
return StartOut(); //return StartOut();
//return ""; return "";
} }
else else
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!