Commit bbf0fa7f LN

扫码增加数量配置。

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