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); }
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) { } }