private void Write(BCFApplication bcfApp, string eqObjIDCate, string eq_id, out ValueWrite vw_handshake) { vw_handshake = null; EQ_ID = eq_id; List <ValueWrite> listVW = new List <ValueWrite>(); foreach (FieldInfo info in fieldInfos) { PLCElement element = getPLCElementAttr(info); string value = string.Empty; UInt16[] ivalueArray = null; object valueObj = info.GetValue(this); if (valueObj is Enum) { value = ((int)valueObj).ToString(); } else if (valueObj is bool) { value = ((bool)valueObj) ? "1" : "0"; } else if (valueObj is UInt16[]) { ivalueArray = valueObj as UInt16[]; } else { object obj = info.GetValue(this); if (obj != null) { value = info.GetValue(this).ToString(); } } ValueWrite vw = null; vw = bcfApp.getWriteValueEvent(eqObjIDCate, eq_id, element.ValueName); if (valueObj is UInt16[]) { vw.setWriteValue(ivalueArray); } else { vw.setWriteValue(value); } if (element.IsHandshakeProp || element.IsIndexProp) { vw_handshake = vw; } else { ISMControl.writeDeviceBlock(bcfApp, vw); } listVW.Add(vw); } if (listVW.Count > 0) { BCFUtility.writeEquipmentLog(eq_id, listVW); } }
public virtual void OHxC2MTL_CarOutInterface(bool carOutInterlock, bool carOutReady, bool carMoving, bool carMoveComplete) { try { ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK"); ValueWrite vm_carOutReady = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_READY"); ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_MOVING"); ValueWrite vm_carMoveCmp = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_MOVE_COMPLETE"); string setValue = carOutInterlock ? "1" : "0"; vm_carOutInterlock.setWriteValue(carOutInterlock ? "1" : "0"); vm_carOutReady.setWriteValue(carOutReady ? "1" : "0"); vm_carMoving.setWriteValue(carMoving ? "1" : "0"); vm_carMoveCmp.setWriteValue(carMoveComplete ? "1" : "0"); bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carOutInterlock); ISMControl.writeDeviceBlock(bcfApp, vm_carOutReady); ISMControl.writeDeviceBlock(bcfApp, vm_carMoving); ISMControl.writeDeviceBlock(bcfApp, vm_carMoveCmp); if (result) { eqpt.Interlock = setValue == "1" ? true : false; } } catch (Exception ex) { logger.Error(ex, "Exception"); } }
public override bool setOHxC2MTL_CarOutInterlock(bool carOutInterlock) { try { ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(MTS.EqptObjectCate, MTS.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK"); string setValue = carOutInterlock ? "1" : "0"; vm_carOutInterlock.setWriteValue(setValue); bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carOutInterlock); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: $"Set Car Out Intertlock:{carOutInterlock},result:{result}", XID: MTS.EQPT_ID); if (result) { eqpt.Interlock = setValue == "1" ? true : false; } MTS.CarOutInterlock = carOutInterlock; return(result); } catch (Exception ex) { logger.Error(ex, "Exception"); return(false); } }
private void AliveMTL() { if (System.Threading.Interlocked.Exchange(ref syncMTLPoint, 1) == 0) { try { ValueWrite isAliveIndexVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, "MTL", "OHXC_TO_MTL_ALIVE_INDEX"); if (isAliveIndexVW == null) { return; } UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText(); int x = isAliveIndex + 1; if (x > 9999) { x = 1; } isAliveIndexVW.setWriteValue((UInt16)x); ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW); } catch (Exception e) { } finally { System.Threading.Interlocked.Exchange(ref syncMTLPoint, 0); } } }
private void doChcekPLCLinkStatus() { if (System.Threading.Interlocked.Exchange(ref syncCheckPLC_Point, 1) == 0) { try { UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText(); int x = isAliveIndex + 1; if (x > 9999) { x = 1; } isAliveIndexVW.setWriteValue((UInt16)x); bool isWriteSucess = smControl.writeDeviceBlock(isAliveIndexVW); logger.Trace($"Alive Index:{x}"); dicCommInfo["PLC"].IsCommunactionSuccess = isWriteSucess; dicCommInfo["PLC"].IsConnectinoSuccess = isWriteSucess; } catch (Exception ex) { logger.Error(ex, "Exception"); } finally { System.Threading.Interlocked.Exchange(ref syncCheckPLC_Point, 0); } } }
private void AliveToDevice(int syncIndex, string eqID, string writeName) { if (System.Threading.Interlocked.Exchange(ref syncPoint[syncIndex], 1) == 0) { bool isWriteSucess = false; try { ValueWrite isAliveIndexVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqID, writeName); if (isAliveIndexVW == null) { return; } UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText(); int x = isAliveIndex + 1; if (x > 9999) { x = 1; } isAliveIndexVW.setWriteValue((UInt16)x); ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW); if (isWriteSucess || switchFlag) { isWriteSucess = false; switchFlag = false; isWriteSucess = ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW); switchFlag = true; } else { switchFlag = false; isWriteSucess = false; } } catch (Exception e) { switchFlag = true; isWriteSucess = false; } finally { AEQPT eqpt = scApp.getEQObjCacheManager().getEquipmentByEQPTID(eqID); if (eqpt != null) { eqpt.Plc_Link_Stat = isWriteSucess ? SCAppConstants.LinkStatus.LinkOK : SCAppConstants.LinkStatus.LinkFail; } System.Threading.Interlocked.Exchange(ref syncPoint[syncIndex], 0); } } }
public virtual bool setOHxC2MTL_CarInMoving(bool carMoving) { try { ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING"); vm_carMoving.setWriteValue(carMoving ? "1" : "0"); return(ISMControl.writeDeviceBlock(bcfApp, vm_carMoving)); } catch (Exception ex) { logger.Error(ex, "Exception"); return(false); } }
public virtual void OHxC2MTL_CarInInterface(bool carMoving, bool carMoveComplete) { try { ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING"); ValueWrite vm_carMoveCmp = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVE_COMPLETE"); vm_carMoving.setWriteValue(carMoving ? "1" : "0"); vm_carMoveCmp.setWriteValue(carMoveComplete ? "1" : "0"); ISMControl.writeDeviceBlock(bcfApp, vm_carMoving); ISMControl.writeDeviceBlock(bcfApp, vm_carMoveCmp); } catch (Exception ex) { logger.Error(ex, "Exception"); } }
public override bool setOHxC2MTL_CarInMoving(bool carMoving) { try { ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(MTS.EqptObjectCate, MTS.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING"); vm_carMoving.setWriteValue(carMoving ? "1" : "0"); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTLValueDefMapActionNew), Device: DEVICE_NAME_MTL, Data: $"Car In Moving:{carMoving}", VehicleID: MTS.EQPT_ID); return(ISMControl.writeDeviceBlock(bcfApp, vm_carMoving)); } catch (Exception ex) { logger.Error(ex, "Exception"); return(false); } }
public override void doProcess(object obj) { bool isWriteSucess = false; try { if (mCharger == null) { mCharger = scApp.getEQObjCacheManager().getEquipmentByEQPTID("MCharger"); } ValueWrite isAliveIndexVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, "MCharger", "AGVC_TO_CHARGER_ALIVE_INDEX"); if (isAliveIndexVW == null) { return; } UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText(); int x = isAliveIndex + 1; if (x > 9999) { x = 1; } isAliveIndexVW.setWriteValue((UInt16)x); if (isWriteSucess || switchFlag) { isWriteSucess = false; switchFlag = false; //isWriteSucess = smControl.writeDeviceBlock(isAliveIndexVW); isWriteSucess = ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW); switchFlag = true; mCharger.AGVCAliveIndex = x; } else { switchFlag = false; isWriteSucess = false; } } catch (Exception e) { switchFlag = true; isWriteSucess = false; } }
public virtual bool setOHxC2MTL_CarInMoving(bool carMoving) { try { ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING"); vm_carMoving.setWriteValue(carMoving ? "1" : "0"); bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carMoving); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTxValueDefMapActionBase), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: $"Set Car In Moving:{carMoving},result:{result}", XID: eqpt.EQPT_ID); return(result); } catch (Exception ex) { logger.Error(ex, "Exception"); return(false); } }
public virtual bool setOHxC2MTL_CarOutInterlock(bool carOutInterlock) { try { ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK"); string setValue = carOutInterlock ? "1" : "0"; vm_carOutInterlock.setWriteValue(setValue); bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carOutInterlock); if (result) { eqpt.Interlock = setValue == "1" ? true : false; } return(result); } catch (Exception ex) { logger.Error(ex, "Exception"); return(false); } }