Table of symbols

In the symbol table you define all operands (inputs, outputs, data) that you want to use in the Grafcet. You can specify the names of the symbols yourself.

Nr Declaration
1 Filter this table
2 Button Insert: Insert symbol at current position
3 Button Delete: Delete selected symbols
4 Import and export of symbols: A context menu with import and export functions is opened.
5 Column Drag&Drop. The line can be moved with the mouse to adjust the address.
6 Column Group: If the symbol is a sensor, actuator or a data symbol ?
7 Column Type: Data type selection: BOOL, INT16, INT32, UINT8, UINT16, UINT32, FLOAT.
8 Column Symbol: Name of the symbol. Max. 24 characters. 1st character must be a letter. Allowed characters: Numbers, letters, _
9 Column Comment: Comment for the symbol
10 Column Address: The address (is calculated) of the symbol in the Device. Can be changed by Drag&Drop. The start address can be changed in the device settings.
11 Column DB address: Symbol address in the symbol memory (data block). Only interesting if you want to access the symbol in the native program (IL, FBD, LD, SCL, Python, etc.).
12 Column Flags: Setting options for the simulator mode (without virtual plant): {{NC}} or {NC}} Symbol is a normally closed contact. {{Button}}: Symbol is a button. {{#3}}: 3 bits are to be reserved for the symbol. This "flag" is used to create address gaps.
13 Column Use: How often is a symbol used in the Grafcet plan?


The symbol table is the address basis for the Grafcet. Make sure that the specified addresses match the device address or the simulation model (SPS-VISU, PLC-Lab-Runtime, FACTORY I/O). The start address can be set via the device settings. You can also use the sequence to affect the address.


Also ensure that the inputs belong to the "Sensor" grouping and the outputs to the "Actuator" grouping.

Definition of the I/O address

The I/O address (Address column) is automatically calculated from top to bottom. Therefore, create the symbols in the correct order. You can move rows using Drag&Drop. Figure: The first column can be used for the Drag&Drop action.

For multiple lines, you can also use Cut (Ctrl+X) and Paste (Ctrl+V). You can define the initial addresses in the device settings. Example: The device has the following I/O addresses: - Digital inputs: Byte address 10-12 (3 bytes, 24 DI) - Digital outputs: Byte address 10-11 (2 bytes, 16 DO) - Analog inputs: Byte address 100-107 (8 bytes, 4 AI) - Analog outputs: Byte address 100-103 (4 bytes, 2 AO)

In this case, the device configuration must be set to this value:

Grouping in the symbol table

Column Declaration
Sensor This symbol is an input in the device to which a sensor (e.g. limit switch) is connected. The state of the inputs (from the device) are copied cyclically into these symbols.
Actuator This symbol is an output in the device to which an actuator (e.g. lamp) is connected. The value of this symbol is transferred cyclically from the Grafcet engine to the outputs of the device.
Data This symbol is neither input nor output. The symbol is not read or write by the Grafcet engine. This symbol can be used for intermediate calculations or for data exchange with the device.

Changing a value in watch mode

In the Current value column, the current value of the symbol is displayed in Watch mode. If you click on this cell with the mouse and then press F2, you can enter a desired value in decimal notation which is written into the device when you press the RETURN key.


Note: The value is only written 1x. If the symbol in the Grafcet is overwritten immediately, you may not see any effects.

If you do not want to write a value, enter "-" and press the RETURN key.

Symbol table and I/O panel

All symbols are displayed in the I/O Panel.

Import and export of symbols (Grafcet Studio version >=

The import and export functions can be used to import and export symbols in various file formats. The formats XML, CSV and ASC are available:

File type Description
XML Suitable for TIA PORTAL, Excel and PLC-Lab
CSV Suitable for Excel
ASC Suitable for Simatic Manager (Step7 V5.x)

When importing, all symbols from the import file are always inserted into the symbol table. The existing symbols are not affected. You may have to adjust the I/O addresses after the import You define the initial addresses in the device settings (Grafcet Engine window). You can influence the address itself by the correct order. For address gaps, you can reserve 5 bits for a BOOL symbol, for example, by using the flag {{#5}}. When exporting, all symbols are always exported.

Flags in the symbol table

In the Flags column, you can assign simulation properties to symbols. These flags only have meaning in simulator mode if no virtual system is connected.

Flag Description
{{NC}} Symbol is an normally closed contact. The operand is set to True at the beginning of the simulation.
{{button}} Symbol is handled like a button. If you click on the input in the I/O Panel, it is only switched to True for a short time
{{#3}}} The # character can be used to reserve bits for a symbol. This way you can define address gaps in the symbol file and save yourself the trouble of creating reserve symbols.
{{notiniopanel}} This flag is used to hide the symbol in the I/O panel. Possible in version and above.
{{%2.0}} or {{%10}} Addressing can be manually set. Pay attention to address overlaps. Possible in version and above.

Negate signals (starting V2.1.0.1)

In the classic Grafcet chart NC contacts are usually not considered. If the Grafcet chart is converted into a PLC program, NC contacts must be taken into account. Since Grafcet-Studio can use the Grafcet logic with a virtual plant or also in a real control system, signals via NC contacts must be taken into consideration as with a PLC program.

However, this can be avoided with the {{negate}} flag within the symbol table. As a result the Grafcet Chart can be used unchanged with a virtual system or in a real controller. When this flag is assigned to an input-symbol always the negated state is used. Thus, a negation is not necessary in the Grafcet Chart itself.

In Picture1 a Grafcet Chart can be seen which switches a motor on and off. Here, it does not matter whether the switch for switching off or the emergency stop switch are NC contacts. You can see in the Grafcet Chart if the condition S1_Off or the condition S3_EmergencyStop is fulfilled, then the motor is switched off. No NC contacts are used here.

Picture1 Picture2

Picture2 shows how to draw the Grafcet when S1 and S3 are NC contacts.

If you insert the flag {{negate}} in the symbol line for S1 and S3, the Grafcet chart does not need to be changed. The adjustment for NC contacts is made in the symbol file.

Flags have been added:

Note: In Watch Mode the colored Hi-Lo indication is adjusted accordingly. I.e. a symbol with the value '0' is highlighted.