Grafcet DIN standard : DIN EN 60848¶
Overview¶
Grafcet sample:
No | Description |
---|---|
1 | Directed line |
2 | Directed line (pointing upwards) |
3 | Initial Step 1 |
4 | Continuous Action |
5 | Transition with transition condition 'I1' |
6 | Stored action on activation |
7 | Alternative branching |
8 | Time-dependent transition |
9 | Normal Step |
Further Grafcet examples can be found here
Grafcet symbols¶
Symbol | Description | Remarks |
---|---|---|
Initial Step | Is activated when the system is switched on. | |
(Normal) Step | - | |
Enclosing step | Is connected to one or more sub-grafcets (enclosure) | |
Initial Inclosing Step | Is associated with one or more sub-grafcets (enclosure). This sub-grafcet contains at least 1 initial step. | |
Macro Step | Is connected to one or more sub-grafcets (expansion). This sub-grafcet must contain an input step and an output step. The name of the macro step must begin with M. | |
Jump | Activates the specified step | |
Directed line | Connects Grafcet elements with each other. Effective direction is downwards. | |
Directed line directing upwards | Connects Grafcet elements with each other. Effective direction is upwards. | |
Transition | Here the logical condition is defined which activates the next step. This condition must return True or False. | |
Alternative Branch | The individual transition conditions must be mutually exclusive. Otherwise the behaviour is not clearly defined. | |
Parallel Branch | The connected steps are activated simultaneously. | |
Synchronization | The following transition is only enabled if all steps are active. | |
Continuous Action | Writes the step state (True or False) continuously (continuously) to the operands. | |
Continuous action with condition | Writes True if step active and the condition is True, otherwise False is written. | |
Stored Action on Activation | The operand is written once when step is activated. | |
Stored action on deactivation | The operand is written once when the step is deactivated. | |
Action stored on event | The operand is written once if the step is active and the event (e.g. edge) is then fulfilled. | |
Forcing Control Situation | Activate and hold certain steps of a sub-grafcet | |
Forcing Current Situation | Freeze (hold) current state of steps | |
Forcing Empty Situation | Disable all steps of a sub-grafcet | |
Forcing Initial Situation | Enable all initial steps of a sub-grafcet. Deactivate all other steps in the sub-grafcet. |
Grafcet rules¶
- A transition can only trigger (activate the next step) if the transition condition is fulfilled and this is released. The release is completed if the step immediately before it is active.
- Steps and transitions must always alternate. 2 steps or 2 transitions in a row are not allowed.
- The transition condition is always evaluated independent of the step status. This means that if times are started independently of the step variable, they can already run before the step is activated.
- If a step is forced, the actions react with normal behavior to the status of the step.
- Several steps can be active at the same time.
- Several steps in a linear step chain may be active simultaneously**.
Note 1 on actions¶
Continuous actions and stored actions.
If an operand is written with a continuous action, then the same operand must not be written with a stored action. Why is this so? The cont. action is similar to an assignment that is processed at the end of the PLC cycle.
The cont. action writes either TRUE or FALSE in the specified operands. Thus, it always writes continuously, at any time. If several continuous actions write the same operand, the state of the operand is determined by the OR operation of all step variables.
This means that a stored action, which is processed within the cycle, is always overwritten by the cont. action. For this reason, it makes no sense to use cont. actions and stored actions that write to the same operand. Grafcet-Studio therefore displays an error.
Note 2 on actions¶
Stored actions on event
Stored actions on Event write the operand at a determined time (event). This event is defined in a term. The term should define a change of value- i.e. an edge.
Example:
Event= ↑I0
The event is therefore defined as a rising edge of I0.
Important: However, the edge is not evaluated until the corresponding step is active. This means that the edge is not detected if the step is inactive.
Conclusion: The operand is written 1 time if the corresponding step is active and the edge occurs afterwards.
Consequently, the operand is not written when:
- the edge occurs, before the corresponding step is active.
- the edge occurs simultaneously with the step activation.