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
...@@ -126,8 +126,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -126,8 +126,9 @@ 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)
{ {
......
...@@ -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" />
......
...@@ -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 + "】 ");
//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)
{ {
ConfigIO io = GetSelectDO();
Button btn = (Button)sender; if (io != null)
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
if (btn.Text.Equals("横移机构上升"))
{ {
IOManager.IOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.LOW); // txtIp.Text = io.DeviceName;
Thread.Sleep(500); txtDOIndex.Text = io.GetIOAddr().ToString();
IOManager.IOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.HIGH); txtDoName.Text = io.IO_IP;
btn.Text = "横移机构下降"; IOTextControl newControl = DOControlList[io.ProName];
btn.BackColor = Color.Aqua; if (selectControl != null) { selectControl.BackColor = Color.White; }
newControl.BackColor = Color.SkyBlue;
selectControl = newControl;
} }
else }
}
private ConfigIO GetSelectDO()
{ {
IOManager.IOMove(IO_Type.Traverse_Up_SOL, IO_VALUE.LOW); string text = cmbWriteIO.SelectedValue.ToString();
Thread.Sleep(500); if (LineManager.Config.StoreDOList.ContainsKey(text))
IOManager.IOMove(IO_Type.Traverse_Down_SOL, IO_VALUE.HIGH); {
btn.Text = "横移机构上升"; ConfigIO io = LineManager.Config.StoreDOList[text];
btn.BackColor = Color.White; return io;
} }
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)
{ {
IOManager.IOMove(IO_Type.Switch_Back, IO_VALUE.LOW); string deviceName = txtDoName.Text;
Thread.Sleep(500); int index = FormUtil.GetIntValue(txtDOIndex);
IOManager.IOMove(IO_Type.Switch_Forward, IO_VALUE.HIGH); int time = FormUtil.GetIntValue(txtWriteTime);
btn.Text = "料串切换气缸后退";
btn.BackColor = Color.Aqua; if (time > 0)
{
IOManager.instance.WriteSingleDO(deviceName, (byte)0, (ushort)index, value, time);
} }
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!