123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813 |
- #pragma once
- #include "stdafx.h"
- #include "struct.h"
- #include <windows.h>
- #include "ado.h"
- #include "BaseVar.h"
- #include "Device.h"
- #include "Client2SrvType.h"
- #include <list>
- #include "DevicesManager.h"
- using namespace std;
- extern int READ_VAR_ERROR_MAX;
- extern int g_nTryTimeLessToNotice;
- extern int g_nBlanceLessToNotice;
- extern char g_strDirectory[256];
- extern CStringArray g_strAllVideoFile;
- extern CString g_strVersion;
- extern float g_fBlance;
- //声光报警
- #define AWA_NUM_MAX 100
- extern int g_nDealAWAStatus;//处理声光报警状态 -1未初始化 0初始化 1在处理中 2处理完成 3新事件
- typedef struct
- {
- CString sDoSet;
- CString sDoStatus;
- int nAlarmData;
- int nResumeData;
- CStringArray SA;
- CString sPlanTime;
- int nStatus;//-1 没有初始化 0 没有声光报警 1 正在声光报警
- }AWA;
- extern AWA g_AWA[AWA_NUM_MAX];
- bool g_FunSetAWA();//触发/取消 声光报警
- int ProcessResWriteSingleVarData( CString sVarName,int iData );
- //结束 声光报警
- void g_FunReadAllIniName( CString strPath, CString strFileName, int nLayer );
- bool g_FunIniOK( CString sIniName );
- //DOG
- extern INT g_nUseTimeLimit; //是否超过使用期限
- extern INT g_nSlaveVersion; //版本子ID
- extern CString g_sPassDueInfo; //过期信息
- extern bool g_bSoftRegisterFileIsOfficial; //注册文件是正式版
- extern bool g_bGetBlanceReturn; //10086是否返回
- extern CRITICAL_SECTION g_csWrDataBase;//写日志和告警数据库操作
- #if 0
- extern CServerSocket* g_pTcpServer;
- #endif
- // 客户端在线Tick
- extern DWORD g_dwClientOnlineTick[MAX_CLIENT_NUM];
- //客户端数据
- extern INT g_nClientNum;
- //程序退出事件
- extern HANDLE g_hRunObject;
- extern CDevicesManager* g_pDevicesManager;
- //WatchServer
- extern CHAR g_strWatchServerIP[MAX_EQUIP_IP + 1];
- extern CHAR g_strWatchServerPort[MAX_PORT + 1];
- //Database
- extern CADODatabase* g_pADODatabase;
- extern CHAR g_strConnectString[MAX_PATH + 1];
- extern CHAR g_strDBType[MAX_SERVER_LENGTH + 1];
- extern CHAR g_strAccessFile[MAX_PATH_LENGTH + 1];
- extern CHAR g_strServerName[MAX_SERVER_LENGTH + 1];
- extern CHAR g_strDataBaseName[MAX_DATABASE_LENGTH + 1];
- extern CHAR g_strUserName[MAX_USER_LENGTH + 1];
- extern CHAR g_strPassword[MAX_PASSWORD_LENGTH + 1];
- extern DWORD g_dwDataBasePort;
- //用户信息
- extern CHAR g_strLoginUserID[MAX_USER_LENGTH + 1];
- extern CHAR g_strLoginPwd[MAX_PASSWORD_LENGTH + 1];
- extern CHAR g_strDefaultUserID[MAX_USER_LENGTH + 1];
- extern CHAR g_strDefaultUserPwd[MAX_PASSWORD_LENGTH + 1];
- //操作提示
- extern CHAR g_strErrorDBDisConnection[MAX_ERROR_LEN + 1] ;
- extern CHAR g_strMsgDBConnectionSuccess[MAX_ERROR_LEN + 1];
- extern CHAR g_strErrorExecSql[MAX_ERROR_LEN + 1];
- //系统设置
- extern BOOL g_bEnableTimeLimited;
- extern INT g_iAutoRunSystem;
- //extern INT g_nSendSms;
- //extern INT g_bSendVoice;
- //extern INT g_nSendEmail;
- extern CHAR g_strLanguage[MAX_LANG_LENGTH + 1]; // 默认语言
- extern CHAR g_strNoticePre[MAX_SERVER_LENGTH + 1]; // 通知前辍
- extern INT g_nNoticeDelay; // 通知延时
- extern INT g_nEncryptionType; // 加密类型
- //日志
- //extern CHAR g_strDirectory[MAX_PATH_LENGTH + 1]; // 软件所在路径
- extern CHAR g_strAppName[MAX_PATH_LENGTH + 1]; // 软件名称
- extern CHAR g_strSummaryLogPath[MAX_PATH_LENGTH + 1]; // 日志存放目录
- extern INT g_nLogSaveTimes; // 日志保存月数
- //环境参数配置
- extern INT g_nLevelWav; // 语音通知级别
- extern INT g_nLevelSms; // 发送短信级别
- extern INT g_nLevelEmail; // 发送Email级别
- extern INT g_nLevelDevInterrupt; // 通讯中断级别
- extern INT g_nLevelDlg; // 本地报警提示框级别
- extern INT g_nLevelLocalWav; // 本地声音提示级别
- extern INT g_nDBRecordDate; // 数据库记录时间
- //Sms
- extern INT g_nSendSms; // 是否启动短信报警功能
- extern CHAR g_strSmsComPort[MAX_TEL_LENGTH + 1]; // 短信猫端口
- extern INT g_nSmsRate; // 串口波特率
- extern INT g_nSmsDataBit; // 数据位
- extern INT g_nSmsStopBit; // 停止位
- extern INT g_nSmsParity; // 检验位
- extern INT g_nSmsInterval; // 间隔时间
- extern INT g_nSmsLanguageTrans; // 是否需要繁简转换
- extern INT g_nSmsMaxChar; // 短信猫支持最大字符个数
- extern INT g_nSmsMakeCall; // 发送短信后,是否拔打电话提醒
- extern CHAR g_strSmsSMSC[MAX_TEL_LENGTH + 1]; // smsc号码
- extern INT g_nSmsTimOut; // 短信发送超时
- extern INT g_nSmsCallTimes; // 最大的短信发送次数
- //Email
- extern INT g_nSendEmail; // 是否启动Email报警功能
- extern CHAR g_strEmailSMTPSrv[MAX_MAILSERVER_LENGTH]; // SMTPServer地址
- extern INT g_nEmailSMTPPort; // SMTP端口
- extern INT g_nEmailIsNeed; // 是否需要身份验证
- extern CHAR g_strEmailUserAcc[MAX_USER_LENGTH]; // 用户名
- extern CHAR g_strEmailUserPwd[MAX_PASSWORD_LENGTH]; // 密码
- extern INT g_nEmailTimeOut; // 发送邮件超时
- extern CHAR g_strEmailFromAddr[MAX_MAILTO_LENGTH]; // 发信人Email地址
- extern CHAR g_strEmailSubject[MAX_EMAIL_LENGTH]; // Email标题
- extern INT g_nEmailCallTimes; // 最大的Email发送次数
- //语音通知
- extern INT g_bSendVoice; // 是否启动语音通知功能
- extern INT g_nNoticeCardType; // 板卡类型
- extern CHAR g_strNoticeTelPre[MAX_TEL_LENGTH + 1]; // 外线前缀
- extern INT g_nNoticeCallDelay; // 两次呼叫间隔时间
- extern INT g_nNoticeCallTimes; // 最大的呼叫次数
- //定时发送短信和电话参数配置
- extern INT g_nTimingEnable;
- extern INT g_nTimingWeeks;
- extern INT g_nTimingHours;
- extern INT g_nTimingMinutes;
- extern INT g_nTimingPreiods;
- //变量输出,特别为上海烟草局做的
- extern INT g_nOutputEnable;
- extern CHAR g_strOutputPath[MAX_PATH_LENGTH + 1]; // 输出内容存放路径
- extern CHAR g_strOutputFileName[MAX_PATH_LENGTH + 1]; // 输出内容存放路径
- extern CHAR g_strOutputClock[MAX_PATH_LENGTH + 1]; // 输出内容存放路径
- extern INT g_nOutputLineCount1;
- extern CHAR g_strOutputLine1[MAX_MSG_LENGTH + 1]; // 第一行
- extern INT g_nOutputLineCount2;
- extern CHAR g_strOutputLine2[MAX_MSG_LENGTH + 1]; // 第二行
- extern INT g_nOutputLineCount3;
- extern CHAR g_strOutputLine3[MAX_MSG_LENGTH + 1]; // 第三行
- extern INT g_nOutputLineCount4;
- extern CHAR g_strOutputLine4[MAX_MSG_LENGTH + 1]; // 第四行
- extern INT g_nOutputLineCount5;
- extern CHAR g_strOutputLine5[MAX_MSG_LENGTH + 1]; // 第五行
- extern INT g_nOutputLineCount6;
- extern CHAR g_strOutputLine6[MAX_MSG_LENGTH + 1]; // 第六行
- extern INT g_nOutputLineCount7;
- extern CHAR g_strOutputLine7[MAX_MSG_LENGTH + 1]; // 第七行
- extern INT g_nOutputLineCount8;
- extern CHAR g_strOutputLine8[MAX_MSG_LENGTH + 1]; // 第八行
- extern INT g_nOutputLineCount9;
- extern CHAR g_strOutputLine9[MAX_MSG_LENGTH + 1]; // 第九行
- extern INT g_nOutputLineCount10;
- extern CHAR g_strOutputLine10[MAX_MSG_LENGTH + 1]; // 第十行
- extern CHAR g_strOutputLineUid1[MAX_UID + 1];
- extern CHAR g_strOutputLineUid2[MAX_UID + 1];
- extern CHAR g_strOutputLineUid3[MAX_UID + 1];
- extern CHAR g_strOutputLineUid4[MAX_UID + 1];
- extern CHAR g_strOutputLineUid5[MAX_UID + 1];
- extern CHAR g_strOutputLineUid6[MAX_UID + 1];
- extern CHAR g_strOutputLineUid7[MAX_UID + 1];
- extern CHAR g_strOutputLineUid8[MAX_UID + 1];
- extern CHAR g_strOutputLineUid9[MAX_UID + 1];
- extern CHAR g_strOutputLineUid10[MAX_UID + 1];
- //是否启用Snmp参数配置
- extern INT g_nSnmpEnable;
- extern CHAR g_strSnmpOidRoot[MAX_OBJ_OID + 1];
- extern CHAR g_strSnmpIP[MAX_EQUIP_IP + 1];
- extern CHAR g_strSnmpField[MAX_EQUIP_DESC + 1];
- //资源字符串
- extern CString g_strServiceName;
- extern CString g_strHintSysRun;
- extern CString g_strHintAlarmWelcome;
- extern CString g_strHintVoiceEnd;
- extern CString g_strHintReturnNormal;
- extern CString g_strHintUpperLimit;
- extern CString g_strHintLowerLimit;
- extern CString g_strHintCurrValue;
- extern CString g_strHintBlance;
- extern CString g_strHintDateLimit;
- //服务
- extern TCHAR g_szServiceName[];
- // 用户角色信息
- typedef struct __USERINFO
- {
- char szTel[MAX_TEL_LENGTH + 1];
- char szMobileTel[MAX_TEL_LENGTH + 1];
- char szFax[MAX_TEL_LENGTH + 1];
- char szEmail[MAX_EMAIL_LENGTH + 1];
- __USERINFO()
- {
- memset(szTel, 0 , MAX_TEL_LENGTH + 1);
- memset(szMobileTel, 0 , MAX_TEL_LENGTH + 1);
- memset(szFax, 0 , MAX_TEL_LENGTH + 1);
- memset(szEmail, 0 , MAX_TEL_LENGTH + 1);
- }
- }USERINFO, *PUSERINFO;
- typedef struct __USERROLEINFO
- {
- char szDevUID[20];
- vector<__USERINFO> vtUserInfo;
- __USERROLEINFO()
- {
- memset(szDevUID, 0 , 20);
- }
- }USERROLEINFO, *PUSERROLEINFO;
- extern vector<USERINFO> g_vtUserInfo;
- extern vector<USERROLEINFO> g_vtUserRoleInfo;
- //TTS参数配置
- extern INT g_nTTSType; // TTS格式类型
- extern INT g_nTTSRate; // TTS语速 (-10 - 10)
- extern INT g_nTTSVolume; // TTS音量 (0 - 100)
- // 报警参数设置
- extern INT g_nAlarmModeIsDlg; // 是否弹出报警提示框
- extern INT g_nAlarmModeShowDlgTimes; // 提示框显示次数
- extern INT g_nAlarmModeIsSound; // 是否本地播放报警提示音
- extern INT g_nAlarmModeSoundNum; // 声音播放次数,0:代表无限播放,直到报警被确认
- typedef list<CString> LIST_TEL;
- // 变量通知
- typedef struct _VAR_NOTICE
- {
- char szDevUID[20]; // 设备Uid
- int nVarID; // 变量ID
- int nResult; // 0: 未操作, 1:单个确认, 2:全部确认
- int nCallTime; // 拔打次数
- int nSmsTime; // 短信发送次数
- DWORD dwIdentityTick; // 辨识Tick
- DWORD dwReDetectTick; // 重新检测Tick
- DWORD dwIntervalTick; // 两次拔打之间的Tick
- bool bQueueExist; // true: 存在于语音队列且没有被取走 fasle: 不存在于语音队列或已被取走
- int nTelInex; // 电话list中的索引
- LIST_TEL listTel; // 有管理这个设备Uid的电话号码和手机号码列表
- int nLastStatus; // 前一次的报警状态,用于状态恢复正常的情况
- bool bFirstDeal; // 第一次处理这个变量
- int nReDetectTime; // 重新检测时间
- }VAR_NOTICE, *PVAR_NOTICE;
- typedef list<VAR_NOTICE> LIST_VAR_NOTICE;
- extern LIST_VAR_NOTICE g_listVarNotice;
- typedef int (WINAPI *PFCALLBACK)( int iType,float fData,CString sContent );//iType=0:
- // fData=1 恢复正常 fData=0 报警不打电话不发短信
- //iType=1:
- // fData=余额
- //软件加密
- typedef int (__stdcall *Reg_DLLInit)( char *pDirectory );
- typedef int (WINAPI *Reg_DLLGetDiskInof)( CString &sFilePath );
- typedef int (WINAPI *Reg_DLLCreateRegisterFile)( CString &sFilePath,CString &sMsg );
- typedef int (WINAPI *Reg_DLLJudgeIsRegister)( CString &sMsg );
- typedef int (WINAPI *Reg_DLLUnInit)();
- typedef int (WINAPI *Reg_DLLGetEcFileStr)( LPCTSTR fpath,CString &sGet,CString &sMsg );
- typedef int (WINAPI *Reg_DLLSetEcFileStr)( LPCTSTR fpath,CString sScrItem,CString sDes,CString &sMsg );
- typedef int (WINAPI *Reg_DLLGetHourToCount)( );
- typedef int (WINAPI *Reg_DLLIsValidTime)( CString &sMsg );
- typedef int (WINAPI *Reg_DLLAddUserDate)( );
- extern HINSTANCE g_hSoftRegisterLibModule;
- extern Reg_DLLInit pRegdllInit;
- extern Reg_DLLJudgeIsRegister pRegdllJudgeIsRegister;
- extern Reg_DLLUnInit pRegdllUnInit;
- extern Reg_DLLGetHourToCount pRegdllGetHourToCount;
- extern Reg_DLLIsValidTime pRegdllIsValidTime;
- extern Reg_DLLAddUserDate pRegdllAddUserDate;
- // TTS
- typedef BOOL (WINAPI *MySTONEU_DLLRegisterTTS)(void);
- typedef void (WINAPI *MySTONEU_DLLUnRegisterTTS)(void);
- typedef void (WINAPI *MySTONEU_DLLTxtToWav)( char *pText, char *pWavFileName, int nVoiceType, int nRate, int nVolume );
- extern HINSTANCE hTTSModule;
- extern MySTONEU_DLLRegisterTTS pStoneUDllRegisterTTS;
- extern MySTONEU_DLLUnRegisterTTS pStoneUDllUnRegisterTTS;
- extern MySTONEU_DLLTxtToWav pStoneUDLLTxtToWav;
- // 语音通知动态库输出函数
- typedef BOOL (WINAPI *STONEU_DLLRegisterVoice)(char *pDirectory, int nTTSType);
- typedef void (WINAPI *STONEU_DLLUnRegisterVoice)(void);
- typedef int (WINAPI *STONEU_DLLAllocateChannel)(char *pTel, char *pPreTel, char *pUid, int nVarID,int nAlarmIndex, char *pContent);
- extern HINSTANCE g_hVoiceLibModule;
- extern STONEU_DLLRegisterVoice pStoneUDllRegisterVoice;
- extern STONEU_DLLUnRegisterVoice pStoneUDllUnRegisterVoice;
- extern STONEU_DLLAllocateChannel pStoneUDllAllocateChannel;
- // Email输出函数
- typedef BOOL (WINAPI *EMAIL_DLLInit)( char *pDirectory, // 软件所在路径
- char *pSmtpServer, // Smtp服务器
- int nSmtpPort, // Smtp端口
- int nIsNeed, // 是否需要smtp身份验证
- char *pUserAcc, // Email帐号
- char *pUserPwd, // Email密码
- char *pFromEmailAddr, // 发送人Email地址
- int nTimeOut // 超时
- );
- typedef void (WINAPI *EMAIL_DLLUnInit)(void);
- typedef int (WINAPI *EMAIL_DLLSendEmail)(char *pEmail, // 收件人Email地址
- char *pSubject, // 邮件标题
- char *pContent, // 发送内容
- char *pTime, // 发生时间
- char *pErrorMsg // 错误消息
- );
- extern HINSTANCE g_hEmailLibModule;
- extern EMAIL_DLLInit pEmailDllInit;
- extern EMAIL_DLLUnInit pEmailDllUnInit;
- extern EMAIL_DLLSendEmail pEmailDllSendEmail;
- // Sms输出函数
- typedef BOOL (WINAPI *SMS_DLLInit)( char *pDirectory,
- int nAddr, // 保留,因为短信猫是串口232没有地址
- int nCommPort, // 串口号
- int nRate, // 波特率
- int nDataBit, // 数据位
- int nStopBit, // 停止位
- int nParity, // 校验位
- int nInterval, // 间隔时间
- int nNeedLanguageTrans, // 是否需要语言转换
- int nMaxChar, // 短信猫一条短信最大支持的字符个数
- int nMakeCall ); // 发送后是否先拔打电话提醒
- typedef void (WINAPI *SMS_DLLUnInit)(void);
- typedef int (WINAPI *SMS_DLLSendSms)(char *pTel, // 手机号码
- char *pContent, // 发送内容
- char *pSendResult); // 发送结果
- typedef bool (WINAPI *SMS_DLLGetCSQ)( int iMin,int iMax,int &iNowData ); // 得到短信猫信号
- typedef int (WINAPI *SMS_DLLSetCallBack)(PFCALLBACK Func);
- typedef int (WINAPI *SMS_DLLGetBalance)( char *pSendResult );
- extern HINSTANCE g_hSmsLibModule;
- extern SMS_DLLInit pSmsDllInit;
- extern SMS_DLLUnInit pSmsDllUnInit;
- extern SMS_DLLSendSms pSmsDllSendSms;
- extern SMS_DLLGetCSQ pSmsDllGetCSQ;
- extern SMS_DLLSetCallBack pSmsDllSetCallBack;
- extern SMS_DLLGetBalance pSmsGetBalance;
- extern bool g_bAlarmNoticeFlag;//报警通知开头,由短信控制
- // Snmp输出函数
- typedef BOOL (WINAPIV *SNMP_DLL_GetVale)(
- char *pDevIP, // snmp设备IP
- char *pSnmpField, // snmp Oid 域,一般为public, private
- char *pObjOid, // Obj Oid
- char *pValue // 得到的值
- );
- typedef int (WINAPIV *SNMP_DLL_SetValue)(
- char *pDevIP, // snmp设备IP
- char *pSnmpField, // snmp Oid 域,一般为public, private
- char *pObjOid, // Obj Oid
- char *pObjType, // Obj 对象类型
- int nRetries, // 可回收标志,暂时都为1
- int nTimeOut, // 请求超时
- char *pValue // 要设置的值
- );
- extern HINSTANCE g_hSnmpLibModule;
- extern SNMP_DLL_GetVale pSnmpDllGetValue;
- extern SNMP_DLL_SetValue pSnmpDllSetValue;
- //modbus tcp 动态库输出函数
- typedef int (WINAPI *TCP_DLLInit)( int nNetPort,
- int nAddr,
- char strIpAddr[32],
- WORD wRegNum,
- WORD wStartAddr,
- WORD wTranProcessID,
- WORD wProtocolID,
- int nFuncCode );
- typedef void (WINAPI *TCP_DLLUnInit)(void);
- typedef int (WINAPI *TCP_DLLRequestStatusData)(int nNetPort, int nAddr, char strIpAddr[32], char *pData);
- typedef BOOL (WINAPI *TCP_DLLInitNet)( int nAddr, int nNetPort, char strIpAddr[32]);
- typedef BOOL (WINAPI *TCP_DLLCloseNet)( int nAddr, int nNetPort, char strIpAddr[32]);
- typedef int (WINAPI *TCP_DLLWrite)( int nNetPort,
- int nAddr,
- char strIpAddr[32],
- WORD wRegNum,
- WORD wStartAddr,
- WORD wTranProcessID,
- WORD wProtocolID,
- int nFuncCode,
- int nRegValue);
- typedef int (WINAPI *TCP_DLLRequestWrStatusData)(int nNetPort, int nAddr, char strIpAddr[32], int &nWriteResult);
- extern HINSTANCE g_hTCPLibModule;
- extern TCP_DLLCloseNet pTCP_DllCloseNet;
- extern TCP_DLLInitNet pTCP_DLLInitNet;
- extern TCP_DLLInit pTCP_DLLInit;
- extern TCP_DLLUnInit pTCP_DLLUnInit;
- extern TCP_DLLRequestStatusData pTCP_DLLRequestStatusData;
- extern TCP_DLLWrite pTCP_DLLWrite;
- extern TCP_DLLRequestWrStatusData pTCP_DLLRequestWrStatusData;
- //modbus rtu 动态库输出函数
- typedef int (WINAPI *RTU_DLLInit)( int nCommPort, int nAddr, SETBASEPARAM SetBasePara, int nDataLen, char chMsg[80] );
- typedef void (WINAPI *RTU_DLLUnInit)(void);
- typedef BOOL (WINAPI *RTU_DLLInitCom)( int nAddr, int nCommPort, int nRate, int nDataBit, int nStopBit, int nParity, int nInterval);
- typedef BOOL (WINAPI *RTU_DLLWrite)( int nCommPort, int nAddr, SETBASEPARAM SetBasePara, double Data, int nDataLen );
- typedef BOOL (WINAPI *RTU_DLLRequestWrStatusData)( int nCommPort, int nAddr, char *pData );
- extern HINSTANCE g_hRTULibModule;
- extern RTU_DLLInitCom pRTU_DLLInitCom;
- extern RTU_DLLInit pRTU_DLLInit;
- extern RTU_DLLUnInit pRTU_DLLUnInit;
- extern RTU_DLLWrite pRTU_DLLWrite;
- extern RTU_DLLRequestWrStatusData pRTU_DLLRequestWrStatusData;
- //modbus asc 动态库输出函数
- typedef BOOL (WINAPI *ASC_DLLInitCom)(int nAdddr, int nCommPort, int nRate, int nDataBit, int nStopBit, int nParity, int nInterval);
- typedef int (WINAPI *ASC_DLLInit)(int nCommPort, int nAddr, SETBASEPARAM SetBasePara, int nDataLen, char chMsg[80]);
- typedef void (WINAPI *ASC_DLLUnInit)(void);
- typedef int (WINAPI *ASC_DLLRequestStatusData)(int nCommPort, int nAddr, int nByteNum, char *pData);
- //typedef void (WINAPI *ASC_DLLDetectOnlineCallBack)(void *pPara);
- typedef int ((WINAPI *ASC_DLLWrCom))(int nCommPort, int nAddr, SETBASEPARAM SetBasePara, double Data, int nDataLen);
- typedef int (WINAPI *ASC_DLLRequestWrStatusData)(int nCommPort, int iAddr, char *pData);
- extern HINSTANCE g_hASCLibModule;
- extern ASC_DLLInitCom pASCDLLInitCom;
- extern ASC_DLLInit pASCDLLInit;
- extern ASC_DLLUnInit pASCDLLUnInit;
- extern ASC_DLLRequestStatusData pASCDLLRequestStatusData;
- extern ASC_DLLWrCom pASC_DLLWrCom;
- extern ASC_DLLRequestWrStatusData pASC_DLLRequestWrStatusData;
- //extern ASC_DLLDetectOnlineCallBack pASCDLLDetectOnlineCallBack;
- //icpdas 动态库输出函数
- typedef int (WINAPI *ICPDAS_DLLInit)
- ( int nCommPort,
- int nAddr,
- BYTE Start,//起始位
- BYTE StartAddr[2],//起始地址
- int nRegNum,//读取的寄存器个数
- BYTE FuncCode[2],
- int nDataLen,
- BYTE byWithAddrFlag,
- char chMsg[80]);
- typedef int ((WINAPI *ICPDAS_DLLWrCom))
- (int nCommPort,
- int nAddr,
- char DataBuffer[80],
- int nDataLen);
- typedef void (WINAPI *ICPDAS_DLLUnInit)(void);
- typedef int (WINAPI *ICPDAS_DLLRequestStatusData)
- (int nCommPort,
- int nAddr,
- int nByteNum,
- char *pData,
- int iVarID);
- typedef BOOL (WINAPI *ICPDAS_DLLInitCom)( int nAddr,
- int nCommPort,
- int nRate,
- int nDataBit,
- int nStopBit,
- int nParity,
- int nInterval);
- extern HINSTANCE g_hICPDASLibModule;
- extern ICPDAS_DLLInitCom pICPDAS_DLLInitCom;
- extern ICPDAS_DLLInit pICPDAS_DLLInit;
- extern ICPDAS_DLLUnInit pICPDAS_DLLUnInit;
- extern ICPDAS_DLLRequestStatusData pICPDAS_DLLRequestStatusData;
- extern ICPDAS_DLLWrCom pICPDAS_DLLWrCom;
- //upskehua 动态库输出函数
- typedef int (WINAPI *UPSKEHUA_DLLInit)
- (int nCommPort,
- int nAddr,
- char szCmd[32],
- char chSendMsg[32],
- int nDataLen,
- char chMsg[UPS_KE_HUA_MAX_MSG]);
- typedef int ((WINAPI *UPSKEHUA_DLLWrCom))
- (int nCommPort,
- int nAddr,
- char DataBuffer[80],
- int nDataLen);
- typedef void (WINAPI *UPSKEHUA_DLLUnInit)(void);
- typedef BOOL (WINAPI *UPSKEHUA_DLLInitCom)( int nAddr,
- int nCommPort,
- int nRate,
- int nDataBit,
- int nStopBit,
- int nParity,
- int nInterval);
- extern HINSTANCE g_hUPSKEHUALibModule;
- extern UPSKEHUA_DLLInitCom pUPSKEHUA_DLLInitCom;
- extern UPSKEHUA_DLLInit pUPSKEHUA_DLLInit;
- extern UPSKEHUA_DLLUnInit pUPSKEHUA_DLLUnInit;
- extern UPSKEHUA_DLLWrCom pUPSKEHUA_DLLWrCom;
- //Separate 动态库输出函数
- typedef int (WINAPI *SEPARATE_DLLRead)
- (
- int nCommPort,
- int nAddr,
- char szPath[MAX_PATH],
- char szIniName[MAX_PATH],
- char szCmd[MAX_CMD],
- char szMsg[MAX_VAR_MSG]
- );
- typedef int ((WINAPI *SEPARATE_DLLWrite))
- (
- int nCommPort,
- int nAddr,
- char szPath[MAX_PATH],
- char szIniName[MAX_PATH],
- char szCmd[MAX_CMD],
- char szMsg[MAX_VAR_MSG]
- );
- typedef void (WINAPI *SEPARATE_DLLUnInit)(void);
- typedef BOOL (WINAPI *SEPARATE_DLLInit)( int nAddr,
- int nCommPort,
- int nRate,
- int nDataBit,
- int nStopBit,
- int nParity,
- int nInterval);
- extern HINSTANCE g_hSeparateLibModule;
- extern SEPARATE_DLLInit pSeparate_DLLInit;
- extern SEPARATE_DLLUnInit pSeparate_DLLUnInit;
- extern SEPARATE_DLLRead pSeparate_DLLRead;
- extern SEPARATE_DLLWrite pSeparate_DLLWrite;
- //Upsparadigm 动态库输出函数
- typedef int (WINAPI *PARADIGM_DLLInit)( int nCommPort,
- int nDevAddr,
- int nAddr, //设备地址描述
- int nVer, //版本
- int nCid1, //控制标识码
- int nCid2, //命令信息
- WORD wLenId,//INFO字节长度
- BYTE byCmdType,//命令类型
- int nCmdID, //命令ID
- int nDataLen,
- int nCmdPos,
- int nCmdLen,
- char chMsg[80],
- char *byDataFlag);
- typedef void (WINAPI *PARADIGM_DLLUnInit)(void);
- typedef BOOL (WINAPI *PARADIGM_DLLInitCom)( int nAddr, int nCommPort, int nRate,
- int nDataBit, int nStopBit, int nParity, int nInterval);
- extern HINSTANCE g_hPARADIGMLibModule;
- extern PARADIGM_DLLInitCom pPARADIGM_DLLInitCom;
- extern PARADIGM_DLLInit pPARADIGM_DLLInit;
- extern PARADIGM_DLLUnInit pPARADIGM_DLLUnInit;
- //stulz 动态库输出函数
- typedef int (WINAPI *STULZ_DLLInit)( int nCommPort,
- int nAddr,
- SETBASEPARAM SetBasePara,
- int nDataLen,
- int iCmdPos,
- int iCmdLen,
- char chMsg[10] );
- typedef void (WINAPI *STULZ_DLLUnInit)(void);
- typedef BOOL (WINAPI *STULZ_DLLInitCom)( int nAddr, int nCommPort, int nRate,
- int nDataBit, int nStopBit, int nParity, int nInterval);
- typedef int (WINAPI *STULZ_DLLWrCom)(int nCommPort, int nAddr, char DataBuffer[80], char ResDataBuffer[2]);
- extern HINSTANCE g_hSTULZLibModule;
- extern STULZ_DLLInitCom pSTULZ_DLLInitCom;
- extern STULZ_DLLInit pSTULZ_DLLInit;
- extern STULZ_DLLUnInit pSTULZ_DLLUnInit;
- extern STULZ_DLLWrCom pSTULZ_DLLWrCom;
- //Powerware 动态库输出函数
- typedef int (WINAPI *POWERWARE_DLLInit)( int nCommPort, //串口
- int nDevAddr, //设备地址
- int nRequestLen, //请求数据总长度
- int nResponseLen, //响应数据总长度
- int nCmd, //命令
- int nCmdPos, //变量索引
- int nCmdLen, //变量长度
- int nParam, //参数
- char chMsg[80]); //读到变量值
- typedef void (WINAPI *POWERWARE_DLLUnInit)(void);
- typedef BOOL (WINAPI *POWERWARE_DLLInitCom)( int nAddr, int nCommPort, int nRate,
- int nDataBit, int nStopBit, int nParity, int nInterval);
- extern HINSTANCE g_hPowerwareLibModule;
- extern POWERWARE_DLLInitCom pPOWERWARE_DLLInitCom;
- extern POWERWARE_DLLInit pPOWERWARE_DLLInit;
- extern POWERWARE_DLLUnInit pPOWERWARE_DLLUnInit;
- //gree 动态库输出函数
- typedef int (WINAPI *GREE_DLLInit)( int nCommPort, int nAddr,int nDataLen,int nReadPos, char chMsg[80] );
- typedef void (WINAPI *GREE_DLLUnInit)(void);
- typedef BOOL (WINAPI *GREE_DLLInitCom)( int nAddr, int nCommPort, int nRate, int nDataBit, int nStopBit, int nParity, int nInterval);
- typedef BOOL (WINAPI *GREE_DLLWrCom)( int nCommPort, int nAddr,
- int nWorkStatus, int nWorkMode, int nFanSpeed,
- int nPutWind, int nAirTrade, int nSleep, int nLight,
- int nTempSetPoint );
- extern HINSTANCE g_hGREELibModule;
- extern GREE_DLLInitCom pGREE_DLLInitCom;
- extern GREE_DLLInit pGREE_DLLInit;
- extern GREE_DLLUnInit pGREE_DLLUnInit;
- extern GREE_DLLWrCom pGREE_DLLWrCom;
- //Carel控制器
- typedef int (WINAPI *CAREL_DLLInit)( int nAddr, int nCommPort, int nRate,
- int nDataBit, int nStopBit, int nParity, int nInterval);
- typedef void (WINAPI *CAREL_DLLUnInit)(void);
- typedef BOOL (WINAPI *CAREL_DLLRequestData)(
- int nCommPort, //串口号
- int nAddr, //地址
- char chRs232cmd[32], //命令
- char szType[MAX_ID], //类型
- char szIndex[MAX_ID], //索引
- char szMsg[CAREL_MAX_MSG] //内容
- );
- typedef BOOL (WINAPI *CAREL_DLLControl)(
- int nCommPort, //串口号
- int nAddr, //地址
- char chRs232cmd[32], //命令
- char szType[MAX_ID], //类型
- char szIndex[MAX_ID], //索引
- char szMsg[CAREL_MAX_MSG] //内容
- );
- extern HINSTANCE g_hCarelLibModule;
- extern CAREL_DLLInit pCarel_DLLInit;
- extern CAREL_DLLUnInit pCarel_DLLUnInit;
- extern CAREL_DLLRequestData pCarelRequestData;
- extern CAREL_DLLControl pCarelControl;
- // MostDevice 以后大部分设备都集成到这个动态库里面
- typedef BOOL (WINAPI *DLL_MostDeviceInit)(
- char szPath[MAX_PATH], // 程序所在路径
- char szIniName[MAX_PATH], // 配置文件名称
- int nCommPort, // 串行端口
- int nAddr, // 设备地址
- int nRate, // 波特率
- int nDataBit, // 数据位
- int nStopBit, // 停止位
- int nParity, // 校验位
- int nInterval // 时间间隔
- );
- typedef void (WINAPI *DLL_MostDeviceUnInit)(
- char szPath[MAX_PATH], // 程序所在路径
- char szIniName[MAX_PATH], // 配置文件名称
- int nCommPort // 串行端口
- );
- typedef int (WINAPI *DLL_MostDeviceRead)(
- char szPath[MAX_PATH], // 程序所在路径
- char szIniName[MAX_PATH], // 配置文件名称
- int nCommPort, // 串行端口
- int nAddr, // 设备地址
- char szCmd[MAX_CMD], // 请求命令
- char szMsg[MAX_VAR_MSG], // 响应的值
- int nReversed1, // 预留整形参数1接口
- int nReversed2, // 预留整形参数2接口
- int nReversed3, // 预留整形参数3接口
- int nReversed4, // 预留整形参数4接口
- int nReversed5, // 预留整形参数5接口
- float fReversed1, // 预留float参数1接口
- float fReversed2, // 预留float参数2接口
- float fReversed3, // 预留float参数3接口
- char szReversed1[MAX_RESERVED1], // 预留字符数组参数1接口
- char szReversed2[MAX_RESERVED2], // 预留字符数组参数2接口
- char szReversed3[MAX_RESERVED3], // 预留字符数组参数3接口
- char szReversed4[MAX_RESERVED4], // 预留字符数组参数4接口
- char szReversed5[MAX_RESERVED5] // 预留字符数组参数5接口
- );
- typedef int (WINAPI *DLL_MostDeviceSet)(
- char szPath[MAX_PATH], // 程序所在路径
- char szIniName[MAX_PATH], // 配置文件名称
- int nCommPort, // 串行端口
- int nAddr, // 设备地址
- char szCmd[MAX_CMD], // 请求命令
- char szMsg[MAX_VAR_MSG], // 响应的值
- int nReversed1, // 预留整形参数1接口
- int nReversed2, // 预留整形参数2接口
- int nReversed3, // 预留整形参数3接口
- int nReversed4, // 预留整形参数4接口
- int nReversed5, // 预留整形参数5接口
- float fReversed1, // 预留float参数1接口
- float fReversed2, // 预留float参数2接口
- float fReversed3, // 预留float参数3接口
- char szReversed1[MAX_RESERVED1], // 预留字符数组参数1接口
- char szReversed2[MAX_RESERVED2], // 预留字符数组参数2接口
- char szReversed3[MAX_RESERVED3], // 预留字符数组参数3接口
- char szReversed4[MAX_RESERVED4], // 预留字符数组参数4接口
- char szReversed5[MAX_RESERVED5] // 预留字符数组参数5接口
- );
- extern HINSTANCE g_hMostDeviceLibModule;
- extern DLL_MostDeviceInit pDllMostDeviceInit;
- extern DLL_MostDeviceUnInit pDllMostDeviceUnInit;
- extern DLL_MostDeviceRead pDllMostDeviceRead;
- extern DLL_MostDeviceSet pDllMostDeviceSet;
- extern void WriteSummaryLog(CHAR *pdevname, CHAR *pHappenTime, CHAR* memo, int id,
- CHAR *ptypedesc, double currvalue, CHAR* varuid, CHAR *varname);
- extern WORD AsciiToBYTE(BYTE btSrc);
- extern char ByteToAscii(BYTE btSrc);
- char lowercase2uppercase(BYTE btSrc);
- extern int StrLower(char *pSource, char *pDest);
- extern int StrUpper(char *pSource, char *pDest);
- extern int DigitToBinary(WORD wdSource, char* pDes, int iBit);
- extern char Hex16(char WillChangeNum[]); //该函数把四位二进制转换成十六进制数
- extern BYTE TwoByteToByte(BYTE b1, BYTE b2); //两个字符转换为一个字符
- extern void ByteToTwoByte(BYTE b, BYTE b2[]); //一个字符转换为两个字符
- extern void ByteToUpper(char *szMsg);
- void g_GetAllLogFile();
- //md5全局变量
- #ifndef PROTOTYPES
- #define PROTOTYPES 1
- #endif
- /* POINTER defines a generic pointer type */
- typedef unsigned char *POINTER;
- /* UINT2 defines a two byte word */
- typedef unsigned short int UINT2;
- /* UINT4 defines a four byte word */
- typedef unsigned long int UINT4;
- /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
- If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
- returns an empty list.
- */
- #if PROTOTYPES
- #define PROTO_LIST(list) list
- #else
- #define PROTO_LIST(list) ()
- #endif
|