Initial Commit

This commit is contained in:
Michael Rest
2012-01-04 09:54:46 +01:00
commit fad3a47cc4
258 changed files with 7583 additions and 0 deletions

3
README Normal file
View File

@@ -0,0 +1,3 @@
Franz Oberflächentechnik
Kreislaufwasser / Lüfter
B&R AS 3

9
franz_kw/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
Temp/
Binaries/
Diagnosis/
*.dock
*.AppleDouble/
.DS_Store
*.back
*.orig
*.isopen

6
franz_kw/LastUser.set Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<ProjectSettings xmlns="http://br-automation.co.at/AS/ProjectSettings">
<Print Header="%lProject: %n%c%x" Footer="%cPage: %p" />
<ConfigurationManager ActiveConfigurationName="Config1" />
</ProjectSettings>

View File

@@ -0,0 +1,13 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* File: Global.typ
* Author: michi
* Created: January 03, 2012
********************************************************************
* Global data types of project franz_kw
********************************************************************)
TYPE
END_TYPE

View File

@@ -0,0 +1,17 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* File: Global.var
* Author: michi
* Created: January 03, 2012
********************************************************************
* Global variables of project franz_kw
********************************************************************)
VAR
END_VAR
VAR CONSTANT
END_VAR

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="This library contains function interfaces for IEC 1131-3 conversion functions." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>AsIecCon.fun</File>
</Files>
<Dependencies>
<Dependency ObjectName="AsTime" />
</Dependencies>
</Library>

View File

@@ -0,0 +1,49 @@
/* Automation Studio Generated Header File, Format Version 1.00 */
/* do not change */
#ifndef ASIECCON_H_
#define ASIECCON_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <bur/plc.h>
/* Constants */
/* Datatypes */
/* Datatypes of function blocks */
/* Prototyping of functions and function blocks */
signed short H_TO_NINT(signed short IN);
unsigned short H_TO_NUINT(unsigned short IN);
signed long H_TO_NDINT(signed long IN);
unsigned long H_TO_NUDINT(unsigned long IN);
float H_TO_NREAL(float IN);
plctime H_TO_NTIME(plctime IN);
DATE_AND_TIME H_TO_NDT(DATE_AND_TIME IN);
signed short N_TO_HINT(signed short IN);
unsigned short N_TO_HUINT(unsigned short IN);
signed long N_TO_HDINT(signed long IN);
unsigned long N_TO_HUDINT(unsigned long IN);
float N_TO_HREAL(float IN);
plctime N_TO_HTIME(plctime IN);
DATE_AND_TIME N_TO_HDT(DATE_AND_TIME IN);
signed short swapINT(signed short IN);
unsigned short swapUINT(unsigned short IN);
signed long swapDINT(signed long IN);
unsigned long swapUDINT(unsigned long IN);
float swapREAL(float IN);
#ifdef __cplusplus
};
#endif
#endif /* ASIECCON_H_ */

View File

@@ -0,0 +1,62 @@
/* Automation Studio Generated Header File, Format Version 1.00 */
/* do not change */
#ifndef ASIECCON_H_
#define ASIECCON_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <bur/plc.h>
/* Constants */
/* Datatypes */
/* Datatypes of function blocks */
/* Prototyping of functions and function blocks */
signed short H_TO_NINT(signed short IN);
unsigned short H_TO_NUINT(unsigned short IN);
signed long H_TO_NDINT(signed long IN);
unsigned long H_TO_NUDINT(unsigned long IN);
float H_TO_NREAL(float IN);
plctime H_TO_NTIME(plctime IN);
DATE_AND_TIME H_TO_NDT(DATE_AND_TIME IN);
DATE H_TO_NDATE(DATE IN);
TOD H_TO_NTOD(TOD IN);
signed short N_TO_HINT(signed short IN);
unsigned short N_TO_HUINT(unsigned short IN);
signed long N_TO_HDINT(signed long IN);
unsigned long N_TO_HUDINT(unsigned long IN);
float N_TO_HREAL(float IN);
plctime N_TO_HTIME(plctime IN);
DATE_AND_TIME N_TO_HDT(DATE_AND_TIME IN);
DATE N_TO_HDATE(DATE IN);
TOD N_TO_HTOD(TOD IN);
signed short swapINT(signed short IN);
unsigned short swapUINT(unsigned short IN);
WORD swapWORD(WORD IN);
signed long swapDINT(signed long IN);
unsigned long swapUDINT(unsigned long IN);
DWORD swapDWORD(DWORD IN);
TIME swapTIME(TIME IN);
DATE_AND_TIME swapDT(DATE_AND_TIME IN);
DATE swapDATE(DATE IN);
TOD swapTOD(TOD IN);
float swapREAL(float IN);
/* The interface declarations of the AsIecCon functions are not included here
* because they are inline in IEC languages. The x_TO_STRING and the
* STRING_TO_x functions are not available for C programms. */
#ifdef __cplusplus
};
#endif
#endif /* ASIECCON_H_ */

View File

@@ -0,0 +1,62 @@
/* Automation Studio Generated Header File, Format Version 1.00 */
/* do not change */
#ifndef ASIECCON_H_
#define ASIECCON_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <bur/plc.h>
/* Constants */
/* Datatypes */
/* Datatypes of function blocks */
/* Prototyping of functions and function blocks */
signed short H_TO_NINT(signed short IN);
unsigned short H_TO_NUINT(unsigned short IN);
signed long H_TO_NDINT(signed long IN);
unsigned long H_TO_NUDINT(unsigned long IN);
float H_TO_NREAL(float IN);
plctime H_TO_NTIME(plctime IN);
DATE_AND_TIME H_TO_NDT(DATE_AND_TIME IN);
DATE H_TO_NDATE(DATE IN);
TOD H_TO_NTOD(TOD IN);
signed short N_TO_HINT(signed short IN);
unsigned short N_TO_HUINT(unsigned short IN);
signed long N_TO_HDINT(signed long IN);
unsigned long N_TO_HUDINT(unsigned long IN);
float N_TO_HREAL(float IN);
plctime N_TO_HTIME(plctime IN);
DATE_AND_TIME N_TO_HDT(DATE_AND_TIME IN);
DATE N_TO_HDATE(DATE IN);
TOD N_TO_HTOD(TOD IN);
signed short swapINT(signed short IN);
unsigned short swapUINT(unsigned short IN);
WORD swapWORD(WORD IN);
signed long swapDINT(signed long IN);
unsigned long swapUDINT(unsigned long IN);
DWORD swapDWORD(DWORD IN);
TIME swapTIME(TIME IN);
DATE_AND_TIME swapDT(DATE_AND_TIME IN);
DATE swapDATE(DATE IN);
TOD swapTOD(TOD IN);
float swapREAL(float IN);
/* The interface declarations of the AsIecCon functions are not included here
* because they are inline in IEC languages. The x_TO_STRING and the
* STRING_TO_x functions are not available for C programms. */
#ifdef __cplusplus
};
#endif
#endif /* ASIECCON_H_ */

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="The DRV_mbus library provides functions that allow a B&amp;R System to communicate via Modbus communication." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>DRV_mbus.var</File>
<File>DRV_mbus.fun</File>
</Files>
<Dependencies>
<Dependency ObjectName="dvframe" />
<Dependency ObjectName="DataObj" />
<Dependency ObjectName="runtime" />
</Dependencies>
</Library>

View File

@@ -0,0 +1,107 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: DRV_mbus
* File: DRV_mbus.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library DRV_mbus
********************************************************************)
FUNCTION_BLOCK MBMCmd (*operates the modbus protocol in runtime*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*identifier of the MBMOpen() FBK*)
mfc :USINT; (*modbus function call*)
node :USINT; (*station number (0 = broadcast)*)
data :UDINT; (*pointer to the data area*)
offset :UINT; (*offset*)
len :UINT; (*size of data*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK MBMClose (*closes the driver environment to enable the MBMOpen() FBK to be called again*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*identifier of the MBMOpen() FBK*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK MBMaster (*operates the modbus protocol in runtime*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*identifier of the MBMOpen() FBK*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
execute :BOOL; (*command executed (execute = 1)*)
recordnum :UINT; (*number of the entry in the data object currently being processed*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK MBMOpen (*configures the interface and initializes the internal structures that are required*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDevice :UDINT; (*device name given as a pointer*)
pMode :UDINT; (*pointer to the mode description string*)
pConfig :UDINT; (*pointer to the data object name*)
timeout :UINT; (*response timeout in milliseconds (the value must be a multiple of 10)*)
ascii :USINT; (*modBus mode (0 = RTU / 1 = ASCII)*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
ident :UDINT; (*identifier for the MBMaster(), MBMCmd() and MBMClose() FBKs*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK MBSClose (*closes the driver environment to enable the MBSOpen() FBK to be called again*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*identifier of the MBSOpen() FBK*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
InitCount :USINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK MBSlave (*operates the modbus protocol in runtime*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*identifier of the MBSOpen() FBK*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
exec :UINT; (*counter for modbus commands received*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK MBSOpen (*configures the interface and initializes the internal structures that are required*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDevice :UDINT; (*device name given as a pointer*)
pMode :UDINT; (*pointer to the mode description string*)
pCoilStat :UDINT; (*pointer to the coil status (modbus simulation variable)*)
pInputStat :UDINT; (*pointer to the input status (modbus simulation variable)*)
pHoldingReg :UDINT; (*pointer to the holding register (modbus simulation variable)*)
pInputReg :UDINT; (*pointer to the input register (modbus simulation variable)*)
own_ID :USINT; (*own node number*)
timeout :UINT; (*response timeout in milliseconds (the value must be a multiple of 10)*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
ident :UDINT; (*identifier for the MBClient() and MBSClose() FBKs*)
END_VAR
VAR
FirstInit :UDINT; (*internal variable*)
InitCount :USINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,37 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: DRV_mbus
* File: DRV_mbus.var
* Author: B+R
********************************************************************
* Local variables of library DRV_mbus
********************************************************************)
VAR CONSTANT
mbERR_INVALID_PARAM : UINT := 20201; (*invalid FBK parameter (e.g. pDevice = 0)*)
mbERR_ILG_O_NODE_N : UINT := 20205; (*invalid own_ID stated in MBSOpen() FBK; valid IDs are between 1 and 247*)
mbERR_ILG_IDENT : UINT := 20210; (*invalid ID or ID is 0*)
mbERR_ILG_MBVAR : UINT := 20215; (*ModBus simulation variable invalid or missing (MBSOpen() and MBSlave() FBK)*)
mbERR_NODE_TOUT : UINT := 20220; (*in MBSOpen(), MBMOpen(): invalid value for timeout parameter, in MBMCmd(), MBMaster(), MBSlave(): timeout detected*)
mbERR_CMD_ENTRY : UINT := 20240; (*invalid entry in data object, invalid length of data object*)
mbERR_CMD_NULL : UINT := 20241; (*data object not present or data parameter in MBMCmd FBK is 0*)
mbERR_CMD_EVENTPV : UINT := 20242; (*invalid EventPV stated in the data object*)
mbERR_CMD_FUNCTION : UINT := 20243; (*invalid ModBus function stated in the data object or in the MBMCmd() FBK*)
mbERR_CMD_NODE : UINT := 20244; (*invalid nodenumber stated in the data object or in the MBMCmd() FBK*)
mbERR_CMD_LOCALPV : UINT := 20245; (*invalid EventPV stated in the data object*)
mbERR_CMD_LENGTH : UINT := 20246; (*invalid length stated in the data object*)
mbERR_NO_MEM : UINT := 20250; (*no memory for internal library management*)
mbERR_MEM_FREE : UINT := 20252; (*memory for internal library management cannot be freed*)
mbERR_RESP_ERROR : UINT := 20260; (*invalid frame received*)
mbERR_RESP_LENGTH : UINT := 20261; (*frame with wrong length received*)
mbERR_RESP_INVALID : UINT := 20262; (*error in frame*)
mbERR_RESP_CRC : UINT := 20263; (*error in frame check (CRC / LRC) MBMaster() and MBMCmd()*)
mbERR_QUERY_CRC : UINT := 20264; (*error in frame check (CRC) MBMSlave()*)
mbERR_FRM_READ : UINT := 20291; (*error while receiving a frame (FRM_read())*)
mbERR_FRM_GETBUF : UINT := 20292; (*no write buffer available (FRM_gbuf())*)
mbERR_FRM_WRITE : UINT := 20293; (*error while writing a frame (FRM_write())*)
mbERR_FRM_RELOUTBUF : UINT := 20294; (*error in buffer return (FRM_robuf())*)
mbERR_FRM_RELBUF : UINT := 20295; (*error in buffer return (FRM_rbuf())*)
mbERR_FRM_CLOSE : UINT := 20296; (*error while closing the interface (FRM_close())*)
END_VAR

View File

@@ -0,0 +1,193 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DRV_MBUS_
#define _DRV_MBUS_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <DataObj.h>
#include <dvframe.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define mbERR_INVALID_PARAM 20201U
#define mbERR_ILG_O_NODE_N 20205U
#define mbERR_ILG_IDENT 20210U
#define mbERR_ILG_MBVAR 20215U
#define mbERR_NODE_TOUT 20220U
#define mbERR_CMD_ENTRY 20240U
#define mbERR_CMD_NULL 20241U
#define mbERR_CMD_EVENTPV 20242U
#define mbERR_CMD_FUNCTION 20243U
#define mbERR_CMD_NODE 20244U
#define mbERR_CMD_LOCALPV 20245U
#define mbERR_CMD_LENGTH 20246U
#define mbERR_NO_MEM 20250U
#define mbERR_MEM_FREE 20252U
#define mbERR_RESP_ERROR 20260U
#define mbERR_RESP_LENGTH 20261U
#define mbERR_RESP_INVALID 20262U
#define mbERR_RESP_CRC 20263U
#define mbERR_QUERY_CRC 20264U
#define mbERR_FRM_READ 20291U
#define mbERR_FRM_GETBUF 20292U
#define mbERR_FRM_WRITE 20293U
#define mbERR_FRM_RELOUTBUF 20294U
#define mbERR_FRM_RELBUF 20295U
#define mbERR_FRM_CLOSE 20296U
#else
_IEC_CONST unsigned short mbERR_INVALID_PARAM = 20201U;
_IEC_CONST unsigned short mbERR_ILG_O_NODE_N = 20205U;
_IEC_CONST unsigned short mbERR_ILG_IDENT = 20210U;
_IEC_CONST unsigned short mbERR_ILG_MBVAR = 20215U;
_IEC_CONST unsigned short mbERR_NODE_TOUT = 20220U;
_IEC_CONST unsigned short mbERR_CMD_ENTRY = 20240U;
_IEC_CONST unsigned short mbERR_CMD_NULL = 20241U;
_IEC_CONST unsigned short mbERR_CMD_EVENTPV = 20242U;
_IEC_CONST unsigned short mbERR_CMD_FUNCTION = 20243U;
_IEC_CONST unsigned short mbERR_CMD_NODE = 20244U;
_IEC_CONST unsigned short mbERR_CMD_LOCALPV = 20245U;
_IEC_CONST unsigned short mbERR_CMD_LENGTH = 20246U;
_IEC_CONST unsigned short mbERR_NO_MEM = 20250U;
_IEC_CONST unsigned short mbERR_MEM_FREE = 20252U;
_IEC_CONST unsigned short mbERR_RESP_ERROR = 20260U;
_IEC_CONST unsigned short mbERR_RESP_LENGTH = 20261U;
_IEC_CONST unsigned short mbERR_RESP_INVALID = 20262U;
_IEC_CONST unsigned short mbERR_RESP_CRC = 20263U;
_IEC_CONST unsigned short mbERR_QUERY_CRC = 20264U;
_IEC_CONST unsigned short mbERR_FRM_READ = 20291U;
_IEC_CONST unsigned short mbERR_FRM_GETBUF = 20292U;
_IEC_CONST unsigned short mbERR_FRM_WRITE = 20293U;
_IEC_CONST unsigned short mbERR_FRM_RELOUTBUF = 20294U;
_IEC_CONST unsigned short mbERR_FRM_RELBUF = 20295U;
_IEC_CONST unsigned short mbERR_FRM_CLOSE = 20296U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct MBMCmd
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned char mfc;
unsigned char node;
unsigned long data;
unsigned short offset;
unsigned short len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMCmd_typ;
typedef struct MBMClose
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMClose_typ;
typedef struct MBMaster
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned short recordnum;
/* VAR_INPUT (digital) */
plcbit enable;
/* VAR_OUTPUT (digital) */
plcbit execute;
} MBMaster_typ;
typedef struct MBMOpen
{
/* VAR_INPUT (analog) */
unsigned long pDevice;
unsigned long pMode;
unsigned long pConfig;
unsigned short timeout;
unsigned char ascii;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMOpen_typ;
typedef struct MBSClose
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned char InitCount;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSClose_typ;
typedef struct MBSlave
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned short exec;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSlave_typ;
typedef struct MBSOpen
{
/* VAR_INPUT (analog) */
unsigned long pDevice;
unsigned long pMode;
unsigned long pCoilStat;
unsigned long pInputStat;
unsigned long pHoldingReg;
unsigned long pInputReg;
unsigned char own_ID;
unsigned short timeout;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR (analog) */
unsigned long FirstInit;
unsigned char InitCount;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSOpen_typ;
/* Prototyping of functions and function blocks */
void MBMCmd(struct MBMCmd* inst);
void MBMClose(struct MBMClose* inst);
void MBMaster(struct MBMaster* inst);
void MBMOpen(struct MBMOpen* inst);
void MBSClose(struct MBSClose* inst);
void MBSlave(struct MBSlave* inst);
void MBSOpen(struct MBSOpen* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DRV_MBUS_ */

View File

@@ -0,0 +1,194 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DRV_MBUS_
#define _DRV_MBUS_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <DataObj.h>
#include <dvframe.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define mbERR_INVALID_PARAM 20201U
#define mbERR_ILG_O_NODE_N 20205U
#define mbERR_ILG_IDENT 20210U
#define mbERR_ILG_MBVAR 20215U
#define mbERR_NODE_TOUT 20220U
#define mbERR_CMD_ENTRY 20240U
#define mbERR_CMD_NULL 20241U
#define mbERR_CMD_EVENTPV 20242U
#define mbERR_CMD_FUNCTION 20243U
#define mbERR_CMD_NODE 20244U
#define mbERR_CMD_LOCALPV 20245U
#define mbERR_CMD_LENGTH 20246U
#define mbERR_NO_MEM 20250U
#define mbERR_MEM_FREE 20252U
#define mbERR_RESP_ERROR 20260U
#define mbERR_RESP_LENGTH 20261U
#define mbERR_RESP_INVALID 20262U
#define mbERR_RESP_CRC 20263U
#define mbERR_QUERY_CRC 20264U
#define mbERR_FRM_READ 20291U
#define mbERR_FRM_GETBUF 20292U
#define mbERR_FRM_WRITE 20293U
#define mbERR_FRM_RELOUTBUF 20294U
#define mbERR_FRM_RELBUF 20295U
#define mbERR_FRM_CLOSE 20296U
#else
_IEC_CONST unsigned short mbERR_INVALID_PARAM = 20201U;
_IEC_CONST unsigned short mbERR_ILG_O_NODE_N = 20205U;
_IEC_CONST unsigned short mbERR_ILG_IDENT = 20210U;
_IEC_CONST unsigned short mbERR_ILG_MBVAR = 20215U;
_IEC_CONST unsigned short mbERR_NODE_TOUT = 20220U;
_IEC_CONST unsigned short mbERR_CMD_ENTRY = 20240U;
_IEC_CONST unsigned short mbERR_CMD_NULL = 20241U;
_IEC_CONST unsigned short mbERR_CMD_EVENTPV = 20242U;
_IEC_CONST unsigned short mbERR_CMD_FUNCTION = 20243U;
_IEC_CONST unsigned short mbERR_CMD_NODE = 20244U;
_IEC_CONST unsigned short mbERR_CMD_LOCALPV = 20245U;
_IEC_CONST unsigned short mbERR_CMD_LENGTH = 20246U;
_IEC_CONST unsigned short mbERR_NO_MEM = 20250U;
_IEC_CONST unsigned short mbERR_MEM_FREE = 20252U;
_IEC_CONST unsigned short mbERR_RESP_ERROR = 20260U;
_IEC_CONST unsigned short mbERR_RESP_LENGTH = 20261U;
_IEC_CONST unsigned short mbERR_RESP_INVALID = 20262U;
_IEC_CONST unsigned short mbERR_RESP_CRC = 20263U;
_IEC_CONST unsigned short mbERR_QUERY_CRC = 20264U;
_IEC_CONST unsigned short mbERR_FRM_READ = 20291U;
_IEC_CONST unsigned short mbERR_FRM_GETBUF = 20292U;
_IEC_CONST unsigned short mbERR_FRM_WRITE = 20293U;
_IEC_CONST unsigned short mbERR_FRM_RELOUTBUF = 20294U;
_IEC_CONST unsigned short mbERR_FRM_RELBUF = 20295U;
_IEC_CONST unsigned short mbERR_FRM_CLOSE = 20296U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct MBMCmd
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned char mfc;
unsigned char node;
unsigned long data;
unsigned short offset;
unsigned short len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMCmd_typ;
typedef struct MBMClose
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMClose_typ;
typedef struct MBMaster
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned short recordnum;
/* VAR_INPUT (digital) */
plcbit enable;
/* VAR_OUTPUT (digital) */
plcbit execute;
} MBMaster_typ;
typedef struct MBMOpen
{
/* VAR_INPUT (analog) */
unsigned long pDevice;
unsigned long pMode;
unsigned long pConfig;
unsigned short timeout;
unsigned char ascii;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMOpen_typ;
typedef struct MBSClose
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned char InitCount;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSClose_typ;
typedef struct MBSlave
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned short exec;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSlave_typ;
typedef struct MBSOpen
{
/* VAR_INPUT (analog) */
unsigned long pDevice;
unsigned long pMode;
unsigned long pCoilStat;
unsigned long pInputStat;
unsigned long pHoldingReg;
unsigned long pInputReg;
unsigned char own_ID;
unsigned short timeout;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR (analog) */
unsigned long FirstInit;
unsigned char InitCount;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSOpen_typ;
/* Prototyping of functions and function blocks */
void MBMCmd(struct MBMCmd* inst);
void MBMClose(struct MBMClose* inst);
void MBMaster(struct MBMaster* inst);
void MBMOpen(struct MBMOpen* inst);
void MBSClose(struct MBSClose* inst);
void MBSlave(struct MBSlave* inst);
void MBSOpen(struct MBSOpen* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DRV_MBUS_ */

View File

@@ -0,0 +1,194 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DRV_MBUS_
#define _DRV_MBUS_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <DataObj.h>
#include <dvframe.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define mbERR_INVALID_PARAM 20201U
#define mbERR_ILG_O_NODE_N 20205U
#define mbERR_ILG_IDENT 20210U
#define mbERR_ILG_MBVAR 20215U
#define mbERR_NODE_TOUT 20220U
#define mbERR_CMD_ENTRY 20240U
#define mbERR_CMD_NULL 20241U
#define mbERR_CMD_EVENTPV 20242U
#define mbERR_CMD_FUNCTION 20243U
#define mbERR_CMD_NODE 20244U
#define mbERR_CMD_LOCALPV 20245U
#define mbERR_CMD_LENGTH 20246U
#define mbERR_NO_MEM 20250U
#define mbERR_MEM_FREE 20252U
#define mbERR_RESP_ERROR 20260U
#define mbERR_RESP_LENGTH 20261U
#define mbERR_RESP_INVALID 20262U
#define mbERR_RESP_CRC 20263U
#define mbERR_QUERY_CRC 20264U
#define mbERR_FRM_READ 20291U
#define mbERR_FRM_GETBUF 20292U
#define mbERR_FRM_WRITE 20293U
#define mbERR_FRM_RELOUTBUF 20294U
#define mbERR_FRM_RELBUF 20295U
#define mbERR_FRM_CLOSE 20296U
#else
_IEC_CONST unsigned short mbERR_INVALID_PARAM = 20201U;
_IEC_CONST unsigned short mbERR_ILG_O_NODE_N = 20205U;
_IEC_CONST unsigned short mbERR_ILG_IDENT = 20210U;
_IEC_CONST unsigned short mbERR_ILG_MBVAR = 20215U;
_IEC_CONST unsigned short mbERR_NODE_TOUT = 20220U;
_IEC_CONST unsigned short mbERR_CMD_ENTRY = 20240U;
_IEC_CONST unsigned short mbERR_CMD_NULL = 20241U;
_IEC_CONST unsigned short mbERR_CMD_EVENTPV = 20242U;
_IEC_CONST unsigned short mbERR_CMD_FUNCTION = 20243U;
_IEC_CONST unsigned short mbERR_CMD_NODE = 20244U;
_IEC_CONST unsigned short mbERR_CMD_LOCALPV = 20245U;
_IEC_CONST unsigned short mbERR_CMD_LENGTH = 20246U;
_IEC_CONST unsigned short mbERR_NO_MEM = 20250U;
_IEC_CONST unsigned short mbERR_MEM_FREE = 20252U;
_IEC_CONST unsigned short mbERR_RESP_ERROR = 20260U;
_IEC_CONST unsigned short mbERR_RESP_LENGTH = 20261U;
_IEC_CONST unsigned short mbERR_RESP_INVALID = 20262U;
_IEC_CONST unsigned short mbERR_RESP_CRC = 20263U;
_IEC_CONST unsigned short mbERR_QUERY_CRC = 20264U;
_IEC_CONST unsigned short mbERR_FRM_READ = 20291U;
_IEC_CONST unsigned short mbERR_FRM_GETBUF = 20292U;
_IEC_CONST unsigned short mbERR_FRM_WRITE = 20293U;
_IEC_CONST unsigned short mbERR_FRM_RELOUTBUF = 20294U;
_IEC_CONST unsigned short mbERR_FRM_RELBUF = 20295U;
_IEC_CONST unsigned short mbERR_FRM_CLOSE = 20296U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct MBMCmd
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned char mfc;
unsigned char node;
unsigned long data;
unsigned short offset;
unsigned short len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMCmd_typ;
typedef struct MBMClose
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMClose_typ;
typedef struct MBMaster
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned short recordnum;
/* VAR_INPUT (digital) */
plcbit enable;
/* VAR_OUTPUT (digital) */
plcbit execute;
} MBMaster_typ;
typedef struct MBMOpen
{
/* VAR_INPUT (analog) */
unsigned long pDevice;
unsigned long pMode;
unsigned long pConfig;
unsigned short timeout;
unsigned char ascii;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR_INPUT (digital) */
plcbit enable;
} MBMOpen_typ;
typedef struct MBSClose
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned char InitCount;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSClose_typ;
typedef struct MBSlave
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned short exec;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSlave_typ;
typedef struct MBSOpen
{
/* VAR_INPUT (analog) */
unsigned long pDevice;
unsigned long pMode;
unsigned long pCoilStat;
unsigned long pInputStat;
unsigned long pHoldingReg;
unsigned long pInputReg;
unsigned char own_ID;
unsigned short timeout;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR (analog) */
unsigned long FirstInit;
unsigned char InitCount;
/* VAR_INPUT (digital) */
plcbit enable;
} MBSOpen_typ;
/* Prototyping of functions and function blocks */
void MBMCmd(struct MBMCmd* inst);
void MBMClose(struct MBMClose* inst);
void MBMaster(struct MBMaster* inst);
void MBMOpen(struct MBMOpen* inst);
void MBSClose(struct MBSClose* inst);
void MBSlave(struct MBSlave* inst);
void MBSOpen(struct MBSOpen* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DRV_MBUS_ */

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="The DataObj library can be used to dynamically create, dynamically delete and copy data objects, etc. " xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>DataObj.var</File>
<File>DataObj.typ</File>
<File>DataObj.fun</File>
</Files>
<Dependencies>
<Dependency ObjectName="runtime" />
</Dependencies>
</Library>

View File

@@ -0,0 +1,166 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: DataObj
* File: DataObj.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library DataObj
********************************************************************)
FUNCTION_BLOCK DatObjCreate (*creates a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
grp :USINT; (*group ID for the data object (default 0x00), must be set to zero*)
pName :UDINT; (*pointer to name of the data object to be created*)
len :UDINT; (*length of the data area of the data object to be created*)
MemType :USINT; (*type of target memory: doTEMP, doUSRRAM, doUSRROM, doSYSROM, doFIXRAM, doMEMCARD*)
Option :UDINT; (*options: doNO_CS*)
pCpyData :UDINT; (*pointer to data written to the data object during generation*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
ident :UDINT; (*ID of the created data object*)
pDatObjMem :UDINT; (*pointer to the data in the data object*)
END_VAR
VAR
i_state :UDINT; (*internal variable*)
i_result :UDINT; (*internal variable*)
i_spare :ARRAY[0..104] OF USINT; (*internal variable*)
i_spare_1 :UDINT; (*internal variable*)
i_spare_2 :UINT; (*internal variable*)
i_spare_3 :UDINT; (*internal variable*)
i_spare_4 :USINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjWrite (*writes to a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object*)
Offset :UDINT; (*offset in the data area of the data object*)
pSource :UDINT; (*pointer to the data copied to the data object*)
len :UDINT; (*length of the data to be copied*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjRead (*reads from a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object*)
Offset :UDINT; (*offset in the data area of the data object*)
pDestination:UDINT; (*memory to which the data to be read is copied*)
len :UDINT; (*length of the data to be copied*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjDelete (*deletes data objects*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
i_state :UDINT; (*internal variable*)
i_result :UDINT; (*internal variable*)
i_spare :USINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjMove (*moves the storage space of a data object to a new target memory*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object*)
MemType :USINT; (*target memory in which the data object is to be saved, e.g. doTEMP, doUSRRAM, doUSRROM, ...*)
Option :UDINT; (*options for the object to be saved (doNO_CS = no checksum)*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
identNew :UDINT; (*ID of the new data object*)
pDatObjMem :UDINT; (*pointer to the data in the newly created data object*)
END_VAR
VAR
i_state :UDINT; (*internal variable*)
i_result :UDINT; (*internal variable*)
i_spare :ARRAY[0..40] OF USINT; (*internal variable*)
i_spare_1 :UDINT; (*internal variable*)
i_spare_2 :USINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjCopy (*copies a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object to be copied*)
pNameTarget :UDINT; (*pointer to name of the new data object*)
MemTypeTarget :USINT; (*target memory in which the new object is to be generated, e.g. doTEMP, doUSRRAM, ...*)
OptionTarget :UDINT; (*options for the copied object (doNO_CS = no checksum)*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
identNew :UDINT; (*ID of the copied data object*)
pDatObjMemNew :UDINT; (*pointer to the data in the newly created data object*)
END_VAR
VAR
i_state :UDINT; (*internal variable*)
i_result :UDINT; (*internal variable*)
i_spare :ARRAY[0..40] OF USINT; (*internal variable*)
i_spare_1 :UDINT; (*internal variable*)
i_spare_2 :USINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjInfo (*gives information about a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pName :UDINT; (*name of data object*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
ident :UDINT; (*ID of the data object*)
pDatObjMem :UDINT; (*pointer to the data in the data object*)
len :UDINT; (*length of the data area in the data object*)
MemType :USINT; (*memory type in which the data object is located, e.g. doTEMP, doUSRRAM, doUSRROM, ...*)
Option :UDINT; (*information about data object options*)
ChangeDate :DATE_AND_TIME; (*modification date of the data object*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjChangeDate (*changes the modification date of a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pName :UDINT; (*pointer to name of data object*)
SetDate :DATE_AND_TIME; (*date and time; if the value 0 is transferred, the current PLC system time is used*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjAttach (*attaches a data object to prevent deletion*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DatObjDetach (*detaches a data object*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*ID of the data object*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,23 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: DataObj
* File: DataObj.typ
* Author: B+R
********************************************************************
* Data types of library DataObj
********************************************************************)
TYPE
END_TYPE

View File

@@ -0,0 +1,35 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: DataObj
* File: DataObj.var
* Author: B+R
********************************************************************
* Local variables of library DataObj
********************************************************************)
VAR CONSTANT
doERR_TOOLONG_MODULNAME : UINT := 20613; (*module name too long (max. 10 characters)*)
doERR_CHECKSUM_WARNING : UINT := 20630; (*wrong target memory specified for the "doNO_CS" option*)
doERR_MODULNOTFOUND : UINT := 20609; (*data object not found*)
doERR_ILLEGALLENGTH : UINT := 20608; (*wrong length specified*)
doERR_STARTHANDLER : UINT := 20612; (*error while enabling asynchronous handler (only SG4)*)
doERR_ILLPARAMETER : UINT := 20600; (*wrong parameter given (NULL pointer)*)
doERR_WRONGOFFSET : UINT := 20607; (*wrong offset specified*)
doERR_ILLOBJTYPE : UINT := 20606; (*wrong object type (not data object)*)
doERR_ILLMEMTYPE : UINT := 20602; (*wrong target memory specified*)
doERR_WRONGTIME : UINT := 20610; (*wrong date in SetDate (DatObjChangeDate)*)
doERR_ILLOBJECT : UINT := 20605; (*object not found*)
doERR_DUPOBJECT : UINT := 20601; (*object already present*)
doERR_BRINSTALL : UINT := 20604; (*error installing data object*)
doERR_NOMEMORY : UINT := 20603; (*no memory available for module to be created*)
doERR_ILLSTATE : UINT := 20611; (*incorrect state of the data object*)
doERR_BURNINGOBJECT : UINT := 20614; (*error while saving the data object in "Flash" memory*)
doSYSROM : USINT := 0; (*SYSROM (SYSTEM FLASH)*)
doNO_CS : USINT := 1; (*no cyclic checksum monitoring and no checksum monitoring during installation and booting*)
doUSRROM : USINT := 2; (*USERROM (USER FLASH)*)
doUSRRAM : USINT := 3; (*USERRAM (target memory for pointer handling)*)
doMEMCARD : USINT := 4; (*MEMCARD (only for SG3)*)
doFIXRAM : USINT := 5; (*FIXRAM (only for SG3)*)
doTEMP : USINT := 65; (*Temporary data object (DRAM, only for SG4)*)
END_VAR

View File

@@ -0,0 +1,225 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DATAOBJ_
#define _DATAOBJ_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define doTEMP 65U
#define doFIXRAM 5U
#define doMEMCARD 4U
#define doUSRRAM 3U
#define doUSRROM 2U
#define doNO_CS 1U
#define doSYSROM 0U
#define doERR_BURNINGOBJECT 20614U
#define doERR_ILLSTATE 20611U
#define doERR_NOMEMORY 20603U
#define doERR_BRINSTALL 20604U
#define doERR_DUPOBJECT 20601U
#define doERR_ILLOBJECT 20605U
#define doERR_WRONGTIME 20610U
#define doERR_ILLMEMTYPE 20602U
#define doERR_ILLOBJTYPE 20606U
#define doERR_WRONGOFFSET 20607U
#define doERR_ILLPARAMETER 20600U
#define doERR_STARTHANDLER 20612U
#define doERR_ILLEGALLENGTH 20608U
#define doERR_MODULNOTFOUND 20609U
#define doERR_CHECKSUM_WARNING 20630U
#define doERR_TOOLONG_MODULNAME 20613U
#else
_IEC_CONST unsigned char doTEMP = 65U;
_IEC_CONST unsigned char doFIXRAM = 5U;
_IEC_CONST unsigned char doMEMCARD = 4U;
_IEC_CONST unsigned char doUSRRAM = 3U;
_IEC_CONST unsigned char doUSRROM = 2U;
_IEC_CONST unsigned char doNO_CS = 1U;
_IEC_CONST unsigned char doSYSROM = 0U;
_IEC_CONST unsigned short doERR_BURNINGOBJECT = 20614U;
_IEC_CONST unsigned short doERR_ILLSTATE = 20611U;
_IEC_CONST unsigned short doERR_NOMEMORY = 20603U;
_IEC_CONST unsigned short doERR_BRINSTALL = 20604U;
_IEC_CONST unsigned short doERR_DUPOBJECT = 20601U;
_IEC_CONST unsigned short doERR_ILLOBJECT = 20605U;
_IEC_CONST unsigned short doERR_WRONGTIME = 20610U;
_IEC_CONST unsigned short doERR_ILLMEMTYPE = 20602U;
_IEC_CONST unsigned short doERR_ILLOBJTYPE = 20606U;
_IEC_CONST unsigned short doERR_WRONGOFFSET = 20607U;
_IEC_CONST unsigned short doERR_ILLPARAMETER = 20600U;
_IEC_CONST unsigned short doERR_STARTHANDLER = 20612U;
_IEC_CONST unsigned short doERR_ILLEGALLENGTH = 20608U;
_IEC_CONST unsigned short doERR_MODULNOTFOUND = 20609U;
_IEC_CONST unsigned short doERR_CHECKSUM_WARNING = 20630U;
_IEC_CONST unsigned short doERR_TOOLONG_MODULNAME = 20613U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct DatObjCreate
{
/* VAR_INPUT (analog) */
unsigned char grp;
unsigned long pName;
unsigned long len;
unsigned char MemType;
unsigned long Option;
unsigned long pCpyData;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
unsigned long pDatObjMem;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[105];
unsigned long i_spare_1;
unsigned short i_spare_2;
unsigned long i_spare_3;
unsigned char i_spare_4;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjCreate_typ;
typedef struct DatObjWrite
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long Offset;
unsigned long pSource;
unsigned long len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjWrite_typ;
typedef struct DatObjRead
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long Offset;
unsigned long pDestination;
unsigned long len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjRead_typ;
typedef struct DatObjDelete
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjDelete_typ;
typedef struct DatObjMove
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned char MemType;
unsigned long Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long identNew;
unsigned long pDatObjMem;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[41];
unsigned long i_spare_1;
unsigned char i_spare_2;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjMove_typ;
typedef struct DatObjCopy
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long pNameTarget;
unsigned char MemTypeTarget;
unsigned long OptionTarget;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long identNew;
unsigned long pDatObjMemNew;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[41];
unsigned long i_spare_1;
unsigned char i_spare_2;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjCopy_typ;
typedef struct DatObjInfo
{
/* VAR_INPUT (analog) */
unsigned long pName;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
unsigned long pDatObjMem;
unsigned long len;
unsigned char MemType;
unsigned long Option;
plcdt ChangeDate;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjInfo_typ;
typedef struct DatObjChangeDate
{
/* VAR_INPUT (analog) */
unsigned long pName;
plcdt SetDate;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjChangeDate_typ;
/* Prototyping of functions and function blocks */
void DatObjCreate(struct DatObjCreate* inst);
void DatObjWrite(struct DatObjWrite* inst);
void DatObjRead(struct DatObjRead* inst);
void DatObjDelete(struct DatObjDelete* inst);
void DatObjMove(struct DatObjMove* inst);
void DatObjCopy(struct DatObjCopy* inst);
void DatObjInfo(struct DatObjInfo* inst);
void DatObjChangeDate(struct DatObjChangeDate* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DATAOBJ_ */

View File

@@ -0,0 +1,247 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DATAOBJ_
#define _DATAOBJ_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define doTEMP 65U
#define doFIXRAM 5U
#define doMEMCARD 4U
#define doUSRRAM 3U
#define doUSRROM 2U
#define doNO_CS 1U
#define doSYSROM 0U
#define doERR_BURNINGOBJECT 20614U
#define doERR_ILLSTATE 20611U
#define doERR_NOMEMORY 20603U
#define doERR_BRINSTALL 20604U
#define doERR_DUPOBJECT 20601U
#define doERR_ILLOBJECT 20605U
#define doERR_WRONGTIME 20610U
#define doERR_ILLMEMTYPE 20602U
#define doERR_ILLOBJTYPE 20606U
#define doERR_WRONGOFFSET 20607U
#define doERR_ILLPARAMETER 20600U
#define doERR_STARTHANDLER 20612U
#define doERR_ILLEGALLENGTH 20608U
#define doERR_MODULNOTFOUND 20609U
#define doERR_CHECKSUM_WARNING 20630U
#define doERR_TOOLONG_MODULNAME 20613U
#else
_IEC_CONST unsigned char doTEMP = 65U;
_IEC_CONST unsigned char doFIXRAM = 5U;
_IEC_CONST unsigned char doMEMCARD = 4U;
_IEC_CONST unsigned char doUSRRAM = 3U;
_IEC_CONST unsigned char doUSRROM = 2U;
_IEC_CONST unsigned char doNO_CS = 1U;
_IEC_CONST unsigned char doSYSROM = 0U;
_IEC_CONST unsigned short doERR_BURNINGOBJECT = 20614U;
_IEC_CONST unsigned short doERR_ILLSTATE = 20611U;
_IEC_CONST unsigned short doERR_NOMEMORY = 20603U;
_IEC_CONST unsigned short doERR_BRINSTALL = 20604U;
_IEC_CONST unsigned short doERR_DUPOBJECT = 20601U;
_IEC_CONST unsigned short doERR_ILLOBJECT = 20605U;
_IEC_CONST unsigned short doERR_WRONGTIME = 20610U;
_IEC_CONST unsigned short doERR_ILLMEMTYPE = 20602U;
_IEC_CONST unsigned short doERR_ILLOBJTYPE = 20606U;
_IEC_CONST unsigned short doERR_WRONGOFFSET = 20607U;
_IEC_CONST unsigned short doERR_ILLPARAMETER = 20600U;
_IEC_CONST unsigned short doERR_STARTHANDLER = 20612U;
_IEC_CONST unsigned short doERR_ILLEGALLENGTH = 20608U;
_IEC_CONST unsigned short doERR_MODULNOTFOUND = 20609U;
_IEC_CONST unsigned short doERR_CHECKSUM_WARNING = 20630U;
_IEC_CONST unsigned short doERR_TOOLONG_MODULNAME = 20613U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct DatObjCreate
{
/* VAR_INPUT (analog) */
unsigned char grp;
unsigned long pName;
unsigned long len;
unsigned char MemType;
unsigned long Option;
unsigned long pCpyData;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
unsigned long pDatObjMem;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[105];
unsigned long i_spare_1;
unsigned short i_spare_2;
unsigned long i_spare_3;
unsigned char i_spare_4;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjCreate_typ;
typedef struct DatObjWrite
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long Offset;
unsigned long pSource;
unsigned long len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjWrite_typ;
typedef struct DatObjRead
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long Offset;
unsigned long pDestination;
unsigned long len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjRead_typ;
typedef struct DatObjDelete
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjDelete_typ;
typedef struct DatObjMove
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned char MemType;
unsigned long Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long identNew;
unsigned long pDatObjMem;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[41];
unsigned long i_spare_1;
unsigned char i_spare_2;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjMove_typ;
typedef struct DatObjCopy
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long pNameTarget;
unsigned char MemTypeTarget;
unsigned long OptionTarget;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long identNew;
unsigned long pDatObjMemNew;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[41];
unsigned long i_spare_1;
unsigned char i_spare_2;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjCopy_typ;
typedef struct DatObjInfo
{
/* VAR_INPUT (analog) */
unsigned long pName;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
unsigned long pDatObjMem;
unsigned long len;
unsigned char MemType;
unsigned long Option;
plcdt ChangeDate;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjInfo_typ;
typedef struct DatObjChangeDate
{
/* VAR_INPUT (analog) */
unsigned long pName;
plcdt SetDate;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjChangeDate_typ;
typedef struct DatObjAttach
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjAttach_typ;
typedef struct DatObjDetach
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjDetach_typ;
/* Prototyping of functions and function blocks */
void DatObjCreate(struct DatObjCreate* inst);
void DatObjWrite(struct DatObjWrite* inst);
void DatObjRead(struct DatObjRead* inst);
void DatObjDelete(struct DatObjDelete* inst);
void DatObjMove(struct DatObjMove* inst);
void DatObjCopy(struct DatObjCopy* inst);
void DatObjInfo(struct DatObjInfo* inst);
void DatObjChangeDate(struct DatObjChangeDate* inst);
void DatObjAttach(struct DatObjAttach* inst);
void DatObjDetach(struct DatObjDetach* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DATAOBJ_ */

View File

@@ -0,0 +1,225 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DATAOBJ_
#define _DATAOBJ_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define doTEMP 65U
#define doFIXRAM 5U
#define doMEMCARD 4U
#define doUSRRAM 3U
#define doUSRROM 2U
#define doNO_CS 1U
#define doSYSROM 0U
#define doERR_BURNINGOBJECT 20614U
#define doERR_ILLSTATE 20611U
#define doERR_NOMEMORY 20603U
#define doERR_BRINSTALL 20604U
#define doERR_DUPOBJECT 20601U
#define doERR_ILLOBJECT 20605U
#define doERR_WRONGTIME 20610U
#define doERR_ILLMEMTYPE 20602U
#define doERR_ILLOBJTYPE 20606U
#define doERR_WRONGOFFSET 20607U
#define doERR_ILLPARAMETER 20600U
#define doERR_STARTHANDLER 20612U
#define doERR_ILLEGALLENGTH 20608U
#define doERR_MODULNOTFOUND 20609U
#define doERR_CHECKSUM_WARNING 20630U
#define doERR_TOOLONG_MODULNAME 20613U
#else
_IEC_CONST unsigned char doTEMP = 65U;
_IEC_CONST unsigned char doFIXRAM = 5U;
_IEC_CONST unsigned char doMEMCARD = 4U;
_IEC_CONST unsigned char doUSRRAM = 3U;
_IEC_CONST unsigned char doUSRROM = 2U;
_IEC_CONST unsigned char doNO_CS = 1U;
_IEC_CONST unsigned char doSYSROM = 0U;
_IEC_CONST unsigned short doERR_BURNINGOBJECT = 20614U;
_IEC_CONST unsigned short doERR_ILLSTATE = 20611U;
_IEC_CONST unsigned short doERR_NOMEMORY = 20603U;
_IEC_CONST unsigned short doERR_BRINSTALL = 20604U;
_IEC_CONST unsigned short doERR_DUPOBJECT = 20601U;
_IEC_CONST unsigned short doERR_ILLOBJECT = 20605U;
_IEC_CONST unsigned short doERR_WRONGTIME = 20610U;
_IEC_CONST unsigned short doERR_ILLMEMTYPE = 20602U;
_IEC_CONST unsigned short doERR_ILLOBJTYPE = 20606U;
_IEC_CONST unsigned short doERR_WRONGOFFSET = 20607U;
_IEC_CONST unsigned short doERR_ILLPARAMETER = 20600U;
_IEC_CONST unsigned short doERR_STARTHANDLER = 20612U;
_IEC_CONST unsigned short doERR_ILLEGALLENGTH = 20608U;
_IEC_CONST unsigned short doERR_MODULNOTFOUND = 20609U;
_IEC_CONST unsigned short doERR_CHECKSUM_WARNING = 20630U;
_IEC_CONST unsigned short doERR_TOOLONG_MODULNAME = 20613U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct DatObjCreate
{
/* VAR_INPUT (analog) */
unsigned char grp;
unsigned long pName;
unsigned long len;
unsigned char MemType;
unsigned long Option;
unsigned long pCpyData;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
unsigned long pDatObjMem;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[105];
unsigned long i_spare_1;
unsigned short i_spare_2;
unsigned long i_spare_3;
unsigned char i_spare_4;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjCreate_typ;
typedef struct DatObjWrite
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long Offset;
unsigned long pSource;
unsigned long len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjWrite_typ;
typedef struct DatObjRead
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long Offset;
unsigned long pDestination;
unsigned long len;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjRead_typ;
typedef struct DatObjDelete
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjDelete_typ;
typedef struct DatObjMove
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned char MemType;
unsigned long Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long identNew;
unsigned long pDatObjMem;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[41];
unsigned long i_spare_1;
unsigned char i_spare_2;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjMove_typ;
typedef struct DatObjCopy
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long pNameTarget;
unsigned char MemTypeTarget;
unsigned long OptionTarget;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long identNew;
unsigned long pDatObjMemNew;
/* VAR (analog) */
unsigned long i_state;
unsigned long i_result;
unsigned char i_spare[41];
unsigned long i_spare_1;
unsigned char i_spare_2;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjCopy_typ;
typedef struct DatObjInfo
{
/* VAR_INPUT (analog) */
unsigned long pName;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
unsigned long pDatObjMem;
unsigned long len;
unsigned char MemType;
unsigned long Option;
plcdt ChangeDate;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjInfo_typ;
typedef struct DatObjChangeDate
{
/* VAR_INPUT (analog) */
unsigned long pName;
plcdt SetDate;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DatObjChangeDate_typ;
/* Prototyping of functions and function blocks */
void DatObjCreate(struct DatObjCreate* inst);
void DatObjWrite(struct DatObjWrite* inst);
void DatObjRead(struct DatObjRead* inst);
void DatObjDelete(struct DatObjDelete* inst);
void DatObjMove(struct DatObjMove* inst);
void DatObjCopy(struct DatObjCopy* inst);
void DatObjInfo(struct DatObjInfo* inst);
void DatObjChangeDate(struct DatObjChangeDate* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DATAOBJ_ */

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Package xmlns="http://br-automation.co.at/AS/Package">
<Objects>
<Object Type="Library" Language="Binary" Description="This library contains function interfaces for IEC1131-3 operator functions. For the most part, these are mathematical and logical functions.">Operator</Object>
<Object Type="Library" Language="Binary" Description="This library contains runtime functions for IEC tasks.">Runtime</Object>
<Object Type="Library" Language="Binary" Description="The AsTime Library supports DATE_AND_TIME and TIME data types.">AsTime</Object>
<Object Type="Library" Language="Binary" Description="This library contains function interfaces for IEC 1131-3 conversion functions.">AsIecCon</Object>
<Object Type="Library" Language="Binary" Description="The DRV_mbus library provides functions that allow a B&amp;R System to communicate via Modbus communication.">DRV_mbus</Object>
<Object Type="Library" Language="Binary" Description="The DVFrame library and the frame driver can be used to exchange data with external devices.">dvframe</Object>
<Object Type="Library" Language="Binary" Description="The DataObj library can be used to dynamically create, dynamically delete and copy data objects, etc. ">DataObj</Object>
</Objects>
</Package>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="The AsTime Library supports DATE_AND_TIME and TIME data types." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>astime.var</File>
<File>astime.typ</File>
<File>astime.fun</File>
</Files>
<Dependencies>
<Dependency ObjectName="runtime" />
</Dependencies>
</Library>

View File

@@ -0,0 +1,130 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _ASTIME_
#define _ASTIME_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define timERR_AR 33213U
#define timERR_INVALID_DTSTRUCTURE 33212U
#define timERR_INVALID_LEN 33211U
#define timERR_INVALID_PARAMETER 33210U
#define timTIME_SERVER 2U
#define timREAL_TIME_CLOCK 1U
#define timNO_DST 3U
#define timDAYLIGHT_SAVING_TIME 2U
#define timNORMAL_TIME 1U
#define TIME_MAX 2073600000
#define TIME_MIN (-2073600000)
#define DATE_AND_TIME_MAX 4102444799U
#define timEXSETTIME_NO_OPTION 0U
#define timEXSETTIME_NO_LOGENTRY 1U
#else
_IEC_CONST unsigned short timERR_AR = 33213U;
_IEC_CONST unsigned short timERR_INVALID_DTSTRUCTURE = 33212U;
_IEC_CONST unsigned short timERR_INVALID_LEN = 33211U;
_IEC_CONST unsigned short timERR_INVALID_PARAMETER = 33210U;
_IEC_CONST unsigned char timTIME_SERVER = 2U;
_IEC_CONST unsigned char timREAL_TIME_CLOCK = 1U;
_IEC_CONST unsigned char timNO_DST = 3U;
_IEC_CONST unsigned char timDAYLIGHT_SAVING_TIME = 2U;
_IEC_CONST unsigned char timNORMAL_TIME = 1U;
_IEC_CONST signed long TIME_MAX = 2073600000;
_IEC_CONST signed long TIME_MIN = -2073600000;
_IEC_CONST unsigned long DATE_AND_TIME_MAX = 4102444799U;
_IEC_CONST unsigned char timEXSETTIME_NO_OPTION = 0U;
_IEC_CONST unsigned char timEXSETTIME_NO_LOGENTRY = 1U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct TIMEStructure
{ signed char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned short millisec;
unsigned short microsec;
} TIMEStructure;
typedef struct DTStructure
{ unsigned short year;
unsigned char month;
unsigned char day;
unsigned char wday;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned short millisec;
unsigned short microsec;
} DTStructure;
typedef struct DTExSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
unsigned char Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTExSetTime_typ;
typedef struct DTSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTSetTime_typ;
typedef struct DTGetTime
{
/* VAR_OUTPUT (analog) */
unsigned short status;
plcdt DT1;
/* VAR_INPUT (digital) */
plcbit enable;
} DTGetTime_typ;
/* Prototyping of functions and function blocks */
void DTExSetTime(struct DTExSetTime* inst);
void DTSetTime(struct DTSetTime* inst);
void DTGetTime(struct DTGetTime* inst);
unsigned long ascTIMEStructure(unsigned long pTIMEStructure, unsigned long pStr, unsigned long len);
unsigned long ascDTStructure(unsigned long pDTStructure, unsigned long pStr, unsigned long len);
unsigned long ascTIME(plctime TIME1, unsigned long pStr, unsigned long len);
unsigned long ascDT(plcdt DT1, unsigned long pStr, unsigned long len);
plctime TIMEStructure_TO_TIME(unsigned long pTIMEStructure);
unsigned long TIME_TO_TIMEStructure(plctime TIME1, unsigned long pTIMEStructure);
plcdt DTStructure_TO_DT(unsigned long pDTStructure);
unsigned long DT_TO_DTStructure(plcdt DT1, unsigned long pDTStructure);
unsigned long DiffT(plctime TIME2, plctime TIME1);
unsigned long DiffDT(plcdt DT2, plcdt DT1);
#ifdef __cplusplus
};
#endif
#endif /* _ASTIME_ */

View File

@@ -0,0 +1,362 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _ASTIME_
#define _ASTIME_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define timERR_AR 33213U
#define timERR_INVALID_DTSTRUCTURE 33212U
#define timERR_INVALID_LEN 33211U
#define timERR_INVALID_PARAMETER 33210U
#define timTIME_SERVER 2U
#define timREAL_TIME_CLOCK 1U
#define timNO_DST 3U
#define timDAYLIGHT_SAVING_TIME 2U
#define timNORMAL_TIME 1U
#define TIME_MAX 2073600000
#define TIME_MIN (-2073600000)
#define DATE_AND_TIME_MAX 4102444799U
#define timEXSETTIME_NO_OPTION 0U
#define timEXSETTIME_NO_LOGENTRY 1U
#else
_IEC_CONST unsigned short timERR_AR = 33213U;
_IEC_CONST unsigned short timERR_INVALID_DTSTRUCTURE = 33212U;
_IEC_CONST unsigned short timERR_INVALID_LEN = 33211U;
_IEC_CONST unsigned short timERR_INVALID_PARAMETER = 33210U;
_IEC_CONST unsigned char timTIME_SERVER = 2U;
_IEC_CONST unsigned char timREAL_TIME_CLOCK = 1U;
_IEC_CONST unsigned char timNO_DST = 3U;
_IEC_CONST unsigned char timDAYLIGHT_SAVING_TIME = 2U;
_IEC_CONST unsigned char timNORMAL_TIME = 1U;
_IEC_CONST signed long TIME_MAX = 2073600000;
_IEC_CONST signed long TIME_MIN = -2073600000;
_IEC_CONST unsigned long DATE_AND_TIME_MAX = 4102444799U;
_IEC_CONST unsigned char timEXSETTIME_NO_OPTION = 0U;
_IEC_CONST unsigned char timEXSETTIME_NO_LOGENTRY = 1U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct TIMEStructure
{ signed char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned short millisec;
unsigned short microsec;
} TIMEStructure;
typedef struct DTStructure
{ unsigned short year;
unsigned char month;
unsigned char day;
unsigned char wday;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned short millisec;
unsigned short microsec;
} DTStructure;
typedef struct DTExSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
unsigned char Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTExSetTime_typ;
typedef struct DTSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTSetTime_typ;
typedef struct DTGetTime
{
/* VAR_OUTPUT (analog) */
unsigned short status;
plcdt DT1;
/* VAR_INPUT (digital) */
plcbit enable;
} DTGetTime_typ;
typedef struct UtcDTGetTime
{
/* VAR_OUTPUT (analog) */
unsigned short status;
plcdt DT1;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTGetTime_typ;
typedef struct UtcDTSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTSetTime_typ;
typedef struct UtcDTExSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
unsigned char Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTExSetTime_typ;
typedef struct DTStructureGetTime
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTStructureGetTime_typ;
typedef struct DTStructureSetTime
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTStructureSetTime_typ;
typedef struct DTStructureExSetTime
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
unsigned char Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTStructureExSetTime_typ;
typedef struct UtcDTStructureGetTime
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTStructureGetTime_typ;
typedef struct UtcDTStructureSetTime
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTStructureSetTime_typ;
typedef struct UtcDTStructureExSetTime
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
unsigned char Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTStructureExSetTime_typ;
typedef struct UtcDT_TO_LocalDTStructure
{
/* VAR_INPUT (analog) */
plcdt DT1;
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDT_TO_LocalDTStructure_typ;
typedef struct LocalDT_TO_UtcDTStructure
{
/* VAR_INPUT (analog) */
plcdt DT1;
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} LocalDT_TO_UtcDTStructure_typ;
typedef struct UtcDTStructure_TO_LocalDT
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
plcdt DT1;
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} UtcDTStructure_TO_LocalDT_typ;
typedef struct LocalDTStructure_TO_UtcDT
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
plcdt DT1;
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} LocalDTStructure_TO_UtcDT_typ;
typedef struct TimeDeviceGetInfo
{
/* VAR_INPUT (analog) */
unsigned long pServer;
unsigned char len;
/* VAR_OUTPUT (analog) */
unsigned char timeDevice;
float avgDeviation;
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} TimeDeviceGetInfo_typ;
typedef struct DstGetInfo
{
/* VAR_INPUT (analog) */
unsigned long pDTStructure;
/* VAR_OUTPUT (analog) */
unsigned char dstState;
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} DstGetInfo_typ;
typedef struct DstGetInfoDT
{
/* VAR_INPUT (analog) */
plcdt DT1;
/* VAR_OUTPUT (analog) */
unsigned char dstState;
unsigned short status;
/* VAR (analog) */
unsigned short i_state;
unsigned short i_result;
unsigned long i_tmp;
/* VAR_INPUT (digital) */
plcbit enable;
} DstGetInfoDT_typ;
/* Prototyping of functions and function blocks */
void DTExSetTime(struct DTExSetTime* inst);
void DTSetTime(struct DTSetTime* inst);
void DTGetTime(struct DTGetTime* inst);
void UtcDTGetTime(struct UtcDTGetTime* inst);
void UtcDTSetTime(struct UtcDTSetTime* inst);
void UtcDTExSetTime(struct UtcDTExSetTime* inst);
void DTStructureGetTime(struct DTStructureGetTime* inst);
void DTStructureSetTime(struct DTStructureSetTime* inst);
void DTStructureExSetTime(struct DTStructureExSetTime* inst);
void UtcDTStructureGetTime(struct UtcDTStructureGetTime* inst);
void UtcDTStructureSetTime(struct UtcDTStructureSetTime* inst);
void UtcDTStructureExSetTime(struct UtcDTStructureExSetTime* inst);
void UtcDT_TO_LocalDTStructure(struct UtcDT_TO_LocalDTStructure* inst);
void LocalDT_TO_UtcDTStructure(struct LocalDT_TO_UtcDTStructure* inst);
void UtcDTStructure_TO_LocalDT(struct UtcDTStructure_TO_LocalDT* inst);
void LocalDTStructure_TO_UtcDT(struct LocalDTStructure_TO_UtcDT* inst);
void TimeDeviceGetInfo(struct TimeDeviceGetInfo* inst);
void DstGetInfo(struct DstGetInfo* inst);
void DstGetInfoDT(struct DstGetInfoDT* inst);
plctime clock_ms();
unsigned long ascTIMEStructure(unsigned long pTIMEStructure, unsigned long pStr, unsigned long len);
unsigned long ascDTStructure(unsigned long pDTStructure, unsigned long pStr, unsigned long len);
unsigned long ascTIME(plctime TIME1, unsigned long pStr, unsigned long len);
unsigned long ascDT(plcdt DT1, unsigned long pStr, unsigned long len);
plctime TIMEStructure_TO_TIME(unsigned long pTIMEStructure);
unsigned long TIME_TO_TIMEStructure(plctime TIME1, unsigned long pTIMEStructure);
plcdt DTStructure_TO_DT(unsigned long pDTStructure);
unsigned long DT_TO_DTStructure(plcdt DT1, unsigned long pDTStructure);
unsigned long DiffT(plctime TIME2, plctime TIME1);
unsigned long DiffDT(plcdt DT2, plcdt DT1);
#ifdef __cplusplus
};
#endif
#endif /* _ASTIME_ */

View File

@@ -0,0 +1,130 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _ASTIME_
#define _ASTIME_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define timERR_AR 33213U
#define timERR_INVALID_DTSTRUCTURE 33212U
#define timERR_INVALID_LEN 33211U
#define timERR_INVALID_PARAMETER 33210U
#define timTIME_SERVER 2U
#define timREAL_TIME_CLOCK 1U
#define timNO_DST 3U
#define timDAYLIGHT_SAVING_TIME 2U
#define timNORMAL_TIME 1U
#define TIME_MAX 2073600000
#define TIME_MIN (-2073600000)
#define DATE_AND_TIME_MAX 4102444799U
#define timEXSETTIME_NO_OPTION 0U
#define timEXSETTIME_NO_LOGENTRY 1U
#else
_IEC_CONST unsigned short timERR_AR = 33213U;
_IEC_CONST unsigned short timERR_INVALID_DTSTRUCTURE = 33212U;
_IEC_CONST unsigned short timERR_INVALID_LEN = 33211U;
_IEC_CONST unsigned short timERR_INVALID_PARAMETER = 33210U;
_IEC_CONST unsigned char timTIME_SERVER = 2U;
_IEC_CONST unsigned char timREAL_TIME_CLOCK = 1U;
_IEC_CONST unsigned char timNO_DST = 3U;
_IEC_CONST unsigned char timDAYLIGHT_SAVING_TIME = 2U;
_IEC_CONST unsigned char timNORMAL_TIME = 1U;
_IEC_CONST signed long TIME_MAX = 2073600000;
_IEC_CONST signed long TIME_MIN = -2073600000;
_IEC_CONST unsigned long DATE_AND_TIME_MAX = 4102444799U;
_IEC_CONST unsigned char timEXSETTIME_NO_OPTION = 0U;
_IEC_CONST unsigned char timEXSETTIME_NO_LOGENTRY = 1U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct TIMEStructure
{ signed char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned short millisec;
unsigned short microsec;
} TIMEStructure;
typedef struct DTStructure
{ unsigned short year;
unsigned char month;
unsigned char day;
unsigned char wday;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned short millisec;
unsigned short microsec;
} DTStructure;
typedef struct DTExSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
unsigned char Option;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTExSetTime_typ;
typedef struct DTSetTime
{
/* VAR_INPUT (analog) */
plcdt DT1;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR_INPUT (digital) */
plcbit enable;
} DTSetTime_typ;
typedef struct DTGetTime
{
/* VAR_OUTPUT (analog) */
unsigned short status;
plcdt DT1;
/* VAR_INPUT (digital) */
plcbit enable;
} DTGetTime_typ;
/* Prototyping of functions and function blocks */
void DTExSetTime(struct DTExSetTime* inst);
void DTSetTime(struct DTSetTime* inst);
void DTGetTime(struct DTGetTime* inst);
unsigned long ascTIMEStructure(unsigned long pTIMEStructure, unsigned long pStr, unsigned long len);
unsigned long ascDTStructure(unsigned long pDTStructure, unsigned long pStr, unsigned long len);
unsigned long ascTIME(plctime TIME1, unsigned long pStr, unsigned long len);
unsigned long ascDT(plcdt DT1, unsigned long pStr, unsigned long len);
plctime TIMEStructure_TO_TIME(unsigned long pTIMEStructure);
unsigned long TIME_TO_TIMEStructure(plctime TIME1, unsigned long pTIMEStructure);
plcdt DTStructure_TO_DT(unsigned long pDTStructure);
unsigned long DT_TO_DTStructure(plcdt DT1, unsigned long pDTStructure);
unsigned long DiffT(plctime TIME2, plctime TIME1);
unsigned long DiffDT(plcdt DT2, plcdt DT1);
#ifdef __cplusplus
};
#endif
#endif /* _ASTIME_ */

View File

@@ -0,0 +1,342 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: astime
* File: astime.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library astime
********************************************************************)
FUNCTION_BLOCK DTExSetTime (*sets the current time using the DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*date and time to be written*)
Option :USINT; (*additional option: timEXSETTIME_NO_OPTION, timEXSETTIME_NO_LOGENTRY*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DTSetTime (*sets current time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*date and time to be written*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DTGetTime (*reads the current time in the DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
DT1 :DATE_AND_TIME; (*date and time read*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION clock_ms : TIME (*provides a continuous millisecond counter in the TIME data type*)
END_FUNCTION
FUNCTION_BLOCK UtcDTGetTime (*reads the current UTC-time in the DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
DT1 :DATE_AND_TIME; (*UTC date and time read*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDTSetTime (*sets current UTC-time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*UTC date and time to be written*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDTExSetTime (*sets current UTC-time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*UTC date and time to be written*)
Option :USINT; (*additional option: timEXSETTIME_NO_OPTION, timEXSETTIME_NO_LOGENTRY*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DTStructureGetTime (*reads the current time in the calendar structure*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DTStructureSetTime (*sets current time in calendar structure*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DTStructureExSetTime (*sets current time in calendar structure*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
Option :USINT; (*additional option: timEXSETTIME_NO_OPTION, timEXSETTIME_NO_LOGENTRY*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDTStructureGetTime (*reads the UTC time in the calendar structure*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDTStructureSetTime (*sets UTC time in calendar structure*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDTStructureExSetTime (*sets UTC time in calendar structure*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
Option :USINT; (*additional option: timEXSETTIME_NO_OPTION, timEXSETTIME_NO_LOGENTRY*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDT_TO_LocalDTStructure (*sets current UTC-time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*UTC date and time*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK LocalDT_TO_UtcDTStructure (*sets current UTC-time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*Local date and time*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK UtcDTStructure_TO_LocalDT (*sets current UTC-time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
DT1 :DATE_AND_TIME; (*Local date and time*)
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK LocalDTStructure_TO_UtcDT (*sets current UTC-time in DATE_AND_TIME data type*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
VAR_OUTPUT
DT1 :DATE_AND_TIME; (*UTC date and time*)
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state : UINT; (*internal variable*)
i_result : UINT; (*internal variable*)
i_tmp : UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION ascTIMEStructure : UDINT (*converts a "time" structure to a character string in the format "15:14:13\0"*)
VAR_INPUT
pTIMEStructure :UDINT; (*address of the time structure*)
pStr :UDINT; (*address of the character field*)
len :UDINT; (*length of the character field *)
END_VAR
END_FUNCTION
FUNCTION ascDTStructure : UDINT (*converts a "date" structure to a character string in the format "Sun Jan 3 15:14:13 1988\0"*)
VAR_INPUT
pDTStructure :UDINT; (*address of the calendar structure *)
pStr :UDINT; (*address of the character field*)
len :UDINT; (*length of the character field*)
END_VAR
END_FUNCTION
FUNCTION ascTIME : UDINT (*converts the TIME data type to a character string in the format "15:14:13\0"*)
VAR_INPUT
TIME1 :TIME; (*time*)
pStr :UDINT; (*address of the character field*)
len :UDINT; (*length of the character field*)
END_VAR
END_FUNCTION
FUNCTION ascDT : UDINT (*converts the DATE_AND_TIME data type to character string in the format "Sun Jan 3 15:14:13 1988\0"*)
VAR_INPUT
DT1 :DATE_AND_TIME; (*date and time*)
pStr :UDINT; (*address of the character field*)
len :UDINT; (*length of the character field*)
END_VAR
END_FUNCTION
FUNCTION TIMEStructure_TO_TIME : TIME (*converts a "time" structure to the TIME data type*)
VAR_INPUT
pTIMEStructure :UDINT; (*address of the time structure*)
END_VAR
END_FUNCTION
FUNCTION TIME_TO_TIMEStructure : UDINT (*converts the TIME data type to a "time" structure*)
VAR_INPUT
TIME1 :TIME; (*time*)
pTIMEStructure :UDINT; (*address of the calendar structure*)
END_VAR
END_FUNCTION
FUNCTION DTStructure_TO_DT : DATE_AND_TIME (*converts a "date" structure to the DATE_AND_TIME data type*)
VAR_INPUT
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
END_FUNCTION
FUNCTION DT_TO_DTStructure : UDINT (*converts the DATE_AND_TIME data type to a "date" structure*)
VAR_INPUT
DT1 :DATE_AND_TIME; (*date and time*)
pDTStructure :UDINT; (*address of the calendar structure*)
END_VAR
END_FUNCTION
FUNCTION DiffT : UDINT (*shows the difference between two times (TIME data type) expressed in milliseconds*)
VAR_INPUT
TIME2 :TIME; (*time 2*)
TIME1 :TIME; (*time 1*)
END_VAR
END_FUNCTION
FUNCTION DiffDT : UDINT (*shows the difference between two times (DATE_AND_TIME data type) expressed in seconds*)
VAR_INPUT
DT2 :DATE_AND_TIME; (*date and time 2*)
DT1 :DATE_AND_TIME; (*date and time 1*)
END_VAR
END_FUNCTION
FUNCTION_BLOCK TimeDeviceGetInfo (*read information about time device*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pServer :UDINT; (*Pointer to string*)
len :USINT; (*length of pServer*)
END_VAR
VAR_OUTPUT
timeDevice :USINT; (*sntpREAL_TIME_CLOCK or sntpTIME_SERVER*)
avgDeviation :REAL; (*average deviation between software time and time device*)
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state :UINT; (*internal variable*)
i_result :UINT; (*internal variable*)
i_tmp :UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DstGetInfo (*read information about time device*)
VAR_INPUT
enable :BOOL; (*enables execution*)
pDTStructure :UDINT; (*Pointer to DTStructure*)
END_VAR
VAR_OUTPUT
dstState :USINT; (*timDAYLIGHT_SAVING_TIME, timNORMAL_TIME or timNO_DST*)
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state :UINT; (*internal variable*)
i_result :UINT; (*internal variable*)
i_tmp :UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK DstGetInfoDT (*read information about time device*)
VAR_INPUT
enable :BOOL; (*enables execution*)
DT1 :DATE_AND_TIME; (*date and time in UTC*)
END_VAR
VAR_OUTPUT
dstState :USINT; (*timDAYLIGHT_SAVING_TIME, timNORMAL_TIME or timNO_DST*)
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
END_VAR
VAR
i_state :UINT; (*internal variable*)
i_result :UINT; (*internal variable*)
i_tmp :UDINT; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,31 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: astime
* File: astime.typ
* Author: B+R
********************************************************************
* Data types of library astime
********************************************************************)
TYPE
TIMEStructure : STRUCT (*time structure*)
day : SINT ; (*day (1-31)*)
hour : USINT ; (*hours (0-23)*)
minute : USINT ; (*minutes (0-59)*)
second : USINT ; (*seconds (0-59)*)
millisec : UINT ; (*milliseconds (0-999)*)
microsec : UINT ; (*microseconds (0-999)*)
END_STRUCT;
DTStructure : STRUCT (*date structure*)
year : UINT ; (*year*)
month : USINT ; (*month (1-12)*)
day : USINT ; (*day (1-31)*)
wday : USINT ; (*day of the week (0-6), e.g. 0 = Sunday, 6 = Saturday*)
hour : USINT ; (*hours (0-23)*)
minute : USINT ; (*minutes (0-59)*)
second : USINT ; (*seconds (0-59)*)
millisec : UINT ; (*milliseconds (0-999)*)
microsec : UINT ; (*microseconds (0-999)*)
END_STRUCT;
END_TYPE

View File

@@ -0,0 +1,26 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: astime
* File: astime.var
* Author: B+R
********************************************************************
* Local variables of library astime
********************************************************************)
VAR CONSTANT
timEXSETTIME_NO_LOGENTRY : USINT := 1;
timEXSETTIME_NO_OPTION : USINT := 0;
DATE_AND_TIME_MAX : UDINT := 4102444799;
TIME_MIN : DINT := -2073600000;
TIME_MAX : DINT := 2073600000;
timNORMAL_TIME : USINT := 1;
timDAYLIGHT_SAVING_TIME : USINT := 2;
timNO_DST : USINT := 3;
timREAL_TIME_CLOCK : USINT := 1;
timTIME_SERVER : USINT := 2;
timERR_INVALID_PARAMETER : UINT := 33210;
timERR_INVALID_LEN : UINT := 33211;
timERR_INVALID_DTSTRUCTURE : UINT := 33212;
timERR_AR : UINT := 33213;
END_VAR

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="The DVFrame library and the frame driver can be used to exchange data with external devices." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>dvframe.var</File>
<File>dvframe.typ</File>
<File>dvframe.fun</File>
</Files>
<Dependencies>
<Dependency ObjectName="runtime" />
</Dependencies>
</Library>

View File

@@ -0,0 +1,227 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DVFRAME_
#define _DVFRAME_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define ARG_BAUD 0U
#define ARG_MISC 16U
#define frmERR_OK 0U
#define ARG_PVPOLLADR 15U
#define frmERR_MAXOPEN 8254U
#define frmERR_NOINPUT 60U
#define ARG_TXPVPOLLADR 17U
#define frmERR_NOBUFFER 8071U
#define frmERR_PA_DB_SB 8256U
#define MISC_RECEIVE_ALL 2U
#define frmERR_NOTOPENED 8251U
#define frmERR_INPUTERROR 8079U
#define frmERR_NORESOURCES 8258U
#define ARG_EVSEND_TASKEVENT 18U
#define ARG_EVSEND_TASKIDENT 14U
#define frmERR_INVALIDBUFFER 8072U
#define frmERR_IOCTL_NOTVALID 8073U
#define frmERR_MODEDESCRIPTION 8253U
#define frmERR_TRANSMITOVERRUN 8078U
#define frmERR_FUB_ENABLE_FALSE 65534U
#define frmERR_DEVICEDESCRIPTION 8252U
#define frmERR_IOCTL_NOTSUPPORTED 8257U
#else
_IEC_CONST unsigned long ARG_BAUD = 0U;
_IEC_CONST unsigned long ARG_MISC = 16U;
_IEC_CONST unsigned short frmERR_OK = 0U;
_IEC_CONST unsigned long ARG_PVPOLLADR = 15U;
_IEC_CONST unsigned short frmERR_MAXOPEN = 8254U;
_IEC_CONST unsigned short frmERR_NOINPUT = 60U;
_IEC_CONST unsigned long ARG_TXPVPOLLADR = 17U;
_IEC_CONST unsigned short frmERR_NOBUFFER = 8071U;
_IEC_CONST unsigned short frmERR_PA_DB_SB = 8256U;
_IEC_CONST unsigned long MISC_RECEIVE_ALL = 2U;
_IEC_CONST unsigned short frmERR_NOTOPENED = 8251U;
_IEC_CONST unsigned short frmERR_INPUTERROR = 8079U;
_IEC_CONST unsigned short frmERR_NORESOURCES = 8258U;
_IEC_CONST unsigned long ARG_EVSEND_TASKEVENT = 18U;
_IEC_CONST unsigned long ARG_EVSEND_TASKIDENT = 14U;
_IEC_CONST unsigned short frmERR_INVALIDBUFFER = 8072U;
_IEC_CONST unsigned short frmERR_IOCTL_NOTVALID = 8073U;
_IEC_CONST unsigned short frmERR_MODEDESCRIPTION = 8253U;
_IEC_CONST unsigned short frmERR_TRANSMITOVERRUN = 8078U;
_IEC_CONST unsigned short frmERR_FUB_ENABLE_FALSE = 65534U;
_IEC_CONST unsigned short frmERR_DEVICEDESCRIPTION = 8252U;
_IEC_CONST unsigned short frmERR_IOCTL_NOTSUPPORTED = 8257U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct XOPENCONFIG
{ unsigned short idle;
unsigned short delimc;
unsigned char delim[2];
unsigned short tx_cnt;
unsigned short rx_cnt;
unsigned short tx_len;
unsigned short rx_len;
unsigned short argc;
unsigned long argv;
} XOPENCONFIG;
typedef struct FRM_mode
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long mode;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_mode_typ;
typedef struct FRM_ctrl
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned short ioctrl;
unsigned long inarg;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long outarg;
/* VAR (analog) */
plcstring internal[44];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_ctrl_typ;
typedef struct FRM_robuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_robuf_typ;
typedef struct FRM_gbuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long buffer;
unsigned short buflng;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_gbuf_typ;
typedef struct FRM_rbuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_rbuf_typ;
typedef struct FRM_close
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_close_typ;
typedef struct FRM_write
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_write_typ;
typedef struct FRM_read
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long buffer;
unsigned short buflng;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_read_typ;
typedef struct FRM_xopen
{
/* VAR_INPUT (analog) */
unsigned long device;
unsigned long mode;
unsigned long config;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_xopen_typ;
/* Prototyping of functions and function blocks */
void FRM_mode(struct FRM_mode* inst);
void FRM_ctrl(struct FRM_ctrl* inst);
void FRM_robuf(struct FRM_robuf* inst);
void FRM_gbuf(struct FRM_gbuf* inst);
void FRM_rbuf(struct FRM_rbuf* inst);
void FRM_close(struct FRM_close* inst);
void FRM_write(struct FRM_write* inst);
void FRM_read(struct FRM_read* inst);
void FRM_xopen(struct FRM_xopen* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DVFRAME_ */

View File

@@ -0,0 +1,228 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DVFRAME_
#define _DVFRAME_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define ARG_BAUD 0U
#define ARG_MISC 16U
#define frmERR_OK 0U
#define ARG_PVPOLLADR 15U
#define frmERR_MAXOPEN 8254U
#define frmERR_NOINPUT 60U
#define ARG_TXPVPOLLADR 17U
#define frmERR_NOBUFFER 8071U
#define frmERR_PA_DB_SB 8256U
#define MISC_RECEIVE_ALL 2U
#define frmERR_NOTOPENED 8251U
#define frmERR_INPUTERROR 8079U
#define frmERR_NORESOURCES 8258U
#define ARG_EVSEND_TASKEVENT 18U
#define ARG_EVSEND_TASKIDENT 14U
#define frmERR_INVALIDBUFFER 8072U
#define frmERR_IOCTL_NOTVALID 8073U
#define frmERR_MODEDESCRIPTION 8253U
#define frmERR_TRANSMITOVERRUN 8078U
#define frmERR_FUB_ENABLE_FALSE 65534U
#define frmERR_DEVICEDESCRIPTION 8252U
#define frmERR_IOCTL_NOTSUPPORTED 8257U
#else
_IEC_CONST unsigned long ARG_BAUD = 0U;
_IEC_CONST unsigned long ARG_MISC = 16U;
_IEC_CONST unsigned short frmERR_OK = 0U;
_IEC_CONST unsigned long ARG_PVPOLLADR = 15U;
_IEC_CONST unsigned short frmERR_MAXOPEN = 8254U;
_IEC_CONST unsigned short frmERR_NOINPUT = 60U;
_IEC_CONST unsigned long ARG_TXPVPOLLADR = 17U;
_IEC_CONST unsigned short frmERR_NOBUFFER = 8071U;
_IEC_CONST unsigned short frmERR_PA_DB_SB = 8256U;
_IEC_CONST unsigned long MISC_RECEIVE_ALL = 2U;
_IEC_CONST unsigned short frmERR_NOTOPENED = 8251U;
_IEC_CONST unsigned short frmERR_INPUTERROR = 8079U;
_IEC_CONST unsigned short frmERR_NORESOURCES = 8258U;
_IEC_CONST unsigned long ARG_EVSEND_TASKEVENT = 18U;
_IEC_CONST unsigned long ARG_EVSEND_TASKIDENT = 14U;
_IEC_CONST unsigned short frmERR_INVALIDBUFFER = 8072U;
_IEC_CONST unsigned short frmERR_IOCTL_NOTVALID = 8073U;
_IEC_CONST unsigned short frmERR_MODEDESCRIPTION = 8253U;
_IEC_CONST unsigned short frmERR_TRANSMITOVERRUN = 8078U;
_IEC_CONST unsigned short frmERR_FUB_ENABLE_FALSE = 65534U;
_IEC_CONST unsigned short frmERR_DEVICEDESCRIPTION = 8252U;
_IEC_CONST unsigned short frmERR_IOCTL_NOTSUPPORTED = 8257U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct XOPENCONFIG
{ unsigned short idle;
unsigned short delimc;
unsigned char delim[2];
unsigned short tx_cnt;
unsigned short rx_cnt;
unsigned short tx_len;
unsigned short rx_len;
unsigned short argc;
unsigned long argv;
} XOPENCONFIG;
typedef struct FRM_mode
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long mode;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_mode_typ;
typedef struct FRM_ctrl
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned short ioctrl;
unsigned long inarg;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long outarg;
/* VAR (analog) */
plcstring internal[44];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_ctrl_typ;
typedef struct FRM_robuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_robuf_typ;
typedef struct FRM_gbuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long buffer;
unsigned short buflng;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_gbuf_typ;
typedef struct FRM_rbuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_rbuf_typ;
typedef struct FRM_close
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_close_typ;
typedef struct FRM_write
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_write_typ;
typedef struct FRM_read
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long buffer;
unsigned short buflng;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_read_typ;
typedef struct FRM_xopen
{
/* VAR_INPUT (analog) */
unsigned long device;
unsigned long mode;
unsigned long config;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_xopen_typ;
/* Prototyping of functions and function blocks */
void FRM_mode(struct FRM_mode* inst);
void FRM_ctrl(struct FRM_ctrl* inst);
void FRM_robuf(struct FRM_robuf* inst);
void FRM_gbuf(struct FRM_gbuf* inst);
void FRM_rbuf(struct FRM_rbuf* inst);
void FRM_close(struct FRM_close* inst);
void FRM_write(struct FRM_write* inst);
void FRM_read(struct FRM_read* inst);
void FRM_xopen(struct FRM_xopen* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DVFRAME_ */

View File

@@ -0,0 +1,227 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _DVFRAME_
#define _DVFRAME_
#ifdef __cplusplus
extern "C"
{
#endif
#include <bur/plctypes.h>
#include <runtime.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define ARG_BAUD 0U
#define ARG_MISC 16U
#define frmERR_OK 0U
#define ARG_PVPOLLADR 15U
#define frmERR_MAXOPEN 8254U
#define frmERR_NOINPUT 60U
#define ARG_TXPVPOLLADR 17U
#define frmERR_NOBUFFER 8071U
#define frmERR_PA_DB_SB 8256U
#define MISC_RECEIVE_ALL 2U
#define frmERR_NOTOPENED 8251U
#define frmERR_INPUTERROR 8079U
#define frmERR_NORESOURCES 8258U
#define ARG_EVSEND_TASKEVENT 18U
#define ARG_EVSEND_TASKIDENT 14U
#define frmERR_INVALIDBUFFER 8072U
#define frmERR_IOCTL_NOTVALID 8073U
#define frmERR_MODEDESCRIPTION 8253U
#define frmERR_TRANSMITOVERRUN 8078U
#define frmERR_FUB_ENABLE_FALSE 65534U
#define frmERR_DEVICEDESCRIPTION 8252U
#define frmERR_IOCTL_NOTSUPPORTED 8257U
#else
_IEC_CONST unsigned long ARG_BAUD = 0U;
_IEC_CONST unsigned long ARG_MISC = 16U;
_IEC_CONST unsigned short frmERR_OK = 0U;
_IEC_CONST unsigned long ARG_PVPOLLADR = 15U;
_IEC_CONST unsigned short frmERR_MAXOPEN = 8254U;
_IEC_CONST unsigned short frmERR_NOINPUT = 60U;
_IEC_CONST unsigned long ARG_TXPVPOLLADR = 17U;
_IEC_CONST unsigned short frmERR_NOBUFFER = 8071U;
_IEC_CONST unsigned short frmERR_PA_DB_SB = 8256U;
_IEC_CONST unsigned long MISC_RECEIVE_ALL = 2U;
_IEC_CONST unsigned short frmERR_NOTOPENED = 8251U;
_IEC_CONST unsigned short frmERR_INPUTERROR = 8079U;
_IEC_CONST unsigned short frmERR_NORESOURCES = 8258U;
_IEC_CONST unsigned long ARG_EVSEND_TASKEVENT = 18U;
_IEC_CONST unsigned long ARG_EVSEND_TASKIDENT = 14U;
_IEC_CONST unsigned short frmERR_INVALIDBUFFER = 8072U;
_IEC_CONST unsigned short frmERR_IOCTL_NOTVALID = 8073U;
_IEC_CONST unsigned short frmERR_MODEDESCRIPTION = 8253U;
_IEC_CONST unsigned short frmERR_TRANSMITOVERRUN = 8078U;
_IEC_CONST unsigned short frmERR_FUB_ENABLE_FALSE = 65534U;
_IEC_CONST unsigned short frmERR_DEVICEDESCRIPTION = 8252U;
_IEC_CONST unsigned short frmERR_IOCTL_NOTSUPPORTED = 8257U;
#endif
/* Datatypes and datatypes of function blocks */
typedef struct XOPENCONFIG
{ unsigned short idle;
unsigned short delimc;
unsigned char delim[2];
unsigned short tx_cnt;
unsigned short rx_cnt;
unsigned short tx_len;
unsigned short rx_len;
unsigned short argc;
unsigned long argv;
} XOPENCONFIG;
typedef struct FRM_mode
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long mode;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_mode_typ;
typedef struct FRM_ctrl
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned short ioctrl;
unsigned long inarg;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long outarg;
/* VAR (analog) */
plcstring internal[44];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_ctrl_typ;
typedef struct FRM_robuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_robuf_typ;
typedef struct FRM_gbuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long buffer;
unsigned short buflng;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_gbuf_typ;
typedef struct FRM_rbuf
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_rbuf_typ;
typedef struct FRM_close
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_close_typ;
typedef struct FRM_write
{
/* VAR_INPUT (analog) */
unsigned long ident;
unsigned long buffer;
unsigned short buflng;
/* VAR_OUTPUT (analog) */
unsigned short status;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_write_typ;
typedef struct FRM_read
{
/* VAR_INPUT (analog) */
unsigned long ident;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long buffer;
unsigned short buflng;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_read_typ;
typedef struct FRM_xopen
{
/* VAR_INPUT (analog) */
unsigned long device;
unsigned long mode;
unsigned long config;
/* VAR_OUTPUT (analog) */
unsigned short status;
unsigned long ident;
/* VAR (analog) */
plcstring internal[28];
/* VAR_INPUT (digital) */
plcbit enable;
} FRM_xopen_typ;
/* Prototyping of functions and function blocks */
void FRM_mode(struct FRM_mode* inst);
void FRM_ctrl(struct FRM_ctrl* inst);
void FRM_robuf(struct FRM_robuf* inst);
void FRM_gbuf(struct FRM_gbuf* inst);
void FRM_rbuf(struct FRM_rbuf* inst);
void FRM_close(struct FRM_close* inst);
void FRM_write(struct FRM_write* inst);
void FRM_read(struct FRM_read* inst);
void FRM_xopen(struct FRM_xopen* inst);
#ifdef __cplusplus
};
#endif
#endif /* _DVFRAME_ */

View File

@@ -0,0 +1,143 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: dvframe
* File: dvframe.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library dvframe
********************************************************************)
FUNCTION_BLOCK FRM_mode (*modifies the values for the baud rate and asynchronous parameters*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
mode :UDINT; (*address of the string which configures the interface to be used*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_ctrl (*operates the DSR/DTR signals for modem capable interfaces*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
ioctrl :UINT; (*control selection*)
inarg :UDINT; (*input argument*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
outarg :UDINT; (*output argument*)
END_VAR
VAR
internal :STRING[43]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_robuf (*releases the send buffer manually*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
buffer :UDINT; (*send buffer address*)
buflng :UINT; (*send buffer length*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_gbuf (*requests an available send buffer*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
buffer :UDINT; (*send buffer address*)
buflng :UINT; (*send buffer length*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_rbuf (*releases the receive buffer*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
buffer :UDINT; (*receive buffer address*)
buflng :UINT; (*receive buffer length*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_close (*closes a previously opened serial interface*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_write (*enables the frame driver to send data to the send buffer*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
buffer :UDINT; (*send buffer address*)
buflng :UINT; (*send buffer length*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_read (*starts the receive process*)
VAR_INPUT
enable :BOOL; (*enables execution*)
ident :UDINT; (*driver ID for the interface (see FRM_xopen())*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
buffer :UDINT; (*receive buffer address*)
buflng :UINT; (*receive buffer length*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK FRM_xopen (*opens a serial interface for frame transfer*)
VAR_INPUT
enable :BOOL; (*enables execution*)
device :UDINT; (*pointer to a string which clearly describes the interface used*)
mode :UDINT; (*pointer to the string which configures the interface to be used*)
config :UDINT; (*address for a configuration structure can be entered at this point (optional entry)*)
END_VAR
VAR_OUTPUT
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
ident :UDINT; (*driver ID for the interface (required for other functions in the DVFrame library)*)
END_VAR
VAR
internal :STRING[27]; (*internal variable*)
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,23 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: dvframe
* File: dvframe.typ
* Author: B+R
********************************************************************
* Data types of library dvframe
********************************************************************)
TYPE
XOPENCONFIG : STRUCT
idle : UINT ; (*maximum idle time between characters*)
delimc : UINT ; (*activate the frame delimiters, standard value : 0*)
delim : ARRAY[0..1] OF USINT ; (*frame delimiters, default value: 0,0*)
tx_cnt : UINT ; (*number of send buffers (maximum 8), default value: 2*)
rx_cnt : UINT ; (*number of receive buffers (maximum 8), default value: 2*)
tx_len : UINT ; (*send buffer length, default value: 256 bytes*)
rx_len : UINT ; (*receive buffer length, default value: 256 bytes*)
argc : UINT ; (*number of additional arguments in argv, default value: 0*)
argv : UDINT ; (*address for a UDINT field with additional arguments, default value: 0*)
END_STRUCT;
END_TYPE

View File

@@ -0,0 +1,34 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: dvframe
* File: dvframe.var
* Author: B+R
********************************************************************
* Local variables of library dvframe
********************************************************************)
VAR CONSTANT
frmERR_IOCTL_NOTSUPPORTED : UINT := 8257; (*command not supported by driver (hardware)*)
frmERR_DEVICEDESCRIPTION : UINT := 8252; (*device not found*)
frmERR_FUB_ENABLE_FALSE : UINT := 65534;
frmERR_TRANSMITOVERRUN : UINT := 8078; (*send buffer waiting queue full*)
frmERR_MODEDESCRIPTION : UINT := 8253; (*syntax error in mode parameter string, or mode parameter not supported by the specified device*)
frmERR_IOCTL_NOTVALID : UINT := 8073; (*invalid I/O control code*)
frmERR_INVALIDBUFFER : UINT := 8072; (*invalid buffer rejected*)
ARG_EVSEND_TASKIDENT : UDINT := 14;
ARG_EVSEND_TASKEVENT : UDINT := 18;
frmERR_NORESOURCES : UINT := 8258; (*required resource not available (memory, OS object, etc.)*)
frmERR_INPUTERROR : UINT := 8079; (*frame buffer with defective character*)
frmERR_NOTOPENED : UINT := 8251; (*device not open*)
MISC_RECEIVE_ALL : UDINT := 2;
frmERR_PA_DB_SB : UINT := 8256; (*/PA, /DB, /SB must always be specified together*)
frmERR_NOBUFFER : UINT := 8071; (*no buffer available in the send buffer manager*)
ARG_TXPVPOLLADR : UDINT := 17;
frmERR_NOINPUT : UINT := 60; (*no message received*)
frmERR_MAXOPEN : UINT := 8254; (*too many devices opened at once*)
ARG_PVPOLLADR : UDINT := 15;
frmERR_OK : UINT := 0;
ARG_MISC : UDINT := 16;
ARG_BAUD : UDINT := 0;
END_VAR

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="This library contains function interfaces for IEC1131-3 operator functions. For the most part, these are mathematical and logical functions." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>operator.fun</File>
</Files>
</Library>

View File

@@ -0,0 +1,11 @@
/****************************************************************************/
/* */
/* operator.h */
/* */
/* Automation Studio */
/* Copyright Bernecker&Rainer 1998-1999 */
/* */
/****************************************************************************/
/* This library does not contain C code */

View File

@@ -0,0 +1,11 @@
/****************************************************************************/
/* */
/* operator.h */
/* */
/* Automation Studio */
/* Copyright Bernecker&Rainer 1998-1999 */
/* */
/****************************************************************************/
/* This library does not contain C code */

View File

@@ -0,0 +1,11 @@
/****************************************************************************/
/* */
/* operator.h */
/* */
/* Automation Studio */
/* Copyright Bernecker&Rainer 1998-1999 */
/* */
/****************************************************************************/
/* This library does not contain C code */

View File

@@ -0,0 +1,231 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: operator
* File: operator.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library operator
********************************************************************)
FUNCTION SIZEOF : UDINT (*determines the size of a variable in bytes*)
VAR_INPUT
in :ANY; (*input value*)
END_VAR
END_FUNCTION
FUNCTION ADR : UDINT (*determines the address of a data point*)
VAR_INPUT
in :ANY; (*input value*)
END_VAR
END_FUNCTION
FUNCTION SHR : ANY (*shifts bitwise to the right*)
VAR_INPUT
IN :ANY; (*input value*)
N :SINT; (*number of bits to be shifted*)
END_VAR
END_FUNCTION
FUNCTION ROR : ANY (*rotates bitwise to the right*)
VAR_INPUT
IN :ANY; (*input value*)
N :SINT; (*number of bits to be rotated*)
END_VAR
END_FUNCTION
FUNCTION ROL : ANY (*rotates bitwise to the left*)
VAR_INPUT
IN :ANY; (*input value*)
N :SINT; (*number of bits to be rotated*)
END_VAR
END_FUNCTION
FUNCTION SHL : ANY (*shifts bitwise to the left*)
VAR_INPUT
IN :ANY; (*input value*)
N :SINT; (*number of bits to be shifted*)
END_VAR
END_FUNCTION
FUNCTION AND : ANY (*makes a bitwise AND relation for 2 or more variables*)
VAR_INPUT
INx :ANY; (*input value*)
END_VAR
END_FUNCTION
FUNCTION XOR : ANY (*makes a bitwise XOR relation for 2 or more variables*)
VAR_INPUT
INx :ANY; (*input values*)
END_VAR
END_FUNCTION
FUNCTION OR : ANY (*makes a bitwise OR relation for 2 or more variables*)
VAR_INPUT
INx :ANY; (*input values*)
END_VAR
END_FUNCTION
FUNCTION NOT : ANY (*makes a bitwise inversion of variables*)
VAR_INPUT
IN :ANY; (*input value*)
END_VAR
END_FUNCTION
FUNCTION ADD : ANY (*adds 2 or more variables*)
VAR_INPUT
INx :ANY; (*input values*)
END_VAR
END_FUNCTION
FUNCTION MUL : ANY_NUM (*multiplies 2 or more variables*)
VAR_INPUT
INx :ANY_NUM; (*input values*)
END_VAR
END_FUNCTION
FUNCTION SUB : ANY (*subtracts one or more variables from another variable*)
VAR_INPUT
IN1 :ANY; (*value 1*)
IN2 :ANY; (*value 2*)
END_VAR
END_FUNCTION
FUNCTION DIV : ANY_NUM (*divides a variable by one or more variables*)
VAR_INPUT
IN1 :ANY_NUM; (*dividend*)
IN2 :ANY_NUM; (*divisor*)
END_VAR
END_FUNCTION
FUNCTION MOD : ANY_INT (*makes a remainder when dividing a variable by another variable*)
VAR_INPUT
IN1 :ANY_INT; (*dividend*)
IN2 :ANY_INT; (*divisor*)
END_VAR
END_FUNCTION
FUNCTION MOVE : ANY (*copies the contents of the input variables to the corresponding output variables*)
VAR_INPUT
IN :ANY; (*input variable*)
END_VAR
END_FUNCTION
FUNCTION MAX : ANY (*determines the maximum value of two or more values*)
VAR_INPUT
IN1 :ANY; (*input value 1*)
IN2 :ANY; (*input value 2*)
END_VAR
END_FUNCTION
FUNCTION MIN : ANY (*determines the lowest value of two or more values*)
VAR_INPUT
IN1 :ANY; (*input value 1*)
IN2 :ANY; (*input value 2*)
END_VAR
END_FUNCTION
FUNCTION LIMIT : ANY (*limits a value to within maximum and minimum boundaries*)
VAR_INPUT
MN :ANY; (*minimum value*)
IN :ANY; (*input value*)
MX :ANY; (*maximum value*)
END_VAR
END_FUNCTION
FUNCTION SEL : ANY (*selects one value from two values*)
VAR_INPUT
G :BOOL; (*selection variable*)
IN0 :ANY; (*input value for FALSE*)
IN1 :ANY; (*input value for TRUE*)
END_VAR
END_FUNCTION
FUNCTION MUX : ANY (*selects a value from several values*)
VAR_INPUT
K :SINT; (*selection variable*)
INx :ANY; (*input values*)
END_VAR
END_FUNCTION
FUNCTION GE : BOOL (*checks if the input values are in decreasing order*)
VAR_INPUT
IN1 :ANY; (*comparison value 1*)
IN2 :ANY; (*comparison value 2*)
END_VAR
END_FUNCTION
FUNCTION EQ : BOOL (*compares two or more values whether they are equal*)
VAR_INPUT
IN1 :ANY; (*comparison value 1*)
IN2 :ANY; (*comparison value 2*)
END_VAR
END_FUNCTION
FUNCTION GT : BOOL (*checks if the input values are in decreasing order*)
VAR_INPUT
IN1 :ANY; (*comparison value 1*)
IN2 :ANY; (*comparison value 2*)
END_VAR
END_FUNCTION
FUNCTION LE : BOOL (*checks if the input values are in increasing order*)
VAR_INPUT
IN1 :ANY; (*comparison value 1*)
IN2 :ANY; (*comparison value 2*)
END_VAR
END_FUNCTION
FUNCTION LT : BOOL (*checks if the input values are in increasing order*)
VAR_INPUT
IN1 :ANY; (*comparison value 1*)
IN2 :ANY; (*comparison value 2*)
END_VAR
END_FUNCTION
FUNCTION NE : BOOL (*compares two values whether they are not equal*)
VAR_INPUT
IN1 :ANY; (*comparison value 1*)
IN2 :ANY; (*comparison value 2*)
END_VAR
END_FUNCTION
FUNCTION ABS : ANY_NUM (*returns the absolute value of a number*)
VAR_INPUT
IN :ANY_NUM; (*input value*)
END_VAR
END_FUNCTION
FUNCTION SQRT : ANY_REAL (*returns the square root of a number*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION LN : ANY_REAL (*returns the result of a natural logarithm*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION LOG : ANY_REAL (*returns the result of a base 10 logarithm*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION EXP : ANY_REAL (*returns the result of a natural exponential function*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION SIN : ANY_REAL (*returns the sine of a number (calculated in radian)*)
VAR_INPUT
IN :ANY_REAL; (*input value in radian*)
END_VAR
END_FUNCTION
FUNCTION COS : ANY_REAL (*returns the cosine of a number (calculated in radian)*)
VAR_INPUT
IN :ANY_REAL; (*input value in radian*)
END_VAR
END_FUNCTION
FUNCTION TAN : ANY_REAL (*returns the tangent of a number (calculated in radian)*)
VAR_INPUT
IN :ANY_REAL; (*input value in radian*)
END_VAR
END_FUNCTION
FUNCTION ASIN : ANY_REAL (*returns the arc sine (inverse function of sine) of a number (calculated in radian)*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION ACOS : ANY_REAL (*returns the arc cosine (inverse function of cosine) of a number (calculated in radian)*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION ATAN : ANY_REAL (*returns the arc tangent (inverse function of tangent) of a number (calculated in radian)*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION
FUNCTION EXPT : REAL (*raises one variable to the power of another*)
VAR_INPUT
IN1 :REAL; (*base*)
IN2 :ANY_NUM; (*exponent*)
END_VAR
END_FUNCTION
FUNCTION TRUNC : INT (*converts from type REAL to type INT (number is always rounded down)*)
VAR_INPUT
IN :ANY_REAL; (*input value*)
END_VAR
END_FUNCTION

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Library Description="This library contains runtime functions for IEC tasks." xmlns="http://br-automation.co.at/AS/Library">
<Files>
<File>runtime.var</File>
<File>runtime.typ</File>
<File>runtime.fun</File>
</Files>
</Library>

View File

@@ -0,0 +1,80 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _RUNTIME_
#define _RUNTIME_
#ifdef __cplusplus
extern "C" {
#endif
#include <bur/plctypes.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define ERR_OK 0
#define ERR_NOTIMPLEMENTED 9999
#define ERR_FUB_ENABLE_FALSE 0xFFFE
#define ERR_FUB_BUSY 0xFFFF
/* IEC 61131-3 Datentypen */
#define IEC_DATATYPE_BOOL 1
#define IEC_DATATYPE_SINT 2
#define IEC_DATATYPE_INT 3
#define IEC_DATATYPE_DINT 4
#define IEC_DATATYPE_USINT 5
#define IEC_DATATYPE_UINT 6
#define IEC_DATATYPE_UDINT 7
#define IEC_DATATYPE_REAL 8
#define IEC_DATATYPE_STRING 9
#define IEC_DATATYPE_ULINT 10
#define IEC_DATATYPE_DATE_AND_TIME 11
#define IEC_DATATYPE_TIME 12
#define IEC_DATATYPE_DATE 13
#define IEC_DATATYPE_LREAL 14
#define IEC_DATATYPE_TIME_OF_DAY 16
#define IEC_DATATYPE_BYTE 17
#define IEC_DATATYPE_WORD 18
#define IEC_DATATYPE_DWORD 19
#define IEC_DATATYPE_LWORD 20
#define IEC_DATATYPE_WSTRING 21
#define IEC_DATATYPE_LINT 23
#else
_IEC_CONST unsigned short ERR_OK = 0U;
_IEC_CONST unsigned short ERR_NOTIMPLEMENTED = 9999U;
_IEC_CONST unsigned short ERR_FUB_ENABLE_FALSE = 0xFFFEU;
_IEC_CONST unsigned short ERR_FUB_BUSY = 0xFFFFU;
/* IEC 61131-3 Datentypen */
_IEC_CONST unsigned short IEC_DATATYPE_BOOL = 1;
_IEC_CONST unsigned short IEC_DATATYPE_SINT = 2;
_IEC_CONST unsigned short IEC_DATATYPE_INT = 3;
_IEC_CONST unsigned short IEC_DATATYPE_DINT = 4;
_IEC_CONST unsigned short IEC_DATATYPE_USINT = 5;
_IEC_CONST unsigned short IEC_DATATYPE_UINT = 6;
_IEC_CONST unsigned short IEC_DATATYPE_UDINT = 7;
_IEC_CONST unsigned short IEC_DATATYPE_REAL = 8;
_IEC_CONST unsigned short IEC_DATATYPE_STRING = 9;
_IEC_CONST unsigned short IEC_DATATYPE_ULINT = 10;
_IEC_CONST unsigned short IEC_DATATYPE_DATE_AND_TIME = 11;
_IEC_CONST unsigned short IEC_DATATYPE_TIME = 12;
_IEC_CONST unsigned short IEC_DATATYPE_DATE = 13;
_IEC_CONST unsigned short IEC_DATATYPE_LREAL = 14;
_IEC_CONST unsigned short IEC_DATATYPE_TIME_OF_DAY = 16;
_IEC_CONST unsigned short IEC_DATATYPE_BYTE = 17;
_IEC_CONST unsigned short IEC_DATATYPE_WORD = 18;
_IEC_CONST unsigned short IEC_DATATYPE_DWORD = 19;
_IEC_CONST unsigned short IEC_DATATYPE_LWORD = 20;
_IEC_CONST unsigned short IEC_DATATYPE_WSTRING = 21;
_IEC_CONST unsigned short IEC_DATATYPE_LINT = 23;
#endif
#ifdef __cplusplus
};
#endif
#endif /* _RUNTIME_ */

View File

@@ -0,0 +1,80 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _RUNTIME_
#define _RUNTIME_
#ifdef __cplusplus
extern "C" {
#endif
#include <bur/plctypes.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define ERR_OK 0
#define ERR_NOTIMPLEMENTED 9999
#define ERR_FUB_ENABLE_FALSE 0xFFFE
#define ERR_FUB_BUSY 0xFFFF
/* IEC 61131-3 Datentypen */
#define IEC_DATATYPE_BOOL 1
#define IEC_DATATYPE_SINT 2
#define IEC_DATATYPE_INT 3
#define IEC_DATATYPE_DINT 4
#define IEC_DATATYPE_USINT 5
#define IEC_DATATYPE_UINT 6
#define IEC_DATATYPE_UDINT 7
#define IEC_DATATYPE_REAL 8
#define IEC_DATATYPE_STRING 9
#define IEC_DATATYPE_ULINT 10
#define IEC_DATATYPE_DATE_AND_TIME 11
#define IEC_DATATYPE_TIME 12
#define IEC_DATATYPE_DATE 13
#define IEC_DATATYPE_LREAL 14
#define IEC_DATATYPE_TIME_OF_DAY 16
#define IEC_DATATYPE_BYTE 17
#define IEC_DATATYPE_WORD 18
#define IEC_DATATYPE_DWORD 19
#define IEC_DATATYPE_LWORD 20
#define IEC_DATATYPE_WSTRING 21
#define IEC_DATATYPE_LINT 23
#else
_IEC_CONST unsigned short ERR_OK = 0U;
_IEC_CONST unsigned short ERR_NOTIMPLEMENTED = 9999U;
_IEC_CONST unsigned short ERR_FUB_ENABLE_FALSE = 0xFFFEU;
_IEC_CONST unsigned short ERR_FUB_BUSY = 0xFFFFU;
/* IEC 61131-3 Datentypen */
_IEC_CONST unsigned short IEC_DATATYPE_BOOL = 1;
_IEC_CONST unsigned short IEC_DATATYPE_SINT = 2;
_IEC_CONST unsigned short IEC_DATATYPE_INT = 3;
_IEC_CONST unsigned short IEC_DATATYPE_DINT = 4;
_IEC_CONST unsigned short IEC_DATATYPE_USINT = 5;
_IEC_CONST unsigned short IEC_DATATYPE_UINT = 6;
_IEC_CONST unsigned short IEC_DATATYPE_UDINT = 7;
_IEC_CONST unsigned short IEC_DATATYPE_REAL = 8;
_IEC_CONST unsigned short IEC_DATATYPE_STRING = 9;
_IEC_CONST unsigned short IEC_DATATYPE_ULINT = 10;
_IEC_CONST unsigned short IEC_DATATYPE_DATE_AND_TIME = 11;
_IEC_CONST unsigned short IEC_DATATYPE_TIME = 12;
_IEC_CONST unsigned short IEC_DATATYPE_DATE = 13;
_IEC_CONST unsigned short IEC_DATATYPE_LREAL = 14;
_IEC_CONST unsigned short IEC_DATATYPE_TIME_OF_DAY = 16;
_IEC_CONST unsigned short IEC_DATATYPE_BYTE = 17;
_IEC_CONST unsigned short IEC_DATATYPE_WORD = 18;
_IEC_CONST unsigned short IEC_DATATYPE_DWORD = 19;
_IEC_CONST unsigned short IEC_DATATYPE_LWORD = 20;
_IEC_CONST unsigned short IEC_DATATYPE_WSTRING = 21;
_IEC_CONST unsigned short IEC_DATATYPE_LINT = 23;
#endif
#ifdef __cplusplus
};
#endif
#endif /* _RUNTIME_ */

View File

@@ -0,0 +1,80 @@
/* Automation Studio generated header file */
/* Do not edit ! */
#ifndef _RUNTIME_
#define _RUNTIME_
#ifdef __cplusplus
extern "C" {
#endif
#include <bur/plctypes.h>
#ifndef _IEC_CONST
#define _IEC_CONST _WEAK const
#endif
/* Constants */
#ifdef _REPLACE_CONST
#define ERR_OK 0
#define ERR_NOTIMPLEMENTED 9999
#define ERR_FUB_ENABLE_FALSE 0xFFFE
#define ERR_FUB_BUSY 0xFFFF
/* IEC 61131-3 Datentypen */
#define IEC_DATATYPE_BOOL 1
#define IEC_DATATYPE_SINT 2
#define IEC_DATATYPE_INT 3
#define IEC_DATATYPE_DINT 4
#define IEC_DATATYPE_USINT 5
#define IEC_DATATYPE_UINT 6
#define IEC_DATATYPE_UDINT 7
#define IEC_DATATYPE_REAL 8
#define IEC_DATATYPE_STRING 9
#define IEC_DATATYPE_ULINT 10
#define IEC_DATATYPE_DATE_AND_TIME 11
#define IEC_DATATYPE_TIME 12
#define IEC_DATATYPE_DATE 13
#define IEC_DATATYPE_LREAL 14
#define IEC_DATATYPE_TIME_OF_DAY 16
#define IEC_DATATYPE_BYTE 17
#define IEC_DATATYPE_WORD 18
#define IEC_DATATYPE_DWORD 19
#define IEC_DATATYPE_LWORD 20
#define IEC_DATATYPE_WSTRING 21
#define IEC_DATATYPE_LINT 23
#else
_IEC_CONST unsigned short ERR_OK = 0U;
_IEC_CONST unsigned short ERR_NOTIMPLEMENTED = 9999U;
_IEC_CONST unsigned short ERR_FUB_ENABLE_FALSE = 0xFFFEU;
_IEC_CONST unsigned short ERR_FUB_BUSY = 0xFFFFU;
/* IEC 61131-3 Datentypen */
_IEC_CONST unsigned short IEC_DATATYPE_BOOL = 1;
_IEC_CONST unsigned short IEC_DATATYPE_SINT = 2;
_IEC_CONST unsigned short IEC_DATATYPE_INT = 3;
_IEC_CONST unsigned short IEC_DATATYPE_DINT = 4;
_IEC_CONST unsigned short IEC_DATATYPE_USINT = 5;
_IEC_CONST unsigned short IEC_DATATYPE_UINT = 6;
_IEC_CONST unsigned short IEC_DATATYPE_UDINT = 7;
_IEC_CONST unsigned short IEC_DATATYPE_REAL = 8;
_IEC_CONST unsigned short IEC_DATATYPE_STRING = 9;
_IEC_CONST unsigned short IEC_DATATYPE_ULINT = 10;
_IEC_CONST unsigned short IEC_DATATYPE_DATE_AND_TIME = 11;
_IEC_CONST unsigned short IEC_DATATYPE_TIME = 12;
_IEC_CONST unsigned short IEC_DATATYPE_DATE = 13;
_IEC_CONST unsigned short IEC_DATATYPE_LREAL = 14;
_IEC_CONST unsigned short IEC_DATATYPE_TIME_OF_DAY = 16;
_IEC_CONST unsigned short IEC_DATATYPE_BYTE = 17;
_IEC_CONST unsigned short IEC_DATATYPE_WORD = 18;
_IEC_CONST unsigned short IEC_DATATYPE_DWORD = 19;
_IEC_CONST unsigned short IEC_DATATYPE_LWORD = 20;
_IEC_CONST unsigned short IEC_DATATYPE_WSTRING = 21;
_IEC_CONST unsigned short IEC_DATATYPE_LINT = 23;
#endif
#ifdef __cplusplus
};
#endif
#endif /* _RUNTIME_ */

View File

@@ -0,0 +1,189 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: runtime
* File: runtime.fun
* Author: B+R
********************************************************************
* Functions and function blocks of library runtime
********************************************************************)
FUNCTION_BLOCK r_trig (*for internal use only - do not use this function in user programs*)
VAR_INPUT
CLK :BOOL;
END_VAR
VAR_OUTPUT
Q :BOOL;
END_VAR
VAR
M :BOOL;
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK f_trig (*for internal use only - do not use this function in user programs*)
VAR_INPUT
CLK :BOOL;
END_VAR
VAR_OUTPUT
Q :BOOL;
END_VAR
VAR
M :BOOL;
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK rf_trig (*for internal use only - do not use this function in user programs*)
VAR_INPUT
CLK :BOOL;
END_VAR
VAR_OUTPUT
Q :BOOL;
END_VAR
VAR
M :BOOL;
END_VAR
END_FUNCTION_BLOCK
FUNCTION GetTime : TIME (*for internal use only - do not use this function in user programs*)
END_FUNCTION
FUNCTION_BLOCK SFCActionControl (*for internal use only - do not use this function in user programs*)
VAR_INPUT
N :BOOL;
R0 :BOOL;
S0 :BOOL;
L :BOOL;
D :BOOL;
P :BOOL;
SD :BOOL;
DS :BOOL;
SL :BOOL;
T :TIME;
END_VAR
VAR_OUTPUT
Q :BOOL;
END_VAR
VAR
S_FF_SET :USINT;
S_FF_R1 :USINT;
S_FF_Q :USINT;
dummy1 :USINT;
L_TMR_PT :TIME;
L_TMR_ET :TIME;
L_TMR_STAR :TIME;
L_TMR_IN :USINT;
L_TMR_Q :USINT;
L_TMR_M :USINT;
dummy2 :USINT;
D_TMR_PT :TIME;
D_TMR_ET :TIME;
D_TMR_STAR :TIME;
D_TMR_IN :USINT;
D_TMR_Q :USINT;
D_TMR_M :USINT;
dummy3 :USINT;
P_TRIG_CLK :USINT;
P_TRIG_Q :USINT;
P_TRIG_M :USINT;
dummy4 :USINT;
SD_TMR_PT :TIME;
SD_TMR_ET :TIME;
SD_TMR_STA :TIME;
SD_TMR_IN :USINT;
SD_TMR_Q :USINT;
SD_TMR_M :USINT;
dummy5 :USINT;
SD_FF_SET :USINT;
SD_FF_R1 :USINT;
SD_FF_Q :USINT;
DS_FF_SET :USINT;
DS_FF_R1 :USINT;
DS_FF_Q :USINT;
DS_TMR_PT :TIME;
DS_TMR_ET :TIME;
DS_TMR_STA :TIME;
DS_TMR_IN :USINT;
DS_TMR_Q :USINT;
DS_TMR_M :USINT;
dummy6 :USINT;
SL_FF_SET :USINT;
SL_FF_R1 :USINT;
SL_FF_Q :USINT;
dummy7 :USINT;
SL_TMR_PT :TIME;
SL_TMR_ET :TIME;
SL_TMR_STA :TIME;
SL_TMR_IN :USINT;
SL_TMR_Q :USINT;
SL_TMR_M :USINT;
dummy8 :USINT;
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK SFCAC2 (*for internal use only - do not use this function in user programs*)
VAR_INPUT
N :BOOL;
R0 :BOOL;
S0 :BOOL;
L :BOOL;
D :BOOL;
P :BOOL;
P1 :BOOL;
P0 :BOOL;
SD :BOOL;
DS :BOOL;
SL :BOOL;
T :TIME;
END_VAR
VAR_OUTPUT
Q :BOOL;
A :BOOL;
END_VAR
VAR
S_FF_SET :USINT;
S_FF_R1 :USINT;
S_FF_Q :USINT;
L_TMR_PT :TIME;
L_TMR_ET :TIME;
L_TMR_STAR :TIME;
L_TMR_IN :USINT;
L_TMR_Q :USINT;
L_TMR_M :USINT;
D_TMR_PT :TIME;
D_TMR_ET :TIME;
D_TMR_STAR :TIME;
D_TMR_IN :USINT;
D_TMR_Q :USINT;
D_TMR_M :USINT;
SD_TMR_PT :TIME;
SD_TMR_ET :TIME;
SD_TMR_STA :TIME;
SD_TMR_IN :USINT;
SD_TMR_Q :USINT;
SD_TMR_M :USINT;
SD_FF_SET :USINT;
SD_FF_R1 :USINT;
SD_FF_Q1 :USINT;
DS_FF_SET :USINT;
DS_FF_R1 :USINT;
DS_FF_Q1 :USINT;
DS_TMR_PT :TIME;
DS_TMR_ET :TIME;
DS_TMR_STA :TIME;
DS_TMR_IN :USINT;
DS_TMR_Q :USINT;
DS_TMR_M :USINT;
SL_FF_SET :USINT;
SL_FF_R1 :USINT;
SL_FF_Q :USINT;
SL_TMR_PT :TIME;
SL_TMR_ET :TIME;
SL_TMR_STA :TIME;
SL_TMR_IN :USINT;
SL_TMR_Q :USINT;
SL_TMR_M :USINT;
P_TRIG_Q :USINT;
P_TRIG_M :USINT;
Q_TRIG_Q :USINT;
Q_TRIG_M :USINT;
P1_TRIG_Q :USINT;
P1_TRIG_M :USINT;
P0_TRIG_Q :USINT;
P0_TRIG_M :USINT;
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,78 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: runtime
* File: runtime.typ
* Author: B+R
********************************************************************
* Data types of library runtime
********************************************************************)
TYPE
SFCActionType : STRUCT (*internal use*)
x : BOOL ;
_x : BOOL ;
t : TIME ;
_t : TIME ;
AC : SFCActionControl;
END_STRUCT;
SFCActionType2 : STRUCT (*internal use*)
x : BOOL ;
_x : BOOL ;
AC : SFCAC2 ;
END_STRUCT;
SFCActionCType : STRUCT (*internal use*)
x : BOOL ;
_x : BOOL ;
force : BOOL ;
_force : BOOL ;
active : BOOL ;
_active : BOOL ;
AC : SFCActionControl ;
END_STRUCT;
SFCActionCType2 : STRUCT (*internal use*)
x : BOOL ;
_x : BOOL ;
force : BOOL ;
_force : BOOL ;
active : BOOL ;
_active : BOOL ;
AC : SFCAC2 ;
END_STRUCT;
SFCStepType : STRUCT (*internal use*)
x : BOOL ;
t : TIME ;
_x : BOOL ;
_t : TIME ;
END_STRUCT;
SFCStepCType : STRUCT (*internal use*)
t : TIME ;
_t : TIME ;
inactive_actions : UDINT ;
_inactive_actions : UDINT ;
x : BOOL ;
_x : BOOL ;
force : BOOL ;
_force : BOOL ;
active : BOOL ;
_active : BOOL ;
error : BOOL ;
END_STRUCT;
SFCSimpleStepCType : STRUCT (*internal use*)
t : TIME ;
_t : TIME ;
x : BOOL ;
_x : BOOL ;
force : BOOL ;
_force : BOOL ;
active : BOOL ;
_active : BOOL ;
error : BOOL ;
END_STRUCT;
SFCTransitionCType : STRUCT (*internal use*)
force : BOOL ;
_force : BOOL ;
active : BOOL ;
_active : BOOL ;
END_STRUCT;
END_TYPE

View File

@@ -0,0 +1,42 @@
(********************************************************************
* COPYRIGHT -- Bernecker + Rainer
********************************************************************
* Library: runtime
* File: runtime.var
* Author: B+R
********************************************************************
* Local variables of library runtime
********************************************************************)
(*Common Functionblock Status*)
VAR CONSTANT
ERR_OK : UINT := 0; (*no error*)
ERR_NOTIMPLEMENTED : UINT := 9999; (*function or function block not implemented*)
ERR_FUB_ENABLE_FALSE : UINT := 16#FFFE; (*function block parameter "enable" is FALSE*)
ERR_FUB_BUSY : UINT := 16#FFFF; (*function block still working*)
END_VAR
(*IEC 61131-3 Datatypes*)
VAR CONSTANT
IEC_DATATYPE_BOOL : UINT := 1; (*8 Bit containing a boolean value FALSE=0 or TRUE=1*)
IEC_DATATYPE_SINT : UINT := 2; (*8 Bit signed integer*)
IEC_DATATYPE_INT : UINT := 3; (*16 Bit signed integer*)
IEC_DATATYPE_DINT : UINT := 4; (*32 Bit signed integer*)
IEC_DATATYPE_USINT : UINT := 5; (*8 Bit unsigned integer*)
IEC_DATATYPE_UINT : UINT := 6; (*16 Bit unsigned integer*)
IEC_DATATYPE_UDINT : UINT := 7; (*32 Bit unsigned integer*)
IEC_DATATYPE_REAL : UINT := 8; (*32 Bit floating point number*)
IEC_DATATYPE_STRING : UINT := 9; (*Variable-length single-byte character string*)
IEC_DATATYPE_ULINT : UINT := 10; (*64 Bit unsigned integer*)
IEC_DATATYPE_DATE_AND_TIME : UINT := 11; (*32 Bit of Date in Seconds since 01.01.1970 00:00:00*)
IEC_DATATYPE_TIME : UINT := 12; (*32 Bit of Time in ms*)
IEC_DATATYPE_DATE : UINT := 13; (*32 Bit of Date (only)*)
IEC_DATATYPE_LREAL : UINT := 14; (*64 Bit floating point number*)
IEC_DATATYPE_TIME_OF_DAY: UINT := 16; (*32 Bit Time of day (only)*)
IEC_DATATYPE_BYTE : UINT := 17; (*Bit string of length 8*)
IEC_DATATYPE_WORD : UINT := 18; (*Bit string of length 16*)
IEC_DATATYPE_DWORD : UINT := 19; (*Bit string of length 32*)
IEC_DATATYPE_LWORD : UINT := 20; (*Bit string of length 64*)
IEC_DATATYPE_WSTRING : UINT := 21; (*Variable-length double-byte character string*)
IEC_DATATYPE_LINT : UINT := 23; (*64 Bit signed integer*)
END_VAR

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Package xmlns="http://br-automation.co.at/AS/Package">
<Objects>
<Object Type="File" Description="Global data types">Global.typ</Object>
<Object Type="File" Description="Global variables">Global.var</Object>
<Object Type="Package" Description="Wattless Current Compensation">wcc</Object>
<Object Type="Package" Description="Global libraries">Libraries</Object>
</Objects>
</Package>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Package xmlns="http://br-automation.co.at/AS/Package">
<Objects>
<Object Type="DataObject" Language="Simple" Description="Modbus Command File">mbcmd</Object>
<Object Type="Program" Language="IEC" Description="Modbus Master WCC 1+2">wcc</Object>
</Objects>
</Package>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<DataObject xmlns="http://br-automation.co.at/AS/DataObject">
<Files>
<File>mbcmd.dat</File>
</Files>
</DataObject>

View File

@@ -0,0 +1,16 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Data object: mbcmd
* File: mbcmd.dat
* Author: michi
* Created: January 03, 2012
********************************************************************
* Data object file: mbcmd.dat
********************************************************************)
;--------------------
; Modbus command file
;--------------------
;EventPV, Function, DestAdress, LocalPV, Offset, Length
"EventPV1 ", 01, $01, "LocalPV1 ", 0000, 0005
"EventPV2 ", 02, $01, "LocalPV2 ", 0000, 0003

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Cyclic code">wccCyclic.st</File>
<File Description="Initialization code">wccInit.st</File>
<File Description="Local data types" Private="true">wcc.typ</File>
<File Description="Local variables" Private="true">wcc.var</File>
</Files>
</Program>

View File

@@ -0,0 +1,14 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: wcc
* File: wcc.typ
* Author: michi
* Created: January 03, 2012
********************************************************************
* Local data types of program wcc
********************************************************************)
TYPE
END_TYPE

View File

@@ -0,0 +1,23 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: wcc
* File: wcc.var
* Author: michi
* Created: January 03, 2012
********************************************************************
* Local variables of program wcc
********************************************************************)
VAR
bInit : BOOL;
strDevice : STRING[10] := 'IF6.ST1';
strMode : STRING[25] := 'RS485,9600,E,8,1';
strDatamodule : STRING[10] := 'mbcmd';
END_VAR
(*//FUBs*)
VAR
lMBMOpen : MBMOpen;
lMBMaster : MBMaster;
lMBMClose : MBMClose;
lMBMCmd : MBMCmd;
END_VAR

View File

@@ -0,0 +1,41 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: wcc
* File: wccCyclic.st
* Author: michi
* Created: January 03, 2012
********************************************************************
* Implementation of program wcc
********************************************************************)
PROGRAM _CYCLIC
//Initialization
IF bInit THEN
lMBMOpen.enable := True;
lMBMOpen.pDevice := ADR (strDevice);
lMBMOpen.pMode := ADR (strMode);
lMBMOpen.pConfig := ADR (strDatamodule);
lMBMOpen.timeout := 2000;
lMBMOpen.ascii := 0;
lMBMOpen ()
bInit := FALSE;
END_IF;
lMBMaster.enable := TRUE
lMBMaster.ident := lMBMOpen.ident;
lMBMaster ();
lMBMCmd.enable := TRUE;
lMBMCmd.ident := lMBMOpen.ident;
lMBMCmd.mfc := 1;
lMBMCmd.node := 1;
lMBMCmd.data : ADR (lPV);
lMBMCmd.offset := 0;
lMBMCmd.len := 5;
lMBMCmd ();
END_PROGRAM

View File

@@ -0,0 +1,18 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: wcc
* File: wccInit.st
* Author: michi
* Created: January 03, 2012
********************************************************************
* Implementation of program wcc
********************************************************************)
PROGRAM _INIT
bInit = True;
END_PROGRAM

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Configuration xmlns="http://br-automation.co.at/AS/Configuration">
<Objects>
<Object Type="File" Description="Hardware topology">Hardware.hc</Object>
<Object Type="PLC" Description="Files belonging to this PLC">PLC1</Object>
</Objects>
</Configuration>

Binary file not shown.

View File

@@ -0,0 +1,336 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=?>
<RuntimeConfiguration Version="3.9.1">
<Module ID="$root" Hardware="X20CP1485">
<Group ID="Logger">
<Group ID="LoggerSystem">
<Parameter ID="SystemLoggerSize" Value="204800" />
<Parameter ID="FieldbusLoggerSize" Value="204800" />
<Parameter ID="SafetyLoggerSize" Value="204800" />
</Group>
<Group ID="LoggerUser">
<Parameter ID="UserLoggerSize" Value="204800" />
</Group>
</Group>
<Group ID="Ethernet">
<Parameter ID="EthernetHostName" Value="br-automation" />
<Parameter ID="EthernetDefaultGateway" />
<Group ID="Routes" />
</Group>
<Group ID="DNS">
<Selector ID="ActivateDns" Value="0" />
</Group>
<Group ID="AdditionalHardware" />
<Group ID="OPC">
<Parameter ID="ActivateOpc" Value="0" />
<Parameter ID="OpcTagsPassword" />
<Parameter ID="DCOMInterface" />
</Group>
<Group ID="WebServer">
<Selector ID="ActivateWebServer" Value="1">
<Parameter ID="TransferWebServ" Value="1" />
<Group ID="WebServerConf">
<Parameter ID="WebServerPort" Value="80" />
<Parameter ID="WebServerWebDir" Value="F:\web\" />
<Parameter ID="WebServerStartPage" Value="index.html" />
<Group ID="WebServerMimeTypes" />
</Group>
<Group ID="WebServerAspConf">
<Selector ID="WebServerAspActivate" Value="1">
<Parameter ID="WebServerAspReadOnly" Value="0" />
</Selector>
</Group>
</Selector>
</Group>
<Group ID="SystemDiagnostics">
<Selector ID="ActivateSdm" Value="1">
<Group ID="SdmCustomizing">
<Selector ID="SdmColor" Value="default" />
<Group ID="SdmCustomData1">
<Group ID="SdmFileDevice1">
<Parameter ID="SdmDeviceName1" />
<Parameter ID="SdmFileName1" />
</Group>
<Parameter ID="SdmDataModule1" />
</Group>
<Group ID="SdmCustomData2">
<Group ID="SdmFileDevice2">
<Parameter ID="SdmDeviceName2" />
<Parameter ID="SdmFileName2" />
</Group>
<Parameter ID="SdmDataModule2" />
</Group>
</Group>
</Selector>
</Group>
</Module>
<Module ID="IF1" Hardware="X20CP1485 (Ser)">
<Group ID="Device">
<Parameter ID="Baudrate" Value="57600" />
<Parameter ID="ReceiveIdleTime" Value="5" />
<Parameter ID="Parity" Value="E" />
<Parameter ID="DataBits" Value="8" />
<Parameter ID="StopBits" Value="1" />
</Group>
<Group ID="INAModem">
<Selector ID="ActivateModem" Value="0" />
</Group>
<Group ID="Network">
<Selector ID="NetworkProtocol" Value="Disable">
<Group ID="INA">
<Parameter ID="ActivateIna" Value="1" />
</Group>
</Selector>
</Group>
</Module>
<Module ID="IF2" Hardware="X20CP1485 (Eth)">
<Selector ID="ActivateDevice" Value="1">
<Group ID="Device">
<Parameter ID="Baudrate" Value="0" />
<Selector ID="Mode" Value="Manual">
<Parameter ID="InternetAddress" Value="192.168.100.68" />
<Parameter ID="SubnetMask" Value="255.255.255.0" />
</Selector>
</Group>
<Group ID="INA">
<Parameter ID="ActivateIna" Value="1" />
<Parameter ID="InaPort" Value="11159" />
</Group>
<Group ID="SNMP">
<Parameter ID="ActivateSnmp" Value="2" />
</Group>
<Group ID="Modbus">
<Selector ID="ActivateModbus" Value="0" />
</Group>
</Selector>
</Module>
<Module ID="IF3" Hardware="X20CP1485 (Pwl)">
<Selector ID="Operation" Value="EPL-V2">
<Parameter ID="MtuSize" Value="300" />
<Group ID="PL2">
<Parameter ID="ActivatePowerlink" Value="0" />
<Parameter ID="CycleTime" Value="2000" />
<Parameter ID="MuxPrescaler" Value="8" />
<Selector ID="Mode" Value="MN">
<Group ID="Advanced">
<Selector ID="NodeDefinition" Value="Software" />
<Parameter ID="AsyncTimeout" Value="25" />
<Parameter ID="TransferOnlyActive" Value="off" />
<Parameter ID="OutputJustInTime" Value="off" />
<Parameter ID="EplNatSubnet" Value="192.168.101.0" />
</Group>
<Group ID="IOBus">
<Parameter ID="BusCycleTrigger" Value="auto" />
<Parameter ID="OutputCycleTrigger" Value="auto" />
</Group>
<Group ID="Channels" />
</Selector>
</Group>
<Group ID="Ethernet">
<Selector ID="EthernetMode" Value="Manual">
<Parameter ID="InternetAddress" />
<Parameter ID="SubnetMask" Value="255.0.0.0" />
</Selector>
</Group>
<Group ID="INA">
<Parameter ID="ActivateIna" Value="0" />
<Parameter ID="InaPort" Value="11159" />
<Parameter ID="InaNodeNumber" Value="1" />
</Group>
</Selector>
</Module>
<Module ID="IF6" Hardware="X20CP1485 (X2x)">
<Group ID="X2X">
<Parameter ID="ActivateX2X" Value="1" />
<Parameter ID="CycleTime" Value="2000" />
<Parameter ID="BusLength" Value="1000" />
<Group ID="Advanced">
<Parameter ID="Stations" Value="64" />
<Parameter ID="AsyncPayload" Value="80" />
<Parameter ID="Asymmetric" Value="off" />
<Parameter ID="OutputJustInTime" Value="on" />
</Group>
<Group ID="IOBus">
<Parameter ID="BusCycleTrigger" Value="auto" />
<Parameter ID="OutputCycleTrigger" Value="auto" />
</Group>
</Group>
</Module>
<Module ID="SS1" Hardware="X20IF1061">
<Selector ID="FunctionModel" Value="Standard" />
</Module>
<Module ID="SS1.IF1" Hardware="X20IF1061 (Prbdp)">
<Group ID="Device">
<Parameter ID="ActivateDevice" Value="1" />
<Parameter ID="CycleTime" Value="2000" />
<Parameter ID="DiagnosticMode" Value="LifeList" />
</Group>
<Group ID="PRB">
<Group ID="busparameter">
<Parameter ID="busbaudrate" Value="0" />
<Parameter ID="slottime" Value="100" />
<Parameter ID="rotationtime" Value="1608" />
<Parameter ID="maxtsdr" Value="60" />
<Parameter ID="trdy" Value="11" />
<Parameter ID="tsdi" Value="70" />
<Parameter ID="tset" Value="1" />
<Parameter ID="tqui" Value="0" />
<Parameter ID="maxretrylimit" Value="1" />
<Parameter ID="gap_actualization_factor" Value="10" />
<Parameter ID="highest_station_address" Value="125" />
<Parameter ID="min_poll_timeout" Value="1" />
<Parameter ID="data_control_time" Value="1200" />
<Parameter ID="min_slave_intervall" Value="100" />
<Parameter ID="watchdog_control" Value="200" />
<Parameter ID="auto_clear" Value="0" />
</Group>
<Group ID="master_settings">
<Parameter ID="stationaddress" Value="1" />
<Parameter ID="automatic_communication_release" Value="1" />
<Parameter ID="deleteflash" Value="1" />
<Parameter ID="watchdog_time" Value="1000" />
<Parameter ID="functionblocktimeout" Value="10000" />
<Parameter ID="accPriority" Value="191" />
</Group>
<Group ID="group_membership">
<Group ID="group1">
<Parameter ID="group1_commands" Value="0" />
<Group ID="group1_slaves" />
</Group>
<Group ID="group2">
<Parameter ID="group2_commands" Value="0" />
<Group ID="group2_slaves" />
</Group>
<Group ID="group3">
<Parameter ID="group3_commands" Value="0" />
<Group ID="group3_slaves" />
</Group>
<Group ID="group4">
<Parameter ID="group4_commands" Value="0" />
<Group ID="group4_slaves" />
</Group>
<Group ID="group5">
<Parameter ID="group5_commands" Value="0" />
<Group ID="group5_slaves" />
</Group>
<Group ID="group6">
<Parameter ID="group6_commands" Value="0" />
<Group ID="group6_slaves" />
</Group>
<Group ID="group7">
<Parameter ID="group7_commands" Value="0" />
<Group ID="group7_slaves" />
</Group>
<Group ID="group8">
<Parameter ID="group8_commands" Value="0" />
<Group ID="group8_slaves" />
</Group>
</Group>
<Group ID="devicespecificparameters">
<Parameter ID="maxmemory" Value="0" />
</Group>
</Group>
</Module>
<Module ID="IF6.ST1" Hardware="X20CS1030">
<Selector ID="FunctionModel" Value="Stream1xRS4xx">
<Group ID="General">
<Parameter ID="Supervision" Value="on" />
<Parameter ID="ExtErrStatusInfo" Value="off" />
<Parameter ID="AsynSize" Value="24" />
<Parameter ID="AsynForward" Value="6" />
</Group>
</Selector>
</Module>
<Module ID="IF6.ST1.IF1" Hardware="X20CS1030 (Ser)">
<Group ID="Device">
<Selector ID="ActivateDevice" Value="on" />
<Parameter ID="Baudrate" Value="57600" />
<Parameter ID="Parity" Value="E" />
<Parameter ID="DataBits" Value="8" />
<Parameter ID="StopBits" Value="1" />
<Selector ID="DeviceType" Value="RS422">
<Group ID="Handshake">
<Group ID="SwHandshake">
<Selector ID="SwHandshakeActivate" Value="off" />
</Group>
<Parameter ID="LowerThreshold" Value="512" />
<Parameter ID="UpperThreshold" Value="1024" />
</Group>
</Selector>
<Group ID="Frame">
<Parameter ID="ReceiveIdleTime" Value="4" />
<Parameter ID="TransmitIdleTime" Value="5" />
<Parameter ID="FrameLengthMax" Value="256" />
<Parameter ID="FrameTerminationChar1" Value="-1" />
<Parameter ID="FrameTerminationChar2" Value="-1" />
<Parameter ID="FrameTerminationChar3" Value="-1" />
<Parameter ID="FrameTerminationChar4" Value="-1" />
</Group>
</Group>
<Group ID="StreamINAModem">
<Selector ID="ActivateModem" Value="0" />
</Group>
<Group ID="Network">
<Selector ID="NetworkProtocol" Value="Disable">
<Group ID="StreamINA">
<Parameter ID="ActivateIna" Value="0" />
</Group>
</Selector>
</Group>
<Group ID="MODBUSRTU">
<Parameter ID="ActivateMODBUSRTU" Value="1" />
<Parameter ID="CycleTime" Value="500" />
</Group>
</Module>
<Module ID="IF6.ST2" Hardware="X20CS1030">
<Selector ID="FunctionModel" Value="Stream1xRS4xx">
<Group ID="General">
<Parameter ID="Supervision" Value="on" />
<Parameter ID="ExtErrStatusInfo" Value="off" />
<Parameter ID="AsynSize" Value="24" />
<Parameter ID="AsynForward" Value="6" />
</Group>
</Selector>
</Module>
<Module ID="IF6.ST2.IF1" Hardware="X20CS1030 (Ser)">
<Group ID="Device">
<Selector ID="ActivateDevice" Value="on" />
<Parameter ID="Baudrate" Value="57600" />
<Parameter ID="Parity" Value="E" />
<Parameter ID="DataBits" Value="8" />
<Parameter ID="StopBits" Value="1" />
<Selector ID="DeviceType" Value="RS422">
<Group ID="Handshake">
<Group ID="SwHandshake">
<Selector ID="SwHandshakeActivate" Value="off" />
</Group>
<Parameter ID="LowerThreshold" Value="512" />
<Parameter ID="UpperThreshold" Value="1024" />
</Group>
</Selector>
<Group ID="Frame">
<Parameter ID="ReceiveIdleTime" Value="4" />
<Parameter ID="TransmitIdleTime" Value="5" />
<Parameter ID="FrameLengthMax" Value="256" />
<Parameter ID="FrameTerminationChar1" Value="-1" />
<Parameter ID="FrameTerminationChar2" Value="-1" />
<Parameter ID="FrameTerminationChar3" Value="-1" />
<Parameter ID="FrameTerminationChar4" Value="-1" />
</Group>
</Group>
<Group ID="StreamINAModem">
<Selector ID="ActivateModem" Value="0" />
</Group>
<Group ID="Network">
<Selector ID="NetworkProtocol" Value="Disable">
<Group ID="StreamINA">
<Parameter ID="ActivateIna" Value="1" />
</Group>
</Selector>
</Group>
<Group ID="MODBUSRTU">
<Parameter ID="ActivateMODBUSRTU" Value="0" />
<Parameter ID="CycleTime" Value="500" />
</Group>
</Module>
</RuntimeConfiguration>

View File

@@ -0,0 +1,13 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* File: Cpu.per
* Author: michi
* Created: January 03, 2012
********************************************************************
* Declaration of permanent variables
********************************************************************)
VAR_CONFIG
END_VAR

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<SwConfiguration CpuAddress="SL1" xmlns="http://br-automation.co.at/AS/SwConfiguration">
<TaskClass Name="Cyclic#1" />
<TaskClass Name="Cyclic#2" />
<TaskClass Name="Cyclic#3" />
<TaskClass Name="Cyclic#4">
<Task Name="wcc" Source="wcc.wcc.prg" Memory="UserROM" Language="IEC" Debugging="true" />
</TaskClass>
<DataObjects>
<DataObject Name="mbcmd" Source="wcc.mbcmd.dob" Memory="UserROM" Language="Simple" />
</DataObjects>
<NcDataObjects />
<VcDataObjects />
<Binaries />
<Libraries>
<LibraryObject Name="DRV_mbus" Source="Libraries.DRV_mbus.lby" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="dvframe" Source="Libraries.dvframe.lby" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="DataObj" Source="Libraries.DataObj.lby" Memory="UserROM" Language="Binary" Debugging="true" />
</Libraries>
</SwConfiguration>

View File

@@ -0,0 +1,13 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* File: IoMap.iom
* Author: michi
* Created: January 03, 2012
********************************************************************
* IO mapping file
********************************************************************)
VAR_CONFIG
END_VAR

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<PLC xmlns="http://br-automation.co.at/AS/PLC">
<Objects>
<Object Type="File" Description="Software configuration">Cpu.sw</Object>
<Object Type="File" Description="Declaration of permanent variables">Cpu.per</Object>
<Object Type="File" Description="IO mapping file">IoMap.iom</Object>
<Object Type="File" Description="PV mapping file">PvMap.vvm</Object>
<Object Type="File" Description="Runtime configuration file">ArConfig.rtc</Object>
<Object Type="File" Description="CPU system configuration">sysconf.br</Object>
<Object Type="File" Description="CPU system configuration">sysconf.syc</Object>
</Objects>
<CpuModules>
<CpuModule LocalVariablesMemory="MemoryPool" GeneratePPCode="false" HasNcOperatingSystem="true" Target="SG4" ModuleID="CP1485" ClassID="X20CP1485" GccVersion="V4.1.2" OnlineConfigurationName="Franz_KW">
<DefaultTargetMemory Tasks="UserROM" Libraries="UserROM" DataObjects="UserROM" />
<DefaultTaskClass Name="Cyclic4" />
<IO DefaultTaskClass="Automatic" ArConfigDataModule="false" ArConfigDataModulePath="$(AS_CPU_PATH)\AS\CfgData.br" IoMapDataModule="false" IoMapDataModulePath="$(AS_CPU_PATH)\AS\IomData.br" />
<OS Version="3.09.0" Status="A" />
<Transfer DownloadMode="Overload" PromptBeforeProject="false" PromptBeforeTask="false" PackedArConfig="false" PackedIoMap="false" IgnoreTargetOnlyObjects="false" GeneratePviTransferList="true" TransferOnlyRelevantChanges="false" AllowWarmRestart="true" IgnoreBrDependencies="false" />
<Build />
<VC FirmwareVersion="V3.95.3" />
<OPC />
</CpuModule>
</CpuModules>
<Communication>
<OnlineConfiguration Name="Franz_KW" DeviceType="TCPIP" DeviceParameters="/IF=tcpip /LOPO=11159 /SA=1" ConnectionParameters="/RT=1000 /DAIP=192.168.100.68 /REPO=11159 /ANSL=1" Description="" UserName="michi" />
</Communication>
</PLC>

View File

@@ -0,0 +1,13 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* File: PvMap.vvm
* Author: michi
* Created: January 03, 2012
********************************************************************
* PV mapping file
********************************************************************)
VAR_CONFIG
END_VAR

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=3.0.90.19 SP01?>
<Physical xmlns="http://br-automation.co.at/AS/Physical">
<Configurations>
<Configuration Name="Config1" Description="" />
</Configurations>
</Physical>

Binary file not shown.

View File

@@ -0,0 +1,32 @@
[config]
rule: CYCLICSYSTEM/SystemTick, 400, 10000, 1, 17046
rule: CYCLICSYSTEM/IDLETIME/CycleTime, 800, 100000, 1, 17047
rule: CYCLICSYSTEM/IDLETIME/IdleTime, 400, 10000, 1, 17048
rule: CYCLICSYSTEM/TASKCLASSES/TC#1/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#1/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#1/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#2/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#2/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#2/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#3/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#3/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#3/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#4/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#4/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#4/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#5/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#5/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#5/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#6/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#6/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#6/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#7/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#7/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#7/Stack, 1024, 1048576, 1, 17010
rule: CYCLICSYSTEM/TASKCLASSES/TC#8/CycleTime, 400, 60000000, 1, 17027
rule: CYCLICSYSTEM/TASKCLASSES/TC#8/Tolerance, 0, 60000000, 1, 17033
rule: CYCLICSYSTEM/TASKCLASSES/TC#8/Stack, 1024, 1048576, 1, 17010
rule: DEVICES/USERRAM/PhysDeviceName, 0, 0, 0, 0, 1
rule: DEVICES/REMMEM/PhysDeviceName, 0, 0, 0, 0, 1
rule: DEVICES/USERRAM/LEN, 0,2147483647, 1, 0, 0, 1, 399
rule: DEVICES/REMMEM/LEN, 0, 261888, 1, 0

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More