The following items will be included in a maintenance item proposal for preparation of a Third Edition of IEC 61131-3, to be submitted to IEC TC65:
view_declaration ::= 'VIEW' view_name
view_var_decl {view_var_decl}
'END_VIEW'
view_name ::= 'GLOBAL' | 'EXTERNAL' | 'PROG_INIT' | 'PROG_ACCESS' | 'VAR_ACCESS' | 'IO_CONFIG' | app_specific_view_name
app_specific_view_name ::= identifier
view_var_decl ::= variable_name privilege ';'
privilege ::= 'READ_ONLY' | 'READ_WRITE'
The interpretation of view names would be as follows:
GLOBAL: capable of being accessed by contained entities.
EXTERNAL: capable of accessing the variable in a container entity
PROG_INIT: capable of instance-specific initialization by a containing declaration
PROG_ACCESS: capable of being accessed by a containing entity at run time
VAR_ACCESS: capable of being accessed by a generic access path
IO_CONFIG: capable of being assigned to an explicitly represented location by a containing entity to be accessed by the contained entity. This location would have to be consistent with the variable's type and privilege declarations.
Application-specific view names might be, e.g., OPERATOR_ACCESS, ENGINEER_ACCESS, PROGRAMMER_ACCESS, etc.
Visibility of a variable would be restricted to the first level containing entity unless the containing function block instance is propagated outward through the same kind of view.
The following items are brainstormed for future consideration (not part of the maintenance proposal): Java, flow chart.