#ifndef __BILLING_H #define __BILLING_H #include "define_all.h" #define BALANCE_UP_LIMIT 999999999 #define BALANCE_LOWER_LIMIT (-999999999) #define GAS_USAGE_UP_LIMIT 4000000000 #define GAS_USAGE_LOWER_LIMIT (-9999999999) #define FEE_USAGE_UP_LIMIT 4000000000 #define FEE_USAGE_LOWER_LIMIT (-9999999999) typedef struct Settlement_Para //½áËã²ÎÊý { //double fInitialGasVolume; //double fLastGasVolume; //double fCurrentGasVolume; double fCurrentGasUsage; double fCumulativeGasUsage; double fCumulativeFeeUsage; double fBalance; //u8 cDataObtainType; u32 u32PulseCounting_last; u32 u32PulseCounting; u8 SettlementStorageFlag; u8 RS485SettlementFlag; //RS485½áËã±êÖ¾£¬0x01£º±íʾÐèÒªRS485½áË㹦ÄÜ 0x00:±íʾ²»ÐèÒªRS485½áË㣬ֻÓÃÂö³å¼Æ·Ñ¡£ u8 RS485SettlementINGFlag; //RS485½áËãÖбêÖ¾£¬RS485½áËãδÍê³Éʱ£¬ÖжÏÖеÄÂö³å½áËã²»¼ÆË㣬µÈRS485½áËãÍê³ÉÖ®ºóÔÙ¼ÆË㣬ÒÔÃâ³åÍ». 0´ú±íûÓд¦ÓÚRS485½áË㣬1´ú±í½áËãÖУ¬ u8 RS485BilDataReadableFlag; //RS485½áËã´æ´¢ÇøÓòÓÐÊý¾Ý¿É¶Á±êÖ¾ }SETTLEMENT_PARA; u8 Settlement(void); //Âö³å½áËã void RS485Settlement(void); //485¶ÁÈ¡½áËã float StepBillingSettlement(float fCumulativeGasUsage, float fCurrentGasUsage); void ArrearsCheck(double dBlanceBeforeSettlement); void ClearCardinalFlag(void); //ÇåÁã»ùÊý±êÖ¾ u8 CheckCardinality(void);//¶Ô»ùÊý½øÐмì²é£¬ void StorageCardinality(void); //´æ´¢»ùÊý extern SETTLEMENT_PARA Settlement_Para; void BalanceModify(double dBalance); //Óà¶îÇåÁã #endif