Скачиваний:
21
Добавлен:
11.10.2020
Размер:
6.88 Кб
Скачать
#define REGKEY_ROOT_MACHINE		L"\\Registry\\Machine"
#define REGKEY_CODESYS_SP		REGKEY_ROOT_MACHINE L"\\Software\\3S-Smart Software Solutions GmbH\\CoDeSys SP"
#define REGKEY_RUNTIME			REGKEY_CODESYS_SP L"\\RTPLC"
#define REGKEY_VISU				REGKEY_RUNTIME L"\\Visualization"
#define REGKEY_RETAIN			REGKEY_RUNTIME L"\\Retain"
#define REGKEY_WATCHDOG			REGKEY_RUNTIME L"\\Watchdog"
#define REGKEY_COMMUNICATION	REGKEY_RUNTIME L"\\Communication"
#define REGKEY_RS232			REGKEY_COMMUNICATION L"\\RS232"
#define REGKEY_TCPIP			REGKEY_COMMUNICATION L"\\TcpIp"
#define REGKEY_PIPE				REGKEY_COMMUNICATION L"\\Pipe"
#define REGKEY_IODEVICES		REGKEY_RUNTIME L"\\IO Devices\\"
#define REGKEY_EXTERNALDLLS		REGKEY_RUNTIME L"\\External DLLs"
#define REGKEY_OUTPUTS			REGKEY_RUNTIME L"\\Outputs"
#define REGVAL_TYPE				L"Type"
#define REGVAL_SIZE				L"Size"
#define REGVAL_INTERVAL			L"Interval"
#define REGVAL_CYCLETIME		L"Cycletime"
#define REGVAL_MULTIPLIER		L"Multiplier"
#define REGVAL_PORT				L"Port"
#define REGVAL_BAUDRATE			L"Baudrate"
#define REGVAL_TIMEOUT			L"Timeout"
#define REGVAL_NAME				L"Name"
#define REGVAL_ENABLE			L"Enable"
#define REGVAL_FILES			L"Files"
#define REGVAL_FILE				L"File"
#define REGVAL_MAIN				L"Main"
#define REGVAL_PATH				L"Path"
#define REGVAL_ADDRESS			L"Address"
#define REGVAL_FORCE			L"Force"
#define REGVAL_VALUE			L"Value"
#define REGVAL_RESTORE			L"Restore"
#define REGVAL_CHECKEXTREF		L"CheckExtRef"
#define REGVAL_PRIORITY			L"Priority"

#define SZREGKEY_ROOT_MACHINE		"\\Registry\\Machine"
#define SZREGKEY_CODESYS_SP			SZREGKEY_ROOT_MACHINE "\\Software\\3S-Smart Software Solutions GmbH\\CoDeSys SP"
#define SZREGKEY_RUNTIME			SZREGKEY_CODESYS_SP "\\RTPLC"
#define SZREGKEY_VISU				SZREGKEY_RUNTIME "\\Visualization"
#define SZREGKEY_RETAIN				SZREGKEY_RUNTIME "\\Retain"
#define SZREGKEY_WATCHDOG			SZREGKEY_RUNTIME "\\Watchdog"
#define SZREGKEY_COMMUNICATION		SZREGKEY_RUNTIME "\\Communication"
#define SZREGKEY_RS232				SZREGKEY_COMMUNICATION "\\RS232"
#define SZREGKEY_TCPIP				SZREGKEY_COMMUNICATION "\\TcpIp"
#define SZREGKEY_PIPE				SZREGKEY_COMMUNICATION "\\Pipe"
#define SZREGKEY_IODEVICES			SZREGKEY_RUNTIME "\\IO Devices\\"
#define SZREGKEY_EXTERNALDLLS		SZREGKEY_RUNTIME "\\External DLLs"
#define SZREGKEY_OUTPUTS			SZREGKEY_RUNTIME "\\Outputs"
#define SZREGVAL_TYPE				"Type"
#define SZREGVAL_SIZE				"Size"
#define SZREGVAL_INTERVAL			"Interva"
#define SZREGVAL_CYCLETIME			"Cycletime"
#define SZREGVAL_MULTIPLIER			"Multiplier"
#define SZREGVAL_PORT				"Port"
#define SZREGVAL_BAUDRATE			"Baudrate"
#define SZREGVAL_TIMEOUT			"Timeout"
#define SZREGVAL_NAME				"Name"
#define SZREGVAL_ENABLE				"Enable"
#define SZREGVAL_FILES				"Files"
#define SZREGVAL_FILE				"File"
#define SZREGVAL_MAIN				"Main"
#define SZREGVAL_PATH				"Path"
#define SZREGVAL_ADDRESS			"Address"
#define SZREGVAL_FORCE				"Force"
#define SZREGVAL_VALUE				"Value"
#define SZREGVAL_RESTORE			"Restore"
#define SZREGVAL_CHECKEXTREF		"CheckExtRef"
#define SZREGVAL_PRIORITY			"Priority"
#define SZREGVAL_LASTEXITSTAT		"LastExit"

/*These functions are called from the kernel.*/
unsigned long IODrvInitIO(unsigned long ulPar);

unsigned long IODrvExitIO(void);

unsigned long IODrvGetId(void* pData);

unsigned long IODrvGetDeviceFlags(unsigned long ulDeviceNr);

void IODrvGetIORange(unsigned long* pulOffset, unsigned long* pulSize);

char IODrvConfigureIONetStart(unsigned long ulDeviceNr);

char IODrvConfigureIONetDone(unsigned long ulDeviceNr);

char IODrvConfigureModule(int iModule, void* pModConfData, unsigned long ulDeviceNr);

char IODrvConfigureDevice(void* pBusDesc, unsigned long ulDeviceNr);

char IODrvStartWriteOutputs(unsigned long ulTaskNr, unsigned long ulCycleTime, int iDevice);

char IODrvWriteOutput(unsigned long ulOffset, unsigned long ulSize, unsigned char* pucData, unsigned long ulTaskNr, int iDevice);

char IODrvDoneWriteOutputs(unsigned long ulTaskNr, unsigned long ulCycleTime, int iDevice);

char IODrvStartReadInputs(unsigned long ulTaskNr, unsigned long ulCycleTime, int iDevice);

char IODrvReadInput(unsigned long ulOffset, unsigned long ulSize, unsigned char* pucData, unsigned long ulTaskNr, int iDevice);

char IODrvDoneReadInputs(unsigned long ulTaskNr, unsigned long ulCycleTime, int iDevice);

char IODrvPLCStatusChanges(char cNewState);

unsigned long IODrvEnterNMIServiceRoutine(unsigned long ulPar);

void IODrvLeaveNMIRoutine(void);

int IODrvStartInterrupt(int iParam);

int IODrvStopInterrupt(int iParam);

unsigned long IODrvRetainSave(unsigned short sSegment, unsigned char *pbyData, unsigned long ulSize, int iDevice);

unsigned long IODrvRetainRestore(unsigned short sSegment, unsigned char *pbyData, unsigned long ulSize, int iDevice);

unsigned long IODrvCyclicCallback(__int64* pliCurTime);

void* IODrvGetExtRefTable(void);

unsigned long IODrvPreComputeService(unsigned char* pbyReceive, unsigned long ulRecvLen, unsigned char* pbySend);

unsigned long IODrvPostComputeService(unsigned char* pbyReceive, unsigned long ulRecvLen, unsigned char* pbySend, unsigned long ulSendLen);

unsigned int IODrvSrvBrowserCmds(char* pszCommand, char* pszAnswer, unsigned int iSubCommand, unsigned int iBlockNr, char* pcActiveBrowserCommand);

unsigned int IODrvAddBrowserhelp(char* pszAnswer, unsigned short usCurNr);

unsigned long IODrvProcessHook(unsigned long ulHook, unsigned long ulAdditionalInfo);

/*The following functions are functions who call the kernel.*/
int IODrvCreateTask(int iPriority, unsigned long ulCycleTime, int (*pfEntry)(void*), void* pArg, unsigned long ulFlags);

int IODrvDeleteTask(int iPriority);

int IODrvWaitForObject(int iWaitObjectNr, unsigned long ulMaxTime);

int IODrvSetObject(int iWaitObjectNr);

int IODrvSleep(unsigned long ulSleepTime);

int IODrvResume(int iPriority);

int IODrvSuspend(int iPriority);

int IOdrvAsynchFileOpen(void** pHandle,unsigned long ulAttributes,char* pszName);

int IOdrvAsynchFileClose(void* Handle);

int IOdrvAsynchFileRead(void* Handle, char* pBuffer, unsigned long ulSize);

int IOdrvAsynchFileWrite(void* Handle, char* pBuffer, unsigned long ulSize);

int IOdrvSynchFileOpen(void** pHandle,unsigned long ulAttributes,char* pszName);

int IOdrvSynchFileClose(void* Handle);

int IOdrvSynchFileRead(void* Handle, char* pBuffer, unsigned long ulSize);

int IOdrvSynchFileWrite(void* Handle, char* pBuffer, unsigned long ulSize);

ProjectInfo* IODrvGetProjectInfo(void);

/*TargetID from driver:*/
char IODrvGetTargetIds(unsigned long *pulIOTrgId, unsigned long *pulIOHookId);

RTS_LAST_ERROR* IODrvGetLastError(void);

int IODrvGetSystemTimeFromBoot(__int64* pil);

char* IODrvGetAddress(unsigned long ulSegment);

unsigned long IODrvGetSegSize(unsigned long ulSegment);
Соседние файлы в папке IODriver ToolKit