Commit 856fa861 刘韬

一些bug修正

1 个父辈 81789272
正在显示 25 个修改的文件 包含 622 行增加137 行删除
...@@ -510,7 +510,7 @@ namespace OnlineStore.AutoCountClient ...@@ -510,7 +510,7 @@ namespace OnlineStore.AutoCountClient
{ {
equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH); equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
List<string> LastCodeList = CodeManager.CameraScan(equipBean.Name+"测试",equipBean.Config.LeftCamera ); List<string> LastCodeList = CodeManager.CameraScan(equipBean.Name+"测试",equipBean.Config.LeftCamera );
string msg = CodeManager.GetValidCode(LastCodeList); string msg = CodeManager.GetValidCode(LastCodeList,out _);
equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW); equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
LogUtil.info(equipBean.Name + "[" + equipBean.Config.LeftCamera + "]扫码测试结果:\r\n" + msg); LogUtil.info(equipBean.Name + "[" + equipBean.Config.LeftCamera + "]扫码测试结果:\r\n" + msg);
MessageBox.Show(equipBean.Name + "[" + equipBean.Config.LeftCamera + "]扫码测试结果:" + msg); MessageBox.Show(equipBean.Name + "[" + equipBean.Config.LeftCamera + "]扫码测试结果:" + msg);
...@@ -645,7 +645,7 @@ namespace OnlineStore.AutoCountClient ...@@ -645,7 +645,7 @@ namespace OnlineStore.AutoCountClient
{ {
equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH); equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
List<string> LastCodeList = CodeManager.CameraScan(equipBean.Name+"测试",equipBean.Config.RightCamera ); List<string> LastCodeList = CodeManager.CameraScan(equipBean.Name+"测试",equipBean.Config.RightCamera );
string msg = CodeManager.GetValidCode(LastCodeList); string msg = CodeManager.GetValidCode(LastCodeList,out _);
equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW); equipBean.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
LogUtil.info(equipBean.Name + "[" + equipBean.Config.RightCamera + "]扫码测试结果:\r\n" + msg); LogUtil.info(equipBean.Name + "[" + equipBean.Config.RightCamera + "]扫码测试结果:\r\n" + msg);
MessageBox.Show(equipBean.Name + "[" + equipBean.Config.RightCamera + "]扫码测试结果:" + msg); MessageBox.Show(equipBean.Name + "[" + equipBean.Config.RightCamera + "]扫码测试结果:" + msg);
......
...@@ -107,7 +107,7 @@ namespace OnlineStore.AutoCountClient ...@@ -107,7 +107,7 @@ namespace OnlineStore.AutoCountClient
string filename = Path.GetFileNameWithoutExtension(fullFName); string filename = Path.GetFileNameWithoutExtension(fullFName);
string[] array = filename.Split('-'); string[] array = filename.Split(new char[] { '-', ';' });
CurrPN = array[0]; CurrPN = array[0];
groupBox4.Text = "[" + CurrPN + "] 请选择参数:"; groupBox4.Text = "[" + CurrPN + "] 请选择参数:";
......
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage3 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage();
this.groupBox6 = new System.Windows.Forms.GroupBox(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.chbStickingPos = new System.Windows.Forms.CheckBox();
this.btnShelfReset = new System.Windows.Forms.Button(); this.btnShelfReset = new System.Windows.Forms.Button();
this.btnLabelReset = new System.Windows.Forms.Button(); this.btnLabelReset = new System.Windows.Forms.Button();
this.btnMoveReset = new System.Windows.Forms.Button(); this.btnMoveReset = new System.Windows.Forms.Button();
...@@ -157,7 +158,7 @@ ...@@ -157,7 +158,7 @@
this.lblName = new System.Windows.Forms.Label(); this.lblName = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.chbMoveStop = new System.Windows.Forms.CheckBox(); this.chbMoveStop = new System.Windows.Forms.CheckBox();
this.chbStickingPos = new System.Windows.Forms.CheckBox(); this.button1 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
...@@ -799,6 +800,7 @@ ...@@ -799,6 +800,7 @@
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox6.Controls.Add(this.chbStickingPos); this.groupBox6.Controls.Add(this.chbStickingPos);
this.groupBox6.Controls.Add(this.btnShelfReset); this.groupBox6.Controls.Add(this.btnShelfReset);
this.groupBox6.Controls.Add(this.button1);
this.groupBox6.Controls.Add(this.btnLabelReset); this.groupBox6.Controls.Add(this.btnLabelReset);
this.groupBox6.Controls.Add(this.btnMoveReset); this.groupBox6.Controls.Add(this.btnMoveReset);
this.groupBox6.Controls.Add(this.lblAgvInfo); this.groupBox6.Controls.Add(this.lblAgvInfo);
...@@ -823,6 +825,18 @@ ...@@ -823,6 +825,18 @@
this.groupBox6.TabStop = false; this.groupBox6.TabStop = false;
this.groupBox6.Text = "消息"; this.groupBox6.Text = "消息";
// //
// chbStickingPos
//
this.chbStickingPos.AutoSize = true;
this.chbStickingPos.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbStickingPos.Location = new System.Drawing.Point(793, 70);
this.chbStickingPos.Name = "chbStickingPos";
this.chbStickingPos.Size = new System.Drawing.Size(140, 24);
this.chbStickingPos.TabIndex = 304;
this.chbStickingPos.Text = "启用标签位置判断";
this.chbStickingPos.UseVisualStyleBackColor = true;
this.chbStickingPos.CheckedChanged += new System.EventHandler(this.chbStickingPos_CheckedChanged);
//
// btnShelfReset // btnShelfReset
// //
this.btnShelfReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnShelfReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
...@@ -2163,17 +2177,19 @@ ...@@ -2163,17 +2177,19 @@
this.chbMoveStop.UseVisualStyleBackColor = true; this.chbMoveStop.UseVisualStyleBackColor = true;
this.chbMoveStop.CheckedChanged += new System.EventHandler(this.chbMoveStop_CheckedChanged); this.chbMoveStop.CheckedChanged += new System.EventHandler(this.chbMoveStop_CheckedChanged);
// //
// chbStickingPos // button1
// //
this.chbStickingPos.AutoSize = true; this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chbStickingPos.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.button1.BackColor = System.Drawing.Color.White;
this.chbStickingPos.Location = new System.Drawing.Point(793, 70); this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.chbStickingPos.Name = "chbStickingPos"; this.button1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbStickingPos.Size = new System.Drawing.Size(140, 24); this.button1.Location = new System.Drawing.Point(1142, 108);
this.chbStickingPos.TabIndex = 304; this.button1.Name = "button1";
this.chbStickingPos.Text = "启用标签位置判断"; this.button1.Size = new System.Drawing.Size(126, 40);
this.chbStickingPos.UseVisualStyleBackColor = true; this.button1.TabIndex = 302;
this.chbStickingPos.CheckedChanged += new System.EventHandler(this.chbStickingPos_CheckedChanged); this.button1.Text = "复位打印机状态";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
// //
// FrmOutputEquip // FrmOutputEquip
// //
...@@ -2358,6 +2374,7 @@ ...@@ -2358,6 +2374,7 @@
internal System.Windows.Forms.TextBox txtYP4; internal System.Windows.Forms.TextBox txtYP4;
private System.Windows.Forms.Button btnBsave2; private System.Windows.Forms.Button btnBsave2;
private System.Windows.Forms.CheckBox chbStickingPos; private System.Windows.Forms.CheckBox chbStickingPos;
private System.Windows.Forms.Button button1;
} }
} }
...@@ -422,7 +422,7 @@ namespace OnlineStore.AutoCountClient ...@@ -422,7 +422,7 @@ namespace OnlineStore.AutoCountClient
txtMZP2.Text = equipBean.Config.GetMoveZP2(size).ToString(); txtMZP2.Text = equipBean.Config.GetMoveZP2(size).ToString();
txtMZP3.Text = equipBean.Config.GetMoveZP3(size).ToString(); txtMZP3.Text = equipBean.Config.GetMoveZP3(size).ToString();
btnMZP2.Text = "取料Z轴-取料点P2-" + size + "mm"; btnMZP2.Text = "取料Z轴-取料点P2-" + size + "mm";
btnMZP3.Text = "取料Z轴-料点P3-" + size + "mm"; btnMZP3.Text = "取料Z轴-料点P3-" + size + "mm";
} }
private void btnOpenAllAxis_Click(object sender, EventArgs e) private void btnOpenAllAxis_Click(object sender, EventArgs e)
...@@ -846,6 +846,10 @@ namespace OnlineStore.AutoCountClient ...@@ -846,6 +846,10 @@ namespace OnlineStore.AutoCountClient
} }
} }
private void button1_Click(object sender, EventArgs e)
{
RobotManager.LastPrintStatus = Asa.PrintLabel.PrinterStatus.Idle;
}
} }
} }
......
...@@ -91,6 +91,7 @@ ...@@ -91,6 +91,7 @@
this.启用贴标功能ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.启用贴标功能ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.lblXrayWork = new System.Windows.Forms.Label(); this.lblXrayWork = new System.Windows.Forms.Label();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.CB_lookboard = new System.Windows.Forms.CheckBox();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.panWork.SuspendLayout(); this.panWork.SuspendLayout();
...@@ -367,7 +368,7 @@ ...@@ -367,7 +368,7 @@
this.批量ToolStripMenuItem, this.批量ToolStripMenuItem,
this.单盘ToolStripMenuItem}); this.单盘ToolStripMenuItem});
this.元器件学习ToolStripMenuItem.Name = "元器件学习ToolStripMenuItem"; this.元器件学习ToolStripMenuItem.Name = "元器件学习ToolStripMenuItem";
this.元器件学习ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.元器件学习ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
this.元器件学习ToolStripMenuItem.Text = "元器件学习"; this.元器件学习ToolStripMenuItem.Text = "元器件学习";
this.元器件学习ToolStripMenuItem.Click += new System.EventHandler(this.元器件学习ToolStripMenuItem_Click); this.元器件学习ToolStripMenuItem.Click += new System.EventHandler(this.元器件学习ToolStripMenuItem_Click);
// //
...@@ -388,24 +389,24 @@ ...@@ -388,24 +389,24 @@
// toolStripSeparator17 // toolStripSeparator17
// //
this.toolStripSeparator17.Name = "toolStripSeparator17"; this.toolStripSeparator17.Name = "toolStripSeparator17";
this.toolStripSeparator17.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator17.Size = new System.Drawing.Size(157, 6);
// //
// 二维码学习ToolStripMenuItem // 二维码学习ToolStripMenuItem
// //
this.二维码学习ToolStripMenuItem.Name = "二维码学习ToolStripMenuItem"; this.二维码学习ToolStripMenuItem.Name = "二维码学习ToolStripMenuItem";
this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
this.二维码学习ToolStripMenuItem.Text = "二维码学习"; this.二维码学习ToolStripMenuItem.Text = "二维码学习";
this.二维码学习ToolStripMenuItem.Click += new System.EventHandler(this.二维码学习ToolStripMenuItem_Click); this.二维码学习ToolStripMenuItem.Click += new System.EventHandler(this.二维码学习ToolStripMenuItem_Click);
// //
// toolStripSeparator7 // toolStripSeparator7
// //
this.toolStripSeparator7.Name = "toolStripSeparator7"; this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator7.Size = new System.Drawing.Size(157, 6);
// //
// toolStripMenuItem2 // toolStripMenuItem2
// //
this.toolStripMenuItem2.Name = "toolStripMenuItem2"; this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 26); this.toolStripMenuItem2.Size = new System.Drawing.Size(160, 26);
this.toolStripMenuItem2.Text = "AGV调试"; this.toolStripMenuItem2.Text = "AGV调试";
this.toolStripMenuItem2.Visible = false; this.toolStripMenuItem2.Visible = false;
this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click);
...@@ -413,13 +414,13 @@ ...@@ -413,13 +414,13 @@
// toolStripSeparator6 // toolStripSeparator6
// //
this.toolStripSeparator6.Name = "toolStripSeparator6"; this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator6.Size = new System.Drawing.Size(157, 6);
this.toolStripSeparator6.Visible = false; this.toolStripSeparator6.Visible = false;
// //
// 标签编辑ToolStripMenuItem // 标签编辑ToolStripMenuItem
// //
this.标签编辑ToolStripMenuItem.Name = "标签编辑ToolStripMenuItem"; this.标签编辑ToolStripMenuItem.Name = "标签编辑ToolStripMenuItem";
this.标签编辑ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.标签编辑ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
this.标签编辑ToolStripMenuItem.Text = "标签编辑"; this.标签编辑ToolStripMenuItem.Text = "标签编辑";
this.标签编辑ToolStripMenuItem.Click += new System.EventHandler(this.标签编辑ToolStripMenuItem_Click); this.标签编辑ToolStripMenuItem.Click += new System.EventHandler(this.标签编辑ToolStripMenuItem_Click);
// //
...@@ -442,19 +443,19 @@ ...@@ -442,19 +443,19 @@
// toolStripMenuItem3 // toolStripMenuItem3
// //
this.toolStripMenuItem3.Name = "toolStripMenuItem3"; this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 26); this.toolStripMenuItem3.Size = new System.Drawing.Size(144, 26);
this.toolStripMenuItem3.Text = "历史记录"; this.toolStripMenuItem3.Text = "历史记录";
this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click);
// //
// toolStripSeparator5 // toolStripSeparator5
// //
this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator5.Size = new System.Drawing.Size(141, 6);
// //
// 元器件库ToolStripMenuItem // 元器件库ToolStripMenuItem
// //
this.元器件库ToolStripMenuItem.Name = "元器件库ToolStripMenuItem"; this.元器件库ToolStripMenuItem.Name = "元器件库ToolStripMenuItem";
this.元器件库ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.元器件库ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.元器件库ToolStripMenuItem.Text = "元器件库"; this.元器件库ToolStripMenuItem.Text = "元器件库";
this.元器件库ToolStripMenuItem.Visible = false; this.元器件库ToolStripMenuItem.Visible = false;
this.元器件库ToolStripMenuItem.Click += new System.EventHandler(this.元器件库ToolStripMenuItem_Click); this.元器件库ToolStripMenuItem.Click += new System.EventHandler(this.元器件库ToolStripMenuItem_Click);
...@@ -462,37 +463,37 @@ ...@@ -462,37 +463,37 @@
// toolStripSeparator16 // toolStripSeparator16
// //
this.toolStripSeparator16.Name = "toolStripSeparator16"; this.toolStripSeparator16.Name = "toolStripSeparator16";
this.toolStripSeparator16.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator16.Size = new System.Drawing.Size(141, 6);
this.toolStripSeparator16.Visible = false; this.toolStripSeparator16.Visible = false;
// //
// 清空日志ToolStripMenuItem // 清空日志ToolStripMenuItem
// //
this.清空日志ToolStripMenuItem.Name = "清空日志ToolStripMenuItem"; this.清空日志ToolStripMenuItem.Name = "清空日志ToolStripMenuItem";
this.清空日志ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.清空日志ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.清空日志ToolStripMenuItem.Text = "清空日志"; this.清空日志ToolStripMenuItem.Text = "清空日志";
this.清空日志ToolStripMenuItem.Click += new System.EventHandler(this.清空日志ToolStripMenuItem_Click); this.清空日志ToolStripMenuItem.Click += new System.EventHandler(this.清空日志ToolStripMenuItem_Click);
// //
// toolStripSeparator10 // toolStripSeparator10
// //
this.toolStripSeparator10.Name = "toolStripSeparator10"; this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator10.Size = new System.Drawing.Size(141, 6);
// //
// 复制日志ToolStripMenuItem // 复制日志ToolStripMenuItem
// //
this.复制日志ToolStripMenuItem.Name = "复制日志ToolStripMenuItem"; this.复制日志ToolStripMenuItem.Name = "复制日志ToolStripMenuItem";
this.复制日志ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.复制日志ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.复制日志ToolStripMenuItem.Text = "复制日志"; this.复制日志ToolStripMenuItem.Text = "复制日志";
this.复制日志ToolStripMenuItem.Click += new System.EventHandler(this.复制日志ToolStripMenuItem_Click); this.复制日志ToolStripMenuItem.Click += new System.EventHandler(this.复制日志ToolStripMenuItem_Click);
// //
// toolStripSeparator11 // toolStripSeparator11
// //
this.toolStripSeparator11.Name = "toolStripSeparator11"; this.toolStripSeparator11.Name = "toolStripSeparator11";
this.toolStripSeparator11.Size = new System.Drawing.Size(177, 6); this.toolStripSeparator11.Size = new System.Drawing.Size(141, 6);
// //
// 版本号ToolStripMenuItem // 版本号ToolStripMenuItem
// //
this.版本号ToolStripMenuItem.Name = "版本号ToolStripMenuItem"; this.版本号ToolStripMenuItem.Name = "版本号ToolStripMenuItem";
this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(180, 26); this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.版本号ToolStripMenuItem.Text = "关于软件"; this.版本号ToolStripMenuItem.Text = "关于软件";
this.版本号ToolStripMenuItem.Click += new System.EventHandler(this.版本号ToolStripMenuItem_Click); this.版本号ToolStripMenuItem.Click += new System.EventHandler(this.版本号ToolStripMenuItem_Click);
// //
...@@ -609,11 +610,24 @@ ...@@ -609,11 +610,24 @@
this.lblXrayWork.Text = "警告:点料过程中,请勿开门"; this.lblXrayWork.Text = "警告:点料过程中,请勿开门";
this.lblXrayWork.Visible = false; this.lblXrayWork.Visible = false;
// //
// CB_lookboard
//
this.CB_lookboard.AutoSize = true;
this.CB_lookboard.Checked = true;
this.CB_lookboard.CheckState = System.Windows.Forms.CheckState.Checked;
this.CB_lookboard.Location = new System.Drawing.Point(1190, 5);
this.CB_lookboard.Name = "CB_lookboard";
this.CB_lookboard.Size = new System.Drawing.Size(154, 24);
this.CB_lookboard.TabIndex = 198;
this.CB_lookboard.Text = "提交错误信息到看板";
this.CB_lookboard.UseVisualStyleBackColor = true;
//
// FrmRobotMain // FrmRobotMain
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1350, 729); this.ClientSize = new System.Drawing.Size(1350, 729);
this.Controls.Add(this.CB_lookboard);
this.Controls.Add(this.lblWarnMsg); this.Controls.Add(this.lblWarnMsg);
this.Controls.Add(this.lblXrayWork); this.Controls.Add(this.lblXrayWork);
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
...@@ -706,6 +720,7 @@ ...@@ -706,6 +720,7 @@
private System.Windows.Forms.ToolStripMenuItem 启用贴标功能ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 启用贴标功能ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 批量ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 批量ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 单盘ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 单盘ToolStripMenuItem;
private System.Windows.Forms.CheckBox CB_lookboard;
} }
} }
...@@ -473,13 +473,14 @@ namespace OnlineStore.AutoCountClient ...@@ -473,13 +473,14 @@ namespace OnlineStore.AutoCountClient
LogUtil.error("LogM Error: ", ex); LogUtil.error("LogM Error: ", ex);
} }
} }
private string AddMsg(string msg, string warmsg, AlarmType alarmType, DateTime lastTime) private string AddMsg(string msg, string warmsg, AlarmType alarmType, DateTime lastTime, string modulename = "", string moduleid = "")
{ {
if (warmsg.Equals("").Equals(false)) if (warmsg.Equals("").Equals(false))
{ {
if (alarmType.Equals(AlarmType.None).Equals(false)) if (alarmType.Equals(AlarmType.None).Equals(false))
{ {
msg += lastTime.ToLongTimeString() + " " + warmsg + "\r\n"; msg += lastTime.ToLongTimeString() + " " + warmsg + "\r\n";
msglist.Add(new AlarmMsg(modulename, "doubleLine."+ moduleid, warmsg));
} }
else else
{ {
...@@ -488,6 +489,7 @@ namespace OnlineStore.AutoCountClient ...@@ -488,6 +489,7 @@ namespace OnlineStore.AutoCountClient
} }
return msg; return msg;
} }
private void timer1_Tick(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e)
{ {
LogM(); LogM();
...@@ -509,26 +511,29 @@ namespace OnlineStore.AutoCountClient ...@@ -509,26 +511,29 @@ namespace OnlineStore.AutoCountClient
lblXrayWork.Text = "警告:点料过程中,请勿开门"; lblXrayWork.Text = "警告:点料过程中,请勿开门";
} }
string canScanCode = ""; string canScanCode = "";
lblStatus.Text = robot.GetRunStr() + canScanCode; lblStatus.Text = robot.GetRunStr() + canScanCode;
string warnMsg = robot.WarnMsg; string warnMsg = robot.WarnMsg;
msglist = new List<AlarmMsg>();
//foreach (EquipBase move in robot.equipsMap.Values) //foreach (EquipBase move in robot.equipsMap.Values)
//{ //{
warnMsg = AddMsg(warnMsg, robot.outputEquip.WarnMsg, robot.outputEquip.alarmType, robot.outputEquip.LastAlarmTime); warnMsg = AddMsg(warnMsg, robot.outputEquip.WarnMsg, robot.outputEquip.alarmType, robot.outputEquip.LastAlarmTime,"点料机-出料", "outputEquip");
warnMsg = AddMsg(warnMsg, robot.XrayBean.WarnMsg, robot.XrayBean.alarmType, robot.XrayBean.LastAlarmTime);
warnMsg = AddMsg(warnMsg, robot.inputEquip.WarnMsg, robot.inputEquip.alarmType, robot.inputEquip.LastAlarmTime); warnMsg = AddMsg(warnMsg, robot.XrayBean.WarnMsg, robot.XrayBean.alarmType, robot.XrayBean.LastAlarmTime, "点料机-点料", "XrayBean");
warnMsg = AddMsg(warnMsg, robot.inputEquip.WarnMsg, robot.inputEquip.alarmType, robot.inputEquip.LastAlarmTime, "点料机-入料", "inputEquip");
//if (move is InputEquip) //if (move is InputEquip)
//{ //{
//BatchMoveBean bean = robot.inputEquip.LeftBatchMove; //BatchMoveBean bean = robot.inputEquip.LeftBatchMove;
warnMsg = AddMsg(warnMsg, robot.inputEquip.LeftBatchMove.WarnMsg, robot.inputEquip.LeftBatchMove.alarmType, robot.inputEquip.LeftBatchMove.LastAlarmTime); warnMsg = AddMsg(warnMsg, robot.inputEquip.LeftBatchMove.WarnMsg, robot.inputEquip.LeftBatchMove.alarmType, robot.inputEquip.LeftBatchMove.LastAlarmTime, "点料机-左批量轴", "LeftBatch");
warnMsg = AddMsg(warnMsg, robot.inputEquip.RightBatchMove.WarnMsg, robot.inputEquip.RightBatchMove.alarmType, robot.inputEquip.RightBatchMove.LastAlarmTime); warnMsg = AddMsg(warnMsg, robot.inputEquip.RightBatchMove.WarnMsg, robot.inputEquip.RightBatchMove.alarmType, robot.inputEquip.RightBatchMove.LastAlarmTime, "点料机-右批量轴", "RightBatch");
//} //}
//} //}
lblOutTray.Text = "XRay出口处料盘:" + robot.XrayBean.Out_ReelInfo.ToStr(); lblOutTray.Text = "XRay出口处料盘:" + robot.XrayBean.Out_ReelInfo.ToStr();
lblCurrTray.Text = "XRay扫描区料盘:" + robot.XrayBean.Work_ReelInfo.ToStr(); lblCurrTray.Text = "XRay扫描区料盘:" + robot.XrayBean.Work_ReelInfo.ToStr();
lblWarnMsg.Text = warnMsg; lblWarnMsg.Text = warnMsg;
updateDeviceAlarmMsg(msglist);
if (robot.runStatus > RobotRunStatus.Wait) if (robot.runStatus > RobotRunStatus.Wait)
{ {
if (启动AToolStripMenuItem.Enabled.Equals(true)) if (启动AToolStripMenuItem.Enabled.Equals(true))
...@@ -1061,6 +1066,89 @@ namespace OnlineStore.AutoCountClient ...@@ -1061,6 +1066,89 @@ namespace OnlineStore.AutoCountClient
LogUtil.info(Name + " 点击:" + 启用贴标功能ToolStripMenuItem.Text); LogUtil.info(Name + " 点击:" + 启用贴标功能ToolStripMenuItem.Text);
} }
private static string Addr_updateDeviceAlarmMsg = "http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg";
List<AlarmMsg> msglist = new List<AlarmMsg>();
MyWebClient myWebClient = new MyWebClient(1000);
/// <summary>
/// 异常看板
/// </summary>
/// <param name="msgList"></param>
/// <returns></returns>
public string updateDeviceAlarmMsg(List<AlarmMsg> msgList)
{
if (msgList.Count == 0 || !CB_lookboard.Checked)
{
return "";
}
string msg = "";
try
{
Dictionary<string, string> paramMap = new Dictionary<string, string>();
string msgListStr = JsonHelper.SerializeObject(msgList);
paramMap.Add("deviceAlarmList", msgListStr);
string param = GetAddr(paramMap);
//DateTime startTime = DateTime.Now;
if (string.IsNullOrEmpty(myWebClient.Headers["Content-Type"]))
{
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
}
myWebClient.UploadStringAsync(new Uri(Addr_updateDeviceAlarmMsg),"POST", param);
//string resultStr = HttpHelper.Post(Addr_updateDeviceAlarmMsg, param, 1000);
//LogUtil.debug("updateDeviceAlarmMsg " + FormUtil.GetSpanStr(DateTime.Now - startTime) + " 【" + server + "】【" + resultStr + "】");
/*
RfidData data = JsonHelper.DeserializeJsonToObject<RfidData>(resultStr);
if (data == null)
{
return msg = " updateDeviceAlarmMsg 没有收到服务器反馈";
}
else if (data.code.Equals(0).Equals(false))
{
return msg = " updateDeviceAlarmMsg 【" + server + "】【" + resultStr + "】" + data.msg;
}
*/
return "";
}
catch (Exception ex)
{
LogUtil.error(" updateDeviceAlarmMsg Error: " + ex.ToString());
}
return msg;
}
private static string GetAddr( Dictionary<string, string> paramsMap)
{
string path="";
foreach (string paramName in paramsMap.Keys)
{
string par = System.Net.WebUtility.UrlEncode(paramsMap[paramName]);
path += paramName + "=" + par + "&";
}
path = path.Substring(0, path.Length - 1);
return path;
}
public class AlarmMsg
{
//>>>name : 异常位置名称
public string name = "";
//>>>msgKey : 异常信息唯一标识
public string msgKey = "";
//>>>msgValue : 异常信息
public string msgValue = "";
/// <summary>
/// 异常信息
/// </summary>
/// <param name="name">异常位置名称</param>
/// <param name="key">异常信息唯一标识</param>
/// <param name="value">异常信息</param>
public AlarmMsg(string name, string key, string value)
{
this.name = name;
this.msgKey = key;
this.msgValue = value;
}
}
} }
} }
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CodeLibrary</RootNamespace> <RootNamespace>CodeLibrary</RootNamespace>
<AssemblyName>CodeLibrary</AssemblyName> <AssemblyName>CodeLibrary</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
...@@ -34,6 +34,9 @@ ...@@ -34,6 +34,9 @@
<Prefer32Bit>false</Prefer32Bit> <Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Asa.CarerayImage">
<HintPath>..\..\..\..\CarerayImage\CarerayImage\bin\Debug\Asa.CarerayImage.dll</HintPath>
</Reference>
<Reference Include="Basler.Pylon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e389355f398382ab, processorArchitecture=x86"> <Reference Include="Basler.Pylon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e389355f398382ab, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\GeneralClassLibrary\CodeLibraryProject\CodeLibrary\bin\Debug\Basler.Pylon.dll</HintPath> <HintPath>..\..\..\..\GeneralClassLibrary\CodeLibraryProject\CodeLibrary\bin\Debug\Basler.Pylon.dll</HintPath>
......
...@@ -8,6 +8,7 @@ using System.Runtime.InteropServices; ...@@ -8,6 +8,7 @@ using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using static Asa.eyemLib;
namespace CodeLibrary namespace CodeLibrary
{ {
...@@ -25,7 +26,7 @@ namespace CodeLibrary ...@@ -25,7 +26,7 @@ namespace CodeLibrary
try try
{ {
//创建图像引用 //创建图像引用
EyemImage eyemImage; EyemImage eyemImage;
BitmapData bitmapData = null; BitmapData bitmapData = null;
if (file == null) if (file == null)
...@@ -36,12 +37,14 @@ namespace CodeLibrary ...@@ -36,12 +37,14 @@ namespace CodeLibrary
eyemImage.ucpImage = bitmapData.Scan0; eyemImage.ucpImage = bitmapData.Scan0;
eyemImage.iWidth = rect.Width; eyemImage.iWidth = rect.Width;
eyemImage.iHeight = rect.Height; eyemImage.iHeight = rect.Height;
eyemImage.iChannel = 0; //eyemImage.iChannel = 0;
eyemImage.iChannels = 1;
eyemImage.iDepth = 0;
} }
else { else {
eyemImageRead(file, 3, out eyemImage); eyemImageRead(file, -1, out eyemImage);
} }
//创建扫描区域 //创建扫描区域
EyemRect eyemRect = new EyemRect(); EyemRect eyemRect = new EyemRect();
eyemRect.iXs = 0; eyemRect.iXs = 0;
...@@ -74,7 +77,7 @@ namespace CodeLibrary ...@@ -74,7 +77,7 @@ namespace CodeLibrary
if (bitmapData!=null) if (bitmapData!=null)
bmap.UnlockBits(bitmapData); bmap.UnlockBits(bitmapData);
if (file != null) if (file != null)
eyemImageFree(eyemImage.ucpImage); eyemImageFree(ref eyemImage);
//bmap.Dispose(); //bmap.Dispose();
} }
} }
...@@ -85,6 +88,7 @@ namespace CodeLibrary ...@@ -85,6 +88,7 @@ namespace CodeLibrary
//eyemImageFree(eyemImage.ucpImage); //eyemImageFree(eyemImage.ucpImage);
return codelist; return codelist;
} }
/*
//释放解码句柄 //释放解码句柄
private class DataCodeHandle : SafeHandleZeroOrMinusOneIsInvalid private class DataCodeHandle : SafeHandleZeroOrMinusOneIsInvalid
{ {
...@@ -112,7 +116,7 @@ namespace CodeLibrary ...@@ -112,7 +116,7 @@ namespace CodeLibrary
/// </summary> /// </summary>
/// <param name="ipImage"></param> /// <param name="ipImage"></param>
[DllImport("eyemLib.dll", CharSet = CharSet.None, CallingConvention = CallingConvention.Cdecl)] [DllImport("eyemLib.dll", CharSet = CharSet.None, CallingConvention = CallingConvention.Cdecl)]
private static extern void eyemImageFree(IntPtr ipImage); private static extern void eyemImageFree(ref EyemImage eyemImage);
//释放工具 //释放工具
[DllImport("eyemLib.dll", CharSet = CharSet.None, CallingConvention = CallingConvention.Cdecl)] [DllImport("eyemLib.dll", CharSet = CharSet.None, CallingConvention = CallingConvention.Cdecl)]
...@@ -124,7 +128,9 @@ namespace CodeLibrary ...@@ -124,7 +128,9 @@ namespace CodeLibrary
public IntPtr ucpImage; // 地址 public IntPtr ucpImage; // 地址
public int iWidth; // 图像内存 x 方向大小 public int iWidth; // 图像内存 x 方向大小
public int iHeight; // 图像内存 y 方向大小 public int iHeight; // 图像内存 y 方向大小
public int iChannel; // 图像通道数 public int iDepth;
public int iChannels; // 图像通道数
} }
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct EyemRect public struct EyemRect
...@@ -142,7 +148,7 @@ namespace CodeLibrary ...@@ -142,7 +148,7 @@ namespace CodeLibrary
public int iCenterY; // y坐标 public int iCenterY; // y坐标
public IntPtr hType; // 码类型 public IntPtr hType; // 码类型
public IntPtr hText; // 码内容 public IntPtr hText; // 码内容
} }*/
} }
} }
...@@ -54,6 +54,9 @@ ...@@ -54,6 +54,9 @@
<Reference Include="Asa.RFID"> <Reference Include="Asa.RFID">
<HintPath>..\..\dll\RFID\Asa.RFID.dll</HintPath> <HintPath>..\..\dll\RFID\Asa.RFID.dll</HintPath>
</Reference> </Reference>
<Reference Include="Asa.Signal">
<HintPath>..\..\..\..\到位\到位信号\Asa.Signal.dll</HintPath>
</Reference>
<Reference Include="Client, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Client, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\Client.dll</HintPath> <HintPath>..\..\dll\Client.dll</HintPath>
...@@ -96,6 +99,7 @@ ...@@ -96,6 +99,7 @@
<Compile Include="bean\BatchMoveBean_Partial.cs" /> <Compile Include="bean\BatchMoveBean_Partial.cs" />
<Compile Include="bean\BatchMoveBean.cs" /> <Compile Include="bean\BatchMoveBean.cs" />
<Compile Include="bean\OutputEquip_Shelf.cs" /> <Compile Include="bean\OutputEquip_Shelf.cs" />
<Compile Include="deviceLibrary\TestPlate.cs" />
<Compile Include="manager\ParamManager.cs" /> <Compile Include="manager\ParamManager.cs" />
<Compile Include="manager\RobotManager.cs" /> <Compile Include="manager\RobotManager.cs" />
<Compile Include="bean\OutputEquip_Partial.cs" /> <Compile Include="bean\OutputEquip_Partial.cs" />
......
...@@ -189,11 +189,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -189,11 +189,11 @@ namespace OnlineStore.DeviceLibrary
{ {
WorkLog("IB09_ScanCode"); WorkLog("IB09_ScanCode");
MoveInfo.MoveParam = new WorkParam(); MoveInfo.MoveParam = new WorkParam();
MoveInfo.MoveParam.WareCode = CodeManager.GetValidCode(LastCodeList); MoveInfo.MoveParam.WareCode = CodeManager.GetValidCode(LastCodeList, out string msgs);
if (String.IsNullOrEmpty(MoveInfo.MoveParam.WareCode)) if (String.IsNullOrEmpty(MoveInfo.MoveParam.WareCode))
{ {
MoveInfo.MoveParam.IsNgReel = true; MoveInfo.MoveParam.IsNgReel = true;
MoveInfo.MoveParam.NgMsg = "无有效条码NG"; MoveInfo.MoveParam.NgMsg = msgs;
MoveInfo.MoveParam.TargetPosType = 1; MoveInfo.MoveParam.TargetPosType = 1;
WorkLog(" 无有效条码,从XRay放到NG箱:" + MoveInfo.MoveParam.ToStr()); WorkLog(" 无有效条码,从XRay放到NG箱:" + MoveInfo.MoveParam.ToStr());
} }
...@@ -215,6 +215,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -215,6 +215,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.MoveParam.NgMsg = msg; MoveInfo.MoveParam.NgMsg = msg;
//RobotManager.robot.sQLite.Insert(MoveInfo.MoveParam.WareCode, MoveInfo.MoveParam.PlateW, MoveInfo.MoveParam.PlateH, 0, MoveInfo.MoveParam.NgMsg); //RobotManager.robot.sQLite.Insert(MoveInfo.MoveParam.WareCode, MoveInfo.MoveParam.PlateW, MoveInfo.MoveParam.PlateH, 0, MoveInfo.MoveParam.NgMsg);
} }
} }
else { else {
MoveInfo.MoveParam.TargetPosType = 1; MoveInfo.MoveParam.TargetPosType = 1;
...@@ -273,18 +275,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -273,18 +275,25 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
} }
public void GetTrayOK() public int GetTrayOK()
{ {
if (MoveInfo.MoveType.Equals(RobotMoveType.Working)) if (MoveInfo.MoveType.Equals(RobotMoveType.Working))
{ {
MoveInfo.NextMoveStep(StepEnum.IB11_TrayLeave); MoveInfo.NextMoveStep(StepEnum.IB11_TrayLeave);
WorkLog("当前料盘已离开,清理高度,准备开始测高"); WorkLog("当前料盘已离开,清理高度,准备开始测高");
LastHeight = 0; LastHeight = 0;
if (SServerManager.GetReekinfo(MoveInfo.MoveParam.WareCode, out ReelResult reelResult))
{
WorkLog(" 获取到高度:" + reelResult.h);
return reelResult.h;
}
} }
else else
{ {
LogUtil.error(Name + "当前状态:" + MoveInfo.MoveType + ",GetTrayOK暂不处理"); LogUtil.error(Name + "当前状态:" + MoveInfo.MoveType + ",GetTrayOK暂不处理");
} }
return 0;
} }
//internal string LCodeStr = ""; //internal string LCodeStr = "";
//internal string GetCurrCode() //internal string GetCurrCode()
...@@ -354,7 +363,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -354,7 +363,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
LastCodeList = new List<string>(NextCodeList); LastCodeList = new List<string>(NextCodeList);
NextCodeList = new List<string>(); NextCodeList = new List<string>();
MoveInfo.MoveParam.WareCode = CodeManager.GetValidCode(LastCodeList); MoveInfo.MoveParam.WareCode = CodeManager.GetValidCode(LastCodeList,out _);
MoveInfo.NextMoveStep(StepEnum.IB10_ScanOK); MoveInfo.NextMoveStep(StepEnum.IB10_ScanOK);
WorkLog("料盘移栽 :使用预扫码【" + MoveInfo.MoveParam.WareCode + "】,等待取料机构来取料"); WorkLog("料盘移栽 :使用预扫码【" + MoveInfo.MoveParam.WareCode + "】,等待取料机构来取料");
//WorkLog("料盘移栽 :上料横移取料端"); //WorkLog("料盘移栽 :上料横移取料端");
...@@ -502,7 +511,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -502,7 +511,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
if (LastHeight <= 8) { LastHeight = 8; } if (LastHeight <= 8) { LastHeight = 8; }
string code = CodeManager.GetValidCode(LastCodeList); string code = CodeManager.GetValidCode(LastCodeList,out _);
string msg = Name + " 计算盘高:上升前 [" + StartMovePosition + "]实时[ " + EndMovePosition + "]差值[" + (EndMovePosition - StartMovePosition) + "]系数[" + AxisChangeValue + "] 计算后" + buchongStr + "[" + height + "]" + ",归类为【" + LastHeight + "mm】条码【" + code + "】"; string msg = Name + " 计算盘高:上升前 [" + StartMovePosition + "]实时[ " + EndMovePosition + "]差值[" + (EndMovePosition - StartMovePosition) + "]系数[" + AxisChangeValue + "] 计算后" + buchongStr + "[" + height + "]" + ",归类为【" + LastHeight + "mm】条码【" + code + "】";
LogUtil.info(msg); LogUtil.info(msg);
return LastHeight; return LastHeight;
......
...@@ -18,7 +18,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -18,7 +18,10 @@ namespace OnlineStore.DeviceLibrary
public RobotMoveInfo SecMoveInfo = null; public RobotMoveInfo SecMoveInfo = null;
public bool MoveStop = false; public bool MoveStop = false;
protected int TimerMaxSeconds = 3; protected int TimerMaxSeconds = 3;
/// <summary>
/// 手动报警
/// </summary>
public bool NeedAlarm = false;
protected void SetAllTimer(bool open) protected void SetAllTimer(bool open)
{ {
...@@ -562,7 +565,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -562,7 +565,7 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
DateTime time = DateTime.Now; //DateTime time = DateTime.Now;
if (runStatus <= RobotRunStatus.Wait) if (runStatus <= RobotRunStatus.Wait)
{ {
CloseLed(); CloseLed();
...@@ -571,30 +574,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -571,30 +574,25 @@ namespace OnlineStore.DeviceLibrary
bool isNeedAlarmLed = false; bool isNeedAlarmLed = false;
bool isInOut = false; bool isInOut = false;
bool yellowMove = false; bool yellowMove = false;
if (runStatus.Equals(RobotRunStatus.HomeMoving) || runStatus.Equals(RobotRunStatus.Reset))
{ isNeedAlarmLed = NeedAlarm;
yellowMove = true; if (WarnMsg.IndexOf("OS_") > 0 && WarnMsg.IndexOf("OS_20_ShelfReady")>0)
}
if (isInSuddenDown || isNoAirCheck || alarmType > AlarmType.AxisAlarm)
{ {
isNeedAlarmLed = true; isNeedAlarmLed = true;
} }
else if (alarmType.Equals(AlarmType.None).Equals(false)) if (WarnMsg.IndexOf("_AxisTrayCheck") > 0)
{ {
yellowMove = true; isNeedAlarmLed = true;
} }
if (isNoAirCheck || isInSuddenDown || alarmType > AlarmType.AxisAlarm) if (isNoAirCheck || isInSuddenDown || alarmType >= AlarmType.AxisAlarm)
{ {
isNeedAlarmLed = true; isNeedAlarmLed = true;
} }
else if (alarmType.Equals(AlarmType.None).Equals(false))
{
yellowMove = true;
}
if (MoveInfo.MoveType.Equals(RobotMoveType.Working) || MoveInfo.MoveType.Equals(RobotMoveType.Labelling)) if (MoveInfo.MoveType.Equals(RobotMoveType.Working) || MoveInfo.MoveType.Equals(RobotMoveType.Labelling))
{ {
isInOut = true; //isInOut = true;
} }
...@@ -603,37 +601,42 @@ namespace OnlineStore.DeviceLibrary ...@@ -603,37 +601,42 @@ namespace OnlineStore.DeviceLibrary
if (yellowMove) if (yellowMove)
{ {
//开机执行中时黄灯闪烁 //开机执行中时黄灯闪烁
if (IsDoValue(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH)) if (IsDoValue(IO_Type.RunSign_HddLed, IO_VALUE.HIGH))
{ {
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
else else
{ {
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
} }
} }
else if (IsDoValue(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH)) else
{ {
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); CheckAndMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
//忙碌中,判断是否有移栽在出入库执行,绿灯闪烁 //忙碌中,判断是否有移栽在出入库执行,绿灯闪烁
if (isInOut) if (isInOut)
{ {
if (IsDoValue(IO_Type.RunSign_HddLed, IO_VALUE.LOW)) if (IsDoValue(IO_Type.AutoRun_HddLed, IO_VALUE.LOW))
{ {
IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
} }
else else
{ {
IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
} }
else if (IsDoValue(IO_Type.RunSign_HddLed, IO_VALUE.LOW)) else if (isNeedAlarmLed)
{
CheckAndMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
}
else
{ {
//平常常亮绿灯 //平常常亮绿灯
IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); CheckAndMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
} }
//严重报警中 ,红灯闪烁 //严重报警中 ,红灯闪烁
if (isNeedAlarmLed) if (isNeedAlarmLed)
{ {
...@@ -646,10 +649,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -646,10 +649,11 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
} }
} }
else if (IsDoValue(IO_Type.Alarm_HddLed, IO_VALUE.HIGH)) else
{ {
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); CheckAndMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
} }
if (isNeedAlarmLed && RobotManager.UseBuzzer) if (isNeedAlarmLed && RobotManager.UseBuzzer)
{ {
CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.HIGH); CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.HIGH);
...@@ -658,13 +662,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -658,13 +662,13 @@ namespace OnlineStore.DeviceLibrary
{ {
CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.LOW); CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.LOW);
} }
//Thread.Sleep(900);
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error(Name + "灯处理定时器出错:", ex); LogUtil.error(Name + "灯处理定时器出错:", ex);
} }
Thread.Sleep(5);
} }
......
...@@ -115,7 +115,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -115,7 +115,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.IW03_MiddleToP2)) else if (MoveInfo.IsStep(StepEnum.IW03_MiddleToP2))
{ {
IW04_InoutToP2(); IW04_InoutToP2();
NeedAlarm = false;
} }
else if (MoveInfo.IsStep(StepEnum.IW04_ReTry)) else if (MoveInfo.IsStep(StepEnum.IW04_ReTry))
{ {
...@@ -159,6 +159,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -159,6 +159,7 @@ namespace OnlineStore.DeviceLibrary
{ {
getretry = 0; getretry = 0;
MoveInfo.NextMoveStep(StepEnum.IW08_WaitAxisCheck); MoveInfo.NextMoveStep(StepEnum.IW08_WaitAxisCheck);
NeedAlarm = false;
} }
else if (MoveInfo.IsTimeOut(4)) else if (MoveInfo.IsTimeOut(4))
{ {
...@@ -168,6 +169,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -168,6 +169,7 @@ namespace OnlineStore.DeviceLibrary
WorkLog("取料: 重试失败"); WorkLog("取料: 重试失败");
MoveInfo.NextMoveStep(StepEnum.IW08_WaitAxisCheck); MoveInfo.NextMoveStep(StepEnum.IW08_WaitAxisCheck);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(it, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(it, IO_VALUE.LOW));
NeedAlarm = true;
} }
else else
{ {
...@@ -185,15 +187,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -185,15 +187,16 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.IW08_WaitAxisCheck)) else if (MoveInfo.IsStep(StepEnum.IW08_WaitAxisCheck))
{ {
NeedAlarm = false;
getretry = 0; getretry = 0;
MoveInfo.NextMoveStep(StepEnum.IW11_GetTargetPosition); MoveInfo.NextMoveStep(StepEnum.IW11_GetTargetPosition);
if (MoveInfo.MoveParam.InPosType.Equals(1)) if (MoveInfo.MoveParam.InPosType.Equals(1))
{ {
LeftBatchMove.GetTrayOK(); MoveInfo.MoveParam.PlateH=LeftBatchMove.GetTrayOK();
} }
else else
{ {
RightBatchMove.GetTrayOK(); MoveInfo.MoveParam.PlateH=RightBatchMove.GetTrayOK();
} }
} }
...@@ -316,7 +319,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -316,7 +319,8 @@ namespace OnlineStore.DeviceLibrary
ClearTimeoutAlarm("测高结束超时"); ClearTimeoutAlarm("测高结束超时");
//MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize); //MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize);
MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3); MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3);
MoveInfo.MoveParam.PlateH = moveBean.LastHeight; if (MoveInfo.MoveParam.PlateH==0)
MoveInfo.MoveParam.PlateH = moveBean.LastHeight;
MoveInfo.MoveParam.PlateW = GetWidth(); MoveInfo.MoveParam.PlateW = GetWidth();
WorkLog("测高结束, 记录尺寸【" + MoveInfo.MoveParam.PlateW + "X" + MoveInfo.MoveParam.PlateH + "】,开始下一盘预扫码", 1); WorkLog("测高结束, 记录尺寸【" + MoveInfo.MoveParam.PlateW + "X" + MoveInfo.MoveParam.PlateH + "】,开始下一盘预扫码", 1);
......
...@@ -159,13 +159,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -159,13 +159,15 @@ namespace OnlineStore.DeviceLibrary
} }
public void SecMoveReset() public void SecMoveReset()
{ {
SecMoveInfo.NextMoveStep(StepEnum.OLR01_LabelZHome); SecMoveInfo.NewMove(RobotMoveType.Reset,StepEnum.OLR01_LabelZHome);
RobotManager.LastPrintStatus=Asa.PrintLabel.PrinterStatus.Unknown; RobotManager.LastPrintStatus=Asa.PrintLabel.PrinterStatus.Unknown;
SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SecWorkLog("贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退"); SecWorkLog("贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退");
LabelZAxis.HomeMove(SecMoveInfo); LabelZAxis.HomeMove(SecMoveInfo);
IOMove(IO_Type.Nozzle_Work, IO_VALUE.LOW); IOMove(IO_Type.Nozzle_Work, IO_VALUE.LOW);
CylinderMove(SecMoveInfo, IO_Type.LablePaste_Forward, IO_Type.LablePaste_Back); CylinderMove(SecMoveInfo, IO_Type.LablePaste_Forward, IO_Type.LablePaste_Back);
//SecMoveInfo.moveType = RobotMoveType.Reset;
} }
protected override void ResetProcess() protected override void ResetProcess()
...@@ -623,13 +625,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -623,13 +625,18 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
//若BOX和出料都没有在等待Io的过程中则此Io超时异常可能已经处理过 //若BOX和出料都没有在等待Io的过程中则此Io超时异常可能已经处理过
if ( MoveInfo.IsInWait.Equals(false) && SecMoveInfo.IsInWait.Equals(false)&&ShelfMoveInfo.IsInWait.Equals(false) && RobotManager.LastPrintStatus != Asa.PrintLabel.PrinterStatus.Printing) if (MoveInfo.IsInWait.Equals(false) && SecMoveInfo.IsInWait.Equals(false) && ShelfMoveInfo.IsInWait.Equals(false) && RobotManager.LastPrintStatus != Asa.PrintLabel.PrinterStatus.Printing)
{ {
LogUtil.info(Name + "清理信号超时报警【" + WarnMsg + "】 "); LogUtil.info(Name + "清理信号超时报警【" + WarnMsg + "】 ");
alarmType = AlarmType.None; alarmType = AlarmType.None;
SetWarnMsg(""); SetWarnMsg("");
NeedAlarm = false;
} }
} else {
NeedAlarm = true;
}
}else
NeedAlarm = false;
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -694,7 +701,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -694,7 +701,7 @@ namespace OnlineStore.DeviceLibrary
else if (SecMoveInfo.MoveType.Equals(RobotMoveType.Labelling)) else if (SecMoveInfo.MoveType.Equals(RobotMoveType.Labelling))
{ {
msg += "贴标料盘:" + SecMoveInfo.MoveParam.OutStr() + " \r\n"; msg += "贴标料盘:" + SecMoveInfo.MoveParam.OutStr() + " \r\n";
} }
return msg; return msg;
} }
......
...@@ -190,9 +190,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -190,9 +190,11 @@ namespace OnlineStore.DeviceLibrary
} }
} }
bool saveone = false; bool saveone = false;
bool doubleplate = false;
Task getPic=null; Task getPic=null;
private void OT05_GetImage() private void OT05_GetImage()
{ {
if (MoveInfo.MoveParam.IsNgReel) if (MoveInfo.MoveParam.IsNgReel)
{ {
MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2); MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2);
...@@ -213,22 +215,40 @@ namespace OnlineStore.DeviceLibrary ...@@ -213,22 +215,40 @@ namespace OnlineStore.DeviceLibrary
//var filename = "need"; //var filename = "need";
CodeManager.CameraScan(Name, out cc, saveone, Config.CameraName); CodeManager.CameraScan(Name, out cc, saveone, Config.CameraName);
saveone = true; saveone = true;
Task.Delay(1000).Wait(); if (cc.Count == 0)
if (cc.Count==0) {
Task.Delay(1000).Wait();
CodeManager.CameraScan(Name, out cc, saveone, Config.CameraName); CodeManager.CameraScan(Name, out cc, saveone, Config.CameraName);
if (cc.Count > 0) }
if (cc.Count == 1)
{ {
MoveInfo.MoveParam.codePointer.X = cc[0].X; MoveInfo.MoveParam.codePointer.X = cc[0].X;
MoveInfo.MoveParam.codePointer.Y = cc[0].Y; MoveInfo.MoveParam.codePointer.Y = cc[0].Y;
WorkLog("取料:识别到二维码位置:X:" + MoveInfo.MoveParam.codePointer.X + ",Y:" + MoveInfo.MoveParam.codePointer.Y, 1); WorkLog("取料:识别到二维码位置:X:" + MoveInfo.MoveParam.codePointer.X + ",Y:" + MoveInfo.MoveParam.codePointer.Y, 1);
} }
//else if (cc.Count > 1) {
// NeedAlarm = true;
//}
else else
{ {
WorkLog("取料:2次没有识别到二维码", 1); WorkLog("取料:2次没有识别到二维码", 1);
} }
doubleplate = false;
/*bool[] hasplate = TestPlate.TestIt(Config.CameraName);
if (hasplate[0] && hasplate[1])
{
doubleplate = true;
}
else
{
doubleplate = false;
}*/
}); });
} }
} }
/// <summary> /// <summary>
/// 当前料串上的ReelID /// 当前料串上的ReelID
...@@ -248,6 +268,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -248,6 +268,7 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.IsStep(StepEnum.OT01_WaitCheck)) if (MoveInfo.IsStep(StepEnum.OT01_WaitCheck))
{ {
OT02_MoveZToP1(); OT02_MoveZToP1();
if (TakeReelRetay > 0) if (TakeReelRetay > 0)
IOMove(IO_Type.X_OLine_Run, IO_VALUE.LOW); IOMove(IO_Type.X_OLine_Run, IO_VALUE.LOW);
...@@ -258,6 +279,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -258,6 +279,7 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.OT03_MoveXToP2)) else if (MoveInfo.IsStep(StepEnum.OT03_MoveXToP2))
{ {
NeedAlarm = false;
if (TakeReelRetay > 0) if (TakeReelRetay > 0)
{ {
MoveInfo.NextMoveStep(StepEnum.OT05_GetImage); MoveInfo.NextMoveStep(StepEnum.OT05_GetImage);
...@@ -275,6 +297,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -275,6 +297,21 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
getPic = null; getPic = null;
if (TakeReelRetay == 0 && doubleplate)
{
NeedAlarm = true;
if (MoveInfo.IsTimeOut(3))
{
WorkLog("取料:发现存在2盘料, 再次拍照检测");
WarnMsg = MoveInfo.Name + "发现存在2盘料";
Alarm(AlarmType.IoSingleTimeOut);
OT05_GetImage();
}
return;
}
ClearTimeoutAlarm("发现存在2盘料");
MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2); MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2);
WorkLog("取料:取料Z轴到P2 1 " + (TakeReelRetay > 0 ? TakeReelRetay - 1 : 0)); WorkLog("取料:取料Z轴到P2 1 " + (TakeReelRetay > 0 ? TakeReelRetay - 1 : 0));
...@@ -339,15 +376,29 @@ namespace OnlineStore.DeviceLibrary ...@@ -339,15 +376,29 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
MoveInfo.NextMoveStep(StepEnum.OT08_3_Wait_Out_TrayCheck);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax);
WarnMsg = MoveInfo.Name + "[取料:取料失败,已重试3次,请手动取走料盘]"; WarnMsg = MoveInfo.Name + "[取料:取料失败,已重试3次,请手动取走料盘]";
WorkLog(WarnMsg); WorkLog(WarnMsg);
Alarm(AlarmType.IoSingleTimeOut);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax);
MoveInfo.NextMoveStep(StepEnum.OT25_NG_NGBack);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Out_TrayCheck, IO_VALUE.LOW));
} }
} }
} }
else if (MoveInfo.IsStep(StepEnum.OT08_3_Wait_Out_TrayCheck))
{
if (IOValue(IO_Type.Out_TrayCheck).Equals(IO_VALUE.LOW))
{
ClearTimeoutAlarm("取料失败");
MoveInfo.NextMoveStep(StepEnum.OT25_NG_NGBack);
NeedAlarm = false;
}
else {
WarnMsg = MoveInfo.Name + "[取料:取料失败,已重试3次,请手动取走料盘]";
//WorkLog(WarnMsg);
Alarm(AlarmType.IoSingleTimeOut);
MoveInfo.NextMoveStep(StepEnum.OT08_3_Wait_Out_TrayCheck);
NeedAlarm = true;
}
}
else if (MoveInfo.IsStep(StepEnum.OT09_MoveZToP1)) else if (MoveInfo.IsStep(StepEnum.OT09_MoveZToP1))
{ {
MoveInfo.NextMoveStep(StepEnum.OT11_WaitShelfOk); MoveInfo.NextMoveStep(StepEnum.OT11_WaitShelfOk);
...@@ -429,7 +480,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -429,7 +480,7 @@ namespace OnlineStore.DeviceLibrary
if (shelfOk || debugOk) if (shelfOk || debugOk)
{ {
ClearTimeoutAlarm("等待出料料串可放料"); ClearTimeoutAlarm("等待出料料串可放料");
MoveInfo.NextMoveStep(StepEnum.OT14_Clamping_Relax); MoveInfo.NextMoveStep(StepEnum.OT14_a_Clamping_Clamp);
WorkLog("放料:取料气缸放松 ", 0); WorkLog("放料:取料气缸放松 ", 0);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax); CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax);
CurrWareCode = MoveInfo.MoveParam.WareCode; CurrWareCode = MoveInfo.MoveParam.WareCode;
...@@ -442,6 +493,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -442,6 +493,16 @@ namespace OnlineStore.DeviceLibrary
} }
CheckStartLabel(); CheckStartLabel();
} }
else if (MoveInfo.IsStep(StepEnum.OT14_a_Clamping_Clamp))
{
MoveInfo.NextMoveStep(StepEnum.OT14_b_Clamping_Relax);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Relax, IO_Type.TakeT_Clamping_Work);
}
else if (MoveInfo.IsStep(StepEnum.OT14_b_Clamping_Relax))
{
MoveInfo.NextMoveStep(StepEnum.OT14_Clamping_Relax);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax);
}
else if (MoveInfo.IsStep(StepEnum.OT14_Clamping_Relax)) else if (MoveInfo.IsStep(StepEnum.OT14_Clamping_Relax))
{ {
bool shelfOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.ShelfPro) && ShelfMoveInfo.IsStep(StepEnum.OS_22_WaitTray); bool shelfOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.ShelfPro) && ShelfMoveInfo.IsStep(StepEnum.OS_22_WaitTray);
...@@ -519,6 +580,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -519,6 +580,7 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.OT25_NG_NGBack)) else if (MoveInfo.IsStep(StepEnum.OT25_NG_NGBack))
{ {
NeedAlarm = false;
TakeReelRetay = 0; TakeReelRetay = 0;
TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime; TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime;
TickLog("出口NG,放料完成"); TickLog("出口NG,放料完成");
...@@ -568,6 +630,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -568,6 +630,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (SecMoveInfo.IsStep(StepEnum.OL01_Paste_Back)) if (SecMoveInfo.IsStep(StepEnum.OL01_Paste_Back))
{ {
NeedAlarm = false;
SecMoveInfo.NextMoveStep(StepEnum.OL03_PrintLabel); SecMoveInfo.NextMoveStep(StepEnum.OL03_PrintLabel);
RobotManager.LastPrintStatus = Asa.PrintLabel.PrinterStatus.Unknown; RobotManager.LastPrintStatus = Asa.PrintLabel.PrinterStatus.Unknown;
try try
...@@ -598,7 +661,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -598,7 +661,7 @@ namespace OnlineStore.DeviceLibrary
else if (SecMoveInfo.IsStep(StepEnum.OL03_PrintLabel)) else if (SecMoveInfo.IsStep(StepEnum.OL03_PrintLabel))
{ {
bool isPrintOk = RobotManager.LastPrintStatus.Equals(Asa.PrintLabel.PrinterStatus.Idle); bool isPrintOk = RobotManager.LastPrintStatus.Equals(Asa.PrintLabel.PrinterStatus.Idle);
bool isTimeOut = SecMoveInfo.IsTimeOut(120); bool isTimeOut = SecMoveInfo.IsTimeOut(12000);
if (printTask == null || printTask.IsCompleted) if (printTask == null || printTask.IsCompleted)
{ {
if (isPrintOk || isTimeOut || (!NeedPrint)) if (isPrintOk || isTimeOut || (!NeedPrint))
...@@ -607,23 +670,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -607,23 +670,32 @@ namespace OnlineStore.DeviceLibrary
SecMoveInfo.NextMoveStep(StepEnum.OL05_TakeBack); SecMoveInfo.NextMoveStep(StepEnum.OL05_TakeBack);
SecWorkLog("贴标: 打印结束[" + RobotManager.LastPrintStatus + "][" + (isTimeOut ? "超时120秒" : "") + "], "); SecWorkLog("贴标: 打印结束[" + RobotManager.LastPrintStatus + "][" + (isTimeOut ? "超时120秒" : "") + "], ");
//CylinderMove(SecMoveInfo, IO_Type.TakeCode_Forward, IO_Type.TakeCode_Back); //CylinderMove(SecMoveInfo, IO_Type.TakeCode_Forward, IO_Type.TakeCode_Back);
NeedAlarm = false;
printTask = null; printTask = null;
SecMoveInfo.NextMoveStep(StepEnum.OL06_ZToP2); SecMoveInfo.NextMoveStep(StepEnum.OL06_ZToP2);
SecWorkLog("贴标: Z轴到取标签点P2"); SecWorkLog("贴标: Z轴到取标签点P2");
IOMove(IO_Type.Nozzle_Work, IO_VALUE.HIGH); IOMove(IO_Type.Nozzle_Work, IO_VALUE.HIGH);
LabelZAxis.AbsMove(SecMoveInfo, Config.LabelZ_P2, Config.LabelZ_P2Speed); LabelZAxis.AbsMove(SecMoveInfo, Config.LabelZ_P2, Config.LabelZ_P2Speed);
} }
else if (MoveInfo.IsTimeOut(20))
{
WarnMsg = SecMoveInfo.Name + "[" + SecMoveInfo.MoveStep + "]" + "等待 打印标签状态完成(OL03_PrintLabel) 超时[" + FormUtil.GetSpanStr(SecMoveInfo.StepSpan()) + "]";
LogUtil.error(WarnMsg, SecMoveInfo.ErrorLogType, SecMoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
NeedAlarm = true;
}
} }
else if (MoveInfo.IsTimeOut(120)) else if (MoveInfo.IsTimeOut(60))
{ {
WarnMsg = SecMoveInfo.Name + "[" + SecMoveInfo.MoveStep + "]" + "等待 打印标签完成(OL03_PrintLabel) 超时[" + FormUtil.GetSpanStr(SecMoveInfo.StepSpan()) + "]"; WarnMsg = SecMoveInfo.Name + "[" + SecMoveInfo.MoveStep + "]" + "等待 打印标签任务完成(OL03_PrintLabel) 超时[" + FormUtil.GetSpanStr(SecMoveInfo.StepSpan()) + "]";
LogUtil.error(WarnMsg, SecMoveInfo.ErrorLogType, SecMoveInfo.logSeconds()); LogUtil.error(WarnMsg, SecMoveInfo.ErrorLogType, SecMoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut); Alarm(AlarmType.IoSingleTimeOut);
NeedAlarm = true;
} }
} }
else if (SecMoveInfo.IsStep(StepEnum.OL05_TakeBack)) else if (SecMoveInfo.IsStep(StepEnum.OL05_TakeBack))
{ {
NeedAlarm = false;
printTask = null; printTask = null;
SecMoveInfo.NextMoveStep(StepEnum.OL06_ZToP2); SecMoveInfo.NextMoveStep(StepEnum.OL06_ZToP2);
SecWorkLog("贴标: Z轴到取标签点P2"); SecWorkLog("贴标: Z轴到取标签点P2");
...@@ -632,6 +704,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -632,6 +704,7 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SecMoveInfo.IsStep(StepEnum.OL06_ZToP2)) else if (SecMoveInfo.IsStep(StepEnum.OL06_ZToP2))
{ {
SecMoveInfo.NextMoveStep(StepEnum.OL07_Nozzle_Work); SecMoveInfo.NextMoveStep(StepEnum.OL07_Nozzle_Work);
SecWorkLog("贴标: 标签吸盘取码,等待吸盘信号到位 1.5s"); SecWorkLog("贴标: 标签吸盘取码,等待吸盘信号到位 1.5s");
......
...@@ -48,6 +48,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -48,6 +48,7 @@ namespace OnlineStore.DeviceLibrary
IsDebug = Config.IsDebug.Equals(1); IsDebug = Config.IsDebug.Equals(1);
ledProcessTimer.Elapsed += LedProcessTimer_Elapsed;
List<string> ioList = new List<string>(); List<string> ioList = new List<string>();
ioList = new List<string>(DeviceConfig.ProIOIpMap.Values); ioList = new List<string>(DeviceConfig.ProIOIpMap.Values);
...@@ -82,6 +83,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -82,6 +83,7 @@ namespace OnlineStore.DeviceLibrary
IOManager.instance.ConnectionIOList(ioList); IOManager.instance.ConnectionIOList(ioList);
Thread.Sleep(3000); Thread.Sleep(3000);
mainTimer.Enabled = true; mainTimer.Enabled = true;
//ledProcessTimer.Enabled = true;
canStart = true; canStart = true;
AgvClient.Init(); AgvClient.Init();
string dataFile =Application.StartupPath+ ConfigAppSettings.GetValue(Setting_Init.DataPath); string dataFile =Application.StartupPath+ ConfigAppSettings.GetValue(Setting_Init.DataPath);
...@@ -90,7 +92,128 @@ namespace OnlineStore.DeviceLibrary ...@@ -90,7 +92,128 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + "连接【" + dataFile + "】结果: " + result+","+sQLite.ErrInfo); LogUtil.info(Name + "连接【" + dataFile + "】结果: " + result+","+sQLite.ErrInfo);
}); });
} }
private void LedProcessTimer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
//DateTime time = DateTime.Now;
if (runStatus <= RobotRunStatus.Wait)
{
CloseLed();
return;
}
bool isNeedAlarmLed = false;
bool isInOut = false;
bool yellowMove = true;
// {inputEquip,XrayBean,outputEquip};
bool NeedAlarm = inputEquip.NeedAlarm || XrayBean.NeedAlarm || outputEquip.NeedAlarm;
if (!NeedAlarm) {
if (outputEquip.WarnMsg.IndexOf("OS_") > 0) {
NeedAlarm = true;
}
}
isInOut = inputEquip.MoveInfo.MoveType == RobotMoveType.Working
|| XrayBean.MoveInfo.MoveType == RobotMoveType.Working
|| outputEquip.ShelfMoveInfo.MoveType == RobotMoveType.ShelfPro
|| outputEquip.MoveInfo.MoveType == RobotMoveType.Working
|| outputEquip.SecMoveInfo.MoveType == RobotMoveType.Labelling
;
if (!NeedAlarm)
{
NeedAlarm = inputEquip.alarmType >= AlarmType.AxisAlarm
|| XrayBean.alarmType >= AlarmType.AxisAlarm
|| outputEquip.alarmType >= AlarmType.AxisAlarm
;
}
//if (inputEquip.runStatus<3)
//{
// yellowMove = true;
////}
if (isNoAirCheck || isInSuddenDown || NeedAlarm)
{
isNeedAlarmLed = true;
}
//黄灯
if (yellowMove)
{
//开机执行中时黄灯闪烁
if (DOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
}
else
{
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
}
}
else if (DOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
}
//忙碌中,判断是否有移栽在出入库执行,绿灯闪烁
if (isInOut)
{
if (DOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.LOW))
{
IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
}
else
{
IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
}
}
else if (DOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.LOW))
{
//平常常亮绿灯
IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
}
//严重报警中 ,红灯闪烁
if (isNeedAlarmLed)
{
if (DOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
{
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
}
else
{
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
}
}
else if (DOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
}
if (isNeedAlarmLed && RobotManager.UseBuzzer)
{
CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.HIGH);
}
else
{
CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.LOW);
}
//Thread.Sleep(900);
}
catch (Exception ex)
{
LogUtil.error(Name + "灯处理定时器出错:", ex);
}
}
protected void CloseLed()
{
CheckAndMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
CheckAndMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
CheckAndMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
CheckAndMove(IO_Type.Alarm_Buzzer, IO_VALUE.LOW);
}
#endregion #endregion
public string CanStart() public string CanStart()
......
...@@ -25,7 +25,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -25,7 +25,7 @@ namespace OnlineStore.DeviceLibrary
public XRay xRay = null; public XRay xRay = null;
public CarerayImage carerayImage = null; public XrayImage xrayImage = null;
public bool xRayCanStart = false; public bool xRayCanStart = false;
public string LastXRayState = "未知"; public string LastXRayState = "未知";
...@@ -35,6 +35,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -35,6 +35,7 @@ namespace OnlineStore.DeviceLibrary
private int ResultMinCount = -1; private int ResultMinCount = -1;
private string path_XRAY = Application.StartupPath + @"\XRAY\"; private string path_XRAY = Application.StartupPath + @"\XRAY\";
private string path_XRAY_NGBck = Application.StartupPath + @"\XRAY\NGBck";
private string path1_tif = Application.StartupPath + @"\XRAY\tif"; private string path1_tif = Application.StartupPath + @"\XRAY\tif";
private string path2_out = Application.StartupPath + @"\XRAY\out\"; private string path2_out = Application.StartupPath + @"\XRAY\out\";
//private string path3_area = Application.StartupPath + @"\XRAY\area.txt"; //private string path3_area = Application.StartupPath + @"\XRAY\area.txt";
...@@ -68,8 +69,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -68,8 +69,9 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
carerayImage = new CarerayImage("XRay"); xrayImage = new XrayImage("XRay",XrayImage.DeviceType.CARREY);
bool cResult = carerayImage.Open(); //xrayImage = new CarerayImage("XRay");
bool cResult = xrayImage.Open();
LogUtil.info(Name + "carerayImage.Open()=" + cResult); LogUtil.info(Name + "carerayImage.Open()=" + cResult);
carerayImageError = !cResult; carerayImageError = !cResult;
xRay = new XRay("XRay"); xRay = new XRay("XRay");
...@@ -86,13 +88,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -86,13 +88,13 @@ namespace OnlineStore.DeviceLibrary
LastXRayState = "xRay.Open(" + Config.XRay_Port + "," + lastData + ")=" + xresult; LastXRayState = "xRay.Open(" + Config.XRay_Port + "," + lastData + ")=" + xresult;
LogUtil.info(Name + "xRay.Open(" + Config.XRay_Port + "," + lastData + ")=" + xresult); LogUtil.info(Name + "xRay.Open(" + Config.XRay_Port + "," + lastData + ")=" + xresult);
if (!System.IO.Directory.Exists(path1_tif)) if (!Directory.Exists(path1_tif))
{ {
System.IO.Directory.CreateDirectory(path1_tif); Directory.CreateDirectory(path1_tif);
} }
if (!System.IO.Directory.Exists(path2_out)) if (!Directory.Exists(path2_out))
{ {
System.IO.Directory.CreateDirectory(path2_out); Directory.CreateDirectory(path2_out);
} }
ParamManager.Init(); ParamManager.Init();
ResultMinCount = ConfigAppSettings.GetIntValue(Setting_Init.ResultMinCount); ResultMinCount = ConfigAppSettings.GetIntValue(Setting_Init.ResultMinCount);
...@@ -117,7 +119,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -117,7 +119,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (xRay != null) if (xRay != null)
xRay.Close(); xRay.Close();
carerayImage.Close(); xrayImage.Close();
} }
catch (Exception ex) catch (Exception ex)
{ {
......
using CodeLibrary;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Text;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
{
public class TestPlate
{
private static Asa.Signal signal;
static string deviceName = "出口相机";
static TestPlate() {
string path1 = @"backgroundimage.png";
signal = new Asa.Signal();
//signal.ExistChanged += Signal_ExistChanged;
bool rtn = signal.BgImage(path1);
LogUtil.info("出料图像识别背景图加载:" + rtn);
signal.RegionAdd(new Asa.Signal.EyemRegion() { X = 1773, Y = 1097, Width = 1125, Height = 337, Ratio = 0.2 });
signal.RegionAdd(new Asa.Signal.EyemRegion() { X = 1773, Y = 1889, Width = 1125, Height = 685, Ratio = 0.2 });
//cameraName = Config.CameraName;
}
[HandleProcessCorruptedStateExceptions]
public static bool[] TestIt(string cameraName, bool needsaveone = false)
{
HalconDotNet.HObject ho_Image = null;
Bitmap bmp=null;
try
{
ho_Image = Camera._cam.CaptureOnImage(cameraName, out bmp);
if (ho_Image == null)
{
LogUtil.error(deviceName + " 【" + cameraName + "】取图片失败[" + Camera._cam.ErrInfo + "],关闭相机");
Camera._cam.Close(cameraName);
Task.Delay(1000).Wait();
ho_Image = Camera._cam.CaptureOnImage(cameraName, out bmp);
if (ho_Image == null)
{
LogUtil.error(deviceName + " 【" + cameraName + "】第2次取图片失败[" + Camera._cam.ErrInfo + "],关闭相机");
return new bool[] { false, false };
}
}
LogUtil.info("开始图像识别料盘");
bool rtn = signal.Compare(bmp);
if (needsaveone)
{
CodeManager.SaveImageToFile("料盘识别", cameraName, bmp);
}
if (rtn)
{
LogUtil.error(deviceName + $" 图像匹配成功:[0]:{signal.IsExist[0]},[1]:{signal.IsExist[1]}");
return signal.IsExist;
}
else
{
LogUtil.error(deviceName + " 图像匹配失败");
return new bool[] { false, false };
}
}
catch (Exception e)
{
LogUtil.error(deviceName + " " + e.Message);
}
finally {
ho_Image.Dispose();
if (bmp != null) {
bmp.Dispose();
}
}
return new bool[] { false, false };
}
}
}
...@@ -20,13 +20,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -20,13 +20,14 @@ namespace OnlineStore.DeviceLibrary
public static List<string> codeTypeList = new List<string>(); public static List<string> codeTypeList = new List<string>();
public static List<string> balserNameList = new List<string>(); public static List<string> balserNameList = new List<string>();
public static List<string> hikNameList = new List<string>(); public static List<string> hikNameList = new List<string>();
private static char spiltChar = '#'; private static char spiltChar = '#';
/// <summary> /// <summary>
/// 初始化摄像机名称和二维码类型 /// 初始化摄像机名称和二维码类型
/// </summary> /// </summary>
public static void LoadConfig() public static void LoadConfig()
{ {
string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType); string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType);
codeTypeList = new List<string>(); codeTypeList = new List<string>();
HDLogUtil.LogName = "RollingLogFileAppender"; HDLogUtil.LogName = "RollingLogFileAppender";
...@@ -158,9 +159,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -158,9 +159,9 @@ namespace OnlineStore.DeviceLibrary
if (!findRightCode) if (!findRightCode)
{ {
findRightCode = HasRightCode(str); findRightCode = HasRightCode(str);
if (findRightCode)
ccall.Add(code);
} }
if (HasRightCode(str) && ccall.FindAll(x=> x.CodeStr == str).Count()==0)
ccall.Add(code);
} }
} }
...@@ -185,16 +186,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -185,16 +186,14 @@ namespace OnlineStore.DeviceLibrary
{ {
codeList.Add(str); codeList.Add(str);
r = r + "##Halcon|" + codeType + "|" + str; r = r + "##Halcon|" + codeType + "|" + str;
if (!findRightCode) if (!findRightCode)
{ {
findRightCode = HasRightCode(str); findRightCode = HasRightCode(str);
if (findRightCode) ccall.Add(c);
{ nosave = false;
ccall.Add(c);
//if (codeType == "QR Code")
nosave = false;
}
} }
//if (HasRightCode(str) && ccall.FindAll(x => x.CodeStr == str).Count() == 0)
} }
} }
} }
...@@ -271,7 +270,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -271,7 +270,7 @@ namespace OnlineStore.DeviceLibrary
} }
return dire + iamgeName; return dire + iamgeName;
} }
private static void SaveImageToFile(string deviceName, string cameraName, Bitmap bitmap) public static void SaveImageToFile(string deviceName, string cameraName, Bitmap bitmap)
{ {
string date = deviceName.Trim().Replace('_', '-') + "-" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + "-" + DateTime.Now.Millisecond.ToString().PadLeft(4, '0'); string date = deviceName.Trim().Replace('_', '-') + "-" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + "-" + DateTime.Now.Millisecond.ToString().PadLeft(4, '0');
string dire = @"D:\image\" + deviceName.Trim().Replace('_', '-') + @"\" + cameraName.Trim().Replace('_', '-').Replace(':', '-') + @"\"; string dire = @"D:\image\" + deviceName.Trim().Replace('_', '-') + @"\" + cameraName.Trim().Replace('_', '-').Replace(':', '-') + @"\";
...@@ -374,9 +373,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -374,9 +373,10 @@ namespace OnlineStore.DeviceLibrary
} }
return ReplaceCode(code); return ReplaceCode(code);
} }
public static string GetValidCode(List<string> codeList) public static string GetValidCode(List<string> codeList, out string msg)
{ {
string code = ""; string code = "";
msg = "";
List<string> targetCode = new List<string>(); List<string> targetCode = new List<string>();
foreach (string cc in codeList) foreach (string cc in codeList)
{ {
...@@ -427,10 +427,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -427,10 +427,12 @@ namespace OnlineStore.DeviceLibrary
else if (targetCode.Count <= 0) else if (targetCode.Count <= 0)
{ {
LogUtil.info("解析条码【" + code + "】失败:未找到有效条码"); LogUtil.info("解析条码【" + code + "】失败:未找到有效条码");
msg = "无有效条码NG";
} }
else else
{ {
LogUtil.info("解析条码【" + code + "】失败:有多个(" + targetCode.Count + ")有效条码"); LogUtil.info("解析条码【" + code + "】失败:有多个(" + targetCode.Count + ")有效条码");
msg = "有(" + targetCode.Count + ")有效条码NG";
} }
return ""; return "";
} }
......
...@@ -216,7 +216,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -216,7 +216,6 @@ namespace OnlineStore.DeviceLibrary
string labelName = ConfigAppSettings.GetValue(Setting_Init.LabelName); string labelName = ConfigAppSettings.GetValue(Setting_Init.LabelName);
PrintBean.LoadLabel(labelName); PrintBean.LoadLabel(labelName);
PrintBean.Printer(PrintName, false); PrintBean.Printer(PrintName, false);
LogUtil.info("PrintLabel 打印机初始化完成【" + labelName + "】【" + PrintName + "】"); LogUtil.info("PrintLabel 打印机初始化完成【" + labelName + "】【" + PrintName + "】");
System.Drawing.Printing.PrintDocument print = new System.Drawing.Printing.PrintDocument(); System.Drawing.Printing.PrintDocument print = new System.Drawing.Printing.PrintDocument();
......
...@@ -163,6 +163,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -163,6 +163,25 @@ namespace OnlineStore.DeviceLibrary
{ {
return !String.IsNullOrEmpty(server); return !String.IsNullOrEmpty(server);
} }
public static bool GetReekinfo(string codeStr, out ReelResult reelResult) {
string[] codeArray = codeStr.Split(';');
if (codeArray.Length != 2)
{
reelResult = null;
return false;
}
string resultStr = HttpHelper.Get("http://10.85.199.25/myproject/rest/api/qisda/device/resolveCode?code=" + codeArray[1], Encoding.UTF8,1000);
ServerResult serverResult = JsonHelper.DeserializeJsonToObject<ServerResult>(resultStr);
if (serverResult.code == 0) {
reelResult = serverResult.data;
return true;
} else {
reelResult = null;
return false;
}
}
} }
// http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/VMICheckRLC?reelID=R014212020051100876&partNum=6C.R0034.1D1 // http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/VMICheckRLC?reelID=R014212020051100876&partNum=6C.R0034.1D1
// {"data":{"IFneed":"需要","iftest":"未测值","component":"","msg":"未获取到测量RLC时间","status":1}} // {"data":{"IFneed":"需要","iftest":"未测值","component":"","msg":"未获取到测量RLC时间","status":1}}
...@@ -179,6 +198,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -179,6 +198,19 @@ namespace OnlineStore.DeviceLibrary
public string msg { get; set; } public string msg { get; set; }
public int status { get; set; } public int status { get; set; }
} }
public class ServerResult {
public int code;
public string msg;
public ReelResult data;
}
public class ReelResult
{
public int qty;
public int w;
public int h;
public string pn;
}
} }
...@@ -584,6 +584,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -584,6 +584,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
OT08_Clamping_Work, OT08_Clamping_Work,
OT08_2_Wait_Out_TrayCheck, OT08_2_Wait_Out_TrayCheck,
OT08_3_Wait_Out_TrayCheck,
/// <summary> /// <summary>
/// 取料: 取料Z轴返回P1 /// 取料: 取料Z轴返回P1
/// </summary> /// </summary>
...@@ -605,6 +606,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -605,6 +606,14 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 取料: 取料气缸放松 /// 取料: 取料气缸放松
/// </summary> /// </summary>
OT14_a_Clamping_Clamp,
/// <summary>
/// 取料: 取料气缸放松
/// </summary>
OT14_b_Clamping_Relax,
/// <summary>
/// 取料: 取料气缸放松
/// </summary>
OT14_Clamping_Relax, OT14_Clamping_Relax,
/// <summary> /// <summary>
/// 取料: 取料Z轴回到P1 /// 取料: 取料Z轴回到P1
......
...@@ -221,15 +221,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -221,15 +221,20 @@ namespace OnlineStore.DeviceLibrary
string[] codeArray = WareCode.Split(';'); string[] codeArray = WareCode.Split(';');
if (codeArray.Length == 2) if (codeArray.Length == 2)
{ {
//string pnStr = codeArray[0]; pn = codeArray[0];
//if (pnStr.Length >= 5) reald = codeArray[1];
//{ }
// pn = pnStr.Substring(0, 2) + pnStr.Substring(pnStr.Length - 3, 3); return pn + "-" + reald + timeName;
//} }
//else public string GetRawName()
//{ {
// pn = pnStr; string pn = "";
//} string reald = "";
string timeName = "-" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".raw";
string[] codeArray = WareCode.Split(';');
if (codeArray.Length == 2)
{
pn = codeArray[0]; pn = codeArray[0];
reald = codeArray[1]; reald = codeArray[1];
} }
......
...@@ -56,11 +56,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -56,11 +56,11 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
public static string R_In_Start = "R_In_Start"; public static string R_In_Start = "R_In_Start";
/// <summary> /// <summary>
/// DO,1,灯,,,,,,,,,, /// DO,1,绿灯,,,,,,,,,,
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary> /// <summary>
/// DO,1,绿灯,,,,,,,,,, /// DO,1,灯,,,,,,,,,,
/// </summary> /// </summary>
public static string RunSign_HddLed = "RunSign_HddLed"; public static string RunSign_HddLed = "RunSign_HddLed";
/// <summary> /// <summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!