void CHxPumpSpeed(int Speed, enumPumpType Type) { if (CHxPumpSpeedOldSet[(int)Type] != Speed) { switch (Type) { case enumPumpType.SamplePump: HoldingSingelWrite(Auto_08, Speed); break; case enumPumpType.CH1Pump: HoldingSingelWrite(Meter_27, Speed); break; case enumPumpType.CH2Pump: HoldingSingelWrite(Meter_32, Speed); break; case enumPumpType.CH3Pump: HoldingSingelWrite(Meter_37, Speed); break; case enumPumpType.CH4Pump: HoldingSingelWrite(Meter_42, Speed); break; case enumPumpType.PumpMax: default: return; } CHxPumpSpeedOldSet[(int)Type] = Speed; RTStatus.PumpSpeed[(int)Type] = Speed; } }
int CHxPumpPositionConvert(int ulPumpPosition, enumPumpType Type) { // 进样精度 int PumpPosition; int PumpPositionMaxCHx; float JYJDCHx = JYJDCH2; switch (Type) { case enumPumpType.SamplePump: JYJDCHx = JYJDCH2; PumpPositionMaxCHx = SamplePumpPositionMax; RTStatus.PumpPosition[(int)Type] = HoldingSingelRead(Auto_06); break; case enumPumpType.CH1Pump: JYJDCHx = JYJDCH1; PumpPositionMaxCHx = PumpPositionMaxCH1; RTStatus.PumpPosition[(int)Type] = HoldingSingelRead(Meter_26); break; case enumPumpType.CH2Pump: JYJDCHx = JYJDCH2; PumpPositionMaxCHx = PumpPositionMaxCH2; RTStatus.PumpPosition[(int)Type] = HoldingSingelRead(Meter_31); break; case enumPumpType.CH3Pump: JYJDCHx = JYJDCH3; PumpPositionMaxCHx = PumpPositionMaxCH3; RTStatus.PumpPosition[(int)Type] = HoldingSingelRead(Meter_36); break; case enumPumpType.CH4Pump: JYJDCHx = JYJDCH4; PumpPositionMaxCHx = PumpPositionMaxCH4; RTStatus.PumpPosition[(int)Type] = HoldingSingelRead(Meter_41); break; case enumPumpType.PumpMax: default: return(-1); } if (ulPumpPosition == 0) { PumpPosition = 0; } else if (ulPumpPosition > 0) { PumpPosition = (int)((float)(ulPumpPosition + JYJDCHx / 2) / JYJDCHx); } else { PumpPosition = (int)((float)(ulPumpPosition - JYJDCHx / 2) / JYJDCHx); } if ((int)RTStatus.PumpPosition[(int)Type] + PumpPosition > (PumpPositionMaxCHx + JYJDCHx / 2) / JYJDCHx) { PumpPosition = (int)((PumpPositionMaxCHx + JYJDCHx / 2) / JYJDCHx); } else if ((int)RTStatus.PumpPosition[(int)Type] + PumpPosition <= PumpZero) { PumpPosition = 0; } else { PumpPosition += RTStatus.PumpPosition[(int)Type]; } return(PumpPosition); }