Commit 7871d050 几米阳光

1

1 个父辈 ee28c326
......@@ -875,23 +875,12 @@ namespace OnlineStore.ACSingleStore
{
MessageBox.Show(ResourceCulture.GetString(ResourceCulture.PleaseStartStore, "请先启动料仓!"));
}
}
//private void btnAxisConfig_Click(object sender, EventArgs e)
//{
// FormManager.ShowAxisConfig(store);
//}
}
private void 轴卡点动ToolStripMenuItem_Click(object sender, EventArgs e)
{
button1_Click(null, null);
}
private void 轴运动配置ToolStripMenuItem_Click(object sender, EventArgs e)
{
//FormManager.ShowAxisConfig(store);
}
}
private void 启动ToolStripMenuItem_Click(object sender, EventArgs e)
{
start_button_Click(null, null);
......@@ -920,14 +909,7 @@ namespace OnlineStore.ACSingleStore
{
//this.richTextBox1.Text = "";
LogUtil.ClearLog();
}
private void btnRelMove_Click(object sender, EventArgs e)
{
//int posi = FormUtil.GetIntValue(txtLinePosition);
//ShuoKeControls.RelativeMove(this.store.Config.CompressAxis_Slv, posi);
}
}
private void 料仓运转ONToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Enabled = false;
......@@ -940,12 +922,7 @@ namespace OnlineStore.ACSingleStore
{
store.KNDIOMove(IO_Type.CameraLight_Power, IO_VALUE.HIGH);
string message = "";
//List<string> codeList = HDevelopExport.CameraScan();
//foreach (string str in codeList)
//{
// string code = HDevelopExport.SubStrCode(str);
// message = message + code + "##";
//}
List<string> codeList = CodeManager.CameraScan();
foreach (string str in codeList)
{
......@@ -1020,9 +997,7 @@ namespace OnlineStore.ACSingleStore
this.btnInOutP1.ForeColor = System.Drawing.Color.Green;
this.btnInOutP3.ForeColor = System.Drawing.Color.Green;
this.btnMiddleP1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.btnMiddleP2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.btnMiddleP2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
}
/// <summary>
/// 判断AC伺服电机轴是否运动完成
......@@ -1184,21 +1159,9 @@ namespace OnlineStore.ACSingleStore
{
ExitApp();
}
}
//private void 摄像机调试ToolStripMenuItem_Click(object sender, EventArgs e)
//{
// FrmCamera frm = new FrmCamera(store);
// frm.ShowDialog();
//}
}
private void 学习二维码ToolStripMenuItem_Click(object sender, EventArgs e)
{
//string nameStr = ConfigAppSettings.GetValue(Setting_Init.CameraName);
//string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType);
//HDCodeLearnHelper.LoadConfig(nameStr, codeStr);
//FrmCodeLearn learn = new FrmCodeLearn();
//learn.ShowDialog();
{
store.KNDIOMove(IO_Type.CameraLight_Power, IO_VALUE.HIGH);
string nameStr = ConfigAppSettings.GetValue(Setting_Init.CameraName);
......@@ -1230,17 +1193,10 @@ namespace OnlineStore.ACSingleStore
{
FrmLanguage frm = new FrmLanguage();
frm.ShowDialog();
}
private void 开启DEBUGToolStripMenuItem_Click(object sender, EventArgs e)
{
}
}
private void 清理日志ToolStripMenuItem_Click(object sender, EventArgs e)
{
string str = ResourceCulture.China;
string str = ResourceCulture.China;
ResourceCulture.SetCurrentCulture(str);
ConfigAppSettings.SaveValue(Setting_Init.Default_Language, str);
this.LanguageProcess();
......@@ -1251,17 +1207,36 @@ namespace OnlineStore.ACSingleStore
string str = ResourceCulture.English;
ResourceCulture.SetCurrentCulture(str);
ConfigAppSettings.SaveValue(Setting_Init.Default_Language, str);
this.LanguageProcess();
this.LanguageProcess();
}
private void 德文ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void DebugStatus(bool status)
{
if (status)
{
启用调试ToolStripMenuItem.Text = "禁用调试";
}
else
{
启用调试ToolStripMenuItem.Text = "启用调试";
}
groupAxis.Enabled = status;
groupInout.Enabled = status;
}
private void groupBox5_Enter(object sender, EventArgs e)
{
private void 启用调试ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (启用调试ToolStripMenuItem.Text.Equals("启用调试"))
{
DebugStatus(true);
}
else
{
DebugStatus(false);
}
}
}
......
......@@ -99,9 +99,6 @@
<Content Include="halcon.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\AgrGridLink.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
......
......@@ -85,15 +85,12 @@ namespace OnlineStore.DeviceLibrary
//初始化摄像机配置
string nameStr = ConfigAppSettings.GetValue(Setting_Init.CameraName);
string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType);
//HDevelopExport.LoadConfig(nameStr,codeStr);
CodeManager.LoadConfig(nameStr, codeStr);
//初始化 //连接设备
IOManager.instance.ConnectionKND(Config.DIODeviceNameList);
//scanSocket.OnScanRevice += onCodeReceived;
timersTimer.Enabled = false;
int isAuto = ConfigAppSettings.GetIntValue(Setting_Init.App_AutoRun);
if (isAuto == 1)
......@@ -1050,12 +1047,7 @@ namespace OnlineStore.DeviceLibrary
BusyMoveProcess();
}
else if (storeRunStatus.Equals(StoreRunStatus.Runing))
{
//if (scanSocket.isScannerRun.Equals(false))
//{
// scanSocket.ConnectScanner(Config.Scanner_Ip,Config.Scanner_Port);
//}
{
//判断是否需要出入库
if (StoreMove.MoveType.Equals(StoreMoveType.None)&&alarmType.Equals(StoreAlarmType.None))
{
......@@ -1102,11 +1094,7 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Error(StoreName + "定时处理出错", ex);
}
}
//private void BeginScannering()
//{
// scanSocket.BeginScannering();
//}
private DateTime preIoTimerOutTime = DateTime.Now;
/// <summary>
......
......@@ -761,11 +761,7 @@ namespace OnlineStore.DeviceLibrary
if (storeMoveType.Equals(StoreMoveType.InStore))
{
int newIndex = autoPositionIndex ;
//int newIndex = autoPositionIndex - 1;
//if (autoJiange == 0)
//{
// newIndex = autoPositionIndex;
//}
if (newIndex < 0)
{
if (AutoStartIndex >= 0 && AutoStartIndex < PositionNumList.Count)
......
......@@ -6,14 +6,15 @@ using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Text;
using System.Windows.Forms;
namespace OnlineStore.DeviceLibrary
{
public class CodeManager
public class CodeManager
{
public static List<string> cameraNameList = new List<string>();
public static List<string> codeTypeList = new List<string>();
......@@ -31,7 +32,7 @@ namespace OnlineStore.DeviceLibrary
cameraNameList = new List<string>();
codeTypeList = new List<string>();
try
{
{
string[] nameArray = nameStr.Split(spiltChar);
foreach (string str in nameArray)
{
......@@ -45,31 +46,40 @@ namespace OnlineStore.DeviceLibrary
codeTypeList.Add(str.Trim());
}
string[] names = CodeLibrary.HIKCamera.Instance.CameraName;
hikNameList.AddRange(names);
names = CodeLibrary.BaslerCamera.Instance.CameraName;
balserNameList.AddRange(names);
foreach (string name in hikNameList)
{
LogUtil.info("加载到HIK相机:" + name);
}
foreach (string name in balserNameList)
{
LogUtil.info("加载到Balser相机:" + name);
}
LoadCamera();
CodeLibrary.HDCodeLearnHelper.LoadConfig(nameStr, codeStr);
}
catch (Exception ex)
{
LogUtil.error("解析摄像机配置出错:" + ex.ToString());
}
}
}
private static void LoadCamera()
{
string[] names = CodeLibrary.HIKCamera.Instance.CameraName;
hikNameList.AddRange(names);
names = CodeLibrary.BaslerCamera.Instance.CameraName;
balserNameList.AddRange(names);
foreach (string name in hikNameList)
{
LogUtil.info("加载到HIK相机:" + name);
}
foreach (string name in balserNameList)
{
LogUtil.info("加载到Balser相机:" + name);
}
}
public static Bitmap GetCamerImage(string cameraName)
{
Bitmap bitm = null;
//若未加载到相机,需要重新加载相机
if (balserNameList.Count <= 0 && hikNameList.Count <= 0)
{
LogUtil.error("获取图片时发现未加载到相机,重新加载相机");
LoadCamera();
}
if (balserNameList.Contains(cameraName))
{
BaslerCamera.Instance.Open(cameraName);
......@@ -77,7 +87,7 @@ namespace OnlineStore.DeviceLibrary
bitm = BaslerCamera.Instance.Image;
BaslerCamera.Instance.Close();
}
else if(hikNameList.Contains(cameraName))
else if (hikNameList.Contains(cameraName))
{
HIKCamera.Instance.Open(cameraName);
HIKCamera.Instance.GrabOne();
......@@ -86,12 +96,13 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil.info("未找到摄像机【"+cameraName+"】无法获取图片");
LogUtil.info("未找到摄像机【" + cameraName + "】无法获取图片");
}
return bitm;
}
public static List<string> CameraScan( )
[HandleProcessCorruptedStateExceptions]
public static List<string> CameraScan()
{
List<string> codeList = new List<string>();
List<CodeInfo> allCodeList = new List<CodeInfo>();
......@@ -100,34 +111,52 @@ namespace OnlineStore.DeviceLibrary
{
foreach (string cameraName in cameraNameList)
{
Bitmap bitmap = GetCamerImage(cameraName);
if (bitmap == null)
{
LogUtil.info(" 摄像机【" + cameraName + "】获取图片失败");
}
else
using (Bitmap bitmap = GetCamerImage(cameraName))
{
if (bitmap == null)
{
LogUtil.info(" 摄像机【" + cameraName + "】获取图片失败");
continue;
}
LogUtil.debug(" 摄像机【" + cameraName + "】获取图片完成");
System.Threading.Thread.Sleep(1);
HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap);
LogUtil.debug(" 摄像机【" + cameraName + "】转换图片完成,开始扫码");
List<CodeInfo> cc = new List<CodeInfo>();
foreach (string codeType in codeTypeList)
{
cc = HDCodeHelper.DecodeCode(ho_Image, 1, GetCodeParamFilePath(codeType), codeType);
//判断是否是一维码
if (codeType.ToLower().Equals("barcode"))
{
cc = HDCodeHelper.DecodeBarCode(ho_Image);
}
else
{
cc = HDCodeHelper.DecodeCode(ho_Image, 1, GetCodeParamFilePath(codeType), codeType);
}
//LogUtil.info(" 摄像机【" + cameraName + "】【"+ codeType + "】扫码完成");
allCodeList.AddRange(cc);
}
allCodeList.AddRange(cc);
}
}
}
catch (AccessViolationException e)
{
LogUtil.error("扫码出现AccessViolationException异常:" + e.ToString());
GC.Collect();
}
catch (Exception ex)
{
LogUtil.error("扫码出错:" + ex.ToString());
}
foreach(CodeInfo info in allCodeList)
foreach (CodeInfo info in allCodeList)
{
codeList.Add(info.CodeStr);
}
return codeList;
}
public static string GetCodeParamFilePath(string codePath)
{
......@@ -142,7 +171,7 @@ namespace OnlineStore.DeviceLibrary
{
return "";
}
}
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!