Commit 1ad17547 刘韬

修正io超时报警

1 个父辈 fb13a9c4
......@@ -45,6 +45,7 @@ namespace AutoScanAndLabel
this.关于ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.退出ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.btnUploadTest = new System.Windows.Forms.Button();
this.lastFile = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.btn_releaserightshelf = new System.Windows.Forms.Button();
......@@ -63,7 +64,6 @@ namespace AutoScanAndLabel
this.listView1 = new System.Windows.Forms.ListView();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.panel1 = new System.Windows.Forms.Panel();
this.btnUploadTest = new System.Windows.Forms.Button();
this.menuStrip1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.groupBox4.SuspendLayout();
......@@ -219,6 +219,18 @@ namespace AutoScanAndLabel
this.tabPage1.Text = "状体";
this.tabPage1.UseVisualStyleBackColor = true;
//
// btnUploadTest
//
this.btnUploadTest.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUploadTest.Location = new System.Drawing.Point(390, 391);
this.btnUploadTest.Name = "btnUploadTest";
this.btnUploadTest.Size = new System.Drawing.Size(105, 37);
this.btnUploadTest.TabIndex = 12;
this.btnUploadTest.Text = "File Test";
this.btnUploadTest.UseVisualStyleBackColor = true;
this.btnUploadTest.Visible = false;
this.btnUploadTest.Click += new System.EventHandler(this.btnUploadTest_Click);
//
// lastFile
//
this.lastFile.AutoSize = true;
......@@ -366,9 +378,9 @@ namespace AutoScanAndLabel
// btn_stop
//
this.btn_stop.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_stop.Location = new System.Drawing.Point(25, 119);
this.btn_stop.Location = new System.Drawing.Point(22, 120);
this.btn_stop.Name = "btn_stop";
this.btn_stop.Size = new System.Drawing.Size(105, 37);
this.btn_stop.Size = new System.Drawing.Size(120, 37);
this.btn_stop.TabIndex = 3;
this.btn_stop.Text = "停止";
this.btn_stop.UseVisualStyleBackColor = true;
......@@ -377,9 +389,9 @@ namespace AutoScanAndLabel
// btn_run
//
this.btn_run.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_run.Location = new System.Drawing.Point(25, 50);
this.btn_run.Location = new System.Drawing.Point(22, 54);
this.btn_run.Name = "btn_run";
this.btn_run.Size = new System.Drawing.Size(105, 37);
this.btn_run.Size = new System.Drawing.Size(120, 37);
this.btn_run.TabIndex = 4;
this.btn_run.Text = "启动";
this.btn_run.UseVisualStyleBackColor = true;
......@@ -390,11 +402,11 @@ namespace AutoScanAndLabel
this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.listView1.HideSelection = false;
this.listView1.Location = new System.Drawing.Point(3, 23);
this.listView1.Location = new System.Drawing.Point(3, 22);
this.listView1.MultiSelect = false;
this.listView1.Name = "listView1";
this.listView1.ShowGroups = false;
this.listView1.Size = new System.Drawing.Size(828, 115);
this.listView1.Size = new System.Drawing.Size(828, 109);
this.listView1.TabIndex = 2;
this.listView1.Tag = "not";
this.listView1.UseCompatibleStateImageBehavior = false;
......@@ -402,41 +414,30 @@ namespace AutoScanAndLabel
// groupBox2
//
this.groupBox2.Controls.Add(this.listView1);
this.groupBox2.Location = new System.Drawing.Point(187, 41);
this.groupBox2.Location = new System.Drawing.Point(199, 32);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(834, 141);
this.groupBox2.Size = new System.Drawing.Size(834, 137);
this.groupBox2.TabIndex = 5;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "消息";
//
// panel1
//
this.panel1.Location = new System.Drawing.Point(0, 41);
this.panel1.Location = new System.Drawing.Point(0, 163);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1029, 619);
this.panel1.Size = new System.Drawing.Size(1029, 497);
this.panel1.TabIndex = 6;
//
// btnUploadTest
//
this.btnUploadTest.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUploadTest.Location = new System.Drawing.Point(390, 391);
this.btnUploadTest.Name = "btnUploadTest";
this.btnUploadTest.Size = new System.Drawing.Size(105, 37);
this.btnUploadTest.TabIndex = 12;
this.btnUploadTest.Text = "File Test";
this.btnUploadTest.UseVisualStyleBackColor = true;
this.btnUploadTest.Click += new System.EventHandler(this.btnUploadTest_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1033, 692);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.btn_stop);
this.Controls.Add(this.btn_run);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.btn_run);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.panel1);
this.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
......
......@@ -156,6 +156,7 @@ namespace AutoScanAndLabel
RobotManage.UserPauseSet += RobotManage_UserPauseSet;
DeviceLibrary.Common.LabelResult += Common_LabelResult;
OnlineStore.CodeResourceControl.RefreshLanguageEvent += CodeResourceControl_RefreshLanguageEvent;
panel1.Dock = DockStyle.Fill;
}
private void CodeResourceControl_RefreshLanguageEvent()
......@@ -364,6 +365,20 @@ namespace AutoScanAndLabel
else
lvi.ForeColor = Color.Red;
listView1.Items.Add(lvi);
if (msg.errInfo == ErrInfo.SuddenStop)
{
Task.Run(() =>
{
if (RobotManage.isRunning)
this.Invoke((EventHandler)delegate
{
btn_stop_Click(this, EventArgs.Empty);
});
});
}
}
lastFile.Text = DataUploadUtil.lastFileInfo;
this.ResumeLayout(true);
......@@ -374,7 +389,8 @@ namespace AutoScanAndLabel
private void btn_run_Click(object sender, EventArgs e)
{
if (!RobotManage.isRunning)
{
{
Msg.clear();
RobotManage.Start();
userpause = false;
if (RobotManage.isRunning)
......@@ -651,7 +667,9 @@ namespace AutoScanAndLabel
panel1.Controls.Clear();
//crc.GetString("Res0070", "Agv调试");
panel1.Controls.Add(agv);
}
private void 相机条码ToolStripMenuItem_Click(object sender, EventArgs e)
......
......@@ -89,6 +89,7 @@ namespace AutoScanAndLabel
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(336, 742);
this.tableLayoutPanel1.TabIndex = 102;
this.tableLayoutPanel1.Tag = "not";
//
// groupBox1
//
......@@ -440,6 +441,7 @@ namespace AutoScanAndLabel
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(292, 742);
this.tableLayoutPanel2.TabIndex = 103;
this.tableLayoutPanel2.Tag = "not";
//
// groupBox4
//
......
......@@ -57,7 +57,9 @@ namespace AutoScanAndLabel
private void SettingControl_Load(object sender, EventArgs e)
{
AlarmBuzzer.Enable = Config.Get("EnableBuzzer", true);
cb_EnableBuzzer.Checked = AlarmBuzzer.Enable;
}
private void cb_printerselect_SelectedIndexChanged(object sender, EventArgs e)
......
......@@ -41,14 +41,12 @@ namespace AutoScanAndLabel
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox3.Controls.Add(this.tableLayoutPanel1);
this.groupBox3.Location = new System.Drawing.Point(4, 4);
this.groupBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.groupBox3.Location = new System.Drawing.Point(3, 3);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.groupBox3.Size = new System.Drawing.Size(942, 692);
this.groupBox3.Size = new System.Drawing.Size(628, 461);
this.groupBox3.TabIndex = 108;
this.groupBox3.TabStop = false;
this.groupBox3.Tag = "not";
this.groupBox3.Tag = "";
this.groupBox3.Text = "点位列表";
//
// tableLayoutPanel1
......@@ -63,21 +61,20 @@ namespace AutoScanAndLabel
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10F));
this.tableLayoutPanel1.Location = new System.Drawing.Point(9, 21);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.tableLayoutPanel1.Location = new System.Drawing.Point(6, 14);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.Size = new System.Drawing.Size(924, 662);
this.tableLayoutPanel1.Size = new System.Drawing.Size(616, 441);
this.tableLayoutPanel1.TabIndex = 102;
this.tableLayoutPanel1.Tag = "not";
//
// btnSavePos
//
this.btnSavePos.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnSavePos.Location = new System.Drawing.Point(4, 705);
this.btnSavePos.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.btnSavePos.Location = new System.Drawing.Point(3, 470);
this.btnSavePos.Name = "btnSavePos";
this.btnSavePos.Size = new System.Drawing.Size(200, 46);
this.btnSavePos.Size = new System.Drawing.Size(133, 31);
this.btnSavePos.TabIndex = 109;
this.btnSavePos.Text = "全部保存";
this.btnSavePos.UseVisualStyleBackColor = true;
......@@ -85,13 +82,12 @@ namespace AutoScanAndLabel
//
// ConfigControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.btnSavePos);
this.Controls.Add(this.groupBox3);
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.Name = "ConfigControl";
this.Size = new System.Drawing.Size(1644, 756);
this.Size = new System.Drawing.Size(1096, 504);
this.Load += new System.EventHandler(this.ConfigControl_Load);
this.groupBox3.ResumeLayout(false);
this.ResumeLayout(false);
......
......@@ -289,6 +289,7 @@ menuStrip1_语言toolStripMenuItem_Text 语言 Language
AgvRequest_FeedPort 进料口AGV请求应答 LP AGV Respond Request.
AgvRequest_Outlet 出料口AGV请求应答 UP AGV Respond Request.
Airpressure_Check 气压检测 Pressure Detection
alarm 报警 Alarm
Alarm_Buzzer 报警蜂鸣器 Alarm Buzzer
Alarm_HddLed 故障指示灯 Fault Indicator
App_Title 自动贴标机 Neo Scan Plus
......@@ -383,23 +384,28 @@ TraySize_13 13寸料盘检测 13-Inch Reel Detection
TraySize_15 15寸料盘检测 15-Inch Reel Detection
TraySize_7 吸盘压力检测 Vacumm Stress Detection
Res0001 关于 {0} About {0}
Res0001.b9534cf3 ...清除报警1 Clear Alarm1
Res0002 版本 {0} Version {0}
Res0002.99b78abc ...清除报警2 Clear Alarm2
Res0003 信息 Message
Res0004 时间 Time
Res0005 模块 Module
Res0006 步骤 Step
Res0007 日志 Log
Res0008 IO调试 IO Diagnostic
Res0008.226d8802 ...使能成功 ... Enable Succeed
Res0009 伺服调试 Servo Config.
Res0010 相关设置 Related Settings
Res0011 配置模式 Enable Config Mode
Res0012 停用配置模式 Disable Config Mode
Res0012.ebec6459 ...尝试使能失败 ... Enable Failed
Res0013 暂停运行 Pause Execution
Res0014 恢复运行 Resume Execution
Res0015 启动 Start
Res0016 重置 Reset
Res0017 扫码还没完成,无法打开调试!请稍后再试. Waiting For Scan Completion To Do Config.
Res0018 料串已是释放状态 Reel Already Released
Res0018.7f6dfad7 ...伺服连接中
Res0019 正在执行料串释放 Reel Releasing
Res0020 出口料串正在提升或下降, 不能释放 UP Stacker Movement,Releasing is Not Allowed.
Res0021 出口料串等待释放中({0}) Waiting For Release {0}
......@@ -414,7 +420,9 @@ Res0029 点位列表 Poisition List
Res0030 全部保存 Save All
Res0031 添加 Add
Res0032 修改 Edit
Res0032.1bf30741 第{0}次尝试打开轴:{1} Try To Enable Axis: {1} For {0} Times
Res0033 确定要删除:\"{0}\"? Confirm Deletion:\"{0}\"?
Res0033.814c87d5 ...伺服忙碌,急停{0}次 ... Servo Busy, EM Stop {0} Times
Res0034 警告 Caution
Res0035 已呼叫AGV,不能重复呼叫 AGV Alreay Called. Cannot Repeat
Res0036 移载 Transfer Unit
......@@ -512,6 +520,7 @@ Res0127.a5affabf 设备未启动 Machine Not Started
Res0128.e5d9ef10 模版匹配失败 Template Matching Failure
Res0129.0e13d0de 标签打印失败,请检查打印机状态,关门后将自动重试 Label printing failure.Please check the status. Will automatically retry after closing the door
Res0130.c3836615 标签吸取失败,请检查,关门后将自动重试 Label sucking failed, please check, will automatically retry after closing the door
Res0131.df796d2d 运动报警 Motion Alarm
Res0188 电夹爪通讯失败:{0} Eletric Gripper Communication Failure:{0}
Res0189 IO板卡初始化失败 IO Card Failed To Initialize.
Res0190 打开配置模式 Turn On Configuration Modo
......
......@@ -30,25 +30,72 @@ namespace DeviceLibrary
AxisName = deviceName + " " + Config.Explain + "[" + Config.DeviceName + "-" + Config.GetAxisValue() + "]";
List.Add(this);
}
public bool Open(bool isCheck, out string Msg)
int openretry = 0;
public bool Open(bool clearalarm, out string Msg, out string detaillog)
{
Msg = "";
Msg = AxisName + ":";
detaillog = Msg;
string portName = Config.DeviceName;
short slvAddr = Config.GetAxisValue();
AxisManager.AlarmClear(portName, slvAddr);
Thread.Sleep(50);
AxisManager.ServoOn(portName, slvAddr);
Thread.Sleep(50);
//打开所有轴
if (isCheck)
var sts = HuichuanLibrary.HCBoardManager.GetAxisSts(slvAddr);
detaillog += sts.ToStr();
//if (Config.Disable)
// return true;
var isalarm = AxisManager.GetAlarmStatus(portName, slvAddr) == 1;
if (clearalarm && isalarm)
{
if (!OpenAxis(out Msg))
Msg += crc.GetString("Res0001.b9534cf3", "...清除报警1");
AxisManager.AlarmClear(Config.ProName, slvAddr);
Thread.Sleep(500);
}
else if (isalarm)
{
Msg = $"[{crc.GetString(Config.ProName, Config.Explain)}] {crc.GetString("alarm", "报警")}";
detaillog = $"[{crc.GetString(Config.ProName, Config.Explain)}]{string.Join(",", HuichuanLibrary.HCBoardManager.GetAxisErrorDetail(slvAddr))}";
return false;
}
if (AxisManager.IsServeoOn(portName, slvAddr))
{
openretry = 0;
return true;
}
openretry++;
{
//Msg += string.Format(crc.GetString("Res0032.1bf30741", "第{0}次尝试打开轴:{1}"), openretry, crc.GetString(Config.ProName, Config.Explain));
detaillog += string.Format(crc.GetString("Res0032.1bf30741", "第{0}次尝试打开轴:{1}"), openretry, crc.GetString(Config.ProName, Config.Explain));
if (AxisManager.GetBusyStatus(portName, slvAddr) == 1)
{
return false;
AxisManager.SuddenStop(portName, slvAddr);
Msg += string.Format(crc.GetString("Res0033.814c87d5", "...伺服忙碌,急停{0}次"), openretry);
Thread.Sleep(500);
}
if (clearalarm && AxisManager.GetAlarmStatus(portName, slvAddr) == 1)
{
Msg += crc.GetString("Res0002.99b78abc", "...清除报警2");
AxisManager.AlarmClear(portName, slvAddr);
Thread.Sleep(500);
}
AxisManager.ServoOn(portName, slvAddr);
Thread.Sleep(500);
if (AxisManager.IsServeoOn(portName, slvAddr))
{
Msg += crc.GetString("Res0008.226d8802", "...使能成功");
openretry = 0;
return true;
}
else
Msg += crc.GetString("Res0012.ebec6459", "...尝试使能失败");
Thread.Sleep(1000);
if (openretry < 5)
Msg += crc.GetString("Res0018.7f6dfad7", "...伺服连接中");
detaillog += Msg;
}
return true;
return false;
}
/// <summary>
/// 打开所有轴
......@@ -305,16 +352,19 @@ namespace DeviceLibrary
}
#endregion
public static bool RunMultiAxis(bool isCheck, out string msg, List<AxisBean> axisArray)
public static bool RunMultiAxis(bool isClearAlarm, out string msg, List<AxisBean> axisArray)
{
msg = "";
if (axisArray == null)
{
return false;
}
foreach (AxisBean axis in axisArray)
{
bool result = axis.Open(false, out msg);
if (!result || (!String.IsNullOrEmpty(msg)))
bool result = axis.Open(isClearAlarm, out msg, out string log);
if (!result)
{
//SetWarnMsg(Name + msg);
//Alarm(AlarmType.AxisAlarm);
LogUtil.error(log);
return false;
}
}
......
......@@ -913,7 +913,7 @@ namespace DeviceLibrary
public string msgtxt;
public MsgLevel msgLevel;
public DateTime datetime;
public ErrInfo errInfo;
public static List<Msg> get()
{
if (_setlogones)
......@@ -925,9 +925,14 @@ namespace DeviceLibrary
List<Msg> mm = new List<Msg>(msg);
return mm;
}
public static void add(string m, MsgLevel ml)
public static void add(string m, MsgLevel ml, ErrInfo errInfo = ErrInfo.Empty)
{
msg.Add(new Msg { msgtxt = m, msgLevel = ml, datetime = DateTime.Now });
lock (msg)
{
var fm = msg.Find((x) => x.msgtxt == m);
if (fm == null)
msg.Add(new Msg { msgtxt = m, msgLevel = ml, datetime = DateTime.Now, errInfo = errInfo });
}
}
static bool _setlogones = false;
internal static void setlogones()
......@@ -946,6 +951,15 @@ namespace DeviceLibrary
info,
alarm
}
public enum ErrInfo
{
Empty,
X09_BoxNotDetect,
ResetBtn,
RunBtn,
SuddenStop,
X09_Clear
}
public class IdWorker
{
private long workerId;
......
......@@ -189,7 +189,7 @@ namespace DeviceLibrary
LogUtil.error(WarnMsg, logType + 100, second);
//MoveInfo.errlog(WarnMsg);
Alarm(AlarmType.IoSingleTimeOut, WarnMsg);
Msg.add(WarnMsg, MsgLevel.warning);
Msg.add(WarnMsg, MsgLevel.alarm);
}
return true;
}
......
......@@ -27,13 +27,13 @@ namespace DeviceLibrary
RunningLed.LedState = LedState.off;
RightLed.LedState = LedState.off;
LeftLed.LedState = LedState.off;
//无法运行,量报警灯
if (!canRunning || IsAlarm)
{
AlarmLed.LedState = LedState.on;
}
else
AlarmLed.LedState = LedState.off;
////无法运行,量报警灯
//if (!canRunning || IsAlarm)
//{
// AlarmLed.LedState = LedState.on;
//}
//else
// AlarmLed.LedState = LedState.off;
//所有过程都在运动,闪烁运行中灯
//if (!RightMoveInfo.IsStep(MoveStep.Wait)
// || !LeftMoveInfo.IsStep(MoveStep.Wait)
......@@ -43,12 +43,13 @@ namespace DeviceLibrary
// RunningLed.LedState = LedState.on;
//}
if (alarmType != AlarmType.None || IsAlarm)
if (IsAlarm)
{
AlarmLed.LedState = LedState.on;
AlarmBuzzer.ON();
}
else {
AlarmLed.LedState = LedState.off;
AlarmBuzzer.OFF();
}
if (runStatus == RunStatus.HomeReset)
......
......@@ -170,13 +170,13 @@ namespace DeviceLibrary
RightMoveInfo.NextMoveStep(MoveStep.R33);
IOMove(IO_Type.RightMoto_Run, IO_VALUE.LOW);
IOMove(IO_Type.RightMoto_Reverse, IO_VALUE.HIGH);
MiddleMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RightEnd_Check, IO_VALUE.LOW));
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RightEnd_Check, IO_VALUE.LOW));
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
RightMoveInfo.log($"电滚筒向外滚动");
break;
case MoveStep.R33:
RightMoveInfo.NextMoveStep(MoveStep.R34);
MiddleMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RightFornt_Check, IO_VALUE.LOW));
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RightFornt_Check, IO_VALUE.LOW));
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
RightMoveInfo.OneWaitCanEndStep = true;
RightMoveInfo.log($"等待前置检测拉低");
......@@ -205,9 +205,9 @@ namespace DeviceLibrary
IOMove(IO_Type.RightMoto_Reverse, IO_VALUE.LOW);
IOMove(IO_Type.RightMoto_Run, IO_VALUE.HIGH);
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RightEnd_Check, IO_VALUE.HIGH));
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(60000));
RightMoveInfo.TimeOutSeconds = 60;
RightMoveInfo.OneWaitCanEndStep = true;
RightMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5*1000));
//RightMoveInfo.TimeOutSeconds = 60;
//RightMoveInfo.OneWaitCanEndStep = true;
RightMoveInfo.log($"等待料串到位");
break;
case MoveStep.R43:
......
......@@ -435,7 +435,6 @@ namespace DeviceLibrary
/// </summary>
DateTime lastAirCloseTime = DateTime.MinValue;
internal DateTime checkAlarmTime = DateTime.Now;
public bool DeviceCheck()
{
bool ok = true;
......@@ -473,9 +472,14 @@ namespace DeviceLibrary
{
lastAirCloseTime = DateTime.MinValue;
}
if (ok && !AxisBean.RunMultiAxis(false, out string msg, AxisBean.List))
{
ok = false;
Msg.add(msg,MsgLevel.alarm,ErrInfo.SuddenStop);
//LogUtil.Log.Error(msg);
}
if (alarmType != AlarmType.SuddenStop)
{
TimeSpan span = DateTime.Now - checkAlarmTime;
//在回原点,复位,出入库时,检测报警间隔减小
if (!runStatus.Equals(RunStatus.Stop))
{
......@@ -483,7 +487,7 @@ namespace DeviceLibrary
{
if (AxisManager.GetAlarmStatus(configMoveAxis.DeviceName, configMoveAxis.GetAxisValue()) == 1)
{
Msg.add($"{configMoveAxis.Explain}:运动报警", MsgLevel.alarm);
Msg.add(crc.GetString(configMoveAxis.ProName, configMoveAxis.Explain) + crc.GetString("Res0131.df796d2d","运动报警"), MsgLevel.alarm, ErrInfo.SuddenStop);
ok = false;
}
}
......
......@@ -100,15 +100,17 @@ namespace DeviceLibrary
}
mainMachine.ServerCM.StartConnectServer();
clampTool.Open();
AxisBean.List.ForEach((x) => { AxisManager.AlarmClear(x.Config.DeviceName, x.Config.GetAxisValue()); });
Task.Delay(500).Wait();
mainMachine.OpenAllServo();
mainThread = new Thread(new ThreadStart(mainMachine.Run));
mainThread.Start();
isRunning = true;
GC.KeepAlive(mainThread);
Task.Run(() =>
{
AxisBean.List.ForEach((x) => { AxisManager.AlarmClear(x.Config.DeviceName, x.Config.GetAxisValue()); });
Task.Delay(1000).Wait();
if (mainMachine.DeviceCheck())
//Task.Delay(1000).Wait();
//if (mainMachine.DeviceCheck())
mainMachine.BeginHomeReset(true);
});
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!