private CraneStatusBase getCranePLCStatusFromTags(string theCraneNO)
        {
            CraneStatusBase craneBase = new CraneStatusBase();

            try
            {
                craneBase.CraneNO = theCraneNO;
                string tag_Head = craneBase.CraneNO + "_";
                // 准备好
                craneBase.Ready = get_value_x(tag_Head + CraneStatusBase.ADRESS_READY);
                // 控制模式
                craneBase.ControlMode = get_value_x(tag_Head + CraneStatusBase.ADRESS_CONTROL_MODE);
                // 请求计划
                craneBase.AskPlan = get_value_x(tag_Head + CraneStatusBase.ADRESS_ASK_PLAN);
                // 大车位置  铁路库Double  成品库库int
                craneBase.XAct = get_value_real(tag_Head + CraneStatusBase.ADRESS_XACT);
                // 小车位置
                craneBase.YAct = get_value_real(tag_Head + CraneStatusBase.ADRESS_YACT);
                // 夹钳高度
                craneBase.ZAct = get_value_real(tag_Head + CraneStatusBase.ADRESS_ZACT);
                // 有卷标志
                craneBase.HasCoil = get_value_x(tag_Head + CraneStatusBase.ADRESS_HAS_COIL);
                // 行车状态
                craneBase.CraneStatus = get_value_x(tag_Head + CraneStatusBase.ADRESS_CRANE_STATUS);
                // 心跳
                craneBase.ReceiveTime = get_value_string(tag_Head + CraneStatusBase.ADRESS_CRANE_PLC_HEART_BEAT).ToString();
                // 大车方向实际速度
                craneBase.XSpeed = get_value_x(tag_Head + CraneStatusBase.ADRESS_XSPEED);
                // 小车方向实际速度
                craneBase.YSpeed = get_value_x(tag_Head + CraneStatusBase.ADRESS_YSPEED);
                // 升降实际速度
                craneBase.ZSpeed = get_value_x(tag_Head + CraneStatusBase.ADRESS_ZSPEED);
                // 称重信号
                craneBase.WeightLoaded = get_value_x(tag_Head + CraneStatusBase.ADRESS_WEIGHT_LOADED);
                // 夹钳旋转角度
                craneBase.RotateAngleAct = get_value_real(tag_Head + CraneStatusBase.ADRESS_ROTATE_ANGLE_ACT);
                // 夹钳开度
                craneBase.ClampWidthAct = get_value_real(tag_Head + CraneStatusBase.ADRESS_CLAMP_WIDTH_ACT);
                // 计划起卷X
                craneBase.PlanUpX = get_value_real(tag_Head + CraneStatusBase.ADRESS_PLAN_UP_X);
                // 计划起卷Y
                craneBase.PlanUpY = get_value_real(tag_Head + CraneStatusBase.ADRESS_PLAN_UP_Y);
                // 计划起卷Z
                craneBase.PlanUpZ = get_value_real(tag_Head + CraneStatusBase.ADRESS_PLAN_UP_Z);
                // 计划落卷X
                craneBase.PlanDownX = get_value_real(tag_Head + CraneStatusBase.ADRESS_PLAN_DOWN_X);
                // 计划落卷Y
                craneBase.PlanDownY = get_value_real(tag_Head + CraneStatusBase.ADRESS_PLAN_DOWN_Y);
                // 计划落卷Z
                craneBase.PlanDownZ = get_value_real(tag_Head + CraneStatusBase.ADRESS_PLAN_DOWN_Z);
            }
            catch (Exception ex)
            {
            }
            return(craneBase);
        }
Exemple #2
0
 public void getAllPLCStatusInCrane(string _CraneNo)
 {
     try
     {
         readTags();
         foreach (string theCraneNO in lstCraneNO)
         {
             if (_CraneNo.Contains(theCraneNO))
             {
                 CraneStatusBase cranePLCStatusBase = getCranePLCStatusFromTags(theCraneNO);
                 dicCranePLCStatusBase[theCraneNO] = cranePLCStatusBase;
             }
         }
     }
     catch (Exception ex)
     {
     }
 }