#pragma Warning (Disable: 4231) #pragma Warning (Disable: 4273) #pragma Warning (Disable: 4786)
#include "stdafx.h" #include
#include "serialport.h"
#ifdef dll_exports # define dll_api __declspec (dllexport) #define expression_template # else # define dll_api __declspec (dllimport) #define expimp_template extern #Endif
// Electric Structure Class Dlvalue {Public: Dlvalue () {} Char Time [20]; // Time Char Metercode [30]; // Meter CHAR ZDL [20]; // Total power (kW) Char FDL [ 20]; // peak power (kW) char GDL [20]; // Valley electricity (kWh) Char JDL [20]; // Tip charge (kWh) char PDL [20]; // flat charge ( Chowaxian) Public: BOOL Operator <(Const Dlvalue & c) const {return true;} Bool Operator == (Const Dlvalue & c) const {return true;}}
/ / Rate Setting Structure Class SetFeeerate () {} Char Mark [3]; // Rate Sign 01 --- Representative Peak, 02 --- Representative Valley, 03 --- Representative, 04- - Representing flat. Char Time [20]; // Time HH: mm: SS-HH: mm: SS (Start Time - End Time) Public: BOOL Operator <(const setFeerate & c) const {return true;} Bool Operator == (const setFeerate & c) const {return true;}};
// - Enter the parameter CA: struct command {char port [10]; // port number, for example: 1 2, etc. CHAR baudRate [10]; // port rate, for example: 9600 2400, etc. CHAR Telcode [30]; // Phone number, for example 02423974200, etc. CHAR IP [25]; // IP: PORT, for example: 192.168.1.1: 8080};
// - Output parameter RTN: struct centerparam {char meternum [5]; // Meter number char centertime [20]; // Concentrator Current time yyyy-mm-dd hh: mm: ss char freezeit [20]; // Freezing time DD HH: mm: SS (DD is the date, HH hours, mm is minutes, SS is second)};
// shows an example of a template class EXPIMP_TEMPLATE template class DLL_API std :: vector
typedef std :: vector
// 1 Get recorded INT getCounts ();
// 2 Confirm port BOOL ConfigureComport ();
// 3 In the library, there is a returned number; and store all table numbers into m_allcode; int searchget (char * metercode); // function function public:
// 1 Connect INT Connect (Struct Commarg * CA);
// 2 Disconnect INT Close (Char * COM);
// 3 Ownmoth number (the table number of the colored meter included in a concentrator) int Metercode (PCHVCT * RTN, CHAR * JZQ);
// 4 Find a real time meter reading (reading of a piece of electricity on the concentrator) int realTIMEMETER (Dlvalue * RTN, Char * JZQ, Char * metercode);
// 5 Continuous meter reading (continuous copying at the time or with the freezing power recently) int CONTINUEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMEMETER (Structvctdl * RTN, Char * JZQ, PCHVCT * metercodset);
// 6 Monthly reporting the daily elevation (a monthly power supply capacity to the power marketing system) int FreezeValue (StructvctDL * RTN, Char * JZQ, PCHVCT * metercodeset);
// 7 Basic parameters (meter number, concentrator time, on-news day) INT CENENTERARG (Struct Centerparam * RTN, Char * JZQ);
// 8 Int public timime (char * jzq) during the broadcasting;
// 9 Set the monthly news day INT Freezetime (Char * JZQ, Char * Freezeit);
// 10 hours rate setting (setting of peak, valley, tip, flat four time period) int feerate (char * jzq, structvctfee);
// 11 Add a table ID INT Addmetercode (char * jzq, char * meternum);
// 12 Modifying the top MOD MODIFYMETERCODE (Char * JZQ, Char * OldNum, Char * NewNum);
// 13 Delete the table ID INT DELMETERCODE (Char * JZQ, Char * METERNUM);
Private: cserialport * m_pcomm; // port PCHVCT M_Allcode; int RETW; int RETR; int Commandlen; char command [256]; char Respond [256];}; // serialport.h: interface for the cserialport class .//// / # IFNDEF _MY_SERIAL_PORT_H_ # define _my_serial_port_h_
Class AFX_EXT_CLASS CSERIALPORT {public: cserialport (); Virtual ~ cserialPort ();
public: BOOL OpenPort (TCHAR * strPort, int nBaud); VOID ClosePort (); int InBufferCount (VOID); DWORD ReadBytes (PBYTE buffer, DWORD dwByteRead); DWORD WriteBytes (const char * buffer, DWORD dwByteWrite); public: BOOL m_bOpened ; Handle m_hcommdev; // device control block structure}; # ENDIF / / _ MY_SERIAL_PORT_H_