Commit acb7d13f 张东亮

新增第三条线体

1 个父辈 7b34e538
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.103.25#16,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.103.25#16,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,192.168.103.25#16;192.168.103.30#8,,,,,,,
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_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,复位,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,出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1,X724,DI-04,0,
DI,料串出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,料串出料线入口检测,X723,DI-03,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,出料线出口检测,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_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,入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口检测,X730,DO-02,0,
DI,出料线人工取料信号,L1_ManualRecSig,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0,
DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端,X732,DO-04,0,
DI,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端,X733,DO-05,0,
DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端,X734,DO-06,0,
DI,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端,X735,DO-07,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,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0,
DO,进料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0,
DO,出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0,
DO,进料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡下降,Y725,DI-05,0,
,进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降,Y726,DI-06,0,
DO,进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降,Y727,DI-07,0,
DO,出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降,Y728,DI-08,0,
,出料线阻挡2下降,L2_StopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降,Y729,DO-01,0,
DO,出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线阻挡下降,Y730,DO-02,0,
DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL,Y731,DO-03,0,
DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL,Y732,DO-04,0,
DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转,Y733,DO-05,0,
DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转,Y734,DO-06,0,
DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-07,0,
DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-08,0,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,L1线AGV节点名称,L1_AgvName,A2,,,,,,,
PRO,L2线AGV节点名称,L2_AgvName,A1,,,,,,,
PRO,L2线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, ,
PRO,L2线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,40,,,,,,,
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_StopCheck,7,PRO_AOI_IP_1,0,空入料线阻挡检测,X728,DI-08,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,DI-10,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,DI-12,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,DI-14,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,DI-16,0,
,,,,,,,,,,
DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DO-01,0,
DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DO-02,0,
DO,空入料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,空入料线驱动电机运转,Y723,DO-03,0,
DO,料串出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,料串出料线驱动电机运转,Y724,DO-04,0,
DO,空入料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,空入料线阻挡下降,Y725,DO-05,0,
DO,料串出料线横移机构上升SOL,L2_Traverse_Up_SOL,5,PRO_AOI_IP_1,0,料串出料线横移机构上升SOL,Y726,DO-06,0,
DO,空入料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,空入料线出口阻挡下降,Y727,DO-07,0,
DO,料串出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,料串出料线出口阻挡下降,Y728,DO-08,0,
DO,料串出料线横移机构下降SOL,L2_Traverse_Down_SOL,8,PRO_AOI_IP_1,0,料串出料线横移机构下降SOL,Y729,DO-09,0,
DO,料串出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,料串出料线阻挡下降,Y730,DO-10,0,
DO,空入料线横移机构上升SOL,L1_Traverse_Up_SOL,10,PRO_AOI_IP_1,0,空入料线横移机构上升SOL,Y731,DO-11,0,
DO,空入料线横移机构下降SOL,L1_Traverse_Down_SOL,11,PRO_AOI_IP_1,0,空入料线横移机构下降SOL,Y732,DO-12,0,
DO,空入料线横移电机正转,L1_Traverse_Run,12,PRO_AOI_IP_1,0,空入料线横移电机正转,Y733,DO-13,0,
DO,空入料线横移电机反转,L1_Traverse_BackRun,13,PRO_AOI_IP_1,0,空入料线横移电机反转,Y734,DO-14,0,
DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-15,0,
DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-16,0,
,,,,,,,,,,
,,,,,,,,,,
DI,包装料架检测信号(料串出料线体出口),L2Out_PkgTypeDetect_Sig,0,PRO_AOI_IP_2,0,包装料架检测信号(料串出料线体出口),X781,DI-01,0,
DI,包装料架检测信号(包装料架出料线体出口),L3Out_PkgTypeDetect_Sig,1,PRO_AOI_IP_2,0,包装料架检测信号(包装料架出料线体出口),X782,DI-02,0,
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
......@@ -126,9 +126,10 @@ namespace OnlineStore.DeviceLibrary
public string GetRunInfo()
{
return "进料线入口" + Config.L1_AgvName + ":" + AgvClient.GetAction(Config.L1_AgvName) + ",料架: " + LastInShelfId + "\r\n" +
"出料线出口" + Config.L2_AgvName + ":" + AgvClient.GetAction(Config.L2_AgvName) + ",料架: " + LastOutShelfId + "\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.L3_AgvName + ":" + AgvClient.GetAction(Config.L3_AgvName);
}
#endregion
......@@ -158,9 +159,12 @@ namespace OnlineStore.DeviceLibrary
needCheckList.Add(IO_Type.L2_InCheck);
needCheckList.Add(IO_Type.L2_StopCheck1);
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.L1_StopDown);
needCheckList.Add(IO_Type.L3_StopDown);
}
bool agvBusy = false;
ClientAction currA = AgvClient.GetAction(Config.L1_AgvName);
......@@ -231,6 +235,7 @@ namespace OnlineStore.DeviceLibrary
IsSleep = true;
IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.L3_Run, IO_VALUE.LOW);
}
else
{
......@@ -238,6 +243,7 @@ namespace OnlineStore.DeviceLibrary
LastBusyTime = DateTime.Now;
IOManager.IOMove(IO_Type.L1_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L2_Run, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.L3_Run, IO_VALUE.HIGH);
};
}
#endregion
......
......@@ -156,6 +156,36 @@ namespace OnlineStore.DeviceLibrary
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)
{
......
......@@ -50,7 +50,11 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[ConfigProAttribute("L2_AgvName")]
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;
/// <summary>
......
......@@ -8,7 +8,7 @@
<add key="App_AutoRun" value="1" />
<add key="App_Title" value="VMI总仓进出料架缓存线" />
<!--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-->
<add key="store_count" value="1" />
<!--start one store config-->
......@@ -22,7 +22,9 @@
<add key="AgvServerIp" value="192.168.103.12" />
<!--是否调试状态-->
<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>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
......@@ -36,16 +38,15 @@
</layout>
</appender>
<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" />
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n" />
</layout>
</appender>
<logger name="RollingLogFileAppender">
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
......@@ -54,10 +55,10 @@
<level value="Error" />
<appender-ref ref="TheRFID" />
</logger>
<root>
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
</root>
<root>
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
......
......@@ -38,8 +38,11 @@ namespace OnlineStore.VMILineClient
private void FrmTest_Load(object sender, EventArgs e)
{
LogUtil.logBox = this.richTextBox1;
cmbStopList.SelectedIndex = 0;
this.vmiLine = LineManager.InitStore();
LoadIOList();
cmbWriteIO.DataSource = new List<ConfigIO>(LineManager.Config.StoreDOList.Values);
cmbWriteIO.ValueMember = "ProName";
cmbWriteIO.DisplayMember = "DisplayStr";
if (vmiLine == null)
{
LogUtil.error(LOGGER, "加载设备失败");
......@@ -47,10 +50,9 @@ namespace OnlineStore.VMILineClient
return;
}
timer1.Enabled = true;
groupBox5.Text = "AGV调度通信,入料线体 [" + vmiLine.Config.L1_AgvName + "] ,出料线体 [" + vmiLine.Config.L2_AgvName + "] ";
chbDebug.Checked = vmiLine.IsDebug;
groupBox5.Text = "AGV调度通信,空入料线体 [" + vmiLine.Config.L1_AgvName + "] ,料串出料线体 [" + vmiLine.Config.L2_AgvName + "],包装出料线体["+ vmiLine.Config.L3_AgvName + "]";
DebugMode(vmiLine.IsDebug);
this.ShowInTaskbar = true;
LoadIOList();
txtname.Text = vmiLine.Config.L1_AgvName;
notifyIcon1.Text = ConfigAppSettings.GetValue(Setting_Init.App_Title);
HideForm();
......@@ -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)
{
......@@ -331,35 +339,6 @@ namespace OnlineStore.VMILineClient
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)
{
......@@ -393,95 +372,65 @@ namespace OnlineStore.VMILineClient
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)
{
vmiLine.MoveStop = chbMoveStop.Checked;
LogUtil.info(vmiLine.Name + "用户切换是否暂停: " + vmiLine.MoveStop);
}
private void btnTranverse_Click(object sender, EventArgs e)
IOTextControl selectControl = null;
private void cmbWriteIO_SelectedIndexChanged(object sender, EventArgs e)
{
BtnMove(btnTranverse, "横移运转", "横移停止", IO_Type.Traverse1_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;
//}
if (cmbWriteIO.SelectedIndex >= 0)
{
ConfigIO io = GetSelectDO();
if (io != null)
{
// txtIp.Text = io.DeviceName;
txtDOIndex.Text = io.GetIOAddr().ToString();
txtDoName.Text = io.IO_IP;
IOTextControl newControl = DOControlList[io.ProName];
if (selectControl != null) { selectControl.BackColor = Color.White; }
newControl.BackColor = Color.SkyBlue;
selectControl = newControl;
}
}
}
private void btnUpdown_Click(object sender, EventArgs e)
private ConfigIO GetSelectDO()
{
Button btn = (Button)sender;
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
if (btn.Text.Equals("横移机构上升"))
string text = cmbWriteIO.SelectedValue.ToString();
if (LineManager.Config.StoreDOList.ContainsKey(text))
{
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;
ConfigIO io = LineManager.Config.StoreDOList[text];
return io;
}
return null;
}
private void btnSwitch_Click(object sender, EventArgs e)
private void btnWriteSingleDO_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
LogUtil.info(vmiLine.Name + "点击【" + btn.Text + "】 ");
if (btn.Text.Equals("料串切换气缸前进"))
WriteDO(IO_VALUE.HIGH);
}
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);
Thread.Sleep(500);
IOManager.IOMove(IO_Type.Switch_Forward, IO_VALUE.HIGH);
btn.Text = "料串切换气缸后退";
btn.BackColor = Color.Aqua;
IOManager.instance.WriteSingleDO(deviceName, (byte)0, (ushort)index, value, time);
}
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;
IOManager.instance.WriteSingleDO(deviceName, (byte)0, (ushort)index, value);
}
}
private void button2_Click(object sender, EventArgs e)
{
WriteDO(IO_VALUE.LOW);
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!