//public void funArrangeCIMEvent(string[] parameters) public void funArrangeCIMEvent(clsParam parameters) { lock (objLockCIMEvent) { try { foreach (clsCIMEvent evt in listCIMEvent) { //if (evt.StrEventName == parameters[0]) //{ // ((ICIMEvent)evt).funProcessCIMEvent(parameters); // return; //} if (parameters.Command.ToString().Trim() != "MCCDataSend") { int a = 0; } if (evt.StrEventName == parameters.Command.ToString().Trim()) { ((ICIMEvent)evt).funProcessCIMEvent(parameters.pobjParameter); return; } } } catch (Exception error) { if (pEqpAct != null) { pEqpAct.PInfo.subLog_Set(InfoAct.clsInfo.LogType.CIM, error.ToString()); } } } }
public void Main(string argument, UpdateType updateSource) { Echo(DateTime.Now.ToString("s")); switch (argument.ToLower()) { case "start": Runtime.UpdateFrequency = UpdateFrequency.Update100; Echo("Start"); break; case "stop": Runtime.UpdateFrequency = UpdateFrequency.None; Echo("Stop"); break; case "scan": findAllBlocks(); Echo($"Scan all -- {STORAGETAG} --"); allBlocks.ForEach(x => Echo(x.thisBlock.CustomName)); break; } if (Runtime.UpdateFrequency != UpdateFrequency.None) { findAllBlocks(); foreach (clsBlock e1 in allBlocks) { Echo("--" + e1.thisBlock.CustomName); if (e1.Contains("scan1")) { e1.Scan1(ItemsConf, this); } if (e1.Contains("scan2")) { e1.Scan2(ItemsConf, this); } if (e1.Contains("scan3")) { e1.Scan3(ItemsConf, this); } } findAllParm(); Echo($"allParam={allParam.Count.ToString()}"); foreach (clsParam e9 in allParam) { Echo("#1 " + e9.thisBlock.CustomName); } return; findAllItem(ItemsConf); Echo($"allItems = {allItems.Count}"); do { List <clsParam> targetParm = netxParm(); if (targetParm == null) { break; } clsParam firstParm = targetParm.First(); Echo($"target={firstParm.name}"); List <clsItem> source = findItem(firstParm.name); Echo($"source={source.Count.ToString()}"); int amount = getAnzahl(firstParm.name) / targetParm.Count; Echo($"amount={amount.ToString()}"); foreach (clsParam e2 in targetParm) { foreach (clsItem e3 in source) { // quelle und ziel, wenn gleich nur menge kontrolieren Echo($"e2={e2.thisBlock.CustomName}"); Echo($"e3={e3.myTerminalBlock.CustomName}"); if (e2.thisBlock.CustomName == e3.myTerminalBlock.CustomName) { continue; } e3.myInventory.TransferItemTo(e2.thisBlock.GetInventory(0), e3.pos1, 0, true, amount); } } } while (allParam.Count > 0); } // Echo(Runtime.UpdateFrequency.ToString()); }