⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comiosrv.h

📁 用VC编写的设备通讯程序,里面有很多规约,自己下载
💻 H
字号:
/*-----------------------------------------------------------------------------
 * ComioSrv.h - export wrapped functions for customer I/O
 *
 * LAST EDIT: 08-Feb-02	xcy
 *
 *		++++++++++++++++++++++++++
 *		+ Central Control System +
 *		++++++++++++++++++++++++++
 *
 * FUNCTIONAL DESCRIPTION
 *
 *	This file defines the export functions for customer I/O.
 *
 *	*** DO NOT CHANGE ANY DEFINITION IN THIS FILE ***
 *
 *
 * UPDATE HISTORY
 *
 *	000  08-Feb-02		New version.
 *-----------------------------------------------------------------------------
 */

#ifndef __COMIOSRV_H__               // Only Include Once
#define __COMIOSRV_H__

// main service routines
extern void CreIoSystem(char *comnam, HANDLE wakeEvt, BOOL bCreQue);
extern void ClsIoSystem();
extern void CreIoDevice(HANDLE hParent);
extern void MngrService();
extern void ChkPollSche();

// user provides routines
extern void PollMarshall(REQUEST_MSGS* pReqMsg, CPio *pPio);
extern void PollUnmarshall(CPio *pPio, int rtuStream);

// local service routines
extern int  GetComRtuId(REQUEST_MSGS* pReqMsg);
extern BYTE* GetPioReadBuf(CPio *pPio);
extern BYTE* GetPioWrtBuf(CPio *pPio);
extern UINT GetPioReadCnt(CPio *pPio);
extern UINT GetPioReadMsgCnt(CPio *pPio);
extern void SetPioReadHeadCnt(CPio *pPio, int count);
extern void SetPioReadCnt(CPio *pPio, int count);
extern void SetPioReadFixupCnt(CPio *pPio, int count);
extern void SetPioReadOffset(CPio *pPio, int offset);
extern void SetPioWriteCnt(CPio *pPio, int count);
extern void SetPioWriteOffset(CPio *pPio, int offset);
extern void SetPioComState(CPio *pPio, BOOL b2pass, BOOL bCmp2Pass, BOOL bPurge);
extern void SetPioUnPackFunc(CPio *pPio, LPUNPACKFUNC UnPackFunc);
extern void SetPioErrorFunc(CPio *pPio, LPERRORFUNC ErrorFunc);
extern void* GetPioUserDefMsg(CPio *pPio);
extern void SetPioComStatus(CPio *pPio, PIO_ERROR Status);
extern void SetPioRecvStatus(CPio *pPio, PIO_ERROR Status);
extern void SetPioXmitStatus(CPio *pPio, PIO_ERROR Status);
extern int  GetPioComStatus(CPio *pPio);
extern int  GetPioRecvStatus(CPio *pPio);
extern int  GetPioXmitStatus(CPio *pPio);
extern int  GetPioStream(CPio *pPio);
extern void SetPioSync(CPio *pPio);
extern void ClrPioSync(CPio *pPio);
extern BOOL GetPioSync(CPio *pPio);
extern void SetPioFrame(CPio *pPio);
extern void ClrPioFrame(CPio *pPio);
extern BOOL GetPioFrame(CPio *pPio);
extern void SetPioSndCmd(CPio *pPio);
extern void ClrPioSndCmd(CPio *pPio);
extern BOOL GetPioSndCmd(CPio *pPio);
extern void SetPioTime(CPio *pPio, UINT time);
extern UINT GetPioTime(CPio *pPio);
extern UINT GetPioTimeout(CPio *pPio);
extern BOOL IsPioTimeout(CPio *pPio);
extern UINT GetPioDatInBuf(CPio *pPio);
extern VOID PostPioReadCallback(CPio *pPio);
extern BOOL PostPioWriteCallback(CPio *pPio);
extern VOID SetPioRtuStream(int ioStream);
extern VOID ClrPioRtuStream(int ioStream);
extern VOID SetPioReadLock(CPio *pPio);
extern VOID ClrPioReadLock(CPio *pPio);
extern VOID AddMorePollCmd(REQUEST_MSGS *pMsg, BOOL bHigh);
extern VOID SetPioSavCnt(CPio *pPio, int count);
extern int  GetPioSavCnt(CPio *pPio);
extern BYTE* GetPioSavDatAdr(CPio *pPio);

extern void SetComSystim(int curtim);
extern int  GetComSystim();

// RTU flag setting
extern void SetRtuFrzSts(void* pRtu);
extern void ClrRtuFrzSts(void* pRtu);
extern BOOL GetRtuFrzSts(void* pRtu);
extern void ClrRtuClkSyn(void* pRtu);
extern BOOL GetRtuClkSyn(void* pRtu);
extern void SetRtuSoeSts(void* pRtu);
extern void ClrRtuSoeSts(void* pRtu);
extern BOOL GetRtuSoeSts(void* pRtu);
extern void SetRtuSoeOffset(void* pRtu, int offset);
extern int  GetRtuSoeOffset(void* pRtu);
extern void SetRtuSoeStrtTim(void* pRtu, int strt[2]);
extern void GetRtuSoeStrtTim(void* pRtu, int strt[2]);
extern void ClrRtuPollSts(void* pRtu);
extern void SetDoConFirm(void* pRtu, int rpidx, int value);
extern BOOL GetRtuVirSts(void* pRtu);
extern BOOL GetRtuSyncSts(void* pRtu);
extern void SetRtuFrmCnt(void* pRtu, int count);
extern int  GetRtuFrmCnt(void* pRtu);
extern int  GetRtuType(void* pRtu);
extern int  GetRtuGrpReg(void* pRtu, int grp);
extern int  GetRtuGrpType(void* pRtu, int grp);
extern int  GetRtuGrpItem(void* pRtu, int grp);
extern int  GetRtuNullGrp(void* pRtu, int grp, int last);
// for iec-101 protocol
extern void SetRtuFcbFlag(void* pRtu, BYTE reverse);
extern int  GetRtuFcbFlag(void* pRtu);
extern void SetRtuCmdStep(void* pRtu, int step);
extern int  GetRtuCmdStep(void* pRtu);
extern void SetRtuInitState(void* pRtu, int sts);
extern int  GetRtuInitState(void* pRtu);
extern void SetRtuFullScanSts(void* pRtu, int sts);
extern int  GetRtuFullScanSts(void* pRtu);

// RTU service routines
extern UINT GetRtuIoStream(void* pRtu);
extern WORD GetRtuNetId(void* pRtu);
extern void SetPioRtuDbgInMsg(CPio *pPio, void* pRtu);
extern void SetPioRtuDbgOutMsg(CPio *pPio, void* pRtu);
// group index (0-31), point index in group (0-31)
extern BOOL UpdRtuRawData(void* pRtu, int grpidx, int pntidx, USHORT val, int stidx = 0);
extern void UpdRtuIntData(void* pRtu, int grpidx, int pntidx, int iVal, int offset);
extern void UpdRtuFltData(void* pRtu, int grpidx, int pntidx, float fVal, int offset);
extern void UpdRtuSoeData(void* pRtu, int grpidx, int pntidx, UINT val, SOETIME *stim, char *addmsg = NULL);
extern void UpsRtuSoeAlm(void* pRtu, int grpidx, int pntidx);

extern int  PutRlySetValue(void* pRtu, int cpuidx, int setidx, int seaidx, BYTE *p_buf, BYTE sflag = 0);
extern UINT GetSetUpdData(void* pRtu, BYTE cpunum, int curidx, BYTE *valtyp, BYTE *buf);
extern UINT GetSetFuncNum(void* pRtu, BYTE cpunum);
extern void SetRlySucFlag(void* pRtu, int setnum, int type);
extern void PutRlySetToActDev(void* pRtu, int cpuidx, int setnum);
extern void RelayValueXfr(void* pRtu, int setidx);
extern void ReLoadRtuData(struct rtu_tbl *pRtu);
extern UINT GetDefGrpPnt(void* pRtu, int grpidx);
extern UINT GetActGrpPnt(void* pRtu, int grpidx);
extern BOOL GetDioCtlInfo(int pntidx, int *grp, int *pix, int *ctlcnt);
extern BOOL GetDioInpInfo(void* pRtu, int grp, int pix, int *inpcnt);

extern void UpdRtuPntSts(void* pRtu, int procdi);
extern BOOL IsRtuScanEnabled(UINT rtuStream);
extern BOOL IsSelFirstCmd(void *pRtu);
extern BOOL IsCommFirstRtu(void *pRtu);
extern int  GetPntType(int pntidx);

// general service routines
extern void RegIoSystem();
extern void RecordMsg(int line, char *str, int sts);
extern BOOL GetExitSignal();

// mapboard driver service
extern int  InitMapDigPnt();
extern int  InitAnaGroup(char *grpnam, int total, int pntid[], int dspw[], int dspd[]);
extern void GetNextMapDig(int index, int *val, int *status);
extern void GetPntsMapAna(int index, int *val, int *status);
extern void GetMapDigSts(int mapidx, int staidx, int *val);
extern void SrvMapChange();
extern void RefreshMapDig();

extern void SetOnlSysTime(LPSYSTEMTIME st);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -