IEC-compliance

This article is under construction.

The information on this page is not complete yet. logi.cals tries to complete this page as soon as possible. Thank you for your understanding!

IEC 61131-3 "PLC programming languages"

The following list informs which features of the →IEC-standard are supported in logi.CAD 3. The list is based on the specifications of section 5 "Compliance" of this IEC-standard:

  • Table no. and title refers to the tables and/or figures listed in the IEC-standard.

  • LC3 informs whether you can use the feature in the programming language of logi.CAD 3 (= icon images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg ) or not (= icon images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg ).

  • Feature no. and Feature description refers to the feature listed in the appertaining table of figure.

  • Compliant informs whether the feature has been implemented compliantly in logi.CAD 3 (= icon images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg ) or whether it differs from the IEC-standard (= icon images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg ) . The label – in this column indicates that this feature has not been implemented in logi.CAD 3 yet.

  • Note by logi.cals informs about details of the feature. In case of images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg under Compliant, information are added in which degree logi.CAD 3 deviates from the IEC-standard.


Implementer: logi.cals (see Contact information)
Product: logi.CAD 3 – version 3.21.0

logi.CAD 3 complies with the requirements of the IEC-standard for the following language features:

Feature no.

LC3

Table no. and title or
Feature description

Compliant

Note by logi.cals


→ST


ST




Figure 13 – Usage of function block input and output parameters (Rules)



1a)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Input read – inside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg


1b)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Input read – outside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg

Not allowed according to IEC-standard.
Possible enhancement in logi.CAD 3: →Input variables of →function block instances can be read outside of function blocks.

2a)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Input assignment – inside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg

Not allowed according to IEC-standard.

Possible enhancement in logi.CAD 3, if the corresponding rule is deactivated →Input variables can be written to inside of →function blocks.

2b)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Input assignment – outside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg


3a)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Output read – inside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg


3b)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Output read – outside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg


4a)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Output assignment – inside function block

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg


4b)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg

Output assignment – outside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg

Not allowed according to IEC-standard.

Possible enhancement in logi.CAD 3, if the corresponding rule is deactivated →Output variables (= VAR_OUTPUT) of →function block instances can be written to outside of the function block.

5a)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

In-out read – inside function block

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg


5b)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg

In-out read – outside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Not allowed according to IEC-standard.

6a)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

In-out assignment – inside function block

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

Allowed according to IEC-standard, note 3.

6b)

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg /images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg

In-out assignment – outside function blocks

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg

"Call with immediate parameter assignment" – allowed according to IEC-standard (if it is an expression which might be on the left side of the assignment operator := as well)
Possible enhancement inlogi.CAD 3 (for FBD), if the corresponding rule is deactivated : Connections (= lines) from an output of a →function block to a VAR_IN_OUT variable (= →in-out variable) are allowed.

"Separate assignment " – Not allowed according to IEC-standard.

Enhancements in logi.CAD 3

logi.CAD 3 provides the following enhancements to the IEC-standard:

Enhancement

Details under:

attribute SIZE for directly derived data types

Declaration of a directly derived data type in ST

using named values of the appropriate data type for the array limits

Declaration of an ARRAY data type in ST

assigning the minimum value or maximum value of a data type in ST

How to assign the minimum or maximum value of a data type?

system blocks based on the →IEC-standard but with enhancements:

  • bitstring functions: ROL , ROR , SHL, SHR

  • convert functions: TO_BOOL, TO_BYTE, TO_DINT,
    TO_DWORD, TO_INT, TO_LINT, TO_LREAL, TO_LWORD,
    TO_REAL, TO_SINT, TO_UDINT, TO_UINT, TO_ULINT,
    TO_USINT, TO_WORD

  • counter function blocks: CTD_UINT, CTU_UINT, CTUD_UINT

  • numeric functions: EXPT

  • select functions: MUX_BYTE, MUX_DINT, MUX_DWORD, MUX_INT, MUX_SINT, MUX_UDINT, MUX_UINT, MUX_USINT, MUX_WORD

system blocks in addition to the →IEC-standard:

  • enhanced bistable function blocks

  • enhanced bitstring functions

  • enhanced control function blocks

  • enhanced convert functions

  • enhanced numeric functions

  • enhanced select functions

  • enhanced timer function blocks

  • enhanced memory functions

several variable sections VAR_GLOBAL...END_VAR within RESOURCE or CONFIGURATION

Declaration of global variables in ST

declaring global variables in a central object

Declaration of global variables in global-object and its usage in ST

write access to bit, byte, word or double word of an ANY_BIT variable

Partial access of ANY_BIT variables

  • partial elements of in- and output variables within the call of a function block instance

  • assignments of ENO of the block separately from the call of the block

Call of function block instance in ST

action qualifier PN

Action qualifiers for SFC elements

attribute OFFSET for partial addresses,
several variables with one partial address or several variables with partial addresses in one line

Declaration of a language element with partial address in ST

description, comment, JSON-string for variable or data type

Defining description, comment, JSON string or type for variables or data types

property statements

Property statement in ST

statement to suppress warnings

Statement to suppress warnings

statement to ignore ST-objects

Statement to ignore ST-objects

assignments from or to variables:

Figure 13 – Usage of function block input and output parameters (Rules) and/or
Rules for the validation of an application
and/or
Declaration of internal variables in ST and Declaration of function block instances in ST respectively

→References to local, temporary →variables can be used in →functions / →methods .

Rules for the validation of an application

parallel usage of SFC elements and FBD elements within the same POU

SFC elements in drawing field

behavior of negated inputs to which no other element is connected

Negating inputs and outputs

More enhancements might be provided in your used logi.CAD 3 v ersion:

Enhancement

Details under:

Other provided system blocks:

  • target-system-depending blocks

  • more system blocks

VAR_CONFIG section within resources and attribute SIZE within VAR_CONFIG sections

Declaring VAR_CONFIG sections within PLC-object

declaring VAR_CONFIG sections within a central object

Declaring VAR_CONFIG section within a VarCfg-object