Final Backup
This commit is contained in:
10
BM_Check_01.apj
Normal file
10
BM_Check_01.apj
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<Project Version="1.00.0" Edition="Standard" EditionComment="Standard" xmlns="http://br-automation.co.at/AS/Project">
|
||||
<Communication />
|
||||
<ANSIC DefaultIncludes="true" />
|
||||
<IEC ExtendedConstants="true" IecExtendedComments="true" KeywordsAsStructureMembers="false" NamingConventions="true" Pointers="true" Preprocessor="false" />
|
||||
<Motion RestartAcoposParameter="true" RestartInitParameter="true" />
|
||||
<Project StoreRuntimeInProject="true" />
|
||||
<Variables DefaultInitValue="0" DefaultRetain="false" DefaultVolatile="true" />
|
||||
</Project>
|
||||
7
LastUser.set
Normal file
7
LastUser.set
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<ProjectSettings xmlns="http://br-automation.co.at/AS/ProjectSettings">
|
||||
<ConfigurationManager ActiveConfigurationName="Config1" />
|
||||
<Deployment Value="ActiveCpu" />
|
||||
<Print Footer="%cPage: %p" Header="%lProject: %n%c%x" />
|
||||
</ProjectSettings>
|
||||
164
Logical/AsIO/AsIO.fun
Normal file
164
Logical/AsIO/AsIO.fun
Normal file
@@ -0,0 +1,164 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIODPStatus (*determines the state and current value of an I/O data point; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDatapoint : UDINT; (*I/O data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
flags : USINT; (*information about the state of the data point*)
|
||||
datatype : USINT; (*data type of the data point according to the profibus standard*)
|
||||
value : UDINT; (*value of the data point*)
|
||||
forceValue : UDINT; (*force value of the data point*)
|
||||
defaultValue : UDINT; (*default value of the data point*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOSetForceValue (*sets the value of an I/O data point's "force" status; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDatapoint : UDINT; (*I/O data point name given as a pointer*)
|
||||
value : UDINT; (*force value*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOEnableForcing (*enables the "force" status of an I/O data point; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDatapoint : UDINT; (*I/O data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIODisableForcing (*disables the "force" status of an I/O data point; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDatapoint : UDINT; (*I/O data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOGlobalDisableForcing (*disables the "force" status of all I/O data points; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOFListDP (*determines filtered I/O data points; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
flagsValue : UDINT; (*value of flags filter*)
|
||||
flagsMask : UDINT; (*mask of flags filter*)
|
||||
pFilterString : UDINT; (*filterstring given as a pointer*)
|
||||
pLastDatapoint : UDINT; (*old data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
buffer : ARRAY[0..255] OF USINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
pDatapoint : UDINT; (*data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOListDP (*determines the existing I/O data points; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pLastDatapoint : UDINT; (*old data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
unused : UDINT; (*internal variable*)
|
||||
buffer : ARRAY[0..127] OF USINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
pDatapoint : UDINT; (*data point name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOPVInfo (*collects data about PV's that are linked with a data point; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDatapoint : UDINT; (*I/O data point name given as a pointer*)
|
||||
index : UDINT; (*index of the searched PV*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
bufferA : ARRAY[0..127] OF USINT; (*internal variable*)
|
||||
bufferB : ARRAY[0..127] OF USINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
pPvName : UDINT; (*PV names given as pointer, 0 if there is no PV linked with the specified index*)
|
||||
pPvContext : UDINT; (*context names (given as a pointer) that are used to map this PV*)
|
||||
flags : USINT; (*additional information*)
|
||||
END_VAR
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
4
Logical/AsIO/AsIO.typ
Normal file
4
Logical/AsIO/AsIO.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
20
Logical/AsIO/AsIO.var
Normal file
20
Logical/AsIO/AsIO.var
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
VAR CONSTANT
|
||||
asioERR_INTERNAL : UINT := 30150; (*internal error*)
|
||||
asioERR_NOSUCH_DP : UINT := 30151; (*data point with specified name not found*)
|
||||
|
||||
asio_VALID_FLAG : USINT := 1; (*bit0 is always set*)
|
||||
asio_P_ACT_FLAG : USINT := 2; (*bit1 = 1 data source active, bit1 = 0 data source inactive*)
|
||||
asio_F_ACT_FLAG : USINT := 4; (*bit2 = 1 force active, bit2 = 0 force inactive*)
|
||||
asio_UNRES_LINK_FLAG : USINT := 8; (*AsPVInfo: bit3=0 the PV link is established , AsIODPStatus: bit3=0 all PV links are established*)
|
||||
asio_IO_INPUT_FLAG : USINT := 16; (*the data point is an I/O input channel*)
|
||||
asio_IO_OUTPUT_FLAG : USINT := 32; (*the data point is an I/O output channel*)
|
||||
asio_IO_SIMULATION_FLAG : USINT := 64; (*the data point is simulated*)
|
||||
asio_UNRES_IO_FLAG : USINT :=128; (*IO-Link unresolved*)
|
||||
|
||||
|
||||
asio_TYPE_MISMATCH : USINT := 16; (*AsPVInfo:Type Mismatch*)
|
||||
asio_PV_NOT_FOUND : USINT := 32; (*AsPVInfo:PV not found*)
|
||||
asio_INVERTED_FLAG : USINT := 64; (*AsPVInfo:the PV link is inverted*)
|
||||
END_VAR
|
||||
|
||||
12
Logical/AsIO/Binary.lby
Normal file
12
Logical/AsIO/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="The AsIO library makes it possible to determine the states and values of a data point and carry out forcing operations." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>AsIO.fun</File>
|
||||
<File>AsIO.typ</File>
|
||||
<File>AsIO.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
201
Logical/AsIO/SG4/AsIO.h
Normal file
201
Logical/AsIO/SG4/AsIO.h
Normal file
@@ -0,0 +1,201 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASIO_
|
||||
#define _ASIO_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define asio_INVERTED_FLAG 64U
|
||||
#define asio_PV_NOT_FOUND 32U
|
||||
#define asio_TYPE_MISMATCH 16U
|
||||
#define asio_UNRES_IO_FLAG 128U
|
||||
#define asio_IO_SIMULATION_FLAG 64U
|
||||
#define asio_IO_OUTPUT_FLAG 32U
|
||||
#define asio_IO_INPUT_FLAG 16U
|
||||
#define asio_UNRES_LINK_FLAG 8U
|
||||
#define asio_F_ACT_FLAG 4U
|
||||
#define asio_P_ACT_FLAG 2U
|
||||
#define asio_VALID_FLAG 1U
|
||||
#define asioERR_NOSUCH_DP 30151U
|
||||
#define asioERR_INTERNAL 30150U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned char asio_INVERTED_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_PV_NOT_FOUND;
|
||||
_GLOBAL_CONST unsigned char asio_TYPE_MISMATCH;
|
||||
_GLOBAL_CONST unsigned char asio_UNRES_IO_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_IO_SIMULATION_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_IO_OUTPUT_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_IO_INPUT_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_UNRES_LINK_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_F_ACT_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_P_ACT_FLAG;
|
||||
_GLOBAL_CONST unsigned char asio_VALID_FLAG;
|
||||
_GLOBAL_CONST unsigned short asioERR_NOSUCH_DP;
|
||||
_GLOBAL_CONST unsigned short asioERR_INTERNAL;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct AsIODPStatus
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDatapoint;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned char flags;
|
||||
unsigned char datatype;
|
||||
unsigned long value;
|
||||
unsigned long forceValue;
|
||||
unsigned long defaultValue;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIODPStatus_typ;
|
||||
|
||||
typedef struct AsIOSetForceValue
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDatapoint;
|
||||
unsigned long value;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOSetForceValue_typ;
|
||||
|
||||
typedef struct AsIOEnableForcing
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDatapoint;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOEnableForcing_typ;
|
||||
|
||||
typedef struct AsIODisableForcing
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDatapoint;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIODisableForcing_typ;
|
||||
|
||||
typedef struct AsIOGlobalDisableForcing
|
||||
{
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOGlobalDisableForcing_typ;
|
||||
|
||||
typedef struct AsIOFListDP
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long flagsValue;
|
||||
unsigned long flagsMask;
|
||||
unsigned long pFilterString;
|
||||
unsigned long pLastDatapoint;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long pDatapoint;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
unsigned char buffer[256];
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOFListDP_typ;
|
||||
|
||||
typedef struct AsIOListDP
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pLastDatapoint;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long pDatapoint;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long unused;
|
||||
unsigned char buffer[128];
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOListDP_typ;
|
||||
|
||||
typedef struct AsIOPVInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDatapoint;
|
||||
unsigned long index;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long pPvName;
|
||||
unsigned long pPvContext;
|
||||
unsigned char flags;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned char bufferA[128];
|
||||
unsigned char bufferB[128];
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOPVInfo_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void AsIODPStatus(struct AsIODPStatus* inst);
|
||||
_BUR_PUBLIC void AsIOSetForceValue(struct AsIOSetForceValue* inst);
|
||||
_BUR_PUBLIC void AsIOEnableForcing(struct AsIOEnableForcing* inst);
|
||||
_BUR_PUBLIC void AsIODisableForcing(struct AsIODisableForcing* inst);
|
||||
_BUR_PUBLIC void AsIOGlobalDisableForcing(struct AsIOGlobalDisableForcing* inst);
|
||||
_BUR_PUBLIC void AsIOFListDP(struct AsIOFListDP* inst);
|
||||
_BUR_PUBLIC void AsIOListDP(struct AsIOListDP* inst);
|
||||
_BUR_PUBLIC void AsIOPVInfo(struct AsIOPVInfo* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASIO_ */
|
||||
|
||||
70
Logical/AsIOAcc/AsIOAcc.fun
Normal file
70
Logical/AsIOAcc/AsIOAcc.fun
Normal file
@@ -0,0 +1,70 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOAccRead (*reads noncyclical register (only inputs); asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable :BOOL; (*enables execution*)
|
||||
pDeviceName :UDINT; (*device name given as a pointer*)
|
||||
pChannelName :UDINT; (*pointer to the channel name*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
status :UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
value :UDINT; (*value read*)
|
||||
END_VAR
|
||||
VAR
|
||||
intern :IOAC_I_TYPE; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOAccWrite (*writes noncyclical register (ONLY outputs); asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable :BOOL; (*enables execution*)
|
||||
pDeviceName :UDINT; (*device name given as a pointer*)
|
||||
pChannelName :UDINT; (*pointer to the channel name*)
|
||||
value :UDINT; (*value 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
|
||||
intern :IOAC_I_TYPE; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOAccReadReg (*reads noncyclical register (SGC only); asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
nodeNr : USINT; (*node number of x2x module*)
|
||||
registerNr : UINT; (*register number*)
|
||||
size : USINT; (*register size*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
value : UDINT; (*regsiter value*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsIOAccWriteReg (*writes noncyclical register (SGC only); asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
nodeNr : USINT; (*node number of x2x module*)
|
||||
registerNr : UINT; (*register number*)
|
||||
size : USINT; (*register size*)
|
||||
value : UDINT; (*new register value*)
|
||||
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
|
||||
15
Logical/AsIOAcc/AsIOAcc.typ
Normal file
15
Logical/AsIOAcc/AsIOAcc.typ
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
TYPE
|
||||
IOAC_I_TYPE : STRUCT (*internal use*)
|
||||
StateMan : UINT ;
|
||||
ErrMan : UINT ;
|
||||
Init : UDINT ;
|
||||
Taskhandle : UDINT ;
|
||||
Semaphore : UDINT ;
|
||||
Requestsize : UDINT ;
|
||||
Answersize : UDINT ;
|
||||
pAccessObj : UDINT ;
|
||||
Offset : UDINT ;
|
||||
flags : UDINT ;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
10
Logical/AsIOAcc/AsIOAcc.var
Normal file
10
Logical/AsIOAcc/AsIOAcc.var
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
VAR CONSTANT
|
||||
ioacERR_INTERNAL : UINT := 30190; (*internal error*)
|
||||
ioacERR_DEVICE : UINT := 30191; (*I/O module does not exist*)
|
||||
ioacERR_CHANNEL : UINT := 30192; (*incorrect channel name specified*)
|
||||
ioacERR_TIMEOUT : UINT := 30193; (*timeout reached*)
|
||||
ioacERR_NOTSUPPORTED : UINT := 30194; (*not supported*)
|
||||
ioacERR_PARAMETER : UINT := 30195; (*invalid parameter*)
|
||||
ioacERR_ACCESS : UINT := 30196; (*access error*)
|
||||
END_VAR
|
||||
12
Logical/AsIOAcc/Binary.lby
Normal file
12
Logical/AsIOAcc/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="This library provides read and write access to non-cyclic I/O data points." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>AsIOAcc.fun</File>
|
||||
<File>AsIOAcc.typ</File>
|
||||
<File>AsIOAcc.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
132
Logical/AsIOAcc/SG4/AsIOAcc.h
Normal file
132
Logical/AsIOAcc/SG4/AsIOAcc.h
Normal file
@@ -0,0 +1,132 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASIOACC_
|
||||
#define _ASIOACC_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define ioacERR_ACCESS 30196U
|
||||
#define ioacERR_PARAMETER 30195U
|
||||
#define ioacERR_NOTSUPPORTED 30194U
|
||||
#define ioacERR_TIMEOUT 30193U
|
||||
#define ioacERR_CHANNEL 30192U
|
||||
#define ioacERR_DEVICE 30191U
|
||||
#define ioacERR_INTERNAL 30190U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned short ioacERR_ACCESS;
|
||||
_GLOBAL_CONST unsigned short ioacERR_PARAMETER;
|
||||
_GLOBAL_CONST unsigned short ioacERR_NOTSUPPORTED;
|
||||
_GLOBAL_CONST unsigned short ioacERR_TIMEOUT;
|
||||
_GLOBAL_CONST unsigned short ioacERR_CHANNEL;
|
||||
_GLOBAL_CONST unsigned short ioacERR_DEVICE;
|
||||
_GLOBAL_CONST unsigned short ioacERR_INTERNAL;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct IOAC_I_TYPE
|
||||
{ unsigned short StateMan;
|
||||
unsigned short ErrMan;
|
||||
unsigned long Init;
|
||||
unsigned long Taskhandle;
|
||||
unsigned long Semaphore;
|
||||
unsigned long Requestsize;
|
||||
unsigned long Answersize;
|
||||
unsigned long pAccessObj;
|
||||
unsigned long Offset;
|
||||
unsigned long flags;
|
||||
} IOAC_I_TYPE;
|
||||
|
||||
typedef struct AsIOAccRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDeviceName;
|
||||
unsigned long pChannelName;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long value;
|
||||
/* VAR (analog) */
|
||||
struct IOAC_I_TYPE intern;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOAccRead_typ;
|
||||
|
||||
typedef struct AsIOAccWrite
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDeviceName;
|
||||
unsigned long pChannelName;
|
||||
unsigned long value;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
struct IOAC_I_TYPE intern;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOAccWrite_typ;
|
||||
|
||||
typedef struct AsIOAccReadReg
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned char nodeNr;
|
||||
unsigned short registerNr;
|
||||
unsigned char size;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long value;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOAccReadReg_typ;
|
||||
|
||||
typedef struct AsIOAccWriteReg
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned char nodeNr;
|
||||
unsigned short registerNr;
|
||||
unsigned char size;
|
||||
unsigned long value;
|
||||
/* 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;
|
||||
} AsIOAccWriteReg_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void AsIOAccRead(struct AsIOAccRead* inst);
|
||||
_BUR_PUBLIC void AsIOAccWrite(struct AsIOAccWrite* inst);
|
||||
_BUR_PUBLIC void AsIOAccReadReg(struct AsIOAccReadReg* inst);
|
||||
_BUR_PUBLIC void AsIOAccWriteReg(struct AsIOAccWriteReg* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASIOACC_ */
|
||||
|
||||
101
Logical/AsIOAcc/SGC/AsIOAcc.h
Normal file
101
Logical/AsIOAcc/SGC/AsIOAcc.h
Normal file
@@ -0,0 +1,101 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASIOACC_
|
||||
#define _ASIOACC_
|
||||
#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 ioacERR_ACCESS 30196U
|
||||
#define ioacERR_PARAMETER 30195U
|
||||
#define ioacERR_NOTSUPPORTED 30194U
|
||||
#define ioacERR_TIMEOUT 30193U
|
||||
#define ioacERR_CHANNEL 30192U
|
||||
#define ioacERR_DEVICE 30191U
|
||||
#define ioacERR_INTERNAL 30190U
|
||||
#else
|
||||
_IEC_CONST unsigned short ioacERR_ACCESS = 30196U;
|
||||
_IEC_CONST unsigned short ioacERR_PARAMETER = 30195U;
|
||||
_IEC_CONST unsigned short ioacERR_NOTSUPPORTED = 30194U;
|
||||
_IEC_CONST unsigned short ioacERR_TIMEOUT = 30193U;
|
||||
_IEC_CONST unsigned short ioacERR_CHANNEL = 30192U;
|
||||
_IEC_CONST unsigned short ioacERR_DEVICE = 30191U;
|
||||
_IEC_CONST unsigned short ioacERR_INTERNAL = 30190U;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct IOAC_I_TYPE
|
||||
{ unsigned short StateMan;
|
||||
unsigned short ErrMan;
|
||||
unsigned long Init;
|
||||
unsigned long Taskhandle;
|
||||
unsigned long Semaphore;
|
||||
unsigned long Requestsize;
|
||||
unsigned long Answersize;
|
||||
unsigned long pAccessObj;
|
||||
unsigned long Offset;
|
||||
unsigned long flags;
|
||||
} IOAC_I_TYPE;
|
||||
|
||||
typedef struct AsIOAccReadReg
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned char nodeNr;
|
||||
unsigned short registerNr;
|
||||
unsigned char size;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long value;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsIOAccReadReg_typ;
|
||||
|
||||
typedef struct AsIOAccWriteReg
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned char nodeNr;
|
||||
unsigned short registerNr;
|
||||
unsigned char size;
|
||||
unsigned long value;
|
||||
/* 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;
|
||||
} AsIOAccWriteReg_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void AsIOAccReadReg(struct AsIOAccReadReg* inst);
|
||||
void AsIOAccWriteReg(struct AsIOAccWriteReg* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASIOACC_ */
|
||||
|
||||
|
||||
6
Logical/CustomLib/Common/Common.fun
Normal file
6
Logical/CustomLib/Common/Common.fun
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
FUNCTION FC_Scale_MPPAOu : INT (*MPPA 6bar Druck Sollwert skalieren*)
|
||||
VAR_INPUT
|
||||
lrInPreasure : LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
3
Logical/CustomLib/Common/Constants.var
Normal file
3
Logical/CustomLib/Common/Constants.var
Normal file
@@ -0,0 +1,3 @@
|
||||
VAR CONSTANT
|
||||
|
||||
END_VAR
|
||||
5
Logical/CustomLib/Common/FC_Scale_MPPAOu.st
Normal file
5
Logical/CustomLib/Common/FC_Scale_MPPAOu.st
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
FUNCTION FC_Scale_MPPAOu
|
||||
//10.0 bar
|
||||
FC_Scale_MPPAOu := LREAL_TO_INT ( lrInPreasure /10.0 * 65535.0 /2.0);
|
||||
END_FUNCTION
|
||||
10
Logical/CustomLib/Common/IEC.lby
Normal file
10
Logical/CustomLib/Common/IEC.lby
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File Description="Exported data types">Types.typ</File>
|
||||
<File Description="Exported constants">Constants.var</File>
|
||||
<File Description="Exported functions and function blocks">Common.fun</File>
|
||||
<File Description="MPPA 10bar Druck Ausgangswert skalieren">FC_Scale_MPPAOu.st</File>
|
||||
</Files>
|
||||
</Library>
|
||||
3
Logical/CustomLib/Common/Types.typ
Normal file
3
Logical/CustomLib/Common/Types.typ
Normal file
@@ -0,0 +1,3 @@
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
7
Logical/CustomLib/Package.pkg
Normal file
7
Logical/CustomLib/Package.pkg
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="Library" Language="IEC" Description="Allgemeine Funktionen">Common</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
13
Logical/Global.typ
Normal file
13
Logical/Global.typ
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
TYPE
|
||||
gtypAlarm : {REDUND_UNREPLICABLE} STRUCT (* *) (* *) (*3*)
|
||||
Alarm : {REDUND_UNREPLICABLE} ARRAY[0..127]OF BOOL; (* *) (* *) (*4*)
|
||||
Ack : {REDUND_UNREPLICABLE} ARRAY[0..127]OF BOOL; (* *) (* *) (*5*)
|
||||
Bypass : {REDUND_UNREPLICABLE} ARRAY[0..127]OF BOOL; (* *) (* *) (*6*)
|
||||
END_STRUCT;
|
||||
gtyp_VCButton : STRUCT (*VC - Button*)
|
||||
usStatus : USINT; (*Anzeige / Bedienstatus*)
|
||||
bCompletion : BOOL; (*Fertigstellung Eingabe*)
|
||||
bCommand : BOOL; (*Befehlstatus*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
74
Logical/GlobalVars/Global.var
Normal file
74
Logical/GlobalVars/Global.var
Normal file
@@ -0,0 +1,74 @@
|
||||
VAR
|
||||
gMachineAlarms : gtypAlarm; (*Maschinenalarme*)
|
||||
END_VAR
|
||||
(*Constants*)
|
||||
VAR CONSTANT
|
||||
VC_HIDE_BITPOS : USINT := 0;
|
||||
VC_LOCK_BITPOS : USINT := 1;
|
||||
END_VAR
|
||||
(*================================================================================================================*)
|
||||
(*CPU (PWLnk Node 240)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
udSerialNr : UDINT; (*Seriennummer*)
|
||||
guiTemperatureCPU : UINT; (*CPU Temperatur*)
|
||||
guiTemperatureENV : UINT; (*Umgebungstemperatur*)
|
||||
gdiSystemTime : DINT;
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF6.ST1 - SLX811*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbIF6ST1ModuleOk : BOOL;
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Signals to Safe PLC*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSPLCOuResetSafety : BOOL; (*Quittierung Sicherheit (Nothalt / Schutzt<7A>r)*)
|
||||
gbSPLCOuResetEDMError : BOOL; (*Quittierung R<>cklesefehler*)
|
||||
gbSPLCOuMachineOn : BOOL; (*Anlage Ein*)
|
||||
gbSPLCOuRefeedSTO : BOOL; (*R<>ckf<6B>hrkreis STO*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Signals from Safe PLC*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSPLCInSafetyOk : BOOL; (*Safety PLC E-Stop ist Ok*)
|
||||
gbSPLCInEDMError : BOOL; (*R<>ckf<6B>hrkreis fehler*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Inputs from SLX*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSInEStopPanel : BOOL; (*Sicherer Eingang 01/02 Equivalent - Nothalt Schaltschrank*)
|
||||
gbSInDoorLeft : BOOL; (*Sicherer Eingang 03/04 Equivalent - Schutzt<7A>r Links*)
|
||||
gbSInDoorRight : BOOL; (*Sicherer Eingang 05/06 Equivalent - Schutzt<7A>r Rechts*)
|
||||
gbSInRoofTop : BOOL; (*Sicherer Eingang 07/08 Equivalent - Schutzabdeckung Dach*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF6.ST2 - SO4110*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbIF6ST2ModuleOk : BOOL;
|
||||
gbSOuEnableTurntable : BOOL; (*Sicherer Ausgang 01 - STO Drehantrieb*)
|
||||
gbSOuOpenValveIn : BOOL; (*Sicherer Ausgang 02 - Ventil Druckeingang <20>ffnen*)
|
||||
gbSOuCloseValveOu : BOOL; (*Sicherer Ausgang 02 - Ventil Druckentlastung schlie<69>en*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF6.ST3 - A02622*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbIF6ST3ModuleOk : BOOL;
|
||||
giOuPreasure : INT; (*Ausgangsdruck*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF6.ST4 - DM9324*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbIF6ST4ModuleOk : BOOL;
|
||||
gbInPreasureOk : BOOL;
|
||||
END_VAR
|
||||
(*//R<>ckf<6B>hrkreis direkt auf SLX gemappt*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
7
Logical/GlobalVars/Package.pkg
Normal file
7
Logical/GlobalVars/Package.pkg
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File" Description="Global variables">Global.var</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
1729
Logical/Libraries/AsIecCon/AsIecCon.fun
Normal file
1729
Logical/Libraries/AsIecCon/AsIecCon.fun
Normal file
File diff suppressed because it is too large
Load Diff
4
Logical/Libraries/AsIecCon/AsIecCon.typ
Normal file
4
Logical/Libraries/AsIecCon/AsIecCon.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
4
Logical/Libraries/AsIecCon/AsIecCon.var
Normal file
4
Logical/Libraries/AsIecCon/AsIecCon.var
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
VAR CONSTANT
|
||||
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsIecCon/Binary.lby
Normal file
12
Logical/Libraries/AsIecCon/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="This library contains function interfaces for IEC 61131-3 conversion functions." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>AsIecCon.fun</File>
|
||||
<File>AsIecCon.typ</File>
|
||||
<File>AsIecCon.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="astime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
49
Logical/Libraries/AsIecCon/SG3/AsIecCon.h
Normal file
49
Logical/Libraries/AsIecCon/SG3/AsIecCon.h
Normal 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_ */
|
||||
|
||||
61
Logical/Libraries/AsIecCon/SG4/AsIecCon.h
Normal file
61
Logical/Libraries/AsIecCon/SG4/AsIecCon.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASIECCON_
|
||||
#define _ASIECCON_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC signed short H_TO_NINT(signed short IN);
|
||||
_BUR_PUBLIC unsigned short H_TO_NUINT(unsigned short IN);
|
||||
_BUR_PUBLIC signed long H_TO_NDINT(signed long IN);
|
||||
_BUR_PUBLIC unsigned long H_TO_NUDINT(unsigned long IN);
|
||||
_BUR_PUBLIC float H_TO_NREAL(float IN);
|
||||
_BUR_PUBLIC double H_TO_NLREAL(double IN);
|
||||
_BUR_PUBLIC plctime H_TO_NTIME(plctime IN);
|
||||
_BUR_PUBLIC DATE_AND_TIME H_TO_NDT(DATE_AND_TIME IN);
|
||||
_BUR_PUBLIC DATE H_TO_NDATE(DATE IN);
|
||||
_BUR_PUBLIC TOD H_TO_NTOD(TOD IN);
|
||||
_BUR_PUBLIC signed short N_TO_HINT(signed short IN);
|
||||
_BUR_PUBLIC unsigned short N_TO_HUINT(unsigned short IN);
|
||||
_BUR_PUBLIC signed long N_TO_HDINT(signed long IN);
|
||||
_BUR_PUBLIC unsigned long N_TO_HUDINT(unsigned long IN);
|
||||
_BUR_PUBLIC float N_TO_HREAL(float IN);
|
||||
_BUR_PUBLIC double N_TO_HLREAL(double IN);
|
||||
_BUR_PUBLIC plctime N_TO_HTIME(plctime IN);
|
||||
_BUR_PUBLIC DATE_AND_TIME N_TO_HDT(DATE_AND_TIME IN);
|
||||
_BUR_PUBLIC DATE N_TO_HDATE(DATE IN);
|
||||
_BUR_PUBLIC TOD N_TO_HTOD(TOD IN);
|
||||
_BUR_PUBLIC signed short swapINT(signed short IN);
|
||||
_BUR_PUBLIC unsigned short swapUINT(unsigned short IN);
|
||||
_BUR_PUBLIC WORD swapWORD(WORD IN);
|
||||
_BUR_PUBLIC signed long swapDINT(signed long IN);
|
||||
_BUR_PUBLIC unsigned long swapUDINT(unsigned long IN);
|
||||
_BUR_PUBLIC DWORD swapDWORD(DWORD IN);
|
||||
_BUR_PUBLIC TIME swapTIME(TIME IN);
|
||||
_BUR_PUBLIC DATE_AND_TIME swapDT(DATE_AND_TIME IN);
|
||||
_BUR_PUBLIC DATE swapDATE(DATE IN);
|
||||
_BUR_PUBLIC TOD swapTOD(TOD IN);
|
||||
_BUR_PUBLIC float swapREAL(float IN);
|
||||
_BUR_PUBLIC double swapLREAL(double 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_ */
|
||||
|
||||
62
Logical/Libraries/AsIecCon/SGC/AsIecCon.h
Normal file
62
Logical/Libraries/AsIecCon/SGC/AsIecCon.h
Normal 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_ */
|
||||
|
||||
303
Logical/Libraries/AsSafety/AsSafety.fun
Normal file
303
Logical/Libraries/AsSafety/AsSafety.fun
Normal file
@@ -0,0 +1,303 @@
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeRemoteControl (*Remote Control Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
SafeLOGICStatus : RemoteControlStatusTypeV1; (*SafeLOGIC status*)
|
||||
END_VAR
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
i_handle : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeRemoteControl_V2 (*Remote Control Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
SafeLOGICStatus : RemoteControlStatusTypeV2; (*SafeLOGIC status*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeDownloadApplication (*Download Application Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
UnlockRequired : BOOL; (*unlock required*)
|
||||
ApplicationCRC : UDINT; (*application CRC*)
|
||||
END_VAR
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
i_handle : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeDownloadApplication_V2 (*Download Application Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
UnlockRequired : BOOL; (*unlock required*)
|
||||
ApplicationCRC : UDINT; (*application CRC*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeDownloadData (*Download Data Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,... *)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
UnlockRequired : BOOL; (*unlock required*)
|
||||
Timestamp : UDINT; (*timestamp from data*)
|
||||
END_VAR
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
i_handle : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeDownloadData_V2 (*Download Data Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,... *)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
UnlockRequired : BOOL; (*unlock required*)
|
||||
Timestamp : UDINT; (*timestamp from data*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeConfigurationOnTarget (*Configuration On Target Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,...*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
Timestamp : UDINT; (*timestamp of data*)
|
||||
END_VAR
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
i_handle : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeConfigurationOnTarget_V2 (*Configuration On Target Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,...*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
Timestamp : UDINT; (*timestamp of data*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION safeLibraryVersion : UINT (*returns the actual library version*)
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeDownloadFile (*Download File Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
UnlockRequired : BOOL; (*unlock required*)
|
||||
Timestamp : UDINT; (*timestamp from data*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeCheckTable (*Check Table Function Block*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*execution*)
|
||||
InstNr : USINT; (*instance number*)
|
||||
pUser : UDINT; (*user name*)
|
||||
Timestamp : UDINT; (*timestamp*)
|
||||
TableType : USINT; (*table type*)
|
||||
EntryCnt : UDINT; (*number of entries*)
|
||||
pTableHeader : UDINT; (*table header input*)
|
||||
pTableData : UDINT; (*table data input*)
|
||||
pTableHeaderOut : UDINT; (*table header output buffer*)
|
||||
pTableDataOut : UDINT; (*table data output buffer*)
|
||||
pFileDataOut : UDINT; (*file data output buffer*)
|
||||
AckData : USINT; (*1 .. acknowledge table data, 2 .. NOT acknowledge table data, abort FUB*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
CheckErrorCode : UDINT; (*table check error code*)
|
||||
CheckErrorLine : UDINT; (*table check error line*)
|
||||
CheckErrorColumn : UDINT; (*table check error column*)
|
||||
pCrcOut : UDINT; (*returns pointer to CRC data*)
|
||||
CrcCntOut : UDINT; (*returns number of CRCs*)
|
||||
END_VAR
|
||||
VAR
|
||||
i_step : UINT; (*internal*)
|
||||
i_tmp : UDINT; (*internal*)
|
||||
i_clean : BOOL; (*internal*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeFileInfo (*File Info Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,...*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION safeGetTableLength : UDINT (*Function returns size of table data*)
|
||||
VAR_INPUT
|
||||
TableType : USINT; (*table type*)
|
||||
EntryCnt : UDINT; (*number of entries*)
|
||||
pTableHeader : UDINT; (*pointer to table header*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeGetDataLength (*Function Block returns size of download file*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,... *)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
Length : UDINT; (*calculated length of download file*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeCreateData (*Create Data Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeDATA_TYPE_MAOP, safeDATA_TYPE_EXTMAOP,... *)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
FileDataOutLen : UDINT; (*size of buffer for file data*)
|
||||
pFileDataOut : UDINT; (*pointer to memory buffer for file data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
UnlockRequired : BOOL; (*unlock required*)
|
||||
Timestamp : UDINT; (*timestamp from data*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_ERROR} FUNCTION_BLOCK safeLogicInfo (*Remote Control Function Block*)
|
||||
VAR_INPUT
|
||||
SafeLOGICID : UINT; (*SafeLOGIC ID*)
|
||||
Execute : BOOL; (*execution*)
|
||||
Type : UINT; (*type of data: safeINFO_TYPE_PWD_INFO, safeINFO_TYPE_PWD_CHK, safeINFO_TYPE_UDID_INFO*)
|
||||
pCommandData : UDINT; (*pointer to command data*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution busy*)
|
||||
Error : BOOL; (*execution error*)
|
||||
StatusID : UINT; (*execution status: ERR_OK, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
VAR
|
||||
Internal : AsSafetyInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
568
Logical/Libraries/AsSafety/AsSafety.typ
Normal file
568
Logical/Libraries/AsSafety/AsSafety.typ
Normal file
@@ -0,0 +1,568 @@
|
||||
|
||||
TYPE
|
||||
FileReferenceType : STRUCT (*file reference*)
|
||||
Device : STRING[80]; (*pointer to the device name*)
|
||||
File : STRING[80]; (*pointer to the file name*)
|
||||
END_STRUCT;
|
||||
AsSafetyInternalType : STRUCT (*internal data type*)
|
||||
Clean : BOOL;
|
||||
State : UINT;
|
||||
Result : UINT;
|
||||
Tmp : UDINT;
|
||||
pThis : UDINT;
|
||||
pFcn : UDINT;
|
||||
END_STRUCT;
|
||||
SourceLocalDataTypeV1 : STRUCT (*local data source type*)
|
||||
pFileData : UDINT; (*pointer to data buffer*)
|
||||
FileLength : UDINT; (*data length*)
|
||||
END_STRUCT;
|
||||
SourceLocalFileTypeV1 : STRUCT (*local file source*)
|
||||
SourceFile : FileReferenceType; (*path to local file*)
|
||||
END_STRUCT;
|
||||
DataSourceTypeV1 : STRUCT (*source data type*)
|
||||
Type : UINT; (*0 .. file upload from safeLOGIC, 1 .. local data buffer, 2 .. local file*)
|
||||
LocalData : SourceLocalDataTypeV1; (*arguments for local data*)
|
||||
LocalFile : SourceLocalFileTypeV1; (*arguments for local file*)
|
||||
END_STRUCT;
|
||||
InfoCmdPwdInfoTypeV1 : STRUCT (*password info data from SafeLOGIC command structure*)
|
||||
Version : UINT; (*used version*)
|
||||
PasswordSet : BOOL; (*0 .. no password set, 1 .. password is set*)
|
||||
END_STRUCT;
|
||||
InfoCmdPwdChkTypeV1 : STRUCT (*password check data from SafeLOGIC command structure*)
|
||||
Version : UINT; (*used version*)
|
||||
Password : STRING[16]; (*password for check*)
|
||||
PasswordEqual : BOOL; (*0 .. no password set, 1 .. password is set*)
|
||||
END_STRUCT;
|
||||
ConfigurationAddParaTypeV2 : STRUCT (*additional parameter data from SafeLOGIC*)
|
||||
SADR : UINT; (*safety address*)
|
||||
ID : USINT; (*id*)
|
||||
pParaData : UDINT; (*pointer to additional parameter data*)
|
||||
Length : UDINT; (*size of parameter buffer*)
|
||||
LengthOut : UDINT; (*length of parameter*)
|
||||
CRC : UDINT; (*CRC*)
|
||||
Timestamp : UDINT; (*timestamp*)
|
||||
END_STRUCT;
|
||||
ConfigurationAddParaTypeV1 : STRUCT (*additional parameter data from SafeLOGIC*)
|
||||
SADR : UINT; (*safety address*)
|
||||
ID : USINT; (*id*)
|
||||
pParaData : UDINT; (*pointer to additional parameter data*)
|
||||
Length : UDINT; (*size of parameter buffer*)
|
||||
CRC : UDINT; (*CRC*)
|
||||
Timestamp : UDINT; (*timestamp*)
|
||||
END_STRUCT;
|
||||
ConfigurationBitOptionsTypeV1 : STRUCT (*bit machine options*)
|
||||
BitData : ARRAY[0..63]OF USINT; (*bit array*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdAddParaTypeV2 : STRUCT (*additional parameter data from SafeLOGIC command structure*)
|
||||
Version : UINT; (*input data: used version*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pParaDataOutput : UDINT; (*input data: pointer to list of type ConfigurationAddParaTypeV2*)
|
||||
NumberParaSetsOutput : UINT; (*input data: number of available entries in pParaDataOutput*)
|
||||
NumberParaSetsOutputOut : UINT; (*return value: number of returned entries*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdAddParaTypeV1 : STRUCT (*additional parameter data from SafeLOGIC command structure*)
|
||||
Version : UINT; (*input data: used version*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pParaDataOutput : UDINT; (*return value: pointer to list of type ConfigurationAddParaTypeV1*)
|
||||
NumberParaSetsOutput : UINT; (*return value: number of returned entries*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdExtMaOpTypeV2 : STRUCT (*extended machine options from SafeLOGIC command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R110*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pIntDataOutput : UDINT; (*input data: pointer to list of type ConfigurationIntOptionsTypeV1*)
|
||||
NumberIntOutput : UINT; (*input data: number of available entries in INT buffer*)
|
||||
NumberIntOutputOut : UINT; (*return value: number of returned INT data entries*)
|
||||
pUintDataOutput : UDINT; (*input data: pointer to list of type ConfigurationUintOptionsTypeV1*)
|
||||
NumberUintOutput : UINT; (*input data: number of available entries in UINT buffer*)
|
||||
NumberUintOutputOut : UINT; (*return value: number of returned UINT data entries*)
|
||||
pDintDataOutput : UDINT; (*input data: pointer to list of type ConfigurationDintOptionsTypeV1*)
|
||||
NumberDintOutput : UINT; (*input data: number of available DINT data entries*)
|
||||
NumberDintOutputOut : UINT; (*return value: number of returned DINT data entries*)
|
||||
pUdintDataOutput : UDINT; (*input data: pointer to list of type ConfigurationUdintOptionsTypeV1*)
|
||||
NumberUdintOutput : UINT; (*input data: number of available UDINT data entries*)
|
||||
NumberUdintOutputOut : UINT; (*return value: number of returned UDINT data entries*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdExtMaOpTypeV1 : STRUCT (*extended machine options from SafeLOGIC command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R107*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pIntDataOutput : UDINT; (*return value: pointer to list of type ConfigurationIntOptionsTypeV1*)
|
||||
NumberIntOutput : UINT; (*return value: number of returned INT data entries*)
|
||||
pUintDataOutput : UDINT; (*return value: pointer to list of type ConfigurationUintOptionsTypeV1*)
|
||||
NumberUintOutput : UINT; (*return value: number of returned UINT data entries*)
|
||||
pDintDataOutput : UDINT; (*return value: pointer to list of type ConfigurationDintOptionsTypeV1*)
|
||||
NumberDintOutput : UINT; (*return value: number of returned DINT data entries*)
|
||||
pUdintDataOutput : UDINT; (*return value: pointer to list of type ConfigurationUdintOptionsTypeV1*)
|
||||
NumberUdintOutput : UINT; (*return value: number of returned UDINT data entries*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdMaOpTypeV2 : STRUCT (*machine options from SafeLOGIC command structure Version 2*)
|
||||
Version : UINT; (*input data: safeVERSION_R110*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pDeviceListOutput : UDINT; (*input data: pointer to device list buffer of type ConfigurationDeviceTypeV1*)
|
||||
NumberDevicesOutput : UINT; (*input data: number of available device entries in devices list buffer*)
|
||||
NumberDevicesOutputOut : UINT; (*return value: number of returned device entries*)
|
||||
pMachineOptionsOutput : UDINT; (*input data: pointer to bit machine options of type ConfigurationBitOptionsTypeV1*)
|
||||
pModuleFlagsOutput : UDINT; (*input data: pointer to module flags of type ConfigurationModuleFlagsTypeV1*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdMaOpTypeV1 : STRUCT (*machine options from SafeLOGIC command structure Version 1*)
|
||||
Version : UINT; (*input data: safeVERSION_R107*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pDeviceListOutput : UDINT; (*return value: pointer to device list of type ConfigurationDeviceTypeV1*)
|
||||
NumberDevicesOutput : UINT; (*return value: number of returned entries*)
|
||||
pMachineOptionsOutput : UDINT; (*return value: pointer to bit machine options of type ConfigurationBitOptionsTypeV1*)
|
||||
pModuleFlagsOutput : UDINT; (*return value: pointer to module flags of type ConfigurationModuleFlagsTypeV1*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdTableTypeV2 : STRUCT (*table data from SafeLOGIC command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R110*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pTableDataOutput : UDINT; (*input data: pointer to list of type ConfigurationTableTypeV1*)
|
||||
NumberTablesOutput : UINT; (*input data: number of available entries in pTableDataOutput*)
|
||||
NumberTablesOutputOut : UINT; (*return value: number of returned table entries*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
ConfigurationCmdTableTypeV1 : STRUCT (*table data from SafeLOGIC command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R107*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
pTableDataOutput : UDINT; (*return value: pointer to list of type ConfigurationTableTypeV1*)
|
||||
NumberTablesOutput : UINT; (*return value: number of returned table entries*)
|
||||
END_STRUCT;
|
||||
FileInfoCmdTypeV1 : STRUCT (*file info command structure*)
|
||||
Version : UINT; (*used version*)
|
||||
DataSource : DataSourceTypeV1; (*data source*)
|
||||
Timestamp : UDINT; (*timestamp*)
|
||||
pCrcs : UDINT; (*buffer for CRCs*)
|
||||
NumberOfCrcs : UINT; (*size of CRC buffer*)
|
||||
NumberOfCrcsOut : UINT; (*number of CRCs*)
|
||||
END_STRUCT;
|
||||
ConfigurationDeviceTypeV1 : STRUCT (*safety device from SafeLOGIC*)
|
||||
SADR : UINT; (*safety address*)
|
||||
UDID : ARRAY[0..5]OF USINT; (*UDID*)
|
||||
END_STRUCT;
|
||||
ConfigurationDintOptionsTypeV1 : STRUCT (*DINT machine options*)
|
||||
ID : UINT; (*id*)
|
||||
Value : DINT; (*value*)
|
||||
END_STRUCT;
|
||||
ConfigurationIntOptionsTypeV1 : STRUCT (*INT machine options*)
|
||||
ID : UINT; (*id*)
|
||||
Value : INT; (*value*)
|
||||
END_STRUCT;
|
||||
ConfigurationModuleFlagsTypeV1 : STRUCT (*module flags*)
|
||||
Optional : ARRAY[0..127]OF USINT; (*optional*)
|
||||
Startup : ARRAY[0..127]OF USINT; (*startup*)
|
||||
NotPresent : ARRAY[0..127]OF USINT; (*not present*)
|
||||
END_STRUCT;
|
||||
ConfigurationTableTypeV2 : STRUCT (*table data for command struct V1*)
|
||||
ID : UINT; (*table id*)
|
||||
Type : USINT; (*table type*)
|
||||
NumberOfCRCs : UINT; (*input data: number of available entries in pCRCData*)
|
||||
NumberOfCRCsOut : UINT; (*return value: number of returned CRC entries*)
|
||||
pCRCData : UDINT; (*input data: pointer to table CRC buffer*)
|
||||
END_STRUCT;
|
||||
ConfigurationTableTypeV1 : STRUCT (*table data for command struct V2*)
|
||||
ID : UINT; (*table id*)
|
||||
Type : USINT; (*table type*)
|
||||
NumberOfCRCs : UINT; (*return value: number of returned CRCs*)
|
||||
pCRCData : UDINT; (*return value: pointer to table CRC buffer*)
|
||||
END_STRUCT;
|
||||
ConfigurationUdintOptionsTypeV1 : STRUCT (*UDINT machine options*)
|
||||
ID : UINT; (*id*)
|
||||
Value : UDINT; (*value*)
|
||||
END_STRUCT;
|
||||
ConfigurationUintOptionsTypeV1 : STRUCT (*UINT machine options*)
|
||||
ID : UINT; (*id*)
|
||||
Value : UINT; (*value*)
|
||||
END_STRUCT;
|
||||
DownloadAcknExtMaOpTypeV1 : STRUCT (*acknowledge extended machine options structure*)
|
||||
AcknIntOptions : ARRAY[0..63]OF BOOL; (*acknowledge INT*)
|
||||
AcknUintOptions : ARRAY[0..63]OF BOOL; (*acknowledge UINT*)
|
||||
AcknDintOptions : ARRAY[0..63]OF BOOL; (*acknowledge DINT*)
|
||||
AcknUdintOptions : ARRAY[0..63]OF BOOL; (*acknowledge UDINT*)
|
||||
END_STRUCT;
|
||||
DownloadAcknMaOpTypeV1 : STRUCT (*acknowledge bit machine options structure*)
|
||||
AcknBitOptions : ARRAY[0..63]OF USINT; (*acknowledge bit*)
|
||||
END_STRUCT;
|
||||
DownloadAcknAddParaTypeV1 : STRUCT (*acknowledge bit additional parameter*)
|
||||
AcknBitAddPara : ARRAY[0..63]OF USINT; (*acknowledge bit*)
|
||||
END_STRUCT;
|
||||
DownloadCmdAddParaTypeV2 : STRUCT (*additional paramater command structure*)
|
||||
Version : UINT; (*input data: used version*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low*)
|
||||
UDID_High : UINT; (*input data: UDID high*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pParaListInput : UDINT; (*input data: pointer to additional parameter input data list of type DownloadAddParaTypeV1*)
|
||||
NumberParaSetsInput : UINT; (*input data: number of input parameter entries in pParaListInput*)
|
||||
pParaDataOutput : UDINT; (*input data: pointer to list of type ConfigurationAddParaTypeV2*)
|
||||
NumberParaSetsOutput : UINT; (*input data: number of available entries in pParaDataOutput*)
|
||||
NumberParaSetsOutputOut : UINT; (*return value: number of returned entries*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
DownloadCmdAddParaTypeV1 : STRUCT (*additional paramater command structure*)
|
||||
Version : UINT; (*input data: used version*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low*)
|
||||
UDID_High : UINT; (*input data: UDID high*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pParaListInput : UDINT; (*input data: pointer to additional parameter input data list of type DownloadAddParaTypeV1*)
|
||||
NumberParaSetsInput : UINT; (*input data: number of input parameter entries in pParaListInput*)
|
||||
pParaDataOutput : UDINT; (*return value: pointer to list of type ConfigurationAddParaTypeV1*)
|
||||
NumberParaSetsOutput : UINT; (*return value: number of returned entries*)
|
||||
END_STRUCT;
|
||||
DownloadCmdApplicationTypeV1 : STRUCT (*application command structure*)
|
||||
Version : UINT; (*used version*)
|
||||
Password : STRING[16]; (*password*)
|
||||
UDID_Low : UDINT; (*UDID low*)
|
||||
UDID_High : UINT; (*UDID high*)
|
||||
ApplicationID : UINT; (*application id*)
|
||||
Device : STRING[80]; (*device for file*)
|
||||
File : STRING[80]; (*file name*)
|
||||
Unlock : USINT; (*unlock application*)
|
||||
END_STRUCT;
|
||||
DownloadCmdExtMaOpTypeV2 : STRUCT (*extended machine options command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R110*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low*)
|
||||
UDID_High : UINT; (*input data: UDID high*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pIntDataInput : UDINT; (*input data: pointer to INT input data list from type ConfigurationIntOptionsTypeV1*)
|
||||
NumberIntInput : UINT; (*input data: number of INT input entries in pIntDataInput*)
|
||||
pUintDataInput : UDINT; (*input data: pointer to UINT input data list from type ConfigurationUintOptionsTypeV1*)
|
||||
NumberUintInput : UINT; (*input data: number of UINT input entries in pUintDataInput*)
|
||||
pDintDataInput : UDINT; (*input data: pointer to DINT input data list from type ConfigurationDintOptionsTypeV1*)
|
||||
NumberDintInput : UINT; (*input data: number of DINT input entries in pDintDataInput*)
|
||||
pUdintDataInput : UDINT; (*input data: pointer to UDINT input data list from type ConfigurationUdintOptionsTypeV1*)
|
||||
NumberUdintInput : UINT; (*input data: number of UDINT input entries in pUdintDataInput*)
|
||||
pAcknMachineOptions : UDINT; (*input data: pointer to acknowledge information of type DownloadAcknMaOpTypeV1*)
|
||||
pIntDataOutput : UDINT; (*input data: pointer to list of type ConfigurationIntOptionsTypeV1*)
|
||||
NumberIntOutput : UINT; (*input data: number of available entries in INT buffer*)
|
||||
NumberIntOutputOut : UINT; (*return value: number of returned INT data entries*)
|
||||
pUintDataOutput : UDINT; (*input data: pointer to list of type ConfigurationUintOptionsTypeV1*)
|
||||
NumberUintOutput : UINT; (*input data: number of available entries in UINT buffer*)
|
||||
NumberUintOutputOut : UINT; (*return value: number of returned UINT data entries*)
|
||||
pDintDataOutput : UDINT; (*input data: pointer to list of type ConfigurationDintOptionsTypeV1*)
|
||||
NumberDintOutput : UINT; (*input data: number of available DINT data entries*)
|
||||
NumberDintOutputOut : UINT; (*return value: number of returned DINT data entries*)
|
||||
pUdintDataOutput : UDINT; (*input data: pointer to list of type ConfigurationUdintOptionsTypeV1*)
|
||||
NumberUdintOutput : UINT; (*input data: number of available UDINT data entries*)
|
||||
NumberUdintOutputOut : UINT; (*number of UDINT channels from SafeLOGIC*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
DownloadCmdExtMaOpTypeV1 : STRUCT (*return value: number of returned UDINT data entries*)
|
||||
Version : UINT; (*input data: safeVERSION_R107*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low*)
|
||||
UDID_High : UINT; (*input data: UDID high*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pIntDataInput : UDINT; (*input data: pointer to INT input data list from type ConfigurationIntOptionsTypeV1*)
|
||||
NumberIntInput : UINT; (*input data: number of INT input entries in pIntDataInput*)
|
||||
pUintDataInput : UDINT; (*input data: pointer to UINT input data list from type ConfigurationUintOptionsTypeV1*)
|
||||
NumberUintInput : UINT; (*input data: number of UINT input entries in pUintDataInput*)
|
||||
pDintDataInput : UDINT; (*input data: pointer to DINT input data list from type ConfigurationDintOptionsTypeV1*)
|
||||
NumberDintInput : UINT; (*input data: number of DINT input entries in pDintDataInput*)
|
||||
pUdintDataInput : UDINT; (*input data: pointer to UDINT input data list from type ConfigurationUdintOptionsTypeV1*)
|
||||
NumberUdintInput : UINT; (*input data: number of UDINT input entries in pUdintDataInput*)
|
||||
pAcknMachineOptions : UDINT; (*input data: pointer to acknowledge information of type DownloadAcknMaOpTypeV1*)
|
||||
pIntDataOutput : UDINT; (*return value: pointer to list of type ConfigurationIntOptionsTypeV1*)
|
||||
NumberIntOutput : UINT; (*return value: number of returned INT data entries*)
|
||||
pUintDataOutput : UDINT; (*return value: pointer to list of type ConfigurationUintOptionsTypeV1*)
|
||||
NumberUintOutput : UINT; (*return value: number of returned UINT data entries*)
|
||||
pDintDataOutput : UDINT; (*return value: pointer to list of type ConfigurationDintOptionsTypeV1*)
|
||||
NumberDintOutput : UINT; (*return value: number of returned DINT data entries*)
|
||||
pUdintDataOutput : UDINT; (*return value: pointer to list of type ConfigurationUdintOptionsTypeV1*)
|
||||
NumberUdintOutput : UINT; (*return value: number of returned UDINT data entries*)
|
||||
END_STRUCT;
|
||||
DownloadCmdMaOpTypeV2 : STRUCT (*machine options command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R110*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low from SafeLOGIC*)
|
||||
UDID_High : UINT; (*input data: UDID high from SafeLOGIC*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pDeviceListInput : UDINT; (*input data: pointer to input device list of type DownloadDeviceTypeV1*)
|
||||
NumberDevicesInput : UINT; (*input data: number of input devices*)
|
||||
pMachineOptionsInput : UDINT; (*input data: pointer to input bit machine options of type ConfigurationBitOptionsTypeV1*)
|
||||
pModuleFlagsInput : UDINT; (*input data: pointer to input module flags of type ConfigurationModuleFlagsTypeV1*)
|
||||
pAcknMachineOptions : UDINT; (*input data: pointer to acknowledge information of type DownloadAcknMaOpTypeV1*)
|
||||
pDeviceListOutput : UDINT; (*input data: pointer to device list buffer of type ConfigurationDeviceTypeV1*)
|
||||
NumberDevicesOutput : UINT; (*input data: number of available device entries in devices list buffer*)
|
||||
NumberDevicesOutputOut : UINT; (*return value: number of returned device entries*)
|
||||
pMachineOptionsOutput : UDINT; (*input data: pointer to bit machine options of type ConfigurationBitOptionsTypeV1*)
|
||||
pModuleFlagsOutput : UDINT; (*input data: pointer to module flags of type ConfigurationModuleFlagsTypeV1*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
DownloadCmdMaOpTypeV1 : STRUCT (*machine options command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R107*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low from SafeLOGIC*)
|
||||
UDID_High : UINT; (*input data: UDID high from SafeLOGIC*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pDeviceListInput : UDINT; (*input data: pointer to input device list of type DownloadDeviceTypeV1*)
|
||||
NumberDevicesInput : UINT; (*input data: number of input devices*)
|
||||
pMachineOptionsInput : UDINT; (*input data: pointer to input bit machine options of type ConfigurationBitOptionsTypeV1*)
|
||||
pModuleFlagsInput : UDINT; (*input data: pointer to input module flags of type ConfigurationModuleFlagsTypeV1*)
|
||||
pAcknMachineOptions : UDINT; (*input data: pointer to acknowledge information of type DownloadAcknMaOpTypeV1*)
|
||||
pDeviceListOutput : UDINT; (*return value: pointer to device list of type ConfigurationDeviceTypeV1*)
|
||||
NumberDevicesOutput : UINT; (*return value: number of returned entries*)
|
||||
pMachineOptionsOutput : UDINT; (*return value: pointer to bit machine options of type ConfigurationBitOptionsTypeV1*)
|
||||
pModuleFlagsOutput : UDINT; (*return value: pointer to module flags of type ConfigurationModuleFlagsTypeV1*)
|
||||
END_STRUCT;
|
||||
DownloadCmdTableTypeV2 : STRUCT (*table command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R110*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low*)
|
||||
UDID_High : UINT; (*input data: UDID high*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pTableDataInput : UDINT; (*input data: pointer to input table data list of type DownloadTableTypeV2*)
|
||||
NumberTablesInput : UINT; (*input data: number of input entries in pTableDataInput*)
|
||||
pTableDataOutput : UDINT; (*input data: pointer to list of type ConfigurationTableTypeV1*)
|
||||
NumberTablesOutput : UINT; (*input data: number of available entries in pTableDataOutput*)
|
||||
NumberTablesOutputOut : UINT; (*return value: number of returned table entries*)
|
||||
pBackupFile : UDINT; (*input data: 0 .. no backup, otherwise pointer to struct of type FileReferenceType *)
|
||||
pXmlOutputFile : UDINT; (*input data: 0 .. don't create XML output data, otherwise pointer to struct of type FileReferenceType*)
|
||||
END_STRUCT;
|
||||
DownloadCmdTableTypeV1 : STRUCT (*table command structure*)
|
||||
Version : UINT; (*input data: safeVERSION_R107*)
|
||||
Password : STRING[16]; (*input data: password*)
|
||||
UDID_Low : UDINT; (*input data: UDID low*)
|
||||
UDID_High : UINT; (*input data: UDID high*)
|
||||
Unlock : USINT; (*input data: unlock data*)
|
||||
pTableDataInput : UDINT; (*input data: pointer to input table data list of type DownloadTableTypeV1*)
|
||||
NumberTablesInput : UINT; (*input data: number of input entries in pTableDataInput*)
|
||||
pTableDataOutput : UDINT; (*return value: pointer to list of type ConfigurationTableTypeV1*)
|
||||
NumberTablesOutput : UINT; (*return value: number of returned table entries*)
|
||||
END_STRUCT;
|
||||
DownloadCmdFileTypeV1 : STRUCT (*file command structure*)
|
||||
Version : UINT; (*used version*)
|
||||
Password : STRING[16]; (*password*)
|
||||
UDID_Low : UDINT; (*UDID low*)
|
||||
UDID_High : UINT; (*UDID high*)
|
||||
Unlock : USINT; (*unlock data*)
|
||||
DataSource : DataSourceTypeV1; (*local data or local file available, file upload from safeLOGIC not available*)
|
||||
pCrcs : UDINT; (*pointer to CRC data buffer*)
|
||||
NumberOfCrcs : UINT; (*size of CRC data Buffer*)
|
||||
NumberOfCrcsOut : UINT; (*number of CRCs*)
|
||||
END_STRUCT;
|
||||
DownloadAddParaTypeV1 : STRUCT (*additional parameter data*)
|
||||
SADR : UINT; (*safety address*)
|
||||
ID : USINT; (*id*)
|
||||
pParaData : UDINT; (*pointer to additional parameter data*)
|
||||
Length : UDINT; (*length*)
|
||||
pAcknAddPara : UDINT; (*pointer to acknowledge information*)
|
||||
END_STRUCT;
|
||||
DownloadDeviceTypeV1 : STRUCT (*safety device*)
|
||||
SADR : UINT; (*safety address*)
|
||||
UDID_Low : UDINT; (*UDID low*)
|
||||
UDID_High : UINT; (*UDID high*)
|
||||
END_STRUCT;
|
||||
DownloadTableTypeV1 : STRUCT (*table data*)
|
||||
Device : STRING[80]; (*device for file*)
|
||||
File : STRING[80]; (*file name*)
|
||||
END_STRUCT;
|
||||
DownloadTableTypeV2 : STRUCT (*table data*)
|
||||
Type : UINT; (*safeTABLE_FILE_TYPE .. use Device / File, safeTABLE_DATA_TYPE .. use pData / DataLen*)
|
||||
Device : STRING[80]; (*device for file*)
|
||||
File : STRING[80]; (*file name*)
|
||||
pData : UDINT; (*pointer to table data *)
|
||||
DataLen : UDINT; (*length of table data*)
|
||||
END_STRUCT;
|
||||
RemoteControlCmdTypeV1 : STRUCT (*remote control command structure*)
|
||||
Version : UINT; (*used version*)
|
||||
Command : UINT; (*command*)
|
||||
Number : UINT; (*actual number*)
|
||||
Data : UINT; (*data*)
|
||||
Password : STRING[16]; (*password*)
|
||||
NewPassword : STRING[16]; (*new password*)
|
||||
END_STRUCT;
|
||||
RemoteControlStatusTypeV1 : STRUCT (*remote control status from SafeLOGIC*)
|
||||
Command : UINT; (*last received command*)
|
||||
Number : UINT; (*running number of last received command*)
|
||||
Status : UINT; (*status of command*)
|
||||
State : UINT; (*state of the last ENTER command*)
|
||||
EnterData : UINT; (*last received ENTER command that was correct executed*)
|
||||
EnterNumber : UINT; (*running number of the last received ENTER command*)
|
||||
EnterExecuteStatus : UINT; (*state of the last received ENTER command*)
|
||||
SafeOSState : USINT; (*status of the safety application*)
|
||||
SafeKEYChanged : USINT; (*SafeKEY has been exchanged*)
|
||||
LedTestActive : USINT; (*LED test active*)
|
||||
Scanning : USINT; (*module scan active*)
|
||||
openSAFETYstate : USINT; (*status of openSAFETY stack*)
|
||||
FailSafe : USINT; (*Fail-Safe status*)
|
||||
NumberOfMissingModules : UINT; (*number of missing modules*)
|
||||
NumberOfUDIDMismatches : UINT; (*number of mismatched modules*)
|
||||
NumberOfDifferentFirmware : UINT; (*number of modules with different firmware*)
|
||||
SADR : ARRAY[0..100]OF UINT; (*safety address array*)
|
||||
MissingModules : ARRAY[0..15]OF USINT; (*missing modules array*)
|
||||
UDIDMismatches : ARRAY[0..15]OF USINT; (*udid mismatch array*)
|
||||
DifferentFirmware : ARRAY[0..15]OF USINT; (*different firmware array*)
|
||||
END_STRUCT;
|
||||
RemoteControlStatusTypeV2 : STRUCT (*remote control status from SafeLOGIC*)
|
||||
Command : UINT; (*last received command*)
|
||||
Number : UINT; (*running number of last received command*)
|
||||
Status : UINT; (*status of command*)
|
||||
State : UINT; (*state of the last ENTER command*)
|
||||
EnterData : UINT; (*last received ENTER command that was correct executed*)
|
||||
EnterNumber : UINT; (*running number of the last received ENTER command*)
|
||||
EnterExecuteStatus : UINT; (*state of the last received ENTER command*)
|
||||
SafeOSState : USINT; (*status of the safety application*)
|
||||
SafeKEYChanged : USINT; (*SafeKEY has been exchanged*)
|
||||
LedTestActive : USINT; (*LED test active*)
|
||||
Scanning : USINT; (*module scan active*)
|
||||
openSAFETYstate : USINT; (*status of openSAFETY stack*)
|
||||
FailSafe : USINT; (*Fail-Safe status*)
|
||||
NumberOfMissingModules : UINT; (*number of missing modules*)
|
||||
NumberOfUDIDMismatches : UINT; (*number of mismatched modules*)
|
||||
NumberOfDifferentFirmware : UINT; (*number of modules with different firmware*)
|
||||
SADR : ARRAY[0..299]OF UINT; (*safety address array*)
|
||||
MissingModules : ARRAY[0..39]OF USINT; (*missing modules array*)
|
||||
UDIDMismatches : ARRAY[0..39]OF USINT; (*udid mismatch array*)
|
||||
DifferentFirmware : ARRAY[0..39]OF USINT; (*different firmware array*)
|
||||
NumberOfConfiguredModules : UINT; (*number of configured modules*)
|
||||
SetupModeActive : USINT; (*setup mode active*)
|
||||
ProjectPresent : USINT; (*project present*)
|
||||
PasswordSet : USINT; (*password set*)
|
||||
IsSL81xx : USINT; (*SCM is part of SL81xx*)
|
||||
IsSCMar : USINT; (*SCM is part of SCMar*)
|
||||
SetupModeSupported : USINT; (*setup mode is supported*)
|
||||
END_STRUCT;
|
||||
TableHeaderATypeV1 : STRUCT (*header struct for table type A version 1*)
|
||||
xTol : DINT;
|
||||
yTol : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryATypeV1 : STRUCT (*entry struct for table type A version 1*)
|
||||
xVal : DINT;
|
||||
yVal : DINT;
|
||||
resVal : USINT;
|
||||
END_STRUCT;
|
||||
TableEntryBTypeV1 : STRUCT (*entry struct for table type B version 1*)
|
||||
xVal : DINT;
|
||||
yVal : DINT;
|
||||
zVal : DINT;
|
||||
resVal : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryCTypeV1 : STRUCT (*entry struct for table type C version 1*)
|
||||
Zone : UINT;
|
||||
Position : UINT;
|
||||
Dimension : UINT;
|
||||
END_STRUCT;
|
||||
TableHeaderDTypeV1 : STRUCT (*header struct for table type A version 1*)
|
||||
Surveillance : BYTE;
|
||||
END_STRUCT;
|
||||
TableEntryDTypeV1 : STRUCT (*entry struct for table type D version 1*)
|
||||
Object : UINT;
|
||||
Type : UINT;
|
||||
MinimumBeam : UINT;
|
||||
MaximumBeam : UINT;
|
||||
Dimension : UINT;
|
||||
DimensionTolerance : UINT;
|
||||
END_STRUCT;
|
||||
TableHeaderETypeV1 : STRUCT (*header struct for table type E version 1*)
|
||||
xDim : INT;
|
||||
yDim : INT;
|
||||
END_STRUCT;
|
||||
TableEntryETypeV1 : STRUCT (*entry struct for table type D version 1*)
|
||||
Entry : DINT;
|
||||
END_STRUCT;
|
||||
TableEntrySTypeV1 : STRUCT (*entry struct for table type S version 1*)
|
||||
LinkTargetObjectID : DINT;
|
||||
LinkTargetAxisType : DINT;
|
||||
LinkSourceObjectID : DINT;
|
||||
LinkSourceAxisType : DINT;
|
||||
LinkFactorNum : DINT;
|
||||
LinkFactorDenom : DINT;
|
||||
END_STRUCT;
|
||||
TableHeaderTTypeV1 : STRUCT (*header struct for table type T version 1*)
|
||||
NumberOfActiveAxes : DINT; (*number of active axes*)
|
||||
END_STRUCT;
|
||||
TableEntryTTypeV1 : STRUCT (*entry struct for table type T version 1*)
|
||||
KinObjID : DINT;
|
||||
KinObjType : DINT;
|
||||
KinObjTransX : DINT;
|
||||
KinObjTransY : DINT;
|
||||
KinObjTransZ : DINT;
|
||||
KinObjRotAngle1 : DINT;
|
||||
KinObjRotAngle2 : DINT;
|
||||
KinObjRotAngle3 : DINT;
|
||||
KinObjRotaryAxisDecRamp : DINT;
|
||||
KinObjRotaryAxisMaxAcc : DINT;
|
||||
KinObjLinearAxisDecRamp : DINT;
|
||||
KinObjLinearAxisMaxAcc : DINT;
|
||||
END_STRUCT;
|
||||
TableHeaderTTypeV2 : STRUCT (*header struct for table type T version 2*)
|
||||
NumberOfTableObjects : UINT;
|
||||
VersionNumber : UINT;
|
||||
NumberOfActiveAxes : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryTTypeV2 : STRUCT (*entry struct for table type T version 2*)
|
||||
KinObjID : DINT;
|
||||
KinObjType : DINT;
|
||||
KinObjTransX : DINT;
|
||||
KinObjTransY : DINT;
|
||||
KinObjTransZ : DINT;
|
||||
KinObjRotAngle1 : DINT;
|
||||
KinObjRotAngle2 : DINT;
|
||||
KinObjRotAngle3 : DINT;
|
||||
KinObjRotaryAxisDecRamp : DINT;
|
||||
KinObjRotaryAxisMaxAcc : DINT;
|
||||
KinObjLinearAxisDecRamp : DINT;
|
||||
KinObjLinearAxisMaxAcc : DINT;
|
||||
KinObjActivateWireFrameModel : DINT;
|
||||
KinObjDistanceToBndElements : DINT;
|
||||
END_STRUCT;
|
||||
TableHeaderTTypeV3 : STRUCT (*header struct for table type T version 3*)
|
||||
NumberOfTableObjects : UINT;
|
||||
VersionNumber : UINT;
|
||||
NumberOfActiveAxes : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryTTypeV3 : STRUCT (*entry struct for table type T version 3*)
|
||||
KinObjID : DINT;
|
||||
KinObjType : DINT;
|
||||
KinObjTransX : DINT;
|
||||
KinObjTransY : DINT;
|
||||
KinObjTransZ : DINT;
|
||||
KinObjRotAngle1 : DINT;
|
||||
KinObjRotAngle2 : DINT;
|
||||
KinObjRotAngle3 : DINT;
|
||||
KinObjRotaryAxisDecRamp : DINT;
|
||||
KinObjRotaryAxisMaxAcc : DINT;
|
||||
KinObjLinearAxisDecRamp : DINT;
|
||||
KinObjLinearAxisMaxAcc : DINT;
|
||||
KinObjActivateWireFrameModel : DINT;
|
||||
KinObjDistanceToBndElements : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryUTypeV1 : STRUCT (*entry struct for table type U version 1*)
|
||||
SpaceID : DINT;
|
||||
SpaceType : DINT;
|
||||
SpaceTransX : DINT;
|
||||
SpaceTransY : DINT;
|
||||
SpaceTransZ : DINT;
|
||||
SpaceRotAngle1 : DINT;
|
||||
SpaceRotAngle2 : DINT;
|
||||
SpaceRotAngle3 : DINT;
|
||||
SpaceDimensionX : DINT;
|
||||
SpaceDimensionY : DINT;
|
||||
SpaceDimensionZ : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryVTypeV1 : STRUCT (*entry struct for table type V version 1*)
|
||||
SpaceID : DINT;
|
||||
SpaceType : DINT;
|
||||
KinObjID : DINT;
|
||||
KinObjJointAxisType : DINT;
|
||||
SpaceMaxLimit : DINT;
|
||||
SpaceMinLimit : DINT;
|
||||
END_STRUCT;
|
||||
TableEntryWTypeV1 : STRUCT (* entry struct for table type W version 1*)
|
||||
OrientID : DINT;
|
||||
OrientType : DINT;
|
||||
OrientTransX_RotAngle1 : DINT;
|
||||
OrientTransY_RotAngle2 : DINT;
|
||||
OrientTransZ_RotAngle3 : DINT;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
87
Logical/Libraries/AsSafety/AsSafety.var
Normal file
87
Logical/Libraries/AsSafety/AsSafety.var
Normal file
@@ -0,0 +1,87 @@
|
||||
VAR CONSTANT
|
||||
safeVERSION_R107 : UINT := 16#107; (*safety release version - 1.7*)
|
||||
safeVERSION_R110 : UINT := 16#110; (*safety release version - 1.10*)
|
||||
safeDATA_TYPE_MAOP : UINT := 16#100; (*download type for machine options *)
|
||||
safeDATA_TYPE_EXTMAOP : UINT := 16#200; (*download type for extended machine options *)
|
||||
safeDATA_TYPE_TABLE : UINT := 16#300; (*download type for table objects *)
|
||||
safeDATA_TYPE_ADDPARA : UINT := 16#400; (*download type for additional parameter*)
|
||||
safeDATA_TYPE_APPLICATION : UINT := 16#1200; (*type for restore*)
|
||||
safeINFO_TYPE_PWD_INFO : UINT := 1; (*SL info type for password info*)
|
||||
safeINFO_TYPE_PWD_CHK : UINT := 2; (*SL info type for password check*)
|
||||
safeTABLE_FILE_TYPE : UINT := 16#0000; (*reference to table file*)
|
||||
safeTABLE_DATA_TYPE : UINT := 16#0001; (*pointer to table data*)
|
||||
safeSRC_TYPE_UPLOAD_FILE : UINT := 0; (*file upload from SafeLOGIC*)
|
||||
safeSRC_TYPE_LOCAL_DATA : UINT := 1; (*local data from memory buffer*)
|
||||
safeSRC_TYPE_LOCAL_FILE : UINT := 2; (*local data from file*)
|
||||
safeCMD_ENTER : UINT := 16#100; (*enter command*)
|
||||
safeCMD_STATUS : UINT := 16#200; (*status command*)
|
||||
safeCMD_STATUS_SL : UINT := 16#0000; (*read back status*)
|
||||
safeCMD_N_UDID_ACKN : UINT := 16#20; (*acknowledge N modules*)
|
||||
safeCMD_4_UDID_ACKN : UINT := 16#30; (*acknowledge 4 modules*)
|
||||
safeCMD_3_UDID_ACKN : UINT := 16#40; (*acknowledge 3 modules*)
|
||||
safeCMD_2_UDID_ACKN : UINT := 16#50; (*acknowledge 2 modules*)
|
||||
safeCMD_1_UDID_ACKN : UINT := 16#60; (*acknowledge 1 module*)
|
||||
safeCMD_FW_ACKN : UINT := 16#100; (*acknowledge firmware*)
|
||||
safeCMD_SK_XCHG : UINT := 16#200; (*acknowledge SafeKEY*)
|
||||
safeCMD_TEST : UINT := 16#1000; (*LED test*)
|
||||
safeCMD_SCAN : UINT := 16#2000; (*scan*)
|
||||
safeCMD_SK_PW : UINT := 16#5000; (*change password*)
|
||||
safeCMD_SK_FORMAT : UINT := 16#6000; (*format SafeKEY*)
|
||||
safeCMD_RESET : UINT := 16#7000; (*reset SafeLOGIC*)
|
||||
safeCMD_CLEAR_DATA : UINT := 16#8000; (*clear additonal downloaded data*)
|
||||
safeCMD_SETUP_MODE_ACT : UINT := 16#9000; (*activate setup mode*)
|
||||
safeCMD_SETUP_MODE_DEACT : UINT := 16#9100; (*deactivate setup mode*)
|
||||
safeCMD_VERSION_INFO : UINT := 16#F000; (*remote version info*)
|
||||
safeRET_NO_TIMESTAMP : UDINT := 16#FFFFFFFF; (*no timestamp available*)
|
||||
safeERR_VERSION : UINT := 36100; (*error wrong version for command structure*)
|
||||
safeERR_PW_LENGTH : UINT := 36101; (*error wrong password length*)
|
||||
safeERR_UDID : UINT := 36102; (*error no UDID*)
|
||||
safeERR_ALLOC_MEM : UINT := 36103; (*error allocating memory*)
|
||||
safeERR_INTERNAL_ERROR : UINT := 36104; (*internal error*)
|
||||
safeERR_TIMEOUT : UINT := 36105; (*error connection timeout*)
|
||||
safeERR_RC_CMD : UINT := 36106; (*error wrong command*)
|
||||
safeERR_RC_ENTER_DATA : UINT := 36107; (*error wrong data for ENTER command*)
|
||||
safeERR_RC_ENTER_PW : UINT := 36108; (*error no password for command*)
|
||||
safeERR_RC_ENTER_SK_PW : UINT := 36109; (*error no new password for command*)
|
||||
safeERR_RC_STATUS_DATA : UINT := 36110; (*error wrong data for STATUS command*)
|
||||
safeERR_RC_DATA_LENGTH : UINT := 36111; (*error worng length for status data*)
|
||||
safeERR_DL_NO_PASSWORD : UINT := 36112; (*error no password for download*)
|
||||
safeERR_DL_PROTOCOL : UINT := 36113; (*error protocol version for download*)
|
||||
safeERR_DL_FILE_OPEN : UINT := 36114; (*error file open*)
|
||||
safeERR_DL_FILE_INVALID : UINT := 36115; (*error file invalid*)
|
||||
safeERR_DL_FILE_TOO_BIG : UINT := 36116; (*error file too big*)
|
||||
safeERR_DL_WRITE : UINT := 36117; (*error write*)
|
||||
safeERR_DL_STREAM : UINT := 36118; (*error stream*)
|
||||
safeERR_DL_CHECKSUM : UINT := 36119; (*error checksum*)
|
||||
safeERR_DL_UDID : UINT := 36120; (*error UDID doesn't match*)
|
||||
safeERR_DL_WRONG_FILE_SIZE : UINT := 36121; (*error wrong file size*)
|
||||
safeERR_DL_NO_RIGHTS_TO_WRITE : UINT := 36122; (*error wrong password*)
|
||||
safeERR_DL_UNLOCK_FILE_INFO : UINT := 36123; (*error file info*)
|
||||
safeERR_DL_UNLOCK_READ : UINT := 36124; (*error unlock read*)
|
||||
safeERR_DL_UNLOCK_WRITE : UINT := 36125; (*error unlock write*)
|
||||
safeERR_DL_STATIC_UNLOCK : UINT := 36126; (*error static unlock*)
|
||||
safeERR_DL_COMPARE_FAILED : UINT := 36127; (*error data compare failed*)
|
||||
safeERR_DLDATA_TYPE_ERR : UINT := 36128; (*error data type for download*)
|
||||
safeERR_DLDATA_ERR_DATA : UINT := 36129; (*error data for download*)
|
||||
safeERR_COT_TYPE_ERR : UINT := 36130; (*error data type for upload*)
|
||||
safeERR_COT_READING_FILE : UINT := 36131; (*error reading file*)
|
||||
safeERR_BUFFER_NULL : UINT := 36132; (*required input buffer is NULL*)
|
||||
safeERR_BUFFER_TOO_SMALL : UINT := 36133; (*required input buffer is too small*)
|
||||
safeERR_FILE_EMPTY : UINT := 36134; (*file is empty or does not exist on SL/SLX*)
|
||||
safeERR_FI_TYPE_ERR : UINT := 36135; (*error data type for getting file info*)
|
||||
safeERR_SLINFO_TYPE_ERR : UINT := 36136; (*error data type for SL info*)
|
||||
safeERR_SLINFO_RET_ERR : UINT := 36137; (*remote command returns error*)
|
||||
safeERR_COT_PWD_ERR : UINT := 36138; (*wrong password for configuration on target command*)
|
||||
safeERR_TC_INV_TABTYPE : UINT := 36180; (*invalid table type*)
|
||||
safeERR_TC_INV_INST : UINT := 36181; (*invalid table instance*)
|
||||
safeERR_TC_INV_INPUT_PTR : UINT := 36182; (*invalid input pointer*)
|
||||
safeERR_TC_INV_TAB_LEN : UINT := 36183; (*invalid table length*)
|
||||
safeERR_TC_INV_USER : UINT := 36184; (*invalid user name*)
|
||||
safeERR_TC_TYPE_CPY_FCT : UINT := 36185; (*no copy function for table type*)
|
||||
safeWRN_TC_WAIT_FOR_ACK : UINT := 36191; (*wait for acknowledge of tables*)
|
||||
safeERR_TC_CHECK_FAILED : UINT := 36186; (*table check failed*)
|
||||
safeERR_TC_EXTRACT_FAILED : UINT := 36187; (*extraction of output table data failed*)
|
||||
safeERR_TC_LOCK_FAILED : UINT := 36188; (*table lock failed*)
|
||||
safeERR_TC_ACK_SET : UINT := 36189; (*AckData is already set*)
|
||||
safeERR_TC_INVALID_STEP : UINT := 36190; (*invalid step in table check*)
|
||||
END_VAR
|
||||
16
Logical/Libraries/AsSafety/Binary.lby
Normal file
16
Logical/Libraries/AsSafety/Binary.lby
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="The AsSafety library provides function blocks for the safety system." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>AsSafety.fun</File>
|
||||
<File>AsSafety.typ</File>
|
||||
<File>AsSafety.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="standard" />
|
||||
<Dependency ObjectName="FileIO" />
|
||||
<Dependency ObjectName="astime" />
|
||||
<Dependency ObjectName="DataObj" />
|
||||
<Dependency ObjectName="AsXml" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
1153
Logical/Libraries/AsSafety/SG4/AsSafety.h
Normal file
1153
Logical/Libraries/AsSafety/SG4/AsSafety.h
Normal file
File diff suppressed because it is too large
Load Diff
264
Logical/Libraries/AsXml/AsXml.fun
Normal file
264
Logical/Libraries/AsXml/AsXml.fun
Normal file
@@ -0,0 +1,264 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlCreateMemoryReader (*creates an xml memory reader*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pXmlMemory : UDINT; (*pointer to the XML data*)
|
||||
memorySize : UDINT; (*size of the XML data*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlCloseMemoryReader (*closes the xml memory reader*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlReadNextNode (*reads the next XML node*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
forceRead : BOOL; (*reads next Node even if last node could not be read successfully*)
|
||||
skipSubtree : BOOL; (*avoids XML nodes in the subtree*)
|
||||
pName : UDINT; (*pointer to buffer for the XML node name*)
|
||||
nameSize : UDINT; (*size of the buffer for the XML node name*)
|
||||
pValue : UDINT; (*pointer to buffer for the XML node value*)
|
||||
valueSize : UDINT; (*size of the buffer for the XML node value*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
nodeType : UDINT; (*type of the XML node*)
|
||||
depth : UDINT; (*depth of the XML node*)
|
||||
isEmpty : BOOL; (*empty XML node?*)
|
||||
attributeCount : UDINT; (*number of attributes*)
|
||||
neededNameSize : UDINT; (*needed name buffer size*)
|
||||
neededValueSize : UDINT; (*needed value buffer size*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlReadAttributeNr (*reads the next attribute of the XML node*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
index : UDINT; (*index of the attribute to read*)
|
||||
pName : UDINT; (*pointer to buffer for the attribute name*)
|
||||
nameSize : UDINT; (*size of the buffer for the XML attribute name*)
|
||||
pValue : UDINT; (*pointer to buffer for the attribute value*)
|
||||
valueSize : UDINT; (*size of the buffer for the XML attribute value*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
neededNameSize : UDINT; (*needed name buffer size*)
|
||||
neededValueSize : UDINT; (*needed value buffer size*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlCreateMemoryWriter (*creates an xml memory writer*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlGetMemoryInfo (*gets the pointer to and the size of the created XML data*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
|
||||
pXmlData : UDINT; (*pointer to the created XML data*)
|
||||
xmlDataSize : UDINT; (*size of the created XML data*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlCloseMemoryWriter (*closes the xml memory writer and releases the allocated memory*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteStartDocument (*writes the version and the encoding of the document*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pVersion : UDINT; (*pointer to the version*)
|
||||
pEncoding : UDINT; (*pointer to the encoding*)
|
||||
pStandalone : UDINT; (*pointer to the standalone text*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteStartDocEnc (*writes the version and the encoding of the document and sets the input encoding*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pVersion : UDINT; (*pointer to the version*)
|
||||
pInputEncoding : UDINT; (*pointer to the input encoding e.g. "ISO-8859-1"*)
|
||||
pOutputEncoding : UDINT; (*pointer to the output encoding e.g. "UTF-8"*)
|
||||
pStandalone : UDINT; (*pointer to the standalone text*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteEndDocument (*finishes the document*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteStartElement (*starts a new XML element*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pName : UDINT; (*pointer to the XML element name*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteAttribute (*adds an attribute to the current XML element*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pName : UDINT; (*pointer to the XML attribute name*)
|
||||
pValue : UDINT; (*pointer to the XML attribute value*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteElementText (*writes an XML element text*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pText : UDINT; (*pointer to the element text*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteElementTextEx (*writes an XML element text*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pText : UDINT; (*pointer to the element text*)
|
||||
textLen : UDINT; (*length of the element text*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteEndElement (*closes the current XML element*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteComment (*writes an XML comment*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pText : UDINT; (*pointer to the comment text*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteCommentEx (*writes an XML comment*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pText : UDINT; (*pointer to the comment text*)
|
||||
textLen : UDINT; (*length of the comment text*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteCData (*writes an XML CDATA Section*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pCData : UDINT; (*pointer to the CDATA data*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWriteCDataEx (*writes an XML CDATA Section*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pCData : UDINT; (*pointer to the CDATA*)
|
||||
cdataLen : UDINT; (*length of the CDATA*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK xmlWritePI (*writes an XML process instruction*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier*)
|
||||
pTarget : UDINT; (*pointer to the process instruction*)
|
||||
pValue : UDINT; (*pointer to the pi value*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
4
Logical/Libraries/AsXml/AsXml.typ
Normal file
4
Logical/Libraries/AsXml/AsXml.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
29
Logical/Libraries/AsXml/AsXml.var
Normal file
29
Logical/Libraries/AsXml/AsXml.var
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
VAR CONSTANT
|
||||
xmlERR_MEMORY : UINT := 33810; (*memory error*)
|
||||
xmlERR_INVALID_PARAMETER : UINT := 33811; (*wrong parameter or nullpointer given*)
|
||||
xmlERR_GENERAL : UINT := 33812; (*general XML error*)
|
||||
xmlERR_NO_FURTHER_XML_NODE : UINT := 33813; (*no further XML node available*)
|
||||
xmlERR_NAME_BUFFER_TOO_SMALL: UINT := 33814; (*buffer for name too small*)
|
||||
xmlERR_VALUE_BUFFER_TOO_SMALL: UINT := 33815; (*buffer for value too small*)
|
||||
xmlERR_INVALID_ATTRIBUTE_INDEX: UINT := 33816; (*invalid attribute index*)
|
||||
xmlERR_NO_ATTRIBUTES : UINT := 33817; (*no attribute available*)
|
||||
xmlERR_XML_DATA_INVALID : UINT := 33818; (*xml data is invalid*)
|
||||
xmlERR_INVALID_IDENT : UINT := 33819; (*error identifier invalid*)
|
||||
xmlERR_NO_ELEMENT_OPEN : UINT := 33820; (*no open XML element where to put the attribute*)
|
||||
xmlERR_INVALID_POSITION : UINT := 33821; (*invalid position for this node*)
|
||||
xmlERR_CONVERT : UINT := 33822; (*error during converting text*)
|
||||
xmlERR_CONVERT_TEXT : UINT := 33823; (*error converting text*)
|
||||
xmlERR_UNSUPPORTED_ENCODING : UINT := 33824; (*unsupported encoding*)
|
||||
xmlERR_DOCUMENT_NOT_OPEN : UINT := 33825; (*XML document not open*)
|
||||
|
||||
|
||||
xmlNODE_TYPE_ELEMENT : UINT := 1; (*XML element node*)
|
||||
xmlNODE_TYPE_TEXT : UINT := 3; (*XML element text*)
|
||||
xmlNODE_TYPE_CDATA : UINT := 4; (*XML CDATA section*)
|
||||
xmlNODE_TYPE_PI : UINT := 7; (*XML process instruction node*)
|
||||
xmlNODE_TYPE_COMMENT : UINT := 8; (*XML comment*)
|
||||
xmlNODE_TYPE_WHITESPACE : UINT := 13; (*XML white space*)
|
||||
xmlNODE_TYPE_SIGN_WHITESPACE: UINT := 14; (*XML significant white space*)
|
||||
xmlNODE_TYPE_ENDELEMENT : UINT := 15; (*XML end element node*)
|
||||
END_VAR
|
||||
9
Logical/Libraries/AsXml/Binary.lby
Normal file
9
Logical/Libraries/AsXml/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="The AsXml library supports reading and writing of XML files." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>AsXml.fun</File>
|
||||
<File>AsXml.typ</File>
|
||||
<File>AsXml.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
349
Logical/Libraries/AsXml/SG4/AsXml.h
Normal file
349
Logical/Libraries/AsXml/SG4/AsXml.h
Normal file
@@ -0,0 +1,349 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASXML_
|
||||
#define _ASXML_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define xmlNODE_TYPE_ENDELEMENT 15U
|
||||
#define xmlNODE_TYPE_SIGN_WHITESPACE 14U
|
||||
#define xmlNODE_TYPE_WHITESPACE 13U
|
||||
#define xmlNODE_TYPE_COMMENT 8U
|
||||
#define xmlNODE_TYPE_PI 7U
|
||||
#define xmlNODE_TYPE_CDATA 4U
|
||||
#define xmlNODE_TYPE_TEXT 3U
|
||||
#define xmlNODE_TYPE_ELEMENT 1U
|
||||
#define xmlERR_DOCUMENT_NOT_OPEN 33825U
|
||||
#define xmlERR_UNSUPPORTED_ENCODING 33824U
|
||||
#define xmlERR_CONVERT_TEXT 33823U
|
||||
#define xmlERR_CONVERT 33822U
|
||||
#define xmlERR_INVALID_POSITION 33821U
|
||||
#define xmlERR_NO_ELEMENT_OPEN 33820U
|
||||
#define xmlERR_INVALID_IDENT 33819U
|
||||
#define xmlERR_XML_DATA_INVALID 33818U
|
||||
#define xmlERR_NO_ATTRIBUTES 33817U
|
||||
#define xmlERR_INVALID_ATTRIBUTE_INDEX 33816U
|
||||
#define xmlERR_VALUE_BUFFER_TOO_SMALL 33815U
|
||||
#define xmlERR_NAME_BUFFER_TOO_SMALL 33814U
|
||||
#define xmlERR_NO_FURTHER_XML_NODE 33813U
|
||||
#define xmlERR_GENERAL 33812U
|
||||
#define xmlERR_INVALID_PARAMETER 33811U
|
||||
#define xmlERR_MEMORY 33810U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_ENDELEMENT;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_SIGN_WHITESPACE;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_WHITESPACE;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_COMMENT;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_PI;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_CDATA;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_TEXT;
|
||||
_GLOBAL_CONST unsigned short xmlNODE_TYPE_ELEMENT;
|
||||
_GLOBAL_CONST unsigned short xmlERR_DOCUMENT_NOT_OPEN;
|
||||
_GLOBAL_CONST unsigned short xmlERR_UNSUPPORTED_ENCODING;
|
||||
_GLOBAL_CONST unsigned short xmlERR_CONVERT_TEXT;
|
||||
_GLOBAL_CONST unsigned short xmlERR_CONVERT;
|
||||
_GLOBAL_CONST unsigned short xmlERR_INVALID_POSITION;
|
||||
_GLOBAL_CONST unsigned short xmlERR_NO_ELEMENT_OPEN;
|
||||
_GLOBAL_CONST unsigned short xmlERR_INVALID_IDENT;
|
||||
_GLOBAL_CONST unsigned short xmlERR_XML_DATA_INVALID;
|
||||
_GLOBAL_CONST unsigned short xmlERR_NO_ATTRIBUTES;
|
||||
_GLOBAL_CONST unsigned short xmlERR_INVALID_ATTRIBUTE_INDEX;
|
||||
_GLOBAL_CONST unsigned short xmlERR_VALUE_BUFFER_TOO_SMALL;
|
||||
_GLOBAL_CONST unsigned short xmlERR_NAME_BUFFER_TOO_SMALL;
|
||||
_GLOBAL_CONST unsigned short xmlERR_NO_FURTHER_XML_NODE;
|
||||
_GLOBAL_CONST unsigned short xmlERR_GENERAL;
|
||||
_GLOBAL_CONST unsigned short xmlERR_INVALID_PARAMETER;
|
||||
_GLOBAL_CONST unsigned short xmlERR_MEMORY;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct xmlCreateMemoryReader
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pXmlMemory;
|
||||
unsigned long memorySize;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlCreateMemoryReader_typ;
|
||||
|
||||
typedef struct xmlCloseMemoryReader
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlCloseMemoryReader_typ;
|
||||
|
||||
typedef struct xmlReadNextNode
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pName;
|
||||
unsigned long nameSize;
|
||||
unsigned long pValue;
|
||||
unsigned long valueSize;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long nodeType;
|
||||
unsigned long depth;
|
||||
unsigned long attributeCount;
|
||||
unsigned long neededNameSize;
|
||||
unsigned long neededValueSize;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
plcbit forceRead;
|
||||
plcbit skipSubtree;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit isEmpty;
|
||||
} xmlReadNextNode_typ;
|
||||
|
||||
typedef struct xmlReadAttributeNr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long index;
|
||||
unsigned long pName;
|
||||
unsigned long nameSize;
|
||||
unsigned long pValue;
|
||||
unsigned long valueSize;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long neededNameSize;
|
||||
unsigned long neededValueSize;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlReadAttributeNr_typ;
|
||||
|
||||
typedef struct xmlCreateMemoryWriter
|
||||
{
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlCreateMemoryWriter_typ;
|
||||
|
||||
typedef struct xmlGetMemoryInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long pXmlData;
|
||||
unsigned long xmlDataSize;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlGetMemoryInfo_typ;
|
||||
|
||||
typedef struct xmlCloseMemoryWriter
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlCloseMemoryWriter_typ;
|
||||
|
||||
typedef struct xmlWriteStartDocument
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pVersion;
|
||||
unsigned long pEncoding;
|
||||
unsigned long pStandalone;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteStartDocument_typ;
|
||||
|
||||
typedef struct xmlWriteStartDocEnc
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pVersion;
|
||||
unsigned long pInputEncoding;
|
||||
unsigned long pOutputEncoding;
|
||||
unsigned long pStandalone;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteStartDocEnc_typ;
|
||||
|
||||
typedef struct xmlWriteEndDocument
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteEndDocument_typ;
|
||||
|
||||
typedef struct xmlWriteStartElement
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pName;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteStartElement_typ;
|
||||
|
||||
typedef struct xmlWriteAttribute
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pName;
|
||||
unsigned long pValue;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteAttribute_typ;
|
||||
|
||||
typedef struct xmlWriteElementText
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pText;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteElementText_typ;
|
||||
|
||||
typedef struct xmlWriteElementTextEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pText;
|
||||
unsigned long textLen;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteElementTextEx_typ;
|
||||
|
||||
typedef struct xmlWriteEndElement
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteEndElement_typ;
|
||||
|
||||
typedef struct xmlWriteComment
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pText;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteComment_typ;
|
||||
|
||||
typedef struct xmlWriteCommentEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pText;
|
||||
unsigned long textLen;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteCommentEx_typ;
|
||||
|
||||
typedef struct xmlWriteCData
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pCData;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteCData_typ;
|
||||
|
||||
typedef struct xmlWriteCDataEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pCData;
|
||||
unsigned long cdataLen;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWriteCDataEx_typ;
|
||||
|
||||
typedef struct xmlWritePI
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pTarget;
|
||||
unsigned long pValue;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} xmlWritePI_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void xmlCreateMemoryReader(struct xmlCreateMemoryReader* inst);
|
||||
_BUR_PUBLIC void xmlCloseMemoryReader(struct xmlCloseMemoryReader* inst);
|
||||
_BUR_PUBLIC void xmlReadNextNode(struct xmlReadNextNode* inst);
|
||||
_BUR_PUBLIC void xmlReadAttributeNr(struct xmlReadAttributeNr* inst);
|
||||
_BUR_PUBLIC void xmlCreateMemoryWriter(struct xmlCreateMemoryWriter* inst);
|
||||
_BUR_PUBLIC void xmlGetMemoryInfo(struct xmlGetMemoryInfo* inst);
|
||||
_BUR_PUBLIC void xmlCloseMemoryWriter(struct xmlCloseMemoryWriter* inst);
|
||||
_BUR_PUBLIC void xmlWriteStartDocument(struct xmlWriteStartDocument* inst);
|
||||
_BUR_PUBLIC void xmlWriteStartDocEnc(struct xmlWriteStartDocEnc* inst);
|
||||
_BUR_PUBLIC void xmlWriteEndDocument(struct xmlWriteEndDocument* inst);
|
||||
_BUR_PUBLIC void xmlWriteStartElement(struct xmlWriteStartElement* inst);
|
||||
_BUR_PUBLIC void xmlWriteAttribute(struct xmlWriteAttribute* inst);
|
||||
_BUR_PUBLIC void xmlWriteElementText(struct xmlWriteElementText* inst);
|
||||
_BUR_PUBLIC void xmlWriteElementTextEx(struct xmlWriteElementTextEx* inst);
|
||||
_BUR_PUBLIC void xmlWriteEndElement(struct xmlWriteEndElement* inst);
|
||||
_BUR_PUBLIC void xmlWriteComment(struct xmlWriteComment* inst);
|
||||
_BUR_PUBLIC void xmlWriteCommentEx(struct xmlWriteCommentEx* inst);
|
||||
_BUR_PUBLIC void xmlWriteCData(struct xmlWriteCData* inst);
|
||||
_BUR_PUBLIC void xmlWriteCDataEx(struct xmlWriteCDataEx* inst);
|
||||
_BUR_PUBLIC void xmlWritePI(struct xmlWritePI* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASXML_ */
|
||||
|
||||
12
Logical/Libraries/DataObj/Binary.lby
Normal file
12
Logical/Libraries/DataObj/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<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.fun</File>
|
||||
<File>DataObj.typ</File>
|
||||
<File>DataObj.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
157
Logical/Libraries/DataObj/DataObj.fun
Normal file
157
Logical/Libraries/DataObj/DataObj.fun
Normal file
@@ -0,0 +1,157 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
14
Logical/Libraries/DataObj/DataObj.typ
Normal file
14
Logical/Libraries/DataObj/DataObj.typ
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
27
Logical/Libraries/DataObj/DataObj.var
Normal file
27
Logical/Libraries/DataObj/DataObj.var
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
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*)
|
||||
doERR_MODULDELETE_SYSROM : UINT := 20615; (*a module in SYSROM cannot be deleted*)
|
||||
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
|
||||
225
Logical/Libraries/DataObj/SG3/DataObj.h
Normal file
225
Logical/Libraries/DataObj/SG3/DataObj.h
Normal 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_ */
|
||||
|
||||
|
||||
250
Logical/Libraries/DataObj/SG4/DataObj.h
Normal file
250
Logical/Libraries/DataObj/SG4/DataObj.h
Normal file
@@ -0,0 +1,250 @@
|
||||
/* 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 _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#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_MODULDELETE_SYSROM 20615U
|
||||
#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
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned char doTEMP;
|
||||
_GLOBAL_CONST unsigned char doFIXRAM;
|
||||
_GLOBAL_CONST unsigned char doMEMCARD;
|
||||
_GLOBAL_CONST unsigned char doUSRRAM;
|
||||
_GLOBAL_CONST unsigned char doUSRROM;
|
||||
_GLOBAL_CONST unsigned char doNO_CS;
|
||||
_GLOBAL_CONST unsigned char doSYSROM;
|
||||
_GLOBAL_CONST unsigned short doERR_MODULDELETE_SYSROM;
|
||||
_GLOBAL_CONST unsigned short doERR_BURNINGOBJECT;
|
||||
_GLOBAL_CONST unsigned short doERR_ILLSTATE;
|
||||
_GLOBAL_CONST unsigned short doERR_NOMEMORY;
|
||||
_GLOBAL_CONST unsigned short doERR_BRINSTALL;
|
||||
_GLOBAL_CONST unsigned short doERR_DUPOBJECT;
|
||||
_GLOBAL_CONST unsigned short doERR_ILLOBJECT;
|
||||
_GLOBAL_CONST unsigned short doERR_WRONGTIME;
|
||||
_GLOBAL_CONST unsigned short doERR_ILLMEMTYPE;
|
||||
_GLOBAL_CONST unsigned short doERR_ILLOBJTYPE;
|
||||
_GLOBAL_CONST unsigned short doERR_WRONGOFFSET;
|
||||
_GLOBAL_CONST unsigned short doERR_ILLPARAMETER;
|
||||
_GLOBAL_CONST unsigned short doERR_STARTHANDLER;
|
||||
_GLOBAL_CONST unsigned short doERR_ILLEGALLENGTH;
|
||||
_GLOBAL_CONST unsigned short doERR_MODULNOTFOUND;
|
||||
_GLOBAL_CONST unsigned short doERR_CHECKSUM_WARNING;
|
||||
_GLOBAL_CONST unsigned short doERR_TOOLONG_MODULNAME;
|
||||
#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 */
|
||||
_BUR_PUBLIC void DatObjCreate(struct DatObjCreate* inst);
|
||||
_BUR_PUBLIC void DatObjWrite(struct DatObjWrite* inst);
|
||||
_BUR_PUBLIC void DatObjRead(struct DatObjRead* inst);
|
||||
_BUR_PUBLIC void DatObjDelete(struct DatObjDelete* inst);
|
||||
_BUR_PUBLIC void DatObjMove(struct DatObjMove* inst);
|
||||
_BUR_PUBLIC void DatObjCopy(struct DatObjCopy* inst);
|
||||
_BUR_PUBLIC void DatObjInfo(struct DatObjInfo* inst);
|
||||
_BUR_PUBLIC void DatObjChangeDate(struct DatObjChangeDate* inst);
|
||||
_BUR_PUBLIC void DatObjAttach(struct DatObjAttach* inst);
|
||||
_BUR_PUBLIC void DatObjDetach(struct DatObjDetach* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _DATAOBJ_ */
|
||||
|
||||
225
Logical/Libraries/DataObj/SGC/DataObj.h
Normal file
225
Logical/Libraries/DataObj/SGC/DataObj.h
Normal 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_ */
|
||||
|
||||
|
||||
12
Logical/Libraries/FileIO/Binary.lby
Normal file
12
Logical/Libraries/FileIO/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="The FileIO library provides function blocks for file handling." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>FileIO.fun</File>
|
||||
<File>FileIO.typ</File>
|
||||
<File>FileIO.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
561
Logical/Libraries/FileIO/FileIO.fun
Normal file
561
Logical/Libraries/FileIO/FileIO.fun
Normal file
@@ -0,0 +1,561 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileCreate (*creates a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pFile : UDINT; (*pointer to the file name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileOpen (*opens a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pFile : UDINT; (*pointer to the file name*)
|
||||
mode : USINT; (*access mode (FILE_R, FILE_W, FILE_RW)*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
filelen : UDINT; (*file length*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileClose (*closes an open file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileRead (*reads from an open file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
offset : UDINT; (*offset*)
|
||||
pDest : UDINT; (*pointer to the read buffer*)
|
||||
len : UDINT; (*length of bytes to read*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileReadEx (*reads from an open file and returns the number of actually read bytes; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
offset : UDINT; (*offset*)
|
||||
pDest : UDINT; (*pointer to the read buffer*)
|
||||
len : UDINT; (*number of bytes to read*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
bytesread : UDINT; (*number of bytes read*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileWrite (*writes to a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
offset : UDINT; (*offset*)
|
||||
pSrc : UDINT; (*pointer to the write buffer*)
|
||||
len : UDINT; (*number of bytes to write*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileWriteEx (*writes to a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the created file*)
|
||||
offset : UDINT; (*offset*)
|
||||
pSrc : UDINT; (*pointer to the write buffer*)
|
||||
len : UDINT; (*number of bytes to write*)
|
||||
option : UDINT; (*options*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileRename (*renames files; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the file name*)
|
||||
pNewName : UDINT; (*pointer to the new file name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileCopy (*copies a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pSrcDev : UDINT; (*pointer to the source file device name*)
|
||||
pSrc : UDINT; (*pointer to the existing file name*)
|
||||
pDestDev : UDINT; (*pointer to the destination file device name*)
|
||||
pDest : UDINT; (*pointer to the copy file name*)
|
||||
option : USINT; (*copy option*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileDelete (*deletes a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the file name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileInfo (*gets information about a file; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*file name given as pointer*)
|
||||
pInfo : UDINT; (*file information (fiFILE_INFO) structure given as pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK FileTruncate (*truncates a file's length; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*file name given as pointer*)
|
||||
newLength : UDINT; (*new length*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirCreate (*creates a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the directory name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirOpen (*opens a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the directory name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*identifier of the directory*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirClose (*closes a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the directory*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirRead (*reads the individual file names in a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pPath : UDINT; (*pointer to the path string*)
|
||||
entry : UDINT; (*specifies which entry should be read*)
|
||||
option : USINT; (*specifies whether directory names or filenames should be read*)
|
||||
pData : UDINT; (*pointer to the memory area where the information is copied*)
|
||||
data_len : UDINT; (*length of the provided data area*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirReadEx (*reads the individual file or directory names in a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*identifier of the directory*)
|
||||
pData : UDINT; (*pointer to the memory area where the information is copied*)
|
||||
data_len : UDINT; (*length of the available data area*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirInfo (*gets information about a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pPath : UDINT; (*pointer to the path (directory name)*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
dirnum : UDINT; (*number of subdirectories in this directory*)
|
||||
filenum : UDINT; (*number of files in this directory*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirRename (*renames directories; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the directory name*)
|
||||
pNewName : UDINT; (*pointer to the new directory name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirCopy (*copies a directory*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pSrcDev : UDINT; (*pointer to the source file device name*)
|
||||
pSrcDir : UDINT; (*pointer to the source directory name*)
|
||||
pDestDev : UDINT; (*pointer to the destination file device name*)
|
||||
pDestDir : UDINT; (*pointer to the destination directory name*)
|
||||
option : USINT; (*copy option*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirDelete (*deletes a directory; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the directory name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DirDeleteEx (*deletes a directory (all files and subdirectories); asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pName : UDINT; (*pointer to the directory name*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK SetAttributes (*sets attributes; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pPath : UDINT; (*pointer to the path name (file or directory)*)
|
||||
attributes : USINT; (*attributes*)
|
||||
option : USINT; (*set options*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK GetAttributes (*reads attributes; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pPath : UDINT; (*pointer to the path name (file or directory)*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
attributes : USINT; (*attributes*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DevMemInfo (*determines a file device's memory information; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
freemem : UDINT; (*available disk space*)
|
||||
memsize : UDINT; (*total disk space*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DevLink (*creates the file device; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*new device name given as a pointer*)
|
||||
pParam : UDINT; (*pointer to the link parameter*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
handle : UDINT; (*file device handle*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK DevUnlink (*unlinks the device; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
handle : UDINT; (*file device handle*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK GetVolumeLabel (*reads volume label; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
pLabel : UDINT; (*buffer for volume label given as pointer*)
|
||||
labelMax : UDINT; (*size of buffer for volume label*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
labelLen : UDINT; (*length of volume label*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK GetVolumeSerialNo (*reads volume serial nummer; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pDevice : UDINT; (*device name given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
serialNo : UDINT; (*volume serialNo*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
FUNCTION FileIoGetSysError : UINT (*reads system errors*)
|
||||
END_FUNCTION
|
||||
24
Logical/Libraries/FileIO/FileIO.typ
Normal file
24
Logical/Libraries/FileIO/FileIO.typ
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
TYPE
|
||||
fiDIR_READ_DATA : STRUCT (*directory read structure*)
|
||||
Filename : ARRAY[0..259] OF USINT; (*file name*)
|
||||
Date : DATE_AND_TIME; (*date and time*)
|
||||
Filelength : UDINT; (*file length*)
|
||||
END_STRUCT;
|
||||
|
||||
fiDIR_READ_EX_DATA : STRUCT (*directory read extended structure*)
|
||||
Filename : ARRAY[0..259] OF USINT; (*file name*)
|
||||
Date : DATE_AND_TIME; (*date and time*)
|
||||
Filelength : UDINT; (*file length*)
|
||||
Mode : UINT; (*mode*)
|
||||
END_STRUCT;
|
||||
|
||||
fiFILE_INFO : STRUCT (*file information structure*)
|
||||
size : UDINT; (*size of file [bytes]*)
|
||||
linkCnt : UDINT; (*link count*)
|
||||
accTime : DATE_AND_TIME; (*time of last access*)
|
||||
modTime : DATE_AND_TIME; (*time of last data modification*)
|
||||
chgTime : DATE_AND_TIME; (*time of last file status change*)
|
||||
reserved : ARRAY[0..20] OF UDINT; (*reserved for future use*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
84
Logical/Libraries/FileIO/FileIO.var
Normal file
84
Logical/Libraries/FileIO/FileIO.var
Normal file
@@ -0,0 +1,84 @@
|
||||
|
||||
VAR CONSTANT
|
||||
fiATTR_ARCHIVE : USINT := 32; (*attribute archive*)
|
||||
fiATTR_DIRECTORY : USINT := 16; (*attribute directory*)
|
||||
fiATTR_HIDDEN : USINT := 2; (*attribute hidden*)
|
||||
fiATTR_RDONLY : USINT := 1; (*attribute read only*)
|
||||
fiATTR_SYSTEM : USINT := 4; (*attribute system*)
|
||||
fiATTR_VOL_LABEL : USINT := 8; (*attribute volume label*)
|
||||
|
||||
fiRECURSIVE : USINT := 1; (*option recursive*)
|
||||
fiOVERWRITE : USINT := 2; (*option overwrite*)
|
||||
|
||||
fiREAD_ONLY : USINT := 0; (*access mode read only*)
|
||||
fiWRITE_ONLY : USINT := 1; (*access mode write only*)
|
||||
fiREAD_WRITE : USINT := 2; (*access mode read and write*)
|
||||
|
||||
fiFILE : USINT := 0; (*directory read files only*)
|
||||
fiDIRECTORY : USINT := 1; (*directory read directories only*)
|
||||
fiBOTH : USINT := 2; (*directory read files and directories*)
|
||||
|
||||
fiTruncate : UDINT := 1; (*truncate file*)
|
||||
|
||||
fiERR_INVALID_PATH : UINT := 20700; (*error invalid path*)
|
||||
fiERR_DATA_SIZE : UINT := 20701; (*error data size*)
|
||||
fiERR_NO_MORE_ENTRIES : UINT := 20702; (*error no more entries*)
|
||||
fiERR_NOT_SUPPORTED : UINT := 20703; (*error not supported*)
|
||||
fiERR_INVALID_TYP : UINT := 20704; (*error invalid type*)
|
||||
fiERR_EXIST : UINT := 20705; (*error exist*)
|
||||
fiERR_ACCESS : UINT := 20706; (*error access*)
|
||||
fiERR_MODE : UINT := 20707; (*error mode*)
|
||||
fiERR_FILE_NOT_FOUND : UINT := 20708; (*error file not found*)
|
||||
fiERR_FILE_DEVICE : UINT := 20709; (*error file device*)
|
||||
fiERR_SPACE : UINT := 20710; (*error space*)
|
||||
fiERR_SEEK : UINT := 20711; (*error seek*)
|
||||
fiERR_FILE : UINT := 20712; (*error file*)
|
||||
fiERR_LESS_VIRTUAL_MEMORY : UINT := 20713; (*error less virtual memory*)
|
||||
fiERR_COM_FILE_OPEN : UINT := 20714; (*error file open*)
|
||||
fiERR_COM_FILE_CLOSE : UINT := 20715; (*error file close*)
|
||||
fiERR_COM_FILE_READ : UINT := 20716; (*error file read*)
|
||||
fiERR_COM_FILE_WRITE : UINT := 20717; (*error file write*)
|
||||
fiERR_COM_FILE_IOCTL : UINT := 20718; (*error fiel ioctl*)
|
||||
fiERR_DATA : UINT := 20719; (*error data*)
|
||||
fiERR_ASYNC_MANAGER : UINT := 20720; (*error asynchron manager*)
|
||||
fiERR_FILE_NOT_OPENED : UINT := 20721; (*error file not opened*)
|
||||
fiERR_INVALID_DIRECTORY : UINT := 20722; (*error invalid directory*)
|
||||
fiERR_DIR_NOT_EXIST : UINT := 20723; (*error directory not exists*)
|
||||
fiERR_DIR_NOT_EMPTY : UINT := 20724; (*error directory not empty*)
|
||||
fiERR_DIR_ALREADY_EXIST : UINT := 20725; (*error directory already exists*)
|
||||
fiERR_DETMEMINFO : UINT := 20726; (*error dedect memory info*)
|
||||
fiERR_NOT_ENOUGH_FREEMEM : UINT := 20727; (*error not enough free memory*)
|
||||
fiERR_DIR_INVALID_HANDLE : UINT := 20728; (*error invalid directory handle*)
|
||||
fiERR_PARAMETER : UINT := 20729; (*error parameter*)
|
||||
fiERR_DEVICE_ALREADY_EXIST : UINT := 20730; (*error device already exists*)
|
||||
fiERR_DEVICE_INVALID_HANDLE : UINT := 20731; (*error invalid device handle*)
|
||||
fiERR_NETIO_IP_UNEQUAL : UINT := 20732; (*ungleiche IP bei identischem Hostnamen - IP-overwrite nicht gesetzt*)
|
||||
fiERR_NETIO_PORT : UINT := 20733; (*error port not supported*)
|
||||
fiERR_NETIO_USER : UINT := 20734; (*error user or password*)
|
||||
fiERR_INVALID_NBYTES : UINT := 20735; (*error invalid number of bytes*)
|
||||
|
||||
fiERR_INIT : UINT := 20796; (*error init*)
|
||||
fiERR_DEVICE_DRIVER : UINT := 20797; (*error device driver*)
|
||||
fiERR_DEVICE_MANAGER : UINT := 20798; (*error device manager*)
|
||||
fiERR_SYSTEM : UINT := 20799; (*error system*)
|
||||
|
||||
|
||||
ATTR_ARCHIVE : USINT := 32; (*obsolete*)
|
||||
ATTR_DIRECTORY : USINT := 16; (*obsolete*)
|
||||
ATTR_HIDDEN : USINT := 2; (*obsolete*)
|
||||
ATTR_RDONLY : USINT := 1; (*obsolete*)
|
||||
ATTR_SYSTEM : USINT := 4; (*obsolete*)
|
||||
ATTR_VOL_LABEL : USINT := 8; (*obsolete*)
|
||||
DIR_OW : USINT := 1; (*obsolete*)
|
||||
FILE_ALL : USINT := 2; (*obsolete*)
|
||||
FILE_DIR : USINT := 1; (*obsolete*)
|
||||
FILE_FILE : USINT := 0; (*obsolete*)
|
||||
FILE_ONCE : USINT := 0; (*obsolete*)
|
||||
FILE_DETMEM : USINT := 1; (*obsolete*)
|
||||
FILE_OW_DETMEM : USINT := 2; (*obsolete*)
|
||||
FILE_OW_ONCE : USINT := 3; (*obsolete*)
|
||||
FILE_R : USINT := 0; (*obsolete*)
|
||||
FILE_W : USINT := 1; (*obsolete*)
|
||||
FILE_RW : USINT := 2; (*obsolete*)
|
||||
SET_RECURSIVE : USINT := 1; (*obsolete*)
|
||||
END_VAR
|
||||
708
Logical/Libraries/FileIO/SG4/FileIO.h
Normal file
708
Logical/Libraries/FileIO/SG4/FileIO.h
Normal file
@@ -0,0 +1,708 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _FILEIO_
|
||||
#define _FILEIO_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define SET_RECURSIVE 1U
|
||||
#define FILE_RW 2U
|
||||
#define FILE_W 1U
|
||||
#define FILE_R 0U
|
||||
#define FILE_OW_ONCE 3U
|
||||
#define FILE_OW_DETMEM 2U
|
||||
#define FILE_DETMEM 1U
|
||||
#define FILE_ONCE 0U
|
||||
#define FILE_FILE 0U
|
||||
#define FILE_DIR 1U
|
||||
#define FILE_ALL 2U
|
||||
#define DIR_OW 1U
|
||||
#define ATTR_VOL_LABEL 8U
|
||||
#define ATTR_SYSTEM 4U
|
||||
#define ATTR_RDONLY 1U
|
||||
#define ATTR_HIDDEN 2U
|
||||
#define ATTR_DIRECTORY 16U
|
||||
#define ATTR_ARCHIVE 32U
|
||||
#define fiERR_SYSTEM 20799U
|
||||
#define fiERR_DEVICE_MANAGER 20798U
|
||||
#define fiERR_DEVICE_DRIVER 20797U
|
||||
#define fiERR_INIT 20796U
|
||||
#define fiERR_INVALID_NBYTES 20735U
|
||||
#define fiERR_NETIO_USER 20734U
|
||||
#define fiERR_NETIO_PORT 20733U
|
||||
#define fiERR_NETIO_IP_UNEQUAL 20732U
|
||||
#define fiERR_DEVICE_INVALID_HANDLE 20731U
|
||||
#define fiERR_DEVICE_ALREADY_EXIST 20730U
|
||||
#define fiERR_PARAMETER 20729U
|
||||
#define fiERR_DIR_INVALID_HANDLE 20728U
|
||||
#define fiERR_NOT_ENOUGH_FREEMEM 20727U
|
||||
#define fiERR_DETMEMINFO 20726U
|
||||
#define fiERR_DIR_ALREADY_EXIST 20725U
|
||||
#define fiERR_DIR_NOT_EMPTY 20724U
|
||||
#define fiERR_DIR_NOT_EXIST 20723U
|
||||
#define fiERR_INVALID_DIRECTORY 20722U
|
||||
#define fiERR_FILE_NOT_OPENED 20721U
|
||||
#define fiERR_ASYNC_MANAGER 20720U
|
||||
#define fiERR_DATA 20719U
|
||||
#define fiERR_COM_FILE_IOCTL 20718U
|
||||
#define fiERR_COM_FILE_WRITE 20717U
|
||||
#define fiERR_COM_FILE_READ 20716U
|
||||
#define fiERR_COM_FILE_CLOSE 20715U
|
||||
#define fiERR_COM_FILE_OPEN 20714U
|
||||
#define fiERR_LESS_VIRTUAL_MEMORY 20713U
|
||||
#define fiERR_FILE 20712U
|
||||
#define fiERR_SEEK 20711U
|
||||
#define fiERR_SPACE 20710U
|
||||
#define fiERR_FILE_DEVICE 20709U
|
||||
#define fiERR_FILE_NOT_FOUND 20708U
|
||||
#define fiERR_MODE 20707U
|
||||
#define fiERR_ACCESS 20706U
|
||||
#define fiERR_EXIST 20705U
|
||||
#define fiERR_INVALID_TYP 20704U
|
||||
#define fiERR_NOT_SUPPORTED 20703U
|
||||
#define fiERR_NO_MORE_ENTRIES 20702U
|
||||
#define fiERR_DATA_SIZE 20701U
|
||||
#define fiERR_INVALID_PATH 20700U
|
||||
#define fiTruncate 1U
|
||||
#define fiBOTH 2U
|
||||
#define fiDIRECTORY 1U
|
||||
#define fiFILE 0U
|
||||
#define fiREAD_WRITE 2U
|
||||
#define fiWRITE_ONLY 1U
|
||||
#define fiREAD_ONLY 0U
|
||||
#define fiOVERWRITE 2U
|
||||
#define fiRECURSIVE 1U
|
||||
#define fiATTR_VOL_LABEL 8U
|
||||
#define fiATTR_SYSTEM 4U
|
||||
#define fiATTR_RDONLY 1U
|
||||
#define fiATTR_HIDDEN 2U
|
||||
#define fiATTR_DIRECTORY 16U
|
||||
#define fiATTR_ARCHIVE 32U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned char SET_RECURSIVE;
|
||||
_GLOBAL_CONST unsigned char FILE_RW;
|
||||
_GLOBAL_CONST unsigned char FILE_W;
|
||||
_GLOBAL_CONST unsigned char FILE_R;
|
||||
_GLOBAL_CONST unsigned char FILE_OW_ONCE;
|
||||
_GLOBAL_CONST unsigned char FILE_OW_DETMEM;
|
||||
_GLOBAL_CONST unsigned char FILE_DETMEM;
|
||||
_GLOBAL_CONST unsigned char FILE_ONCE;
|
||||
_GLOBAL_CONST unsigned char FILE_FILE;
|
||||
_GLOBAL_CONST unsigned char FILE_DIR;
|
||||
_GLOBAL_CONST unsigned char FILE_ALL;
|
||||
_GLOBAL_CONST unsigned char DIR_OW;
|
||||
_GLOBAL_CONST unsigned char ATTR_VOL_LABEL;
|
||||
_GLOBAL_CONST unsigned char ATTR_SYSTEM;
|
||||
_GLOBAL_CONST unsigned char ATTR_RDONLY;
|
||||
_GLOBAL_CONST unsigned char ATTR_HIDDEN;
|
||||
_GLOBAL_CONST unsigned char ATTR_DIRECTORY;
|
||||
_GLOBAL_CONST unsigned char ATTR_ARCHIVE;
|
||||
_GLOBAL_CONST unsigned short fiERR_SYSTEM;
|
||||
_GLOBAL_CONST unsigned short fiERR_DEVICE_MANAGER;
|
||||
_GLOBAL_CONST unsigned short fiERR_DEVICE_DRIVER;
|
||||
_GLOBAL_CONST unsigned short fiERR_INIT;
|
||||
_GLOBAL_CONST unsigned short fiERR_INVALID_NBYTES;
|
||||
_GLOBAL_CONST unsigned short fiERR_NETIO_USER;
|
||||
_GLOBAL_CONST unsigned short fiERR_NETIO_PORT;
|
||||
_GLOBAL_CONST unsigned short fiERR_NETIO_IP_UNEQUAL;
|
||||
_GLOBAL_CONST unsigned short fiERR_DEVICE_INVALID_HANDLE;
|
||||
_GLOBAL_CONST unsigned short fiERR_DEVICE_ALREADY_EXIST;
|
||||
_GLOBAL_CONST unsigned short fiERR_PARAMETER;
|
||||
_GLOBAL_CONST unsigned short fiERR_DIR_INVALID_HANDLE;
|
||||
_GLOBAL_CONST unsigned short fiERR_NOT_ENOUGH_FREEMEM;
|
||||
_GLOBAL_CONST unsigned short fiERR_DETMEMINFO;
|
||||
_GLOBAL_CONST unsigned short fiERR_DIR_ALREADY_EXIST;
|
||||
_GLOBAL_CONST unsigned short fiERR_DIR_NOT_EMPTY;
|
||||
_GLOBAL_CONST unsigned short fiERR_DIR_NOT_EXIST;
|
||||
_GLOBAL_CONST unsigned short fiERR_INVALID_DIRECTORY;
|
||||
_GLOBAL_CONST unsigned short fiERR_FILE_NOT_OPENED;
|
||||
_GLOBAL_CONST unsigned short fiERR_ASYNC_MANAGER;
|
||||
_GLOBAL_CONST unsigned short fiERR_DATA;
|
||||
_GLOBAL_CONST unsigned short fiERR_COM_FILE_IOCTL;
|
||||
_GLOBAL_CONST unsigned short fiERR_COM_FILE_WRITE;
|
||||
_GLOBAL_CONST unsigned short fiERR_COM_FILE_READ;
|
||||
_GLOBAL_CONST unsigned short fiERR_COM_FILE_CLOSE;
|
||||
_GLOBAL_CONST unsigned short fiERR_COM_FILE_OPEN;
|
||||
_GLOBAL_CONST unsigned short fiERR_LESS_VIRTUAL_MEMORY;
|
||||
_GLOBAL_CONST unsigned short fiERR_FILE;
|
||||
_GLOBAL_CONST unsigned short fiERR_SEEK;
|
||||
_GLOBAL_CONST unsigned short fiERR_SPACE;
|
||||
_GLOBAL_CONST unsigned short fiERR_FILE_DEVICE;
|
||||
_GLOBAL_CONST unsigned short fiERR_FILE_NOT_FOUND;
|
||||
_GLOBAL_CONST unsigned short fiERR_MODE;
|
||||
_GLOBAL_CONST unsigned short fiERR_ACCESS;
|
||||
_GLOBAL_CONST unsigned short fiERR_EXIST;
|
||||
_GLOBAL_CONST unsigned short fiERR_INVALID_TYP;
|
||||
_GLOBAL_CONST unsigned short fiERR_NOT_SUPPORTED;
|
||||
_GLOBAL_CONST unsigned short fiERR_NO_MORE_ENTRIES;
|
||||
_GLOBAL_CONST unsigned short fiERR_DATA_SIZE;
|
||||
_GLOBAL_CONST unsigned short fiERR_INVALID_PATH;
|
||||
_GLOBAL_CONST unsigned long fiTruncate;
|
||||
_GLOBAL_CONST unsigned char fiBOTH;
|
||||
_GLOBAL_CONST unsigned char fiDIRECTORY;
|
||||
_GLOBAL_CONST unsigned char fiFILE;
|
||||
_GLOBAL_CONST unsigned char fiREAD_WRITE;
|
||||
_GLOBAL_CONST unsigned char fiWRITE_ONLY;
|
||||
_GLOBAL_CONST unsigned char fiREAD_ONLY;
|
||||
_GLOBAL_CONST unsigned char fiOVERWRITE;
|
||||
_GLOBAL_CONST unsigned char fiRECURSIVE;
|
||||
_GLOBAL_CONST unsigned char fiATTR_VOL_LABEL;
|
||||
_GLOBAL_CONST unsigned char fiATTR_SYSTEM;
|
||||
_GLOBAL_CONST unsigned char fiATTR_RDONLY;
|
||||
_GLOBAL_CONST unsigned char fiATTR_HIDDEN;
|
||||
_GLOBAL_CONST unsigned char fiATTR_DIRECTORY;
|
||||
_GLOBAL_CONST unsigned char fiATTR_ARCHIVE;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct fiDIR_READ_DATA
|
||||
{ unsigned char Filename[260];
|
||||
plcdt Date;
|
||||
unsigned long Filelength;
|
||||
} fiDIR_READ_DATA;
|
||||
|
||||
typedef struct fiDIR_READ_EX_DATA
|
||||
{ unsigned char Filename[260];
|
||||
plcdt Date;
|
||||
unsigned long Filelength;
|
||||
unsigned short Mode;
|
||||
} fiDIR_READ_EX_DATA;
|
||||
|
||||
typedef struct fiFILE_INFO
|
||||
{ unsigned long size;
|
||||
unsigned long linkCnt;
|
||||
plcdt accTime;
|
||||
plcdt modTime;
|
||||
plcdt chgTime;
|
||||
unsigned long reserved[21];
|
||||
} fiFILE_INFO;
|
||||
|
||||
typedef struct FileCreate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pFile;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} FileCreate_typ;
|
||||
|
||||
typedef struct FileOpen
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pFile;
|
||||
unsigned char mode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
unsigned long filelen;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} FileOpen_typ;
|
||||
|
||||
typedef struct FileClose
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* 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;
|
||||
} FileClose_typ;
|
||||
|
||||
typedef struct FileRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long offset;
|
||||
unsigned long pDest;
|
||||
unsigned long len;
|
||||
/* 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;
|
||||
} FileRead_typ;
|
||||
|
||||
typedef struct FileReadEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long offset;
|
||||
unsigned long pDest;
|
||||
unsigned long len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long bytesread;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} FileReadEx_typ;
|
||||
|
||||
typedef struct FileWrite
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long offset;
|
||||
unsigned long pSrc;
|
||||
unsigned long len;
|
||||
/* 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;
|
||||
} FileWrite_typ;
|
||||
|
||||
typedef struct FileWriteEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long offset;
|
||||
unsigned long pSrc;
|
||||
unsigned long len;
|
||||
unsigned long 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;
|
||||
} FileWriteEx_typ;
|
||||
|
||||
typedef struct FileRename
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
unsigned long pNewName;
|
||||
/* 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;
|
||||
} FileRename_typ;
|
||||
|
||||
typedef struct FileCopy
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pSrcDev;
|
||||
unsigned long pSrc;
|
||||
unsigned long pDestDev;
|
||||
unsigned long pDest;
|
||||
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;
|
||||
} FileCopy_typ;
|
||||
|
||||
typedef struct FileDelete
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
/* 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;
|
||||
} FileDelete_typ;
|
||||
|
||||
typedef struct FileInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
unsigned long pInfo;
|
||||
/* 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;
|
||||
} FileInfo_typ;
|
||||
|
||||
typedef struct FileTruncate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
unsigned long newLength;
|
||||
/* 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;
|
||||
} FileTruncate_typ;
|
||||
|
||||
typedef struct DirCreate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
/* 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;
|
||||
} DirCreate_typ;
|
||||
|
||||
typedef struct DirOpen
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} DirOpen_typ;
|
||||
|
||||
typedef struct DirClose
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* 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;
|
||||
} DirClose_typ;
|
||||
|
||||
typedef struct DirRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pPath;
|
||||
unsigned long entry;
|
||||
unsigned char option;
|
||||
unsigned long pData;
|
||||
unsigned long data_len;
|
||||
/* 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;
|
||||
} DirRead_typ;
|
||||
|
||||
typedef struct DirReadEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long pData;
|
||||
unsigned long data_len;
|
||||
/* 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;
|
||||
} DirReadEx_typ;
|
||||
|
||||
typedef struct DirInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pPath;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long dirnum;
|
||||
unsigned long filenum;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} DirInfo_typ;
|
||||
|
||||
typedef struct DirRename
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
unsigned long pNewName;
|
||||
/* 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;
|
||||
} DirRename_typ;
|
||||
|
||||
typedef struct DirCopy
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pSrcDev;
|
||||
unsigned long pSrcDir;
|
||||
unsigned long pDestDev;
|
||||
unsigned long pDestDir;
|
||||
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;
|
||||
} DirCopy_typ;
|
||||
|
||||
typedef struct DirDelete
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
/* 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;
|
||||
} DirDelete_typ;
|
||||
|
||||
typedef struct DirDeleteEx
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pName;
|
||||
/* 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;
|
||||
} DirDeleteEx_typ;
|
||||
|
||||
typedef struct SetAttributes
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pPath;
|
||||
unsigned char attributes;
|
||||
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;
|
||||
} SetAttributes_typ;
|
||||
|
||||
typedef struct GetAttributes
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pPath;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned char attributes;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} GetAttributes_typ;
|
||||
|
||||
typedef struct DevMemInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long freemem;
|
||||
unsigned long memsize;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} DevMemInfo_typ;
|
||||
|
||||
typedef struct DevLink
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pParam;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long handle;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} DevLink_typ;
|
||||
|
||||
typedef struct DevUnlink
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long handle;
|
||||
/* 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;
|
||||
} DevUnlink_typ;
|
||||
|
||||
typedef struct GetVolumeLabel
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pLabel;
|
||||
unsigned long labelMax;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long labelLen;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} GetVolumeLabel_typ;
|
||||
|
||||
typedef struct GetVolumeSerialNo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long serialNo;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} GetVolumeSerialNo_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void FileCreate(struct FileCreate* inst);
|
||||
_BUR_PUBLIC void FileOpen(struct FileOpen* inst);
|
||||
_BUR_PUBLIC void FileClose(struct FileClose* inst);
|
||||
_BUR_PUBLIC void FileRead(struct FileRead* inst);
|
||||
_BUR_PUBLIC void FileReadEx(struct FileReadEx* inst);
|
||||
_BUR_PUBLIC void FileWrite(struct FileWrite* inst);
|
||||
_BUR_PUBLIC void FileWriteEx(struct FileWriteEx* inst);
|
||||
_BUR_PUBLIC void FileRename(struct FileRename* inst);
|
||||
_BUR_PUBLIC void FileCopy(struct FileCopy* inst);
|
||||
_BUR_PUBLIC void FileDelete(struct FileDelete* inst);
|
||||
_BUR_PUBLIC void FileInfo(struct FileInfo* inst);
|
||||
_BUR_PUBLIC void FileTruncate(struct FileTruncate* inst);
|
||||
_BUR_PUBLIC void DirCreate(struct DirCreate* inst);
|
||||
_BUR_PUBLIC void DirOpen(struct DirOpen* inst);
|
||||
_BUR_PUBLIC void DirClose(struct DirClose* inst);
|
||||
_BUR_PUBLIC void DirRead(struct DirRead* inst);
|
||||
_BUR_PUBLIC void DirReadEx(struct DirReadEx* inst);
|
||||
_BUR_PUBLIC void DirInfo(struct DirInfo* inst);
|
||||
_BUR_PUBLIC void DirRename(struct DirRename* inst);
|
||||
_BUR_PUBLIC void DirCopy(struct DirCopy* inst);
|
||||
_BUR_PUBLIC void DirDelete(struct DirDelete* inst);
|
||||
_BUR_PUBLIC void DirDeleteEx(struct DirDeleteEx* inst);
|
||||
_BUR_PUBLIC void SetAttributes(struct SetAttributes* inst);
|
||||
_BUR_PUBLIC void GetAttributes(struct GetAttributes* inst);
|
||||
_BUR_PUBLIC void DevMemInfo(struct DevMemInfo* inst);
|
||||
_BUR_PUBLIC void DevLink(struct DevLink* inst);
|
||||
_BUR_PUBLIC void DevUnlink(struct DevUnlink* inst);
|
||||
_BUR_PUBLIC void GetVolumeLabel(struct GetVolumeLabel* inst);
|
||||
_BUR_PUBLIC void GetVolumeSerialNo(struct GetVolumeSerialNo* inst);
|
||||
_BUR_PUBLIC unsigned short FileIoGetSysError(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _FILEIO_ */
|
||||
|
||||
15
Logical/Libraries/Package.pkg
Normal file
15
Logical/Libraries/Package.pkg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="Library" Language="Binary" Description="This library contains function interfaces for IEC 61131-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 61131-3 conversion functions.">AsIecCon</Object>
|
||||
<Object Type="Library" Language="Binary" Description="The AsSafety library provides function blocks for the safety system.">AsSafety</Object>
|
||||
<Object Type="Library" Language="Binary" Description="The FileIO library provides function blocks for file handling.">FileIO</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>
|
||||
<Object Type="Library" Language="Binary" Description="The AsXml library supports reading and writing of XML files.">AsXml</Object>
|
||||
<Object Type="Library" Language="Binary" Description="This library contains standard function blocks and functions for IEC 61131-3.">standard</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
12
Logical/Libraries/astime/Binary.lby
Normal file
12
Logical/Libraries/astime/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="The AsTime Library supports DATE_AND_TIME and TIME data types." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>astime.fun</File>
|
||||
<File>astime.typ</File>
|
||||
<File>astime.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
130
Logical/Libraries/astime/SG3/astime.h
Normal file
130
Logical/Libraries/astime/SG3/astime.h
Normal 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_ */
|
||||
|
||||
|
||||
365
Logical/Libraries/astime/SG4/astime.h
Normal file
365
Logical/Libraries/astime/SG4/astime.h
Normal file
@@ -0,0 +1,365 @@
|
||||
/* 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 _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#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 timREDUND_INTERFACE 3U
|
||||
#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
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned short timERR_AR;
|
||||
_GLOBAL_CONST unsigned short timERR_INVALID_DTSTRUCTURE;
|
||||
_GLOBAL_CONST unsigned short timERR_INVALID_LEN;
|
||||
_GLOBAL_CONST unsigned short timERR_INVALID_PARAMETER;
|
||||
_GLOBAL_CONST unsigned char timREDUND_INTERFACE;
|
||||
_GLOBAL_CONST unsigned char timTIME_SERVER;
|
||||
_GLOBAL_CONST unsigned char timREAL_TIME_CLOCK;
|
||||
_GLOBAL_CONST unsigned char timNO_DST;
|
||||
_GLOBAL_CONST unsigned char timDAYLIGHT_SAVING_TIME;
|
||||
_GLOBAL_CONST unsigned char timNORMAL_TIME;
|
||||
_GLOBAL_CONST signed long TIME_MAX;
|
||||
_GLOBAL_CONST signed long TIME_MIN;
|
||||
_GLOBAL_CONST unsigned long DATE_AND_TIME_MAX;
|
||||
_GLOBAL_CONST unsigned char timEXSETTIME_NO_OPTION;
|
||||
_GLOBAL_CONST unsigned char timEXSETTIME_NO_LOGENTRY;
|
||||
#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 */
|
||||
_BUR_PUBLIC void DTExSetTime(struct DTExSetTime* inst);
|
||||
_BUR_PUBLIC void DTSetTime(struct DTSetTime* inst);
|
||||
_BUR_PUBLIC void DTGetTime(struct DTGetTime* inst);
|
||||
_BUR_PUBLIC void UtcDTGetTime(struct UtcDTGetTime* inst);
|
||||
_BUR_PUBLIC void UtcDTSetTime(struct UtcDTSetTime* inst);
|
||||
_BUR_PUBLIC void UtcDTExSetTime(struct UtcDTExSetTime* inst);
|
||||
_BUR_PUBLIC void DTStructureGetTime(struct DTStructureGetTime* inst);
|
||||
_BUR_PUBLIC void DTStructureSetTime(struct DTStructureSetTime* inst);
|
||||
_BUR_PUBLIC void DTStructureExSetTime(struct DTStructureExSetTime* inst);
|
||||
_BUR_PUBLIC void UtcDTStructureGetTime(struct UtcDTStructureGetTime* inst);
|
||||
_BUR_PUBLIC void UtcDTStructureSetTime(struct UtcDTStructureSetTime* inst);
|
||||
_BUR_PUBLIC void UtcDTStructureExSetTime(struct UtcDTStructureExSetTime* inst);
|
||||
_BUR_PUBLIC void UtcDT_TO_LocalDTStructure(struct UtcDT_TO_LocalDTStructure* inst);
|
||||
_BUR_PUBLIC void LocalDT_TO_UtcDTStructure(struct LocalDT_TO_UtcDTStructure* inst);
|
||||
_BUR_PUBLIC void UtcDTStructure_TO_LocalDT(struct UtcDTStructure_TO_LocalDT* inst);
|
||||
_BUR_PUBLIC void LocalDTStructure_TO_UtcDT(struct LocalDTStructure_TO_UtcDT* inst);
|
||||
_BUR_PUBLIC void TimeDeviceGetInfo(struct TimeDeviceGetInfo* inst);
|
||||
_BUR_PUBLIC void DstGetInfo(struct DstGetInfo* inst);
|
||||
_BUR_PUBLIC void DstGetInfoDT(struct DstGetInfoDT* inst);
|
||||
_BUR_PUBLIC plctime clock_ms(void);
|
||||
_BUR_PUBLIC unsigned long ascTIMEStructure(unsigned long pTIMEStructure, unsigned long pStr, unsigned long len);
|
||||
_BUR_PUBLIC unsigned long ascDTStructure(unsigned long pDTStructure, unsigned long pStr, unsigned long len);
|
||||
_BUR_PUBLIC unsigned long ascTIME(plctime TIME1, unsigned long pStr, unsigned long len);
|
||||
_BUR_PUBLIC unsigned long ascDT(plcdt DT1, unsigned long pStr, unsigned long len);
|
||||
_BUR_PUBLIC plctime TIMEStructure_TO_TIME(unsigned long pTIMEStructure);
|
||||
_BUR_PUBLIC unsigned long TIME_TO_TIMEStructure(plctime TIME1, unsigned long pTIMEStructure);
|
||||
_BUR_PUBLIC plcdt DTStructure_TO_DT(unsigned long pDTStructure);
|
||||
_BUR_PUBLIC unsigned long DT_TO_DTStructure(plcdt DT1, unsigned long pDTStructure);
|
||||
_BUR_PUBLIC unsigned long DiffT(plctime TIME2, plctime TIME1);
|
||||
_BUR_PUBLIC unsigned long DiffDT(plcdt DT2, plcdt DT1);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASTIME_ */
|
||||
|
||||
130
Logical/Libraries/astime/SGC/astime.h
Normal file
130
Logical/Libraries/astime/SGC/astime.h
Normal 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_ */
|
||||
|
||||
|
||||
333
Logical/Libraries/astime/astime.fun
Normal file
333
Logical/Libraries/astime/astime.fun
Normal file
@@ -0,0 +1,333 @@
|
||||
|
||||
{REDUND_OK} 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
|
||||
|
||||
{REDUND_OK} 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
|
||||
|
||||
{REDUND_OK} 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
|
||||
|
||||
{REDUND_OK} FUNCTION clock_ms : TIME (*provides a continuous millisecond counter in the TIME data type*)
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_OK} 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
|
||||
|
||||
{REDUND_OK} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} 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
|
||||
22
Logical/Libraries/astime/astime.typ
Normal file
22
Logical/Libraries/astime/astime.typ
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
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
|
||||
18
Logical/Libraries/astime/astime.var
Normal file
18
Logical/Libraries/astime/astime.var
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
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;
|
||||
timREDUND_INTERFACE : USINT := 3;
|
||||
timERR_INVALID_PARAMETER : UINT := 33210;
|
||||
timERR_INVALID_LEN : UINT := 33211;
|
||||
timERR_INVALID_DTSTRUCTURE : UINT := 33212;
|
||||
timERR_AR : UINT := 33213;
|
||||
END_VAR
|
||||
9
Logical/Libraries/operator/Binary.lby
Normal file
9
Logical/Libraries/operator/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="This library contains function interfaces for IEC 61131-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>
|
||||
<File>operator.typ</File>
|
||||
<File>operator.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
11
Logical/Libraries/operator/SG3/operator.h
Normal file
11
Logical/Libraries/operator/SG3/operator.h
Normal file
@@ -0,0 +1,11 @@
|
||||
/****************************************************************************/
|
||||
/* */
|
||||
/* operator.h */
|
||||
/* */
|
||||
/* Automation Studio */
|
||||
/* Copyright Bernecker&Rainer 1998-1999 */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
/* This library does not contain C code */
|
||||
|
||||
2
Logical/Libraries/operator/SG4/operator.h
Normal file
2
Logical/Libraries/operator/SG4/operator.h
Normal file
@@ -0,0 +1,2 @@
|
||||
/* This library does not contain C code */
|
||||
|
||||
11
Logical/Libraries/operator/SGC/operator.h
Normal file
11
Logical/Libraries/operator/SGC/operator.h
Normal file
@@ -0,0 +1,11 @@
|
||||
/****************************************************************************/
|
||||
/* */
|
||||
/* operator.h */
|
||||
/* */
|
||||
/* Automation Studio */
|
||||
/* Copyright Bernecker&Rainer 1998-1999 */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
/* This library does not contain C code */
|
||||
|
||||
224
Logical/Libraries/operator/operator.fun
Normal file
224
Logical/Libraries/operator/operator.fun
Normal file
@@ -0,0 +1,224 @@
|
||||
|
||||
{REDUND_OK} FUNCTION SIZEOF : UDINT (*determines the size of a variable in bytes*)
|
||||
VAR_INPUT
|
||||
in :ANY; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION ADR : UDINT (*determines the address of a data point*)
|
||||
VAR_INPUT
|
||||
in :ANY; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION ADRINST : UDINT (*determines the address of a fub instance*)
|
||||
END_FUNCTION
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} FUNCTION AND : ANY (*makes a bitwise AND relation for 2 or more variables*)
|
||||
VAR_INPUT
|
||||
INx :ANY; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION XOR : ANY (*makes a bitwise XOR relation for 2 or more variables*)
|
||||
VAR_INPUT
|
||||
INx :ANY; (*input values*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION OR : ANY (*makes a bitwise OR relation for 2 or more variables*)
|
||||
VAR_INPUT
|
||||
INx :ANY; (*input values*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION NOT : ANY (*makes a bitwise inversion of variables*)
|
||||
VAR_INPUT
|
||||
IN :ANY; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION ADD : ANY (*adds 2 or more variables*)
|
||||
VAR_INPUT
|
||||
INx :ANY; (*input values*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION MUL : ANY_NUM (*multiplies 2 or more variables*)
|
||||
VAR_INPUT
|
||||
INx :ANY_NUM; (*input values*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} FUNCTION MUX : ANY (*selects a value from several values*)
|
||||
VAR_INPUT
|
||||
K :SINT; (*selection variable*)
|
||||
INx :ANY; (*input values*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} FUNCTION ABS : ANY_NUM (*returns the absolute value of a number*)
|
||||
VAR_INPUT
|
||||
IN :ANY_NUM; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION SQRT : ANY_REAL (*returns the square root of a number*)
|
||||
VAR_INPUT
|
||||
IN :ANY_REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION LN : ANY_REAL (*returns the result of a natural logarithm*)
|
||||
VAR_INPUT
|
||||
IN :ANY_REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION LOG : ANY_REAL (*returns the result of a base 10 logarithm*)
|
||||
VAR_INPUT
|
||||
IN :ANY_REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION EXP : ANY_REAL (*returns the result of a natural exponential function*)
|
||||
VAR_INPUT
|
||||
IN :ANY_REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} FUNCTION EXPT : REAL (*raises one variable to the power of another*)
|
||||
VAR_INPUT
|
||||
IN1 :REAL; (*base*)
|
||||
IN2 :ANY_NUM; (*exponent*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} 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
|
||||
4
Logical/Libraries/operator/operator.typ
Normal file
4
Logical/Libraries/operator/operator.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
4
Logical/Libraries/operator/operator.var
Normal file
4
Logical/Libraries/operator/operator.var
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
VAR CONSTANT
|
||||
|
||||
END_VAR
|
||||
9
Logical/Libraries/runtime/Binary.lby
Normal file
9
Logical/Libraries/runtime/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="This library contains runtime functions for IEC tasks." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>runtime.fun</File>
|
||||
<File>runtime.typ</File>
|
||||
<File>runtime.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
80
Logical/Libraries/runtime/SG3/runtime.h
Normal file
80
Logical/Libraries/runtime/SG3/runtime.h
Normal 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_ */
|
||||
|
||||
489
Logical/Libraries/runtime/SG4/runtime.h
Normal file
489
Logical/Libraries/runtime/SG4/runtime.h
Normal file
@@ -0,0 +1,489 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _RUNTIME_
|
||||
#define _RUNTIME_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define IEC_DATATYPE_LINT 23U
|
||||
#define IEC_DATATYPE_WSTRING 21U
|
||||
#define IEC_DATATYPE_LWORD 20U
|
||||
#define IEC_DATATYPE_DWORD 19U
|
||||
#define IEC_DATATYPE_WORD 18U
|
||||
#define IEC_DATATYPE_BYTE 17U
|
||||
#define IEC_DATATYPE_TIME_OF_DAY 16U
|
||||
#define IEC_DATATYPE_LREAL 14U
|
||||
#define IEC_DATATYPE_DATE 13U
|
||||
#define IEC_DATATYPE_TIME 12U
|
||||
#define IEC_DATATYPE_DATE_AND_TIME 11U
|
||||
#define IEC_DATATYPE_ULINT 10U
|
||||
#define IEC_DATATYPE_STRING 9U
|
||||
#define IEC_DATATYPE_REAL 8U
|
||||
#define IEC_DATATYPE_UDINT 7U
|
||||
#define IEC_DATATYPE_UINT 6U
|
||||
#define IEC_DATATYPE_USINT 5U
|
||||
#define IEC_DATATYPE_DINT 4U
|
||||
#define IEC_DATATYPE_INT 3U
|
||||
#define IEC_DATATYPE_SINT 2U
|
||||
#define IEC_DATATYPE_BOOL 1U
|
||||
#define ERR_FB_NOT_IMPLEMENTED (-1070585592)
|
||||
#define ERR_FUB_REDUNDANT 35688U
|
||||
#define ERR_FUB_BUSY 65535U
|
||||
#define ERR_FUB_ENABLE_FALSE 65534U
|
||||
#define ERR_NOTIMPLEMENTED 9999U
|
||||
#define ERR_OK 0U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_LINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_WSTRING;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_LWORD;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_DWORD;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_WORD;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_BYTE;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_TIME_OF_DAY;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_LREAL;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_DATE;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_TIME;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_DATE_AND_TIME;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_ULINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_STRING;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_REAL;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_UDINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_UINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_USINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_DINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_INT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_SINT;
|
||||
_GLOBAL_CONST unsigned short IEC_DATATYPE_BOOL;
|
||||
_GLOBAL_CONST signed long ERR_FB_NOT_IMPLEMENTED;
|
||||
_GLOBAL_CONST unsigned short ERR_FUB_REDUNDANT;
|
||||
_GLOBAL_CONST unsigned short ERR_FUB_BUSY;
|
||||
_GLOBAL_CONST unsigned short ERR_FUB_ENABLE_FALSE;
|
||||
_GLOBAL_CONST unsigned short ERR_NOTIMPLEMENTED;
|
||||
_GLOBAL_CONST unsigned short ERR_OK;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct SFCActionControl
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
plctime T;
|
||||
/* VAR (analog) */
|
||||
unsigned char S_FF_SET;
|
||||
unsigned char S_FF_R1;
|
||||
unsigned char S_FF_Q;
|
||||
unsigned char dummy1;
|
||||
plctime L_TMR_PT;
|
||||
plctime L_TMR_ET;
|
||||
plctime L_TMR_STAR;
|
||||
unsigned char L_TMR_IN;
|
||||
unsigned char L_TMR_Q;
|
||||
unsigned char L_TMR_M;
|
||||
unsigned char dummy2;
|
||||
plctime D_TMR_PT;
|
||||
plctime D_TMR_ET;
|
||||
plctime D_TMR_STAR;
|
||||
unsigned char D_TMR_IN;
|
||||
unsigned char D_TMR_Q;
|
||||
unsigned char D_TMR_M;
|
||||
unsigned char dummy3;
|
||||
unsigned char P_TRIG_CLK;
|
||||
unsigned char P_TRIG_Q;
|
||||
unsigned char P_TRIG_M;
|
||||
unsigned char dummy4;
|
||||
plctime SD_TMR_PT;
|
||||
plctime SD_TMR_ET;
|
||||
plctime SD_TMR_STA;
|
||||
unsigned char SD_TMR_IN;
|
||||
unsigned char SD_TMR_Q;
|
||||
unsigned char SD_TMR_M;
|
||||
unsigned char dummy5;
|
||||
unsigned char SD_FF_SET;
|
||||
unsigned char SD_FF_R1;
|
||||
unsigned char SD_FF_Q;
|
||||
unsigned char DS_FF_SET;
|
||||
unsigned char DS_FF_R1;
|
||||
unsigned char DS_FF_Q;
|
||||
plctime DS_TMR_PT;
|
||||
plctime DS_TMR_ET;
|
||||
plctime DS_TMR_STA;
|
||||
unsigned char DS_TMR_IN;
|
||||
unsigned char DS_TMR_Q;
|
||||
unsigned char DS_TMR_M;
|
||||
unsigned char dummy6;
|
||||
unsigned char SL_FF_SET;
|
||||
unsigned char SL_FF_R1;
|
||||
unsigned char SL_FF_Q;
|
||||
unsigned char dummy7;
|
||||
plctime SL_TMR_PT;
|
||||
plctime SL_TMR_ET;
|
||||
plctime SL_TMR_STA;
|
||||
unsigned char SL_TMR_IN;
|
||||
unsigned char SL_TMR_Q;
|
||||
unsigned char SL_TMR_M;
|
||||
unsigned char dummy8;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit N;
|
||||
plcbit R0;
|
||||
plcbit S0;
|
||||
plcbit L;
|
||||
plcbit D;
|
||||
plcbit P;
|
||||
plcbit SD;
|
||||
plcbit DS;
|
||||
plcbit SL;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} SFCActionControl_typ;
|
||||
|
||||
typedef struct SFCActionType
|
||||
{ plcbit x;
|
||||
plcbit _x;
|
||||
plctime t;
|
||||
plctime _t;
|
||||
struct SFCActionControl AC;
|
||||
} SFCActionType;
|
||||
|
||||
typedef struct SFCAC2
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
plctime T;
|
||||
/* VAR (analog) */
|
||||
unsigned char S_FF_SET;
|
||||
unsigned char S_FF_R1;
|
||||
unsigned char S_FF_Q;
|
||||
plctime L_TMR_PT;
|
||||
plctime L_TMR_ET;
|
||||
plctime L_TMR_STAR;
|
||||
unsigned char L_TMR_IN;
|
||||
unsigned char L_TMR_Q;
|
||||
unsigned char L_TMR_M;
|
||||
plctime D_TMR_PT;
|
||||
plctime D_TMR_ET;
|
||||
plctime D_TMR_STAR;
|
||||
unsigned char D_TMR_IN;
|
||||
unsigned char D_TMR_Q;
|
||||
unsigned char D_TMR_M;
|
||||
plctime SD_TMR_PT;
|
||||
plctime SD_TMR_ET;
|
||||
plctime SD_TMR_STA;
|
||||
unsigned char SD_TMR_IN;
|
||||
unsigned char SD_TMR_Q;
|
||||
unsigned char SD_TMR_M;
|
||||
unsigned char SD_FF_SET;
|
||||
unsigned char SD_FF_R1;
|
||||
unsigned char SD_FF_Q1;
|
||||
unsigned char DS_FF_SET;
|
||||
unsigned char DS_FF_R1;
|
||||
unsigned char DS_FF_Q1;
|
||||
plctime DS_TMR_PT;
|
||||
plctime DS_TMR_ET;
|
||||
plctime DS_TMR_STA;
|
||||
unsigned char DS_TMR_IN;
|
||||
unsigned char DS_TMR_Q;
|
||||
unsigned char DS_TMR_M;
|
||||
unsigned char SL_FF_SET;
|
||||
unsigned char SL_FF_R1;
|
||||
unsigned char SL_FF_Q;
|
||||
plctime SL_TMR_PT;
|
||||
plctime SL_TMR_ET;
|
||||
plctime SL_TMR_STA;
|
||||
unsigned char SL_TMR_IN;
|
||||
unsigned char SL_TMR_Q;
|
||||
unsigned char SL_TMR_M;
|
||||
unsigned char P_TRIG_Q;
|
||||
unsigned char P_TRIG_M;
|
||||
unsigned char Q_TRIG_Q;
|
||||
unsigned char Q_TRIG_M;
|
||||
unsigned char P1_TRIG_Q;
|
||||
unsigned char P1_TRIG_M;
|
||||
unsigned char P0_TRIG_Q;
|
||||
unsigned char P0_TRIG_M;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit N;
|
||||
plcbit R0;
|
||||
plcbit S0;
|
||||
plcbit L;
|
||||
plcbit D;
|
||||
plcbit P;
|
||||
plcbit P1;
|
||||
plcbit P0;
|
||||
plcbit SD;
|
||||
plcbit DS;
|
||||
plcbit SL;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
plcbit A;
|
||||
} SFCAC2_typ;
|
||||
|
||||
typedef struct SFCActionType2
|
||||
{ plcbit x;
|
||||
plcbit _x;
|
||||
struct SFCAC2 AC;
|
||||
} SFCActionType2;
|
||||
|
||||
typedef struct SFCActionCType
|
||||
{ plcbit x;
|
||||
plcbit _x;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
struct SFCActionControl AC;
|
||||
} SFCActionCType;
|
||||
|
||||
typedef struct SFCActionCType2
|
||||
{ plcbit x;
|
||||
plcbit _x;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
struct SFCAC2 AC;
|
||||
} SFCActionCType2;
|
||||
|
||||
typedef struct TimerType
|
||||
{ double ptime;
|
||||
double etime;
|
||||
double start;
|
||||
unsigned char in;
|
||||
unsigned char q;
|
||||
} TimerType;
|
||||
|
||||
typedef struct SFCAC3
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
double T;
|
||||
double T_ACT;
|
||||
/* VAR (analog) */
|
||||
struct TimerType L_TMR;
|
||||
struct TimerType D_TMR;
|
||||
struct TimerType SD_TMR;
|
||||
struct TimerType DS_TMR;
|
||||
struct TimerType SL_TMR;
|
||||
unsigned char S_FF_Q1;
|
||||
unsigned char SD_FF_Q1;
|
||||
unsigned char DS_FF_Q1;
|
||||
unsigned char SL_FF_Q1;
|
||||
unsigned char P_R_TRIG_Q;
|
||||
unsigned char P_R_TRIG_M;
|
||||
unsigned char Q_F_TRIG_Q;
|
||||
unsigned char Q_F_TRIG_M;
|
||||
unsigned char P1_R_TRIG_Q;
|
||||
unsigned char P1_R_TRIG_M;
|
||||
unsigned char P0_F_TRIG_Q;
|
||||
unsigned char P0_F_TRIG_M;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit N;
|
||||
plcbit R0;
|
||||
plcbit S0;
|
||||
plcbit L;
|
||||
plcbit D;
|
||||
plcbit P;
|
||||
plcbit P1;
|
||||
plcbit P0;
|
||||
plcbit SD;
|
||||
plcbit DS;
|
||||
plcbit SL;
|
||||
plcbit PAUSE;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
plcbit A;
|
||||
} SFCAC3_typ;
|
||||
|
||||
typedef struct SFCActionCType3
|
||||
{ double t;
|
||||
double _t;
|
||||
double tp;
|
||||
plcbit x;
|
||||
plcbit _x;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
struct SFCAC3 AC;
|
||||
} SFCActionCType3;
|
||||
|
||||
typedef struct SFCStepType
|
||||
{ plcbit x;
|
||||
plctime t;
|
||||
plcbit _x;
|
||||
plctime _t;
|
||||
} SFCStepType;
|
||||
|
||||
typedef struct SFCStepCType
|
||||
{ plctime t;
|
||||
plctime _t;
|
||||
unsigned long inactive_actions;
|
||||
unsigned long _inactive_actions;
|
||||
unsigned long error_actions;
|
||||
plcbit x;
|
||||
plcbit _x;
|
||||
plcbit x_activate;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
plcbit tip;
|
||||
plcbit tip_disable_duration;
|
||||
plcbit tip_disable_action;
|
||||
} SFCStepCType;
|
||||
|
||||
typedef struct SFCStepCType3
|
||||
{ double t;
|
||||
double _t;
|
||||
double tp;
|
||||
unsigned long inactive_actions;
|
||||
unsigned long _inactive_actions;
|
||||
unsigned long error_actions;
|
||||
plcbit x;
|
||||
plcbit _x;
|
||||
plcbit x_activate;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
plcbit tip;
|
||||
plcbit tip_disable_duration;
|
||||
plcbit tip_disable_action;
|
||||
} SFCStepCType3;
|
||||
|
||||
typedef struct SFCSimpleStepCType
|
||||
{ plctime t;
|
||||
plctime _t;
|
||||
plcbit x;
|
||||
plcbit _x;
|
||||
plcbit x_activate;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
plcbit tip;
|
||||
plcbit tip_disable_duration;
|
||||
plcbit tip_disable_action;
|
||||
} SFCSimpleStepCType;
|
||||
|
||||
typedef struct SFCSimpleStepCType3
|
||||
{ double t;
|
||||
double _t;
|
||||
double tp;
|
||||
plcbit x;
|
||||
plcbit _x;
|
||||
plcbit x_activate;
|
||||
plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
plcbit error;
|
||||
plcbit tip;
|
||||
plcbit tip_disable_duration;
|
||||
plcbit tip_disable_action;
|
||||
} SFCSimpleStepCType3;
|
||||
|
||||
typedef struct SFCTransitionCType
|
||||
{ plcbit force;
|
||||
plcbit _force;
|
||||
plcbit active;
|
||||
plcbit _active;
|
||||
} SFCTransitionCType;
|
||||
|
||||
typedef struct ArFBStateInternalType
|
||||
{ unsigned long ExecuteRef;
|
||||
unsigned long BusyRef;
|
||||
unsigned long DoneRef;
|
||||
unsigned long ErrorRef;
|
||||
unsigned long ActiveRef;
|
||||
unsigned long StatusRef;
|
||||
unsigned long FBCyclic;
|
||||
unsigned long AsyfumaState;
|
||||
unsigned long FBResetOut;
|
||||
unsigned long Argument;
|
||||
unsigned long State;
|
||||
plcbit ExecutePrev;
|
||||
} ArFBStateInternalType;
|
||||
|
||||
typedef struct ArFBAsyFuMaInternalType
|
||||
{ unsigned short State;
|
||||
signed long Result;
|
||||
} ArFBAsyFuMaInternalType;
|
||||
|
||||
typedef struct r_trig
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} r_trig_typ;
|
||||
|
||||
typedef struct f_trig
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} f_trig_typ;
|
||||
|
||||
typedef struct rf_trig
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} rf_trig_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void r_trig(struct r_trig* inst);
|
||||
_BUR_PUBLIC void f_trig(struct f_trig* inst);
|
||||
_BUR_PUBLIC void rf_trig(struct rf_trig* inst);
|
||||
_BUR_PUBLIC void SFCActionControl(struct SFCActionControl* inst);
|
||||
_BUR_PUBLIC void SFCAC2(struct SFCAC2* inst);
|
||||
_BUR_PUBLIC void SFCAC3(struct SFCAC3* inst);
|
||||
_BUR_PUBLIC plctime GetTime(void);
|
||||
_BUR_PUBLIC double RealTan(double x);
|
||||
_BUR_PUBLIC double RealAtan(double x);
|
||||
_BUR_PUBLIC double RealAsin(double x);
|
||||
_BUR_PUBLIC double RealAcos(double x);
|
||||
_BUR_PUBLIC double RealExp(double x);
|
||||
_BUR_PUBLIC double RealLn(double x);
|
||||
_BUR_PUBLIC double RealLog(double x);
|
||||
_BUR_PUBLIC double RealExpt(double x, double y);
|
||||
_BUR_PUBLIC double RealAbs(double x);
|
||||
_BUR_PUBLIC double RealSin(double x);
|
||||
_BUR_PUBLIC double RealCos(double x);
|
||||
_BUR_PUBLIC double RealSqrt(double x);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _RUNTIME_ */
|
||||
|
||||
80
Logical/Libraries/runtime/SGC/runtime.h
Normal file
80
Logical/Libraries/runtime/SGC/runtime.h
Normal 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_ */
|
||||
|
||||
282
Logical/Libraries/runtime/runtime.fun
Normal file
282
Logical/Libraries/runtime/runtime.fun
Normal file
@@ -0,0 +1,282 @@
|
||||
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} 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
|
||||
{REDUND_OK} FUNCTION_BLOCK SFCAC2 (*for internal use only - do not use this function in user programs*)
|
||||
VAR_INPUT
|
||||
N : {REDUND_UNREPLICABLE} BOOL;
|
||||
R0 : {REDUND_UNREPLICABLE} BOOL;
|
||||
S0 : {REDUND_UNREPLICABLE} BOOL;
|
||||
L : {REDUND_UNREPLICABLE} BOOL;
|
||||
D : {REDUND_UNREPLICABLE} BOOL;
|
||||
P : {REDUND_UNREPLICABLE} BOOL;
|
||||
P1 : {REDUND_UNREPLICABLE} BOOL;
|
||||
P0 : {REDUND_UNREPLICABLE} BOOL;
|
||||
SD : {REDUND_UNREPLICABLE} BOOL;
|
||||
DS : {REDUND_UNREPLICABLE} BOOL;
|
||||
SL : {REDUND_UNREPLICABLE} 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
|
||||
{REDUND_OK} FUNCTION RealTan : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealAtan : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealAsin : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealAcos : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealExp : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealLn : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealLog : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealExpt : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
y :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealAbs : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealSin : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealCos : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION RealSqrt : LREAL
|
||||
VAR_INPUT
|
||||
x :LREAL;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} FUNCTION_BLOCK SFCAC3 (*for internal use only - do not use this function in user programs*)
|
||||
VAR_INPUT
|
||||
N : {REDUND_UNREPLICABLE} BOOL;
|
||||
R0 : {REDUND_UNREPLICABLE} BOOL;
|
||||
S0 : {REDUND_UNREPLICABLE} BOOL;
|
||||
L : {REDUND_UNREPLICABLE} BOOL;
|
||||
D : {REDUND_UNREPLICABLE} BOOL;
|
||||
P : {REDUND_UNREPLICABLE} BOOL;
|
||||
P1 : {REDUND_UNREPLICABLE} BOOL;
|
||||
P0 : {REDUND_UNREPLICABLE} BOOL;
|
||||
SD : {REDUND_UNREPLICABLE} BOOL;
|
||||
DS : {REDUND_UNREPLICABLE} BOOL;
|
||||
SL : {REDUND_UNREPLICABLE} BOOL;
|
||||
T :LREAL;
|
||||
T_ACT : {REDUND_UNREPLICABLE} LREAL;
|
||||
PAUSE : {REDUND_UNREPLICABLE} BOOL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q : {REDUND_UNREPLICABLE} BOOL;
|
||||
A :BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
L_TMR :TimerType;
|
||||
D_TMR :TimerType;
|
||||
SD_TMR :TimerType;
|
||||
DS_TMR :TimerType;
|
||||
SL_TMR :TimerType;
|
||||
S_FF_Q1 :USINT;
|
||||
SD_FF_Q1 :USINT;
|
||||
DS_FF_Q1 :USINT;
|
||||
SL_FF_Q1 :USINT;
|
||||
P_R_TRIG_Q : {REDUND_UNREPLICABLE} USINT;
|
||||
P_R_TRIG_M :USINT;
|
||||
Q_F_TRIG_Q : {REDUND_UNREPLICABLE} USINT;
|
||||
Q_F_TRIG_M :USINT;
|
||||
P1_R_TRIG_Q : {REDUND_UNREPLICABLE} USINT;
|
||||
P1_R_TRIG_M :USINT;
|
||||
P0_F_TRIG_Q : {REDUND_UNREPLICABLE} USINT;
|
||||
P0_F_TRIG_M :USINT;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
156
Logical/Libraries/runtime/runtime.typ
Normal file
156
Logical/Libraries/runtime/runtime.typ
Normal file
@@ -0,0 +1,156 @@
|
||||
|
||||
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;
|
||||
error : BOOL;
|
||||
AC : SFCActionControl;
|
||||
END_STRUCT;
|
||||
SFCActionCType2 : STRUCT (*internal use*)
|
||||
x : BOOL;
|
||||
_x : BOOL;
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
error : BOOL;
|
||||
AC : SFCAC2;
|
||||
END_STRUCT;
|
||||
SFCActionCType3 : STRUCT (*internal use*)
|
||||
t : LREAL;
|
||||
_t : LREAL;
|
||||
tp : LREAL;
|
||||
x : BOOL;
|
||||
_x : BOOL;
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
error : BOOL;
|
||||
AC : SFCAC3;
|
||||
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;
|
||||
error_actions : UDINT;
|
||||
x : BOOL;
|
||||
_x : BOOL;
|
||||
x_activate : BOOL;
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
error : BOOL;
|
||||
tip : BOOL;
|
||||
tip_disable_duration: BOOL;
|
||||
tip_disable_action : BOOL;
|
||||
END_STRUCT;
|
||||
SFCStepCType3 : STRUCT (*internal use*)
|
||||
t : LREAL;
|
||||
_t : LREAL;
|
||||
tp : LREAL;
|
||||
inactive_actions : UDINT;
|
||||
_inactive_actions : UDINT;
|
||||
error_actions : UDINT;
|
||||
x : BOOL;
|
||||
_x : BOOL;
|
||||
x_activate : {REDUND_UNREPLICABLE} BOOL;
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
error : BOOL;
|
||||
tip : BOOL;
|
||||
tip_disable_duration : BOOL;
|
||||
tip_disable_action : BOOL;
|
||||
END_STRUCT;
|
||||
SFCSimpleStepCType : STRUCT (*internal use*)
|
||||
t : TIME;
|
||||
_t : TIME;
|
||||
x : BOOL;
|
||||
_x : BOOL;
|
||||
x_activate : BOOL;
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
error : BOOL;
|
||||
tip : BOOL;
|
||||
tip_disable_duration : BOOL;
|
||||
tip_disable_action : BOOL;
|
||||
END_STRUCT;
|
||||
SFCSimpleStepCType3 : STRUCT (*internal use*)
|
||||
t : LREAL;
|
||||
_t : LREAL;
|
||||
tp : LREAL;
|
||||
x : BOOL;
|
||||
_x : BOOL;
|
||||
x_activate : {REDUND_UNREPLICABLE} BOOL;
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
error : BOOL;
|
||||
tip : BOOL;
|
||||
tip_disable_duration : BOOL;
|
||||
tip_disable_action : BOOL;
|
||||
END_STRUCT;
|
||||
SFCTransitionCType : STRUCT (*internal use*)
|
||||
force : BOOL;
|
||||
_force : BOOL;
|
||||
active : BOOL;
|
||||
_active : BOOL;
|
||||
END_STRUCT;
|
||||
TimerType : STRUCT (*internal use*)
|
||||
ptime : LREAL;
|
||||
etime : LREAL;
|
||||
start : LREAL;
|
||||
in : USINT;
|
||||
q : USINT;
|
||||
END_STRUCT;
|
||||
|
||||
ArFBStateInternalType : STRUCT (*fb state machine internal context*)
|
||||
ExecuteRef : UDINT;
|
||||
BusyRef : UDINT;
|
||||
DoneRef : UDINT;
|
||||
ErrorRef : UDINT;
|
||||
ActiveRef : UDINT;
|
||||
StatusRef : UDINT;
|
||||
FBCyclic : UDINT;
|
||||
AsyfumaState : UDINT;
|
||||
FBResetOut : UDINT;
|
||||
Argument : UDINT;
|
||||
State : UDINT;
|
||||
ExecutePrev : BOOL;
|
||||
END_STRUCT;
|
||||
|
||||
ArFBAsyFuMaInternalType : STRUCT (*asynchronous function manager internal context*)
|
||||
State : UINT;
|
||||
Result : DINT;
|
||||
END_STRUCT;
|
||||
|
||||
END_TYPE
|
||||
35
Logical/Libraries/runtime/runtime.var
Normal file
35
Logical/Libraries/runtime/runtime.var
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
(*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*)
|
||||
ERR_FUB_REDUNDANT : UINT := 35688; (*This FUB can not be used on the standby CPU*)
|
||||
ERR_FB_NOT_IMPLEMENTED: DINT := -1070585592;(*function or function block not implemented for the target system*)
|
||||
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
|
||||
9
Logical/Libraries/standard/Binary.lby
Normal file
9
Logical/Libraries/standard/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Library Description="This library contains standard function blocks and functions for IEC 61131-3." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>standard.fun</File>
|
||||
<File>standard.typ</File>
|
||||
<File>standard.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
262
Logical/Libraries/standard/SG3/standard.h
Normal file
262
Logical/Libraries/standard/SG3/standard.h
Normal file
@@ -0,0 +1,262 @@
|
||||
/* Automation Studio Generated Header File, Format Version 1.00 */
|
||||
/* do not change */
|
||||
#ifndef STANDARD_H_
|
||||
#define STANDARD_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include <bur/plc.h>
|
||||
|
||||
#define TP_10mstyp TP_10ms_typ
|
||||
#define TOF_10mstyp TOF_10ms_typ
|
||||
#define TON_10mstyp TON_10ms_typ
|
||||
#define TPtyp TP_typ
|
||||
#define TOFtyp TOF_typ
|
||||
#define TONtyp TON_typ
|
||||
#define SEMAtyp SEMA_typ
|
||||
#define RStyp RS_typ
|
||||
#define SRtyp SR_typ
|
||||
#define R_TRIGtyp R_TRIG_typ
|
||||
#define F_TRIGtyp F_TRIG_typ
|
||||
#define CTUtyp CTU_typ
|
||||
#define CTDtyp CTD_typ
|
||||
#define CTUDtyp CTUD_typ
|
||||
#define RF_TRIGtyp RF_TRIG_typ
|
||||
|
||||
/* Constants */
|
||||
|
||||
|
||||
/* Datatypes */
|
||||
|
||||
|
||||
/* Datatypes of function blocks */
|
||||
typedef struct TP_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} TP_10ms_typ;
|
||||
|
||||
typedef struct TOF_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TOF_10ms_typ;
|
||||
|
||||
typedef struct TON_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TON_10ms_typ;
|
||||
|
||||
typedef struct TP
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} TP_typ;
|
||||
|
||||
typedef struct TOF
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TOF_typ;
|
||||
|
||||
typedef struct TON
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TON_typ;
|
||||
|
||||
typedef struct SEMA
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLAIM;
|
||||
plcbit RELEASE;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit BUSY;
|
||||
/* VAR (digital) */
|
||||
plcbit X;
|
||||
} SEMA_typ;
|
||||
|
||||
typedef struct RS
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit SET;
|
||||
plcbit RESET1;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q1;
|
||||
} RS_typ;
|
||||
|
||||
typedef struct SR
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit SET1;
|
||||
plcbit RESET;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q1;
|
||||
} SR_typ;
|
||||
|
||||
typedef struct R_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} R_TRIG_typ;
|
||||
|
||||
typedef struct F_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} F_TRIG_typ;
|
||||
|
||||
typedef struct CTU
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CU;
|
||||
plcbit RESET;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} CTU_typ;
|
||||
|
||||
typedef struct CTD
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CD;
|
||||
plcbit LOAD;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} CTD_typ;
|
||||
|
||||
typedef struct CTUD
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
signed short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
signed short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CU;
|
||||
plcbit CD;
|
||||
plcbit RESET;
|
||||
plcbit LOAD;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit QU;
|
||||
plcbit QD;
|
||||
/* VAR (digital) */
|
||||
plcbit MU;
|
||||
plcbit MD;
|
||||
} CTUD_typ;
|
||||
|
||||
typedef struct RF_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} RF_TRIG_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void TP_10ms(TP_10ms_typ* inst);
|
||||
void TOF_10ms(TOF_10ms_typ* inst);
|
||||
void TON_10ms(TON_10ms_typ* inst);
|
||||
void TP(TP_typ* inst);
|
||||
void TOF(TOF_typ* inst);
|
||||
void TON(TON_typ* inst);
|
||||
void SEMA(SEMA_typ* inst);
|
||||
void RS(RS_typ* inst);
|
||||
void SR(SR_typ* inst);
|
||||
void R_TRIG(R_TRIG_typ* inst);
|
||||
void F_TRIG(F_TRIG_typ* inst);
|
||||
void CTU(CTU_typ* inst);
|
||||
void CTD(CTD_typ* inst);
|
||||
void CTUD(CTUD_typ* inst);
|
||||
void RF_TRIG(RF_TRIG_typ* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* STANDARD_H_ */
|
||||
|
||||
267
Logical/Libraries/standard/SG4/standard.h
Normal file
267
Logical/Libraries/standard/SG4/standard.h
Normal file
@@ -0,0 +1,267 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef STANDARD_H_
|
||||
#define STANDARD_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
|
||||
#define TP_10mstyp TP_10ms_typ
|
||||
#define TOF_10mstyp TOF_10ms_typ
|
||||
#define TON_10mstyp TON_10ms_typ
|
||||
#define TPtyp TP_typ
|
||||
#define TOFtyp TOF_typ
|
||||
#define TONtyp TON_typ
|
||||
#define SEMAtyp SEMA_typ
|
||||
#define RStyp RS_typ
|
||||
#define SRtyp SR_typ
|
||||
#define R_TRIGtyp R_TRIG_typ
|
||||
#define F_TRIGtyp F_TRIG_typ
|
||||
#define CTUtyp CTU_typ
|
||||
#define CTDtyp CTD_typ
|
||||
#define CTUDtyp CTUD_typ
|
||||
#define RF_TRIGtyp RF_TRIG_typ
|
||||
|
||||
/* Constants */
|
||||
|
||||
|
||||
/* Datatypes */
|
||||
|
||||
|
||||
/* Datatypes of function blocks */
|
||||
typedef struct TP_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} TP_10ms_typ;
|
||||
|
||||
typedef struct TOF_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TOF_10ms_typ;
|
||||
|
||||
typedef struct TON_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TON_10ms_typ;
|
||||
|
||||
typedef struct TP
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} TP_typ;
|
||||
|
||||
typedef struct TOF
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TOF_typ;
|
||||
|
||||
typedef struct TON
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TON_typ;
|
||||
|
||||
typedef struct SEMA
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLAIM;
|
||||
plcbit RELEASE;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit BUSY;
|
||||
/* VAR (digital) */
|
||||
plcbit X;
|
||||
} SEMA_typ;
|
||||
|
||||
typedef struct RS
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit SET;
|
||||
plcbit RESET1;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q1;
|
||||
} RS_typ;
|
||||
|
||||
typedef struct SR
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit SET1;
|
||||
plcbit RESET;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q1;
|
||||
} SR_typ;
|
||||
|
||||
typedef struct R_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} R_TRIG_typ;
|
||||
|
||||
typedef struct F_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} F_TRIG_typ;
|
||||
|
||||
typedef struct CTU
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CU;
|
||||
plcbit RESET;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} CTU_typ;
|
||||
|
||||
typedef struct CTD
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CD;
|
||||
plcbit LOAD;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} CTD_typ;
|
||||
|
||||
typedef struct CTUD
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
signed short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
signed short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CU;
|
||||
plcbit CD;
|
||||
plcbit RESET;
|
||||
plcbit LOAD;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit QU;
|
||||
plcbit QD;
|
||||
/* VAR (digital) */
|
||||
plcbit MU;
|
||||
plcbit MD;
|
||||
} CTUD_typ;
|
||||
|
||||
typedef struct RF_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} RF_TRIG_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void TP_10ms(TP_10ms_typ* inst);
|
||||
_BUR_PUBLIC void TOF_10ms(TOF_10ms_typ* inst);
|
||||
_BUR_PUBLIC void TON_10ms(TON_10ms_typ* inst);
|
||||
_BUR_PUBLIC void TP(TP_typ* inst);
|
||||
_BUR_PUBLIC void TOF(TOF_typ* inst);
|
||||
_BUR_PUBLIC void TON(TON_typ* inst);
|
||||
_BUR_PUBLIC void SEMA(SEMA_typ* inst);
|
||||
_BUR_PUBLIC void RS(RS_typ* inst);
|
||||
_BUR_PUBLIC void SR(SR_typ* inst);
|
||||
_BUR_PUBLIC void R_TRIG(R_TRIG_typ* inst);
|
||||
_BUR_PUBLIC void F_TRIG(F_TRIG_typ* inst);
|
||||
_BUR_PUBLIC void CTU(CTU_typ* inst);
|
||||
_BUR_PUBLIC void CTD(CTD_typ* inst);
|
||||
_BUR_PUBLIC void CTUD(CTUD_typ* inst);
|
||||
_BUR_PUBLIC void RF_TRIG(RF_TRIG_typ* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* STANDARD_H_ */
|
||||
|
||||
262
Logical/Libraries/standard/SGC/standard.h
Normal file
262
Logical/Libraries/standard/SGC/standard.h
Normal file
@@ -0,0 +1,262 @@
|
||||
/* Automation Studio Generated Header File, Format Version 1.00 */
|
||||
/* do not change */
|
||||
#ifndef STANDARD_H_
|
||||
#define STANDARD_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#include <bur/plc.h>
|
||||
|
||||
#define TP_10mstyp TP_10ms_typ
|
||||
#define TOF_10mstyp TOF_10ms_typ
|
||||
#define TON_10mstyp TON_10ms_typ
|
||||
#define TPtyp TP_typ
|
||||
#define TOFtyp TOF_typ
|
||||
#define TONtyp TON_typ
|
||||
#define SEMAtyp SEMA_typ
|
||||
#define RStyp RS_typ
|
||||
#define SRtyp SR_typ
|
||||
#define R_TRIGtyp R_TRIG_typ
|
||||
#define F_TRIGtyp F_TRIG_typ
|
||||
#define CTUtyp CTU_typ
|
||||
#define CTDtyp CTD_typ
|
||||
#define CTUDtyp CTUD_typ
|
||||
#define RF_TRIGtyp RF_TRIG_typ
|
||||
|
||||
/* Constants */
|
||||
|
||||
|
||||
/* Datatypes */
|
||||
|
||||
|
||||
/* Datatypes of function blocks */
|
||||
typedef struct TP_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} TP_10ms_typ;
|
||||
|
||||
typedef struct TOF_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TOF_10ms_typ;
|
||||
|
||||
typedef struct TON_10ms
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned long PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned long ET;
|
||||
/* VAR (analogous) */
|
||||
unsigned long StartTime;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TON_10ms_typ;
|
||||
|
||||
typedef struct TP
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
} TP_typ;
|
||||
|
||||
typedef struct TOF
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TOF_typ;
|
||||
|
||||
typedef struct TON
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
plctime PT;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
plctime ET;
|
||||
/* VAR (analogous) */
|
||||
plctime StartTime;
|
||||
unsigned long Restart;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit IN;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} TON_typ;
|
||||
|
||||
typedef struct SEMA
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLAIM;
|
||||
plcbit RELEASE;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit BUSY;
|
||||
/* VAR (digital) */
|
||||
plcbit X;
|
||||
} SEMA_typ;
|
||||
|
||||
typedef struct RS
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit SET;
|
||||
plcbit RESET1;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q1;
|
||||
} RS_typ;
|
||||
|
||||
typedef struct SR
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit SET1;
|
||||
plcbit RESET;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q1;
|
||||
} SR_typ;
|
||||
|
||||
typedef struct R_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} R_TRIG_typ;
|
||||
|
||||
typedef struct F_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} F_TRIG_typ;
|
||||
|
||||
typedef struct CTU
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CU;
|
||||
plcbit RESET;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} CTU_typ;
|
||||
|
||||
typedef struct CTD
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
unsigned short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
unsigned short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CD;
|
||||
plcbit LOAD;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} CTD_typ;
|
||||
|
||||
typedef struct CTUD
|
||||
{
|
||||
/* VAR_INPUT (analogous) */
|
||||
signed short PV;
|
||||
/* VAR_OUTPUT (analogous) */
|
||||
signed short CV;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CU;
|
||||
plcbit CD;
|
||||
plcbit RESET;
|
||||
plcbit LOAD;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit QU;
|
||||
plcbit QD;
|
||||
/* VAR (digital) */
|
||||
plcbit MU;
|
||||
plcbit MD;
|
||||
} CTUD_typ;
|
||||
|
||||
typedef struct RF_TRIG
|
||||
{
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit CLK;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Q;
|
||||
/* VAR (digital) */
|
||||
plcbit M;
|
||||
} RF_TRIG_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void TP_10ms(TP_10ms_typ* inst);
|
||||
void TOF_10ms(TOF_10ms_typ* inst);
|
||||
void TON_10ms(TON_10ms_typ* inst);
|
||||
void TP(TP_typ* inst);
|
||||
void TOF(TOF_typ* inst);
|
||||
void TON(TON_typ* inst);
|
||||
void SEMA(SEMA_typ* inst);
|
||||
void RS(RS_typ* inst);
|
||||
void SR(SR_typ* inst);
|
||||
void R_TRIG(R_TRIG_typ* inst);
|
||||
void F_TRIG(F_TRIG_typ* inst);
|
||||
void CTU(CTU_typ* inst);
|
||||
void CTD(CTD_typ* inst);
|
||||
void CTUD(CTUD_typ* inst);
|
||||
void RF_TRIG(RF_TRIG_typ* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* STANDARD_H_ */
|
||||
|
||||
253
Logical/Libraries/standard/standard.fun
Normal file
253
Logical/Libraries/standard/standard.fun
Normal file
@@ -0,0 +1,253 @@
|
||||
|
||||
{REDUND_OK} FUNCTION_BLOCK RF_TRIG (*recognizes both edges of BOOL values*)
|
||||
VAR_INPUT
|
||||
CLK :BOOL; (*input signal of the edge to be recognized*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*TRUE if the input signal was FALSE on the last call and is now TRUE*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK CTUD (*counts upward or downward*)
|
||||
VAR_INPUT
|
||||
CU :BOOL; (*counter CV is increased by 1 by CU when the edge is rising*)
|
||||
CD :BOOL; (*counter CV is reduced by 1 by CD when the edge is rising*)
|
||||
RESET :BOOL; (*counter CV is set to 0 if RESET is TRUE*)
|
||||
LOAD :BOOL; (*if LOAD is TRUE, then counter CV is initialized with the starting value PV*)
|
||||
PV :INT; (*start value*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
QU :BOOL; (*is TRUE if CV is greater than or equal to PV*)
|
||||
QD :BOOL; (*is TRUE if CV equals 0*)
|
||||
CV :INT; (*counter*)
|
||||
END_VAR
|
||||
VAR
|
||||
MU :BOOL; (*internal variable*)
|
||||
MD :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK CTD (*counts downward*)
|
||||
VAR_INPUT
|
||||
CD :BOOL; (*counter CV is reduced by 1 by CD when the edge is rising*)
|
||||
LOAD :BOOL; (*if LOAD is TRUE, then counter CV is initialized with the starting value PV*)
|
||||
PV :UINT; (*start value*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*is TRUE if CV equals 0*)
|
||||
CV :UINT; (*counter*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK CTU (*counts upward*)
|
||||
VAR_INPUT
|
||||
CU :BOOL; (*counter CV is increased by 1 by CU when the edge is rising*)
|
||||
RESET :BOOL; (*counter CV is set to 0 if RESET is TRUE*)
|
||||
PV :UINT; (*comparison variable*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*is TRUE if counter CV is greater than or equal to the PV comparison variable*)
|
||||
CV :UINT; (*counter*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK F_TRIG (*recognizes falling edges from BOOL values*)
|
||||
VAR_INPUT
|
||||
CLK :BOOL; (*input signal whose edge should be detected*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*is set to TRUE if the input signal was TRUE during the last call and is now FALSE*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK R_TRIG (*recognizes rising edges from BOOL values*)
|
||||
VAR_INPUT
|
||||
CLK :BOOL; (*input signal whose edge should be detected*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*is set to TRUE if the input signal was FALSE during the last call and is now TRUE*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK SR (*sets or resets the output (set has priority)*)
|
||||
VAR_INPUT
|
||||
SET1 :BOOL; (*sets output Q1 (priority)*)
|
||||
RESET :BOOL; (*resets output Q1*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q1 :BOOL; (*output value *)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK RS (*sets or resets the output (reset has priority)*)
|
||||
VAR_INPUT
|
||||
SET :BOOL; (*sets output Q1*)
|
||||
RESET1 :BOOL; (*resets output Q1 (priority)*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q1 :BOOL; (*output value*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK SEMA (*blocks access within the same task class (simple semaphore)*)
|
||||
VAR_INPUT
|
||||
CLAIM :BOOL; (*locks semaphore*)
|
||||
RELEASE :BOOL; (*releases semaphore*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
BUSY :BOOL; (*TRUE if the semaphore was already locked*)
|
||||
END_VAR
|
||||
VAR
|
||||
X :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK TON (*implements a switch on delay*)
|
||||
VAR_INPUT
|
||||
IN :BOOL; (*input signal*)
|
||||
PT :TIME; (*delay time*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*rising edge of the input signal is delayed by PT*)
|
||||
ET :TIME; (*elapsed time*)
|
||||
END_VAR
|
||||
VAR
|
||||
StartTime :TIME; (*internal variable*)
|
||||
M :BOOL; (*internal variable*)
|
||||
Restart : {REDUND_UNREPLICABLE} UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK TOF (*implements a switch off delay*)
|
||||
VAR_INPUT
|
||||
IN :BOOL; (*input signal*)
|
||||
PT :TIME; (*delay time*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*falling edge of the input signal is delayed by PT*)
|
||||
ET :TIME; (*elapsed time*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
StartTime :TIME; (*internal variable*)
|
||||
Restart : {REDUND_UNREPLICABLE} UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK TP (*implements a pulse generator*)
|
||||
VAR_INPUT
|
||||
IN :BOOL; (*input signal*)
|
||||
PT :TIME; (*pulse time*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*output signal*)
|
||||
ET :TIME; (*elapsed time*)
|
||||
END_VAR
|
||||
VAR
|
||||
StartTime :TIME; (*internal variable*)
|
||||
Restart : {REDUND_UNREPLICABLE} UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK TON_10ms (*implements a switch on delay based on 10 ms steps*)
|
||||
VAR_INPUT
|
||||
IN :BOOL; (*input signal*)
|
||||
PT :UDINT; (*delay time in 10 ms steps*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*output signal, the rising edge of the input signal is delayed by PT*)
|
||||
ET :UDINT; (*elapsed time in 10 ms increments*)
|
||||
END_VAR
|
||||
VAR
|
||||
StartTime :UDINT; (*internal variable*)
|
||||
M :BOOL; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK TOF_10ms (*implements a switch off delay based on 10 ms steps*)
|
||||
VAR_INPUT
|
||||
IN :BOOL; (*input signal*)
|
||||
PT :UDINT; (*delay time in 10 ms steps*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*output signal, the falling edge of the input signal is delayed by PT*)
|
||||
ET :UDINT; (*elapsed time in 10 ms increments*)
|
||||
END_VAR
|
||||
VAR
|
||||
M :BOOL; (*internal variable*)
|
||||
StartTime :UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} FUNCTION_BLOCK TP_10ms (*implements a pulse using 10 ms steps*)
|
||||
VAR_INPUT
|
||||
IN :BOOL; (*input signal*)
|
||||
PT :UDINT; (*pulse time in 10 ms steps*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Q :BOOL; (*output signal*)
|
||||
ET :UDINT; (*elapsed time in 10 ms increments*)
|
||||
END_VAR
|
||||
VAR
|
||||
StartTime :UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION LEN : INT (*calculates the length of a string*)
|
||||
VAR_INPUT
|
||||
IN :STRING[32767]; (*input string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION LEFT : STRING[255] (*extracts a certain amount (L) of leftmost characters from a string*)
|
||||
VAR_INPUT
|
||||
IN :STRING[32767]; (*input string*)
|
||||
L :INT; (*number of characters*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION RIGHT : STRING[255] (*extracts a certain amount (L) of rightmost characters from a string*)
|
||||
VAR_INPUT
|
||||
IN :STRING[32767]; (*input string*)
|
||||
L :INT; (*number of characters*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION MID : STRING[255] (*extracts L number of characters out of string beginning with position P*)
|
||||
VAR_INPUT
|
||||
IN :STRING[32767]; (*string which should be extracted from*)
|
||||
L :INT; (*number of characters*)
|
||||
P :INT; (*position of the first character which should be extracted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION CONCAT : STRING[255] (*attaches strings to one another*)
|
||||
VAR_INPUT
|
||||
IN1 :STRING[32767]; (*first input string*)
|
||||
IN2 :STRING[32767]; (*second input string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION INSERT : STRING[255] (*inserts a string into a string*)
|
||||
VAR_INPUT
|
||||
IN1 :STRING[32767]; (*string which should be inserted into*)
|
||||
IN2 :STRING[32767]; (*string which should be inserted*)
|
||||
P :INT; (*position where insertion should take place*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION DELETE : STRING[255] (*deletes L number of characters from the IN string beginning with the Pth character position*)
|
||||
VAR_INPUT
|
||||
IN :STRING[32767]; (*input string*)
|
||||
L :INT; (*number of characters to be deleted*)
|
||||
P :INT; (*starting position of characters to be deleted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION REPLACE : STRING[255] (*replaces characters in a string*)
|
||||
VAR_INPUT
|
||||
IN1 :STRING[32767]; (*string which should have characters replaced*)
|
||||
IN2 :STRING[32767]; (*string used for the replacement*)
|
||||
L :INT; (*length of the area to be replaced*)
|
||||
P :INT; (*starting position of replacement*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_OK} {REDUND_UNREPLICABLE} FUNCTION FIND : INT (*determines the position of a string inside a string*)
|
||||
VAR_INPUT
|
||||
IN1 :STRING[32767]; (*string which should be looked through*)
|
||||
IN2 :STRING[32767]; (*string which should be looked for*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
4
Logical/Libraries/standard/standard.typ
Normal file
4
Logical/Libraries/standard/standard.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
4
Logical/Libraries/standard/standard.var
Normal file
4
Logical/Libraries/standard/standard.var
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
VAR CONSTANT
|
||||
|
||||
END_VAR
|
||||
186
Logical/Machine/Mach_Ctrl/Cyclic.st
Normal file
186
Logical/Machine/Mach_Ctrl/Cyclic.st
Normal file
@@ -0,0 +1,186 @@
|
||||
|
||||
PROGRAM _CYCLIC
|
||||
//Dummy aufruf wg. Compiler
|
||||
gbSPLCOuRefeedSTO;
|
||||
|
||||
|
||||
//Status Safety SPS Auslesen
|
||||
FUBs_AsIOAccRead.enable := TRUE;
|
||||
FUBs_AsIOAccRead.pDeviceName := ADR ('IF6.ST1');
|
||||
FUBs_AsIOAccRead.pChannelName := ADR ('SLXbootState');
|
||||
FUBs_AsIOAccRead ();
|
||||
//SPS Safe = 54
|
||||
//Layer verstecken
|
||||
IF FUBs_AsIOAccRead.status = 0 THEN
|
||||
usLayerSLX.0 := (FUBs_AsIOAccRead.value = 54);
|
||||
END_IF
|
||||
//Puls f<EFBFBD>r Tasten erzeugen
|
||||
TON_KeyPulse.IN := bKeyPulse;
|
||||
TON_KeyPulse.PT := t#400ms;
|
||||
TON_KeyPulse ();
|
||||
IF TON_KeyPulse.Q THEN
|
||||
bKeyPulse := FALSE;
|
||||
ELSE
|
||||
bKeyPulse := TRUE;
|
||||
END_IF
|
||||
|
||||
//Drucksensor auswerten
|
||||
TON_WaitAirOk.IN := bProcessActive;
|
||||
TON_WaitAirOk.PT := t#2s;
|
||||
TON_WaitAirOk ();
|
||||
|
||||
//Acopos Werte einlesen
|
||||
ACPIn.ETAD.b00_ReadyToStart := ACPIn.uiETAD.0;
|
||||
ACPIn.ETAD.b01_Starting := ACPIn.uiETAD.1;
|
||||
ACPIn.ETAD.b02_Operating := ACPIn.uiETAD.2;
|
||||
ACPIn.ETAD.b03_Error := ACPIn.uiETAD.3;
|
||||
ACPIn.ETAD.b04_SupplyOk := ACPIn.uiETAD.4;
|
||||
ACPIn.ETAD.b05_FastStop := ACPIn.uiETAD.5;
|
||||
ACPIn.ETAD.b06_StartNotPossible := ACPIn.uiETAD.6;
|
||||
ACPIn.ETAD.b07_Alarm := ACPIn.uiETAD.7;
|
||||
ACPIn.ETAD.b09_ExtCtrl := ACPIn.uiETAD.9;
|
||||
ACPIn.ETAD.b10_SetpointReached := ACPIn.uiETAD.10;
|
||||
ACPIn.ETAD.b11_LimitActive := ACPIn.uiETAD.11;
|
||||
ACPIn.ETAD.b14_StopBySTOP_BTN := ACPIn.uiETAD.14;
|
||||
ACPIn.ETAD.b15_RtnDir := ACPIn.uiETAD.15;
|
||||
|
||||
|
||||
//VC Einblenden
|
||||
VC_Ctrl.ResetSafety.usStatus.0 := gbSPLCInSafetyOk OR NOT (gbSInEStopPanel AND gbSInDoorLeft AND gbSInDoorRight AND gbSInRoofTop);
|
||||
|
||||
VC_Ctrl.ResetEDMError.usStatus.0 := NOT gbSPLCInEDMError;
|
||||
|
||||
VC_Ctrl.ResetFC.usStatus.0 := NOT ACPIn.ETAD.b03_Error;
|
||||
|
||||
VC_Ctrl.StartProcess.usStatus.0 := bProcessActive OR NOT gbSPLCInSafetyOk;
|
||||
|
||||
VC_Ctrl.StopProcess.usStatus.0 := NOT bProcessActive;
|
||||
|
||||
VC_Ctrl.IncPreasure.usStatus.0 := NOT bProcessActive;
|
||||
VC_Ctrl.IncPreasure.usStatus.1 := (lrPreasure > 9.9);
|
||||
VC_Ctrl.IncPreasure1.usStatus.0 := NOT bProcessActive;
|
||||
VC_Ctrl.IncPreasure1.usStatus.1 := (lrPreasure > 9.0);
|
||||
VC_Ctrl.DecPreasure.usStatus.0 := NOT bProcessActive;
|
||||
VC_Ctrl.DecPreasure.usStatus.1 := (lrPreasure < 0.1);
|
||||
VC_Ctrl.DecPreasure1.usStatus.0 := NOT bProcessActive;
|
||||
VC_Ctrl.DecPreasure1.usStatus.1 := (lrPreasure < 1.0);
|
||||
|
||||
VC_Ctrl.IncRpm.usStatus.0 := NOT bProcessActive OR NOT VC_Ctrl.EnableMotor.bCommand;
|
||||
VC_Ctrl.DecRpm.usStatus.0 := NOT bProcessActive OR NOT VC_Ctrl.EnableMotor.bCommand;
|
||||
|
||||
VC_Ctrl.EnableMotor.usStatus.0 := NOT bProcessActive;
|
||||
|
||||
VC_Ctrl.MotorDir.usStatus.0 := NOT bProcessActive;
|
||||
|
||||
//Prozess starten
|
||||
IF EDGEPOS (VC_Ctrl.StartProcess.bCommand) THEN
|
||||
bProcessActive := TRUE;
|
||||
END_IF
|
||||
|
||||
IF NOT gbSPLCInSafetyOk OR EDGEPOS (VC_Ctrl.StopProcess.bCommand) THEN
|
||||
bProcessActive := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
//Druck /Geschwindigkeit einstellen
|
||||
IF bProcessActive THEN
|
||||
IF EDGEPOS (VC_Ctrl.IncPreasure.bCommand) THEN
|
||||
lrPreasure := lrPreasure + 0.1;
|
||||
END_IF
|
||||
|
||||
IF EDGEPOS (VC_Ctrl.IncPreasure1.bCommand) THEN
|
||||
lrPreasure := lrPreasure + 1.0;
|
||||
END_IF
|
||||
|
||||
IF EDGEPOS (VC_Ctrl.DecPreasure.bCommand) THEN
|
||||
lrPreasure := lrPreasure - 0.1;
|
||||
END_IF
|
||||
|
||||
IF EDGEPOS (VC_Ctrl.DecPreasure1.bCommand) THEN
|
||||
lrPreasure := lrPreasure - 1.0;
|
||||
END_IF
|
||||
|
||||
IF EDGEPOS (VC_Ctrl.IncRpm.bCommand) THEN
|
||||
iSpeed := iSpeed + 10;
|
||||
ELSIF VC_Ctrl.IncRpm.bCommand AND TON_KeyPulse.Q THEN
|
||||
iSpeed := iSpeed + 10;
|
||||
END_IF
|
||||
|
||||
IF EDGEPOS (VC_Ctrl.DecRpm.bCommand) THEN
|
||||
iSpeed := iSpeed - 10;
|
||||
ELSIF VC_Ctrl.DecRpm.bCommand AND TON_KeyPulse.Q THEN
|
||||
iSpeed := iSpeed - 10;
|
||||
END_IF
|
||||
|
||||
END_IF
|
||||
|
||||
|
||||
IF NOT bProcessActive THEN
|
||||
VC_Ctrl.EnableMotor.bCommand := FALSE;
|
||||
END_IF
|
||||
|
||||
//Umrichter Signale ansteuern
|
||||
//Versorgung Ok
|
||||
ACPOu.CMMD.b01_ACOk2 := ACPIn.ETAD.b04_SupplyOk AND gbSPLCInSafetyOk;
|
||||
ACPOu.CMMD.b02_FastStop := ACPIn.ETAD.b04_SupplyOk AND gbSPLCInSafetyOk;
|
||||
ACPOu.CMMD.b00_ACOk := ACPIn.ETAD.b00_ReadyToStart;
|
||||
ACPOu.CMMD.b03_Run := ACPIn.ETAD.b01_Starting AND bProcessActive AND VC_Ctrl.EnableMotor.bCommand;
|
||||
ACPOu.CMMD.b07_Reset_Error := VC_Ctrl.ResetFC.bCommand;
|
||||
ACPOu.CMMD.b11_RtnDir := VC_Ctrl.MotorDir.bCommand;
|
||||
|
||||
//Druck r<EFBFBD>cksetzen
|
||||
IF NOT bProcessActive OR (TON_WaitAirOk.Q AND NOT gbInPreasureOk) THEN
|
||||
lrPreasure := 0.0;
|
||||
END_IF
|
||||
|
||||
//Druck begrenzen
|
||||
IF (lrPreasure < 0.0) THEN
|
||||
lrPreasure := 0.0;
|
||||
END_IF
|
||||
IF (lrPreasure > 10.0) THEN
|
||||
lrPreasure := 10.0;
|
||||
END_IF
|
||||
|
||||
//Geschwindigkeit begrenzen
|
||||
IF (iSpeed < 50) THEN
|
||||
iSpeed := 50;
|
||||
END_IF
|
||||
IF (iSpeed > 210) THEN
|
||||
iSpeed := 210;
|
||||
END_IF
|
||||
//Signale an SPLC
|
||||
gbSPLCOuResetSafety := VC_Ctrl.ResetSafety.bCommand;
|
||||
gbSPLCOuResetEDMError := VC_Ctrl.ResetEDMError.bCommand;
|
||||
|
||||
gbSOuCloseValveOu := bProcessActive;
|
||||
gbSOuOpenValveIn := bProcessActive;
|
||||
gbSOuEnableTurntable := gbSPLCInSafetyOk;
|
||||
gbSPLCOuMachineOn := TRUE;
|
||||
|
||||
//Druck ausgeben
|
||||
giOuPreasure := FC_Scale_MPPAOu (lrPreasure);
|
||||
|
||||
//ACP Werte ausgeben
|
||||
ACPOu.uiCMMD.0 := ACPOu.CMMD.b00_ACOk;
|
||||
ACPOu.uiCMMD.1 := ACPOu.CMMD.b01_ACOk2;
|
||||
ACPOu.uiCMMD.2 := ACPOu.CMMD.b02_FastStop;
|
||||
ACPOu.uiCMMD.3 := ACPOu.CMMD.b03_Run;
|
||||
ACPOu.uiCMMD.7 := ACPOu.CMMD.b07_Reset_Error;
|
||||
ACPOu.uiCMMD.8 := ACPOu.CMMD.b08_Halt;
|
||||
ACPOu.uiCMMD.11 := ACPOu.CMMD.b11_RtnDir;
|
||||
|
||||
ACPOu.iLFRD := iSpeed * 1304 / 100;
|
||||
|
||||
//Alarme
|
||||
gMachineAlarms.Alarm[0] := NOT gbSInEStopPanel;
|
||||
gMachineAlarms.Alarm[1] := NOT gbSInDoorLeft;
|
||||
gMachineAlarms.Alarm[2] := NOT gbSInDoorRight;
|
||||
gMachineAlarms.Alarm[3] := NOT gbSInRoofTop;
|
||||
gMachineAlarms.Alarm[4] := gbSInEStopPanel AND gbSInDoorLeft AND gbSInDoorRight AND gbSInRoofTop AND NOT gbSPLCInSafetyOk;
|
||||
gMachineAlarms.Alarm[5] := gbSPLCInEDMError;
|
||||
gMachineAlarms.Alarm[6] := NOT ACPIn.ETAD.b04_SupplyOk;
|
||||
gMachineAlarms.Alarm[7] := ACPIn.ETAD.b03_Error;
|
||||
gMachineAlarms.Alarm[8] := TON_WaitAirOk.Q AND NOT gbInPreasureOk;
|
||||
|
||||
|
||||
END_PROGRAM
|
||||
6
Logical/Machine/Mach_Ctrl/Exit.st
Normal file
6
Logical/Machine/Mach_Ctrl/Exit.st
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
|
||||
PROGRAM _EXIT
|
||||
(* Insert code here *)
|
||||
|
||||
END_PROGRAM
|
||||
11
Logical/Machine/Mach_Ctrl/IEC.prg
Normal file
11
Logical/Machine/Mach_Ctrl/IEC.prg
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File Description="Cyclic code">Cyclic.st</File>
|
||||
<File Description="Init code">Init.st</File>
|
||||
<File Description="Exit code">Exit.st</File>
|
||||
<File Description="Local data types" Private="true">Types.typ</File>
|
||||
<File Description="Local variables" Private="true">Variables.var</File>
|
||||
</Files>
|
||||
</Program>
|
||||
6
Logical/Machine/Mach_Ctrl/Init.st
Normal file
6
Logical/Machine/Mach_Ctrl/Init.st
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
|
||||
PROGRAM _INIT
|
||||
(* Insert code here *)
|
||||
|
||||
END_PROGRAM
|
||||
52
Logical/Machine/Mach_Ctrl/Types.typ
Normal file
52
Logical/Machine/Mach_Ctrl/Types.typ
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
TYPE
|
||||
typ_VCCtrl : STRUCT
|
||||
ResetSafety : gtyp_VCButton;
|
||||
ResetEDMError : gtyp_VCButton;
|
||||
ResetFC : gtyp_VCButton;
|
||||
StartProcess : gtyp_VCButton;
|
||||
EnableMotor : gtyp_VCButton;
|
||||
StopProcess : gtyp_VCButton;
|
||||
IncPreasure : gtyp_VCButton;
|
||||
IncPreasure1 : gtyp_VCButton;
|
||||
DecPreasure : gtyp_VCButton;
|
||||
DecPreasure1 : gtyp_VCButton;
|
||||
IncRpm : gtyp_VCButton;
|
||||
DecRpm : gtyp_VCButton;
|
||||
MotorDir : gtyp_VCButton;
|
||||
END_STRUCT;
|
||||
typ_ACP_ETAD : STRUCT
|
||||
b00_ReadyToStart : BOOL;
|
||||
b01_Starting : BOOL;
|
||||
b02_Operating : BOOL;
|
||||
b03_Error : BOOL;
|
||||
b04_SupplyOk : BOOL;
|
||||
b05_FastStop : BOOL;
|
||||
b06_StartNotPossible : BOOL;
|
||||
b07_Alarm : BOOL;
|
||||
b09_ExtCtrl : BOOL;
|
||||
b10_SetpointReached : BOOL;
|
||||
b11_LimitActive : BOOL;
|
||||
b14_StopBySTOP_BTN : BOOL;
|
||||
b15_RtnDir : BOOL;
|
||||
END_STRUCT;
|
||||
typ_ACP_Ou : STRUCT
|
||||
iLFRD : INT; (*Setpoint Speed*)
|
||||
CMMD : typ_ACP_CMMD;
|
||||
uiCMMD : UINT; (*control Word*)
|
||||
END_STRUCT;
|
||||
typ_ACP_CMMD : STRUCT
|
||||
b00_ACOk : BOOL;
|
||||
b01_ACOk2 : BOOL;
|
||||
b02_FastStop : BOOL;
|
||||
b03_Run : BOOL;
|
||||
b07_Reset_Error : BOOL;
|
||||
b08_Halt : BOOL;
|
||||
b11_RtnDir : BOOL;
|
||||
END_STRUCT;
|
||||
typ_ACP_In : STRUCT
|
||||
ETAD : typ_ACP_ETAD;
|
||||
uiETAD : UINT; (*status word*)
|
||||
iRFRD : INT; (*Current Speed rpm*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
24
Logical/Machine/Mach_Ctrl/Variables.var
Normal file
24
Logical/Machine/Mach_Ctrl/Variables.var
Normal file
@@ -0,0 +1,24 @@
|
||||
(*Insert your comment here.*)
|
||||
VAR
|
||||
bKeyPulse : BOOL;
|
||||
END_VAR
|
||||
VAR RETAIN
|
||||
bProcessActive : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
iSpeed : INT;
|
||||
usLayerSLX : USINT;
|
||||
END_VAR
|
||||
VAR RETAIN
|
||||
lrPreasure : LREAL; (*Sollwert Druck*)
|
||||
END_VAR
|
||||
(*Strukturen*)
|
||||
VAR
|
||||
VC_Ctrl : typ_VCCtrl;
|
||||
ACPIn : typ_ACP_In;
|
||||
ACPOu : typ_ACP_Ou;
|
||||
TON_KeyPulse : TON;
|
||||
TON_WaitAirOk : TON;
|
||||
FUBs_AsIOAccRead : AsIOAccRead;
|
||||
END_VAR
|
||||
(*Insert your comment here.*)
|
||||
8
Logical/Machine/Package.pkg
Normal file
8
Logical/Machine/Package.pkg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.7.144 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="Program" Language="IEC">Mach_Ctrl</Object>
|
||||
<Object Type="DataObject" Language="Vc" Description="480x640 (VGA)">Visu</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="AlarmAcknowledgeState">
|
||||
<Property Name="Description" Value="Bitmap group for acknowledge state of an alarm"/>
|
||||
<Property Name="Index" Value="151"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="22" Value="Source[local].Bitmap[Alarm_Quit]"/>
|
||||
<BitmapRef ID="23" Value="Source[local].Bitmap[Alarm_NotQuit]"/>
|
||||
<BitmapRef ID="24" Value="Source[local].Bitmap[Alarm_ResetAcknowledge]"/>
|
||||
<BitmapRef ID="36" Value="Source[local].Bitmap[Alarm_AcknowledgeReset]"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="22" Value="0"/>
|
||||
<Index ID="23" Value="1"/>
|
||||
<Index ID="24" Value="2"/>
|
||||
<Index ID="36" Value="3"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
15
Logical/Machine/Visu/BitmapGroups/AlarmBypassState.bmgrp
Normal file
15
Logical/Machine/Visu/BitmapGroups/AlarmBypassState.bmgrp
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="AlarmBypassState">
|
||||
<Property Name="Description" Value="Bitmap group for bypass state of an alarm"/>
|
||||
<Property Name="Index" Value="152"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="305" Value="Source[local].Bitmap[Alarm_BypassOFF]"/>
|
||||
<BitmapRef ID="306" Value="Source[local].Bitmap[Alarm_BypassON]"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="305" Value="0"/>
|
||||
<Index ID="306" Value="1"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
23
Logical/Machine/Visu/BitmapGroups/AlarmEvent.bmgrp
Normal file
23
Logical/Machine/Visu/BitmapGroups/AlarmEvent.bmgrp
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="AlarmEvent">
|
||||
<Property Name="Description" Value="Bitmap group for the event of an alarm"/>
|
||||
<Property Name="Index" Value="153"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="280" Value="Source[local].Bitmap[Alarm_Triggered]"/>
|
||||
<BitmapRef ID="281" Value="Source[local].Bitmap[Alarm_BypassOFF]"/>
|
||||
<BitmapRef ID="282" Value="Source[local].Bitmap[Alarm_BypassON]"/>
|
||||
<BitmapRef ID="283" Value="Source[local].Bitmap[Alarm_Reset]"/>
|
||||
<BitmapRef ID="284" Value="Source[local].Bitmap[Alarm_ResetAcknowledge]"/>
|
||||
<BitmapRef ID="285" Value="Source[local].Bitmap[Alarm_AcknowledgeReset]"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="280" Value="0"/>
|
||||
<Index ID="281" Value="3"/>
|
||||
<Index ID="282" Value="2"/>
|
||||
<Index ID="283" Value="1"/>
|
||||
<Index ID="284" Value="4"/>
|
||||
<Index ID="285" Value="5"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
15
Logical/Machine/Visu/BitmapGroups/AlarmState.bmgrp
Normal file
15
Logical/Machine/Visu/BitmapGroups/AlarmState.bmgrp
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="AlarmState">
|
||||
<Property Name="Description" Value="Bitmap group for alarm state"/>
|
||||
<Property Name="Index" Value="150"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="297" Value="Source[local].Bitmap[Alarm_Inactive]"/>
|
||||
<BitmapRef ID="298" Value="Source[local].Bitmap[Alarm_Active]"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="297" Value="0"/>
|
||||
<Index ID="298" Value="1"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
99
Logical/Machine/Visu/BitmapGroups/Borders.bmgrp
Normal file
99
Logical/Machine/Visu/BitmapGroups/Borders.bmgrp
Normal file
@@ -0,0 +1,99 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="Borders">
|
||||
<Property Name="Description" Value="Bitmap group for borders"/>
|
||||
<Property Name="Index" Value="3"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="894" Value="Source[local].Bitmap[button_default]"/>
|
||||
<BitmapRef ID="895" Value="Source[local].Bitmap[button_default_pressed]"/>
|
||||
<BitmapRef ID="896" Value="Source[local].Bitmap[button_global_area]"/>
|
||||
<BitmapRef ID="897" Value="Source[local].Bitmap[button_global_area_pressed]"/>
|
||||
<BitmapRef ID="898" Value="Source[local].Bitmap[checkbox_small_gray]"/>
|
||||
<BitmapRef ID="899" Value="None"/>
|
||||
<BitmapRef ID="900" Value="Source[local].Bitmap[button_control]"/>
|
||||
<BitmapRef ID="901" Value="Source[local].Bitmap[button_control_pressed]"/>
|
||||
<BitmapRef ID="902" Value="None"/>
|
||||
<BitmapRef ID="903" Value="None"/>
|
||||
<BitmapRef ID="904" Value="Source[local].Bitmap[button_radio_selected]"/>
|
||||
<BitmapRef ID="905" Value="Source[local].Bitmap[button_radio]"/>
|
||||
<BitmapRef ID="906" Value="Source[local].Bitmap[checkbox_small_checked]"/>
|
||||
<BitmapRef ID="907" Value="Source[local].Bitmap[checkbox_small]"/>
|
||||
<BitmapRef ID="908" Value="Source[local].Bitmap[button_scroll_right]"/>
|
||||
<BitmapRef ID="909" Value="Source[local].Bitmap[button_scroll_right_pressed]"/>
|
||||
<BitmapRef ID="910" Value="Source[local].Bitmap[button_scroll_left]"/>
|
||||
<BitmapRef ID="911" Value="Source[local].Bitmap[button_scroll_left_pressed]"/>
|
||||
<BitmapRef ID="912" Value="Source[local].Bitmap[button_scroll_up]"/>
|
||||
<BitmapRef ID="913" Value="Source[local].Bitmap[button_scroll_up_pressed]"/>
|
||||
<BitmapRef ID="914" Value="Source[local].Bitmap[button_scroll_down]"/>
|
||||
<BitmapRef ID="915" Value="Source[local].Bitmap[button_scroll_down_pressed]"/>
|
||||
<BitmapRef ID="916" Value="Source[local].Bitmap[button_scroll_up_multi]"/>
|
||||
<BitmapRef ID="917" Value="Source[local].Bitmap[button_scroll_up_multi_pressed]"/>
|
||||
<BitmapRef ID="918" Value="Source[local].Bitmap[button_scroll_down_multi]"/>
|
||||
<BitmapRef ID="919" Value="Source[local].Bitmap[button_scroll_down_multi_pressed]"/>
|
||||
<BitmapRef ID="920" Value="None"/>
|
||||
<BitmapRef ID="921" Value="Source[local].Bitmap[frame_header]"/>
|
||||
<BitmapRef ID="922" Value="Source[local].Bitmap[button_off]"/>
|
||||
<BitmapRef ID="923" Value="Source[local].Bitmap[button_on]"/>
|
||||
<BitmapRef ID="924" Value="Source[local].Bitmap[button_ready]"/>
|
||||
<BitmapRef ID="925" Value="Source[local].Bitmap[InputBorder]"/>
|
||||
<BitmapRef ID="926" Value="Source[local].Bitmap[button_error]"/>
|
||||
<BitmapRef ID="927" Value="Source[local].Bitmap[OutputBorder]"/>
|
||||
<BitmapRef ID="931" Value="Source[local].Bitmap[ProgressBorder]"/>
|
||||
<BitmapRef ID="932" Value="None"/>
|
||||
<BitmapRef ID="933" Value="Source[local].Bitmap[button_global_area]"/>
|
||||
<BitmapRef ID="934" Value="None"/>
|
||||
<BitmapRef ID="935" Value="Source[local].Bitmap[button_increase]"/>
|
||||
<BitmapRef ID="936" Value="Source[local].Bitmap[button_increase_pressed]"/>
|
||||
<BitmapRef ID="937" Value="Source[local].Bitmap[button_decrease]"/>
|
||||
<BitmapRef ID="938" Value="Source[local].Bitmap[button_decrease_pressed]"/>
|
||||
<BitmapRef ID="992" Value="Source[local].Bitmap[LabelBoarder]"/>
|
||||
<BitmapRef ID="993" Value="Source[local].Bitmap[GroupControl]"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="894" Value="1"/>
|
||||
<Index ID="895" Value="2"/>
|
||||
<Index ID="896" Value="3"/>
|
||||
<Index ID="897" Value="4"/>
|
||||
<Index ID="898" Value="11"/>
|
||||
<Index ID="899" Value="14"/>
|
||||
<Index ID="900" Value="7"/>
|
||||
<Index ID="901" Value="8"/>
|
||||
<Index ID="902" Value="9"/>
|
||||
<Index ID="903" Value="10"/>
|
||||
<Index ID="904" Value="6"/>
|
||||
<Index ID="905" Value="5"/>
|
||||
<Index ID="906" Value="13"/>
|
||||
<Index ID="907" Value="12"/>
|
||||
<Index ID="908" Value="15"/>
|
||||
<Index ID="909" Value="16"/>
|
||||
<Index ID="910" Value="17"/>
|
||||
<Index ID="911" Value="18"/>
|
||||
<Index ID="912" Value="19"/>
|
||||
<Index ID="913" Value="20"/>
|
||||
<Index ID="914" Value="21"/>
|
||||
<Index ID="915" Value="22"/>
|
||||
<Index ID="916" Value="23"/>
|
||||
<Index ID="917" Value="24"/>
|
||||
<Index ID="918" Value="25"/>
|
||||
<Index ID="919" Value="26"/>
|
||||
<Index ID="920" Value="27"/>
|
||||
<Index ID="921" Value="28"/>
|
||||
<Index ID="922" Value="29"/>
|
||||
<Index ID="923" Value="30"/>
|
||||
<Index ID="924" Value="31"/>
|
||||
<Index ID="925" Value="33"/>
|
||||
<Index ID="926" Value="32"/>
|
||||
<Index ID="927" Value="34"/>
|
||||
<Index ID="931" Value="38"/>
|
||||
<Index ID="932" Value="39"/>
|
||||
<Index ID="933" Value="40"/>
|
||||
<Index ID="934" Value="41"/>
|
||||
<Index ID="935" Value="45"/>
|
||||
<Index ID="936" Value="44"/>
|
||||
<Index ID="937" Value="42"/>
|
||||
<Index ID="938" Value="43"/>
|
||||
<Index ID="992" Value="35"/>
|
||||
<Index ID="993" Value="36"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
13
Logical/Machine/Visu/BitmapGroups/GlobalArea.bmgrp
Normal file
13
Logical/Machine/Visu/BitmapGroups/GlobalArea.bmgrp
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="GlobalArea">
|
||||
<Property Name="Description" Value="Bitmap group for global area elements"/>
|
||||
<Property Name="Index" Value="4"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="954" Value="None"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="954" Value="0"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
57
Logical/Machine/Visu/BitmapGroups/Pads.bmgrp
Normal file
57
Logical/Machine/Visu/BitmapGroups/Pads.bmgrp
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="Pads">
|
||||
<Property Name="Description" Value="Bitmap group for input pads"/>
|
||||
<Property Name="Index" Value="1"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="3" Value="Source[local].Bitmap[Key_Numpad]"/>
|
||||
<BitmapRef ID="10" Value="Source[local].Bitmap[Key_Numpad_pressed]"/>
|
||||
<BitmapRef ID="763" Value="Source[local].Bitmap[Key_AlphaPad_lowerPressed]"/>
|
||||
<BitmapRef ID="764" Value="Source[local].Bitmap[Key_AlphaPad_upperPressed]"/>
|
||||
<BitmapRef ID="765" Value="Source[local].Bitmap[Key_AlphaPad_numericPressed]"/>
|
||||
<BitmapRef ID="766" Value="Source[local].Bitmap[Key_AlphaPad_numeric2Pressed]"/>
|
||||
<BitmapRef ID="767" Value="Source[local].Bitmap[Key_ListPadVer]"/>
|
||||
<BitmapRef ID="768" Value="Source[local].Bitmap[Key_ListPadVer_pressed]"/>
|
||||
<BitmapRef ID="968" Value="Source[local].Bitmap[Key_AlphaPad_lower]"/>
|
||||
<BitmapRef ID="969" Value="Source[local].Bitmap[Key_AlphaPad_upper]"/>
|
||||
<BitmapRef ID="973" Value="Source[local].Bitmap[Key_AlphaPad_numeric]"/>
|
||||
<BitmapRef ID="974" Value="Source[local].Bitmap[Key_AlphaPad_numeric2]"/>
|
||||
<BitmapRef ID="978" Value="Source[local].Bitmap[Key_ListPadHor]"/>
|
||||
<BitmapRef ID="979" Value="Source[local].Bitmap[Key_ListPadHor_pressed]"/>
|
||||
<BitmapRef ID="983" Value="Source[local].Bitmap[Key_ListPadHor_pressed]"/>
|
||||
<BitmapRef ID="984" Value="None"/>
|
||||
<BitmapRef ID="985" Value="None"/>
|
||||
<BitmapRef ID="986" Value="None"/>
|
||||
<BitmapRef ID="987" Value="None"/>
|
||||
<BitmapRef ID="988" Value="None"/>
|
||||
<BitmapRef ID="989" Value="None"/>
|
||||
<BitmapRef ID="990" Value="None"/>
|
||||
<BitmapRef ID="991" Value="None"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="3" Value="0"/>
|
||||
<Index ID="10" Value="1"/>
|
||||
<Index ID="763" Value="6"/>
|
||||
<Index ID="764" Value="7"/>
|
||||
<Index ID="765" Value="8"/>
|
||||
<Index ID="766" Value="9"/>
|
||||
<Index ID="767" Value="10"/>
|
||||
<Index ID="768" Value="11"/>
|
||||
<Index ID="968" Value="2"/>
|
||||
<Index ID="969" Value="3"/>
|
||||
<Index ID="973" Value="4"/>
|
||||
<Index ID="974" Value="5"/>
|
||||
<Index ID="978" Value="12"/>
|
||||
<Index ID="979" Value="13"/>
|
||||
<Index ID="983" Value="14"/>
|
||||
<Index ID="984" Value="15"/>
|
||||
<Index ID="985" Value="16"/>
|
||||
<Index ID="986" Value="17"/>
|
||||
<Index ID="987" Value="18"/>
|
||||
<Index ID="988" Value="19"/>
|
||||
<Index ID="989" Value="20"/>
|
||||
<Index ID="990" Value="21"/>
|
||||
<Index ID="991" Value="22"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
17
Logical/Machine/Visu/BitmapGroups/msgBox.bmgrp
Normal file
17
Logical/Machine/Visu/BitmapGroups/msgBox.bmgrp
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="4.4.7.144 SP"?>
|
||||
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="msgBox">
|
||||
<Property Name="Description" Value="Bitmaps for Message Box"/>
|
||||
<Property Name="Index" Value="0"/>
|
||||
<Property Name="Translate" Value="False"/>
|
||||
<BitmapLayer LanguageId="neutral">
|
||||
<BitmapRef ID="769" Value="Source[local].Bitmap[information]"/>
|
||||
<BitmapRef ID="770" Value="Source[local].Bitmap[warning]"/>
|
||||
<BitmapRef ID="771" Value="Source[local].Bitmap[alarm]"/>
|
||||
</BitmapLayer>
|
||||
<IndexMap>
|
||||
<Index ID="769" Value="0"/>
|
||||
<Index ID="770" Value="1"/>
|
||||
<Index ID="771" Value="2"/>
|
||||
</IndexMap>
|
||||
</BitmapGroup>
|
||||
14
Logical/Machine/Visu/Bitmaps/Alarm_AcknowledgeReset.bminfo
Normal file
14
Logical/Machine/Visu/Bitmaps/Alarm_AcknowledgeReset.bminfo
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="3.0.90.7"?>
|
||||
<Bitmap xmlns="http://br-automation.co.at/AS/VC/Project" Name="Alarm_AcknowledgeReset">
|
||||
<Property Name="Description" Value="icon for alarm first acknowledged then resetted"/>
|
||||
<Property Name="File" Value="Alarm_AcknowledgeReset.png"/>
|
||||
<Property Name="FillAreaColor" Value="0"/>
|
||||
<Property Name="FillAreaColor32" Value="0"/>
|
||||
<Property Name="FillAreaDatapoint" Value="0"/>
|
||||
<Property Name="FillAreaLeft" Value="0"/>
|
||||
<Property Name="FillAreaTop" Value="0"/>
|
||||
<Property Name="FillAreas" Value="0"/>
|
||||
<Property Name="Index" Value="509"/>
|
||||
<Property Name="TargetFormat" Value="Png32Bit"/>
|
||||
</Bitmap>
|
||||
BIN
Logical/Machine/Visu/Bitmaps/Alarm_AcknowledgeReset.png
Normal file
BIN
Logical/Machine/Visu/Bitmaps/Alarm_AcknowledgeReset.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 917 B |
14
Logical/Machine/Visu/Bitmaps/Alarm_Active.bminfo
Normal file
14
Logical/Machine/Visu/Bitmaps/Alarm_Active.bminfo
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="3.0.90.18"?>
|
||||
<Bitmap xmlns="http://br-automation.co.at/AS/VC/Project" Name="Alarm_Active">
|
||||
<Property Name="Description" Value="icon for active alarm"/>
|
||||
<Property Name="File" Value="Alarm_Active.png"/>
|
||||
<Property Name="FillAreaColor" Value="0"/>
|
||||
<Property Name="FillAreaColor32" Value="0"/>
|
||||
<Property Name="FillAreaDatapoint" Value="0"/>
|
||||
<Property Name="FillAreaLeft" Value="0"/>
|
||||
<Property Name="FillAreaTop" Value="0"/>
|
||||
<Property Name="FillAreas" Value="0"/>
|
||||
<Property Name="Index" Value="500"/>
|
||||
<Property Name="TargetFormat" Value="Png32Bit"/>
|
||||
</Bitmap>
|
||||
BIN
Logical/Machine/Visu/Bitmaps/Alarm_Active.png
Normal file
BIN
Logical/Machine/Visu/Bitmaps/Alarm_Active.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 775 B |
14
Logical/Machine/Visu/Bitmaps/Alarm_BypassOFF.bminfo
Normal file
14
Logical/Machine/Visu/Bitmaps/Alarm_BypassOFF.bminfo
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?AutomationStudio Version="3.0.90.18"?>
|
||||
<Bitmap xmlns="http://br-automation.co.at/AS/VC/Project" Name="Alarm_BypassOFF">
|
||||
<Property Name="Description" Value="icon for bypass off"/>
|
||||
<Property Name="File" Value="Alarm_BypassOFF.png"/>
|
||||
<Property Name="FillAreaColor" Value="0"/>
|
||||
<Property Name="FillAreaColor32" Value="0"/>
|
||||
<Property Name="FillAreaDatapoint" Value="0"/>
|
||||
<Property Name="FillAreaLeft" Value="0"/>
|
||||
<Property Name="FillAreaTop" Value="0"/>
|
||||
<Property Name="FillAreas" Value="0"/>
|
||||
<Property Name="Index" Value="506"/>
|
||||
<Property Name="TargetFormat" Value="Png32Bit"/>
|
||||
</Bitmap>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user