Commit dfdd23c7 LN

移栽配置默认一样

1 个父辈 8c67b388
正在显示 24 个修改的文件 包含 132 行增加122 行删除
......@@ -154,15 +154,9 @@
<None Include="LineConfig\Config_Line.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\Config_DischargeLine_1.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\HY\Config_HYEquip.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\Config_DischargeLine_2.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\HY\Config_HYEquip_10.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
......@@ -172,16 +166,19 @@
<None Include="LineConfig\HY\Config_HYEquip_17.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_01.csv">
<None Include="LineConfig\MoveEquip\Config_MoveEquip.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_01.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_10.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_11.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_11.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_12.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_12.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_13.csv">
......@@ -196,46 +193,46 @@
<None Include="LineConfig\MoveEquip\Config_MoveEquip_16.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_17.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_17.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_18.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_02.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_02.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_03.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_03.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_04.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_04.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_05.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_05.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_06.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_06.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_07.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_07.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_08.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_08.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_09.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_19.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_19.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_20.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_20.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_21.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_21.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_22.csv">
<None Include="LineConfig\MoveEquip\back\Config_MoveEquip_22.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="LineConfig\MoveEquip\Config_MoveEquip_23.csv">
......
类型,分类编号,说明,名称,属性值,设备名称,电器定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,
类型,分类编号,说明,名称,属性值,设备名称,电器定义
PRO,0,当多久没操作时流水线休眠(秒),Sleep_MSeconds,600,,
PRO,0,气压检测信号关闭需要持续的时间,AirCheckSeconds,600,,
PRO,0,IO信号超时时间(秒),IOSingle_TimerOut,15,,
......
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,
PRO,0,是否存放的大料盘,IsBigTray,0
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,100,HC,,250,1000,1000,60,80,50,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-11000,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=141200;16=130000;24=110000;32=98000;44=76000;48=73700;56=61000;8=150000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=157500;16=150800;24=138200;32=116800;44=92500;48=90000;56=95000;8=160000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=8000;,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,400,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,
\ No newline at end of file
......@@ -589,11 +589,11 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.HY91_TrayCanGo);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 无需处理,放托盘离开");
}
}
}
#endregion
#region 分流横移放盘离开 91
......@@ -687,9 +687,29 @@ namespace OnlineStore.DeviceLibrary
if (!Config.DIList.ContainsKey(IO_Type.HY_OL_Full_Check) || IOValue(IO_Type.HY_OL_Full_Check).Equals(IO_VALUE.LOW))
{
//TODO
//TODO
TrayInfo trayInfo = TrayManager.GetTrayInfo(currTrayNum);
if (!trayInfo.IsFull)
{
return false;
}
InOutParam inoup = trayInfo.InoutPar;
if (trayInfo.IsFull && trayInfo.InoutPar.InStoreNg && this.DeviceID.Equals(216))
{
LogInfo(" 托盘需要横移到出料线:入料NG料" + "" + inoup.ToStr());
//如果分配了库位,需要调用取消
if (trayInfo.InoutPar.WareCode != "" && trayInfo.InoutPar.PosId != "")
{
SServerManager.cancelPutInTask(Name, trayInfo.InoutPar.WareCode);
}
MoveInfo.MoveParam = inoup;
}
else if (trayInfo.InOrOutStore.Equals(ReelType.OutStore) && inoup.urgentReel.Equals(false) && inoup.cutReel.Equals(false))
{
LogInfo(" 托盘需要横移到出料线:工单出库料" + "" + inoup.ToStr());
MoveInfo.MoveParam = inoup;
}
}
}
}
catch (Exception ex)
......
......@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo = new LineMoveInfo(DeviceID, "[流水线-Move] ");
Name = (" 流水线_" + Config.CID + " ").ToUpper();
IsDebug = Config.IsDebug.Equals(1);
//IsDebug = Config.IsDebug.Equals(1);
AllEquipMap = new Dictionary<int, EquipBase>();
MoveEquipMap = new Dictionary<int, MoveEquip>();
......@@ -118,44 +118,7 @@ namespace OnlineStore.DeviceLibrary
cioList = new List<string>(ioList);
string ids = ConfigAppSettings.GetValue(Setting_Init.DebugDeviceId);
// rfidList = new List<string>();
if (IsDebug)
{
try
{
cioList = new List<string>();
string[] testDeviceIdList = ids.Split(',');
foreach (string str in testDeviceIdList)
{
int id = Convert.ToInt32(str);
if (FeedingEquipMap.ContainsKey(id))
{
FeedingEquip feed = FeedingEquipMap[id];
cioList.AddRange(feed.Config.IOIPList);
}
else if (HYEquipMap.ContainsKey(id))
{
HYEquipBase feed = HYEquipMap[id];
cioList.AddRange(feed.Config.IOIPList);
}
else if (MoveEquipMap.ContainsKey(id))
{
MoveEquip equip = MoveEquipMap[id];
cioList.AddRange(equip.Config.IOIPList);
}
else if (id.Equals(0))
{
cioList = new List<string>(ioList);
break;
}
}
}
catch (Exception ex)
{
LogUtil.error(Name + "加载调试设备出错:", ex);
}
}
Task.Factory.StartNew(delegate
{
LogUtil.info(Name + "开始连接IO模块 ");
......
......@@ -101,11 +101,13 @@ namespace OnlineStore.DeviceLibrary
{
string nameStr = i.ToString().PadLeft(2, '0');
string config = appPath + moveEquipConfig.Replace(".csv", "_" + nameStr + ".csv");
if (!File.Exists(config))
{
config = appPath + moveEquipConfig;
}
MoveEquip_Config moveConfig = CSVConfigReader.LoadMoveConfig(i, DeviceType.MoveEquip, config);
int subType = i;
// moveConfig.SetIO(subType);
moveECMap.Add(i, moveConfig);
// allConfigMap.Add(subType, moveConfig);
int subType = i;
moveECMap.Add(i, moveConfig);
}
foreach (int i in moveECMap.Keys)
{
......@@ -171,9 +173,16 @@ namespace OnlineStore.DeviceLibrary
{
//位置配置到文件中
string appPath = Application.StartupPath;
string moveEquipConfig = ConfigAppSettings.GetValue(Setting_Init.ConfigPath_MoveEquip);
string moveEquipConfig = ConfigAppSettings.GetValue(Setting_Init.ConfigPath_MoveEquip);
string configBase = appPath + moveEquipConfig;
string configStr = appPath + moveEquipConfig.Replace(".csv", "_" + config.Id.ToString().PadLeft(2,'0') + ".csv");
allConfigMap[config.Id] = config;
if (!File.Exists(configStr))
{
LogUtil.info("复制配置文件【" + configBase + "】->【" + configStr + "】");
File.Copy(configBase, configStr);
}
bool result = CSVConfigReader.SaveConfig(configStr, config,typeof(MoveEquip_Config));
if (!result)
{
......
......@@ -11,10 +11,10 @@ namespace OnlineStore.DeviceLibrary
{
public abstract class IOManager
{
public delegate void DIChangeDelegate(string ioIP, ushort index, IO_VALUE oldValue, IO_VALUE newValue);
internal static Dictionary<ConfigIO, DIChangeDelegate> DIChangeMap = new Dictionary<ConfigIO, DIChangeDelegate>();
public static void AddDIEvent(string diType,int subType,DIChangeDelegate del)
public delegate void DIChangeDelegate(string ioIP, ushort index, IO_VALUE oldValue, IO_VALUE newValue);
internal static Dictionary<ConfigIO, DIChangeDelegate> DIChangeMap = new Dictionary<ConfigIO, DIChangeDelegate>();
public static void AddDIEvent(string diType, int subType, DIChangeDelegate del)
{
ConfigIO Di = GetDI(diType, subType);
if (Di != null)
......@@ -29,33 +29,49 @@ namespace OnlineStore.DeviceLibrary
#region KNDIO
private static void IOErrorLog(string ioType, int subType, string IOType = "IO")
{
if (ioType.Equals(IO_Type.HY_FrontStopDown) || ioType.Equals(IO_Type.HY_OL_StopDown))
{
}
else if (ioType.Equals(IO_Type.HY_FrontStopCheck) || ioType.Equals(IO_Type.HY_OL_Tray_Check))
{
}
else
{
LogUtil.error("未找到" + IOType + ",[" + ioType + "][" + subType + "]");
}
}
public static void IOMove(string ioType, IO_VALUE ioValue, int subType = 0)
{
ConfigIO configIo = GetDO(ioType, subType);
if (configIo != null)
{
{
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
Thread.Sleep(10);
}
else
{
LogUtil.error("未找到DO,[" + ioType + "][" + subType + "]");
IOErrorLog(ioType, subType, "DO");
}
}
public static IO_VALUE IOValue(string ioType,int subType )
public static IO_VALUE IOValue(string ioType, int subType)
{
IO_VALUE ioValue = IO_VALUE.None;
ConfigIO configIo = GetDI(ioType,subType );
ConfigIO configIo = GetDI(ioType, subType);
if (configIo == null)
{
configIo = GetDO(ioType, subType);
configIo = GetDO(ioType, subType);
}
if (configIo != null)
{
if (configIo.ProType.Equals(ConfigItemType.DI))
{
{
ioValue = instance.GetDIValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr());
}
......@@ -66,7 +82,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil.error("未找到IO[" + ioType + "][" + subType + "]");
IOErrorLog(ioType, subType, "IO");
}
return ioValue;
}
......@@ -74,21 +90,14 @@ namespace OnlineStore.DeviceLibrary
{
IO_VALUE ioValue = IO_VALUE.None;
ConfigIO configIo = GetDO(ioType, subType);
if (configIo != null)
{
{
ioValue = instance.GetDOValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr());
}
else
{
if (ioType.Equals(IO_Type.HY_FrontStopDown)||ioType.Equals(IO_Type.HY_OL_StopDown))
{
}
else
{
LogUtil.error("没有DO=" + ioType);
}
IOErrorLog(ioType, subType, "DO");
}
return ioValue;
}
......@@ -102,14 +111,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
if (ioType.Equals(IO_Type.HY_FrontStopCheck)||ioType.Equals(IO_Type.HY_OL_Tray_Check))
{
}
else
{
LogUtil.error("未找到 DI [" + ioType + "][" + subType + "]");
}
IOErrorLog(ioType, subType, "DI");
}
return ioValue;
}
......@@ -133,18 +135,18 @@ namespace OnlineStore.DeviceLibrary
return LineManager.allConfigMap[subType].DIList[ioType];
}
}
}
return configIo;
}
private static ConfigIO GetDO(string ioType, int subType )
private static ConfigIO GetDO(string ioType, int subType)
{
ConfigIO configIo = null;
if (subType <= 0)
{
if (LineManager.Config.DOList.ContainsKey(ioType))
{
return LineManager.Config.DOList[ioType];
return LineManager.Config.DOList[ioType];
}
}
else
......@@ -157,15 +159,15 @@ namespace OnlineStore.DeviceLibrary
return LineManager.allConfigMap[subType].DOList[ioType];
}
}
}
return configIo;
}
public static void CloseDeviceDO(List<ConfigIO> DoList)
{
foreach (ConfigIO io in DoList)
{
instance.WriteSingleDO(io.IO_IP, io.SlaveID, io.GetIOAddr(), IO_VALUE.LOW);
{
instance.WriteSingleDO(io.IO_IP, io.SlaveID, io.GetIOAddr(), IO_VALUE.LOW);
Thread.Sleep(60);
}
}
......@@ -181,20 +183,20 @@ namespace OnlineStore.DeviceLibrary
if (LineManager.allConfigMap.ContainsKey(subType))
{
DoList = new List<ConfigIO>(LineManager.allConfigMap[subType].DOList.Values);
}
}
}
CloseDeviceDO(DoList);
}
#endregion
public static void Init()
{
{
bool useHC = ConfigAppSettings.GetIntValue(Setting_Init.UseHCBoard).Equals(1);
if (useHC)
{
instance = new HCIOManager();
}
else
{
{
bool isAIOBox = ConfigAppSettings.GetIntValue(Setting_Init.UseAIOBOX).Equals(1);
if (isAIOBox)
{
......
......@@ -140,12 +140,7 @@ namespace OnlineStore.LoadCSVLibrary
Line_Config config = new Line_Config(storeId, cid, type, filePath);
return (Line_Config)LoadConfig(config);
}
//public static DischargeLine_Config LoadDischargeLineConfig(int storeId, string type, string filePath)
//{
// DischargeLine_Config config = new DischargeLine_Config(storeId, storeId + "_"+ type, type, filePath);
// return (DischargeLine_Config)LoadConfig(config);
//}
public static MoveEquip_Config LoadMoveConfig(int storeId, string type, string filePath)
{
MoveEquip_Config config = new MoveEquip_Config(storeId, storeId + "_" + type, type, filePath);
......@@ -163,7 +158,19 @@ namespace OnlineStore.LoadCSVLibrary
}
public static DeviceConfig LoadConfig(DeviceConfig config)
{
LogUtil.info("开始读取文件:" + config.ConfigFilePath);
string file = ConfigAppSettings.GetValue(Setting_Init.ConfigPath_HYEquip);
string file2 = ConfigAppSettings.GetValue(Setting_Init.ConfigPath_MoveEquip);
if (config.ConfigFilePath.EndsWith(file))
{
}else if (config.ConfigFilePath.EndsWith(file2))
{
}
else
{
LogUtil.info("开始读取文件:" + config.ConfigFilePath);
}
if (config == null || config.ConfigFilePath.Equals(""))
{
return null;
......
......@@ -23,11 +23,11 @@ namespace OnlineStore.LoadCSVLibrary
{
}
/// <summary>
/// 设备是否处于调试状态(1=调试,0=正常)
/// </summary>
[ConfigProAttribute("IsDebug",false)]
public int IsDebug { get; set; }
///// <summary>
///// 设备是否处于调试状态(1=调试,0=正常)
///// </summary>
//[ConfigProAttribute("IsDebug",false)]
//public int IsDebug { get; set; }
/// <summary>
/// 气压检测信号关闭需要持续的时间
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!