Commit f72c9764 LN

界面调整

1 个父辈 4dfa6eca
......@@ -6,12 +6,12 @@
<appSettings>
<!--是否开机自动启动料仓-->
<add key="App_AutoRun" value="1"/>
<add key="App_Title" value="包装料料仓"/>
<add key="App_Title" value="包装料料仓"/>
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<add key="StartBlowValue" value="4"/>
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<add key="StopBlowValue" value="4"/>
<!--Server address-->
<!--Server address-->
<add key="http.server" value="http://192.168.101.11/myproject/" />
<!--storeType-->
<add key="store_count" value="2"/>
......@@ -31,22 +31,23 @@
<!--二维码类型列表配置,用#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<add key="CodeType" value="QR Code" />
<!--出库等待料盘拿走的时间,秒-->
<add key="OutStoreWaitSeconds" value="10"/>
<add key="OutStoreWaitSeconds" value="10"/>
<!--温控器类型,0=壁挂王字壳温湿度变送器,1=妙昕温湿度记录仪-->
<add key="HumitureControllerType" value="0"/>
<add key="UseAIOBOX" value="1"/>
<add key ="DIMS" value ="120"/>
<add key ="DIMS" value ="60"/>
<add key ="DOMS" value ="300"/>
<!--流水线地址和端口配置-->
<add key ="LineServerIp" value ="192.168.101.11"/>
<add key ="LineServerPort" value ="5246"/>
<!--是否调试状态-->
<add key ="IsInDebug" value ="1"/>
<add key ="UseBuzzer" value ="1"/>
<add key ="UseBuzzer" value ="1"/>
<!--IO模块是否主动上传-->
<add key ="AIOAutoUpload" value ="1"/>
<add key ="AIOAutoUpload" value ="0"/>
<!--AGV调度服务器地址-->
<add key="AgvServerIp" value="192.168.103.22" />
<add key ="CodeCount" value ="1"/>
</appSettings>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
......
......@@ -147,22 +147,7 @@ namespace OnlineStore.ACPackingStore
LoadOk = true;
}
lblTemp.Text = BoxBean.humBean.currTempStr;
lblWarnMsg.Text = BoxBean.WarnMsg;
if (BoxBean.IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW))
{
lblWarnMsg.Text = lblWarnMsg.Text + " 前门未关";
}
if (BoxBean.IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW))
{
lblWarnMsg.Text = lblWarnMsg.Text + " 无门禁信号,请检查";
}
if (BoxBean.humBean.TempOrHumidityIsAlarm)
{
lblWarnMsg.Text = lblWarnMsg.Text + " 温湿度报警[" + BoxBean.humBean.TempAlarmTime.ToLongTimeString() + "]";
}
if (lblWarnMsg.Text.Equals(""))
{
}
lblWarnMsg.Text = BoxBean.GetWarnMsg();
//ReadPosistion();
if (BoxBean.storeRunStatus > StoreRunStatus.Wait)
......
......@@ -181,7 +181,7 @@
this.lblWarnMsg.ForeColor = System.Drawing.Color.Red;
this.lblWarnMsg.Location = new System.Drawing.Point(281, 4);
this.lblWarnMsg.Name = "lblWarnMsg";
this.lblWarnMsg.Size = new System.Drawing.Size(1045, 69);
this.lblWarnMsg.Size = new System.Drawing.Size(1062, 69);
this.lblWarnMsg.TabIndex = 96;
this.lblWarnMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
......
......@@ -56,6 +56,8 @@ namespace OnlineStore.ACPackingStore
// LogUtil.logBox = this.logBox;
// HideForm();
LoadOk = true;
this.timer1.Start();
}
......@@ -127,10 +129,8 @@ namespace OnlineStore.ACPackingStore
IOManager.instance.CloseAllDO();
IOManager.instance.CloseAllConnection();
HumitureController.CloseAllPort();
//AIManager.CloseConnect();
ACServerManager.CloseAllPort();
CodeManager.CloseAllCamera();
HumitureController.CloseAllPort();
ACServerManager.CloseAllPort();
//this.Close();
System.Environment.Exit(System.Environment.ExitCode);
}
......@@ -170,7 +170,6 @@ namespace OnlineStore.ACPackingStore
startTimer.Interval = 1;
startTimer.Elapsed += timer_Elapsed;
startTimer.Enabled = true;
this.timer1.Start();
}
private delegate void ShowFormDelegate();
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
......@@ -272,7 +271,16 @@ namespace OnlineStore.ACPackingStore
{
return;
}
string msg = "";
foreach(AC_BOX_Bean box in StoreManager.Store.BoxMap.Values)
{
string s = box.GetWarnMsg();
if (!s.Equals(""))
{
msg += box.Name+":"+s+ "\r" ;
}
}
lblWarnMsg.Text = msg;
}
private void chbAutoRun_CheckedChanged(object sender, EventArgs e)
......
......@@ -99,5 +99,6 @@ namespace OnlineStore.Common
public static string Tool_TargetPosition = "Tool_TargetPosition";
public static string AgvServerIp = "AgvServerIp";
public static string CodeCount = "CodeCount";
}
}
......@@ -188,6 +188,25 @@ namespace OnlineStore.DeviceLibrary
}
}
public string GetWarnMsg()
{
string msg= WarnMsg;
//if (IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW))
//{
// msg = msg + " 前门未关";
//}
if (IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW))
{
msg = msg + " 无门禁信号";
}
if (humBean.TempOrHumidityIsAlarm)
{
msg = msg + " 温湿度报警[" + humBean.TempAlarmTime.ToLongTimeString() + "]";
}
return msg;
}
#region 原点返回和复位处理
private void ReturnHome()
......
......@@ -129,6 +129,6 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
,,,,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,CameraName,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,#,,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.106.101,,,,,,,
PRO,是否是调试状态,IsInDebug,1,,,,,,,
......@@ -128,7 +128,7 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
,,,,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,CameraName,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,#,,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.106.102,,,,,,,
PRO,是否是调试状态,IsInDebug,1,,,,,,,
......@@ -7,15 +7,14 @@ using System.IO;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.DeviceLibrary
{
public class CodeManager
{
public class CodeManager
{
public static List<string> codeTypeList = new List<string>();
public static List<string> balserNameList = new List<string>();
public static List<string> hikNameList = new List<string>();
......@@ -56,7 +55,7 @@ namespace OnlineStore.DeviceLibrary
{
try
{
CodeLibrary.HIKCManager.Load();
CodeLibrary.HIKCamera.Instance.Load();
}
catch (Exception ex)
{
......@@ -64,14 +63,14 @@ namespace OnlineStore.DeviceLibrary
}
try
{
CodeLibrary.BaslerCManager.Load();
CodeLibrary.BaslerCamera.Instance.Load();
}
catch (Exception ex)
{
LogUtil.error("加载Basler相机出错:" + ex.ToString());
}
}
string[] names = CodeLibrary.HIKCManager.CameraName;
string[] names = CodeLibrary.HIKCamera.Instance.CameraName;
if (names != null)
......@@ -82,7 +81,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info("加载到HIK相机:" + name);
}
}
names = CodeLibrary.BaslerCManager.CameraName;
names = CodeLibrary.BaslerCamera.Instance.CameraName;
if (names != null)
{
balserNameList.AddRange(names);
......@@ -92,29 +91,10 @@ namespace OnlineStore.DeviceLibrary
}
}
}
public static void CloseCamera(string name)
{
try
{
//BaslerCamera.Instance.Close();
//HIKCamera.Instance.Close();
if (HIKCManager.CameraName.Contains(name))
{
HIKCManager.Close(name);
}
else
{
BaslerCManager.Close(name);
}
}catch(Exception ex)
{
LogUtil.error("CloseCamera[" + name + "]出错:" + ex.ToString());
}
}
public static void CloseAllCamera()
public static void CloseCamera()
{
HIKCManager.CloseAll();
BaslerCManager.CloseAll();
BaslerCamera.Instance.Close();
HIKCamera.Instance.Close();
}
public static Bitmap GetCamerImage(string cameraName)
......@@ -124,15 +104,13 @@ namespace OnlineStore.DeviceLibrary
{
if (balserNameList.Contains(cameraName))
{
bool result = true;
if (!BaslerCManager.IsOpen(cameraName))
{
result = BaslerCManager.Open(cameraName);
}
bool result = BaslerCamera.Instance.Open(cameraName);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
if (result)
{
bitm = BaslerCManager.GrabOne(cameraName);
BaslerCamera.Instance.GrabOne();
bitm = BaslerCamera.Instance.Image;
BaslerCamera.Instance.Close();
}
else
{
......@@ -141,16 +119,13 @@ namespace OnlineStore.DeviceLibrary
}
else if (hikNameList.Contains(cameraName))
{
bool result = true;
if (!HIKCManager.IsOpen(cameraName))
{
result = HIKCManager.Open(cameraName);
}
bool result = HIKCamera.Instance.Open(cameraName);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
if (result)
{
bitm = HIKCManager.GrabOne(cameraName);
HIKCamera.Instance.GrabOne();
bitm = HIKCamera.Instance.Image;
HIKCamera.Instance.Close();
}
else
{
......@@ -174,57 +149,66 @@ namespace OnlineStore.DeviceLibrary
}
return bitm;
}
private static int codeCount = ConfigAppSettings.GetIntValue(Setting_Init.CodeCount);
[HandleProcessCorruptedStateExceptions]
public static List<string> CameraScan(List<string> cameraNameList)
public static List<string> CameraScan(List<string> cameraList = null)
{
if (codeCount < 1)
{
codeCount = 1;
}
List<string> codeList = new List<string>();
//List<CodeInfo> allCodeList = new List<CodeInfo>();
if (cameraList == null || cameraList.Count <= 0)
{
return codeList;
}
try
{
List<Task<List<CodeInfo>>> taskList = new List<Task<List<CodeInfo>>>();
foreach (string cameraName in cameraNameList)
foreach (string cameraName in cameraList)
{
Task.Factory.StartNew(delegate ()
if (cameraName.Trim().Equals(""))
{
continue;
}
using (Bitmap bitmap = GetCamerImage(cameraName))
{
using (Bitmap bitmap = GetCamerImage(cameraName))
if (bitmap == null)
{
LogUtil.error(" 摄像机【" + cameraName + "】获取图片失败,关闭相机");
CloseCamera();
continue;
}
LogUtil.debug(" 摄像机【" + cameraName + "】获取图片完成");
System.Threading.Thread.Sleep(1);
HalconDotNet.HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap);
LogUtil.debug(" 摄像机【" + cameraName + "】转换图片完成,开始扫码");
List<CodeInfo> cc = new List<CodeInfo>();
foreach (string codeType in codeTypeList)
{
if (bitmap == null)
//判断是否是一维码
if (codeType.ToLower().Equals("barcode"))
{
LogUtil.error(" 摄像机【" + cameraName + "】获取图片失败,关闭相机");
CloseCamera(cameraName);
return;
cc = HDCodeHelper.DecodeBarCode(ho_Image);
}
LogUtil.debug(" 摄像机【" + cameraName + "】获取图片完成");
System.Threading.Thread.Sleep(1);
HalconDotNet.HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap);
LogUtil.debug(" 摄像机【" + cameraName + "】转换图片完成,开始扫码");
List<CodeInfo> cc = new List<CodeInfo>();
foreach (string codeType in codeTypeList)
else
{
Task<List<CodeInfo>> typeDeCode = Task.Factory.StartNew(delegate ()
{
return DeCode(ho_Image, codeType);
});
taskList.Add(typeDeCode);
cc = HDCodeHelper.DecodeCode(ho_Image, codeCount, GetCodeParamFilePath(codeType), codeType);
}
}
});
}
Task.WaitAll(taskList.ToArray());
foreach (Task<List<CodeInfo>> t in taskList)
{
List<CodeInfo> cc = t.Result;
if (cc.Count > 0)
{
string r = "";
foreach (CodeInfo c in cc)
{
codeList.Add(c.CodeStr);
r = r + "##" + c.CodeStr;
//if (cc.Count > 0)
//{
string r = "";
foreach (CodeInfo c in cc)
{
codeList.Add(c.CodeStr);
r = r + "##" + c.CodeStr;
}
LogUtil.info(" 【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
//}
}
bitmap.Dispose();
}
}
}
......@@ -240,30 +224,6 @@ namespace OnlineStore.DeviceLibrary
return codeList;
}
private static List<CodeInfo> DeCode(HalconDotNet.HObject ho_Image, string codeType)
{
List<CodeInfo> cc = new List<CodeInfo>();
//判断是否是一维码
if (codeType.ToLower().Equals("barcode"))
{
cc = HDCodeHelper.DecodeBarCode(ho_Image);
}
else
{
cc = HDCodeHelper.DecodeCode(ho_Image, 1, GetCodeParamFilePath(codeType), codeType);
}
//if (cc.Count > 0)
//{
// string r = "";
// foreach (CodeInfo c in cc)
// {
// codeList.Add(c.CodeStr);
// r = r + "##" + c.CodeStr;
// }
// LogUtil.debug(" 【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
//}
return cc;
}
public static string GetCodeParamFilePath(string codePath)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!