#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
|