public override void OHxC2MTL_CarInInterface(bool carMoving, bool carMoveComplete)
 {
     try
     {
         ValueWrite vm_carMoving  = bcfApp.getWriteValueEvent(MTS.EqptObjectCate, MTS.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING");
         ValueWrite vm_carMoveCmp = bcfApp.getWriteValueEvent(MTS.EqptObjectCate, MTS.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");
     }
 }
Ejemplo n.º 2
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 isAliveVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqID, writeName);
                    if (isAliveVW == null)
                    {
                        return;
                    }
                    Boolean aliveSignal = (Boolean)isAliveVW.getText();

                    int writeSigmal = aliveSignal ? 0 : 1;
                    isAliveVW.setWriteValue(writeSigmal.ToString());
                    ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveVW);

                    if (isWriteSucess || switchFlag)
                    {
                        isWriteSucess = false;
                        switchFlag    = false;
                        isWriteSucess = ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveVW);
                        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 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);
     }
 }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
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");
         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);
     }
 }
 public override bool setOHxC2MTL_CarOutInterlock(bool carOutInterlock)
 {
     try
     {
         ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(MTL.EqptObjectCate, MTL.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK");
         string     setValue           = carOutInterlock ? "1" : "0";
         vm_carOutInterlock.setWriteValue(setValue);
         LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTLValueDefMapActionNew), Device: DEVICE_NAME_MTL,
                       Data: $"setOHxC2MTL_CarOutInterlock:{carOutInterlock}",
                       VehicleID: MTL.EQPT_ID);
         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);
     }
 }
Ejemplo n.º 8
0
 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);
         LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTxValueDefMapActionBase), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx,
                       Data: $"Set Car Out Interlock:{carOutInterlock},result:{result}",
                       XID: eqpt.EQPT_ID);
         if (result)
         {
             eqpt.Interlock = setValue == "1" ? true : false;
         }
         return(result);
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         return(false);
     }
 }
Ejemplo n.º 9
0
        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 (vw == null)
                {
                    throw new NullReferenceException($"Get ValueWrite:{element.ValueName} null,eqObjIDCate:{eqObjIDCate},eqptObjectID:{eq_id}");
                }
                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);
            }
        }