Commit acb7d13f 张东亮

新增第三条线体

1 个父辈 7b34e538
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID, 类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.103.25#16,,,,,,, PRO,IO模块对应的DI数量,IO_DILength,192.168.103.25#16;192.168.103.30#8,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.103.25#16,,,,,,, PRO,IO模块对应的DO数量,IO_DOLength,192.168.103.25#16;192.168.103.30#8,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.25,,,,,,, PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.25,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_2,192.168.103.30,,,,,,,
,,,,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,L1空入料线AGV节点名称,L1_AgvName,A2,,,,,,,
PRO,L2料串出料线AGV节点名称,L2_AgvName,A1,,,,,,,
PRO,L3包装料架出料线AGV节点名称,L3_AgvName,A11,,,,,,,
PRO,L2料串出料线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, ,
PRO,L2料串出料线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,40,,,,,,,
,,,,,,,,,, ,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X721,DI-01,0, DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X721,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X722,DI-02,0, DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X722,DI-02,0,
DI,出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,出料线入口检测,X723,DI-03,0, DI,料串出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,料串出料线入口检测,X723,DI-03,0,
DI,出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1,X724,DI-04,0, DI,料串出料线阻挡检测,L2_StopCheck1,3,PRO_AOI_IP_1,0,料串出料线阻挡检测,X724,DI-04,0,
DI,料串切换气缸前进端,Switch_Forward_Sig,4,PRO_AOI_IP_1,0,料串切换气缸前进端,X725,DI-05,0, DI,料串切换气缸前进端,Switch_Forward_Sig,4,PRO_AOI_IP_1,0,料串切换气缸前进端,X725,DI-05,0,
DI,出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,出料线出口检测,X726,DI-06,0, DI,料串出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,料串出料线出口检测,X726,DI-06,0,
DI,入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,入料线入口检测,X727,DI-07,0, DI,空入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,空入料线入口检测,X727,DI-07,0,
DI,入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,入料线阻挡检测,X728,DI-08,0, DI,空入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,空入料线阻挡检测,X728,DI-08,0,
DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DO-01,0, DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DI-09,0,
DI,入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口检测,X730,DO-02,0, DI,空入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,空入料线出口检测,X730,DI-10,0,
DI,出料线人工取料信号,L1_ManualRecSig,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0, DI,料串出料线脚踏信号,L2_ManualRecSig,10,PRO_AOI_IP_1,0,料串出料线脚踏信号,X731,DI-11,0,
DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端,X732,DO-04,0, DI,空入料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,空入料线体横移上升端,X732,DI-12,0,
DI,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端,X733,DO-05,0, DI,空入料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,空入料线体横移下降端,X733,DI-13,0,
DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端,X734,DO-06,0, DI,料串出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,料串出料线体横移上升端,X734,DI-14,0,
DI,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端,X735,DO-07,0, DI,料串出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,料串出料线体横移下降端,X735,DI-15,0,
DI,包装料架检测信号,PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号,X736,DO-08,0, DI,包装料架检测信号(空入料线体出口),PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号(空入料线体出口),X736,DI-16,0,
DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DI-01,0, ,,,,,,,,,,
DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0, DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DO-01,0,
DO,进料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0, DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DO-02,0,
DO,出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0, DO,空入料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,空入料线驱动电机运转,Y723,DO-03,0,
DO,进料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡下降,Y725,DI-05,0, DO,料串出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,料串出料线驱动电机运转,Y724,DO-04,0,
,进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降,Y726,DI-06,0, DO,空入料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,空入料线阻挡下降,Y725,DO-05,0,
DO,进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降,Y727,DI-07,0, DO,料串出料线横移机构上升SOL,L2_Traverse_Up_SOL,5,PRO_AOI_IP_1,0,料串出料线横移机构上升SOL,Y726,DO-06,0,
DO,出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降,Y728,DI-08,0, DO,空入料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,空入料线出口阻挡下降,Y727,DO-07,0,
,出料线阻挡2下降,L2_StopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降,Y729,DO-01,0, DO,料串出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,料串出料线出口阻挡下降,Y728,DO-08,0,
DO,出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线阻挡下降,Y730,DO-02,0, DO,料串出料线横移机构下降SOL,L2_Traverse_Down_SOL,8,PRO_AOI_IP_1,0,料串出料线横移机构下降SOL,Y729,DO-09,0,
DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL,Y731,DO-03,0, DO,料串出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,料串出料线阻挡下降,Y730,DO-10,0,
DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL,Y732,DO-04,0, DO,空入料线横移机构上升SOL,L1_Traverse_Up_SOL,10,PRO_AOI_IP_1,0,空入料线横移机构上升SOL,Y731,DO-11,0,
DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转,Y733,DO-05,0, DO,空入料线横移机构下降SOL,L1_Traverse_Down_SOL,11,PRO_AOI_IP_1,0,空入料线横移机构下降SOL,Y732,DO-12,0,
DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转,Y734,DO-06,0, DO,空入料线横移电机正转,L1_Traverse_Run,12,PRO_AOI_IP_1,0,空入料线横移电机正转,Y733,DO-13,0,
DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-07,0, DO,空入料线横移电机反转,L1_Traverse_BackRun,13,PRO_AOI_IP_1,0,空入料线横移电机反转,Y734,DO-14,0,
DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-08,0, DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-15,0,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,, DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-16,0,
PRO,L1线AGV节点名称,L1_AgvName,A2,,,,,,, ,,,,,,,,,,
PRO,L2线AGV节点名称,L2_AgvName,A1,,,,,,, ,,,,,,,,,,
PRO,L2线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, , DI,包装料架检测信号(料串出料线体出口),L2Out_PkgTypeDetect_Sig,0,PRO_AOI_IP_2,0,包装料架检测信号(料串出料线体出口),X781,DI-01,0,
PRO,L2线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, , DI,包装料架检测信号(包装料架出料线体出口),L3Out_PkgTypeDetect_Sig,1,PRO_AOI_IP_2,0,包装料架检测信号(包装料架出料线体出口),X782,DI-02,0,
PRO,休眠秒数(秒),SleepSeconds,40,,,,,,, DI,包装料架出料线脚踏信号,L3_ManualRecSig,2,PRO_AOI_IP_2,0,包装料架出料线脚踏信号,X783,DI-03,0,
DI,包装料架出料线体横移上升端,L3_UpDown_Up_Sig,3,PRO_AOI_IP_2,0,包装料架出料线体横移上升端,X784,DI-04,0,
DI,包装料架出料线体横移下降端,L3_UpDown_Down_Sig,4,PRO_AOI_IP_2,0,包装料架出料线体横移下降端,X785,DI-05,0,
DI,包装料架出料线入口检测,L3_InCheck,5,PRO_AOI_IP_2,0,包装料架出料线入口检测,X786,DI-06,0,
DI,包装料架出料线阻挡检测,L3_StopCheck,6,PRO_AOI_IP_2,0,包装料架出料线阻挡检测,X787,DI-07,0,
DI,包装料架出料线出口检测,L3_OutCheck,7,PRO_AOI_IP_2,0,包装料架出料线出口检测,X788,DI-08,0,
,,,,,,,,,,
DO,包装料架出料线驱动电机运转,L3_Run,0,PRO_AOI_IP_2,0,包装料架出料线驱动电机运转,Y781,DO-01,0,
DO,包装料架出料线过渡滚筒电机运转,L3_RollerRun,1,PRO_AOI_IP_2,0,包装料架出料线过渡滚筒电机运转,Y782,DO-02,0,
DO,料串出料线横移电机运转,L2_Traverse_Run,2,PRO_AOI_IP_2,0,料串出料线横移电机运转,Y783,DO-03,0,
DO,包装料架出料线横移电机运转,L3_Traverse_Run,3,PRO_AOI_IP_2,0,包装料架出料线横移电机运转,Y784,DO-04,0,
DO,包装料架出料线横移机构上升SOL,L3_Traverse_Up_SOL,4,PRO_AOI_IP_2,0,包装料架出料线横移机构上升SOL,Y785,DO-05,0,
DO,包装料架出料线横移机构下降SOL,L3_Traverse_Down_SOL,5,PRO_AOI_IP_2,0,包装料架出料线横移机构下降SOL,Y786,DO-06,0,
DO,包装料架出料线阻挡下降,L3_StopDown,6,PRO_AOI_IP_2,0,包装料架出料线阻挡下降,Y787,DO-07,0,
DO,包装料架出料线出口阻挡下降,L3_OutStopDown,7,PRO_AOI_IP_2,0,包装料架出料线出口阻挡下降,Y788,DO-08,0,
\ No newline at end of file \ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
using Asa; using Asa;
using OnlineStore.Common; using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary; using OnlineStore.LoadCSVLibrary;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
...@@ -11,14 +11,14 @@ using System.Threading; ...@@ -11,14 +11,14 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
public partial class VMILineBean public partial class VMILineBean
{ {
public VMLLineConfig Config; public VMLLineConfig Config;
public bool IsDebug = false; public bool IsDebug = false;
public string Name = ""; public string Name = "";
public bool isInSuddenDown = false; public bool isInSuddenDown = false;
public LineMoveInfo MoveInfo = null; public LineMoveInfo MoveInfo = null;
public AlarmType alarmType = AlarmType.None; public AlarmType alarmType = AlarmType.None;
public RunStatus runStatus = RunStatus.Wait; public RunStatus runStatus = RunStatus.Wait;
...@@ -36,13 +36,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -36,13 +36,13 @@ namespace OnlineStore.DeviceLibrary
mainTimer.Interval = 300; mainTimer.Interval = 300;
mainTimer.AutoReset = true; mainTimer.AutoReset = true;
mainTimer.Enabled = false; mainTimer.Enabled = false;
mainTimer.Elapsed +=timersTimer_Elapsed; mainTimer.Elapsed += timersTimer_Elapsed;
//添加调试 //添加调试
IsDebug = ConfigAppSettings.GetIntValue(Setting_Init.IsInDebug).Equals(1); IsDebug = ConfigAppSettings.GetIntValue(Setting_Init.IsInDebug).Equals(1);
MoveInfo = new LineMoveInfo(); MoveInfo = new LineMoveInfo();
Name = (" VIM流水线 ").ToUpper(); Name = (" VIM流水线 ").ToUpper();
this.Config = config; this.Config = config;
IOManager.Init(); IOManager.Init();
IOManager.instance.ConnectionIOList(Config.DIODeviceNameList); IOManager.instance.ConnectionIOList(Config.DIODeviceNameList);
...@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary
} }
AgvClient.Init(); AgvClient.Init();
Thread.Sleep(300); Thread.Sleep(300);
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
...@@ -96,19 +96,31 @@ namespace OnlineStore.DeviceLibrary ...@@ -96,19 +96,31 @@ namespace OnlineStore.DeviceLibrary
{ {
isInSuddenDown = false; isInSuddenDown = false;
alarmType = AlarmType.None; alarmType = AlarmType.None;
SetWarnMsg(""); SetWarnMsg("");
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
MoveInfo.NextMoveStep(MoveStep.VMI_H_StopUp); MoveInfo.NextMoveStep(MoveStep.VMI_H_StopUp);
LogUtil.info(Name + " 开始复位:所有阻挡上升,设置状态为None"); LogUtil.info(Name + " 开始复位:所有阻挡上升,设置状态为None");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
IOManager.IOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_StopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L2_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L3_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.CIOMove(IO_Type.Switch_Forward, IO_VALUE.LOW);
Thread.Sleep(500);
IOManager.CIOMove(IO_Type.Switch_Back, IO_VALUE.HIGH);
AgvClient.SetStatus(Config.L1_AgvName); AgvClient.SetStatus(Config.L1_AgvName);
AgvClient.SetStatus(Config.L2_AgvName); AgvClient.SetStatus(Config.L2_AgvName);
AgvClient.SetStatus(Config.L3_AgvName);
mainTimer.Enabled = true; mainTimer.Enabled = true;
serverConnectTimer.Enabled = true; serverConnectTimer.Enabled = true;
} }
...@@ -119,14 +131,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -119,14 +131,14 @@ namespace OnlineStore.DeviceLibrary
{ {
mainTimer.Enabled = false; mainTimer.Enabled = false;
serverConnectTimer.Enabled = false; serverConnectTimer.Enabled = false;
runStatus = RunStatus.Reset; runStatus = RunStatus.Reset;
MoveInfo.NewMove(LineMoveType.StoreReset); MoveInfo.NewMove(LineMoveType.StoreReset);
ReturnHome(); ReturnHome();
} }
else else
{ {
SetWarnMsg("复位失败:急停未开"); SetWarnMsg("复位失败:急停未开");
} }
} }
/// <summary> /// <summary>
/// 复位处理 /// 复位处理
...@@ -158,7 +170,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -158,7 +170,7 @@ namespace OnlineStore.DeviceLibrary
break; break;
default: break; default: break;
} }
} }
#endregion #endregion
...@@ -169,20 +181,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -169,20 +181,20 @@ namespace OnlineStore.DeviceLibrary
public void StopRun() public void StopRun()
{ {
WarnMsg = ""; WarnMsg = "";
RFIDManager.Close(); RFIDManager.Close();
AgvClient.SetCancelState(true); AgvClient.SetCancelState(true);
mainTimer.Enabled = false; mainTimer.Enabled = false;
serverConnectTimer.Enabled = false; serverConnectTimer.Enabled = false;
StopMove(); StopMove();
runStatus = RunStatus.Wait; runStatus = RunStatus.Wait;
IOManager.instance.CloseAllDO(); IOManager.instance.CloseAllDO();
LogUtil.info(Name + ",停止运行"); LogUtil.info(Name + ",停止运行");
} }
public void Alarm(AlarmType alarmType) public void Alarm(AlarmType alarmType)
{ {
if (this.alarmType.Equals(alarmType) && alarmType != AlarmType.SuddenStop ) if (this.alarmType.Equals(alarmType) && alarmType != AlarmType.SuddenStop)
{ {
return; return;
} }
...@@ -195,20 +207,37 @@ namespace OnlineStore.DeviceLibrary ...@@ -195,20 +207,37 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + "收到急停信号,停止运行 "); LogUtil.error(Name + "收到急停信号,停止运行 ");
MoveInfo.EndMove(); MoveInfo.EndMove();
StopMove(); StopMove();
} }
} }
public void StopMove() public void StopMove()
{ {
IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_StopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_RollerRun, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L2_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L3_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Traverse_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Traverse_Down_SOL, IO_VALUE.HIGH);
} }
private bool InProcess = false; private bool InProcess = false;
private Stopwatch stopwatch = new Stopwatch(); private Stopwatch stopwatch = new Stopwatch();
public bool MoveStop = false; public bool MoveStop = false;
protected void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) protected void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
...@@ -223,8 +252,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -223,8 +252,8 @@ namespace OnlineStore.DeviceLibrary
} }
try try
{ {
InProcess = true; InProcess = true;
stopwatch.Restart(); stopwatch.Restart();
IoCheckProcess(); IoCheckProcess();
if (runStatus >= RunStatus.HomeMoving) if (runStatus >= RunStatus.HomeMoving)
...@@ -241,12 +270,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -241,12 +270,10 @@ namespace OnlineStore.DeviceLibrary
} }
else if (runStatus.Equals(RunStatus.Runing)) else if (runStatus.Equals(RunStatus.Runing))
{ {
InStoreReelStringLineTimerProcess();
OutLineTimerProcess();
TranverseTimerProcess(); TranverseTimerProcess();
OutReelStringLineTimerProcess();
EmptyInLineTimerProcess();
PkgOutLineTimerProcess();
IOTimeOutProcess(); IOTimeOutProcess();
SleepTimerProcess(); SleepTimerProcess();
...@@ -265,73 +292,169 @@ namespace OnlineStore.DeviceLibrary ...@@ -265,73 +292,169 @@ namespace OnlineStore.DeviceLibrary
InProcess = false; InProcess = false;
} }
private Stopwatch ol_noshelfWatch = new Stopwatch(); private Stopwatch l1_noshelfWatch = new Stopwatch();
private DateTime ol_lastSendShelfTime = DateTime.Now; private DateTime l1_lastSendShelfTime = DateTime.Now;
private int StopDownMS = 1500; private int StopDownMS = 1500;
/// <summary> /// <summary>
/// 料线体定时处理 /// 空入料线体定时处理
/// </summary> /// </summary>
private void OutLineTimerProcess() private void EmptyInLineTimerProcess()
{ {
TimeSpan span = DateTime.Now - ol_lastSendShelfTime; TimeSpan span = DateTime.Now - l1_lastSendShelfTime;
bool l1_up_sig = IOManager.IOValue(IO_Type.L1_UpDown_Up_Sig).Equals(IO_VALUE.HIGH); bool l1_up_sig = IOManager.IOValue(IO_Type.L1_UpDown_Up_Sig).Equals(IO_VALUE.HIGH);
//如果出口无料架,持续1000以上,放开阻挡放出一个料架 //如果出口无料架,持续1000以上,放开阻挡放出一个料架
//每次放料架时间间隔3秒 //每次放料架时间间隔3秒
if (IOManager.IOValue(IO_Type.L1_StopCheck).Equals(IO_VALUE.HIGH)&&IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.LOW) && !l1_up_sig && span.TotalSeconds > 3) if (IOManager.IOValue(IO_Type.L1_StopCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.LOW)
&& !l1_up_sig && span.TotalSeconds > 10)
{ {
//如果入料线体出口无料架,放一个料架到出口 //如果入空入料线体出口无料架,放一个料架到出口
if (LineManager.checkWatch(ol_noshelfWatch, 1000)) if (LineManager.checkWatch(l1_noshelfWatch, 2000))
{ {
//IOManager.CIOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW); LogUtil.info(" 空入料线体出口无料架,下降 [" + IO_Type.L1_StopDown + "] [" + StopDownMS + "] 秒");
LogUtil.info(" 入料线体出口无料架,下降 [" + IO_Type.L1_StopDown + "] [" + StopDownMS + "] 秒");
ol_lastSendShelfTime = DateTime.Now;
StopIOMove(IO_Type.L1_OutStopDown, StopDownMS); StopIOMove(IO_Type.L1_OutStopDown, StopDownMS);
StopIOMove(IO_Type.L1_StopDown, StopDownMS); StopIOMove(IO_Type.L1_StopDown, StopDownMS);
l1_lastSendShelfTime = DateTime.Now;
} }
} }
else if (span.TotalMilliseconds > StopDownMS) else if (span.TotalMilliseconds > StopDownMS)
{ {
ol_noshelfWatch.Stop(); l1_noshelfWatch.Stop();
IOManager.CIOMove(IO_Type.L1_StopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
} }
//如果入口无料架即可进入 //如果空入料线体入口无料架即可进入
if (IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.LOW))
{ {
AgvClient.NeedEnter(Config.L1_AgvName, ""); AgvClient.NeedEnter(Config.L1_AgvName, "");
}else }
else
{ {
AgvClient.SetToNone(Config.L1_AgvName, ""); AgvClient.SetToNone(Config.L1_AgvName, "");
} }
} }
private DateTime il_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
private Stopwatch il_outstopCheckWarch = new Stopwatch(); private Stopwatch l3_noshelfWatch = new Stopwatch();
private DateTime l3_lastSendShelfTime = DateTime.Now;
private Stopwatch l3_outstopCheckWarch = new Stopwatch();
private DateTime l3_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
/// <summary> /// <summary>
/// 出料线体定时处理(入库料串) /// 包装出料线体定时处理
/// </summary>
private void PkgOutLineTimerProcess()
{
TimeSpan span = DateTime.Now - l3_lastSendShelfTime;
//如果出口无料架,持续1000以上,放开阻挡放出一个料架
//每次放料架时间间隔5秒
if (IOManager.IOValue(IO_Type.L3_StopCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L3_OutCheck).Equals(IO_VALUE.LOW)
&& span.TotalSeconds > 5)
{
//如果包装出料线体出口无料架,放一个料架到出口
if (LineManager.checkWatch(l3_noshelfWatch, 1000))
{
IOManager.CIOMove(IO_Type.L3_OutStopDown, IO_VALUE.LOW);
LogUtil.info(" 包装出料线体出口无料架,下降 [" + IO_Type.L3_StopDown + "] [" + StopDownMS + "] 秒");
l3_lastSendShelfTime = DateTime.Now;
StopIOMove(IO_Type.L3_StopDown, StopDownMS);
}
}
else if (span.TotalMilliseconds > StopDownMS)
{
l3_noshelfWatch.Stop();
IOManager.CIOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
}
TimeSpan span1 = DateTime.Now - l3_lastCallAgvTime;
//出口有料架,需要通知agv取走料架
//每次叫小车时间间隔3分钟?
//出口信号需要持续1秒钟
if (IOManager.IOValue(IO_Type.L3_OutCheck).Equals(IO_VALUE.HIGH) && span1.TotalSeconds > 60)
{
if (IOManager.IOValue(IO_Type.L3Out_PkgTypeDetect_Sig).Equals(IO_VALUE.HIGH))
{
if (LineManager.checkWatch(l3_outstopCheckWarch, 1000))
{
l3_lastCallAgvTime = DateTime.Now;
LogUtil.info(" 包装出料线体出口有料架" + ",呼叫agv小车[" + Config.L3_AgvName + "] [NeedLeave] ");
AgvClient.NeedLeave(Config.L3_AgvName, "Pkg");
}
}
}
else if (span1.TotalMilliseconds > StopDownMS)
{
l3_outstopCheckWarch.Stop();
ClientAction currA = AgvClient.GetAction(Config.L3_AgvName);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
{
if (IOManager.IOValue(IO_Type.L3_OutStopDown).Equals(IO_VALUE.HIGH))
{
IOManager.IOMove(IO_Type.L3_OutStopDown, IO_VALUE.LOW);
}
}
}
//如果是出口无料架,NeedLeave状态,改为None
if (IOManager.IOValue(IO_Type.L3_OutCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L3_AgvName).Equals(ClientAction.NeedLeave))
{
l3_outstopCheckWarch.Stop();
LogUtil.info(" 包装出料线体出口无料架 ,更改[" + Config.L3_AgvName + "] 状态[None] ");
AgvClient.SetToNone(Config.L3_AgvName, "");
}
}
private DateTime l2_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
private Stopwatch l2_outstopCheckWarch = new Stopwatch();
private DateTime l2_lastSendShelfTime = DateTime.Now;
private Stopwatch l2_noshelfWatch = new Stopwatch();
/// <summary>
/// 料串出料线体定时处理(入库料串)
/// </summary> /// </summary>
private void InStoreReelStringLineTimerProcess() private void OutReelStringLineTimerProcess()
{ {
TimeSpan span = DateTime.Now - il_lastCallAgvTime; TimeSpan span = DateTime.Now - l2_lastSendShelfTime;
//如果出口无料架,持续1000以上,放开阻挡放出一个料架
//每次放料架时间间隔5秒
if (IOManager.IOValue(IO_Type.L2_StopCheck1).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW)
&& span.TotalSeconds > 5)
{
//如果包装出料线体出口无料架,放一个料架到出口
if (LineManager.checkWatch(l2_noshelfWatch, 1000))
{
IOManager.CIOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
LogUtil.info(" 料串出料线体出口无料架,下降 [" + IO_Type.L2_StopDown + "] [" + StopDownMS + "] 秒");
l2_lastSendShelfTime = DateTime.Now;
StopIOMove(IO_Type.L2_StopDown, StopDownMS);
}
}
else if (span.TotalMilliseconds > StopDownMS)
{
l2_noshelfWatch.Stop();
IOManager.CIOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
}
TimeSpan span1 = DateTime.Now - l2_lastCallAgvTime;
//出口有料架,需要通知agv取走料架 //出口有料架,需要通知agv取走料架
//每次叫小车时间间隔3分钟? //每次叫小车时间间隔3分钟?
//出口信号需要持续1秒钟 //出口信号需要持续1秒钟
if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.HIGH) && span.TotalSeconds > 60) if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.HIGH) && span1.TotalSeconds > 60)
{ {
if (LastOutShelfId.Equals("000").Equals(false)) if (LastOutShelfId.Equals("000").Equals(false))
{ {
if (LineManager.checkWatch(il_outstopCheckWarch, 1000)) if (LineManager.checkWatch(l2_outstopCheckWarch, 1000))
{ {
il_lastCallAgvTime = DateTime.Now; l2_lastCallAgvTime = DateTime.Now;
LogUtil.info(" 出料线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.L2_AgvName + "] [NeedLeave] "); LogUtil.info(" 料串出料线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.L2_AgvName + "] [NeedLeave] ");
AgvClient.NeedLeave(Config.L2_AgvName, LastOutShelfId); AgvClient.NeedLeave(Config.L2_AgvName, LastOutShelfId);
} }
} }
} }
else if (span.TotalMilliseconds > StopDownMS) else if (span1.TotalMilliseconds > StopDownMS)
{ {
il_outstopCheckWarch.Stop(); l2_outstopCheckWarch.Stop();
ClientAction currA = AgvClient.GetAction(Config.L2_AgvName); ClientAction currA = AgvClient.GetAction(Config.L2_AgvName);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter)) if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
{ {
...@@ -344,107 +467,170 @@ namespace OnlineStore.DeviceLibrary ...@@ -344,107 +467,170 @@ namespace OnlineStore.DeviceLibrary
//如果是出口无料架,NeedLeave状态,改为None //如果是出口无料架,NeedLeave状态,改为None
if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L2_AgvName).Equals(ClientAction.NeedLeave)) if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L2_AgvName).Equals(ClientAction.NeedLeave))
{ {
il_outstopCheckWarch.Stop(); l2_outstopCheckWarch.Stop();
LogUtil.info(" 出料线体出口无料架 ,更改[" + Config.L2_AgvName + "] 状态[None] "); LogUtil.info(" 出料线体出口无料架 ,更改[" + Config.L2_AgvName + "] 状态[None] ");
AgvClient.SetToNone(Config.L2_AgvName, "" ); AgvClient.SetToNone(Config.L2_AgvName, "");
} }
} }
private Task TranverseTask; private Task TranverseTask;
private Stopwatch ol_tranverseShelfWatch = new Stopwatch();
private void TranverseTimerProcess() private void TranverseTimerProcess()
{ {
//人工取料 //人工取料
if (IOManager.IOValue(IO_Type.L1_ManualRecSig).Equals(IO_VALUE.HIGH)) if (IOManager.IOValue(IO_Type.L2_ManualRecSig).Equals(IO_VALUE.HIGH))
{ {
if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW)
&& IOManager.IOValue(IO_Type.PackingShelf_Sig).Equals(IO_VALUE.LOW))
{ {
if (TranverseTask == null)
// if (LineManager.checkWatch(ol_tranverseShelfWatch, 2000))
{ {
if (TranverseTask == null) TranverseTask = Task.Factory.StartNew(new Action(Tranverse1Process));
{ }
TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess)); else if (TranverseTask.IsCompleted)
il_lastCallAgvTime = DateTime.Now; {
} TranverseTask = Task.Factory.StartNew(new Action(Tranverse1Process));
else if (TranverseTask.IsCompleted)
{
TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess));
il_lastCallAgvTime = DateTime.Now;
}
} }
} }
} }
else else if (IOManager.IOValue(IO_Type.L3_ManualRecSig).Equals(IO_VALUE.HIGH))
{ {
ol_tranverseShelfWatch.Stop(); if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L3_InCheck).Equals(IO_VALUE.LOW)
&& IOManager.IOValue(IO_Type.PackingShelf_Sig).Equals(IO_VALUE.HIGH))
{
if (TranverseTask == null)
{
TranverseTask = Task.Factory.StartNew(new Action(Tranverse2Process));
}
else if (TranverseTask.IsCompleted)
{
TranverseTask = Task.Factory.StartNew(new Action(Tranverse2Process));
}
}
} }
} }
private static void TranverseProcess() private static void Tranverse1Process()
{ {
LogUtil.info(" TranverseProcess"); LogUtil.info(" Tranverse L1->L2");
if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.PackingShelf_Sig).Equals(IO_VALUE.HIGH)) //if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.PackingShelf_Sig).Equals(IO_VALUE.HIGH))
//{
// IOManager.CIOMove(IO_Type.Switch_Forward, IO_VALUE.LOW);
// Thread.Sleep(500);
// IOManager.CIOMove(IO_Type.Switch_Back, IO_VALUE.HIGH);
// LogUtil.info(" L1->L2 横移包装料架");
// while (IOManager.IOValue(IO_Type.Switch_Back_Sig).Equals(IO_VALUE.LOW))
// {
// }
// LogUtil.info(" L1->L2 料串气缸到达后退端");
//}
//else if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.PackingShelf_Sig).Equals(IO_VALUE.LOW))
//{
// IOManager.CIOMove(IO_Type.Switch_Back, IO_VALUE.LOW);
// Thread.Sleep(500);
// IOManager.CIOMove(IO_Type.Switch_Forward, IO_VALUE.HIGH);
// LogUtil.info(" L1->L2 横移料串");
// //while (IOManager.IOValue(IO_Type.Switch_Forward_Sig).Equals(IO_VALUE.LOW))
// //{
// //}
// //LogUtil.info(" L1->L2 料串气缸到达前进端");
//}
if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW))
{ {
IOManager.CIOMove(IO_Type.Switch_Forward, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L1_Traverse_Down_SOL, IO_VALUE.LOW);
IOManager.CIOMove(IO_Type.L2_Traverse_Down_SOL, IO_VALUE.LOW);
Thread.Sleep(500); Thread.Sleep(500);
IOManager.CIOMove(IO_Type.Switch_Back, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L1_Traverse_Up_SOL, IO_VALUE.HIGH);
LogUtil.info(" 横移包装料架"); IOManager.IOMove(IO_Type.L2_Traverse_Up_SOL, IO_VALUE.HIGH);
while (IOManager.IOValue(IO_Type.Switch_Back_Sig).Equals(IO_VALUE.LOW)) Thread.Sleep(500);
LogUtil.info(" L1->L2 横移机构上升");
while (IOManager.IOValue(IO_Type.L2_UpDown_Up_Sig).Equals(IO_VALUE.LOW) || IOManager.IOValue(IO_Type.L1_UpDown_Up_Sig).Equals(IO_VALUE.LOW))
{ {
} }
LogUtil.info(" 料串气缸到达后退端"); IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.HIGH);
LogUtil.info(" L1->L2 横移机构电机运行");
} }
else if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.PackingShelf_Sig).Equals(IO_VALUE.LOW)) Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
while (IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW))
{ {
IOManager.CIOMove(IO_Type.Switch_Back, IO_VALUE.LOW); if (stopwatch.Elapsed.TotalMinutes >= 2)
Thread.Sleep(500);
IOManager.CIOMove(IO_Type.Switch_Forward, IO_VALUE.HIGH);
LogUtil.info(" 横移料串");
while (IOManager.IOValue(IO_Type.Switch_Forward_Sig).Equals(IO_VALUE.LOW))
{ {
IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.HIGH);
LogUtil.info(" L1->L2 横移机构转移料串超时");
} }
LogUtil.info(" 料串气缸到达前进端");
} }
stopwatch.Stop();
Thread.Sleep(2000);
IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.LOW);
LogUtil.info(" L1->L2 横移电机停止");
Thread.Sleep(1000);
IOManager.IOMove(IO_Type.L1_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.CIOMove(IO_Type.L1_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.CIOMove(IO_Type.L2_Traverse_Down_SOL, IO_VALUE.HIGH);
LogUtil.info(" 横移机构下降");
LogUtil.info(" L1->L2 Tranverse Finish");
}
if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW)) private static void Tranverse2Process()
{
LogUtil.info(" Tranverse L1->L3");
IOManager.CIOMove(IO_Type.L1_Traverse_Down_SOL, IO_VALUE.LOW);
IOManager.CIOMove(IO_Type.L3_Traverse_Down_SOL, IO_VALUE.LOW);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.L1_Traverse_Up_SOL, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L3_Traverse_Up_SOL, IO_VALUE.HIGH);
Thread.Sleep(500);
LogUtil.info(" L1->L3 横移机构上升");
while (IOManager.IOValue(IO_Type.L3_UpDown_Up_Sig).Equals(IO_VALUE.LOW) || IOManager.IOValue(IO_Type.L1_UpDown_Up_Sig).Equals(IO_VALUE.LOW))
{ {
IOManager.CIOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.LOW);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.HIGH);
Thread.Sleep(500);
LogUtil.info(" 横移机构上升");
while (IOManager.IOValue(IO_Type.L2_UpDown_Up_Sig).Equals(IO_VALUE.LOW))
{
}
//IOManager.IOMove(IO_Type.Traverse2_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.Traverse1_Run, IO_VALUE.HIGH);
LogUtil.info(" 横移机构电机运行");
} }
IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Traverse_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L3_RollerRun, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.HIGH);
LogUtil.info(" L1->L3 横移机构电机运行");
Stopwatch stopwatch = new Stopwatch(); Stopwatch stopwatch = new Stopwatch();
stopwatch.Start(); stopwatch.Start();
while (IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW)) while (IOManager.IOValue(IO_Type.L3_InCheck).Equals(IO_VALUE.LOW))
{ {
if (stopwatch.Elapsed.TotalMinutes >= 2) if (stopwatch.Elapsed.TotalMinutes >= 2)
{ {
//stopwatch.Stop(); IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.LOW);
//IOManager.CIOMove(IO_Type.Traverse_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L3_Traverse_Run, IO_VALUE.HIGH);
//IOManager.CIOMove(IO_Type.Roller_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L3_RollerRun, IO_VALUE.HIGH);
LogUtil.info(" 横移机构转移料架超时 [" + IO_Type.L1_StopDown + "] 大于2分钟"); IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.HIGH);
//break; LogUtil.info(" L1->L3 横移机构转移料架超时");
} }
} }
stopwatch.Stop(); stopwatch.Stop();
Thread.Sleep(2000); Thread.Sleep(2000);
IOManager.IOMove(IO_Type.Traverse1_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_Traverse_BackRun, IO_VALUE.LOW);
//IOManager.IOMove(IO_Type.Traverse2_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L3_Traverse_Run, IO_VALUE.LOW);
LogUtil.info(" 横移电机停止"); IOManager.IOMove(IO_Type.L3_RollerRun, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L1_Traverse_Run, IO_VALUE.LOW);
LogUtil.info(" L1->L3 横移电机停止");
Thread.Sleep(1000); Thread.Sleep(1000);
IOManager.CIOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L1_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.CIOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L3_Traverse_Up_SOL, IO_VALUE.LOW);
IOManager.CIOMove(IO_Type.L1_Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.CIOMove(IO_Type.L3_Traverse_Down_SOL, IO_VALUE.HIGH);
LogUtil.info(" 横移机构下降"); LogUtil.info(" 横移机构下降");
LogUtil.info(" TranverseProcess Finish"); LogUtil.info(" L1->L3 Tranverse Finish");
} }
private void LedProcess() private void LedProcess()
{ {
...@@ -525,7 +711,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -525,7 +711,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (MoveInfo.MoveType.Equals(LineMoveType.None)) if (MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
LogUtil.info("收到复位信号,当前无报警,暂不复位"); LogUtil.info("收到复位信号,当前无报警,暂不复位");
} }
else else
{ {
...@@ -541,7 +727,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -541,7 +727,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
private DateTime preIoTimerOutTime = DateTime.Now; private DateTime preIoTimerOutTime = DateTime.Now;
/// <summary> /// <summary>
/// io检测异常 /// io检测异常
...@@ -557,7 +743,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -557,7 +743,7 @@ namespace OnlineStore.DeviceLibrary
if (runStatus < RunStatus.Runing || isInSuddenDown) if (runStatus < RunStatus.Runing || isInSuddenDown)
{ {
return; return;
} }
if (alarmType.Equals(AlarmType.IoSingleTimeOut) && MoveInfo.IsInWait == false) if (alarmType.Equals(AlarmType.IoSingleTimeOut) && MoveInfo.IsInWait == false)
{ {
LogUtil.info(Name + "之前有IO超时报警,清理报警:" + WarnMsg); LogUtil.info(Name + "之前有IO超时报警,清理报警:" + WarnMsg);
...@@ -587,9 +773,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -587,9 +773,9 @@ namespace OnlineStore.DeviceLibrary
{ {
LedProcess(); LedProcess();
LastInShelfId = RFIDManager.ReadRFID(Config.L2_In_RFIDIP,true).NumStr(); LastInShelfId = RFIDManager.ReadRFID(Config.L2_In_RFIDIP, true).NumStr();
LastOutShelfId = RFIDManager.ReadRFID(Config.L2_Out_RFIDIP,true).NumStr(); LastOutShelfId = RFIDManager.ReadRFID(Config.L2_Out_RFIDIP, true).NumStr();
bool result = SendVmiRfid(LastInShelfId); bool result = SendVmiRfid(LastInShelfId);
if (result) if (result)
{ {
...@@ -598,7 +784,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -598,7 +784,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
IOManager.CIOMove(IO_Type.L2_StopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -623,7 +809,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -623,7 +809,7 @@ namespace OnlineStore.DeviceLibrary
return path; return path;
} }
private string http_server = ConfigAppSettings.GetValue(Setting_Init.http_server); private string http_server = ConfigAppSettings.GetValue(Setting_Init.http_server);
private string api_communication = "/service/store/qisda/vmiRfid"; //流水线状态通信接口 private string api_communication = "/service/store/qisda/vmiRfid"; //流水线状态通信接口
private string lastLog = ""; private string lastLog = "";
public bool SendVmiRfid(string rfid) public bool SendVmiRfid(string rfid)
...@@ -632,13 +818,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -632,13 +818,13 @@ namespace OnlineStore.DeviceLibrary
{ {
Dictionary<string, string> paramMap = new Dictionary<string, string>(); Dictionary<string, string> paramMap = new Dictionary<string, string>();
paramMap.Add("rfid", rfid); paramMap.Add("rfid", rfid);
string addr = GetAddr(api_communication, paramMap ) ; string addr = GetAddr(api_communication, paramMap);
string resultStr = HttpHelper.Post(addr, ""); string resultStr = HttpHelper.Post(addr, "");
string log = "vmiRfid 【" + addr + "】【" + resultStr + "】"; string log = "vmiRfid 【" + addr + "】【" + resultStr + "】";
if (lastLog.Equals(log).Equals(false)) if (lastLog.Equals(log).Equals(false))
{ {
lastLog = log; lastLog = log;
LogUtil.info(log); LogUtil.info(log);
} }
if (resultStr.Equals("move")) if (resultStr.Equals("move"))
{ {
......
...@@ -126,9 +126,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -126,9 +126,10 @@ namespace OnlineStore.DeviceLibrary
public string GetRunInfo() public string GetRunInfo()
{ {
return "进料线入口" + Config.L1_AgvName + ":" + AgvClient.GetAction(Config.L1_AgvName) + ",料架: " + LastInShelfId + "\r\n" + return "空入料线入口" + Config.L1_AgvName + ":" + AgvClient.GetAction(Config.L1_AgvName) + ",料架: " + LastInShelfId + "\r\n" +
"出料线出口" + Config.L2_AgvName + ":" + AgvClient.GetAction(Config.L2_AgvName) + ",料架: " + LastOutShelfId + "\r\n"; "料串出料线出口" + Config.L2_AgvName + ":" + AgvClient.GetAction(Config.L2_AgvName) + ",料架: " + LastOutShelfId + "\r\n"+
"包装出料线出口" + Config.L3_AgvName + ":" + AgvClient.GetAction(Config.L3_AgvName);
} }
#endregion #endregion
...@@ -158,9 +159,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -158,9 +159,12 @@ namespace OnlineStore.DeviceLibrary
needCheckList.Add(IO_Type.L2_InCheck); needCheckList.Add(IO_Type.L2_InCheck);
needCheckList.Add(IO_Type.L2_StopCheck1); needCheckList.Add(IO_Type.L2_StopCheck1);
needCheckList.Add(IO_Type.L2_OutCheck); needCheckList.Add(IO_Type.L2_OutCheck);
needCheckList.Add(IO_Type.L3_InCheck);
needCheckList.Add(IO_Type.L3_StopCheck);
needCheckList.Add(IO_Type.L3_OutCheck);
needCheckList.Add(IO_Type.L2_StopDown); needCheckList.Add(IO_Type.L2_StopDown);
needCheckList.Add(IO_Type.L1_StopDown); needCheckList.Add(IO_Type.L1_StopDown);
needCheckList.Add(IO_Type.L3_StopDown);
} }
bool agvBusy = false; bool agvBusy = false;
ClientAction currA = AgvClient.GetAction(Config.L1_AgvName); ClientAction currA = AgvClient.GetAction(Config.L1_AgvName);
...@@ -231,6 +235,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -231,6 +235,7 @@ namespace OnlineStore.DeviceLibrary
IsSleep = true; IsSleep = true;
IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Run, IO_VALUE.LOW);
} }
else else
{ {
...@@ -238,6 +243,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -238,6 +243,7 @@ namespace OnlineStore.DeviceLibrary
LastBusyTime = DateTime.Now; LastBusyTime = DateTime.Now;
IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L3_Run, IO_VALUE.HIGH);
}; };
} }
#endregion #endregion
......
...@@ -156,6 +156,36 @@ namespace OnlineStore.DeviceLibrary ...@@ -156,6 +156,36 @@ namespace OnlineStore.DeviceLibrary
SetStatus(id, "", ClientAction.None, ClientLevel.High); SetStatus(id, "", ClientAction.None, ClientLevel.High);
} }
} }
else if (id.Equals(LineManager.Config.L3_AgvName))
{
if (IOManager.IOValue(IO_Type.L3_OutCheck).Equals(IO_VALUE.HIGH))
{
SetStatus(id, "Pkg", ClientAction.MayLeave);
LineManager.VMILine.UpdateSleep(false);
LineManager.VMILine.StopIOMove(IO_Type.L3_OutStopDown, 1500);
//agvClient.MayLeave(id);
LogUtil.info(logName + "下降 L3_OutStopDown " );
Task.Factory.StartNew(delegate
{
//两秒后改为离开状态
Thread.Sleep(5000);
LogUtil.info(logName + " ,调用 FinishLeave ");
SetStatus(id, "Pkg", ClientAction.FinishLeave);
Thread.Sleep(5000);
LogUtil.info(logName + " ,处理结束 更新状态为None ");
SetStatus(id, "Pkg", ClientAction.None);
});
}
else
{
LogUtil.error(logName + " L3_OutCheck 未检测到料架,无法将料架进入AGV");
SetStatus(id, "", ClientAction.None, ClientLevel.High);
}
}
} }
private static void AgvClient_Arrive(string id, string rfid) private static void AgvClient_Arrive(string id, string rfid)
{ {
......
...@@ -33,12 +33,12 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -33,12 +33,12 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
public static string Reset_BTN = "Reset_BTN"; public static string Reset_BTN = "Reset_BTN";
/// <summary> /// <summary>
/// DI,出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,出料线入口检测,X723,DI-03,0, /// DI,料串出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,料串出料线入口检测,X723,DI-03,0,
/// </summary> /// </summary>
public static string L2_InCheck = "L2_InCheck"; public static string L2_InCheck = "L2_InCheck";
/// <summary> /// <summary>
/// DI,出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1,X724,DI-04,0, /// DI,料串出料线阻挡检测,L2_StopCheck1,3,PRO_AOI_IP_1,0,料串出料线阻挡检测,X724,DI-04,0,
/// </summary> /// </summary>
public static string L2_StopCheck1 = "L2_StopCheck1"; public static string L2_StopCheck1 = "L2_StopCheck1";
/// <summary> /// <summary>
...@@ -46,123 +46,191 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -46,123 +46,191 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
public static string Switch_Forward_Sig = "Switch_Forward_Sig"; public static string Switch_Forward_Sig = "Switch_Forward_Sig";
/// <summary> /// <summary>
///DI,出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,出料线出口检测,X726,DI-06,0, ///DI,料串出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,料串出料线出口检测,X726,DI-06,0,
/// </summary> /// </summary>
public static string L2_OutCheck = "L2_OutCheck"; public static string L2_OutCheck = "L2_OutCheck";
/// <summary> /// <summary>
/// DI,入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,入料线入口检测,X727,DI-07,0, /// DI,空入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,空入料线入口检测,X727,DI-07,0,
/// </summary> /// </summary>
public static string L1_InCheck = "L1_InCheck"; public static string L1_InCheck = "L1_InCheck";
/// <summary> /// <summary>
///DI,入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,入料线阻挡检测,X728,DI-08,0, ///DI,空入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,空入料线阻挡检测,X728,DI-08,0,
/// </summary> /// </summary>
public static string L1_StopCheck = "L1_StopCheck"; public static string L1_StopCheck = "L1_StopCheck";
/// <summary> /// <summary>
/// DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DO-01,0, /// DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DI-09,0,
/// </summary> /// </summary>
public static string Switch_Back_Sig = "Switch_Back_Sig"; public static string Switch_Back_Sig = "Switch_Back_Sig";
/// <summary> /// <summary>
///DI,入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口检测,X730,DO-02,0, ///DI,空入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,空入料线出口检测,X730,DI-10,0,
/// </summary> /// </summary>
public static string L1_OutCheck = "L1_OutCheck"; public static string L1_OutCheck = "L1_OutCheck";
/// <summary> /// <summary>
/// DI,出料线人工取料信号,L1_ManualRecSig,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0, /// DI,料串出料线脚踏信号,L2_ManualRecSig,10,PRO_AOI_IP_1,0,料串出料线脚踏信号,X731,DI-11,0,
/// </summary> /// </summary>
public static string L1_ManualRecSig = "L1_ManualRecSig"; public static string L2_ManualRecSig = "L2_ManualRecSig";
/// <summary> /// <summary>
/// DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端,X732,DO-04,0, /// DI,空入料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,空入料线体横移上升端,X732,DI-12,0,
/// </summary> /// </summary>
public static string L1_UpDown_Up_Sig = "L1_UpDown_Up_Sig"; public static string L1_UpDown_Up_Sig = "L1_UpDown_Up_Sig";
/// <summary> /// <summary>
/// DI,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端,X733,DO-05,0, /// DI,空入料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,空入料线体横移下降端,X733,DI-13,0,
/// </summary> /// </summary>
public static string L1_UpDown_Down_Sig = "L1_UpDown_Down_Sig"; public static string L1_UpDown_Down_Sig = "L1_UpDown_Down_Sig";
/// <summary> /// <summary>
///DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端,X734,DO-06,0, ///DI,料串出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,料串出料线体横移上升端,X734,DI-14,0,
/// </summary> /// </summary>
public static string L2_UpDown_Up_Sig = "L2_UpDown_Up_Sig"; public static string L2_UpDown_Up_Sig = "L2_UpDown_Up_Sig";
/// <summary> /// <summary>
/// DI,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端,X735,DO-07,0, /// DI,料串出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,料串出料线体横移下降端,X735,DI-15,0,
/// </summary> /// </summary>
public static string L2_UpDown_Down_Sig = "L2_UpDown_Down_Sig"; public static string L2_UpDown_Down_Sig = "L2_UpDown_Down_Sig";
/// <summary> /// <summary>
/// DI,包装料架检测信号,PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号,X736,DO-08,0, /// DI,包装料架检测信号(空入料线体出口),PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号(空入料线体出口),X736,DI-16,0,
/// </summary> /// </summary>
public static string PackingShelf_Sig = "PackingShelf_Sig"; public static string PackingShelf_Sig = "PackingShelf_Sig";
/// <summary> /// <summary>
/// DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DI-01,0, /// DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DO-01,0,
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary> /// <summary>
///DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0, ///DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DO-02,0,
/// </summary> /// </summary>
public static string Alarm_HddLed = "Alarm_HddLed"; public static string Alarm_HddLed = "Alarm_HddLed";
/// <summary> /// <summary>
///DO,进料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0, ///DO,空入料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,空入料线驱动电机运转,Y723,DO-03,0,
/// </summary> /// </summary>
public static string L1_Run = "L1_Run"; public static string L1_Run = "L1_Run";
/// <summary> /// <summary>
/// DO,出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0, /// DO,料串出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,料串出料线驱动电机运转,Y724,DO-04,0,
/// </summary> /// </summary>
public static string L2_Run = "L2_Run"; public static string L2_Run = "L2_Run";
/// <summary> /// <summary>
/// DO,进料线阻挡1下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡1下降,Y725,DI-05,0, /// DO,空入料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,空入料线阻挡下降,Y725,DO-05,0,
/// </summary> /// </summary>
public static string L1_StopDown = "L1_StopDown"; public static string L1_StopDown = "L1_StopDown";
/// <summary> /// <summary>
/// DO,进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降,Y726,DI-06,0, /// DO,料串出料线横移机构上升SOL,L2_Traverse_Up_SOL,5,PRO_AOI_IP_1,0,料串出料线横移机构上升SOL,Y726,DO-06,0,
/// </summary> /// </summary>
//public static string L1_StopDown2 = "L1_StopDown2"; public static string L2_Traverse_Up_SOL = "L2_Traverse_Up_SOL";
/// <summary> /// <summary>
/// DO,进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降,Y727,DI-07,0, /// DO,空入料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,空入料线出口阻挡下降,Y727,DO-07,0,
/// </summary> /// </summary>
public static string L1_OutStopDown = "L1_OutStopDown"; public static string L1_OutStopDown = "L1_OutStopDown";
/// <summary> /// <summary>
/// DO,出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降,Y728,DI-08,0, /// DO,料串出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,料串出料线出口阻挡下降,Y728,DO-08,0,
/// </summary> /// </summary>
public static string L2_OutStopDown = "L2_OutStopDown"; public static string L2_OutStopDown = "L2_OutStopDown";
/// <summary> /// <summary>
/// DO,出料线阻挡2下降,L2_OutStopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降,Y729,DO-01,0, /// DO,料串出料线横移机构下降SOL,L2_Traverse_Down_SOL,8,PRO_AOI_IP_1,0,料串出料线横移机构下降SOL,Y729,DO-09,0,
/// </summary> /// </summary>
//public static string L2_StopDown2 = "L2_StopDown2"; public static string L2_Traverse_Down_SOL = "L2_Traverse_Down_SOL";
/// <summary> /// <summary>
/// DO,出料线出口阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线出口阻挡下降,Y730,DO-02,0, /// DO,料串出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,料串出料线阻挡下降,Y730,DO-10,0,
/// </summary> /// </summary>
public static string L2_StopDown = "L2_StopDown"; public static string L2_StopDown = "L2_StopDown";
/// <summary> /// <summary>
/// DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL,Y731,DO-03,0, /// DO,空入料线横移机构上升SOL,L1_Traverse_Up_SOL,10,PRO_AOI_IP_1,0,空入料线横移机构上升SOL,Y731,DO-11,0,
/// </summary> /// </summary>
public static string Traverse_Up_SOL = "Traverse_Up_SOL"; public static string L1_Traverse_Up_SOL = "L1_Traverse_Up_SOL";
/// <summary> /// <summary>
/// DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL,Y732,DO-04,0, /// DO,空入料线横移机构下降SOL,L1_Traverse_Down_SOL,11,PRO_AOI_IP_1,0,空入料线横移机构下降SOL,Y732,DO-12,0,
/// </summary> /// </summary>
public static string Traverse_Down_SOL = "Traverse_Down_SOL"; public static string L1_Traverse_Down_SOL = "L1_Traverse_Down_SOL";
/// <summary> /// <summary>
/// DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转,Y733,DO-05,0, /// DO,空入料线横移电机正转,L1_Traverse_Run,12,PRO_AOI_IP_1,0,空入料线横移电机正转,Y733,DO-13,0,
/// </summary> /// </summary>
public static string Traverse1_Run = "Traverse1_Run"; public static string L1_Traverse_Run = "L1_Traverse_Run";
/// <summary> /// <summary>
/// DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转,Y734,DO-06,0, /// DO,空入料线横移电机反转,L1_Traverse_BackRun,13,PRO_AOI_IP_1,0,空入料线横移电机反转,Y734,DO-14,0,
/// </summary> /// </summary>
public static string Traverse2_Run = "Traverse2_Run"; public static string L1_Traverse_BackRun = "L1_Traverse_BackRun";
/// <summary> /// <summary>
/// DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-07,0, /// DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-15,0,
/// </summary> /// </summary>
public static string Switch_Forward = "Switch_Forward"; public static string Switch_Forward = "Switch_Forward";
/// <summary> /// <summary>
/// DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-08,0, /// DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-16,0,
/// </summary> /// </summary>
public static string Switch_Back = "Switch_Back"; public static string Switch_Back = "Switch_Back";
/// <summary>
/// DI,包装料架检测信号(料串出料线体出口),L2Out_PkgTypeDetect_Sig,0,PRO_AOI_IP_2,0,包装料架检测信号(料串出料线体出口),X781,DI-01,0,
/// </summary>
public static string L2Out_PkgTypeDetect_Sig = "L2Out_PkgTypeDetect_Sig";
/// <summary>
/// DI,包装料架检测信号(包装料架出料线体出口),L3Out_PkgTypeDetect_Sig,1,PRO_AOI_IP_2,0,包装料架检测信号(包装料架出料线体出口),X782,DI-02,0,
/// </summary>
public static string L3Out_PkgTypeDetect_Sig = "L3Out_PkgTypeDetect_Sig";
/// <summary>
///DI,包装料架出料线脚踏信号,L3_ManualRecSig,2,PRO_AOI_IP_2,0,包装料架出料线脚踏信号,X783,DI-03,0,
/// </summary>
public static string L3_ManualRecSig = "L3_ManualRecSig";
/// <summary>
///DI,包装料架出料线体横移上升端,L3_UpDown_Up_Sig,3,PRO_AOI_IP_2,0,包装料架出料线体横移上升端,X784,DI-04,0,
/// </summary>
public static string L3_UpDown_Up_Sig = "L3_UpDown_Up_Sig";
/// <summary>
/// DI,包装料架出料线体横移下降端,L3_UpDown_Down_Sig,4,PRO_AOI_IP_2,0,包装料架出料线体横移下降端,X785,DI-05,0,
/// </summary>
public static string L3_UpDown_Down_Sig = "L3_UpDown_Down_Sig";
/// <summary>
/// DI,包装料架出料线入口检测,L3_InCheck,5,PRO_AOI_IP_2,0,包装料架出料线入口检测,X786,DI-06,0,
/// </summary>
public static string L3_InCheck = "L3_InCheck";
/// <summary>
/// DI,包装料架出料线阻挡检测,L3_StopCheck,6,PRO_AOI_IP_2,0,包装料架出料线阻挡检测,X787,DI-07,0,
/// </summary>
public static string L3_StopCheck = "L3_StopCheck";
/// <summary>
/// DI,包装料架出料线出口检测,L3_OutCheck,7,PRO_AOI_IP_2,0,包装料架出料线出口检测,X788,DI-08,0,
/// </summary>
public static string L3_OutCheck = "L3_OutCheck";
/// <summary>
///DO,包装料架出料线驱动电机运转,L3_Run,0,PRO_AOI_IP_2,0,包装料架出料线驱动电机运转,Y781,DO-01,0,
/// </summary>
public static string L3_Run = "L3_Run";
/// <summary>
/// DO,包装料架出料线过渡滚筒电机运转,L3_RollerRun,1,PRO_AOI_IP_2,0,包装料架出料线过渡滚筒电机运转,Y782,DO-02,0,
/// </summary>
public static string L3_RollerRun = "L3_RollerRun";
/// <summary>
/// DO,料串出料线横移电机运转,L2_Traverse_Run,2,PRO_AOI_IP_2,0,料串出料线横移电机运转,Y783,DO-03,0,
/// </summary>
public static string L2_Traverse_Run = "L2_Traverse_Run";
/// <summary>
/// DO,包装料架出料线横移电机运转,L3_Traverse_Run,3,PRO_AOI_IP_2,0,包装料架出料线横移电机运转,Y784,DO-04,0,
/// </summary>
public static string L3_Traverse_Run = "L3_Traverse_Run";
/// <summary>
/// DO,包装料架出料线横移机构上升SOL,L3_Traverse_Up_SOL,4,PRO_AOI_IP_2,0,包装料架出料线横移机构上升SOL,Y785,DO-05,0,
/// </summary>
public static string L3_Traverse_Up_SOL = "L3_Traverse_Up_SOL";
/// <summary>
/// DO,包装料架出料线横移机构下降SOL,L3_Traverse_Down_SOL,5,PRO_AOI_IP_2,0,包装料架出料线横移机构下降SOL,Y786,DO-06,0,
/// </summary>
public static string L3_Traverse_Down_SOL = "L3_Traverse_Down_SOL";
/// <summary>
///DO,包装料架出料线阻挡下降,L3_StopDown,6,PRO_AOI_IP_2,0,包装料架出料线阻挡下降,Y787,DO-07,0,
/// </summary>
public static string L3_StopDown = "L3_StopDown";
/// <summary>
/// DO,包装料架出料线出口阻挡下降,L3_OutStopDown,7,PRO_AOI_IP_2,0,包装料架出料线出口阻挡下降,Y788,DO-08,0,
/// </summary>
public static string L3_OutStopDown = "L3_OutStopDown";
} }
public enum IO_VALUE public enum IO_VALUE
{ {
......
...@@ -50,7 +50,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -50,7 +50,11 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
[ConfigProAttribute("L2_AgvName")] [ConfigProAttribute("L2_AgvName")]
public string L2_AgvName { get; set; } public string L2_AgvName { get; set; }
/// <summary>
/// PRO,L3包装料架出料线AGV节点名称,L3_AgvName,A11,,,,,,,
/// </summary>
[ConfigProAttribute("L3_AgvName")]
public string L3_AgvName { get; set; }
public double AirCheckSeconds = 60; public double AirCheckSeconds = 60;
/// <summary> /// <summary>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<add key="App_AutoRun" value="1" /> <add key="App_AutoRun" value="1" />
<add key="App_Title" value="VMI总仓进出料架缓存线" /> <add key="App_Title" value="VMI总仓进出料架缓存线" />
<!--Server address--> <!--Server address-->
<add key="http.server" value="http://10.85.160.25/myproject/" /> <add key="http.server" value="http://10.85.199.25/myproject/" />
<!--storeType--> <!--storeType-->
<add key="store_count" value="1" /> <add key="store_count" value="1" />
<!--start one store config--> <!--start one store config-->
...@@ -22,7 +22,9 @@ ...@@ -22,7 +22,9 @@
<add key="AgvServerIp" value="192.168.103.12" /> <add key="AgvServerIp" value="192.168.103.12" />
<!--是否调试状态--> <!--是否调试状态-->
<add key="IsInDebug" value="1" /> <add key="IsInDebug" value="1" />
<add key ="Agv_Log_Open" value ="1"/> <add key="Agv_Log_Open" value="1" />
<add key="RfidServer_Port" value="13005" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings> </appSettings>
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
...@@ -36,16 +38,15 @@ ...@@ -36,16 +38,15 @@
</layout> </layout>
</appender> </appender>
<appender name="TheRFID" type="log4net.Appender.RollingFileAppender"> <appender name="TheRFID" type="log4net.Appender.RollingFileAppender">
<file value="logs/TheRFID-vmi.log"/> <file value="logs/TheRFID-vmi.log" />
<param name="Encoding" value="UTF-8" /> <param name="Encoding" value="UTF-8" />
<appendToFile value="true"/> <appendToFile value="true" />
<rollingStyle value="Date"/> <rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd"/> <datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout"> <layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n" /> <conversionPattern value="[%date][%t]%-5p %m%n" />
</layout> </layout>
</appender> </appender>
<logger name="RollingLogFileAppender"> <logger name="RollingLogFileAppender">
<level value="Info" /> <level value="Info" />
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
...@@ -54,10 +55,10 @@ ...@@ -54,10 +55,10 @@
<level value="Error" /> <level value="Error" />
<appender-ref ref="TheRFID" /> <appender-ref ref="TheRFID" />
</logger> </logger>
<root> <root>
<level value="Info" /> <level value="Info" />
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
</root> </root>
</log4net> </log4net>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
......
...@@ -39,19 +39,19 @@ ...@@ -39,19 +39,19 @@
this.btnDis = new System.Windows.Forms.Button(); this.btnDis = new System.Windows.Forms.Button();
this.btnInit = new System.Windows.Forms.Button(); this.btnInit = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label1 = new System.Windows.Forms.Label(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); this.button2 = new System.Windows.Forms.Button();
this.btnStopTDown = new System.Windows.Forms.Button(); this.txtDOIndex = new System.Windows.Forms.TextBox();
this.cmbStopList = new System.Windows.Forms.ComboBox(); this.label14 = new System.Windows.Forms.Label();
this.btnWriteSingleDO = new System.Windows.Forms.Button();
this.txtWriteTime = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.txtDoName = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.cmbWriteIO = new System.Windows.Forms.ComboBox();
this.btnCloseA = new System.Windows.Forms.Button(); this.btnCloseA = new System.Windows.Forms.Button();
this.btnClearL = new System.Windows.Forms.Button(); this.btnClearL = new System.Windows.Forms.Button();
this.btnLogDebug = new System.Windows.Forms.Button(); this.btnLogDebug = new System.Windows.Forms.Button();
this.btnOLOutStopDown = new System.Windows.Forms.Button();
this.btnOLInStopDown = new System.Windows.Forms.Button();
this.btnInLOutStopDown = new System.Windows.Forms.Button();
this.btnInLInStopDown = new System.Windows.Forms.Button();
this.btnInLineRun = new System.Windows.Forms.Button();
this.btnOutL = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox(); this.groupBox4 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
...@@ -68,13 +68,10 @@ ...@@ -68,13 +68,10 @@
this.btnVmiStop = new System.Windows.Forms.Button(); this.btnVmiStop = new System.Windows.Forms.Button();
this.chbAuto = new System.Windows.Forms.CheckBox(); this.chbAuto = new System.Windows.Forms.CheckBox();
this.lblThisSta = new System.Windows.Forms.Label(); this.lblThisSta = new System.Windows.Forms.Label();
this.btnTranverse = new System.Windows.Forms.Button();
this.btnUpdown = new System.Windows.Forms.Button();
this.btnSwitch = new System.Windows.Forms.Button();
this.contextMenuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout();
this.groupBox5.SuspendLayout(); this.groupBox5.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); this.groupBox6.SuspendLayout();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
...@@ -133,7 +130,7 @@ ...@@ -133,7 +130,7 @@
this.groupBox5.Controls.Add(this.btnNeedLeave); this.groupBox5.Controls.Add(this.btnNeedLeave);
this.groupBox5.Controls.Add(this.btnDis); this.groupBox5.Controls.Add(this.btnDis);
this.groupBox5.Controls.Add(this.btnInit); this.groupBox5.Controls.Add(this.btnInit);
this.groupBox5.Location = new System.Drawing.Point(450, 132); this.groupBox5.Location = new System.Drawing.Point(450, 189);
this.groupBox5.Name = "groupBox5"; this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(728, 77); this.groupBox5.Size = new System.Drawing.Size(728, 77);
this.groupBox5.TabIndex = 277; this.groupBox5.TabIndex = 277;
...@@ -218,97 +215,140 @@ ...@@ -218,97 +215,140 @@
// //
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left))); | System.Windows.Forms.AnchorStyles.Left)));
this.groupBox2.Controls.Add(this.btnSwitch); this.groupBox2.Controls.Add(this.groupBox6);
this.groupBox2.Controls.Add(this.btnUpdown);
this.groupBox2.Controls.Add(this.btnTranverse);
this.groupBox2.Controls.Add(this.label1);
this.groupBox2.Controls.Add(this.numericUpDown1);
this.groupBox2.Controls.Add(this.btnStopTDown);
this.groupBox2.Controls.Add(this.cmbStopList);
this.groupBox2.Controls.Add(this.btnCloseA); this.groupBox2.Controls.Add(this.btnCloseA);
this.groupBox2.Controls.Add(this.btnClearL); this.groupBox2.Controls.Add(this.btnClearL);
this.groupBox2.Controls.Add(this.btnLogDebug); this.groupBox2.Controls.Add(this.btnLogDebug);
this.groupBox2.Controls.Add(this.btnOLOutStopDown);
this.groupBox2.Controls.Add(this.btnOLInStopDown);
this.groupBox2.Controls.Add(this.btnInLOutStopDown);
this.groupBox2.Controls.Add(this.btnInLInStopDown);
this.groupBox2.Controls.Add(this.btnInLineRun);
this.groupBox2.Controls.Add(this.btnOutL);
this.groupBox2.Controls.Add(this.groupBox4); this.groupBox2.Controls.Add(this.groupBox4);
this.groupBox2.Controls.Add(this.groupBox1); this.groupBox2.Controls.Add(this.groupBox1);
this.groupBox2.Location = new System.Drawing.Point(10, 132); this.groupBox2.Location = new System.Drawing.Point(10, 176);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(434, 551); this.groupBox2.Size = new System.Drawing.Size(434, 507);
this.groupBox2.TabIndex = 276; this.groupBox2.TabIndex = 276;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
// //
// label1 // groupBox6
// //
this.label1.AutoSize = true; this.groupBox6.Controls.Add(this.button2);
this.label1.Location = new System.Drawing.Point(248, 441); this.groupBox6.Controls.Add(this.txtDOIndex);
this.label1.Name = "label1"; this.groupBox6.Controls.Add(this.label14);
this.label1.Size = new System.Drawing.Size(25, 17); this.groupBox6.Controls.Add(this.btnWriteSingleDO);
this.label1.TabIndex = 286; this.groupBox6.Controls.Add(this.txtWriteTime);
this.label1.Text = "ms"; this.groupBox6.Controls.Add(this.label5);
// this.groupBox6.Controls.Add(this.txtDoName);
// numericUpDown1 this.groupBox6.Controls.Add(this.label17);
// this.groupBox6.Controls.Add(this.cmbWriteIO);
this.numericUpDown1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.groupBox6.Location = new System.Drawing.Point(8, 279);
this.numericUpDown1.Increment = new decimal(new int[] { this.groupBox6.Name = "groupBox6";
50, this.groupBox6.Size = new System.Drawing.Size(411, 165);
0, this.groupBox6.TabIndex = 283;
0, this.groupBox6.TabStop = false;
0}); this.groupBox6.Text = "DO写入";
this.numericUpDown1.Location = new System.Drawing.Point(181, 436); //
this.numericUpDown1.Maximum = new decimal(new int[] { // button2
300000, //
0, this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
0, this.button2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
0}); this.button2.Location = new System.Drawing.Point(272, 105);
this.numericUpDown1.Minimum = new decimal(new int[] { this.button2.Name = "button2";
100, this.button2.Size = new System.Drawing.Size(87, 34);
0, this.button2.TabIndex = 262;
0, this.button2.Text = "关闭";
0}); this.button2.UseVisualStyleBackColor = true;
this.numericUpDown1.Name = "numericUpDown1"; this.button2.Click += new System.EventHandler(this.button2_Click);
this.numericUpDown1.Size = new System.Drawing.Size(61, 26); //
this.numericUpDown1.TabIndex = 285; // txtDOIndex
this.numericUpDown1.Value = new decimal(new int[] { //
600, this.txtDOIndex.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
0, this.txtDOIndex.Location = new System.Drawing.Point(288, 56);
0, this.txtDOIndex.MaxLength = 10;
0}); this.txtDOIndex.Name = "txtDOIndex";
// this.txtDOIndex.Size = new System.Drawing.Size(52, 23);
// btnStopTDown this.txtDOIndex.TabIndex = 261;
// this.txtDOIndex.Text = "0";
this.btnStopTDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat; //
this.btnStopTDown.Location = new System.Drawing.Point(279, 430); // label14
this.btnStopTDown.Name = "btnStopTDown"; //
this.btnStopTDown.Size = new System.Drawing.Size(127, 39); this.label14.AutoSize = true;
this.btnStopTDown.TabIndex = 284; this.label14.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnStopTDown.Text = "阻挡定时下降"; this.label14.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.btnStopTDown.UseVisualStyleBackColor = true; this.label14.Location = new System.Drawing.Point(219, 62);
this.btnStopTDown.Click += new System.EventHandler(this.btnStopTDown_Click); this.label14.Name = "label14";
// this.label14.Size = new System.Drawing.Size(44, 17);
// cmbStopList this.label14.TabIndex = 260;
// this.label14.Text = "地址:";
this.cmbStopList.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.cmbStopList.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); //
this.cmbStopList.FormattingEnabled = true; // btnWriteSingleDO
this.cmbStopList.Items.AddRange(new object[] { //
"进料线_入口阻挡", this.btnWriteSingleDO.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
"进料线_出口阻挡", this.btnWriteSingleDO.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
"出料线_入口阻挡"}); this.btnWriteSingleDO.Location = new System.Drawing.Point(164, 105);
this.cmbStopList.Location = new System.Drawing.Point(22, 435); this.btnWriteSingleDO.Name = "btnWriteSingleDO";
this.cmbStopList.Name = "cmbStopList"; this.btnWriteSingleDO.Size = new System.Drawing.Size(87, 34);
this.cmbStopList.Size = new System.Drawing.Size(153, 28); this.btnWriteSingleDO.TabIndex = 257;
this.cmbStopList.TabIndex = 283; this.btnWriteSingleDO.Text = "打开";
this.btnWriteSingleDO.UseVisualStyleBackColor = true;
this.btnWriteSingleDO.Click += new System.EventHandler(this.btnWriteSingleDO_Click);
//
// txtWriteTime
//
this.txtWriteTime.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtWriteTime.Location = new System.Drawing.Point(76, 111);
this.txtWriteTime.MaxLength = 10;
this.txtWriteTime.Name = "txtWriteTime";
this.txtWriteTime.Size = new System.Drawing.Size(52, 23);
this.txtWriteTime.TabIndex = 259;
this.txtWriteTime.Text = "0";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.label5.Location = new System.Drawing.Point(6, 114);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(60, 17);
this.label5.TabIndex = 258;
this.label5.Text = "定时(ms):";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// txtDoName
//
this.txtDoName.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtDoName.Location = new System.Drawing.Point(65, 56);
this.txtDoName.MaxLength = 10;
this.txtDoName.Name = "txtDoName";
this.txtDoName.Size = new System.Drawing.Size(133, 23);
this.txtDoName.TabIndex = 242;
this.txtDoName.Text = "0";
//
// label17
//
this.label17.AutoSize = true;
this.label17.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label17.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.label17.Location = new System.Drawing.Point(6, 59);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(46, 17);
this.label17.TabIndex = 241;
this.label17.Text = "设备IP:";
this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// cmbWriteIO
//
this.cmbWriteIO.FormattingEnabled = true;
this.cmbWriteIO.Location = new System.Drawing.Point(9, 22);
this.cmbWriteIO.Name = "cmbWriteIO";
this.cmbWriteIO.Size = new System.Drawing.Size(396, 25);
this.cmbWriteIO.TabIndex = 0;
this.cmbWriteIO.SelectedIndexChanged += new System.EventHandler(this.cmbWriteIO_SelectedIndexChanged);
// //
// btnCloseA // btnCloseA
// //
this.btnCloseA.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnCloseA.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnCloseA.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnCloseA.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCloseA.Location = new System.Drawing.Point(22, 495); this.btnCloseA.Location = new System.Drawing.Point(9, 450);
this.btnCloseA.Name = "btnCloseA"; this.btnCloseA.Name = "btnCloseA";
this.btnCloseA.Size = new System.Drawing.Size(173, 39); this.btnCloseA.Size = new System.Drawing.Size(173, 39);
this.btnCloseA.TabIndex = 282; this.btnCloseA.TabIndex = 282;
...@@ -320,7 +360,7 @@ ...@@ -320,7 +360,7 @@
// //
this.btnClearL.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnClearL.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnClearL.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnClearL.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnClearL.Location = new System.Drawing.Point(301, 495); this.btnClearL.Location = new System.Drawing.Point(309, 450);
this.btnClearL.Name = "btnClearL"; this.btnClearL.Name = "btnClearL";
this.btnClearL.Size = new System.Drawing.Size(104, 39); this.btnClearL.Size = new System.Drawing.Size(104, 39);
this.btnClearL.TabIndex = 14; this.btnClearL.TabIndex = 14;
...@@ -332,7 +372,7 @@ ...@@ -332,7 +372,7 @@
// //
this.btnLogDebug.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnLogDebug.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnLogDebug.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnLogDebug.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLogDebug.Location = new System.Drawing.Point(196, 495); this.btnLogDebug.Location = new System.Drawing.Point(188, 450);
this.btnLogDebug.Name = "btnLogDebug"; this.btnLogDebug.Name = "btnLogDebug";
this.btnLogDebug.Size = new System.Drawing.Size(104, 39); this.btnLogDebug.Size = new System.Drawing.Size(104, 39);
this.btnLogDebug.TabIndex = 13; this.btnLogDebug.TabIndex = 13;
...@@ -340,76 +380,10 @@ ...@@ -340,76 +380,10 @@
this.btnLogDebug.UseVisualStyleBackColor = true; this.btnLogDebug.UseVisualStyleBackColor = true;
this.btnLogDebug.Click += new System.EventHandler(this.btnLogDebug_Click); this.btnLogDebug.Click += new System.EventHandler(this.btnLogDebug_Click);
// //
// btnOLOutStopDown
//
this.btnOLOutStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOLOutStopDown.Location = new System.Drawing.Point(147, 369);
this.btnOLOutStopDown.Name = "btnOLOutStopDown";
this.btnOLOutStopDown.Size = new System.Drawing.Size(134, 39);
this.btnOLOutStopDown.TabIndex = 281;
this.btnOLOutStopDown.Text = "出料线出口阻挡下降";
this.btnOLOutStopDown.UseVisualStyleBackColor = true;
this.btnOLOutStopDown.Click += new System.EventHandler(this.btnOLOutStopDown_Click);
//
// btnOLInStopDown
//
this.btnOLInStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOLInStopDown.Location = new System.Drawing.Point(147, 324);
this.btnOLInStopDown.Name = "btnOLInStopDown";
this.btnOLInStopDown.Size = new System.Drawing.Size(134, 39);
this.btnOLInStopDown.TabIndex = 280;
this.btnOLInStopDown.Text = "出料线入口阻挡下降";
this.btnOLInStopDown.UseVisualStyleBackColor = true;
this.btnOLInStopDown.Click += new System.EventHandler(this.btnOLInStopDown_Click);
//
// btnInLOutStopDown
//
this.btnInLOutStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInLOutStopDown.Location = new System.Drawing.Point(7, 369);
this.btnInLOutStopDown.Name = "btnInLOutStopDown";
this.btnInLOutStopDown.Size = new System.Drawing.Size(134, 39);
this.btnInLOutStopDown.TabIndex = 279;
this.btnInLOutStopDown.Text = "进料线出口阻挡下降";
this.btnInLOutStopDown.UseVisualStyleBackColor = true;
this.btnInLOutStopDown.Click += new System.EventHandler(this.btnInLOutStopDown_Click);
//
// btnInLInStopDown
//
this.btnInLInStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInLInStopDown.Location = new System.Drawing.Point(7, 324);
this.btnInLInStopDown.Name = "btnInLInStopDown";
this.btnInLInStopDown.Size = new System.Drawing.Size(134, 39);
this.btnInLInStopDown.TabIndex = 278;
this.btnInLInStopDown.Text = "进料线入口阻挡下降";
this.btnInLInStopDown.UseVisualStyleBackColor = true;
this.btnInLInStopDown.Click += new System.EventHandler(this.btnInLInStopDown_Click);
//
// btnInLineRun
//
this.btnInLineRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInLineRun.Location = new System.Drawing.Point(7, 279);
this.btnInLineRun.Name = "btnInLineRun";
this.btnInLineRun.Size = new System.Drawing.Size(134, 39);
this.btnInLineRun.TabIndex = 276;
this.btnInLineRun.Text = "进料线体运转";
this.btnInLineRun.UseVisualStyleBackColor = true;
this.btnInLineRun.Click += new System.EventHandler(this.btnInLineRun_Click);
//
// btnOutL
//
this.btnOutL.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOutL.Location = new System.Drawing.Point(147, 279);
this.btnOutL.Name = "btnOutL";
this.btnOutL.Size = new System.Drawing.Size(134, 39);
this.btnOutL.TabIndex = 277;
this.btnOutL.Text = "出料线体运转";
this.btnOutL.UseVisualStyleBackColor = true;
this.btnOutL.Click += new System.EventHandler(this.btnOutL_Click);
//
// groupBox4 // groupBox4
// //
this.groupBox4.Controls.Add(this.tableLayoutPanel2); this.groupBox4.Controls.Add(this.tableLayoutPanel2);
this.groupBox4.Location = new System.Drawing.Point(218, 15); this.groupBox4.Location = new System.Drawing.Point(220, 22);
this.groupBox4.Name = "groupBox4"; this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(208, 251); this.groupBox4.Size = new System.Drawing.Size(208, 251);
this.groupBox4.TabIndex = 275; this.groupBox4.TabIndex = 275;
...@@ -433,7 +407,7 @@ ...@@ -433,7 +407,7 @@
// groupBox1 // groupBox1
// //
this.groupBox1.Controls.Add(this.tableLayoutPanel1); this.groupBox1.Controls.Add(this.tableLayoutPanel1);
this.groupBox1.Location = new System.Drawing.Point(6, 15); this.groupBox1.Location = new System.Drawing.Point(5, 22);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(208, 251); this.groupBox1.Size = new System.Drawing.Size(208, 251);
this.groupBox1.TabIndex = 274; this.groupBox1.TabIndex = 274;
...@@ -460,9 +434,9 @@ ...@@ -460,9 +434,9 @@
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.richTextBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.richTextBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.richTextBox1.Location = new System.Drawing.Point(450, 215); this.richTextBox1.Location = new System.Drawing.Point(450, 272);
this.richTextBox1.Name = "richTextBox1"; this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(728, 468); this.richTextBox1.Size = new System.Drawing.Size(728, 411);
this.richTextBox1.TabIndex = 256; this.richTextBox1.TabIndex = 256;
this.richTextBox1.Text = ""; this.richTextBox1.Text = "";
this.richTextBox1.VisibleChanged += new System.EventHandler(this.richTextBox1_VisibleChanged); this.richTextBox1.VisibleChanged += new System.EventHandler(this.richTextBox1_VisibleChanged);
...@@ -476,7 +450,7 @@ ...@@ -476,7 +450,7 @@
this.groupBox3.Controls.Add(this.lblThisSta); this.groupBox3.Controls.Add(this.lblThisSta);
this.groupBox3.Location = new System.Drawing.Point(10, 6); this.groupBox3.Location = new System.Drawing.Point(10, 6);
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(1168, 124); this.groupBox3.Size = new System.Drawing.Size(1168, 177);
this.groupBox3.TabIndex = 268; this.groupBox3.TabIndex = 268;
this.groupBox3.TabStop = false; this.groupBox3.TabStop = false;
this.groupBox3.Text = "设备状态"; this.groupBox3.Text = "设备状态";
...@@ -485,7 +459,7 @@ ...@@ -485,7 +459,7 @@
// //
this.lblWarnMsg.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblWarnMsg.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWarnMsg.ForeColor = System.Drawing.Color.Red; this.lblWarnMsg.ForeColor = System.Drawing.Color.Red;
this.lblWarnMsg.Location = new System.Drawing.Point(267, 66); this.lblWarnMsg.Location = new System.Drawing.Point(309, 115);
this.lblWarnMsg.Name = "lblWarnMsg"; this.lblWarnMsg.Name = "lblWarnMsg";
this.lblWarnMsg.Size = new System.Drawing.Size(856, 52); this.lblWarnMsg.Size = new System.Drawing.Size(856, 52);
this.lblWarnMsg.TabIndex = 224; this.lblWarnMsg.TabIndex = 224;
...@@ -504,7 +478,7 @@ ...@@ -504,7 +478,7 @@
this.panel1.Controls.Add(this.chbAuto); this.panel1.Controls.Add(this.chbAuto);
this.panel1.Location = new System.Drawing.Point(5, 15); this.panel1.Location = new System.Drawing.Point(5, 15);
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1160, 48); this.panel1.Size = new System.Drawing.Size(1160, 97);
this.panel1.TabIndex = 273; this.panel1.TabIndex = 273;
// //
// chbMoveStop // chbMoveStop
...@@ -594,45 +568,12 @@ ...@@ -594,45 +568,12 @@
this.lblThisSta.AutoSize = true; this.lblThisSta.AutoSize = true;
this.lblThisSta.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblThisSta.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblThisSta.ForeColor = System.Drawing.Color.Green; this.lblThisSta.ForeColor = System.Drawing.Color.Green;
this.lblThisSta.Location = new System.Drawing.Point(8, 83); this.lblThisSta.Location = new System.Drawing.Point(9, 148);
this.lblThisSta.Name = "lblThisSta"; this.lblThisSta.Name = "lblThisSta";
this.lblThisSta.Size = new System.Drawing.Size(65, 19); this.lblThisSta.Size = new System.Drawing.Size(65, 19);
this.lblThisSta.TabIndex = 216; this.lblThisSta.TabIndex = 216;
this.lblThisSta.Text = "等待启动"; this.lblThisSta.Text = "等待启动";
// //
// btnTranverse
//
this.btnTranverse.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnTranverse.Location = new System.Drawing.Point(287, 279);
this.btnTranverse.Name = "btnTranverse";
this.btnTranverse.Size = new System.Drawing.Size(134, 39);
this.btnTranverse.TabIndex = 287;
this.btnTranverse.Text = "横移运转";
this.btnTranverse.UseVisualStyleBackColor = true;
this.btnTranverse.Click += new System.EventHandler(this.btnTranverse_Click);
//
// btnUpdown
//
this.btnUpdown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnUpdown.Location = new System.Drawing.Point(287, 324);
this.btnUpdown.Name = "btnUpdown";
this.btnUpdown.Size = new System.Drawing.Size(134, 39);
this.btnUpdown.TabIndex = 288;
this.btnUpdown.Text = "横移机构上升";
this.btnUpdown.UseVisualStyleBackColor = true;
this.btnUpdown.Click += new System.EventHandler(this.btnUpdown_Click);
//
// btnSwitch
//
this.btnSwitch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSwitch.Location = new System.Drawing.Point(287, 369);
this.btnSwitch.Name = "btnSwitch";
this.btnSwitch.Size = new System.Drawing.Size(134, 39);
this.btnSwitch.TabIndex = 289;
this.btnSwitch.Text = "料串切换气缸前进";
this.btnSwitch.UseVisualStyleBackColor = true;
this.btnSwitch.Click += new System.EventHandler(this.btnSwitch_Click);
//
// FrmVMIClient // FrmVMIClient
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
...@@ -655,8 +596,8 @@ ...@@ -655,8 +596,8 @@
this.groupBox5.ResumeLayout(false); this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout(); this.groupBox5.PerformLayout();
this.groupBox2.ResumeLayout(false); this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout(); this.groupBox6.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); this.groupBox6.PerformLayout();
this.groupBox4.ResumeLayout(false); this.groupBox4.ResumeLayout(false);
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox3.ResumeLayout(false); this.groupBox3.ResumeLayout(false);
...@@ -693,29 +634,26 @@ ...@@ -693,29 +634,26 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.GroupBox groupBox5; private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.Button btnOLOutStopDown;
private System.Windows.Forms.Button btnOLInStopDown;
private System.Windows.Forms.Button btnInLOutStopDown;
private System.Windows.Forms.Button btnInLInStopDown;
private System.Windows.Forms.Button btnInLineRun;
private System.Windows.Forms.Button btnOutL;
private System.Windows.Forms.Button btnCloseA; private System.Windows.Forms.Button btnCloseA;
private System.Windows.Forms.Button btnNeedEntry; private System.Windows.Forms.Button btnNeedEntry;
private System.Windows.Forms.Button btnNeedLeave; private System.Windows.Forms.Button btnNeedLeave;
private System.Windows.Forms.Button btnDis; private System.Windows.Forms.Button btnDis;
private System.Windows.Forms.Button btnInit; private System.Windows.Forms.Button btnInit;
private System.Windows.Forms.Label lblInfo; private System.Windows.Forms.Label lblInfo;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Button btnStopTDown;
private System.Windows.Forms.ComboBox cmbStopList;
private System.Windows.Forms.TextBox txtname; private System.Windows.Forms.TextBox txtname;
private System.Windows.Forms.TextBox txtShelfId; private System.Windows.Forms.TextBox txtShelfId;
private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button1;
private System.Windows.Forms.CheckBox chbMoveStop; private System.Windows.Forms.CheckBox chbMoveStop;
private System.Windows.Forms.Button btnSwitch; private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.Button btnUpdown; private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button btnTranverse; private System.Windows.Forms.TextBox txtDOIndex;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Button btnWriteSingleDO;
private System.Windows.Forms.TextBox txtWriteTime;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox txtDoName;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.ComboBox cmbWriteIO;
} }
} }
...@@ -38,8 +38,11 @@ namespace OnlineStore.VMILineClient ...@@ -38,8 +38,11 @@ namespace OnlineStore.VMILineClient
private void FrmTest_Load(object sender, EventArgs e) private void FrmTest_Load(object sender, EventArgs e)
{ {
LogUtil.logBox = this.richTextBox1; LogUtil.logBox = this.richTextBox1;
cmbStopList.SelectedIndex = 0;
this.vmiLine = LineManager.InitStore(); this.vmiLine = LineManager.InitStore();
LoadIOList();
cmbWriteIO.DataSource = new List<ConfigIO>(LineManager.Config.StoreDOList.Values);
cmbWriteIO.ValueMember = "ProName";
cmbWriteIO.DisplayMember = "DisplayStr";
if (vmiLine == null) if (vmiLine == null)
{ {
LogUtil.error(LOGGER, "加载设备失败"); LogUtil.error(LOGGER, "加载设备失败");
...@@ -47,10 +50,9 @@ namespace OnlineStore.VMILineClient ...@@ -47,10 +50,9 @@ namespace OnlineStore.VMILineClient
return; return;
} }
timer1.Enabled = true; timer1.Enabled = true;
groupBox5.Text = "AGV调度通信,入料线体 [" + vmiLine.Config.L1_AgvName + "] ,出料线体 [" + vmiLine.Config.L2_AgvName + "] "; groupBox5.Text = "AGV调度通信,空入料线体 [" + vmiLine.Config.L1_AgvName + "] ,料串出料线体 [" + vmiLine.Config.L2_AgvName + "],包装出料线体["+ vmiLine.Config.L3_AgvName + "]";
chbDebug.Checked = vmiLine.IsDebug; DebugMode(vmiLine.IsDebug);
this.ShowInTaskbar = true; this.ShowInTaskbar = true;
LoadIOList();
txtname.Text = vmiLine.Config.L1_AgvName; txtname.Text = vmiLine.Config.L1_AgvName;
notifyIcon1.Text = ConfigAppSettings.GetValue(Setting_Init.App_Title); notifyIcon1.Text = ConfigAppSettings.GetValue(Setting_Init.App_Title);
HideForm(); HideForm();
...@@ -298,8 +300,14 @@ namespace OnlineStore.VMILineClient ...@@ -298,8 +300,14 @@ namespace OnlineStore.VMILineClient
} }
} }
} }
DebugMode(vmiLine.IsDebug);
}
private void DebugMode(bool isdebug)
{
groupBox6.Enabled = isdebug;
chbDebug.Checked = isdebug;
groupBox5.Enabled = isdebug;
} }
private void richTextBox1_VisibleChanged(object sender, EventArgs e) private void richTextBox1_VisibleChanged(object sender, EventArgs e)
{ {
...@@ -331,35 +339,6 @@ namespace OnlineStore.VMILineClient ...@@ -331,35 +339,6 @@ namespace OnlineStore.VMILineClient
btn.BackColor = Color.White; btn.BackColor = Color.White;
} }
} }
private void btnInLineRun_Click(object sender, EventArgs e)
{
BtnMove(btnInLineRun, "进料线体运转", "进料线体停止", IO_Type.L1_Run);
}
private void btnInLInStopDown_Click(object sender, EventArgs e)
{
BtnMove(btnInLInStopDown, "进料线入口阻挡下降", "进料线入口阻挡上升", IO_Type.L1_StopDown);
}
private void btnInLOutStopDown_Click(object sender, EventArgs e)
{
BtnMove(btnInLOutStopDown, "进料线出口阻挡下降", "进料线出口阻挡上升", IO_Type.L1_OutStopDown);
}
private void btnOLInStopDown_Click(object sender, EventArgs e)
{
BtnMove(btnOLInStopDown, "出料线入口阻挡下降", "出料线入口阻挡上升", IO_Type.L2_StopDown);
}
private void btnOutL_Click(object sender, EventArgs e)
{
BtnMove(btnOutL, "出料线体运转", "出料线体停止", IO_Type.L2_Run);
}
private void btnOLOutStopDown_Click(object sender, EventArgs e)
{
BtnMove(btnOLOutStopDown, "出料线出口阻挡下降", "出料线出口阻挡上升", IO_Type.L2_OutStopDown);
}
private void btnCloseA_Click(object sender, EventArgs e) private void btnCloseA_Click(object sender, EventArgs e)
{ {
...@@ -393,95 +372,65 @@ namespace OnlineStore.VMILineClient ...@@ -393,95 +372,65 @@ namespace OnlineStore.VMILineClient
AgvClient.Dispose(); AgvClient.Dispose();
} }
private void btnStopTDown_Click(object sender, EventArgs e)
{
int value = (int)numericUpDown1.Value;
///进料线_入口阻挡
//进料线_出口阻挡
//出料线_入口阻挡
string iotype = IO_Type.L1_StopDown;
if (cmbStopList.SelectedIndex.Equals(1))
{
iotype = IO_Type.L1_OutStopDown;
}
else if (cmbStopList.SelectedIndex.Equals(2))
{
iotype = IO_Type.L2_StopDown;
}
vmiLine.StopIOMove(iotype, value);
}
private void chbMoveStop_CheckedChanged(object sender, EventArgs e) private void chbMoveStop_CheckedChanged(object sender, EventArgs e)
{ {
vmiLine.MoveStop = chbMoveStop.Checked; vmiLine.MoveStop = chbMoveStop.Checked;
LogUtil.info(vmiLine.Name + "用户切换是否暂停: " + vmiLine.MoveStop); LogUtil.info(vmiLine.Name + "用户切换是否暂停: " + vmiLine.MoveStop);
} }
IOTextControl selectControl = null;
private void btnTranverse_Click(object sender, EventArgs e) private void cmbWriteIO_SelectedIndexChanged(object sender, EventArgs e)
{ {
BtnMove(btnTranverse, "横移运转", "横移停止", IO_Type.Traverse1_Run); if (cmbWriteIO.SelectedIndex >= 0)
//Button btn = (Button)sender; {
//LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 "); ConfigIO io = GetSelectDO();
//if (btn.Text.Equals("横移运转")) if (io != null)
//{ {
// IOManager.IOMove(IO_Type.Traverse1_Run, IO_VALUE.HIGH); // txtIp.Text = io.DeviceName;
// IOManager.IOMove(IO_Type.Traverse2_Run, IO_VALUE.HIGH); txtDOIndex.Text = io.GetIOAddr().ToString();
// btn.Text = "横移停止"; txtDoName.Text = io.IO_IP;
// btn.BackColor = Color.Aqua; IOTextControl newControl = DOControlList[io.ProName];
//} if (selectControl != null) { selectControl.BackColor = Color.White; }
//else newControl.BackColor = Color.SkyBlue;
//{ selectControl = newControl;
// IOManager.IOMove(IO_Type.Traverse1_Run, IO_VALUE.LOW);
// IOManager.IOMove(IO_Type.Traverse2_Run, IO_VALUE.LOW);
// btn.Text = "横移运转";
// btn.BackColor = Color.White;
//}
}
}
} }
private ConfigIO GetSelectDO()
private void btnUpdown_Click(object sender, EventArgs e)
{ {
string text = cmbWriteIO.SelectedValue.ToString();
Button btn = (Button)sender; if (LineManager.Config.StoreDOList.ContainsKey(text))
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
if (btn.Text.Equals("横移机构上升"))
{ {
IOManager.IOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.LOW); ConfigIO io = LineManager.Config.StoreDOList[text];
Thread.Sleep(500); return io;
IOManager.IOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.HIGH);
btn.Text = "横移机构下降";
btn.BackColor = Color.Aqua;
}
else
{
IOManager.IOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.LOW);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.HIGH);
btn.Text = "横移机构上升";
btn.BackColor = Color.White;
} }
return null;
} }
private void btnSwitch_Click(object sender, EventArgs e) private void btnWriteSingleDO_Click(object sender, EventArgs e)
{ {
Button btn = (Button)sender; WriteDO(IO_VALUE.HIGH);
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 "); }
if (btn.Text.Equals("料串切换气缸前进")) private void WriteDO(IO_VALUE value)
{
string deviceName = txtDoName.Text;
int index = FormUtil.GetIntValue(txtDOIndex);
int time = FormUtil.GetIntValue(txtWriteTime);
if (time > 0)
{ {
IOManager.IOMove(IO_Type.Switch_Back, IO_VALUE.LOW); IOManager.instance.WriteSingleDO(deviceName, (byte)0, (ushort)index, value, time);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Switch_Forward, IO_VALUE.HIGH);
btn.Text = "料串切换气缸后退";
btn.BackColor = Color.Aqua;
} }
else else
{ {
IOManager.IOMove(IO_Type.Switch_Forward, IO_VALUE.LOW); IOManager.instance.WriteSingleDO(deviceName, (byte)0, (ushort)index, value);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Switch_Back, IO_VALUE.HIGH);
btn.Text = "料串切换气缸前进";
btn.BackColor = Color.White;
} }
} }
private void button2_Click(object sender, EventArgs e)
{
WriteDO(IO_VALUE.LOW);
}
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!