Commit a8b97d79 张东亮

io库更新-顾;上料工位异常停止问题修复

1 个父辈 0f2c3e38
此文件类型无法预览
文件属性发生变化
...@@ -198,7 +198,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -198,7 +198,8 @@ namespace OnlineStore.DeviceLibrary
if (!wait.IsEnd) if (!wait.IsEnd)
{ {
if (wait.IoType.Equals(IO_Type.LHigh_LineRun) || wait.IoType.Equals(IO_Type.LLown_LineRun)) if (wait.IoType.Equals(IO_Type.LHigh_LineRun) || wait.IoType.Equals(IO_Type.LLown_LineRun)
|| wait.IoType.Equals(IO_Type.S1_LineRun) || wait.IoType.Equals(IO_Type.S1_LineBackRun))
{ {
IOMove(wait.IoType, wait.IoValue); IOMove(wait.IoType, wait.IoValue);
LogInfo(" [" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]重写DO: " + wait.ToStr()); LogInfo(" [" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]重写DO: " + wait.ToStr());
......
...@@ -85,12 +85,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -85,12 +85,13 @@ namespace OnlineStore.DeviceLibrary
//aioBox.LogPath(Application.StartupPath + @"\logs\aio\", LogType.OnlyError); //aioBox.LogPath(Application.StartupPath + @"\logs\aio\", LogType.OnlyError);
aioBox.IP = ioIp; aioBox.IP = ioIp;
aioBox.Upload = true;
aioBox.SetInput(Asa.IOModule.Box_Type.DI, DILength); aioBox.SetType(Box_Type.DI, DILength, Box_Type.DO, DOLength);
aioBox.SetOutput(Asa.IOModule.Box_Type.DO, DOLength); //aioBox.SetInput(Asa.IOModule.Box_Type.DI, DILength);
//aioBox.SetOutput(Asa.IOModule.Box_Type.DO, DOLength);
//DI主动上传 //DI主动上传
aioBox.AutoReadInput(true,DIMS); //aioBox.AutoReadInput(true,DIMS);
aioBox.AutoReadOutput(false, DOMS); //aioBox.AutoReadOutput(false, DOMS);
aioBox.DI_Changed_Event += AioBox_DI_Changed_Event; ; aioBox.DI_Changed_Event += AioBox_DI_Changed_Event; ;
...@@ -180,6 +181,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -180,6 +181,7 @@ namespace OnlineStore.DeviceLibrary
DIValueMap.Remove(ip); DIValueMap.Remove(ip);
} }
DIValueMap.Add(ip, newList); DIValueMap.Add(ip, newList);
// LogUtil.info($"DI状态变化【{ip}】:{string.Join("-", newList.ToArray())}");
} }
} }
} }
...@@ -219,6 +221,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -219,6 +221,7 @@ namespace OnlineStore.DeviceLibrary
DOValueMap.Remove(ip); DOValueMap.Remove(ip);
} }
DOValueMap.Add(ip, newList); DOValueMap.Add(ip, newList);
//LogUtil.info($"DO状态变化【{ip}】:{string.Join("-", newList.ToArray())}");
} }
} }
} }
......
...@@ -20,17 +20,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -20,17 +20,20 @@ namespace OnlineStore.DeviceLibrary
{ {
if (LineManager.Config.DOList.ContainsKey(ioType)) if (LineManager.Config.DOList.ContainsKey(ioType))
{ {
ConfigIO configIo = LineManager.Config.DOList[ioType]; ConfigIO configIo = LineManager.Config.DOList[ioType];
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue); instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
Thread.Sleep(60); Thread.Sleep(60);
if (!IOValue(ioType).Equals(ioValue))
{
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
}
} }
else else
{ {
LogUtil.error("没有DO=" + ioType); LogUtil.error("没有DO=" + ioType);
} }
} }
public static void CIOMove(string ioType,IO_VALUE ioValue) public static void CIOMove(string ioType, IO_VALUE ioValue)
{ {
if (!IOValue(ioType).Equals(ioValue)) if (!IOValue(ioType).Equals(ioValue))
{ {
...@@ -57,11 +60,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -57,11 +60,11 @@ namespace OnlineStore.DeviceLibrary
} }
return ioValue; return ioValue;
} }
public static IO_VALUE DOValue(string ioType ) public static IO_VALUE DOValue(string ioType)
{ {
IO_VALUE ioValue = IO_VALUE.None; IO_VALUE ioValue = IO_VALUE.None;
ConfigIO configIo = GetDO(ioType ); ConfigIO configIo = GetDO(ioType);
if (configIo != null) if (configIo != null)
{ {
...@@ -73,10 +76,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -73,10 +76,10 @@ namespace OnlineStore.DeviceLibrary
} }
return ioValue; return ioValue;
} }
public static IO_VALUE DIValue(string ioType ) public static IO_VALUE DIValue(string ioType)
{ {
IO_VALUE ioValue = IO_VALUE.None; IO_VALUE ioValue = IO_VALUE.None;
ConfigIO configIo = GetDI(ioType ); ConfigIO configIo = GetDI(ioType);
if (configIo != null) if (configIo != null)
{ {
ioValue = instance.GetDIValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr()); ioValue = instance.GetDIValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr());
...@@ -87,7 +90,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -87,7 +90,7 @@ namespace OnlineStore.DeviceLibrary
} }
return ioValue; return ioValue;
} }
private static ConfigIO GetDI(string ioType ) private static ConfigIO GetDI(string ioType)
{ {
ConfigIO configIo = null; ConfigIO configIo = null;
if (LineManager.Config.DIList.ContainsKey(ioType)) if (LineManager.Config.DIList.ContainsKey(ioType))
...@@ -96,13 +99,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -96,13 +99,13 @@ namespace OnlineStore.DeviceLibrary
} }
return configIo; return configIo;
} }
private static ConfigIO GetDO(string ioType ) private static ConfigIO GetDO(string ioType)
{ {
ConfigIO configIo = null; ConfigIO configIo = null;
if (LineManager.Config.DOList.ContainsKey(ioType)) if (LineManager.Config.DOList.ContainsKey(ioType))
{ {
return LineManager.Config.DOList[ioType]; return LineManager.Config.DOList[ioType];
} }
return configIo; return configIo;
} }
#endregion #endregion
...@@ -118,7 +121,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -118,7 +121,7 @@ namespace OnlineStore.DeviceLibrary
instance = new KNDManager(); instance = new KNDManager();
} }
} }
public abstract void ReadAllDI(string deviceName, byte slaveId); public abstract void ReadAllDI(string deviceName, byte slaveId);
public abstract void ReadAllDO(string deviceName, byte slaveId); public abstract void ReadAllDO(string deviceName, byte slaveId);
...@@ -131,7 +134,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -131,7 +134,7 @@ namespace OnlineStore.DeviceLibrary
public abstract IO_VALUE GetDOValue(string deviceName, byte slaveID, ushort v); public abstract IO_VALUE GetDOValue(string deviceName, byte slaveID, ushort v);
public abstract IO_VALUE GetIOValue(ConfigIO configIO); public abstract IO_VALUE GetIOValue(ConfigIO configIO);
......
...@@ -322,7 +322,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -322,7 +322,7 @@ namespace OnlineStore.DeviceLibrary
S1Log("S1工位有料架,当前料架存放在左侧" + LeftSName + ",S1停止"); S1Log("S1工位有料架,当前料架存放在左侧" + LeftSName + ",S1停止");
CheckAndMove(IO_Type.PreS1_PosStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.PreS1_PosStopCylinder, IO_VALUE.LOW);
// IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW); // IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW);
S1LineStop(); S1LineStop(SOneMoveInfo);
IOMove(IO_Type.M_LineRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineRun, IO_VALUE.LOW);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
} }
...@@ -468,7 +468,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -468,7 +468,7 @@ namespace OnlineStore.DeviceLibrary
// CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH); // CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH);
// IOMove(IO_Type.S1_LineRun, IO_VALUE.HIGH); // IOMove(IO_Type.S1_LineRun, IO_VALUE.HIGH);
S1LineRun(); S1LineRun(SOneMoveInfo);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
} }
...@@ -485,7 +485,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -485,7 +485,7 @@ namespace OnlineStore.DeviceLibrary
S1Log("S1工位有料架,当前料架存放在左侧" + LeftSName + ",S1停止"); S1Log("S1工位有料架,当前料架存放在左侧" + LeftSName + ",S1停止");
CheckAndMove(IO_Type.PreS1_PosStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.PreS1_PosStopCylinder, IO_VALUE.LOW);
// IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW); // IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW);
S1LineStop(); S1LineStop(SOneMoveInfo);
IOMove(IO_Type.M_LineRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineRun, IO_VALUE.LOW);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
// SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); // SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!