
- •Important Comments
- •Legal Principles
- •Copyright
- •Personnel Qualification
- •Intended Use
- •Symbols
- •Font Conventions
- •Number Notation
- •Scope
- •Abbreviations
- •Scope of Delivery
- •System Configuration
- •Installation
- •Uninstall
- •Start
- •Important Informations
- •WAGO-I/O-PRO 32 V2.2 Overview
- •What is WAGO-I/O-PRO 32
- •Overview of WAGO-I/O-PRO 32 Functions
- •How is a project structured?
- •How do I set up my project?
- •How can I test my project?
- •Debugging
- •Additional Online Functions
- •Additional WAGO-I/O-PRO 32 Features
- •Summary
- •Project Components
- •Project
- •POU (Program Organization Unit)
- •Function
- •Function Block
- •Function Block Instances
- •Calling a function block
- •Program
- •Action
- •Resources
- •Libraries
- •Data types
- •Visualization
- •Languages
- •Instruction List (IL)
- •Modifiers and operators in IL
- •Structured Text (ST)
- •Expressions
- •Valuation of expressions
- •Assignment operator
- •Calling function blocks in ST
- •RETURN instruction
- •IF instruction
- •CASE instruction
- •FOR loop
- •WHILE loop
- •REPEAT loop
- •EXIT instruction
- •Sequential Function Chart (SFC)
- •Step
- •Action
- •Entry or exit action
- •Active step
- •IEC step
- •Qualifier
- •Implicit variables in SFC
- •SFC Flags
- •Alternative branch
- •Parallel branch
- •Jump
- •Function Block Diagram (FBD)
- •The Continuous Function Chart Editor (CFC)
- •Ladder Diagram (LD)
- •Contact
- •Coil
- •Function blocks in the Ladder Diagram
- •Set/Reset coils
- •Debugging, Online Functions
- •Sampling Trace
- •Debugging
- •Breakpoint
- •Single step
- •Single Cycle
- •Change values online
- •Monitoring
- •Simulation
- •The Standard
- •Programming Example
- •Controlling a Traffic Signal Unit
- •Create POU
- •What does TRAFFICSIGNAL do?
- •What does WAIT do?
- •What does SEQUENCE do?
- •What does PLC_PRG do?
- •"TRAFFICSIGNAL" declaration
- •"TRAFFICSIGNAL" body
- •Connecting the standard.lib
- •"WAIT" declaration
- •"WAIT" body
- •"SEQUENCE" first expansion level
- •Create a SFC diagram
- •Actions and transition conditions
- •"SEQUENCE" second expansion level
- •The result
- •TRAFFICSIGNAL simulation
- •Visualizing a Traffic Signal Unit
- •Creating a new visualization
- •Insert element in Visualization
- •The other traffic lights
- •The TRAFFICSIGNAL case
- •The second traffic signal
- •The ON switch
- •Font in the visualization
- •Components of WAGO-I/O-PRO 32
- •The Main Window
- •Menu bar
- •Tool bar
- •Object Organizer
- •Screen divider
- •Work space
- •Message window
- •Status bar
- •Context Menu
- •Options
- •'Project' 'Options'
- •Options for Load & Save
- •Options for User information
- •Options for Editor
- •Autodeclaration
- •Autoformat
- •Declarations as tables
- •Print margins
- •Comment
- •Tab-Width
- •Font
- •Mark
- •Bitvalues
- •Options for the Desktop
- •Options for Colors
- •Options for Directories
- •Options for Log
- •Options for Build
- •Passwords
- •'Sourcedownload'
- •Options for 'Symbol Configuration'
- •Options for 'Macros'
- •Managing Projects
- •'File' 'New'
- •'File' 'Open'
- •'File' 'Close'
- •'File' 'Save'
- •'File' 'Save as'
- •'File' 'Save/Mail Archive'
- •'File' 'Print'
- •'File' 'Printer setup'
- •'File' 'Exit'
- •'Project' 'Build'
- •'Project' 'Rebuild all'
- •'Project' 'Clean all'
- •'Project' 'Translate into another language'
- •Create translation file
- •Editing of the translation file
- •Translate Project (into another Language)
- •'Project' 'Document'
- •'Project' 'Export'
- •'Project' 'Import'
- •'Project' 'Merge'
- •'Project' 'Compare'
- •'Extras' 'Next difference'
- •'Extras' 'Previous difference'
- •'Extras' 'Accept change'
- •'Extras' 'Accept changed item'
- •'Extras' 'Accept properties'
- •'Extras' 'Accept access rights'
- •'Project' 'Project info'
- •'Project' 'Global Search'
- •'Project' 'Global replace'
- •'Project' 'Check'
- •Unused Variables
- •Overlapping memory areas
- •Access conflict
- •Multiple writes to output
- •User groups
- •'Project' 'Passwords for user groups'
- •Managing Objects in a Project
- •Object
- •Folder
- •'New Folder'
- •'Expand nodes' 'Collapse nodes'
- •'Project' 'Object Delete'
- •'Project' 'Object Add'
- •'Project' 'Object Rename'
- •'Project' 'Object Convert'
- •'Project' 'Object Copy'
- •'Project' 'Object Open'
- •'Project' 'Object Access rights'
- •'Project' 'Object properties'
- •'Project' 'Add Action'
- •'Project' 'Open Instance'
- •'Project' 'Show Call Tree'
- •'Projekt' 'Show cross reference'
- •General Editing Functions
- •'Edit' 'Undo'
- •'Edit' 'Redo'
- •'Edit' 'Cut'
- •'Edit' 'Copy'
- •'Edit' 'Paste'
- •'Edit' 'Delete"
- •'Edit' 'Find'
- •'Edit' 'Find next'
- •'Edit' 'Replace'
- •'Edit' 'Input Assistant'
- •Unstructured Display
- •Stuctured Display
- •'Edit''Declare Variable'
- •'Edit' 'Next error'"
- •'Edit' 'Previous error'"
- •'Edit' 'Macros'
- •General Online Functions
- •'Online-Change' Functionality
- •'Online' 'Login'
- •If the system reports
- •'Online' 'Logout'
- •'Online' 'Download'
- •'Online' 'Run'
- •'Online' 'Stop'
- •'Online' 'Reset'
- •'Online' 'Reset (cold)'
- •'Online' 'Reset (original)'
- •'Online' 'Toggle Breakpoint'
- •'Online' 'Breakpoint Dialog Box'
- •'Online' 'Step over'
- •'Online' 'Step in'
- •'Online' 'Single Cycle'
- •'Online' 'Write values'
- •'Online' 'Force values'
- •'Online' 'Release force'
- •'Online' 'Write/Force' Dialog'
- •'Online' 'Show Call Stack'
- •'Online' 'Flow Control'"
- •'Online' 'Simulation'
- •'Online' 'Communication Parameters'
- •Principle of a gateway system
- •What the communications parameters dialog on the local PC shows
- •Setting up the desired gateway server and channel
- •Setting up a new channel for the local gateway server
- •Tips for editing the parameters in the communications parameters dialogue
- •Quick check in the event of unsuccessful connection attempt to the gateway
- •'Online' 'Sourcecode download'
- •'Online' 'Create bootproject'
- •'Online' 'Write file to controller'
- •'Online' 'Load file from controller'
- •'Window' 'Log'
- •Menu Log
- •Storing the project log
- •Window set up
- •'Window' 'Tile Horizontal'
- •'Window' 'Tile Vertical'
- •'Window' 'Cascade'
- •'Window' 'Arrange Symbols'
- •'Window' 'Close All'
- •'Window' 'Messages'
- •Help when you need it
- •'Help' 'Contents and Index'
- •Main Help Window
- •Index Window
- •Context Sensitive Help
- •The Editors
- •Print margins
- •Comment
- •Zoom to POU
- •Open instance
- •Declaration Editor
- •Declaration Part
- •Input Variable
- •Output Variable
- •Input and Output Variables
- •Local Variables
- •Remanent variables
- •Constants, Typed Literals
- •External variables
- •Keywords
- •Variables declaration
- •AT Declaration
- •'Insert' 'Declarations keywords'
- •'Insert' 'Type'
- •Syntax Coloring
- •Shortcut Mode
- •Autodeclaration
- •Line Numbers in the Declaration Editor
- •Declarations as tables
- •'Insert' 'New Declaration'
- •Pragma instructiion
- •Declaration Editors in Online Mode
- •The Text Editors
- •'Insert''Operators'in text editors
- •'Insert''Operand'in text editors
- •'Insert''Function' in text editors
- •'Insert''Function Block' in text editors
- •Calling POUs with output parameters in text editors
- •The text editors in Online mode
- •'Extras' 'Monitoring Options'
- •Breakpoint Positions in Text Editor
- •How do you set a breakpoint?
- •Deleting Breakpoints
- •What happens at a breakpoint?
- •Line Number of the Text Editor
- •The Instruction List Editor
- •IL in Online mode
- •The Editor for Structured Text
- •The Graphic Editors
- •Zoom
- •Network
- •Label
- •Network Comments,'Extras' 'Options'
- •'Insert' 'Network (after)' or 'Insert' "Network (before)"
- •The network editors in the online mode
- •The Function Block Diagram Editor
- •Cursor positions in FBD
- •How to set the cursor in FBD
- •'Insert' 'Assign' in FBD
- •'Insert' 'Jump' in FBD
- •'Insert' 'Return' in FBD
- •'Insert' 'Box' in FBD
- •'Insert' 'Input'
- •'Insert' 'Output'
- •'Extras' 'Negate
- •'Extras' 'Set/Reset'
- •Cutting, Copying, Pasting, and Deleting in FBD
- •The Function Block Diagram in the Online Mode
- •The Ladder Editor
- •Cursor Positions in the LD Editors
- •'Insert' 'Contact'in LD
- •'Insert' 'Parallel Contact'
- •'Insert' 'Function Block in LD'
- •'Insert''Coil' in LD
- •POUs with EN Inputs
- •'Insert' 'Box with EN in LD'
- •'Insert' 'Function Block with EN'
- •'Insert' 'Function with EN'
- •'Insert' 'Insert at blocks in LD
- •'Insert' 'Jump' in LD
- •'Insert' 'Return' in LD
- •'Extras' 'Paste after' in LD
- •'Extras' 'Paste below'in LD
- •'Extras' 'Paste above' in LD
- •'Extras' 'Negate' in LD
- •'Extras' 'Set/Reset' in LD
- •The Ladder Diagram in the Online Mode
- •The Sequential Function Chart Editor
- •Marking Blocks in the SFC
- •'Insert' 'Step Transition (before)'
- •'Insert' 'Step Transition (after)'
- •'Insert' 'Alternative Branch (right)'
- •'Insert' 'Alternative Branch (left)'
- •'Insert' "Parallel Branch (right)"
- •'Insert' 'Parallel Branch (left)'
- •'Insert' 'Jump'
- •'Insert' 'Transition-Jump'
- •'Extras' 'Paste Parallel Branch (right)'
- •'Extras' 'Add label to parallel branch'
- •Delete a label
- •'Extras' 'Paste after'
- •'Extras' 'Zoom Action/Transition'
- •'Extras' "Clear Action/Transition"
- •'Extras' 'Step Attributes'
- •'Extras' 'Time Overview'
- •'Extras' 'Options'
- •'Extras' 'Associate Action'
- •Sequential Function Chart in Online Mode
- •The Continuous Function Chart Editor (CFC)
- •Cursor positions in the CFC
- •'Insert' 'Box' in the CFC
- •‚Insert' ‚Input' in CFC
- •'Insert' 'Output'in CFC
- •'Insert' 'Jump'in CFC
- •'Insert' 'Label' in CFC
- •'Insert' 'Return' in CFC
- •'Insert' 'Comment' in CFC
- •'Insert' 'Input of box' in CFC
- •'Extras' 'Negate' in CFC
- •'Extras' 'Set/Reset' in CFC
- •'Extras' 'EN/ENO' in CFC
- •‚Extras' ‚Properties...' in CFC
- •Selecting elementsin CFC
- •Moving elementsin CFC
- •Copying elementsin CFC
- •Creating connections
- •Deleting connections
- •Changing connections
- •'Extras' 'Connection marker'
- •Insert inputs/outputs "on the fly"
- •Order of execution
- •'Extras' 'Order' 'Display'
- •'Extras' 'Order' 'Order topologically'
- •'Extras' 'Order' 'One forwards'
- •'Extras' 'Order' 'One backwards'
- •'Extras' 'Order' 'To the beginning'
- •'Extras' 'Order' 'To the end'
- •'Extras' 'Order' 'Order everything according to data flow''
- •'Extras' 'Create macro''
- •'Extras' 'Jump into Macro'
- •'Extras' 'Expand macro'
- •'Extras' 'Back one macro level', 'Extras' 'Back all macro level'
- •Feedback paths in CFC
- •CFC in Online mode
- •Overview of the Resources
- •Global Variables
- •Editing Global Variables
- •Several Variables Lists
- •Global Variables
- •Create a Global Variable List
- •Editing Global Variable Lists
- •Editing Remanent Global Variables Lists
- •Global Constants
- •Variable Configuration
- •‚Insert' 'All Instance Paths'
- •Document Frame
- •Document Frame
- •'Extras' 'Make Docuframe File'
- •'Extras' 'Link Docu File'
- •PLC Browser
- •PLC Configuration
- •PLC Selection
- •Task Configuration
- •Which task is being processed?
- •Working in the Task Configuration
- •'Insert' 'Insert Task' or 'Insert' 'Append Task'
- •'Insert' 'Insert Program Call' or 'Insert' 'Append Program Call'
- •'Extras' 'Edit Entry'
- •'Extras' 'Set Debug Task'
- •Sampling Trace
- •'Extras' 'Trace Configuration'
- •'Extra' 'Start Trace'
- •'Extra' 'Read Trace'
- •'Extra' 'Auto Read'
- •'Extra' 'Stop Trace'
- •Selection of the Variables to be Displayed
- •Display of the Sampling Trace
- •'Extras' 'Cursor Mode'
- •'Extras' 'Multi Channel'
- •'Extras' 'Show grid'
- •'Extras' 'Y Scaling'
- •'Extras' 'Stretch'
- •'Extras' 'Compress'
- •'Extras' 'Save Trace'
- •'Extras' 'Load Trace'
- •Watch and Receipt Manager
- •Watch and Receipt Manager
- •Watch and Receipt Manager in the Offline Mode
- •'Insert' 'New Watch List'
- •'Extras' 'Rename Watch List'
- •'Extras' 'Save Watch List'
- •'Extras' 'Load Watch List'
- •Watch and Receipt Manager in the Online Mode
- •'Extra' 'Monitoring Active'
- •'Extras' 'Write Receipt'
- •'Extras' 'Read Receipt'
- •Force values
- •Library Manager
- •Using the Library Manager
- •Standard Library
- •User-defined Libraries
- •'Insert' 'Additional Library'
- •Remove Library
- •Visualization
- •Visualization
- •Create Visualization
- •Visualization Elements, Insert
- •Visualization Elements, Insert
- •'Insert' 'Rectangle'
- •'Insert' 'Rounded Rectangle'
- •'Insert' 'Ellipse'
- •'Insert' 'Polygon'
- •'Insert' 'Line'
- •'Insert' 'Curve'
- •'Insert' 'Bitmap'
- •'Insert' 'Visualization'
- •'Insert' 'Button'
- •Working with Visualization Elements
- •Selecting Visualization Elements
- •Modifying Visualization Elements
- •Dragging Visualization Elements
- •Copying Visual Elements
- •Changing the Selection and Insert Mode
- •Status Bar in the Visualization
- •Visualization Elements, Configure
- •'Extras' 'Configure'
- •Placeholder
- •'Extras' 'Placeholder list'
- •Shape
- •Text
- •Line width
- •Colors
- •Motion absolute
- •Motion relative
- •Variables
- •Input
- •ToolTip
- •Bitmap
- •Visualization
- •Additional Visualization Element Functions
- •'Extras' 'Send to Front'
- •'Extras' 'Send to Back'
- •'Extras' 'Select Background Bitmap'
- •'Extras' 'Clear Background Bitmap'
- •'Extras' 'Align'
- •'Extras' 'Select All'
- •'Extras' 'Select Mode'
- •'Extras' 'Element list'
- •'Extras' 'Settings'
- •Operation over the keyboard - in online mode
- •'File' 'Print' in online mode
- •Visualizations in libraries
- •DDE Interface
- •DDE Communication with WAGO-I/O-PRO 32
- •Activating the DDE Interface
- •General Approach to Data
- •Which variables can be read?
- •Linking variables using WORD
- •Linking variables using EXCEL
- •Accessing variables with Intouch
- •Keyboard Commands
- •Use of Keyboard
- •Key Combinations
- •Data Types
- •Standard Data types
- •Data types
- •BOOL
- •Integer Data Types
- •REAL
- •STRING
- •Time Data Types
- •Defined Data Types
- •ARRAY
- •Function Checkbounds
- •Pointer
- •Enumeration
- •Structures
- •References
- •Subrange types
- •The IEC Operators
- •The IEC Operators
- •Arithmetic Operators
- •INDEXOF
- •SIZEOF
- •Bitstring Operators
- •Bit-Shift Operators
- •Selection Operators
- •LIMIT
- •Comparison Operators
- •Address Operators
- •Content Operator
- •Calling Operator
- •Type Conversion Functions
- •BOOL_TO Conversions
- •TO_BOOL Conversions
- •Conversion between Integral Number Types
- •REAL_TO Conversions
- •TIME_TO/TIME_OF_DAY Conversions
- •STRING_TO Conversions
- •TRUNC
- •Numeric Functions
- •SQRT
- •ASIN
- •ACOS
- •ATAN
- •EXPT
- •Standard Library Elements
- •String functions
- •LEFT
- •RIGHT
- •CONCAT
- •INSERT
- •DELETE
- •REPLACE
- •FIND
- •Bistable Function Blocks
- •SEMA
- •Trigger
- •R_TRIG
- •F_TRIG
- •Counter
- •CTUD
- •Timer
- •The UTIL.LIB Library
- •UTIL.LIB Library
- •BCD conversion
- •Bit/byte functions
- •EXTRACT
- •PACK
- •PUTBIT
- •UNPACK
- •Mathematical help functions
- •DERIVATIVE
- •INTEGRAL
- •STATISTICS_INT
- •STATISTICS_REAL
- •VARIANCE
- •Controllers
- •Signal generators
- •BLINK
- •Function manipulators
- •CHARCURVE
- •RAMP_INT
- •RAMP_REAL
- •Analogue value processing
- •HYSTERESIS
- •LIMITALARM

188 • The Editors
The Graphic Editors
5.4.3 The Ladder Editor
This is how a POU written in the LD appears in the WAGO-I/O-PRO 32 editor:
All editors for POUs consist of a declaration part and a body. These are separated by a screen divider.
The LD editor is a graphic editor. The most important commands are found in the context menu (right mouse button or <Ctrl>+<F10>).
For information about the elements, see Ladder Diagram (LD).
5.4.3.1 Cursor Positions in the LD Editors
The following locations can be cursor positions, in which the function block and program accessing can be handled as contacts. POUs with EN inputs and other POUs connected to them are treated the same way as in the Function Block Diagram. Information about editing this network part can be found in the chapteron the FBD Editor.
1. Every text field (possible cursor positions framed in black)
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

The Editors • 189
The Graphic Editors
2.Every Contact or Function Block
3.Every Coil
4.The Connecting Line between the Contacts and the Coils.
The Ladder Diagram uses the following menu commands in a special way:
5.4.3.2 'Insert' 'Contact'in LD
Symbol: |
Shortcut: <Ctrl>+<O> |
Use this command in the LD editor in order to insert a contact in front of the marked location in the network.
If the marked position is a coil or the connecting line between the contacts and the coils, then the new contact will be connected serially to the previous contact connection.
The contact is preset with the text "???". You can click on this text and change it to the desired variable or the desired constant. For this you can also use the Input Assistant.
5.4.3.3 'Insert' 'Parallel Contact'
Symbol: |
Shortcut: <Ctrl>+<R> |
Use this command in the LD editor to insert a contact parallel to the marked position in the network.
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

190 • The Editors
The Graphic Editors
If the marked position is a coil or the connection between the contacts and the coils, then the new contact will be connected in parallel to the entire previous contact connection.
The contact is preset with the text "???". You can click on this text and change it to the desired variable or the desired constant. For this you can also use the Input Assistant.
5.4.3.4 'Insert' 'Function Block in LD'
Shortcut: <Ctrl>+<B>
Use this command in order to insert an operator, a function block, a function or a program as a POU. For this, the connection between the contacts and the coils, or a coil, must be marked. The new POU at first has the designation AND. If you wish, you can change this designation to another one. For this you can also use the Input Assistant. Both standard and self-defined POUs are available.
The first input to the POU is placed on the input connection, the first output on the output connection; thus these variables must definitely be of type BOOL. All other inand outputs of the POU are filled with the text "???". These prior entries can be changed into other constants, variables or addresses. For this you can also use the Input Assistant.
5.4.3.5 'Insert''Coil' in LD
Symbol: |
Shortcut: <Ctrl>+<L> |
You can use this command in the LD editor to insert a coil in parallel to the previous coils.
If the marked position is a connection between the contacts and the coils, then the new coil will be inserted as the last. If the marked position is a coil, then the new coil will be inserted directly above it.
The coil is given the text "???" as a default setting. You can click on this text and change it to the desired variable. For this you can also use the Input Assistant.
5.4.3.6 POUs with EN Inputs
If you want to use your LD network as a PLC for calling up other POUs , then you must merge a POU with an EN input. Such a POU is connected in parallel to the coils. Beyond such a POU you can develop the network further, as in the Function Block Diagram. You can find the commands for insertion at an EN POU under the menu item 'Insert' 'Insert at Blocks'
An operator, a function block, a program or a function with EN input performs the same way as the corresponding POU in the Function Block Diagram, except that its execution is controlled on the EN input. This input is annexed at
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

The Editors • 191
The Graphic Editors
the connecting line between coils and contacts. If this connection carries the information "On", then the POU will be evaluated.
If a POU has been created once already with EN input, then this POU can be used to create a network. This means that data from usual operators, functions, and function blocks can flow in an EN POU and an EN POU can carry data to such usual POUs.
If, therefore, you want to program a network in the LD editor, as in FBD, you only need first to insert an EN operator in a new network. Subsequently, from this POU, you can continue to construct from your network, as in the FBD editor. A network thus formed will perform like the corresponding network in FBD.
5.4.3.7 'Insert' 'Box with EN in LD'
Use this command to insert a function block, an operator, a function or a program with EN input into a LD network.
The marked position must be the connection between the contacts and the coils (Cursor Position 4) or a coil (Cursor Position 3). The new POU is inserted in parallel to the coils and underneath them; it contains initially the designation "AND". If you wish, you can change this designation to another one. For this you can also use the Input Assistant.
5.4.3.8 'Insert' 'Function Block with EN'
With this command you can insert a function block with EN input into a LD network.
The marked position must be the connection between the contacts and the coils (Cursor Position 4) or a coil (Cursor Position 3). The new function block is inserted in parallel to the coils, below them. From the Input Assistantdialog box that appears, you can select whether to insert a user-defined, or a standard (default) function block.
5.4.3.9 'Insert' 'Function with EN'
With this command you can insert a function with EN input into an LD network.
The marked position must be the connection between the contacts and the coils (Cursor Position 4) or a coil (Cursor Position 3). The new function is inserted in parallel to the coils, below them. From the Input Assistantdialog box that appears, you can select whether to insert a user-defined, or a standard function block.
5.4.3.10'Insert' 'Insert at blocks in LD
With this command you can insert additional elements into a POU that has already been inserted (also a POU with EN input). The commands below this
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32