|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.ComponentModel;
|
|
|
using System.Data;
|
|
|
using System.Drawing;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Windows.Forms;
|
|
|
using ocean;
|
|
|
using demo.ClassHelper.MsgBox;
|
|
|
|
|
|
namespace demo.UI
|
|
|
{
|
|
|
public partial class FormMove : Form
|
|
|
{
|
|
|
#region 全局变量
|
|
|
|
|
|
private bool _b2nd = false; //是否为二代机
|
|
|
|
|
|
//轴关联 一代机
|
|
|
public static int _upx = 51001; //上下料x轴
|
|
|
public static int _upy = 51003; //上下料Y2轴
|
|
|
public static int _upy1 = 51002; //上下料Y1轴
|
|
|
public static int _upz = 51004; //上下料Z轴
|
|
|
public static int _carryx = 51005; //搬运x轴
|
|
|
public static int _feedz1 = 51006; //OK仓顶升
|
|
|
public static int _feedz2 = 51007; //进料仓顶升
|
|
|
public static int _feedz3 = 51008; //空料仓顶升
|
|
|
|
|
|
//二代机增加
|
|
|
public static int _ccdx = 52001; //治具相机x轴
|
|
|
public static int _ccdz = 52002; //治具相机z轴
|
|
|
public static int _upz2 = 52004; //上下料Z2轴
|
|
|
public static int _upz3 = 52005; //上下料Z3轴
|
|
|
public static int _upz4 = 52006; //上下料Z4轴
|
|
|
|
|
|
public static int language = 0;//语言选择
|
|
|
|
|
|
//速度设置
|
|
|
private int _curvel = 0; //当前速度选择
|
|
|
private double[] _vel = { 4, 10, 30 };
|
|
|
private double[] _acc = { 2, 5, 20 };
|
|
|
private double[] _dec = { 10, 20, 30 };
|
|
|
|
|
|
#endregion 全局变量
|
|
|
|
|
|
public FormMove()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
}
|
|
|
|
|
|
private void set1st()
|
|
|
{//设置为一代机
|
|
|
if (!_b2nd) return;
|
|
|
_ccdx = 0;
|
|
|
_ccdz = 0;
|
|
|
_upz2 = 0;
|
|
|
_upz3 = 0;
|
|
|
_upz4 = 0;
|
|
|
_upx = 51001; //上下料x轴
|
|
|
_upy = 51003; //上下料Y2轴
|
|
|
_upy1 = 51002; //上下料Y1轴
|
|
|
_upz = 51004; //上下料Z1轴
|
|
|
_carryx = 51005; //搬运x轴
|
|
|
_feedz1 = 51006; //OK仓顶升
|
|
|
_feedz2 = 51007; //进料仓顶升
|
|
|
_feedz3 = 51008; //空料仓顶升
|
|
|
}
|
|
|
|
|
|
private void set2nd()
|
|
|
{//设置为二代机
|
|
|
if (_b2nd) return;
|
|
|
|
|
|
_upx = 51001; //上下料x轴
|
|
|
_upy = 51003; //上下料Y2轴
|
|
|
_upy1 = 51002; //上下料Y1轴
|
|
|
_upz = 52003; //上下料Z1轴
|
|
|
_upz2 = 52004; //上下料Z2轴
|
|
|
_upz3 = 52005; //上下料Z2轴
|
|
|
_upz4 = 52006; //上下料Z4轴
|
|
|
_carryx = 51004; //搬运x轴
|
|
|
_feedz1 = 51005; //OK仓顶升
|
|
|
_feedz2 = 51006; //进料仓顶升
|
|
|
_feedz3 = 51007; //空料仓顶升
|
|
|
_ccdx = 52001;
|
|
|
_ccdz = 52002;
|
|
|
}
|
|
|
|
|
|
public bool B2nd
|
|
|
{//是否为二代机
|
|
|
get { return _b2nd; }
|
|
|
set { if (value) set2nd(); else set1st(); _b2nd = value; }
|
|
|
}
|
|
|
|
|
|
#region 点位坐标
|
|
|
public string UpxPos
|
|
|
{
|
|
|
get { return labelx1Pos.Text; }
|
|
|
//set { labelx1Pos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string UpyPos
|
|
|
{
|
|
|
get { return labelyPos.Text; }
|
|
|
//set { labelyPos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string UpzPos
|
|
|
{
|
|
|
get { return labelzPos.Text; }
|
|
|
//set { labelzPos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string Upy1Pos
|
|
|
{
|
|
|
get { return labelx2Pos.Text; }
|
|
|
//set { labelx2Pos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string CarryPos
|
|
|
{
|
|
|
get { return labelhPos.Text; }
|
|
|
//set { labelhPos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string FeedOkPos
|
|
|
{
|
|
|
get { return labelf1Pos.Text; }
|
|
|
//set { labelf1Pos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string FeedInputPos
|
|
|
{
|
|
|
get { return labelf2Pos.Text; }
|
|
|
//set { labelf2Pos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string FeedNullPos
|
|
|
{
|
|
|
get { return labelf3Pos.Text; }
|
|
|
//set { labelf3Pos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string Upz2Pos
|
|
|
{
|
|
|
get { return labelzPos2.Text; }
|
|
|
//set { labelzPos2.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string Upz3Pos
|
|
|
{
|
|
|
get { return labelzPos3.Text; }
|
|
|
//set { labelzPos3.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string Upz4Pos
|
|
|
{
|
|
|
get { return labelzPos4.Text; }
|
|
|
//set { labelzPos4.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string CxPos
|
|
|
{
|
|
|
get { return labelcxPos.Text; }
|
|
|
//set { labelcxPos.Text = value; }
|
|
|
}
|
|
|
|
|
|
public string CzPos
|
|
|
{
|
|
|
get { return labelczPos.Text; }
|
|
|
//set { labelczPos.Text = value; }
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 连动,寸动
|
|
|
|
|
|
/// <summary>
|
|
|
/// 检测Z轴安全
|
|
|
/// </summary>
|
|
|
/// <returns>true 安全,false 不安全 </returns>
|
|
|
public bool check_in_pos(int axis, double pos)
|
|
|
{//检查某个轴在此位置
|
|
|
int status = control.get_dev_status(axis);
|
|
|
if ((int)ocean.EDevStatus.EMove_NOHOME == status)// 未回原
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("Z轴未回原,请先回原!");//Z轴未回原,请先回原!please return to the original position first!
|
|
|
return false;
|
|
|
}
|
|
|
if ((int)ocean.EDevStatus.EMove_ISMOVING == status || (int)ocean.EDevStatus.EMove_ISHOME == status)// 运动中 / 回原中
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("Z轴正在运动,请等待Z轴运动停止!");//Z轴正在运动,请等待Z轴运动停止!please wait for Z-axis to stop!
|
|
|
return false;
|
|
|
}
|
|
|
pos -= control.getAxisPos(axis);
|
|
|
return pos < 0.01 && pos > -0.01;
|
|
|
}
|
|
|
|
|
|
public bool check_up_pos(int axis, double pos)
|
|
|
{//检查某个轴位置是否大于等于预定值
|
|
|
int status = control.get_dev_status(axis);
|
|
|
if ((int)ocean.EDevStatus.EMove_NOHOME == status)// 未回原
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("Z轴未回原,请先回原!");//Z轴未回原,请先回原!please return to the original position first!
|
|
|
return false;
|
|
|
}
|
|
|
if ((int)ocean.EDevStatus.EMove_ISMOVING == status || (int)ocean.EDevStatus.EMove_ISHOME == status)// 运动中 / 回原中
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("Z轴正在运动,请等待Z轴运动停止!");//Z轴正在运动,请等待Z轴运动停止!please wait for Z-axis to stop!
|
|
|
return false;
|
|
|
}
|
|
|
pos -= control.getAxisPos(axis);
|
|
|
if (pos < -0.1)
|
|
|
{//no safe
|
|
|
MsgBoxHelper.ShowTips("Z轴不在安全位");//Z轴不在安全位 please take Z-axis to safe pos!
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
public bool check_z_safety2()//检测Z轴安全
|
|
|
{//检测是否在安全位
|
|
|
double v2z = var.getdouble("v2z");
|
|
|
double v3z = var.getdouble("v3z");
|
|
|
double v4z = var.getdouble("v4z");
|
|
|
double safez = var.getdouble("safez");
|
|
|
|
|
|
//z轴往下是增加
|
|
|
if (!check_up_pos(_upz, safez)) return false;
|
|
|
if (!check_up_pos(_upz2, safez + v2z)) return false;
|
|
|
if (!check_up_pos(_upz3, safez + v3z)) return false;
|
|
|
if (!check_up_pos(_upz4, safez + v4z)) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
public bool check_z_safety()//检测Z轴安全
|
|
|
{
|
|
|
double safez = 0;
|
|
|
|
|
|
if (_b2nd) return check_z_safety2();
|
|
|
|
|
|
safez = var.getdouble("safez");//Z轴安全高度
|
|
|
if (!check_up_pos(_upz, safez)) return false;
|
|
|
|
|
|
control.write("吸料上下气缸1", 0);
|
|
|
control.write("吸料上下气缸2", 0);
|
|
|
control.write("吸料上下气缸3", 0);
|
|
|
control.write("吸料上下气缸4", 0);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 检测X轴安全
|
|
|
/// </summary>
|
|
|
/// <returns>true 安全,false 不安全 </returns>
|
|
|
public bool chace_x_safety()//检测X轴安全
|
|
|
{
|
|
|
int ret = 0;
|
|
|
double m_bpos = 0;
|
|
|
int m_status = 0;
|
|
|
TPoint m_point = new TPoint();
|
|
|
|
|
|
//if (_b2nd) return true; //二代机暂时不检测
|
|
|
control.axis_get_pos(_upx, ref m_bpos);//X轴当前位置
|
|
|
m_status = control.get_dev_status(_upx);//对象状态
|
|
|
ret = control.get_point(1, "换料仓位", ref m_point);
|
|
|
|
|
|
if ((int)ocean.EDevStatus.EMove_ISMOVING == m_status || (int)ocean.EDevStatus.EMove_ISHOME == m_status)// 运动中 / 回原中
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("X轴正在运动,请等待X轴运动停止!");//X轴正在运动,请等待X轴运动停止!X-axis is moving, please wait for X-axis to stop!
|
|
|
return false;
|
|
|
}
|
|
|
if (0 != ret) //点位获取失败
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("X轴-上料工站-换料仓位,点位获取失败!");//上料工站-换料仓位,点位获取失败!X-axis point acquisition failed!
|
|
|
return false;
|
|
|
}
|
|
|
if (Math.Abs(m_point.x - m_bpos) > 1.1) //相差超过1mm
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("X轴不在安全区域(换料仓位),请运行到安全区域!");//X轴不在安全区域(换料仓位),请运行到安全区域!X-axis is not in the safe area (Avoidance point), please run to the safe area!
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 检测H轴安全
|
|
|
/// </summary>
|
|
|
/// <returns>true 安全,false 不安全 </returns>
|
|
|
public bool chace_h_safety()//检测H轴安全
|
|
|
{
|
|
|
int m_status = 0;
|
|
|
|
|
|
if (_b2nd) return true; //二代机暂时不检测
|
|
|
m_status = control.get_dev_status(_carryx);//对象状态
|
|
|
|
|
|
if ((int)ocean.EDevStatus.EMove_ISMOVING == m_status || (int)ocean.EDevStatus.EMove_ISHOME == m_status)// 运动中 / 回原中
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("H-Axis is moving, please wait for H-axis to stop!");//H轴正在运动,请等待H轴运动停止!
|
|
|
return false;
|
|
|
}
|
|
|
if (0 == control.axis_read(_carryx, EIOType.IOT_HOME)) //不在原点
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("H-Axis is not in the origin area, please run to the origin area!");//H轴不在原点区域,请运行到安全区域!
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
public bool chace_in_tray()//检测在料盘侧 true 在,false 不在
|
|
|
{
|
|
|
string strmsg = "";
|
|
|
double m_bpos = 0;
|
|
|
|
|
|
if (_b2nd) return true; //二代机暂时不检测
|
|
|
if (1 == language) { strmsg = "把吸嘴移到料盘侧 Y1>10 ,当前 Y1 = "; }//中文
|
|
|
else { strmsg = "把吸嘴移到料盘侧-英语"; }//英语 或其他的
|
|
|
control.axis_get_pos(_upy1, ref m_bpos, 0);//Y1轴当前位置
|
|
|
if (m_bpos < 10)
|
|
|
{
|
|
|
MessageBox.Show(strmsg + m_bpos.ToString());
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
control.axis_get_pos(_upy, ref m_bpos, 0);//Y1轴当前位置
|
|
|
if (1 == language) { strmsg = "把吸嘴移到料盘侧 Y2>180 ,当前 Y2 = "; }//中文
|
|
|
else { strmsg = "把吸嘴移到料盘侧-英语"; }//英语 或其他的
|
|
|
if (m_bpos < 180)
|
|
|
{
|
|
|
MessageBox.Show(strmsg + m_bpos.ToString());
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
control.axis_get_pos(_upx, ref m_bpos, 0);//Y1轴当前位置
|
|
|
if (1 == language) { strmsg = "把吸嘴移到料盘侧 X<850 ,当前 X = "; }//中文
|
|
|
else { strmsg = "把吸嘴移到料盘侧-英语"; }//英语 或其他的
|
|
|
if (m_bpos > 850)
|
|
|
{
|
|
|
MessageBox.Show(strmsg + m_bpos.ToString());
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
private void checkBoxStep_CheckedChanged(object sender, EventArgs e)
|
|
|
{//寸动模式
|
|
|
nud_step.Enabled = checkBoxStep.Checked;
|
|
|
}
|
|
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
{//当前速度
|
|
|
_curvel = combox_spd.SelectedIndex;
|
|
|
DownSpeed();
|
|
|
}
|
|
|
|
|
|
private void button5_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upx, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upx, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button5_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upx);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button8_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
if (false == chace_h_safety()) { return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upx, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upx, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button6_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
if (false == chace_h_safety()) { return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upy1, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upy1, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button6_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upy1);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button7_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upy1, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upy1, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button10_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upy, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upy, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button10_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upy);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button9_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upy, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upy, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button12_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upz, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button12_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upz);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button11_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_upz, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button20_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料盘搬运气缸-")) { MsgBoxHelper.ShowTips("The tray handling cylinder is not in the safe position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_carryx, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_carryx, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button20_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_carryx);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button18_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (false == chace_x_safety()) { return; }//检测X轴安全
|
|
|
if (0 == control.read("料盘搬运气缸-")) { MsgBoxHelper.ShowTips("The tray handling cylinder is not in the safe position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_carryx, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_carryx, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button22_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料仓光电1")) { MsgBoxHelper.ShowTips("Please push the Pass Output Tray silo into position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_feedz1, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_feedz1, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button22_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_feedz1);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button16_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料仓光电1")) { MsgBoxHelper.ShowTips("Please push the Pass Output Tray silo into position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_feedz1, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_feedz1, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button19_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料仓光电2")) { MsgBoxHelper.ShowTips("Please push the Input Tray silo into position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_feedz2, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_feedz2, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button19_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_feedz2);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button21_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料仓光电2")) { MsgBoxHelper.ShowTips("Please push the Input Tray silo into position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_feedz2, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_feedz2, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button28_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料仓光电3")) { MsgBoxHelper.ShowTips("Please push the Empty Tray silo into position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_feedz3, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_feedz3, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button28_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_feedz3);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button27_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
if (0 == control.read("料仓光电3")) { MsgBoxHelper.ShowTips("Please push the Empty Tray silo into position"); return; }
|
|
|
DownSpeed();
|
|
|
control.axis_move_jog(_feedz3, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_feedz3, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public void DownSpeed()
|
|
|
{//检查速度是否和界面设置一样
|
|
|
double vel = _vel[_curvel];
|
|
|
double acc = _acc[_curvel];
|
|
|
double dec = _dec[_curvel];
|
|
|
|
|
|
control.set_speed(1, vel, acc, dec);//设置指定工站接下来的运动速度
|
|
|
control.set_speed(2, vel, acc, dec);
|
|
|
control.set_speed(3, vel, acc, dec);
|
|
|
control.set_speed(4, vel, acc, dec);
|
|
|
control.set_speed(5, vel, acc, dec);
|
|
|
control.set_global_speed(1, vel * 2);//设置指定工站的全局速度
|
|
|
control.set_global_speed(2, vel * 2);
|
|
|
control.set_global_speed(3, vel * 2);
|
|
|
control.set_global_speed(4, vel * 2);
|
|
|
control.set_global_speed(5, vel * 2);
|
|
|
|
|
|
if (!_b2nd) return;
|
|
|
control.set_speed(6, vel, acc, dec);//设置指定工站接下来的运动速度
|
|
|
control.set_speed(7, vel, acc, dec);
|
|
|
control.set_speed(8, vel, acc, dec);
|
|
|
control.set_speed(9, vel, acc, dec);
|
|
|
control.set_speed(10, vel, acc, dec);
|
|
|
control.set_global_speed(6, vel * 2);//设置指定工站的全局速度
|
|
|
control.set_global_speed(7, vel * 2);
|
|
|
control.set_global_speed(8, vel * 2);
|
|
|
control.set_global_speed(9, vel * 2);
|
|
|
control.set_global_speed(10, vel * 2);
|
|
|
|
|
|
}
|
|
|
|
|
|
private void button17_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
control.station_reset(1);
|
|
|
control.station_reset(2);
|
|
|
control.station_reset(3);
|
|
|
control.station_reset(4);
|
|
|
control.station_reset(5);
|
|
|
|
|
|
if (!_b2nd) return;
|
|
|
control.station_reset(6);
|
|
|
control.station_reset(7);
|
|
|
control.station_reset(8);
|
|
|
control.station_reset(9);
|
|
|
control.station_reset(10);
|
|
|
}
|
|
|
|
|
|
private void button13_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
int val = 0;
|
|
|
if (btn_off.Text == "OFF")
|
|
|
{
|
|
|
btn_off.Text = "ON";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
val = 1;
|
|
|
btn_off.Text = "OFF";
|
|
|
}
|
|
|
|
|
|
control.axis_write(_upx, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_upy1, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_upy, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_upz, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_carryx, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_feedz1, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_feedz2, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_feedz3, EIOType.IOT_SEVON, val);
|
|
|
if (!_b2nd) return;
|
|
|
control.axis_write(_ccdx, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_ccdz, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_upz2, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_upz3, EIOType.IOT_SEVON, val);
|
|
|
control.axis_write(_upz4, EIOType.IOT_SEVON, val);
|
|
|
}
|
|
|
|
|
|
private void btn_zsafe_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
double v2z = var.getdouble("v2z");
|
|
|
double v3z = var.getdouble("v3z");
|
|
|
double v4z = var.getdouble("v4z");
|
|
|
double safez = var.getdouble("safez");
|
|
|
|
|
|
DownSpeed();
|
|
|
control.axis_move_pos(_upz, safez);//指定轴点位运动
|
|
|
if (!_b2nd) return;
|
|
|
control.axis_move_pos(_upz2, safez + v2z);
|
|
|
control.axis_move_pos(_upz3, safez + v3z);
|
|
|
control.axis_move_pos(_upz4, safez + v4z);
|
|
|
}
|
|
|
|
|
|
private void button14_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
string smg = "";
|
|
|
double m_bpos = 0;
|
|
|
int m_status = 0;
|
|
|
TPoint m_point = new TPoint();
|
|
|
|
|
|
control.axis_get_pos(_upx, ref m_bpos, 0);//X轴当前位置
|
|
|
ret = control.get_point(1, "5号治具位置", ref m_point);
|
|
|
m_status = control.get_dev_status(_upx);//对象状态
|
|
|
|
|
|
if (false == check_z_safety()) { return; }
|
|
|
|
|
|
if (0 != ret) //点位获取失败
|
|
|
{
|
|
|
MsgBoxHelper.ShowTips("Point acquisition failed!");//点位获取失败!
|
|
|
return;
|
|
|
}
|
|
|
if ((int)ocean.EDevStatus.EDev_IDLE == m_status)//就绪
|
|
|
{
|
|
|
if (m_bpos > m_point.x)
|
|
|
{
|
|
|
//if (2 == language) { smg = "vi"; }//越南语
|
|
|
if (1 == language) { MessageBox.Show("Y1轴与H轴会出现干涉,请先把X轴移动到安全位置"); }
|
|
|
else { MessageBox.Show("The Y1-axis and the H-axis will interfere, please move the X-axis to the security location"); }
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//if (2 == language) { smg = "vi"; }//越南语
|
|
|
if (1 == language) { smg = "请注意取料工站与移栽工站是否干涉。\r\n点击是继续回原\r\n不确定点击否放弃回原。"; }
|
|
|
else { smg = "Please pay attention to whether the reclaimer station interferes with the transplanter station.\r\nclick Yes to continue returning to the original. \r\nclick No to give up returning to the original."; }
|
|
|
|
|
|
if (MsgBoxHelper.ConfirmYesNo(smg))
|
|
|
{
|
|
|
control.axis_home(_upx);
|
|
|
control.axis_home(_upy1);
|
|
|
control.axis_home(_upy);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void button15_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
control.axis_home(_upz);
|
|
|
}
|
|
|
|
|
|
private void button23_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (0 == control.read("料盘搬运气缸-")) { MsgBoxHelper.ShowTips("The tray handling cylinder is not in the safe position"); return; }
|
|
|
control.station_home(2);
|
|
|
}
|
|
|
|
|
|
private void button25_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (0 == control.read("抽屉拉伸气缸1-")) { MsgBoxHelper.ShowTips("Please push the Pass Output Tray silo into position"); return; }
|
|
|
control.write("抽屉锁1", (ushort)1);
|
|
|
control.station_home(3);
|
|
|
}
|
|
|
|
|
|
private void button24_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (0 == control.read("抽屉拉伸气缸2-")) { MsgBoxHelper.ShowTips("Please push the Input Tray silo into position"); return; }
|
|
|
control.write("抽屉锁2", (ushort)1);
|
|
|
control.station_home(4);
|
|
|
}
|
|
|
|
|
|
private void button26_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (0 == control.read("抽屉拉伸气缸3-")) { MsgBoxHelper.ShowTips("Please push the Empty Tray silo into position"); return; }
|
|
|
control.write("抽屉锁3", (ushort)1);
|
|
|
control.station_home(5);
|
|
|
}
|
|
|
|
|
|
private void btn_z2n_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz2 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_upz2, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz2, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z2p_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz2 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_upz2, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz2, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z2n_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz2 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upz2, 0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z2h_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (_upz2 == 0) return;
|
|
|
control.axis_home(_upz2);
|
|
|
}
|
|
|
|
|
|
private void btn_z3n_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz3 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_upz3, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz3, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z3p_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz3 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_upz3, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz3, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z3n_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz3 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upz3, 0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z3h_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (_upz3 == 0) return;
|
|
|
control.axis_home(_upz3);
|
|
|
}
|
|
|
|
|
|
private void btn_z4n_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz4 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_upz4, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz4, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z4p_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz4 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_upz4, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_upz4, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z4n_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_upz4 == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_upz4, 0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_z4h_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (_upz4 == 0) return;
|
|
|
control.axis_home(_upz4);
|
|
|
}
|
|
|
|
|
|
private void btn_cxn_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_ccdx == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_ccdx, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_ccdx, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_cxp_KeyDown(object sender, KeyEventArgs e)
|
|
|
{
|
|
|
if (_ccdx == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_ccdx, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_ccdx, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_cxn_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_ccdx == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_ccdx, 0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_cxh_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (_ccdx == 0) return;
|
|
|
control.axis_home(_ccdx);
|
|
|
}
|
|
|
|
|
|
private void btn_czn_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_ccdz == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_ccdz, 0);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_ccdx, -Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_czp_MouseDown(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_ccdz == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_move_jog(_ccdz, 1);
|
|
|
}
|
|
|
else //寸动
|
|
|
{
|
|
|
control.axis_move_offset(_ccdz, Convert.ToDouble(nud_step.Value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_czn_MouseUp(object sender, MouseEventArgs e)
|
|
|
{
|
|
|
if (_ccdz == 0) return;
|
|
|
if (checkBoxStep.Checked == false) //连动
|
|
|
{
|
|
|
control.axis_stop(_ccdz, 0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void btn_czh_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (_ccdz == 0) return;
|
|
|
control.axis_home(_ccdz);
|
|
|
}
|
|
|
|
|
|
#endregion 连动,寸动
|
|
|
|
|
|
#region 刷新IO信号
|
|
|
public void Update_Pos()
|
|
|
{//刷新位置
|
|
|
double pos = 0;
|
|
|
pos = control.getAxisPos(_upx);
|
|
|
labelx1Pos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_upy1);
|
|
|
labelx2Pos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_upy);
|
|
|
labelyPos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_upz);
|
|
|
labelzPos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_carryx);
|
|
|
labelhPos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_feedz1);
|
|
|
labelf1Pos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_feedz2);
|
|
|
labelf2Pos.Text = pos.ToString("f3");
|
|
|
pos = control.getAxisPos(_feedz3);
|
|
|
labelf3Pos.Text = pos.ToString("f3");
|
|
|
|
|
|
pos = control.getAxisPos(_ccdx);
|
|
|
labelcxPos.Text = pos.ToString("f3");
|
|
|
|
|
|
pos = control.getAxisPos(_ccdz);
|
|
|
labelczPos.Text = pos.ToString("f3");
|
|
|
|
|
|
pos = control.getAxisPos(_upz2);
|
|
|
labelzPos2.Text = pos.ToString("f3");
|
|
|
|
|
|
pos = control.getAxisPos(_upz3);
|
|
|
labelzPos3.Text = pos.ToString("f3");
|
|
|
|
|
|
pos = control.getAxisPos(_upz4);
|
|
|
labelzPos4.Text = pos.ToString("f3");
|
|
|
}
|
|
|
public void Show_IO_pnh()//IO刷新显示 正、负限位、原点
|
|
|
{
|
|
|
pic_x1h.Image = control.axisIO(_upx, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_y1h.Image = control.axisIO(_upy1, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_y2h.Image = control.axisIO(_upy, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_z1h.Image = control.axisIO(_upz, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_hxh.Image = control.axisIO(_carryx, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_f1h.Image = control.axisIO(_feedz1, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_f2h.Image = control.axisIO(_feedz2, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_f3h.Image = control.axisIO(_feedz3, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_z2h.Image = control.axisIO(_upz2, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_z3h.Image = control.axisIO(_upz3, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_z4h.Image = control.axisIO(_upz4, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_cxh.Image = control.axisIO(_ccdx, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
pic_czh.Image = control.axisIO(_ccdz, EIOType.IOT_HOME) ?
|
|
|
Properties.Resources.Green1 : Properties.Resources.white1;
|
|
|
|
|
|
btn_xp.Image = control.axisIO(_upx, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_y1p.Image = control.axisIO(_upy1, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_y2p.Image = control.axisIO(_upy, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z1p.Image = control.axisIO(_upz, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_hxp.Image = control.axisIO(_carryx, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_f1p.Image = control.axisIO(_feedz1, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_f2p.Image = control.axisIO(_feedz2, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_f3p.Image = control.axisIO(_feedz3, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z2p.Image = control.axisIO(_upz2, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z3p.Image = control.axisIO(_upz3, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z4p.Image = control.axisIO(_upz4, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_cxp.Image = control.axisIO(_ccdx, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_czp.Image = control.axisIO(_ccdz, EIOType.IOT_LIMITP) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
|
|
|
btn_xn.Image = control.axisIO(_upx, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_y1n.Image = control.axisIO(_upy1, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_y2n.Image = control.axisIO(_upy, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z1n.Image = control.axisIO(_upz, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_hxn.Image = control.axisIO(_carryx, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_f1n.Image = control.axisIO(_feedz1, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_f2n.Image = control.axisIO(_feedz2, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_f3n.Image = control.axisIO(_feedz3, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z2n.Image = control.axisIO(_upz2, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z3n.Image = control.axisIO(_upz3, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_z4n.Image = control.axisIO(_upz4, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_cxn.Image = control.axisIO(_ccdx, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
btn_czn.Image = control.axisIO(_ccdz, EIOType.IOT_LIMITN) ?
|
|
|
Properties.Resources.ARW07RT1 : Properties.Resources.ARW07RT;
|
|
|
}
|
|
|
#endregion 刷新IO信号
|
|
|
|
|
|
private void FormMove_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
combox_spd.SelectedIndex = 0;
|
|
|
language = config.getint("ui", "language");//语言选择
|
|
|
|
|
|
if (!_b2nd)
|
|
|
{//一代机
|
|
|
|
|
|
labelcx.Visible = labelcxPos.Visible = false;
|
|
|
labelcz.Visible = labelczPos.Visible = false;
|
|
|
labelz2.Visible = labelzPos2.Visible = false;
|
|
|
labelz3.Visible = labelzPos3.Visible = false;
|
|
|
labelz4.Visible = labelzPos4.Visible = false;
|
|
|
|
|
|
btn_z2n.Visible = btn_z2h.Visible = pic_z2h.Visible = btn_z2p.Visible = false;
|
|
|
btn_z3n.Visible = btn_z3h.Visible = pic_z3h.Visible = btn_z3p.Visible = false;
|
|
|
btn_z4n.Visible = btn_z4h.Visible = pic_z4h.Visible = btn_z4p.Visible = false;
|
|
|
btn_cxn.Visible = btn_cxh.Visible = pic_cxh.Visible = btn_cxp.Visible = false;
|
|
|
btn_czn.Visible = btn_czh.Visible = pic_czh.Visible = btn_czp.Visible = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void FormMove_FormClosing(object sender, FormClosingEventArgs e)
|
|
|
{
|
|
|
this.Hide();
|
|
|
e.Cancel = true;
|
|
|
}
|
|
|
|
|
|
private void FormMove_VisibleChanged(object sender, EventArgs e)
|
|
|
{
|
|
|
if (this.Visible == true)
|
|
|
{//显示
|
|
|
combox_spd.SelectedIndex = 0;
|
|
|
}
|
|
|
else
|
|
|
{//不显示
|
|
|
_curvel = 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|