Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
en:software:qview:qview_6:ladder_library:legenda [2014/10/30 10:27] – qem202 | en:software:qview:qview_6:ladder_library:legenda [2019/08/29 17:01] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== EN - ENO, execution flow control ====== | ||
+ | According to the IEC61131-3 standards specification, | ||
+ | Execution of the operations defined in the function will be controlled according to the following rules: | ||
+ | |||
+ | * If **EN** is FALSE (0) when the function is called, the operations defined by the function will not be executed and **ENO** sarà will be set to FALSE (0) by the programmable controller system (QMove). | ||
+ | |||
+ | * Otherwise, **ENO** will be set to TRUE (1) by the programmable controller system (QMove), and the operations defined by the function will be executed. \\ These operations can include the assignment of a boolean value in **ENO**. | ||
+ | |||
+ | * If internal errors occur during the execution of one of the standard functions, the **ENO** output of that function will be set to FALSE (0) by the programmable controller system (QMove). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The figure above shows a typical use of the **EN** - **ENO** states in a Ladder grid. | ||
+ | |||
+ | **Equivalent QCL code:** | ||
+ | |||
+ | <code QCL> | ||
+ | ; start of RUNG | ||
+ | power_flow = 1 | ||
+ | |||
+ | ; management of normally open contact ADD_EN | ||
+ | power_flow = power_flow AND ADD_EN | ||
+ | |||
+ | ; management of ADD function where a Setpoint is added to 1000 | ||
+ | IF power_flow | ||
+ | Setpoint = Setpoint + 1000 | ||
+ | ENDIF | ||
+ | |||
+ | ; management of the normally open coil ADD_OK | ||
+ | ADD_OK = power_flow | ||
+ | </ | ||
+ | |||
+ | It can be seen that in the equivalent code, if the **EN** input of the **ADD** function is OFF, the whole function is not executed. | ||
+ | |||
+ | ====== Reference variable groups ====== | ||
+ | |||
+ | The Ladder language defines that each reference varaiable falls under one of the following groups: | ||
+ | |||
+ | | ( UNCHECKED ) | | ||
+ | | ( NORMAL ) | | ||
+ | | ( COMMAND ) | | ||
+ | | ( ARRAY NAME ) | | ||
+ | | ( TIMER NAME ) | | ||
+ | | ( STATIC NAME ) | | ||
+ | | ( INDEX NAME ) | | ||
+ | | ( DEVICE NAME ) | | ||
+ | | ( DEVICE PARAMETER ) | | ||
+ | | ( DEVICE COMMAND ) | | ||
+ | |||
+ | The UNCHECKED group is used to define variables that do not undergo any validity control. This type of group is only used if absolutely necessary since it does not allow to identify an invalid variable setting during the project Check and Compilation procedures. | ||
+ | |||
+ | ====== Types of data access of reference variable | ||
+ | |||
+ | Ladder, as in QCL, has the following 3 access types : | ||
+ | |||
+ | | R | ||
+ | | W | ||
+ | | RW | ( READ / WRITE ) | | ||
+ | |||
+ | ====== Types of data for the reference variable ====== | ||
+ | |||
+ | Ladder, as in QCL, has the following 5 types of data : | ||
+ | |||
+ | | F | ( FLAG ) | | ||
+ | | B | ( BYTE ) | | ||
+ | | W | ( WORD ) | | ||
+ | | L | ( LONG ) | | ||
+ | | S | ( SINGLE ) | |