Commit a8b97d79 张东亮

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

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