Commit 65d39c59 张东亮

合并分支 '横移机构' 到 'master'

横移机构

查看合并请求 !1
2 个父辈 8bde1d13 92c43c5a
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
...@@ -39,18 +39,15 @@ ...@@ -39,18 +39,15 @@
<Reference Include="Asa.IOModule.AIOBOX"> <Reference Include="Asa.IOModule.AIOBOX">
<HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath> <HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath>
</Reference> </Reference>
<Reference Include="Asa.RFID"> <Reference Include="Asa.RFID.HiStation">
<HintPath>..\..\dll\Asa.RFID.dll</HintPath> <HintPath>..\..\dll\Asa.RFID.HiStation.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID.IReadAll">
<HintPath>..\..\dll\Asa.RFID.IReadAll.dll</HintPath>
</Reference> </Reference>
<Reference Include="Client"> <Reference Include="Client">
<HintPath>..\..\dll\Client.dll</HintPath> <HintPath>..\..\dll\Client.dll</HintPath>
</Reference> </Reference>
<Reference Include="CodeLibrary">
<HintPath>..\..\..\RC32-SZBOSCH-ACSingleStore\dll\CodeLibrary.dll</HintPath>
</Reference>
<Reference Include="halcondotnet">
<HintPath>..\..\..\RC32-SZBOSCH-ACSingleStore\dll\halcondotnet.dll</HintPath>
</Reference>
<Reference Include="HFReader9CSharp, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64"> <Reference Include="HFReader9CSharp, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\RFID\HFReader9CSharp.dll</HintPath> <HintPath>..\..\dll\RFID\HFReader9CSharp.dll</HintPath>
......
...@@ -5,39 +5,39 @@ PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.25,,,,,,, ...@@ -5,39 +5,39 @@ PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.25,,,,,,,
,,,,,,,,,, ,,,,,,,,,,
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,进料线入口阻挡检测,InL_InStopCheck,2,PRO_AOI_IP_1,0,进料线入口阻挡检测,X723,DI-03,0, DI,出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,出料线入口检测,X723,DI-03,0,
DI,进料线中间位检测,InL_MIddleCheck,3,PRO_AOI_IP_1,0,进料线出口阻挡检测,X724,DI-04,0, DI,出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1,X724,DI-04,0,
,,,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,进料线出口阻挡检测,InL_OutStopCheck,5,PRO_AOI_IP_1,0,进料线出口检测,X726,DI-06,0, DI,出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,出料线出口检测,X726,DI-06,0,
DI,出料线入口检测,OutL_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,出料线入口阻挡检测,OutL_InStopCheck,7,PRO_AOI_IP_1,0,出料线入口阻挡检测,X728,DI-08,0, DI,入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,入料线阻挡检测,X728,DI-08,0,
,,,8,PRO_AOI_IP_1,0,,X729,DO-01,0, DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DO-01,0,
DI,出料线出口阻挡检测,OutL_OutStopCheck,9,PRO_AOI_IP_1,0,出料线出口阻挡检测,X730,DO-02,0, DI,入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口检测,X730,DO-02,0,
,出料线人工取料信号,,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0, DI,出料线人工取料信号,L1_ManualRecSig,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0,
,,,11,PRO_AOI_IP_1,0,,X732,DO-04,0, DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端,X732,DO-04,0,
,,,12,PRO_AOI_IP_1,0,,X733,DO-05,0, DI,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端,X733,DO-05,0,
,,,13,PRO_AOI_IP_1,0,,X734,DO-06,0, DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端,X734,DO-06,0,
,,,14,PRO_AOI_IP_1,0,,X735,DO-07,0, DI,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端,X735,DO-07,0,
,,,15,PRO_AOI_IP_1,0,,X736,DO-08,0, DI,包装料架检测信号,PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号,X736,DO-08,0,
DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DI-01,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,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0,
DO,进料线驱动电机运转,InL_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0, DO,进料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0,
DO,出料线驱动电机运转,OutL_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0, DO,出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0,
DO,出料线入口阻挡,OutL_InStopDown,4,PRO_AOI_IP_1,0,出料线入口阻挡,Y725,DI-05,0, DO,进料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡下降,Y725,DI-05,0,
,,,5,PRO_AOI_IP_1,0,,Y726,DI-06,0, ,进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降,Y726,DI-06,0,
DO,出料线出口阻挡,OutL_OutStopDown,6,PRO_AOI_IP_1,0,出料线出口阻挡,Y727,DI-07,0, DO,进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降,Y727,DI-07,0,
DO,进料线出口阻挡,InL_OutStopDown,7,PRO_AOI_IP_1,0,进料线出口阻挡,Y728,DI-08,0, DO,出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降,Y728,DI-08,0,
,,,8,PRO_AOI_IP_1,0,,Y729,DO-01,0, ,出料线阻挡2下降,L2_StopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降,Y729,DO-01,0,
DO,进料线入口阻挡,InL_InStopDown,9,PRO_AOI_IP_1,0,进料线入口阻挡,Y730,DO-02,0, DO,出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线阻挡下降,Y730,DO-02,0,
,,,10,PRO_AOI_IP_1,0,,Y731,DO-03,0, DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL,Y731,DO-03,0,
,,,11,PRO_AOI_IP_1,0,,Y732,DO-04,0, DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL,Y732,DO-04,0,
,,,12,PRO_AOI_IP_1,0,,Y733,DO-05,0, DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转,Y733,DO-05,0,
,,,13,PRO_AOI_IP_1,0,,Y734,DO-06,0, DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转,Y734,DO-06,0,
,,,14,PRO_AOI_IP_1,0,,Y735,DO-07,0, DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-07,0,
,,,15,PRO_AOI_IP_1,0,,Y736,DO-08,0, DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-08,0,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,, PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,出空料架流水线AGV节点名称,OutL_AgvName,A2,,,,,,, PRO,L1线AGV节点名称,L1_AgvName,A2,,,,,,,
PRO,入料架流水线AGV节点名称,InL_AgvName,A1,,,,,,, PRO,L2线AGV节点名称,L2_AgvName,A1,,,,,,,
PRO,入料架流水线入口RFIDIP,InL_In_RFIDIP,192.168.103.108,,,,,, , PRO,L2线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, ,
PRO,入料架流水线出口RFIDIP,InL_Out_RFIDIP,192.168.103.107,,,,,, , PRO,L2线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,60,,,,,,, PRO,休眠秒数(秒),SleepSeconds,40,,,,,,,
...@@ -5,16 +5,23 @@ using System.Collections.Concurrent; ...@@ -5,16 +5,23 @@ using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
public class RFIDManager public class RFIDManager
{ {
private static ReadAll readAll =new ReadAll ("TheRFID"); private static Asa.RFID.ReadAll read;
private static bool IsOpen = false; private static bool IsOpen = false;
// private static ConcurrentDictionary<string, string> LastRfidMap = new ConcurrentDictionary<string, string>(); public static bool IsAuto = false;
public static void Open(string[] iparray) /// <summary>
/// 是否连接
/// </summary>
public static bool IsConnected { get; set; } = false;
private static Dictionary<string, string> LastRfidMap = new Dictionary<string, string>();
public static void Open(string[] ip)
{ {
if (IsOpen) if (IsOpen)
{ {
...@@ -22,15 +29,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -22,15 +29,9 @@ namespace OnlineStore.DeviceLibrary
} }
try try
{ {
int port = ConfigAppSettings.GetIntValue(Setting_Init.RfidServer_Port); read = new ReadAll("TheRFID");
if (port <= 0) read.Received += Read_Received;
{ read.Start(13001);
port = 13001;
}
// readAll.Received += ReadAll_Received;
// readAll.Log += ReadAll_Log;
LogUtil.info("RFID Server Open,port=" + port);
readAll.Start(port);
IsOpen = true; IsOpen = true;
} }
catch (Exception ex) catch (Exception ex)
...@@ -39,7 +40,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -39,7 +40,27 @@ namespace OnlineStore.DeviceLibrary
} }
} }
private static string lastStr = ""; private static string lastStr = "";
private static void Read_Received(string ip, string id)
{
try
{
if(LastRfidMap.ContainsKey(ip))
{
LastRfidMap[ip] = id;
}
else
{
LastRfidMap.Add(ip,id);
}
}
catch (ObjectDisposedException ex)
{
//程序刚退出,又回传数据
}
}
private static void ReadAll_Log(string ip, string log) private static void ReadAll_Log(string ip, string log)
{ {
string str = "RFID : [" + ip + "] " + log; string str = "RFID : [" + ip + "] " + log;
...@@ -51,20 +72,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -51,20 +72,21 @@ namespace OnlineStore.DeviceLibrary
lastStr = str; lastStr = str;
} }
public static RFIDData ReadRFID(string ip, bool isClear = false) public static RFIDData ReadRFID(string ip,bool isClear= true)
{ {
try try
{ {
if (String.IsNullOrEmpty(ip).Equals(false)) if (String.IsNullOrEmpty(ip).Equals(false) && read!=null)
{ {
string outValue = readAll.Read(ip);
if (isClear) if (isClear)
{ {
readAll.Clear(ip); read.Clear(ip);
} }
Thread.Sleep(100);
string outValue = read.Read(ip);
RFIDData data = new RFIDData(outValue); RFIDData data = new RFIDData(outValue);
return data; return data;
} }
} }
...@@ -80,10 +102,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -80,10 +102,15 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
readAll.Stop(); if(IsOpen)
{
read.Stop();
IsOpen = false;
}
} }
catch (Exception ex) catch (Exception ex)
{ {
IsOpen = false;
LogUtil.error("关闭RFID出错:" + ex.ToString()); LogUtil.error("关闭RFID出错:" + ex.ToString());
} }
} }
......
...@@ -46,8 +46,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -46,8 +46,8 @@ namespace OnlineStore.DeviceLibrary
IOManager.Init(); IOManager.Init();
IOManager.instance.ConnectionIOList(Config.DIODeviceNameList); IOManager.instance.ConnectionIOList(Config.DIODeviceNameList);
AgvClient.NodeList.Add(config.InL_AgvName); AgvClient.NodeList.Add(config.L1_AgvName);
AgvClient.NodeList.Add(config.OutL_AgvName); AgvClient.NodeList.Add(config.L2_AgvName);
mainTimer.Enabled = false; mainTimer.Enabled = false;
int isAuto = ConfigAppSettings.GetIntValue(Setting_Init.App_AutoRun); int isAuto = ConfigAppSettings.GetIntValue(Setting_Init.App_AutoRun);
if (isAuto == 1) if (isAuto == 1)
...@@ -77,7 +77,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -77,7 +77,7 @@ namespace OnlineStore.DeviceLibrary
//} //}
AgvClient.SetCancelState(false); AgvClient.SetCancelState(false);
RFIDManager.Open(new string[] { Config.InL_In_RFIDIP, Config.InL_Out_RFIDIP }); RFIDManager.Open(new string[] { Config.L2_In_RFIDIP, Config.L2_Out_RFIDIP });
runStatus = RunStatus.HomeMoving; runStatus = RunStatus.HomeMoving;
MoveInfo.NewMove(LineMoveType.ReturnHome); MoveInfo.NewMove(LineMoveType.ReturnHome);
ReturnHome(); ReturnHome();
...@@ -103,13 +103,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -103,13 +103,12 @@ namespace OnlineStore.DeviceLibrary
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.InL_InStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.InL_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.OutL_InStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.OutL_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
AgvClient.SetStatus(Config.L1_AgvName);
AgvClient.SetStatus(Config.InL_AgvName); AgvClient.SetStatus(Config.L2_AgvName);
AgvClient.SetStatus(Config.OutL_AgvName);
mainTimer.Enabled = true; mainTimer.Enabled = true;
serverConnectTimer.Enabled = true; serverConnectTimer.Enabled = true;
} }
...@@ -148,8 +147,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -148,8 +147,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(MoveStep.VMI_H_LineRun); MoveInfo.NextMoveStep(MoveStep.VMI_H_LineRun);
LogUtil.info(Name + " 复位:阻挡上升完成,转动流水线,停止休眠"); LogUtil.info(Name + " 复位:阻挡上升完成,转动流水线,停止休眠");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
IOManager.IOMove(IO_Type.InL_Run, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.OutL_Run, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.HIGH);
UpdateSleep(false); UpdateSleep(false);
break; break;
case MoveStep.VMI_H_LineRun: case MoveStep.VMI_H_LineRun:
...@@ -201,12 +200,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -201,12 +200,12 @@ namespace OnlineStore.DeviceLibrary
public void StopMove() public void StopMove()
{ {
IOManager.IOMove(IO_Type.InL_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.OutL_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.InL_InStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.InL_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.OutL_InStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.OutL_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
} }
private bool InProcess = false; private bool InProcess = false;
...@@ -246,6 +245,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -246,6 +245,8 @@ namespace OnlineStore.DeviceLibrary
OutLineTimerProcess(); OutLineTimerProcess();
TranverseTimerProcess();
IOTimeOutProcess(); IOTimeOutProcess();
SleepTimerProcess(); SleepTimerProcess();
...@@ -274,32 +275,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -274,32 +275,34 @@ namespace OnlineStore.DeviceLibrary
{ {
TimeSpan span = DateTime.Now - ol_lastSendShelfTime; TimeSpan span = DateTime.Now - ol_lastSendShelfTime;
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.OutL_InStopCheck).Equals(IO_VALUE.HIGH)&&IOManager.IOValue(IO_Type.OutL_OutStopCheck).Equals(IO_VALUE.LOW) && 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 > 3)
{ {
//如果料线体出口无料架,放一个料架到出口 //如果料线体出口无料架,放一个料架到出口
if (LineManager.checkWatch(ol_noshelfWatch, 1000)) if (LineManager.checkWatch(ol_noshelfWatch, 1000))
{ {
IOManager.CIOMove(IO_Type.OutL_OutStopDown, IO_VALUE.LOW); //IOManager.CIOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW);
LogUtil.info(" 出料线体出口无料架,下降 [" + IO_Type.OutL_InStopDown + "] [" + StopDownMS + "] 秒"); LogUtil.info(" 入料线体出口无料架,下降 [" + IO_Type.L1_StopDown + "] [" + StopDownMS + "] 秒");
ol_lastSendShelfTime = DateTime.Now; ol_lastSendShelfTime = DateTime.Now;
StopIOMove(IO_Type.OutL_InStopDown, StopDownMS); StopIOMove(IO_Type.L1_OutStopDown, StopDownMS);
StopIOMove(IO_Type.L1_StopDown, StopDownMS);
} }
} }
else if (span.TotalMilliseconds > StopDownMS) else if (span.TotalMilliseconds > StopDownMS)
{ {
ol_noshelfWatch.Stop(); ol_noshelfWatch.Stop();
IOManager.CIOMove(IO_Type.OutL_InStopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
} }
//如果入口无料架即可进入 //如果入口无料架即可进入
if (IOManager.IOValue(IO_Type.OutL_InCheck).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.LOW))
{ {
AgvClient.NeedEnter(Config.OutL_AgvName, ""); AgvClient.NeedEnter(Config.L1_AgvName, "");
}else }else
{ {
AgvClient.SetToNone(Config.OutL_AgvName, ""); AgvClient.SetToNone(Config.L1_AgvName, "");
} }
} }
private DateTime il_lastCallAgvTime = DateTime.Now.AddMinutes(-5); private DateTime il_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
...@@ -313,7 +316,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -313,7 +316,7 @@ namespace OnlineStore.DeviceLibrary
//出口有料架,需要通知agv取走料架 //出口有料架,需要通知agv取走料架
//每次叫小车时间间隔3分钟? //每次叫小车时间间隔3分钟?
//出口信号需要持续1秒钟 //出口信号需要持续1秒钟
if (IOManager.IOValue(IO_Type.InL_OutStopCheck).Equals(IO_VALUE.HIGH) && span.TotalSeconds > 60) if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.HIGH) && span.TotalSeconds > 60)
{ {
if (LastOutShelfId.Equals("000").Equals(false)) if (LastOutShelfId.Equals("000").Equals(false))
{ {
...@@ -322,32 +325,128 @@ namespace OnlineStore.DeviceLibrary ...@@ -322,32 +325,128 @@ namespace OnlineStore.DeviceLibrary
il_lastCallAgvTime = DateTime.Now; il_lastCallAgvTime = DateTime.Now;
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS); //StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil.info(" 入库线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.InL_AgvName + "] [NeedLeave] "); LogUtil.info(" 出料线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.L2_AgvName + "] [NeedLeave] ");
AgvClient.NeedLeave(Config.InL_AgvName, LastOutShelfId); AgvClient.NeedLeave(Config.L2_AgvName, LastOutShelfId);
} }
} }
} }
else if (span.TotalMilliseconds > StopDownMS) else if (span.TotalMilliseconds > StopDownMS)
{ {
il_outstopCheckWarch.Stop(); il_outstopCheckWarch.Stop();
ClientAction currA = AgvClient.GetAction(Config.InL_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))
{ {
if (IOManager.IOValue(IO_Type.InL_OutStopDown).Equals(IO_VALUE.HIGH)) if (IOManager.IOValue(IO_Type.L2_OutStopDown).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.InL_OutStopDown, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
} }
} }
} }
//如果是出口无料架,NeedLeave状态,改为None //如果是出口无料架,NeedLeave状态,改为None
if (IOManager.IOValue(IO_Type.InL_OutStopCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.InL_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(); il_outstopCheckWarch.Stop();
LogUtil.info(" 入库线体出口无料架 ,更改[" + Config.InL_AgvName + "] 状态[None] "); LogUtil.info(" 出料线体出口无料架 ,更改[" + Config.L2_AgvName + "] 状态[None] ");
AgvClient.SetToNone(Config.InL_AgvName, "" ); AgvClient.SetToNone(Config.L2_AgvName, "" );
}
}
private Task TranverseTask;
private Stopwatch ol_tranverseShelfWatch = new Stopwatch();
private void TranverseTimerProcess()
{
//人工取料
if (IOManager.IOValue(IO_Type.L1_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 (LineManager.checkWatch(ol_tranverseShelfWatch, 2000))
{
if (TranverseTask == null)
{
TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess));
il_lastCallAgvTime = DateTime.Now;
}
else if (TranverseTask.IsCompleted)
{
TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess));
il_lastCallAgvTime = DateTime.Now;
}
}
}
}
else
{
ol_tranverseShelfWatch.Stop();
} }
} }
private static void TranverseProcess()
{
LogUtil.info(" TranverseProcess");
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(" 横移包装料架");
while (IOManager.IOValue(IO_Type.Switch_Back_Sig).Equals(IO_VALUE.LOW))
{
}
LogUtil.info(" 料串气缸到达后退端");
}
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(" 横移料串");
while (IOManager.IOValue(IO_Type.Switch_Forward_Sig).Equals(IO_VALUE.LOW))
{
}
LogUtil.info(" 料串气缸到达前进端");
}
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.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(" 横移机构电机运行");
}
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
while (IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW))
{
if (stopwatch.Elapsed.TotalMinutes >= 2)
{
//stopwatch.Stop();
//IOManager.CIOMove(IO_Type.Traverse_Run, IO_VALUE.LOW);
//IOManager.CIOMove(IO_Type.Roller_Run, IO_VALUE.LOW);
LogUtil.info(" 横移机构转移料架超时 [" + IO_Type.L1_StopDown + "] 大于2分钟");
//break;
}
}
stopwatch.Stop();
Thread.Sleep(2000);
IOManager.IOMove(IO_Type.Traverse1_Run, IO_VALUE.LOW);
//IOManager.IOMove(IO_Type.Traverse2_Run, IO_VALUE.LOW);
LogUtil.info(" 横移电机停止");
Thread.Sleep(1000);
IOManager.CIOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.HIGH);
IOManager.CIOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.LOW);
LogUtil.info(" 横移机构下降");
LogUtil.info(" TranverseProcess Finish");
}
private void LedProcess() private void LedProcess()
{ {
try try
...@@ -490,16 +589,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -490,16 +589,16 @@ namespace OnlineStore.DeviceLibrary
LedProcess(); LedProcess();
LastInShelfId = RFIDManager.ReadRFID(Config.InL_In_RFIDIP,true).NumStr(); LastInShelfId = RFIDManager.ReadRFID(Config.L2_In_RFIDIP,true).NumStr();
LastOutShelfId = RFIDManager.ReadRFID(Config.InL_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)
{ {
IOManager.CIOMove(IO_Type.InL_InStopDown, IO_VALUE.HIGH); IOManager.CIOMove(IO_Type.L2_StopDown, IO_VALUE.HIGH);
} }
else else
{ {
IOManager.CIOMove(IO_Type.InL_InStopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
} }
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -126,9 +126,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -126,9 +126,8 @@ namespace OnlineStore.DeviceLibrary
public string GetRunInfo() public string GetRunInfo()
{ {
return "进料线出口" + Config.InL_AgvName + ":" + AgvClient.GetAction(Config.InL_AgvName) + ",料架: " + LastInShelfId + "\r\n" + return "进料线入口" + Config.L1_AgvName + ":" + AgvClient.GetAction(Config.L1_AgvName) + ",料架: " + LastInShelfId + "\r\n" +
"出料线进口" + Config.OutL_AgvName + ":" + AgvClient.GetAction(Config.OutL_AgvName) + ",料架: " + LastOutShelfId + "\r\n"; "出料线出口" + Config.L2_AgvName + ":" + AgvClient.GetAction(Config.L2_AgvName) + ",料架: " + LastOutShelfId + "\r\n";
// "进料出口" + Config.InL_AgvName + ":" + AgvClient.GetAction(Config.InL_AgvName) + " 出料进口" + Config.OutL_AgvName + ":" + AgvClient.GetAction(Config.OutL_AgvName) + "\r\n"+
} }
#endregion #endregion
...@@ -153,20 +152,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -153,20 +152,21 @@ namespace OnlineStore.DeviceLibrary
if (needCheckList.Count <= 0) if (needCheckList.Count <= 0)
{ {
needCheckList.Add(IO_Type.InL_InStopCheck); needCheckList.Add(IO_Type.L1_InCheck);
needCheckList.Add(IO_Type.InL_MIddleCheck); needCheckList.Add(IO_Type.L1_StopCheck);
needCheckList.Add(IO_Type.InL_OutStopCheck); needCheckList.Add(IO_Type.L1_OutCheck);
needCheckList.Add(IO_Type.OutL_InCheck); needCheckList.Add(IO_Type.L2_InCheck);
needCheckList.Add(IO_Type.OutL_InStopCheck); needCheckList.Add(IO_Type.L2_StopCheck1);
needCheckList.Add(IO_Type.OutL_InStopDown); needCheckList.Add(IO_Type.L2_OutCheck);
needCheckList.Add(IO_Type.InL_InStopDown); needCheckList.Add(IO_Type.L2_StopDown);
needCheckList.Add(IO_Type.L1_StopDown);
} }
bool agvBusy = false; bool agvBusy = false;
ClientAction currA = AgvClient.GetAction(Config.InL_AgvName); ClientAction currA = AgvClient.GetAction(Config.L1_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) )
{ {
ClientAction currB = AgvClient.GetAction(Config.OutL_AgvName); ClientAction currB = AgvClient.GetAction(Config.L2_AgvName);
if (currB.Equals(ClientAction.None) || currB.Equals(ClientAction.NeedLeave) || currB.Equals(ClientAction.NeedEnter)) if (currB.Equals(ClientAction.None) || currB.Equals(ClientAction.NeedLeave) || currB.Equals(ClientAction.NeedEnter))
{ {
agvBusy = false; agvBusy = false;
...@@ -229,15 +229,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -229,15 +229,15 @@ namespace OnlineStore.DeviceLibrary
if (needSleep) if (needSleep)
{ {
IsSleep = true; IsSleep = true;
IOManager.IOMove(IO_Type.InL_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.OutL_Run, IO_VALUE.LOW); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW);
} }
else else
{ {
IsSleep = false; IsSleep = false;
LastBusyTime = DateTime.Now; LastBusyTime = DateTime.Now;
IOManager.IOMove(IO_Type.InL_Run, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.OutL_Run, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.HIGH);
}; };
} }
#endregion #endregion
......
...@@ -86,21 +86,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -86,21 +86,21 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(logName); LogUtil.info(logName);
UpdateAction(id, Asa.ClientAction.Ready); UpdateAction(id, Asa.ClientAction.Ready);
if (id.Equals(LineManager.Config.OutL_AgvName)) if (id.Equals(LineManager.Config.L1_AgvName))
{ {
LineManager.VMILine.UpdateSleep(false); LineManager.VMILine.UpdateSleep(false);
if (IOManager.IOValue(IO_Type.OutL_InCheck).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.LOW))
{ {
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
SetStatus(id, "", ClientAction.MayEnter); SetStatus(id, "", ClientAction.MayEnter);
LogUtil.info(logName + " ,等待OutL_InCheck"); LogUtil.info(logName + " ,等待L1_InCheck");
try try
{ {
WaitUtil.Wait(60000, delegate WaitUtil.Wait(60000, delegate
{ {
return IOManager.IOValue(IO_Type.OutL_InCheck).Equals(IO_VALUE.HIGH); return IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.HIGH);
}, "等待OutL_InCheck=HIGH"); }, "等待L1_InCheck=HIGH");
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -120,21 +120,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -120,21 +120,22 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
LogUtil.error(logName + " OutL_InCheck 检测到有料架,AGV的料架无法进入"); LogUtil.error(logName + " L1_InCheck 检测到有料架,AGV的料架无法进入");
SetStatus(id, "", ClientAction.None, ClientLevel.High); SetStatus(id, "", ClientAction.None, ClientLevel.High);
} }
} }
else if (id.Equals(LineManager.Config.InL_AgvName)) else if (id.Equals(LineManager.Config.L2_AgvName))
{ {
string shefId = LineManager.VMILine.LastOutShelfId; string shefId = LineManager.VMILine.LastOutShelfId;
if (IOManager.IOValue(IO_Type.InL_OutStopCheck).Equals(IO_VALUE.HIGH)) if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.HIGH))
{ {
SetStatus(id, shefId, ClientAction.MayLeave);
LineManager.VMILine.UpdateSleep(false); LineManager.VMILine.UpdateSleep(false);
LineManager.VMILine.StopIOMove(IO_Type.InL_OutStopDown, 1500); LineManager.VMILine.StopIOMove(IO_Type.L2_OutStopDown, 1500);
//agvClient.MayLeave(id); //agvClient.MayLeave(id);
SetStatus(id, shefId, ClientAction.MayLeave);
LogUtil.info(logName + "下降 InL_OutStopDown , " + shefId); LogUtil.info(logName + "下降 L2_OutStopDown , " + shefId);
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
...@@ -151,7 +152,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -151,7 +152,7 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
LogUtil.error(logName + " InL_OutStopCheck 未检测到料架,无法将料架进入AGV"); LogUtil.error(logName + " L2_OutCheck 未检测到料架,无法将料架进入AGV");
SetStatus(id, "", ClientAction.None, ClientLevel.High); SetStatus(id, "", ClientAction.None, ClientLevel.High);
} }
} }
......
...@@ -25,77 +25,144 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -25,77 +25,144 @@ namespace OnlineStore.LoadCSVLibrary
} }
/// <summary> /// <summary>
/// VMI流水线,DI 急停 SuddenStop_BTN X01 DI-01 /// DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X721,DI-01,0,
/// </summary> /// </summary>
public static string SuddenStop_BTN = "SuddenStop_BTN"; public static string SuddenStop_BTN = "SuddenStop_BTN";
/// <summary> /// <summary>
/// VMI流水线 DI 复位 Reset_BTN X02 DI-02 /// DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X722,DI-02,0,
/// </summary> /// </summary>
public static string Reset_BTN = "Reset_BTN"; public static string Reset_BTN = "Reset_BTN";
/// <summary>
/// DI,出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,出料线入口检测,X723,DI-03,0,
/// </summary>
public static string L2_InCheck = "L2_InCheck";
/// <summary> /// <summary>
/// DI 进料线中间料架检测 InL_MIddleCheck /// DI,出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1,X724,DI-04,0,
/// </summary> /// </summary>
public static string InL_MIddleCheck = "InL_MIddleCheck"; public static string L2_StopCheck1 = "L2_StopCheck1";
/// <summary> /// <summary>
/// DI 进料线阻挡检测1 InL_InStopCheck /// DI,料串切换气缸前进端,Switch_Forward_Sig,4,PRO_AOI_IP_1,0,料串切换气缸前进端,X725,DI-05,0,
/// </summary> /// </summary>
public static string InL_InStopCheck = "InL_InStopCheck"; public static string Switch_Forward_Sig = "Switch_Forward_Sig";
/// <summary> /// <summary>
/// DI 进料线阻挡检测2 InL_OutStopCheck ///DI,出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,出料线出口检测,X726,DI-06,0,
/// </summary>
public static string L2_OutCheck = "L2_OutCheck";
/// <summary>
/// DI,入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,入料线入口检测,X727,DI-07,0,
/// </summary> /// </summary>
public static string InL_OutStopCheck = "InL_OutStopCheck"; public static string L1_InCheck = "L1_InCheck";
/// <summary> /// <summary>
/// DI 出料线入口检测 OutL_InCheck ///DI,入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,入料线阻挡检测,X728,DI-08,0,
/// </summary> /// </summary>
public static string OutL_InCheck = "OutL_InCheck"; public static string L1_StopCheck = "L1_StopCheck";
/// <summary> /// <summary>
/// DI 出料线阻挡检测1 OutL_InStopCheck /// DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DO-01,0,
/// </summary> /// </summary>
public static string OutL_InStopCheck = "OutL_InStopCheck"; public static string Switch_Back_Sig = "Switch_Back_Sig";
/// <summary> /// <summary>
/// DI 出料线阻挡检测2 OutL_OutStopCheck ///DI,入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口检测,X730,DO-02,0,
/// </summary> /// </summary>
public static string OutL_OutStopCheck = "OutL_OutStopCheck"; public static string L1_OutCheck = "L1_OutCheck";
/// <summary> /// <summary>
/// DO 自动指示灯 AutoRun_HddLed /// DI,出料线人工取料信号,L1_ManualRecSig,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0,
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string L1_ManualRecSig = "L1_ManualRecSig";
/// <summary> /// <summary>
///DO 故障指示灯 Alarm_HddLed /// DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端,X732,DO-04,0,
/// </summary> /// </summary>
public static string Alarm_HddLed = "Alarm_HddLed"; public static string L1_UpDown_Up_Sig = "L1_UpDown_Up_Sig";
/// <summary> /// <summary>
/// DO 进料线驱动电机运转 InL_Run /// DI,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端,X733,DO-05,0,
/// </summary> /// </summary>
public static string InL_Run = "InL_Run"; public static string L1_UpDown_Down_Sig = "L1_UpDown_Down_Sig";
/// <summary> /// <summary>
/// DO 出料线驱动电机运转 OutL_Run ///DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端,X734,DO-06,0,
/// </summary> /// </summary>
public static string OutL_Run = "OutL_Run"; public static string L2_UpDown_Up_Sig = "L2_UpDown_Up_Sig";
/// <summary> /// <summary>
/// DO 进料线阻挡1下降 InL_InStopDown /// DI,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端,X735,DO-07,0,
/// </summary> /// </summary>
public static string InL_InStopDown = "InL_InStopDown"; public static string L2_UpDown_Down_Sig = "L2_UpDown_Down_Sig";
/// <summary> /// <summary>
/// DO 进料线阻挡2下降 InL_OutStopDown /// DI,包装料架检测信号,PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号,X736,DO-08,0,
/// </summary> /// </summary>
public static string InL_OutStopDown = "InL_OutStopDown"; public static string PackingShelf_Sig = "PackingShelf_Sig";
/// <summary>
/// DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DI-01,0,
/// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary> /// <summary>
/// DO 出料线阻挡1下降 OutL_InStopDown ///DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0,
/// </summary> /// </summary>
public static string OutL_InStopDown = "OutL_InStopDown"; public static string Alarm_HddLed = "Alarm_HddLed";
/// <summary> /// <summary>
/// DO 出料线阻挡2下降 OutL_OutStopDown ///DO,进料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0,
/// </summary> /// </summary>
public static string OutL_OutStopDown = "OutL_OutStopDown"; public static string L1_Run = "L1_Run";
/// <summary>
/// DO,出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0,
/// </summary>
public static string L2_Run = "L2_Run";
/// <summary>
/// DO,进料线阻挡1下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡1下降,Y725,DI-05,0,
/// </summary>
public static string L1_StopDown = "L1_StopDown";
/// <summary>
/// DO,进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降,Y726,DI-06,0,
/// </summary>
//public static string L1_StopDown2 = "L1_StopDown2";
/// <summary>
/// DO,进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降,Y727,DI-07,0,
/// </summary>
public static string L1_OutStopDown = "L1_OutStopDown";
/// <summary>
/// DO,出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降,Y728,DI-08,0,
/// </summary>
public static string L2_OutStopDown = "L2_OutStopDown";
/// <summary>
/// DO,出料线阻挡2下降,L2_OutStopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降,Y729,DO-01,0,
/// </summary>
//public static string L2_StopDown2 = "L2_StopDown2";
/// <summary>
/// DO,出料线出口阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线出口阻挡下降,Y730,DO-02,0,
/// </summary>
public static string L2_StopDown = "L2_StopDown";
/// <summary>
/// DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL,Y731,DO-03,0,
/// </summary>
public static string Traverse_Up_SOL = "Traverse_Up_SOL";
/// <summary>
/// DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL,Y732,DO-04,0,
/// </summary>
public static string Traverse_Down_SOL = "Traverse_Down_SOL";
/// <summary>
/// DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转,Y733,DO-05,0,
/// </summary>
public static string Traverse1_Run = "Traverse1_Run";
/// <summary>
/// DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转,Y734,DO-06,0,
/// </summary>
public static string Traverse2_Run = "Traverse2_Run";
/// <summary>
/// DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-07,0,
/// </summary>
public static string Switch_Forward = "Switch_Forward";
/// <summary>
/// DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-08,0,
/// </summary>
public static string Switch_Back = "Switch_Back";
} }
public enum IO_VALUE public enum IO_VALUE
{ {
......
...@@ -41,29 +41,28 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -41,29 +41,28 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("IO_DOLength")] [ConfigProAttribute("IO_DOLength")]
public string IO_DOLength { get; set; } public string IO_DOLength { get; set; }
/// <summary> /// <summary>
/// PRO,出空料架流水线AGV节点名称,OutL_AgvName,A2,,,,,,, ///PRO,L1线AGV节点名称,L1_AgvName,A2,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("OutL_AgvName" )] [ConfigProAttribute("L1_AgvName")]
public string OutL_AgvName { get; set; } public string L1_AgvName { get; set; }
/// <summary> /// <summary>
/// PRO,入料架流水线AGV节点名称,InL_AgvName,A1,,,,,,, /// PRO,L2线AGV节点名称,L2_AgvName,A1,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("InL_AgvName")] [ConfigProAttribute("L2_AgvName")]
public string InL_AgvName { get; set; } public string L2_AgvName { get; set; }
public double AirCheckSeconds = 60; public double AirCheckSeconds = 60;
/// <summary> /// <summary>
/// PRO 入料架流水线入口RFIDIP InL_In_RFIDIP 192.168.120.25 ///PRO,L2线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, ,
/// </summary> /// </summary>
[ConfigProAttribute("InL_In_RFIDIP", false)] [ConfigProAttribute("L2_In_RFIDIP", false)]
public string InL_In_RFIDIP { get; set; } public string L2_In_RFIDIP { get; set; }
/// <summary> /// <summary>
/// PRO 入料架流水线出口RFIDIP InL_Out_RFIDIP 192.168.120.26 /// PRO,L2线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
/// </summary> /// </summary>
[ConfigProAttribute("InL_Out_RFIDIP", false)] [ConfigProAttribute("L2_Out_RFIDIP", false)]
public string InL_Out_RFIDIP { get; set; } public string L2_Out_RFIDIP { get; set; }
protected override void initMustHavePro() protected override void initMustHavePro()
{ {
MustHaveDIList = new List<string>(); MustHaveDIList = new List<string>();
......
...@@ -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.162.124/myproject/" />
<!--storeType--> <!--storeType-->
<add key="store_count" value="1" /> <add key="store_count" value="1" />
<!--start one store config--> <!--start one store config-->
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<add key="DIMS" value="60" /> <add key="DIMS" value="60" />
<add key="DOMS" value="300" /> <add key="DOMS" value="300" />
<!--AGV调度服务器地址--> <!--AGV调度服务器地址-->
<add key="AgvServerIp" value="192.168.103.12" /> <add key="AgvServerIp" value="10.85.162.40" />
<!--是否调试状态--> <!--是否调试状态-->
<add key="IsInDebug" value="1" /> <add key="IsInDebug" value="1" />
<add key ="Agv_Log_Open" value ="1"/> <add key ="Agv_Log_Open" value ="1"/>
...@@ -29,8 +29,11 @@ ...@@ -29,8 +29,11 @@
<file type="log4net.Util.PatternString" value="logs/vmiLine.log" /> <file type="log4net.Util.PatternString" value="logs/vmiLine.log" />
<param name="Encoding" value="UTF-8" /> <param name="Encoding" value="UTF-8" />
<appendToFile value="true" /> <appendToFile value="true" />
<rollingStyle value="Date" /> <param name="MaxSizeRollBackups" value="10"/>
<datePattern value="yyyy-MM-dd" /> <!-- 切割最多文件数 -->
<param name="MaximumFileSize" value="100MB"/>
<!-- 每个文件的大小 -->
<param name="RollingStyle" value="Size"/>
<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>
...@@ -39,8 +42,11 @@ ...@@ -39,8 +42,11 @@
<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"/> <param name="MaxSizeRollBackups" value="10"/>
<datePattern value="yyyy-MM-dd"/> <!-- 切割最多文件数 -->
<param name="MaximumFileSize" value="100MB"/>
<!-- 每个文件的大小 -->
<param name="RollingStyle" value="Size"/>
<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>
......
...@@ -68,6 +68,9 @@ ...@@ -68,6 +68,9 @@
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();
...@@ -215,6 +218,9 @@ ...@@ -215,6 +218,9 @@
// //
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.btnUpdown);
this.groupBox2.Controls.Add(this.btnTranverse);
this.groupBox2.Controls.Add(this.label1); this.groupBox2.Controls.Add(this.label1);
this.groupBox2.Controls.Add(this.numericUpDown1); this.groupBox2.Controls.Add(this.numericUpDown1);
this.groupBox2.Controls.Add(this.btnStopTDown); this.groupBox2.Controls.Add(this.btnStopTDown);
...@@ -337,9 +343,9 @@ ...@@ -337,9 +343,9 @@
// btnOLOutStopDown // btnOLOutStopDown
// //
this.btnOLOutStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOLOutStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOLOutStopDown.Location = new System.Drawing.Point(233, 368); this.btnOLOutStopDown.Location = new System.Drawing.Point(147, 369);
this.btnOLOutStopDown.Name = "btnOLOutStopDown"; this.btnOLOutStopDown.Name = "btnOLOutStopDown";
this.btnOLOutStopDown.Size = new System.Drawing.Size(173, 39); this.btnOLOutStopDown.Size = new System.Drawing.Size(134, 39);
this.btnOLOutStopDown.TabIndex = 281; this.btnOLOutStopDown.TabIndex = 281;
this.btnOLOutStopDown.Text = "出料线出口阻挡下降"; this.btnOLOutStopDown.Text = "出料线出口阻挡下降";
this.btnOLOutStopDown.UseVisualStyleBackColor = true; this.btnOLOutStopDown.UseVisualStyleBackColor = true;
...@@ -348,9 +354,9 @@ ...@@ -348,9 +354,9 @@
// btnOLInStopDown // btnOLInStopDown
// //
this.btnOLInStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOLInStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOLInStopDown.Location = new System.Drawing.Point(233, 323); this.btnOLInStopDown.Location = new System.Drawing.Point(147, 324);
this.btnOLInStopDown.Name = "btnOLInStopDown"; this.btnOLInStopDown.Name = "btnOLInStopDown";
this.btnOLInStopDown.Size = new System.Drawing.Size(173, 39); this.btnOLInStopDown.Size = new System.Drawing.Size(134, 39);
this.btnOLInStopDown.TabIndex = 280; this.btnOLInStopDown.TabIndex = 280;
this.btnOLInStopDown.Text = "出料线入口阻挡下降"; this.btnOLInStopDown.Text = "出料线入口阻挡下降";
this.btnOLInStopDown.UseVisualStyleBackColor = true; this.btnOLInStopDown.UseVisualStyleBackColor = true;
...@@ -359,9 +365,9 @@ ...@@ -359,9 +365,9 @@
// btnInLOutStopDown // btnInLOutStopDown
// //
this.btnInLOutStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnInLOutStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInLOutStopDown.Location = new System.Drawing.Point(22, 368); this.btnInLOutStopDown.Location = new System.Drawing.Point(7, 369);
this.btnInLOutStopDown.Name = "btnInLOutStopDown"; this.btnInLOutStopDown.Name = "btnInLOutStopDown";
this.btnInLOutStopDown.Size = new System.Drawing.Size(173, 39); this.btnInLOutStopDown.Size = new System.Drawing.Size(134, 39);
this.btnInLOutStopDown.TabIndex = 279; this.btnInLOutStopDown.TabIndex = 279;
this.btnInLOutStopDown.Text = "进料线出口阻挡下降"; this.btnInLOutStopDown.Text = "进料线出口阻挡下降";
this.btnInLOutStopDown.UseVisualStyleBackColor = true; this.btnInLOutStopDown.UseVisualStyleBackColor = true;
...@@ -370,9 +376,9 @@ ...@@ -370,9 +376,9 @@
// btnInLInStopDown // btnInLInStopDown
// //
this.btnInLInStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnInLInStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInLInStopDown.Location = new System.Drawing.Point(22, 323); this.btnInLInStopDown.Location = new System.Drawing.Point(7, 324);
this.btnInLInStopDown.Name = "btnInLInStopDown"; this.btnInLInStopDown.Name = "btnInLInStopDown";
this.btnInLInStopDown.Size = new System.Drawing.Size(173, 39); this.btnInLInStopDown.Size = new System.Drawing.Size(134, 39);
this.btnInLInStopDown.TabIndex = 278; this.btnInLInStopDown.TabIndex = 278;
this.btnInLInStopDown.Text = "进料线入口阻挡下降"; this.btnInLInStopDown.Text = "进料线入口阻挡下降";
this.btnInLInStopDown.UseVisualStyleBackColor = true; this.btnInLInStopDown.UseVisualStyleBackColor = true;
...@@ -381,9 +387,9 @@ ...@@ -381,9 +387,9 @@
// btnInLineRun // btnInLineRun
// //
this.btnInLineRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnInLineRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnInLineRun.Location = new System.Drawing.Point(22, 278); this.btnInLineRun.Location = new System.Drawing.Point(7, 279);
this.btnInLineRun.Name = "btnInLineRun"; this.btnInLineRun.Name = "btnInLineRun";
this.btnInLineRun.Size = new System.Drawing.Size(173, 39); this.btnInLineRun.Size = new System.Drawing.Size(134, 39);
this.btnInLineRun.TabIndex = 276; this.btnInLineRun.TabIndex = 276;
this.btnInLineRun.Text = "进料线体运转"; this.btnInLineRun.Text = "进料线体运转";
this.btnInLineRun.UseVisualStyleBackColor = true; this.btnInLineRun.UseVisualStyleBackColor = true;
...@@ -392,9 +398,9 @@ ...@@ -392,9 +398,9 @@
// btnOutL // btnOutL
// //
this.btnOutL.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOutL.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOutL.Location = new System.Drawing.Point(233, 278); this.btnOutL.Location = new System.Drawing.Point(147, 279);
this.btnOutL.Name = "btnOutL"; this.btnOutL.Name = "btnOutL";
this.btnOutL.Size = new System.Drawing.Size(173, 39); this.btnOutL.Size = new System.Drawing.Size(134, 39);
this.btnOutL.TabIndex = 277; this.btnOutL.TabIndex = 277;
this.btnOutL.Text = "出料线体运转"; this.btnOutL.Text = "出料线体运转";
this.btnOutL.UseVisualStyleBackColor = true; this.btnOutL.UseVisualStyleBackColor = true;
...@@ -412,17 +418,16 @@ ...@@ -412,17 +418,16 @@
// //
// tableLayoutPanel2 // tableLayoutPanel2
// //
this.tableLayoutPanel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tableLayoutPanel2.AutoScroll = true;
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel2.ColumnCount = 1; this.tableLayoutPanel2.ColumnCount = 1;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Location = new System.Drawing.Point(5, 14); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 19);
this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 2; this.tableLayoutPanel2.RowCount = 2;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(197, 231); this.tableLayoutPanel2.Size = new System.Drawing.Size(202, 229);
this.tableLayoutPanel2.TabIndex = 103; this.tableLayoutPanel2.TabIndex = 103;
// //
// groupBox1 // groupBox1
...@@ -437,17 +442,16 @@ ...@@ -437,17 +442,16 @@
// //
// tableLayoutPanel1 // tableLayoutPanel1
// //
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tableLayoutPanel1.AutoScroll = true;
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 1; this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Location = new System.Drawing.Point(6, 14); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 19);
this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2; this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(197, 231); this.tableLayoutPanel1.Size = new System.Drawing.Size(202, 229);
this.tableLayoutPanel1.TabIndex = 102; this.tableLayoutPanel1.TabIndex = 102;
// //
// richTextBox1 // richTextBox1
...@@ -596,6 +600,39 @@ ...@@ -596,6 +600,39 @@
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);
...@@ -676,6 +713,9 @@ ...@@ -676,6 +713,9 @@
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.Button btnUpdown;
private System.Windows.Forms.Button btnTranverse;
} }
} }
...@@ -11,7 +11,7 @@ using System.Threading; ...@@ -11,7 +11,7 @@ using System.Threading;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Reflection; using System.Reflection;
using log4net; using log4net;
using UserFromControl; using UserFromControl;
using OnlineStore.DeviceLibrary; using OnlineStore.DeviceLibrary;
using OnlineStore.Common; using OnlineStore.Common;
...@@ -47,11 +47,11 @@ namespace OnlineStore.VMILineClient ...@@ -47,11 +47,11 @@ namespace OnlineStore.VMILineClient
return; return;
} }
timer1.Enabled = true; timer1.Enabled = true;
groupBox5.Text = "AGV调度通信,入料线体 [" + vmiLine.Config.InL_AgvName + "] ,出料线体 [" + vmiLine.Config.OutL_AgvName + "] "; groupBox5.Text = "AGV调度通信,入料线体 [" + vmiLine.Config.L1_AgvName + "] ,出料线体 [" + vmiLine.Config.L2_AgvName + "] ";
chbDebug.Checked = vmiLine.IsDebug; chbDebug.Checked = vmiLine.IsDebug;
this.ShowInTaskbar = true; this.ShowInTaskbar = true;
LoadIOList(); LoadIOList();
txtname.Text = vmiLine.Config.InL_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();
this.Opacity = 1; this.Opacity = 1;
...@@ -120,11 +120,11 @@ namespace OnlineStore.VMILineClient ...@@ -120,11 +120,11 @@ namespace OnlineStore.VMILineClient
if (!this.Visible) if (!this.Visible)
{ {
return; return;
} }
ReadIOList(); ReadIOList();
lblThisSta.Text = LineManager.GetRunStr(vmiLine.runStatus)+" "+(vmiLine.IsSleep ? "休眠中" :""); lblThisSta.Text = LineManager.GetRunStr(vmiLine.runStatus) + " " + (vmiLine.IsSleep ? "休眠中" : "");
lblWarnMsg.Text = vmiLine.WarnMsg; lblWarnMsg.Text = vmiLine.WarnMsg;
lblInfo.Text = vmiLine.GetRunInfo(); lblInfo.Text = vmiLine.GetRunInfo();
} }
private void FrmTest_FormClosing(object sender, FormClosingEventArgs e) private void FrmTest_FormClosing(object sender, FormClosingEventArgs e)
...@@ -146,8 +146,9 @@ namespace OnlineStore.VMILineClient ...@@ -146,8 +146,9 @@ namespace OnlineStore.VMILineClient
else if (vmiLine.StartRun()) else if (vmiLine.StartRun())
{ {
btnVmiStart.Text = "复位"; btnVmiStart.Text = "复位";
}else }
{ else
{
btnVmiStart.Text = "启动"; btnVmiStart.Text = "启动";
} }
} }
...@@ -332,32 +333,32 @@ namespace OnlineStore.VMILineClient ...@@ -332,32 +333,32 @@ namespace OnlineStore.VMILineClient
} }
private void btnInLineRun_Click(object sender, EventArgs e) private void btnInLineRun_Click(object sender, EventArgs e)
{ {
BtnMove(btnInLineRun, "进料线体运转", "进料线体停止", IO_Type.InL_Run); BtnMove(btnInLineRun, "进料线体运转", "进料线体停止", IO_Type.L1_Run);
} }
private void btnInLInStopDown_Click(object sender, EventArgs e) private void btnInLInStopDown_Click(object sender, EventArgs e)
{ {
BtnMove(btnInLInStopDown, "进料线入口阻挡下降", "进料线入口阻挡上升", IO_Type.InL_InStopDown); BtnMove(btnInLInStopDown, "进料线入口阻挡下降", "进料线入口阻挡上升", IO_Type.L1_StopDown);
} }
private void btnInLOutStopDown_Click(object sender, EventArgs e) private void btnInLOutStopDown_Click(object sender, EventArgs e)
{ {
BtnMove(btnInLOutStopDown, "进料线出口阻挡下降", "进料线出口阻挡上升", IO_Type.InL_OutStopDown); BtnMove(btnInLOutStopDown, "进料线出口阻挡下降", "进料线出口阻挡上升", IO_Type.L1_OutStopDown);
} }
private void btnOLInStopDown_Click(object sender, EventArgs e) private void btnOLInStopDown_Click(object sender, EventArgs e)
{ {
BtnMove(btnOLInStopDown, "出料线入口阻挡下降", "出料线入口阻挡上升", IO_Type.OutL_InStopDown); BtnMove(btnOLInStopDown, "出料线入口阻挡下降", "出料线入口阻挡上升", IO_Type.L2_StopDown);
} }
private void btnOutL_Click(object sender, EventArgs e) private void btnOutL_Click(object sender, EventArgs e)
{ {
BtnMove(btnOutL, "出料线体运转", "出料线体停止", IO_Type.OutL_Run); BtnMove(btnOutL, "出料线体运转", "出料线体停止", IO_Type.L2_Run);
} }
private void btnOLOutStopDown_Click(object sender, EventArgs e) private void btnOLOutStopDown_Click(object sender, EventArgs e)
{ {
BtnMove(btnOLOutStopDown, "出料线出口阻挡下降", "出料线出口阻挡上升", IO_Type.OutL_OutStopDown); BtnMove(btnOLOutStopDown, "出料线出口阻挡下降", "出料线出口阻挡上升", IO_Type.L2_OutStopDown);
} }
private void btnCloseA_Click(object sender, EventArgs e) private void btnCloseA_Click(object sender, EventArgs e)
...@@ -368,13 +369,13 @@ namespace OnlineStore.VMILineClient ...@@ -368,13 +369,13 @@ namespace OnlineStore.VMILineClient
private void btnNeedLeave_Click(object sender, EventArgs e) private void btnNeedLeave_Click(object sender, EventArgs e)
{ {
AgvClient.NeedLeave(txtname.Text, txtShelfId.Text); AgvClient.NeedLeave(txtname.Text, txtShelfId.Text);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedLeave); // AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedLeave);
} }
private void btnNeedEntry_Click(object sender, EventArgs e) private void btnNeedEntry_Click(object sender, EventArgs e)
{ {
AgvClient.NeedEnter(txtname.Text, txtShelfId.Text); AgvClient.NeedEnter(txtname.Text, txtShelfId.Text);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedEnter); // AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedEnter);
} }
private void btnInit_Click(object sender, EventArgs e) private void btnInit_Click(object sender, EventArgs e)
...@@ -395,22 +396,92 @@ namespace OnlineStore.VMILineClient ...@@ -395,22 +396,92 @@ namespace OnlineStore.VMILineClient
private void btnStopTDown_Click(object sender, EventArgs e) private void btnStopTDown_Click(object sender, EventArgs e)
{ {
int value = (int)numericUpDown1.Value; int value = (int)numericUpDown1.Value;
string iotype = IO_Type.InL_InStopDown; ///进料线_入口阻挡
//进料线_出口阻挡
//出料线_入口阻挡
string iotype = IO_Type.L1_StopDown;
if (cmbStopList.SelectedIndex.Equals(1)) if (cmbStopList.SelectedIndex.Equals(1))
{ {
iotype = IO_Type.InL_OutStopDown; iotype = IO_Type.L1_OutStopDown;
} }
else if (cmbStopList.SelectedIndex.Equals(2)) else if (cmbStopList.SelectedIndex.Equals(2))
{ {
iotype = IO_Type.OutL_InStopDown; iotype = IO_Type.L2_StopDown;
} }
vmiLine.StopIOMove(iotype, value); 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);
} }
private void btnTranverse_Click(object sender, EventArgs e)
{
BtnMove(btnTranverse, "横移运转", "横移停止", IO_Type.L2_Run);
//Button btn = (Button)sender;
//LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
//if (btn.Text.Equals("横移运转"))
//{
// IOManager.IOMove(IO_Type.Traverse1_Run, IO_VALUE.HIGH);
// IOManager.IOMove(IO_Type.Traverse2_Run, IO_VALUE.HIGH);
// btn.Text = "横移停止";
// btn.BackColor = Color.Aqua;
//}
//else
//{
// 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 void btnUpdown_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
if (btn.Text.Equals("横移机构上升"))
{
IOManager.IOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.LOW);
Thread.Sleep(500);
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;
}
}
private void btnSwitch_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
if (btn.Text.Equals("料串切换气缸前进"))
{
IOManager.IOMove(IO_Type.Switch_Back, IO_VALUE.LOW);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Switch_Forward, IO_VALUE.HIGH);
btn.Text = "料串切换气缸后退";
btn.BackColor = Color.Aqua;
}
else
{
IOManager.IOMove(IO_Type.Switch_Forward, IO_VALUE.LOW);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Switch_Back, IO_VALUE.HIGH);
btn.Text = "料串切换气缸前进";
btn.BackColor = Color.White;
}
}
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!