Commit 59dbda57 LN

io模块更新,复位功能编写

1 个父辈 e178b7d4
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<members> <members>
<member name="T:Asa.IOModule.AIOBOX"> <member name="T:Asa.IOModule.AIOBOX">
<summary> <summary>
IO操作类 零点IO模块操作类
</summary> </summary>
</member> </member>
<member name="T:Asa.IOModule.AIOBOX.DIO_Changed"> <member name="T:Asa.IOModule.AIOBOX.DIO_Changed">
...@@ -26,14 +26,11 @@ ...@@ -26,14 +26,11 @@
自动读取DO事件触发 自动读取DO事件触发
</summary> </summary>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.#ctor(Asa.IOModule.Box_Type,System.Int32,Asa.IOModule.Box_Type,System.Int32)"> <member name="M:Asa.IOModule.AIOBOX.#ctor(System.String)">
<summary> <summary>
IO操作类 零点IO模块操作类
</summary> </summary>
<param name="input">输入类型</param> <param name="logName"></param>
<param name="inputCount">输入数量</param>
<param name="output">输出类型</param>
<param name="outputCount">输出数量</param>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.IP"> <member name="P:Asa.IOModule.AIOBOX.IP">
<summary> <summary>
...@@ -50,15 +47,30 @@ ...@@ -50,15 +47,30 @@
是否连接 是否连接
</summary> </summary>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.ErrInfo"> <member name="P:Asa.IOModule.AIOBOX.InputCount">
<summary> <summary>
错误信息 DI总数
</summary> </summary>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.OutputCount">
<summary>
DO总数
</summary>
</member>
<member name="M:Asa.IOModule.AIOBOX.SetType(Asa.IOModule.Box_Type,System.Int32,Asa.IOModule.Box_Type,System.Int32)">
<summary>
设置输入输出的类型
</summary>
<param name="input"></param>
<param name="inputCount"></param>
<param name="output"></param>
<param name="outputCount"></param>
</member>
<member name="M:Asa.IOModule.AIOBOX.Connect"> <member name="M:Asa.IOModule.AIOBOX.Connect">
<summary> <summary>
连接 连接
</summary> </summary>
<returns></returns>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.Close"> <member name="M:Asa.IOModule.AIOBOX.Close">
<summary> <summary>
...@@ -146,6 +158,12 @@ ...@@ -146,6 +158,12 @@
<param name="sta"></param> <param name="sta"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.GetLocalIP">
<summary>
获取本地IPv4地址
</summary>
<returns></returns>
</member>
<member name="M:Asa.IOModule.AIOBOX.Send"> <member name="M:Asa.IOModule.AIOBOX.Send">
<summary> <summary>
发送命令线程 发送命令线程
...@@ -249,47 +267,5 @@ ...@@ -249,47 +267,5 @@
闭合,打开,高电平 闭合,打开,高电平
</summary> </summary>
</member> </member>
<member name="T:Asa.IOModule.LogFile">
<summary>
日志操作类
</summary>
</member>
<member name="M:Asa.IOModule.LogFile.#ctor(System.String,System.String)">
<summary>
日志
</summary>
<param name="path">文件夹路径</param>
<param name="ip"></param>
</member>
<member name="M:Asa.IOModule.LogFile.Close">
<summary>
关闭文件
</summary>
</member>
<member name="M:Asa.IOModule.LogFile.OutError(System.String)">
<summary>
输出错误
</summary>
<param name="s"></param>
</member>
<member name="M:Asa.IOModule.LogFile.OutInfo(System.String)">
<summary>
输出信息
</summary>
<param name="s"></param>
</member>
<member name="M:Asa.IOModule.LogFile.OutData(System.String,System.Byte[])">
<summary>
输出数据
</summary>
<param name="tr"></param>
<param name="buff"></param>
</member>
<member name="M:Asa.IOModule.LogFile.OutData(System.String)">
<summary>
输出数据
</summary>
<param name="s"></param>
</member>
</members> </members>
</doc> </doc>
...@@ -15,13 +15,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -15,13 +15,21 @@ namespace OnlineStore.DeviceLibrary
private static string LastMoveDO = ""; private static string LastMoveDO = "";
private static string LastCheckDI = ""; private static string LastCheckDI = "";
internal static DateTime LastEndTime = DateTime.Now; internal static DateTime LastEndTime = DateTime.Now;
public static void Stop() public static void Stop()
{ {
if (IsRun) if (IsRun)
{ {
IsRun = false; IsRun = false;
} }
if (IOManager.DOValue(IO_Type.Door_Down).Equals(IO_VALUE.HIGH))
{
IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
}
if (IOManager.DOValue(IO_Type.Door_Up).Equals(IO_VALUE.HIGH))
{
IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
}
} }
private static bool Start(string moveDO, string checkDI, int timeOutMS = 30000) private static bool Start(string moveDO, string checkDI, int timeOutMS = 30000)
{ {
...@@ -40,6 +48,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -40,6 +48,7 @@ namespace OnlineStore.DeviceLibrary
private static string WriteAndWait(string moveDO, string checkDI, int timeOutMS = 30000) private static string WriteAndWait(string moveDO, string checkDI, int timeOutMS = 30000)
{ {
IOManager.IOMove(IO_Type.Door_Break, IO_VALUE.HIGH);
LastMoveDO = moveDO; LastMoveDO = moveDO;
LastCheckDI = checkDI; LastCheckDI = checkDI;
LogUtil.debug("写入信号:" + moveDO + ",等待信号:" + checkDI + ""); LogUtil.debug("写入信号:" + moveDO + ",等待信号:" + checkDI + "");
...@@ -89,7 +98,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -89,7 +98,7 @@ namespace OnlineStore.DeviceLibrary
} }
LastEndTime = DateTime.Now; LastEndTime = DateTime.Now;
IOManager.IOMove(moveDO, IO_VALUE.LOW); IOManager.IOMove(moveDO, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.Door_Break, IO_VALUE.LOW);
IsRun = false; IsRun = false;
return result; return result;
} }
......
...@@ -15,8 +15,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -15,8 +15,6 @@ namespace OnlineStore.DeviceLibrary
{ {
public class AIOBOXManager : IOManager public class AIOBOXManager : IOManager
{ {
public readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public Dictionary<string, AIOBOX> AIOMap = new Dictionary<string, AIOBOX>(); public Dictionary<string, AIOBOX> AIOMap = new Dictionary<string, AIOBOX>();
public Dictionary<string, List<Box_Sta>> DIValueMap = new Dictionary<string, List<Box_Sta>>(); public Dictionary<string, List<Box_Sta>> DIValueMap = new Dictionary<string, List<Box_Sta>>();
...@@ -27,8 +25,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -27,8 +25,6 @@ namespace OnlineStore.DeviceLibrary
private object DILock = ""; private object DILock = "";
private object DOLock = ""; private object DOLock = "";
private List<string> IoIPLIst = new List<string>();
private System.Timers.Timer conTimer = null;
public override void ConnectionIOList(List<string> DIONameList) public override void ConnectionIOList(List<string> DIONameList)
{ {
...@@ -69,37 +65,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -69,37 +65,22 @@ namespace OnlineStore.DeviceLibrary
{ {
DOValueMap.Remove(ioIp); DOValueMap.Remove(ioIp);
} }
int DIMS = ConfigAppSettings.GetIntValue("DIMS");
if (DIMS < 20)
{
DIMS = 20;
}
int DOMS = ConfigAppSettings.GetIntValue("DOMS");
if (DOMS < 200)
{
DOMS = 200;
}
int DILength = StoreManager.Config.GetDILength(ioIp); int DILength = StoreManager.Config.GetDILength(ioIp);
int DOLength = StoreManager.Config.GetDOLength(ioIp); int DOLength = StoreManager.Config.GetDOLength(ioIp);
string logName = "IO模块[" + ioIp + "] DI[" + DILength + "] DO[" + DOLength + "],[" + DIMS + "] [" + DOMS + "]"; string logName = "IO模块[" + ioIp + "] DI[" + DILength + "] DO[" + DOLength + "] ";
try try
{ {
aioBox = new AIOBOX(); aioBox = new AIOBOX("AIOBOX");
aioBox.SetType(Asa.IOModule.Box_Type.DI, DILength, Asa.IOModule.Box_Type.DO, DOLength);
aioBox.LogPath(Application.StartupPath + @"\logs\aio\", LogType.OnlyError);
aioBox.IP = ioIp; aioBox.IP = ioIp;
aioBox.Upload = false ;
aioBox.SetInput(Asa.IOModule.Box_Type.DI, DILength);
aioBox.SetOutput(Asa.IOModule.Box_Type.DO, DOLength);
//DI主动上传
aioBox.AutoReadInput(true);
aioBox.AutoReadOutput(false, DOMS);
aioBox.DI_Changed_Event += AioBox_DI_Changed_Event; ; aioBox.DI_Changed_Event += AioBox_DI_Changed_Event; ;
aioBox.DO_Changed_Event += AioBox_DO_Changed_Event; aioBox.DO_Changed_Event += AioBox_DO_Changed_Event;
LogUtil.info("开始连接:" + logName + ":" + aioBox.ErrInfo); LogUtil.info("开始连接:" + logName + ":");
aioBox.Connect(); aioBox.Connect();
AIOMap.Add(ioIp, aioBox); AIOMap.Add(ioIp, aioBox);
...@@ -117,25 +98,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -117,25 +98,7 @@ namespace OnlineStore.DeviceLibrary
private DateTime lastLogTime = DateTime.Now; private DateTime lastLogTime = DateTime.Now;
private void AioBox_Log_Out_Event(AIOBOX box, string[] s)
{
foreach (string str in s)
{
LogUtil.debug("[" + box.IP + "]" + str);
}
}
private void AioBox_Reconnect_Event(AIOBOX box, int times, ref bool conn, Dictionary<string, string> dict)
{
conn = true;
string msg = "重连AIO块【" + box.IP + "】次数:" + times + "【" + box.ErrInfo + "】,连接信息如下\r\n";
foreach (string key in dict.Keys)
{
msg = msg + "\t" + "[" + key + "]=[" + dict[key] + "],";
}
LogUtil.error(msg);
}
private void AioBox_DI_Changed_Event(AIOBOX box, Box_Sta[] sta) private void AioBox_DI_Changed_Event(AIOBOX box, Box_Sta[] sta)
{ {
...@@ -145,7 +108,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -145,7 +108,7 @@ namespace OnlineStore.DeviceLibrary
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error("AioBox_DI_Changed_Event出错:"+ ex.ToString()); LogUtil.error("AioBox_DI_Changed_Event出错:" + ex.ToString());
} }
} }
private void AioBox_DO_Changed_Event(AIOBOX box, Box_Sta[] sta) private void AioBox_DO_Changed_Event(AIOBOX box, Box_Sta[] sta)
...@@ -279,7 +242,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -279,7 +242,7 @@ namespace OnlineStore.DeviceLibrary
bool result = aioBox.WriteDO(StartAddress, GetBox_Sta(onOff)); bool result = aioBox.WriteDO(StartAddress, GetBox_Sta(onOff));
if (!result) if (!result)
{ {
LogUtil.error("AIO WriteSingleDO [" + ioIp + "] [" + StartAddress + "] 失败:" + aioBox.ErrInfo); LogUtil.error("AIO WriteSingleDO [" + ioIp + "] [" + StartAddress + "] 失败:");
} }
} }
else else
...@@ -289,7 +252,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -289,7 +252,7 @@ namespace OnlineStore.DeviceLibrary
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error("AIO WriteSingleDO [" + ioIp + "] [" + StartAddress + "] 出错啦:" + ex.ToString()); LogUtil.error("AIO WriteSingleDO [" + ioIp + "] [" + StartAddress + "] 出错啦:"+ ex.ToString());
} }
} }
public override void WriteSingleDO(string ioIp, byte slaveId, ushort StartAddress, IO_VALUE onOff, int mSeconds) public override void WriteSingleDO(string ioIp, byte slaveId, ushort StartAddress, IO_VALUE onOff, int mSeconds)
...@@ -365,7 +328,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -365,7 +328,7 @@ namespace OnlineStore.DeviceLibrary
} }
public override IO_VALUE GetDOValue(string ioIP, byte slaveId, ushort StartAddress) public override IO_VALUE GetDOValue(string ioIP, byte slaveId, ushort StartAddress)
{ {
IO_VALUE value = IO_VALUE.LOW; IO_VALUE value = IO_VALUE.None;
try try
{ {
AIOBOX aioBox = getAIO(ioIP); AIOBOX aioBox = getAIO(ioIP);
...@@ -397,7 +360,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -397,7 +360,7 @@ namespace OnlineStore.DeviceLibrary
public override IO_VALUE GetDIValue(string ioIP, byte slaveId, ushort StartAddress) public override IO_VALUE GetDIValue(string ioIP, byte slaveId, ushort StartAddress)
{ {
IO_VALUE value = IO_VALUE.LOW; IO_VALUE value = IO_VALUE.None;
for (int i = 1; i <= 3; i++) for (int i = 1; i <= 3; i++)
{ {
try try
...@@ -436,7 +399,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -436,7 +399,7 @@ namespace OnlineStore.DeviceLibrary
} }
public override IO_VALUE GetIOValue(ConfigIO configIO) public override IO_VALUE GetIOValue(ConfigIO configIO)
{ {
IO_VALUE value = IO_VALUE.LOW; IO_VALUE value = IO_VALUE.None;
try try
{ {
if (configIO.ProType.Equals(ConfigItemType.DI)) if (configIO.ProType.Equals(ConfigItemType.DI))
...@@ -476,18 +439,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -476,18 +439,6 @@ namespace OnlineStore.DeviceLibrary
} }
return aioBox; return aioBox;
} }
public bool IsConnect(string ip)
{
if (AIOMap.ContainsKey(ip))
{
if (AIOMap[ip].IsConn)
{
return true;
}
return false;
}
return false;
}
}
} }
}
...@@ -18,7 +18,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -18,7 +18,16 @@ namespace OnlineStore.DeviceLibrary
this.PlateH = plateH; this.PlateH = plateH;
this.paramType = type; this.paramType = type;
} }
public InOutParam(MoveType type, string posId, VerticalPosition position)
{
this.position = position;
PosCode = "";
PosId = posId;
this.PlateW = position.BagWidth;
this.PlateH = position.BagHigh;
this.paramType = type;
}
public string ToStr() public string ToStr()
{ {
if (paramType.Equals(MoveType.InStore)) if (paramType.Equals(MoveType.InStore))
......
...@@ -105,24 +105,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -105,24 +105,6 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
ResetMove =13, ResetMove =13,
/// <summary>
///14= 回温移库中
/// </summary>
MovementExecute=14,
/// <summary>
///15= 回温移库完成
/// </summary>
MovementEnd= 15,
/// <summary>
///16= 搅拌执行中
/// </summary>
StirringExecute = 16,
/// <summary>
///17= 搅拌完成
/// </summary>
StirringEnd = 17,
} }
/// <summary> /// <summary>
...@@ -136,17 +118,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -136,17 +118,21 @@ namespace OnlineStore.DeviceLibrary
Wait = 0, Wait = 0,
#region 料仓 重置 101开始 #region 料仓 重置 101开始
/// <summary> /// <summary>
/// 等待可以关门
/// </summary>
R01_WaitCloseDoor=101,
/// <summary>
/// 复位:升降门关闭,关闭所有灯 /// 复位:升降门关闭,关闭所有灯
/// </summary> /// </summary>
R01_DoorClose=101, R02_DoorClose,
/// <summary> /// <summary>
/// 复位:料斗旋转轴返回原点 /// 复位:料斗旋转轴返回原点
/// </summary> /// </summary>
R02_MiddleHome , R03_MiddleHome ,
/// <summary> /// <summary>
/// 复位:旋转轴到待机点 /// 复位:旋转轴到待机点
/// </summary> /// </summary>
R03_MiddleToP1 , R04_MiddleToP1 ,
#endregion #endregion
...@@ -154,168 +140,69 @@ namespace OnlineStore.DeviceLibrary ...@@ -154,168 +140,69 @@ namespace OnlineStore.DeviceLibrary
#region 出库步骤 1001 开始 #region 出库步骤 1001 开始
/// <summary> /// <summary>
///出库:进出轴到P1,旋转轴停止匀速旋转 ///出库:等待光栅未被遮挡
/// </summary> /// </summary>
SO_01_InoutToP1 = 1001, SO_01_Wait = 1001,
/// <summary> /// <summary>
///出库:旋转轴回原点 ///出库:关闭升降门
/// </summary> /// </summary>
SO_02_AxisHome , SO_02_CloseDoor ,
/// <summary> /// <summary>
/// 出库: 旋转轴至P2( 库位点),升降轴至P5(库位出库前点) ,旋转轴到P2 /// 出库: 旋转轴到P1点
/// </summary> /// </summary>
SO_03_ToBag , SO_03_MiddleToP1 ,
/// <summary> /// <summary>
/// 出库:开冷藏门 /// 出库:打开升降门,打开库位灯
/// </summary> /// </summary>
SO_04_OpenCold, SO_04_OpenDoor,
/// <summary> /// <summary>
/// 出库:进出轴 至P3(库位取放料点) /// 出库:等待关门
/// </summary> /// </summary>
SO_05_InoutToP3, SO_05_WaitCloseDoor,
/// <summary> /// <summary>
///出库: 夹爪夹紧 ///出库: 开始关门
/// </summary> /// </summary>
SO_06_Clamping_Work, SO_06_CloseDoor,
/// <summary> /// <summary>
///出库:升降轴到缓冲点P6 ///出库:关灯结束
/// </summary> /// </summary>
SO_07_UpdownToP6 , SO_07_CloseLed ,
/// <summary>
///出库:进出轴返回P1
/// </summary>
SO_08_InoutToP1,
/// <summary>
/// 出库:关闭冷藏区门
/// </summary>
SO_09_CloseCold,
/// <summary>
/// 出库: 轴1旋转轴至P1,升降轴到P2进料口出料前点
/// </summary>
SO_10_ToDoorPosition ,
/// <summary>
/// 出库: 打开仓门,,旋转轴开始匀速运转,
/// </summary>
SO_11_OpenDoor,
/// <summary>
/// 出库:等待门口无料盘
/// </summary>
SO_12_WaitNoTray ,
/// <summary>
/// 出库:进出轴到P2
/// </summary>
SO_13_InoutToP2,
/// <summary>
/// 出库:升降轴至P8( 进料口出料缓冲点 )
/// </summary>
SO_14_UpdownToP8,
/// <summary>
/// 出库:夹爪放松
/// </summary>
SO_15_Clamping_Relax,
/// <summary>
/// 出库:进出轴到P1
/// </summary>
SO_16_InoutToP1,
/// <summary>
/// 出库:关闭仓门
/// </summary>
SO_17_CloseDoor,
/// <summary>
///出库: 等待拿走物品
/// </summary>
SO_18_WaitTake,
#endregion #endregion
#region 入库步骤 2001 开始 #region 入库步骤 2001 开始
/// <summary> /// <summary>
/// 入库信号检测 ///入库:等待光栅未被遮挡
/// </summary>
SI_01_TrayCheck = 2001,
/// <summary>
/// 入库:进出轴到P1,打开仓门
/// </summary>
SI_02_InOutToP1,
/// <summary>
/// 入库:夹爪放松
/// </summary>
SI_03_Clamping_Relax,
/// <summary>
/// 入库:所有轴先回到待机点,轴2、轴1 动作到P1,
/// </summary>
SI_04_AxisToP1 ,
/// <summary>
/// 入库: 进出轴至P2( 进料口取料点)
/// </summary>
SI_05_InoutToP2,
/// <summary>
/// 入库:夹爪夹紧
/// </summary> /// </summary>
SI_06_Clamping_Work, SI_01_Wait = 1001,
/// <summary>
/// 入库: 升降轴至P7( 进料口取料缓冲点)
/// </summary>
SI_07_UpdownToP7,
/// <summary> /// <summary>
/// 入库:进出轴到P1,目标轴停止匀速运转 ///入库:关闭升降门
/// </summary> /// </summary>
SI_08_InOutToP1, SI_02_CloseDoor,
/// <summary>
/// 入库:移动到库位点,旋转轴 至P2( 库位点)升降轴至P3(库位入库前点),目标轴回原点
/// </summary>
SI_09_MoveToBag ,
/// <summary> /// <summary>
/// 入库:冷藏轴或回温轴到P2 /// 入库: 旋转轴到P1
/// </summary> /// </summary>
SI_10_TargetAxisToP2, SI_03_MiddleToP1,
/// <summary> /// <summary>
/// 入库:打开冷藏门 /// 入库:打开升降门,打开库位灯
/// </summary> /// </summary>
SI_11_OpenColddoor, SI_04_OpenDoor,
/// <summary> /// <summary>
/// 入库:叉子进入库位中,进出轴至P3(库位取放料点) /// 入库:等待关门
/// </summary> /// </summary>
SI_12_InoutToP3 , SI_05_WaitCloseDoor,
/// <summary> /// <summary>
/// 入库:放下物品,升降轴至P4( 库位入料缓冲点) ///入库: 开始关门
/// </summary> /// </summary>
SI_13_UpdownToP4 , SI_06_CloseDoor,
/// <summary> /// <summary>
/// 入库:夹爪放松 ///入库:关灯结束
/// </summary> /// </summary>
SI_14_Clamping_Relax, SI_07_CloseLed,
/// <summary>
/// 入库。。叉子从库位中返回,进出轴动作至P1
/// </summary>
SI_15_InOutToP1,
/// <summary>
/// 入库:关闭冷藏门
/// </summary>
SI_16_CloseColddoor,
/// <summary>
/// 入库:返回待机点,轴2/轴1动作至P1)开始
/// </summary>
SI_17_GoBack,
#endregion #endregion
} }
public enum StoreAlarmType public enum StoreAlarmType
......
...@@ -37,9 +37,9 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -37,9 +37,9 @@ namespace OnlineStore.LoadCSVLibrary
private List<int> LedList = null; private List<int> LedList = null;
public List<int> GetLedList() public List<int> GetLedList(bool isReload)
{ {
if (LedList == null) if (LedList == null || isReload)
{ {
LedList = new List<int>(); LedList = new List<int>();
string[] arrays = LedIndex.Split(';'); string[] arrays = LedIndex.Split(';');
......
...@@ -85,6 +85,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -85,6 +85,7 @@ namespace OnlineStore.LoadCSVLibrary
} }
public enum IO_VALUE public enum IO_VALUE
{ {
None=-1,
/// <summary> /// <summary>
/// 低位 /// 低位
/// </summary> /// </summary>
......
...@@ -246,14 +246,28 @@ namespace OnlineStore.TinPasteStore ...@@ -246,14 +246,28 @@ namespace OnlineStore.TinPasteStore
private void btnOpenDoor_Click(object sender, EventArgs e) private void btnOpenDoor_Click(object sender, EventArgs e)
{ {
LogUtil.info("用户点击:打开升降门"); if (IOManager.IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH))
DoorBean.StartOpen(null); {
LogUtil.info("用户点击:打开升降门");
DoorBean.StartOpen(null);
}
else
{
MessageBox.Show("光栅被遮挡,无法开门");
}
} }
private void btnCloseDoor_Click(object sender, EventArgs e) private void btnCloseDoor_Click(object sender, EventArgs e)
{ {
LogUtil.info("用户点击:关闭升降门"); if (IOManager.IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH))
DoorBean.StartClose(null); {
LogUtil.info("用户点击:关闭升降门");
DoorBean.StartClose(null);
}
else
{
MessageBox.Show("光栅被遮挡,无法关门");
}
} }
private void btnStopDoor_Click(object sender, EventArgs e) private void btnStopDoor_Click(object sender, EventArgs e)
......
...@@ -182,28 +182,7 @@ namespace OnlineStore.TinPasteStore ...@@ -182,28 +182,7 @@ namespace OnlineStore.TinPasteStore
} }
} }
lblWarnMsg.Text = store.WarnMsg; lblWarnMsg.Text = store.WarnMsg;
//if (store.Config.IsHasDoorLimit.Equals(1))
//{
// if (IOManager.IOValue(IO_Type.Door_Limit).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 前门未关";
// }
// else if (store.Config.StoreDIList.ContainsKey(IO_Type.Door_LeftLimit) && IOManager.IOValue(IO_Type.Door_LeftLimit).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 左侧门未关";
// }
// else if (store.Config.StoreDIList.ContainsKey(IO_Type.Door_RightLimit) && IOManager.IOValue(IO_Type.Door_RightLimit).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 右侧门未关";
// }
//}
////如果不在出入库中,且叉子上有信号,需要提示检查叉子
//if (store.runStatus.Equals(StoreRunStatus.Runing) && IOManager.IOValue(IO_Type.TinCheck_Fixture).Equals(IO_VALUE.HIGH))
//{
// lblWarnMsg.Text = lblWarnMsg.Text + " 叉子料盘检测有料,请检查";
//}
if (store.autoNext) if (store.autoNext)
{ {
string msg = store.autoMsg; string msg = store.autoMsg;
...@@ -250,28 +229,45 @@ namespace OnlineStore.TinPasteStore ...@@ -250,28 +229,45 @@ namespace OnlineStore.TinPasteStore
e.Cancel = true; e.Cancel = true;
HideForm(); HideForm();
} }
} }
private void btnOutStore_Click(object sender, EventArgs e) private void btnOutStore_Click(object sender, EventArgs e)
{ {
if (store.runStatus >= StoreRunStatus.HomeMoving) if (store.runStatus >= StoreRunStatus.HomeMoving)
{ {
string selectPositionNum = cmbPosition.Text; string PosID = cmbPosition.Text;
//StoreMoveP ktk = GetMoveP(); VerticalPosition p = CSVPositionReader<VerticalPosition>.GetPositon(PosID);
// store.StartOutStore(new InOutParam(MoveType.OutStore, selectPositionNum, ktk)); if (p != null)
{
p.LedIndex = txtLedIndex.Text.Trim();
p.MiddleAxis_P2 = FormUtil.GetIntValue(txtMP2);
store.StartOutStore(new InOutParam(MoveType.OutStore, PosID, p));
}
else
{
MessageBox.Show("请选择有效库位");
}
} }
else else
{ {
MessageBox.Show("请先启动料仓!"); MessageBox.Show("请先启动料仓!");
} }
} }
private void btnInStore_Click(object sender, EventArgs e) private void btnInStore_Click(object sender, EventArgs e)
{ {
if (store.runStatus >= StoreRunStatus.HomeMoving) if (store.runStatus >= StoreRunStatus.HomeMoving)
{ {
string selectPositionNum = cmbPosition.Text; string PosID = cmbPosition.Text;
// StoreMoveP ktk = GetMoveP(); VerticalPosition p = CSVPositionReader<VerticalPosition>.GetPositon(PosID);
// store.StartInStore(new InOutParam(MoveType.InStore, selectPositionNum, ktk)); if (p != null)
{
p.LedIndex = txtLedIndex.Text.Trim();
p.MiddleAxis_P2 = FormUtil.GetIntValue(txtMP2);
store.StartInStore(new InOutParam(MoveType.OutStore, PosID, p));
}
else
{
MessageBox.Show("请选择有效库位");
}
} }
else else
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!