unix_recv (FUN) ¶ FUNCTION unix_recv : INT receive a message from a unix domain socket see manpage recv Returnvalue: returns the number of bytes received, or -1 if an error occurred. In the event of an error, errno is set to indicate the error. Internally, this function calls recv(), which returns of type ssize_t. This might be different to the return value of the IEC function unix_recv, which is INT. Calling with length >= INT Max can lead to invalid return values of this function. InOut: Scope Name Type Return unix_recv INT Input sockfd INT buf POINTER TO BYTE len ULINT flags INT
unix_send (FUN) ¶ FUNCTION unix_send : INT send a message on a unix domain socket see manpage send Returnvalue: On success, this call returns the number of bytes sent. On error, -1 is returned, and errno is set to indicate the error. Internally, this function calls send() which returns of type ssize_t. This might be different to the return value of the IEC function unix_send, which is INT. Calling with length >= INT Max can lead to invalid return values of this function. InOut: Scope Name Type Return unix_send INT Input sockfd INT buf POINTER TO BYTE len ULINT flags INT
unix_unlink (FUN) ¶ FUNCTION unix_unlink : INT unlink unix domain socket see manpage unlink Returnvalue: On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error. InOut: Scope Name Type Return unix_unlink INT Input pathname STRING
AnyNumber (STRUCT) ¶ TYPE AnyNumber : STRUCT AnyNumber represents a numeric value either as value or POINTER TO value with variable base type. Supported base types: SINT (8bit -128 .. 127) USINT (8bit 0 .. 255) INT (16bit -32768 .. 32767) UINT (16bit 0 .. 65535) DINT (32bit -2147483648 .. 2147483647) UDINT (32bit 0 .. 4294967295) REAL (32bit float) DOUBLE (64bit float) The base type is initialized to AnyNumberTypes.TYPE_NONE, which will be detected as invalid base type on read operations, so ensure to set the base type properly. Using the POINTER TO value representation requires the POINTER TO value <> 0 (set u.p.p* according to baseType). The POINTER TO value is initialized to 0, which will be detected as invalid on read / write operations, so ensure to set the POINTER TO value properly. There are functions to support certain operations using AnyNumber: compare base type - see |AnyNumberBaseTypeEquals| check for consistency - see AnyNumberCheck compare - see AnyNumberCompare assigment - see AnyNumberAssign arithmetic - see AnyNumberArithmetic Initialization of AnyNumber is a bit eloquent, but no matter of this simple: Example: /// AnyNumber base type REAL with value representation any1_REAL_value : DNP3.AnyNumber := ( baseType:=DNP3.AnyNumberTypes.TYPE_REAL, /// init the base type u:=(val:=(valREAL:=42)) /// init the value ); /// AnyNumber base type REAL with POINTER TO value representation /// The value to point to … any2_value : REAL; /// Now the AnyNumber pointing to any2_value any2_REAL_POINTER_TO_value : DNP3.AnyNumber := ( baseType:=DNP3.AnyNumberTypes.TYPE_REAL, /// init the base type isPtr:=TRUE, /// select POINTER TO value representation u:=(p:=(pREAL:=ADR(any2_value))) /// init the POINTER TO ); InOut: Name Type Initial Comment baseType AnyNumberTypes AnyNumberTypes.TYPE_NONE Base type isPtr BOOL FALSE isPtr = TRUE => represents a POINTER TO value u AnyNumberUnion Data holding either the value or POINTER TO value according to baseType. For value representation access u.val.val* For POINTER TO value representation access u.p.p* according to baseType.
AnyNumberPointerUnion (UNION) ¶ TYPE AnyNumberPointerUnion : UNION InOut: Name Type Initial Comment pSINT POINTER TO SINT 0 POINTER TO value represention for SINT pUSINT POINTER TO USINT 0 POINTER TO value represention for USINT pINT POINTER TO INT 0 POINTER TO value represention for INT pUINT POINTER TO UINT 0 POINTER TO value represention for UINT pDINT POINTER TO DINT 0 POINTER TO value represention for DINT pUDINT POINTER TO UDINT 0 POINTER TO value represention for UDINT pREAL POINTER TO REAL 0 POINTER TO value represention for REAL pLREAL POINTER TO LREAL 0 POINTER TO value represention for LREAL
AnyNumberTypes (ENUM) ¶ TYPE AnyNumberTypes : Supported base types for AnyNumber. Attributes: qualified_only InOut: Name Initial TYPE_NONE -1 TYPE_SINT 0 TYPE_USINT TYPE_INT TYPE_UINT TYPE_DINT TYPE_UDINT TYPE_REAL TYPE_LREAL
AnyNumberUnion (UNION) ¶ TYPE AnyNumberUnion : UNION InOut: Name Type val AnyNumberValueUnion p AnyNumberPointerUnion
AnyNumberValueUnion (UNION) ¶ TYPE AnyNumberValueUnion : UNION InOut: Name Type Comment valSINT SINT value represention for SINT valUSINT USINT value represention for USINT valINT INT value represention for INT valUINT UINT value represention for UINT valDINT DINT value represention for DINT valUDINT UDINT value represention for UDINT valREAL REAL value represention for REAL valLREAL LREAL value represention for LREAL
COMParity (ENUM) ¶ TYPE COMParity : COM interface parity Attributes: qualified_only InOut: Name Initial Comment None 0 No parity Odd Odd parity Even Even parity
COMStopBits (ENUM) ¶ TYPE COMStopBits : COM interface stop bits Attributes: qualified_only InOut: Name Initial Comment OneStopBit 1 Stopbit: 1 One5Stopbits Stopbits: 1,5 TwoStopBits Stopbits: 2