搭建PVB架构,实现前端的基础布局、菜单、表格、图示等功能

This commit is contained in:
lixiaoyuan
2025-08-20 19:00:22 +08:00
parent 5de7687bcc
commit 7e965b6fb4
142 changed files with 28270 additions and 411 deletions

View File

@@ -0,0 +1,838 @@
/* <St> *******************************************************************
FILENAME : CIFUSER.H
-------------------------------------------------------------------------
CREATETED : R. Mayer, Hilscher GmbH
DATE : 28.11.95
PROJEKT : CIF device driver
=========================================================================
DISCRIPTION
User interface definition.
*
* Filename:
* $Workfile: CIFUSER.H $ $Revision: 21 $
* Last Modification:
* $Author: Sebastian $
* $Modtime: 6.04.04 11:52 $
*
* Targets:
* Win32/ANSI : yes
* Win32/Unicode: yes
* WinCE : yes
*
=========================================================================
CHANGES
version name date description
-------------------------------------------------------------------------
V1.300 MY 26.01.04 - Review
- changes from Harald
BOARD_INFO and BOARD_INFOEX included
- include "windows.h" removed
V1.202 MY 10.12.00 - CIF100 Rev.5 changes included
V1.201 MY 10.12.00 - Parameter definition of DevDMADown changed
V1.200 MY 15.03.00 - New CIF100 definitions included
V1.100 MY 19.09.99 - Function for performance test included
V1.023 MY 06.09.01 - Error number for configuration check
V1.022 MY 23.04.01 - Error number extended and
DMA driver errors included
- CIF 100 specific definitions included
- Definition for CIF_TKIT included
V1.021 MY 23.08.99 - Definition against multiple inclusion
added
V1.020 MY 22.03.99 - New Function DevDownload included
- Definitions for download modes included
V1.011 MY 20.02.98 - SPC_CONTROL_SET/CLEAR included
V1.010 MY 28.10.97 - Modes in DevExchangeIOErr changed from
0,1,2 to 2,3,4
V1.009 MY 16.09.97 - MS-C++ support include (#ifdef _cplusplus)
- DevPutMessage(), pvData renamed into
ptMessage
- Function: DevReadWriteRAW()
DevExchangeIOEx()
DevExchangeIOErr() included.
- MSG.data in MSG_STRUCT reduced to
255 Byte, which is the max. data length.
- New reset definition BOOTSTART included,
to save parameters on CIF40
- PcWatchDog into HostWatchDog renamed
- Error numbers -6, -26, -27 included
- Reset mode BOOTSTART included
- New handshake and definitions for
state field transfer included
V1.008 MY 05.06.97 - GETMESSAGECMD, size of message included,
to prevent overwriting of user buffer
V1.007 MY 05.06.97 - static definition of the
IOSEND and IORECEIVE data area removed
- BOARD_INFOEX structure and function
DevGetBoardInfoEx included
V1.006 MY 25.04.97 - function DevGetExtendedInfo included
V1.005 MY 30.11.96 - function DevExtendedData, DevGetMBXData
included
- error -25 included
V1.004 MY 18.06.96 - IO function IOCTLREADSEND
included
V1.003 MY 25.04.96 - IO function IOCTLEXIO
IOGETPARAM
IOSETHOST
included
V1.002 MY 28.02.96 - function DevGetMBXState included
- Variable name MSG_STRUC.daten
changed into data
V1.001 MY 31.01.96 - user interface changed
V1.000 MY
******************************************************************** <En> */
/* prevent multiple inclusion */
#ifndef __CIFUSER_H
#define __CIFUSER_H
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#ifdef __cplusplus
extern "C" {
#endif /* _cplusplus */
/* ------------------------------------------------------------------------------------ */
/* global definitions */
/* ------------------------------------------------------------------------------------ */
#define MAX_DEV_BOARDS 4 /* maximum numbers of boards */
/* ------------------------------------------------------------------------------------ */
/* driver errors */
/* ------------------------------------------------------------------------------------ */
#define DRV_NO_ERROR 0 /* no error */
#define DRV_BOARD_NOT_INITIALIZED -1 /* DRIVER Board not initialized */
#define DRV_INIT_STATE_ERROR -2 /* DRIVER Error in internal init state */
#define DRV_READ_STATE_ERROR -3 /* DRIVER Error in internal read state */
#define DRV_CMD_ACTIVE -4 /* DRIVER Command on this channel is active */
#define DRV_PARAMETER_UNKNOWN -5 /* DRIVER Unknown parameter in function occured */
#define DRV_WRONG_DRIVER_VERSION -6 /* DRIVER Version is incompatible with DLL */
#define DRV_PCI_SET_CONFIG_MODE -7 /* DRIVER Error during PCI set run mode */
#define DRV_PCI_READ_DPM_LENGTH -8 /* DRIVER Could not read PCI dual port memory length */
#define DRV_PCI_SET_RUN_MODE -9 /* DRIVER Error during PCI set run mode */
#define DRV_DEV_DPM_ACCESS_ERROR -10 /* DEVICE Dual port ram not accessable(board not found)*/
#define DRV_DEV_NOT_READY -11 /* DEVICE Not ready (ready flag failed) */
#define DRV_DEV_NOT_RUNNING -12 /* DEVICE Not running (running flag failed) */
#define DRV_DEV_WATCHDOG_FAILED -13 /* DEVICE Watchdog test failed */
#define DRV_DEV_OS_VERSION_ERROR -14 /* DEVICE Signals wrong OS version */
#define DRV_DEV_SYSERR -15 /* DEVICE Error in dual port flags */
#define DRV_DEV_MAILBOX_FULL -16 /* DEVICE Send mailbox is full */
#define DRV_DEV_PUT_TIMEOUT -17 /* DEVICE PutMessage timeout */
#define DRV_DEV_GET_TIMEOUT -18 /* DEVICE GetMessage timeout */
#define DRV_DEV_GET_NO_MESSAGE -19 /* DEVICE No message available */
#define DRV_DEV_RESET_TIMEOUT -20 /* DEVICE RESET command timeout */
#define DRV_DEV_NO_COM_FLAG -21 /* DEVICE COM-flag not set */
#define DRV_DEV_EXCHANGE_FAILED -22 /* DEVICE IO data exchange failed */
#define DRV_DEV_EXCHANGE_TIMEOUT -23 /* DEVICE IO data exchange timeout */
#define DRV_DEV_COM_MODE_UNKNOWN -24 /* DEVICE IO data mode unknown */
#define DRV_DEV_FUNCTION_FAILED -25 /* DEVICE Function call failed */
#define DRV_DEV_DPMSIZE_MISMATCH -26 /* DEVICE DPM size differs from configuration */
#define DRV_DEV_STATE_MODE_UNKNOWN -27 /* DEVICE State mode unknown */
#define DRV_DEV_HW_PORT_IS_USED -28 /* DEVICE Output port already in use */
/* Error from Interface functions */
#define DRV_USR_OPEN_ERROR -30 /* USER Driver not opened (device driver not loaded) */
#define DRV_USR_INIT_DRV_ERROR -31 /* USER Can't connect with device */
#define DRV_USR_NOT_INITIALIZED -32 /* USER Board not initialized (DevInitBoard not called)*/
#define DRV_USR_COMM_ERR -33 /* USER IOCTRL function failed */
#define DRV_USR_DEV_NUMBER_INVALID -34 /* USER Parameter DeviceNumber invalid */
#define DRV_USR_INFO_AREA_INVALID -35 /* USER Parameter InfoArea unknown */
#define DRV_USR_NUMBER_INVALID -36 /* USER Parameter Number invalid */
#define DRV_USR_MODE_INVALID -37 /* USER Parameter Mode invalid */
#define DRV_USR_MSG_BUF_NULL_PTR -38 /* USER NULL pointer assignment */
#define DRV_USR_MSG_BUF_TOO_SHORT -39 /* USER Message buffer too short */
#define DRV_USR_SIZE_INVALID -40 /* USER Parameter Size invalid */
#define DRV_USR_SIZE_ZERO -42 /* USER Parameter Size with zero length */
#define DRV_USR_SIZE_TOO_LONG -43 /* USER Parameter Size too long */
#define DRV_USR_DEV_PTR_NULL -44 /* USER Device address null pointer */
#define DRV_USR_BUF_PTR_NULL -45 /* USER Pointer to buffer is a null pointer */
#define DRV_USR_SENDSIZE_TOO_LONG -46 /* USER SendSize parameter too long */
#define DRV_USR_RECVSIZE_TOO_LONG -47 /* USER ReceiveSize parameter too long */
#define DRV_USR_SENDBUF_PTR_NULL -48 /* USER Pointer to buffer is a null pointer */
#define DRV_USR_RECVBUF_PTR_NULL -49 /* USER Pointer to buffer is a null pointer */
#define DRV_DMA_INSUFF_MEM -50 /* DMA Memory allocation error */
#define DRV_DMA_TIMEOUT_CH4 -51 /* DMA Read I/O timeout */
#define DRV_DMA_TIMEOUT_CH5 -52 /* DMA Write I/O timeout */
#define DRV_DMA_TIMEOUT_CH6 -53 /* DMA PCI transfer timeout */
#define DRV_DMA_TIMEOUT_CH7 -54 /* DMA Download timeout */
#define DRV_DMA_DB_DOWN_FAIL -55 /* DMA Database download failed */
#define DRV_DMA_FW_DOWN_FAIL -56 /* DMA Firmware download failed */
#define DRV_CLEAR_DB_FAIL -57 /* DMA Clear database on the device failed */
#define DRV_DEV_NO_VIRTUAL_MEM -60 /* USER Virtual memory not available */
#define DRV_DEV_UNMAP_VIRTUAL_MEM -61 /* USER Unmap virtual memory failed */
#define DRV_GENERAL_ERROR -70 /* DRIVER General error */
#define DRV_DMA_ERROR -71 /* DRIVER General DMA error */
#define DRV_WDG_IO_ERROR -74 /* DRIVER I/O WatchDog failed */
#define DRV_WDG_DEV_ERROR -75 /* DRIVER Device WatchDog failed */
#define DRV_USR_DRIVER_UNKNOWN -80 /* USER driver unknown */
#define DRV_USR_DEVICE_NAME_INVALID -81 /* USER device name invalid */
#define DRV_USR_DEVICE_NAME_UKNOWN -82 /* USER device name unknown */
#define DRV_USR_DEVICE_FUNC_NOTIMPL -83 /* USER device function not implemented */
#define DRV_USR_FILE_OPEN_FAILED -100 /* USER File not opened */
#define DRV_USR_FILE_SIZE_ZERO -101 /* USER File size zero */
#define DRV_USR_FILE_NO_MEMORY -102 /* USER Not enough memory to load file */
#define DRV_USR_FILE_READ_FAILED -103 /* USER File read failed */
#define DRV_USR_INVALID_FILETYPE -104 /* USER File type invalid */
#define DRV_USR_FILENAME_INVALID -105 /* USER File name not valid */
#define DRV_FW_FILE_OPEN_FAILED -110 /* USER Firmware file not opened */
#define DRV_FW_FILE_SIZE_ZERO -111 /* USER Firmware file size zero */
#define DRV_FW_FILE_NO_MEMORY -112 /* USER Not enough memory to load firmware file */
#define DRV_FW_FILE_READ_FAILED -113 /* USER Firmware file read failed */
#define DRV_FW_INVALID_FILETYPE -114 /* USER Firmware file type invalid */
#define DRV_FW_FILENAME_INVALID -115 /* USER Firmware file name not valid */
#define DRV_FW_DOWNLOAD_ERROR -116 /* USER Firmware file download error */
#define DRV_FW_FILENAME_NOT_FOUND -117 /* USER Firmware file not found in the internal table */
#define DRV_FW_BOOTLOADER_ACTIVE -118 /* USER Firmware file BOOTLOADER active */
#define DRV_FW_NO_FILE_PATH -119 /* USER Firmware file no file path */
#define DRV_CF_FILE_OPEN_FAILED -120 /* USER Configuration file not opend */
#define DRV_CF_FILE_SIZE_ZERO -121 /* USER Configuration file size zero */
#define DRV_CF_FILE_NO_MEMORY -122 /* USER Not enough memory to load configuration file */
#define DRV_CF_FILE_READ_FAILED -123 /* USER Configuration file read failed */
#define DRV_CF_INVALID_FILETYPE -124 /* USER Configuration file type invalid */
#define DRV_CF_FILENAME_INVALID -125 /* USER Configuration file name not valid */
#define DRV_CF_DOWNLOAD_ERROR -126 /* USER Configuration file download error */
#define DRV_CF_FILE_NO_SEGMENT -127 /* USER No flash segment in the configuration file */
#define DRV_CF_DIFFERS_FROM_DBM -128 /* USER Configuration file differs from database */
#define DRV_DBM_SIZE_ZERO -131 /* USER Database size zero */
#define DRV_DBM_NO_MEMORY -132 /* USER Not enough memory to upload database */
#define DRV_DBM_READ_FAILED -133 /* USER Database read failed */
#define DRV_DBM_NO_FLASH_SEGMENT -136 /* USER Database segment unknown */
#define DEV_CF_INVALID_DESCRIPT_VERSION -150/* CONFIG Version of the descript table invalid */
#define DEV_CF_INVALID_INPUT_OFFSET -151/* CONFIG Input offset is invalid */
#define DEV_CF_NO_INPUT_SIZE -152/* CONFIG Input size is 0 */
#define DEV_CF_MISMATCH_INPUT_SIZE -153/* CONFIG Input size does not match configuration */
#define DEV_CF_INVALID_OUTPUT_OFFSET -154/* CONFIG Invalid output offset */
#define DEV_CF_NO_OUTPUT_SIZE -155/* CONFIG Output size is 0 */
#define DEV_CF_MISMATCH_OUTPUT_SIZE -156/* CONFIG Output size does not match configuration */
#define DEV_CF_STN_NOT_CONFIGURED -157/* CONFIG Station not configured */
#define DEV_CF_CANNOT_GET_STN_CONFIG -158/* CONFIG Cannot get the Station configuration */
#define DEV_CF_MODULE_DEF_MISSING -159/* CONFIG Module definition is missing */
#define DEV_CF_MISMATCH_EMPTY_SLOT -160/* CONFIG Empty slot mismatch */
#define DEV_CF_MISMATCH_INPUT_OFFSET -161/* CONFIG Input offset mismatch */
#define DEV_CF_MISMATCH_OUTPUT_OFFSET -162/* CONFIG Output offset mismatch */
#define DEV_CF_MISMATCH_DATA_TYPE -163/* CONFIG Data type mismatch */
#define DEV_CF_MODULE_DEF_MISSING_NO_SI -164/* CONFIG Module definition is missing,(no Slot/Idx) */
#define DRV_RCS_ERROR_OFFSET 1000 /* RCS error number start */
/* ------------------------------------------------------------------------------------ */
/* message definition */
/* ------------------------------------------------------------------------------------ */
#pragma pack(1)
/* max. length is 288 Bytes, max message length is 255 + 8 Bytes */
typedef struct tagMSG_STRUC {
unsigned char rx;
unsigned char tx;
unsigned char ln;
unsigned char nr;
unsigned char a;
unsigned char f;
unsigned char b;
unsigned char e;
unsigned char data[255];
unsigned char dummy[25]; /* for compatibility with older definitions (288 Bytes) */
} MSG_STRUC;
#pragma pack()
/* ------------------------------------------------------------------------------------ */
/* INFO structure definitions */
/* ------------------------------------------------------------------------------------ */
#pragma pack(1)
/* DEVRESET */
#define COLDSTART 2
#define WARMSTART 3
#define BOOTSTART 4
/* DEVMBXINFO */
#define DEVICE_MBX_EMPTY 0
#define DEVICE_MBX_FULL 1
#define HOST_MBX_EMPTY 0
#define HOST_MBX_FULL 1
/* TRIGGERWATCHDOG */
#define WATCHDOG_STOP 0
#define WATCHDOG_START 1
/* GETINFO InfoArea definitions */
#define GET_DRIVER_INFO 1
#define GET_VERSION_INFO 2
#define GET_FIRMWARE_INFO 3
#define GET_TASK_INFO 4
#define GET_RCS_INFO 5
#define GET_DEV_INFO 6
#define GET_IO_INFO 7
#define GET_IO_SEND_DATA 8
#define GET_CIF_PLC_DRIVER_INFO 10
/* HOST mode definition */
#define HOST_NOT_READY 0
#define HOST_READY 1
/* DEVREADWRITERAW / DEVREADWRITEDPMDATA */
#define PARAMETER_READ 1
#define PARAMETER_WRITE 2
/* STATE definition */
#define STATE_ERR_NON 0
#define STATE_ERR 1
#define STATE_MODE_2 2
#define STATE_MODE_3 3
#define STATE_MODE_4 4
/* DEVSPECIALCONTROL */
#define SPECIAL_CONTROL_CLEAR 0
#define SPECIAL_CONTROL_SET 1
/* DEVDOWNLOAD */
#define FIRMWARE_DOWNLOAD 1
#define CONFIGURATION_DOWNLOAD 2
// DEVHWIOPORT
#define HW_PORT_SET_OUTPUT 1
#define HW_PORT_CLEAR_OUTPUT 2
#define HW_PORT_READ_INPUT 3
/* DEVMEMORYPTR */
#define MEMORY_PTR_CREATE 1
#define MEMORY_PTR_RELEASE 2
/* ------------------------------------------------------------------------------------ */
/* INFO structure definitions */
/* ------------------------------------------------------------------------------------ */
/* Device exchange IO information */
typedef struct tagIOINFO {
unsigned char bComBit; /* Actual state of the COM bit */
unsigned char bIOExchangeMode; /* Actual data exchange mode (0..5) */
unsigned long ulIOExchangeCnt; /* Exchange IO counter */
} IOINFO;
/* Device version information */
typedef struct tagVERSIONINFO { /* Device serial number and OS versions */
unsigned long ulDate;
unsigned long ulDeviceNo;
unsigned long ulSerialNo;
unsigned long ulReserved;
unsigned char abPcOsName0[4];
unsigned char abPcOsName1[4];
unsigned char abPcOsName2[4];
unsigned char abOemIdentifier[4];
} VERSIONINFO;
/* Device firmware information */
typedef struct tagFIRMWAREINFO {
unsigned char abFirmwareName[16]; /* Firmware name */
unsigned char abFirmwareVersion[16]; /* Firmware version */
} FIRMWAREINFO;
/* Device task state information */
typedef struct tagTASKSTATE {
unsigned char abTaskState[64]; /* Task state field */
} TASKSTATE;
/* Device task paramater data */
typedef struct tagTASKPARAM {
unsigned char abTaskParameter[64]; /* Task parameter field */
} TASKPARAM;
/* Device raw data structure */
typedef struct tagRAWDATA {
unsigned char abRawData[1022]; /* Definition of the last kByte */
} RAWDATA;
/* Device task information */
typedef struct tagTASKINFO {
struct {
unsigned char abTaskName[8]; /* Task name */
unsigned short usTaskVersion; /* Task version */
unsigned char bTaskCondition; /* Actual task condition */
unsigned char abreserved[5]; /* n.c. */
} tTaskInfo [7];
} TASKINFO;
/* Device operating system (RCS) information */
typedef struct tagRCSINFO {
unsigned short usRcsVersion; /* Device operating system (RCS) version */
unsigned char bRcsError; /* Operating system errors */
unsigned char bHostWatchDog; /* Host watchdog value */
unsigned char bDevWatchDog; /* Device watchdog value */
unsigned char bSegmentCount; /* RCS segment free counter */
unsigned char bDeviceAdress; /* RCS device base address */
unsigned char bDriverType; /* RCS driver type */
} RCSINFO;
/* Device description */
typedef struct tagDEVINFO {
unsigned char bDpmSize; /* Device dpm size (2,8...) */
unsigned char bDevType; /* Device type (manufactor code) */
unsigned char bDevModel; /* Device model (manufactor code) */
unsigned char abDevIdentifier[3]; /* Device identification characters */
} DEVINFO;
#pragma pack()
/* ------------------------------------------------------------------------------------ */
/* driver info structure definitions */
/* ------------------------------------------------------------------------------------ */
#pragma pack(1)
/* Board information structure */
typedef struct tagBOARD {
unsigned short usBoardNumber; /* DRV board number */
unsigned short usAvailable; /* DRV board is available */
unsigned long ulPhysicalAddress; /* DRV physical DPM address */
unsigned short usIrqNumber; /* DRV irq number */
} BOARD;
typedef struct tagBOARD_INFO{
unsigned char abDriverVersion[16]; /* DRV driver information string */
BOARD tBoard [MAX_DEV_BOARDS];
} BOARD_INFO;
/* Internal driver state information structure */
typedef struct tagDRIVERINFO{
unsigned long ulOpenCnt; /* DevOpen() counter */
unsigned long ulCloseCnt; /* DevClose() counter */
unsigned long ulReadCnt; /* Number of DevGetMessage commands */
unsigned long ulWriteCnt; /* Number of DevPutMessage commands */
unsigned long ulIRQCnt; /* Number of board interrupts */
unsigned char bInitMsgFlag; /* Actual init sate */
unsigned char bReadMsgFlag; /* Actual read mailbox state */
unsigned char bWriteMsgFlag; /* Actual write mailbox state */
unsigned char bLastFunction; /* Last driver function */
unsigned char bWriteState; /* Actual write command state */
unsigned char bReadState; /* Actual read command state */
unsigned char bHostFlags; /* Actual host flags */
unsigned char bMyDevFlags; /* Actual device falgs */
unsigned char bExIOFlag; /* Actual IO flags */
unsigned long ulExIOCnt; /* DevExchangeIO() counter */
} DRIVERINFO;
/* Extended board information structure */#
typedef struct tagBOARD_EX {
unsigned short usBoardNumber; /* DRV board number */
unsigned short usAvailable; /* DRV board is available */
unsigned long ulPhysicalAddress; /* DRV physical DPM address */
unsigned short usIrqNumber; /* DRV irq number */
DRIVERINFO tDriverInfo; /* Driver information */
FIRMWAREINFO tFirmware;
DEVINFO tDeviceInfo;
RCSINFO tRcsInfo;
VERSIONINFO tVersion;
} BOARD_EX;
typedef struct tagBOARD_INFOEX{
unsigned char abDriverVersion[16]; /* DRV driver information string */
BOARD_EX tBoard [MAX_DEV_BOARDS];
} BOARD_INFOEX;
/* Communication state field structure */
typedef struct tagCOMSTATE {
unsigned short usMode; /* Actual STATE mode */
unsigned short usStateFlag; /* State flag */
unsigned char abState[64]; /* State area */
} COMSTATE;
/* State information in bLastFunction */
#define FKT_OPEN 1
#define FKT_CLOSE 2
#define FKT_READ 3
#define FKT_WRITE 4
#define FKT_IO 5
/* State information in bWriteState and bReadState */
#define STATE_IN 0x01
#define STATE_WAIT 0x02
#define STATE_OUT 0x03
#define STATE_IN_IRQ 0x04
#pragma pack()
/* ------------------------------------------------------------------------------------ */
/* CIF100 special function definitions */
/* ------------------------------------------------------------------------------------ */
#pragma pack(1)
/*--------------------------*/
/* Device DMA download */
/*--------------------------*/
#define DEV_DMA_DOWN_FW 1
#define DEV_DMA_DOWN_DB 2
/*--------------------------*/
/* Device BACKUP RAM */
/*--------------------------*/
#define DEV_BACKUP_RAM_READ 1
#define DEV_BACKUP_RAM_WRITE 2
/*--------------------------*/
/* Device Timer */
/*--------------------------*/
#define DEV_TIMER_CTRL_START 1
#define DEV_TIMER_CTRL_STOP 2
#define DEV_TIMER_MODE_NORMAL 1
#define DEV_TIMER_MODE_NMI 2
#define DEV_TIMER_RESOLUTION_100US 0
#define DEV_TIMER_RESOLUTION_1MS 1
/*----------------------------*/
/* PLC information structure */
/*----------------------------*/
typedef struct tagCIF_PLC_DRIVER_INFO {
char *pbInput;
unsigned long ulInputSize;
char *pbOutput;
unsigned long ulOutputSize;
TASKSTATE *ptTaskState; /* Take this pointer and cast it to the protocol spez. structure */
unsigned long ulNVRAMSize;
char *pbNVRAM;
} CIF_PLC_DRIVER_INFO;
#ifndef CIF_TKIT
#ifndef NT_FUNCTIONS_INCLUDED
#define LARGE_INTEGER int
#endif
/*--------------------------*/
/* Performance test */
/*--------------------------*/
#define PERFORMANCE_START 1
#define PERFORMANCE_GETDATA 2
#define PERFORMANCE_STOP 3
#define PERFORMANCE_NETWORK 4
typedef struct tagPERFORMANCE_DATA {
unsigned short usDevNumber; /* IN Board number */
unsigned short usMeasurementMode; /* IN READ-WRITE-ONCE-CYCLIC */
unsigned char fActive; /* Performence measurement activ */
unsigned char fNetwork; /* IN inclusive/exclusive Network */
unsigned char bSendValue; /* IN value for performence test */
unsigned long dwRecvLen; /* IN receive size for interrupt */
LARGE_INTEGER ilLIfreq; /* OUT Timer frequency */
LARGE_INTEGER ilTickStartW; /* OUT WriteSTART */
LARGE_INTEGER ilTickEndW; /* OUT WriteEND */
LARGE_INTEGER ilTickStartR; /* OUT ReadSTART */
LARGE_INTEGER ilTickEndR; /* OUT ReadEND */
LARGE_INTEGER ilTickStartCycle;
LARGE_INTEGER ilTickEndCycle;
LARGE_INTEGER ilCycleTime;
LARGE_INTEGER ilTransferTime;
} PERFORMANCE_DATA_PVB; // appended _PVB because original name lead to name conflict on win32
/*--------------------------*/
/* Device RAM test test */
/*--------------------------*/
#define DEVRAMTEST_START 1
#define DEVRAMTEST_DOIT 2
#define DEVRAMTEST_RESULT 3
#define DEVRAMTEST_STOP 4
typedef struct tagDEV_RAM_TEST {
unsigned short usBoard; /* IN Board number */
unsigned short usMode; /* IN start, test, result, stop */
unsigned char fActive; /* DMA RAM test active */
unsigned char fWrite; /* Function writing */
unsigned char fRead; /* Function reading */
unsigned long dwDevStartAd;
unsigned long dwDataLen;
unsigned char ucPattern;
unsigned long dwCycleCnt;
unsigned long dwDMAerrCnt_W; /* DMA error count writing */
unsigned long dwDMAerrCnt_R; /* DMA error count reading */
unsigned long dwDATAerrCnt;
} DEV_RAM_TEST;
/*--------------------------*/
/* Logfile */
/*--------------------------*/
#define LOGFILE_HEAD 1
#define LOGFILE_REPORT 2
#define LOGFILE_ERROR 4
#define LOGFILE_DATA_MSG 8
#define LOGFILE_DATA_LENGTH 300
typedef struct tagDEV_LOGFILE_DATA {
unsigned char bSeparator; /* Seperator */
unsigned char bIdent; /* Identification */
unsigned long ulLength; /* Data length */
LARGE_INTEGER ilSystemTime; /* Time stamp */
unsigned short usBoardNumber; /* Board number */
long lErrorNumber; /* Error number */
unsigned char abData[LOGFILE_DATA_LENGTH]; /* Data */
} DEV_LOGFILE_DATA;
#endif /* !Toolkit definition */
#pragma pack()
/* ------------------------------------------------------------------------------------ */
/* Configuration file definition */
/* ------------------------------------------------------------------------------------ */
/* Descript tabel version definition */
#define RECORD_TYPE_LESS_THEN_2300 0x01
#define RECORD_TYPE_EQUAL_HIGHER_2300 0x02
/* ------------------------------------------------------------------------------------ */
/* Function prototypes */
/* ------------------------------------------------------------------------------------ */
#ifndef CIF_TKIT
short APIENTRY DevOpenDriver ( unsigned short usDevNumber);
short APIENTRY DevCloseDriver ( unsigned short usDevNumber);
short APIENTRY DevGetBoardInfo ( unsigned short usDevNumber,
unsigned short usSize,
void *pvData);
short APIENTRY DevInitBoard ( unsigned short usDevNumber,
void *pDevAddress);
short APIENTRY DevExitBoard ( unsigned short usDevNumber);
short APIENTRY DevPutTaskParameter ( unsigned short usDevNumber,
unsigned short usNumber,
unsigned short usSize,
void *pvData);
short APIENTRY DevReset ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long ulTimeout);
short APIENTRY DevPutMessage ( unsigned short usDevNumber,
MSG_STRUC *ptMessage,
unsigned long ulTimeout);
short APIENTRY DevGetMessage ( unsigned short usDevNumber,
unsigned short usSize,
MSG_STRUC *ptMessage,
unsigned long ulTimeout);
short APIENTRY DevGetTaskState ( unsigned short usDevNumber,
unsigned short usNumber,
unsigned short usSize,
void *pvData);
short APIENTRY DevGetMBXState ( unsigned short usDevNumber,
unsigned short *pusDevMBXState,
unsigned short *pusHostMBXState);
short APIENTRY DevTriggerWatchDog ( unsigned short usDevNumber,
unsigned short usFunction,
unsigned short *usDevWatchDog);
short APIENTRY DevGetInfo ( unsigned short usDevNumber,
unsigned short usFunction,
unsigned short usSize,
void *pvData);
short APIENTRY DevGetTaskParameter ( unsigned short usDevNumber,
unsigned short usNumber,
unsigned short usSize,
void *pvData);
short APIENTRY DevExchangeIO ( unsigned short usDevNumber,
unsigned short usSendOffset,
unsigned short usSendSize,
void *pvSendData,
unsigned short usReceiveOffset,
unsigned short usReceiveSize,
void *pvReceiveData,
unsigned long ulTimeout);
short APIENTRY DevReadSendData ( unsigned short usDevNumber,
unsigned short usOffset,
unsigned short usSize,
void *pvData);
short APIENTRY DevSetHostState ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long ulTimeout);
short APIENTRY DevExtendedData ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usSize,
void *pvData);
short APIENTRY DevGetMBXData ( unsigned short usDevNumber,
unsigned short usHostSize,
void *pvHostData,
unsigned short usDevSize,
void *pvDevData);
short APIENTRY DevGetBoardInfoEx ( unsigned short usDevNumber,
unsigned short usSize,
void *pvData);
short APIENTRY DevExchangeIOEx ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usSendOffset,
unsigned short usSendSize,
void *pvSendData,
unsigned short usReceiveOffset,
unsigned short usReceiveSize,
void *pvReceiveData,
unsigned long ulTimeout);
short APIENTRY DevExchangeIOErr ( unsigned short usDevNumber,
unsigned short usSendOffset,
unsigned short usSendSize,
void *pvSendData,
unsigned short usReceiveOffset,
unsigned short usReceiveSize,
void *pvReceiveData,
COMSTATE *ptState,
unsigned long ulTimeout);
short APIENTRY DevReadWriteDPMRaw ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usOffset,
unsigned short usSize,
void *pvData);
short APIENTRY DevSpecialControl ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short *pusCtrlAck);
short APIENTRY DevDownload ( unsigned short usDevNumber,
unsigned short usMode,
unsigned char *pszFileName,
DWORD *pdwBytes);
short APIENTRY DevReadWriteDPMData ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short usOffset,
unsigned short usSize,
void *pvData);
/*-------------------*/
/* Special functions */
/*-------------------*/
short APIENTRY DevGetDPMPtr ( unsigned short usMode,
unsigned short usDevNumber,
void *pvUserData,
unsigned long *pulDPMSize,
unsigned char **pDPMBase,
long *plError);
/*---------------------------*/
/* CIF100 spezific functions */
/*---------------------------*/
short APIENTRY DevPerformance ( void *ptData);
short APIENTRY DevRAMTest ( void *ptData);
short APIENTRY DevTimer ( unsigned short usDevNumber,
unsigned short usControl,
unsigned short usMode,
unsigned short usResolution,
char bTickCount);
short APIENTRY DevBackupRAM ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long ulOffset,
unsigned long ulSize,
void *pvData);
short APIENTRY DevRAMrw ( unsigned short usDevNumber,
unsigned long ulDevStartAdd,
unsigned short usDataLen,
void *pvSendData,
void *pvReceiveData,
unsigned long ulTimeout);
short APIENTRY DevDMAdown ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long ulTimeout);
short APIENTRY DevClearConfig ( unsigned short usDevNumber);
short APIENTRY DevIsPLCDataReady ( unsigned short usDevNumber,
unsigned short *pusState);
short APIENTRY DevExchangePLCData ( unsigned short usDevNumber,
unsigned short usSendSize,
unsigned short usReceiveSize,
unsigned long ulTimeout);
short APIENTRY DevHWPortControl ( unsigned short usDevNumber,
unsigned short usMode,
unsigned short *pusState);
short APIENTRY DevMemoryPtr ( unsigned short usDevNumber,
unsigned short usMode,
unsigned long usSize,
CIF_PLC_DRIVER_INFO *ptPLCData);
#endif /* !Toolkit definition */
#ifdef __cplusplus
}
#endif
#endif /* __CIFUSER_H */