Commit 232d4f2f 张东亮

1

1 个父辈 5ad947ef
......@@ -92,6 +92,12 @@
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="FrmLabelEdit.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmLabelEdit.Designer.cs">
<DependentUpon>FrmLabelEdit.cs</DependentUpon>
</Compile>
<Compile Include="IOControl.cs">
<SubType>UserControl</SubType>
</Compile>
......@@ -146,6 +152,9 @@
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmLabelEdit.resx">
<DependentUpon>FrmLabelEdit.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IOControl.resx">
<DependentUpon>IOControl.cs</DependentUpon>
</EmbeddedResource>
......
......@@ -66,20 +66,6 @@ namespace AutoScanAndLabel
启用调试模式ToolStripMenuItem.Text = !RobotManage.IsDebug ? crc.GetString("Res0101", "启用配置模式") : crc.GetString("Res0012", "停用配置模式");
if (RobotManage.isRunning)
{
if (userpause)
{
btn_run.BackColor = Color.LightGreen;
btn_run.Text = crc.GetString("Res0014", "恢复运行");
}
else
{
btn_run.Text = crc.GetString("Res0013", "暂停运行");
btn_run.BackColor = Color.Yellow;
}
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
......@@ -153,7 +139,52 @@ namespace AutoScanAndLabel
AddForm("Res0007", crc.GetString("Res0007", "日志"), lc);
RobotManage.Init();
RobotManage.UserPauseSet += RobotManage_UserPauseSet;
Common.LabelResult += Common_LabelResult;
OnlineStore.CodeResourceControl.RefreshLanguageEvent += CodeResourceControl_RefreshLanguageEvent;
}
private void CodeResourceControl_RefreshLanguageEvent()
{
if(RobotManage.isRunning)
{
if (userpause)
{
(btn_run as Button).Text = crc.GetString("Res0014", "恢复运行");
}
else
{
(btn_run as Button).Text = crc.GetString("Res0013", "暂停运行");
}
}
}
private void Common_LabelResult(LabelResult args)
{
if (ConfigHelper.Config.Get("ShowLabelResultImg", true))
try
{
if (pictureBox1.InvokeRequired)
{
pictureBox1.Invoke(new Action(() =>
{
pictureBox1.Visible = true;
pictureBox1.Image = args.Bitmap;
}
));
}
else
{
pictureBox1.Visible = true;
pictureBox1.Image = args.Bitmap;
}
}
catch (Exception ex)
{
LogUtil.error("Common_LabelResult", ex);
}
}
private void RobotManage_UserPauseSet(object sender, bool e)
{
if (this.InvokeRequired)
......@@ -262,8 +293,6 @@ namespace AutoScanAndLabel
(sender as ToolStripMenuItem).Text = !RobotManage.IsDebug ? crc.GetString("Res0101", "设备操作") : crc.GetString("Res0012", "停用配置模式");
//RobotManage.Init();
if (RobotManage.IsDebug)
{
RobotManage.Config = (Robot_Config)CSVConfigReader.LoadConfig(RobotManage.Config);
......@@ -284,7 +313,8 @@ namespace AutoScanAndLabel
private void MainMachine_ProcessMsgEvent(List<Msg> msgs)
{
var d = new setmsgdelegate(SetMsg);
this.Invoke(d, msgs);
if (this.IsHandleCreated)
this.Invoke(d, msgs);
}
private void RobotManage_LoadFinishEvent(bool state, string msg)
......@@ -570,5 +600,24 @@ namespace AutoScanAndLabel
crc.CurrLanguage = Config.Get("Default_Language");
crc.LanguageChange();
}
private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
var obj = sender as PictureBox;
if (obj.Dock == DockStyle.Fill)
obj.Dock = DockStyle.None;
else
{
obj.BringToFront();
obj.Dock = DockStyle.Fill;
}
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
var obj = sender as PictureBox;
if (obj.Dock == DockStyle.Fill)
obj.Dock = DockStyle.None;
}
}
}
\ No newline at end of file
using CodeLibrary;
using DeviceLibrary;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Threading.Tasks;
using System.Windows.Forms;
using JsonHelper = OnlineStore.Common.JsonHelper;
namespace PrintLabel
{
public partial class FrmLabelEdit : Form
{
public FrmLabelEdit()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
loadCames();
}
void loadCames()
{
comboBox1.Items.AddRange(CodeManager.cameraNameList.ToArray());
if (comboBox1.Items.Count > 0)
comboBox1.SelectedIndex = 0;
}
string filename = "";
List<CodeInfo> codeinfo = null;
Dictionary<string, string> keyword;
private void btnAcquire_Click(object sender, EventArgs e)
{
Task.Factory.StartNew(delegate
{
(codeinfo, keyword, filename)= CodeManager.CameraScan(new List<string>() { comboBox1.SelectedItem.ToString() });
if (string.IsNullOrEmpty(filename)) return;
pictureBox1.Image = new Bitmap(filename);
});
}
LabelParam labelparam = new LabelParam();
private void btnCalculate_Click(object sender, EventArgs e)
{
//if (string.IsNullOrEmpty(filename)) return;
//labelparam.BitmapFilename = filename;
//labelparam.LabelContent = new LabelContent();
//labelparam.LabelContent.codeInfos = codeinfo;
//labelparam.LabelContent.PN = textBox2.Text;
//labelparam.TrayCenterInImg_X = int.Parse(txtX.Text);
//labelparam.TrayCenterInImg_Y = int.Parse(txtY.Text);
//labelparam.LabelInImgAngle = int.Parse(txtLabel_R_Angle_Diff.Text);
//labelparam.RelativeAngle = int.Parse(txtRelativeAngle.Text);
//(string resFile, int codeAngle, int labelAngle, int needRound) res = LabelManager.CalcLabelAngle(labelparam, true);
//lblCodePos.Text = $"二维码角度:{res.codeAngle}°";
//lblAngle.Text = $"旋转角度:{res.needRound}°";
//lblLabelAngle.Text = $"标签角度:{res.labelAngle}°";
//pictureBox2.Image = new Bitmap(res.resFile);
//textBox1.Text = JsonHelper.SerializeObject(codeinfo);
}
private void load(int side = 0)
{
if (side == 0)
{
//txtX.Text = ConfigAppSettings.GetValue(Setting_Init.TrayCenterInImg_X_CamA,"2600");
//txtY.Text = ConfigAppSettings.GetValue(Setting_Init.TrayCenterInImg_Y_CamA,"1700");
//txtLabel_R_Angle_Diff.Text = ConfigAppSettings.GetValue(Setting_Init.LabelInImgAngle_CamA,"190");
//txtRelativeAngle.Text = ConfigAppSettings.GetValue(Setting_Init.RelativeAngle_CamA,"150");
}
}
private void save(int side = 0)
{
//if (side == 0)
//{
// ConfigAppSettings.SaveValue(Setting_Init.TrayCenterInImg_X_CamA, txtX.Text);
// ConfigAppSettings.SaveValue(Setting_Init.TrayCenterInImg_Y_CamA, txtY.Text);
// ConfigAppSettings.SaveValue(Setting_Init.LabelInImgAngle_CamA, txtLabel_R_Angle_Diff.Text);
// ConfigAppSettings.SaveValue(Setting_Init.RelativeAngle_CamA, txtRelativeAngle.Text);
//}
//else if (side == 1)
//{
// ConfigAppSettings.SaveValue(Setting_Init.TrayCenterInImg_X_CamB, txtX.Text);
// ConfigAppSettings.SaveValue(Setting_Init.TrayCenterInImg_Y_CamB, txtY.Text);
// ConfigAppSettings.SaveValue(Setting_Init.LabelInImgAngle_CamB, txtLabel_R_Angle_Diff.Text);
// ConfigAppSettings.SaveValue(Setting_Init.RelativeAngle_CamB, txtRelativeAngle.Text);
//}
//else
// return;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
load(comboBox1.SelectedIndex);
}
private void button1_Click(object sender, EventArgs e)
{
save(comboBox1.SelectedIndex);
}
}
}
......@@ -6,6 +6,7 @@ using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
......@@ -36,24 +37,32 @@ namespace AutoScanAndLabel
public int showCount = 30;
private void ShowLogPro(string msg, Color color)
{
try
if(Monitor.TryEnter(logBox))
{
if (logList.Count >= showCount)
try
{
logList.RemoveAt(0);
}
if (logList.Count >= showCount)
{
logList.RemoveAt(0);
}
DateTime now = DateTime.Now;
logList.Add(now.ToLongTimeString() + " " + msg + Environment.NewLine);
logBox.Text= string.Join("", logList);
logBox.Select(logBox.Text.Length, 0);
logBox.ScrollToCaret();
DateTime now = DateTime.Now;
logList.Add(now.ToLongTimeString() + " " + msg + Environment.NewLine);
logBox.Text = string.Join("", logList);
logBox.Select(logBox.Text.Length, 0);
logBox.ScrollToCaret();
}
catch (Exception ex)
{
LogUtil.error("出错:" + ex.ToString());
}
finally
{
Monitor.Exit(logBox);
}
}
catch (Exception ex)
{
LogUtil.error("出错:" + ex.ToString());
}
}
private void LogControl_Load(object sender, EventArgs e)
......
......@@ -75,7 +75,7 @@ namespace AutoScanAndLabel
private void btn_labeledit_Click(object sender, EventArgs e)
{
var keys = File.ReadAllLines("NeoScan\\config\\MacroKey.txt");
var keys = File.ReadAllLines("NeoScan\\Config\\MacroKey.txt");
//RobotManage.PrintBean.EditLabel();
PrintLabel.FrmLabel frmLabel = new PrintLabel.FrmLabel();
......
......@@ -15,6 +15,8 @@ namespace DeviceLibrary
{
public class Common
{
public delegate void LabelResultEventHandler(LabelResult args);
public static event LabelResultEventHandler LabelResult;
/**获取角度*/
// 求3点形成的夹角
public static float getAngle2(Point pt1, Point pt2, Point pt0)
......@@ -46,7 +48,7 @@ namespace DeviceLibrary
double mb_x = pt2.X - pt1.X;
double mb_y = pt2.Y - pt1.Y;
double rotation = Math.Atan2(mb_y, mb_x);
rotation = rotation / Math.PI * 180;
return rotation;
......@@ -87,7 +89,8 @@ namespace DeviceLibrary
/// <param name="angle">角度</param>
/// <param name="distance">距离</param>
/// <returns></returns>
public static Point PointWithAngle(Point p1, double angle, double distance) {
public static Point PointWithAngle(Point p1, double angle, double distance)
{
var x2 = p1.X + distance * Math.Cos(angle / 180 * Math.PI);
var y2 = p1.Y + distance * Math.Sin(angle / 180 * Math.PI);
return new Point((int)x2, (int)y2);
......@@ -100,24 +103,28 @@ namespace DeviceLibrary
/// <param name="Label_R_Offset">贴标臂偏移</param>
/// <param name="labelAngle">贴标角度</param>
/// <returns></returns>
public static Point CalcLabelPoint(LabelParam labelParam, Point org,int Label_R_Offset, int Label_R_Angle_Diff, out int labelAngle) {
SolidBrush blue = new SolidBrush(Color.BlueViolet);
public static Point CalcLabelPoint(LabelParam labelParam, Point org, int Label_R_Offset, int Label_R_Angle_Diff, out int labelAngle)
{
//标签位置
SolidBrush blue = new SolidBrush(Color.DarkBlue);
//料盘中心点
SolidBrush red = new SolidBrush(Color.Red);
SolidBrush tmpPlace = new SolidBrush(Color.BlueViolet);
//贴标位置
SolidBrush yeelow = new SolidBrush(Color.Yellow);
SolidBrush AliceBlue = new SolidBrush(Color.AliceBlue);
Font font = new Font(FontFamily.GenericSansSerif, 60);
Pen Greenpen = new Pen(Color.Green, 10);
Bitmap srcbitmap;
if (File.Exists(labelParam.bitmapfilename))
{
srcbitmap = new Bitmap(labelParam.bitmapfilename);
}
else {
else
{
srcbitmap = new Bitmap(3648, 3648);
}
Bitmap bitmap = new Bitmap(srcbitmap.Width, srcbitmap.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bitmap);
......@@ -126,33 +133,26 @@ namespace DeviceLibrary
int srcbitmap_Width = srcbitmap.Width;
srcbitmap.Dispose();
//bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);//格力
//bitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);
Size pointsize = new Size(30, 30);
Size pointsize = new Size(60, 60);
int widthOffset = 0;
//Point Right_Batch_Point = new Point(RobotManage.Config.Right_Batch_X, RobotManage.Config.Right_Batch_Y);
Point Right_Batch_Point = org;
g.FillEllipse(blue, new Rectangle(Right_Batch_Point, pointsize));
g.FillEllipse(red, new Rectangle(Right_Batch_Point, pointsize));
List<int> angles = new List<int>();
labelParam.codeInfos.ForEach((c) => {
//var x = c.Y;
//var y = srcbitmap_Width - c.X;
//c.X = x;
//c.Y = y;
List<int> widthOffsets = new List<int>();
labelParam.codeInfos.ForEach((c) =>
{
if (true)
{
Point op = new Point(c.X, c.Y);
g.FillEllipse(blue, new Rectangle(op, pointsize));
var a = (int)getAngle(Right_Batch_Point, op);
a = a < 0 ? 360 + a : a;
//g.FillEllipse(red, new Rectangle(PointRotate(org, op, a), pointsize));
angles.Add(a);
widthOffset = (int)Common.distance(org, op);
widthOffsets.Add(widthOffset);
LogUtil.info($"angles:{a}, widthOffset:{widthOffset}");
}
});
if (angles.Count == 0)
{
......@@ -163,20 +163,23 @@ namespace DeviceLibrary
if (labelParam.PlateW == 15)
{
labelAngle = angles[0] + 120;
}else if (labelParam.PlateW == 13)
}
else if (labelParam.PlateW == 13)
{
labelAngle = angles[0] + 180;
}
else
{
//labelAngle = bigangles + biglen / 2;
labelAngle = angles[0]+180;
labelAngle = angles[0] + 180;
}
labelAngle = labelAngle > 360 ? labelAngle- 360 : labelAngle;
labelAngle = labelAngle > 360 ? labelAngle- 360 : labelAngle;
widthOffset = widthOffsets.Max();
LogUtil.info($"use widthOffset:{widthOffset}");
labelAngle = labelAngle > 360 ? labelAngle - 360 : labelAngle;
labelAngle = labelAngle > 360 ? labelAngle - 360 : labelAngle;
LogUtil.info($"labelAngle1:{labelAngle}");
var p1 = PointWithAngle(org, labelAngle, widthOffset);
g.FillEllipse(tmpPlace, new Rectangle(p1, pointsize));
//匹配照片角度与贴标旋转轴的角度差
labelAngle += 83;
LogUtil.info($"labelAngle2:{labelAngle}");
......@@ -187,7 +190,7 @@ namespace DeviceLibrary
//贴标偏移
var p3 = PointWithAngle(p2, labelAngle, Label_R_Offset);
labelAngle -= 83;
labelAngle = labelAngle > 360 ? labelAngle - 360 : labelAngle;
labelAngle = 360 - labelAngle;
LogUtil.info($"labelAngle4:{labelAngle}");
......@@ -195,13 +198,15 @@ namespace DeviceLibrary
labelAngle += Label_R_Angle_Diff;
labelAngle = labelAngle > 360 ? labelAngle - 360 : labelAngle;
LogUtil.info($"labelAngle5:{labelAngle}");
g.FillEllipse(red, new Rectangle(p3, pointsize));
g.FillEllipse(yeelow, new Rectangle(p3, pointsize));
g.Save();
g.Dispose();
string dir = "/image/labeldebug/";
Directory.CreateDirectory(dir);
bitmap.Save(dir+DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") +".jpg",ImageFormat.Jpeg);
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
string filepath = dir + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + ".jpg";
bitmap.Save(filepath, ImageFormat.Jpeg);
LabelResult?.Invoke(new LabelResult() { Bitmap = (Bitmap)bitmap.Clone() });
bitmap.Dispose();
return p3;
......@@ -209,11 +214,13 @@ namespace DeviceLibrary
static IdWorker id = new IdWorker(1, 1);
static string[] pnreglist;
static string[] qtyreglist;
public static void LoadMatchList() {
public static void LoadMatchList()
{
pnreglist = File.ReadAllLines("config\\pn.list").ToList().FindAll((s) => { return !string.IsNullOrWhiteSpace(s); }).ToArray();
qtyreglist = File.ReadAllLines("config\\qty.list").ToList().FindAll((s) => { return !string.IsNullOrWhiteSpace(s); }).ToArray();
}
public static bool codeProcess(LabelParam labelParam,out string debugmsg) {
public static bool codeProcess(LabelParam labelParam, out string debugmsg)
{
debugmsg = "";
return labelParam.codeInfos.Count > 0;
if (pnreglist == null)
......@@ -232,7 +239,8 @@ namespace DeviceLibrary
foreach (var qtyreg in pnreglist)
{
var partrules = qtyreg.Split('%');
if (partrules.Length == 2) {
if (partrules.Length == 2)
{
if (ci.CodeType != partrules[1])
break;
}
......@@ -286,7 +294,7 @@ namespace DeviceLibrary
//labelParam.codeInfos = newcodeInfos;
labelParam.FC = "985022";
labelParam.RI = "AL"+DateTime.Now.ToString("yyMMddHHmmssf");
labelParam.RI = "AL" + DateTime.Now.ToString("yyMMddHHmmssf");
labelParam.Batch = DateTime.Now.ToString("MMdd");
labelParam.WareCode = labelParam.RI;
LogUtil.info($"匹配成功:{labelParam.PN},{labelParam.QTY},{labelParam.RI}");
......@@ -306,15 +314,22 @@ namespace DeviceLibrary
return dstobject;
}
}
public class LabelResult : EventArgs
{
public string ImgPath { get; set; }
public Bitmap Bitmap { get; set; }
}
public class Msg
{
public static List<Msg> msg = new List<Msg>();
public static List<Msg> msg = new List<Msg>();
public string msgtxt;
public MsgLevel msgLevel;
public DateTime datetime;
public static List<Msg> get() {
if (_setlogones) {
public static List<Msg> get()
{
if (_setlogones)
{
_setlogones = false;
foreach (var m in msg)
LogUtil.info(m.msgtxt);
......@@ -324,7 +339,7 @@ namespace DeviceLibrary
}
public static void add(string m, MsgLevel ml)
{
msg.Add(new Msg { msgtxt = m, msgLevel = ml, datetime=DateTime.Now });
msg.Add(new Msg { msgtxt = m, msgLevel = ml, datetime = DateTime.Now });
}
static bool _setlogones = false;
internal static void setlogones()
......@@ -337,7 +352,8 @@ namespace DeviceLibrary
msg.Clear();
}
}
public enum MsgLevel {
public enum MsgLevel
{
warning,
info
......
......@@ -118,10 +118,12 @@ namespace DeviceLibrary
//计算像素点位与中心点的差
Label_p3 = new Point(p.X - Right_Batch_Point.X, p.Y - Right_Batch_Point.Y);
//计算像素*脉冲像素比得到脉冲值+中心点基准脉冲
Label_p3.X = (int)(Label_p3.X * Config.Cam_Pixel_X_Ratio) + Config.Label_X_P3;
Label_p3.Y = (int)(Label_p3.Y * Config.Cam_Pixel_Y_Ratio) + Config.Label_Y_P3;
int xDiff = (int)(Label_p3.X * Config.Cam_Pixel_X_Ratio);
int yDiff = (int)(Label_p3.Y * Config.Cam_Pixel_Y_Ratio);
Label_p3.X = xDiff + Config.Label_X_P3;
Label_p3.Y = yDiff + Config.Label_Y_P3;
LabelMoveInfo.log($"计算贴标像素点位为{p},轴点位为{Label_p3},角度{labelAngle},R轴{labelAxisPos},盘宽{LabelMoveInfo.MoveParam.PlateW}");
LabelMoveInfo.log($"计算贴标像素点位为{p},轴点位为{Label_p3},X脉冲差值={xDiff},Y脉冲差值={yDiff},角度{labelAngle},R轴{labelAxisPos},盘宽{LabelMoveInfo.MoveParam.PlateW}");
LabelMoveInfo.NextMoveStep(MoveStep.Lbl10_1);
Label_X_Axis.AbsMove(LabelMoveInfo, Config.Label_X_P1, Config.Label_X_P1_speed);
Label_R_Axis.AbsMove(LabelMoveInfo, labelAxisPos, Config.Label_R_P2_speed);
......
......@@ -240,26 +240,27 @@ namespace DeviceLibrary
ResetMoveInfo.log("正在回原");
SafeReleaseLeftShelf = false;
Label_Z_Axis.HomeMove(ResetMoveInfo);
Left_Batch_Axis.HomeMove(ResetMoveInfo);
Right_Batch_Axis.HomeMove(ResetMoveInfo);
clampTool.HomeReset();
break;
case MoveStep.H02_HomeReset:
ResetMoveInfo.NextMoveStep(MoveStep.H03_HomeReset);
ResetMoveInfo.log("正在回原");
Label_Z_Axis.AbsMove(ResetMoveInfo, Config.Label_Z_P1, Config.Label_Z_P1_speed);
Left_Batch_Axis.HomeMove(ResetMoveInfo);
Right_Batch_Axis.HomeMove(ResetMoveInfo);
Label_R_Axis.HomeMove(ResetMoveInfo);
Label_X_Axis.HomeMove(ResetMoveInfo);
Label_Y_Axis.HomeMove(ResetMoveInfo);
ResetMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
break;
case MoveStep.H03_HomeReset:
ResetMoveInfo.NextMoveStep(MoveStep.H04_HomeReset);
ResetMoveInfo.log("正在回原");
Label_X_Axis.HomeMove(ResetMoveInfo);
Label_Y_Axis.HomeMove(ResetMoveInfo);
Label_Z_Axis.AbsMove(ResetMoveInfo, Config.Label_Z_P1, Config.Label_Z_P1_speed);
Label_R_Axis.AbsMove(ResetMoveInfo, Config.Label_R_P1, Config.Label_R_P1_speed);
break;
case MoveStep.H04_HomeReset:
ResetMoveInfo.NextMoveStep(MoveStep.H05_HomeReset);
ResetMoveInfo.log("正在回原");
Label_R_Axis.AbsMove(ResetMoveInfo, Config.Label_R_P1, Config.Label_R_P1_speed);
Take_UpDown_Axis.HomeMove(ResetMoveInfo);
ResetMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
break;
......@@ -268,20 +269,19 @@ namespace DeviceLibrary
Take_Middle_Axis.HomeMove(ResetMoveInfo);
Label_X_Axis.AbsMove(ResetMoveInfo, Config.Label_X_P1, Config.Label_X_P1_speed);
Label_Y_Axis.AbsMove(ResetMoveInfo, Config.Label_Y_P1, Config.Label_Y_P1_speed);
Right_Batch_Axis.AbsMove(ResetMoveInfo, Config.Right_Batch_P1, Config.Right_Batch_P1_speed);
Left_Batch_Axis.AbsMove(ResetMoveInfo, Config.Left_Batch_P1, Config.Left_Batch_P1_speed);
ResetMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
break;
case MoveStep.H06_HomeReset:
ResetMoveInfo.NextMoveStep(MoveStep.H07_HomeReset);
ResetMoveInfo.log("正在回原");
Take_UpDown_Axis.AbsMove(ResetMoveInfo, Config.Take_UpDown_P1, Config.Take_UpDown_P1_speed);
Right_Batch_Axis.AbsMove(ResetMoveInfo, Config.Right_Batch_P1, Config.Right_Batch_P1_speed);
Left_Batch_Axis.AbsMove(ResetMoveInfo, Config.Left_Batch_P1, Config.Left_Batch_P1_speed);
ResetMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
break;
case MoveStep.H07_HomeReset:
ResetMoveInfo.NextMoveStep(MoveStep.H08_HomeReset);
Take_Middle_Axis.AbsMove(ResetMoveInfo, Config.Take_Middle_P1, Config.Take_Middle_P1_speed);
ResetMoveInfo.log("正在回原 进出料口滚筒正转10秒");
ResetMoveInfo.log("正在回原 进出料口滚筒正转5秒");
IOMove(IO_Type.LeftMoto_Reverse, IO_VALUE.LOW);
IOMove(IO_Type.RightMoto_Reverse, IO_VALUE.LOW);
IOMove(IO_Type.LeftMoto_Run, IO_VALUE.HIGH);
......
......@@ -109,13 +109,12 @@ namespace DeviceLibrary
mainMachine?.ServerCM?.StopConnectServer();
mainMachine?.Stop();
mainMachine.UserPause = false;
//IOManager.CloseAllConnection();
//electricGripper.ClosePort();
isRunning = false;
}
public static void ShutDown()
{
LogUtil.info("开始关闭系统.");
IOManager.CloseAllDO();
IOManager.CloseAllConnection();
clampTool.Close();
}
......
......@@ -36,7 +36,10 @@ namespace DeviceLibrary
electricGripper.ClosePort();
return true;
}
return true;
else
{
return SuckerRelease();
}
}
public void HomeReset()
{
......@@ -44,6 +47,10 @@ namespace DeviceLibrary
{
electricGripper.HomeReset();
}
else
{
SuckerRelease();
}
}
/// <summary>
/// 释放
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!