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

📄 cmriosrv.h

📁 用VC编写的设备通讯程序,里面有很多规约,自己下载
💻 H
字号:
/*-----------------------------------------------------------------------------
 * CmrioSrv.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 __CMRIOSRV_H__               // Only Include Once
#define __CMRIOSRV_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();

// for no time cycle response device
extern void SetPioUserMsg(int readcnt);

// user provides routines
extern BOOL PollMarshall(REQUEST_MSGS* pReqMsg, CPio *pPio);
extern BOOL 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 bPurge);
extern void SetPioUnPackFunc(CPio *pPio, LPUNPACKFUNC UnPackFunc);
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 PioWriteData(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 int  SetCmdTimeout(CPio *pPio, int tmoval);

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

// RTU flag setting
extern void SetRtuResetSts(void* pRtu, int sts);
extern BOOL GetRtuResetSts(void* pRtu);
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 SetRtuCmdPntidx(void* pRtu, int pntidx);
extern int  GetRtuCmdPntidx(void* pRtu);
extern void SetRtuSoeStrtTim(void* pRtu, int strt[2]);
extern void GetRtuSoeStrtTim(void* pRtu, int strt[2]);
extern void SetRtuSoeMsgTim(void* pRtu, int tuse[2]);
extern void GetRtuSoeMsgTim(void* pRtu, int tuse[2]);
extern void ClrRtuPollSts(void* pRtu);
extern void SetDoConFirm(void* pRtu, int rpidx, int value);
extern BOOL GetRtuVirSts(void* pRtu);
extern void SetRtuFrmCnt(void* pRtu, int count);
extern int  GetRtuFrmCnt(void* pRtu);
extern int  GetRtuType(void* pRtu);
extern VOID *GetPrevRtu(void* pRtu);
extern VOID *GetNextRtu(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);
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);
extern void UpdRtuPntSts(void* pRtu, int procdi);
extern BOOL IsRtuScanEnabled(UINT rtuStream);
extern VOID *GetPioManAdr();
extern BOOL IsSelFirstCmd(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();

extern int InitGroup(char *grpnam, int total, int pntid[], int pntTyp[]);
extern BOOL GetAnaPntData(int pntidx, int *status, float *value);
extern BOOL GetDigPntData(int pntidx, int *status, int *staidx);
extern BOOL SetAnaPntData(int pntidx, float value);
extern BOOL SetDigPntData(int pntidx, int staidx);
extern BOOL SetPntStatusFlag(int pntidx, int postype, int flag);

// 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 SetOnlSysTime(LPSYSTEMTIME st);

#endif

⌨️ 快捷键说明

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