Commit 5233cad6 几米阳光

增加三色灯塔

1 个父辈 5655d465
......@@ -26,15 +26,15 @@ namespace URSoldering.DeviceLibrary
{
return RobotReset();
}
public bool RobotReset()
{
{
alarmType = AlarmType.None;
mainTimer.Enabled = false;
ledTimer.Enabled = false;
IsInSuddendown = false;
IsInSuddendown = false;
WarnMsg = "";
if (!ShuddenOK())
{
WarnMsg = "急停未开";
......@@ -61,10 +61,12 @@ namespace URSoldering.DeviceLibrary
WarnMsg = solderingStr;
return false;
}
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
KNDIOMove(IO_Type.AlarmSingle, IO_VALUE.LOW);
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
Status = RobotStatus.Reset;
WeldRobotBean.IsInWeld = false;
IsInProcess = false;
IsInProcess = false;
ledTimer.Enabled = true;
mainTimer.Enabled = true;
return true;
......@@ -141,6 +143,9 @@ namespace URSoldering.DeviceLibrary
&& KNDIOValue(IO_Type.SendWire_Work).Equals(IO_VALUE.HIGH))
{
LogUtil.info(RobotName + "复位完成");
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
KNDIOMove(IO_Type.AlarmSingle, IO_VALUE.LOW);
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
Status = RobotStatus.Runing;
}
}
......@@ -187,6 +192,9 @@ namespace URSoldering.DeviceLibrary
StopMove();
WeldRobotBean.StopRun();
this.Status = RobotStatus.Wait;
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.LOW);
KNDIOMove(IO_Type.AlarmSingle, IO_VALUE.LOW);
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
LogUtil.info(RobotName + "停止运行");
}
public DateTime LastStartWeldTime = DateTime.Now;
......@@ -241,6 +249,7 @@ namespace URSoldering.DeviceLibrary
if (AlarmType.SuddenStop.Equals(alarmType))
{
WarnMsg = "收到急停信号";
KNDIOMove(IO_Type.AlarmSingle, IO_VALUE.HIGH);
WeldRobotBean.Alarm(AlarmType.SuddenStop);
StopMove();
}
......
......@@ -28,9 +28,9 @@ DO,送丝电机启动,SendWireStart,106,192.168.10.11,0,送丝电机启动,Y07,DO-07,0
,,,110,192.168.10.11,0,,Y11,DO-11,0
,,,111,192.168.10.11,0,,Y12,DO-12,0
,,,112,192.168.10.11,0,,Y13,DO-13,0
,自动指示灯(绿色),AutoRunSingle,113,192.168.10.11,0,自动指示灯(绿色),Y14,DO-14,0
,待机指示灯(黄色),WaitSingle,114,192.168.10.11,0,待机指示灯(黄色),Y15,DO-15,0
,故障指示灯(红色),AlarmSingle,115,192.168.10.11,0,故障指示灯(红色),Y16,DO-16,0
DO,自动指示灯(绿色),AutoRunSingle,113,192.168.10.11,0,自动指示灯(绿色),Y14,DO-14,0
DO,待机指示灯(黄色),WaitSingle,114,192.168.10.11,0,待机指示灯(黄色),Y15,DO-15,0
DO,故障指示灯(红色),AlarmSingle,115,192.168.10.11,0,故障指示灯(红色),Y16,DO-16,0
,,,,,,,,,
PRO,尤傲机器人IP,UR_IP,192.168.1.118,,,,,,
PRO,焊接多少块板子后,清洗烙铁,ClearCount,10,,,,,,
......
......@@ -50,50 +50,50 @@ namespace URSoldering.DeviceLibrary
/// </summary>
private void LedTimer_Elapsed(object sender, ElapsedEventArgs e)
{
//if (Status.Equals(RobotStatus.Reset))
//{
// if (KNDIOValue(IO_Type.AutoRunSingle).Equals(IO_VALUE.LOW))
// {
// KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
// }
// if (KNDIOValue(IO_Type.WaitSingle).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
// }
// else
// {
// KNDIOMove(IO_Type.WaitSingle, IO_VALUE.HIGH);
// }
if (Status.Equals(RobotStatus.Reset))
{
if (KNDIOValue(IO_Type.AutoRunSingle).Equals(IO_VALUE.LOW))
{
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
}
if (KNDIOValue(IO_Type.WaitSingle).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
}
else
{
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.HIGH);
}
//}
//else if (Status.Equals(RobotStatus.Busy) )
//{
// //忙碌或转动,绿灯常亮,黄灯灭,红灯亮时绿灯不亮
// if (KNDIOValue(IO_Type.WaitSingle).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
// }
// if (KNDIOValue(IO_Type.AutoRunSingle).Equals(IO_VALUE.LOW))
// {
// KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
// }
//}
//else if (Status.Equals(RobotStatus.Runing))
//{
// //等待状态,黄灯灭,绿灯闪烁,红灯亮时绿灯不亮
// if (KNDIOValue(IO_Type.WaitSingle).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
// }
// if (KNDIOValue(IO_Type.AutoRunSingle).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.LOW);
// }
// else
// {
// KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
// }
//}
}
else if (Status.Equals(RobotStatus.Busy))
{
//忙碌或转动,绿灯常亮,黄灯灭,红灯亮时绿灯不亮
if (KNDIOValue(IO_Type.WaitSingle).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
}
if (KNDIOValue(IO_Type.AutoRunSingle).Equals(IO_VALUE.LOW))
{
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
}
}
else if (Status.Equals(RobotStatus.Runing))
{
//等待状态,黄灯灭,绿灯闪烁,红灯亮时绿灯不亮
if (KNDIOValue(IO_Type.WaitSingle).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
}
if (KNDIOValue(IO_Type.AutoRunSingle).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.LOW);
}
else
{
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
}
}
}
protected virtual void mainTimer_Elapsed(object sender, ElapsedEventArgs e)
......@@ -132,38 +132,40 @@ namespace URSoldering.DeviceLibrary
//连接上IO模块后,夹具夹紧
KNDIOMove(IO_Type.Fixture_Clamp, IO_VALUE.HIGH);
KNDIOMove(IO_Type.Fixture_Relax, IO_VALUE.LOW);
}
public static bool IsFixtureClamp()
{
return true;
//if (KNDIOValue(IO_Type.Fixture_Clamp).Equals(IO_VALUE.HIGH) && KNDIOValue(IO_Type.Fixture_Relax).Equals(IO_VALUE.LOW))
//{
// return true;
//}
//else
//{
// LogUtil.error("夹具夹紧信号不到位");
// return false;
//}
//return true;
if (KNDIOValue(IO_Type.Fixture_Clamp).Equals(IO_VALUE.HIGH) && KNDIOValue(IO_Type.Fixture_Relax).Equals(IO_VALUE.LOW))
{
return true;
}
else
{
LogUtil.error("夹具夹紧信号不到位");
return false;
}
}
public static bool ShuddenOK()
{
return true;
//if (!baseConfig.RobotDIList.ContainsKey(IO_Type.SuddenStop_Single))
//{
// return false;
//}
//ConfigIO configIo = baseConfig.RobotDIList[IO_Type.SuddenStop_Single];
//return true;
if (!baseConfig.RobotDIList.ContainsKey(IO_Type.SuddenStop_Single))
{
return false;
}
ConfigIO configIo = baseConfig.RobotDIList[IO_Type.SuddenStop_Single];
//if (KNDManager.IsConnection(configIo.DeviceName))
//{
// IO_VALUE value = KNDIOValue(IO_Type.SuddenStop_Single);
// if (value.Equals(IO_VALUE.HIGH))
// {
// return true;
// }
//}
//return false;
if (KNDManager.IsConnection(configIo.DeviceName))
{
IO_VALUE value = KNDIOValue(IO_Type.SuddenStop_Single);
if (value.Equals(IO_VALUE.HIGH))
{
return true;
}
}
return false;
}
public static void KNDIOMove(string ioType, IO_VALUE ioValue)
......@@ -243,22 +245,12 @@ namespace URSoldering.DeviceLibrary
}
return ioValue;
}
/// <summary>
/// 信号灯
/// </summary>
/// <param name="status"></param>
public void UpdateShowLight(RobotStatus status)
public void CloseLed( )
{
//KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.LOW);
//KNDIOMove(IO_Type.AlarmSingle, IO_VALUE.LOW);
//KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
//KNDIOMove(IO_Type.DeviceRunON, IO_VALUE.LOW);
//if (status > RobotStatus.Wait)
//{
// KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.HIGH);
// KNDIOMove(IO_Type.DeviceRunON, IO_VALUE.HIGH);
//}
KNDIOMove(IO_Type.AutoRunSingle, IO_VALUE.LOW);
KNDIOMove(IO_Type.AlarmSingle, IO_VALUE.LOW);
KNDIOMove(IO_Type.WaitSingle, IO_VALUE.LOW);
}
#endregion
......
......@@ -40,24 +40,24 @@ namespace URSoldering.LoadCSVLibrary
}
return TypeList;
}
///// <summary>
///// DO 自动指示灯(绿色) AutoRunSingle DO-14
///// </summary>
//public static string AutoRunSingle = "AutoRunSingle";
/// <summary>
/// DO 自动指示灯(绿色) AutoRunSingle DO-14
/// </summary>
public static string AutoRunSingle = "AutoRunSingle";
///// <summary>
///// DO 故障指示灯(红色) AlarmSingleDO-15
///// </summary>
//public static string AlarmSingle = "AlarmSingle";
///// <summary>
///// DO 待机指示灯(黄色) WaitSingle DO-16
///// </summary>
//public static string WaitSingle = "WaitSingle";
/// <summary>
/// DO 故障指示灯(红色) AlarmSingleDO-15
/// </summary>
public static string AlarmSingle = "AlarmSingle";
/// <summary>
/// DO 待机指示灯(黄色) WaitSingle DO-16
/// </summary>
public static string WaitSingle = "WaitSingle";
///// <summary>
///// DO 设备运转ON DeviceRunON Y04 DO-04
///// </summary>
//public static string DeviceRunON = "DeviceRunON";
/// <summary>
/// DI-急停 SuddenStop_Single X01 DI-01
......
......@@ -79,7 +79,10 @@ namespace URSoldering.LoadCSVLibrary
MustHaveDOList.Add(IO_Type.Soldering_Down);
MustHaveDOList.Add(IO_Type.Soldering_Up);
MustHaveDOList.Add(IO_Type.SendWireStart);
MustHaveDOList.Add(IO_Type.SendWireStart);
MustHaveDOList.Add(IO_Type.AutoRunSingle);
MustHaveDOList.Add(IO_Type.AlarmSingle);
MustHaveDOList.Add(IO_Type.WaitSingle);
}
}
}
......@@ -3,13 +3,13 @@
UR机器人是否到位判断条件修改:只判断X.Y.Z坐标是否一致
修改
20180916修改
1,编程里的高度和宽度定义做个示意图。
2,机器人微调:前后左右动作反了。
3,微调动作时,机器人是斜着动作。
4,程序里送丝速度需要加单位(毫米每秒)
20180917修改:增加三色信号灯塔
......
此文件类型无法预览
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!