fst4 manual

253
FST Version 4.02.21 Manual 1 FST4 Manual Non-authorized DOC version Bernhard Plagemann Beck IPC GmbH http://www.beck-ipc.com/fst mail to: [email protected]

Upload: jroyal69

Post on 22-Jun-2015

65 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: FST4 Manual

FST Version 4.02.21 Manual

1

FST4 Manual

Non-authorized DOC version Bernhard Plagemann Beck IPC GmbH http://www.beck-ipc.com/fst mail to: [email protected]

Page 2: FST4 Manual

FST Version 4.02.21 Manual

2

Contents 1 Release Notes ........................................................................................................... 9

1.1 Installation of the FST 4.02 ................................................................................ 9 1.2 Uninstalling......................................................................................................... 9 1.3 Known Problems................................................................................................ 9

1.3.1 ONLINE HELP ............................................................................................ 9 1.3.2 EXTERNAL TOOLS.................................................................................. 10 1.3.3 TCP/IP....................................................................................................... 10 1.3.4 IO1x/IO4x.................................................................................................. 10 1.1.1 HC1X + RTC + DRAD + FESTOBUS ...................................................... 10 1.1.2 HC2X + AS-INTERFACE (CP96)............................................................. 10 1.1.3 HC2X + OM22 PLC SAFETY................................................................... 10 1.1.4 FIND & REPLACE.................................................................................... 10 1.1.5 STARTUP DRIVE ..................................................................................... 11 1.1.6 FILE HANDLING WITH FLOPPY DISK ................................................... 11 1.1.7 ONLINE..................................................................................................... 11 1.1.8 FIRST LOGIN TO NEW HC16 ................................................................. 11

1.4 What is new compared to FST 4.01.16 ........................................................... 11 1.5 Bug fixes since FST 4.01.16............................................................................ 12 1.6 What is new compared to FST 3 ..................................................................... 12 1.7 History .............................................................................................................. 13

2 FST4 User documentation ...................................................................................... 14 2.1 The Main Window ............................................................................................ 14

2.1.1 Windows Basics........................................................................................ 14 2.1.1.1 The Title Bar ..................................................................................... 14 2.1.1.2 The System menu............................................................................ 15 2.1.1.3 The Window Border.......................................................................... 15 2.1.1.4 Scrollbars.......................................................................................... 15

2.1.2 The Toolbar............................................................................................... 16 2.1.3 The Status Bar.......................................................................................... 17 2.1.4 The Menu.................................................................................................. 17

2.1.4.1 The Window Menu Commands........................................................ 18 2.1.4.2 The Edit Menu Commands .............................................................. 18

2.1.5 Viewing Properties .................................................................................... 19 2.1.6 Terminating FST....................................................................................... 19

2.2 Getting Help ..................................................................................................... 20 2.2.1 The Aboutbox............................................................................................ 20 2.2.2 Tip of the Day............................................................................................ 20 2.2.3 Help Topics............................................................................................... 20 2.2.4 Context Help ............................................................................................. 20 2.2.5 The Message Window.............................................................................. 21

2.3 Working with Projects ...................................................................................... 22 2.3.1.1 Project Name and Comment............................................................ 22 2.3.1.2 Controller Types ............................................................................... 22 2.3.1.3 Organisation on Hard Disk............................................................... 22

2.3.2 The Project Tree Window......................................................................... 23 2.3.3 Open an Existing Project.......................................................................... 24 2.3.4 Creating a New Project............................................................................. 25 2.3.5 Close the Current Project......................................................................... 26 2.3.6 The Project Settings ................................................................................. 26

2.3.6.1 The Project Directory........................................................................ 26 2.3.7 The Project Explorer ................................................................................. 27 2.3.8 Preparing the Project for Download ......................................................... 28 2.3.9 Downloading the Project to the Controller ............................................... 29

Page 3: FST4 Manual

FST Version 4.02.21 Manual

3

2.3.10 Downloading an Update of the Project to the Controller...................... 29 2.3.11 Uploading Project Sources from the Controller.................................... 29 2.3.12 Listing the Compiled Project File .......................................................... 31 2.3.13 Removing Intermediate Files ................................................................ 31 2.3.14 The Project Documentation .................................................................. 31

2.4 Printing Projects ............................................................................................... 31 2.4.1 Print Preferences ...................................................................................... 33 2.4.2 Project Backup and Restore..................................................................... 34

2.5 Managing Control Programs............................................................................ 34 2.5.1 Creating New Programs........................................................................... 34 2.5.2 Importing Modules from the Library ......................................................... 36 2.5.3 Program Properties................................................................................... 37 2.5.4 Deleting a Program................................................................................... 38 2.5.5 Open a Program for Editing...................................................................... 39 2.5.6 Compiling a Program................................................................................ 39 2.5.7 Selecting Programs for Download............................................................ 40

2.6 Controller Settings ........................................................................................... 41 2.6.1 Run Mode (Controller Settings)................................................................ 41 2.6.2 Drives (Controller Settings) ...................................................................... 43 2.6.3 Options (Controller Settings) .................................................................... 44 2.6.4 Password (Controller Settings)................................................................. 45 2.6.5 Download (Controller Settings) ................................................................ 45

2.7 The IO Configuration........................................................................................ 46 2.7.1 The IO Configuration Window .................................................................. 46 2.7.2 Adding and Editing IO Modules................................................................ 47

2.8 The Driver Configuration.................................................................................. 49 2.8.1 The Driver Configuration Window ............................................................ 49 2.8.2 Adding a New Driver................................................................................. 50 2.8.3 Editing Driver Options ............................................................................... 51

2.9 The Allocation List............................................................................................ 52 2.9.1 The Allocation List Editor .......................................................................... 52 2.9.2 Adding and Editing Allocation List Entries ............................................... 53 2.9.3 Selecting an Operand from the Allocation List......................................... 54

2.10 Online Mode ................................................................................................. 54 2.10.1 Connecting the Controller to the PC for Online Mode ............................. 55

2.10.1.1 Communication Port Preferences ..................................................... 55 2.10.2 The Online Control Panel ......................................................................... 56 2.10.3 Entering the Controller Password............................................................. 57 2.10.4 Changing the Controller Password........................................................... 58 2.10.5 The Online Display ................................................................................... 58 2.10.6 Online Goto............................................................................................... 60 2.10.7 Changing the Online Display Format ....................................................... 60 2.10.8 Changing the Update Interval of the Online Display ................................ 60 2.10.9 Modifying Online Display Operand Values .............................................. 61 2.10.10 File Transfer .......................................................................................... 62 2.10.11 The Online CI Terminal......................................................................... 63

2.11 Programming in Statement List.................................................................... 64 2.11.1 The Statement List Editor ......................................................................... 64 2.11.2 The Shortcuts Window ............................................................................. 67

2.11.2.1 Inserting Module Calls ....................................................................... 67 2.11.2.2 Statement List Preferences............................................................... 68

2.11.3 Statement List Online ............................................................................... 69 2.11.4 Statement List Program Structure............................................................ 70

2.11.4.1 Step program..................................................................................... 70 2.11.4.2 Parallel logic program........................................................................ 71 2.11.4.3 Executive part .................................................................................... 72

Page 4: FST4 Manual

FST Version 4.02.21 Manual

4

2.11.4.4 Comments ......................................................................................... 72 2.11.5 Statement List Instructions Reference..................................................... 72

2.11.5.1 Statement List Organisation.............................................................. 72 2.11.5.2 STL conditional part .......................................................................... 73 2.11.5.3 STL Executive part ............................................................................ 74 2.11.5.4 Special functions - Extended STL..................................................... 75 2.11.5.5 Arithmetic functions ........................................................................... 77 2.11.5.6 Module calls ....................................................................................... 77

2.11.6 Customising FST...................................................................................... 78 2.11.6.1 The Project Directory......................................................................... 78 2.11.6.2 Communication Port Preferences ..................................................... 79 2.11.6.3 Statement List Preferences............................................................... 80 2.11.6.4 Print Preferences............................................................................... 81

2.11.7 The FST Runtime Library ......................................................................... 82 2.11.7.1 IO Scripts (Runtime Library).............................................................. 82 2.11.7.2 Drivers (Runtime Library) .................................................................. 84

2.11.8 External Tools ........................................................................................... 85 2.11.8.1 Adding or Modifying an External Tool............................................... 86

3 The FST PLC Operating System (Kernel) .............................................................. 88 3.1 PLC operands .................................................................................................. 88

3.1.1 Inputs ........................................................................................................ 88 3.1.2 Outputs...................................................................................................... 88 3.1.3 Flags ......................................................................................................... 89 3.1.4 Registers................................................................................................... 89 3.1.5 Timers....................................................................................................... 89 3.1.6 Counters ................................................................................................... 90 3.1.7 Constants.................................................................................................. 90 3.1.8 Function units............................................................................................ 90 3.1.9 Programs .................................................................................................. 91 3.1.10 Program statuses.................................................................................. 91 3.1.11 Errors..................................................................................................... 91 3.1.12 Initial execution flags............................................................................. 91 3.1.13 Retentive operands............................................................................... 91

3.1.13.1 Configuration of the driver for retentive operands ............................ 92 3.1.14 Function modules for modifying operands ........................................... 92

3.2 Multitasking ...................................................................................................... 94 3.2.1 The Start/Stop Switch............................................................................... 95 3.2.2 The Run LED............................................................................................ 95 3.2.3 Function blocks to control the execution of programs............................. 95

3.3 Error Handling.................................................................................................. 96 3.3.1 Error handling without error program ....................................................... 97 3.3.2 Error handling with error program ............................................................ 97 3.3.3 Special treatment of I/O Errors................................................................. 98 3.3.4 Error handling function modules............................................................... 98 3.3.5 Overview of error numbers....................................................................... 99

3.4 The Command Interpreter (CI) ...................................................................... 100 3.4.1 Command input ...................................................................................... 101 3.4.2 Chaining of CI commands...................................................................... 102 3.4.3 Mass display ........................................................................................... 102 3.4.4 Password protection ............................................................................... 102 3.4.5 Overview of CI commands ..................................................................... 103 3.4.6 Activating the CI / Logon ........................................................................ 103 3.4.7 X Release interface ................................................................................ 103 3.4.8 Commands for display of operands and statuses.................................. 103 3.4.9 Commands for modifying values ............................................................ 105 3.4.10 Program control commands................................................................ 106

Page 5: FST4 Manual

FST Version 4.02.21 Manual

5

3.4.11 Commands for forcing inputs and outputs.......................................... 106 3.4.12 Commands embedded in drivers........................................................ 108

3.5 The Real-time Clock ...................................................................................... 108 3.5.1 Setting the clocks manually .................................................................... 109 3.5.2 Function modules for setting and reading the real-time clock............... 109

3.6 Miscellaneous ................................................................................................ 110 3.6.1 Mass storage for programs, drivers and files ......................................... 110 3.6.2 RAM for programs and drivers ............................................................... 110 3.6.3 Function blocks ....................................................................................... 111

4 FST Drivers Reference.......................................................................................... 113 4.1 Input and output modules .............................................................................. 113

4.1.1 PLC security............................................................................................ 113 4.1.2 Digital input and output modules ............................................................ 114

4.1.2.1 IMXX................................................................................................ 114 4.1.2.2 OMXX ............................................................................................. 117 4.1.2.3 TM10............................................................................................... 125 4.1.2.4 ASXX .............................................................................................. 125 4.1.2.5 Address assignment matrix............................................................ 127

4.1.3 Analog input and output modules ........................................................... 129 4.1.3.1 IO1X................................................................................................ 130 4.1.3.2 IO4X................................................................................................ 132 4.1.3.3 I06X................................................................................................. 137 4.1.3.4 IO7X................................................................................................ 137 4.1.3.5 Address assignment matrix............................................................ 139

4.2 FEC and HC0x............................................................................................... 140 4.2.1 Local Ios.................................................................................................. 140

4.2.1.1 FEC Standard................................................................................. 140 4.2.1.2 FEC Compact................................................................................. 141 4.2.1.3 HC0X .............................................................................................. 141 4.2.1.4 Debouncing of Inputs ..................................................................... 141

4.2.2 IO extension............................................................................................ 141 4.2.3 Analogue Potentiometer ......................................................................... 142 4.2.4 Rotary Switch.......................................................................................... 142 4.2.5 Fast counters.......................................................................................... 142 4.2.6 Incremental Encoder............................................................................... 143

4.3 Actuator Sensor Interface.............................................................................. 144 4.3.1 The ASi configurer .................................................................................. 144 4.3.2 CI commands.......................................................................................... 146 4.3.3 Error numbers......................................................................................... 147 4.3.4 Function modules ................................................................................... 147

4.4 Festo Fieldbus Master ................................................................................... 148 4.4.1 Set Festo fieldbus parameters ............................................................... 148 4.4.2 Soft error behaviour ................................................................................ 149 4.4.3 Using the nominal configuration............................................................. 149 4.4.4 The Festo fieldbus configurer ................................................................. 149 4.4.5 Programming fieldbus operands ............................................................ 152 4.4.6 Function blocks ....................................................................................... 153 4.4.7 CI commands.......................................................................................... 156 4.4.8 Error numbers......................................................................................... 156

4.5 Festo Fieldbus Slave ..................................................................................... 156 4.5.1 Selecting the driver and assigning parameters...................................... 156 4.5.2 How to use the module FBSLAVE ......................................................... 157 4.5.3 Cyclic updates......................................................................................... 158 4.5.4 Get status................................................................................................ 158 4.5.5 A-cyclic updates...................................................................................... 158 4.5.6 Sample program ..................................................................................... 159

Page 6: FST4 Manual

FST Version 4.02.21 Manual

6

4.6 Profibus DP (CP62) ....................................................................................... 159 4.6.1 Selecting the driver and assigning parameters...................................... 159 4.6.2 Configuration........................................................................................... 160 4.6.3 Error messages from the driver.............................................................. 160 4.6.4 Modules................................................................................................... 161

4.7 Profibus FMS (CP62)..................................................................................... 162 4.7.1 Configuring the driver and assigning parameters .................................. 162 4.7.2 Extended CI commands for PROFIFMS ................................................ 162 4.7.3 Function modules ................................................................................... 162 4.7.4 Object directory....................................................................................... 163 4.7.5 Error return codes from function modules.............................................. 165 4.7.6 Error codes in status variable................................................................. 165 4.7.7 Heterogeneous networks........................................................................ 165

4.8 FEC Remote I/O Expansion .......................................................................... 166 4.8.1 System Overview.................................................................................... 166 4.8.2 Configuring Slave FECs......................................................................... 167 4.8.3 Configuring the Master FEC................................................................... 167 4.8.4 Master at Runtime .................................................................................. 168 4.8.5 Slave at Runtime .................................................................................... 168 4.8.6 Diagnostic Program Module (REMDIAG)............................................... 169

4.9 File Handling Modules ................................................................................... 169 4.9.1 Operation result codes ........................................................................... 174

4.10 Strings......................................................................................................... 175 4.10.1 Configuring the driver and assigning parameters .................................. 175 4.10.2 Initialisation of strings ............................................................................. 175 4.10.3 Extended CI commands for strings ........................................................ 176 4.10.4 Modules for handling strings .................................................................. 176

4.11 Screen and Keyboard................................................................................. 184 4.11.1 Introduction ............................................................................................. 184 4.11.2 Operation of the user interface............................................................... 185 4.11.3 Functionality ............................................................................................ 185

4.11.3.1 Attributes.......................................................................................... 186 4.11.3.2 Feature flags.................................................................................... 187

4.11.4 Configuring the driver and assigning parameters .................................. 187 4.11.5 Initialising the user interface................................................................... 188

4.11.5.1 Initialising the user interface in text form ........................................ 188 4.11.5.2 Statements for screen pages .......................................................... 188

4.11.6 Extended CI commands for the user interface....................................... 189 4.11.7 Modules for accessing the user interface............................................... 190 4.11.8 Complete example.................................................................................. 195 4.11.9 Special applications ................................................................................ 199

4.12 32-Bit Arithmetic ......................................................................................... 199 4.13 Incremental Encoder .................................................................................. 201

4.13.1 Init/Reset................................................................................................. 201 4.13.2 Read counter registers (values) ............................................................. 201 4.13.3 Load counter 1 with new value ............................................................... 202 4.13.4 Load counter 2 with new value ............................................................... 202 4.13.5 Load counter 3 with new value ............................................................... 202

4.14 Fast counters.............................................................................................. 203 4.14.1 Using the module FECCNTR ................................................................. 203 4.14.2 Required drivers ..................................................................................... 203 4.14.3 Reset of a Fast Counter ......................................................................... 203 4.14.4 Defining the operation of a Fast Counter ............................................... 203 4.14.5 Starting a Fast Counter .......................................................................... 205 4.14.6 Status of a Fast Counter......................................................................... 205

4.15 Positioning .................................................................................................. 205

Page 7: FST4 Manual

FST Version 4.02.21 Manual

7

4.15.1 Import ...................................................................................................... 205 4.15.2 How to use the module ........................................................................... 206 4.15.3 Overview ................................................................................................. 206 4.15.4 Get status................................................................................................ 207 4.15.5 Move absolute......................................................................................... 208 4.15.6 Move relative........................................................................................... 208 4.15.7 Reference move ..................................................................................... 208 4.15.8 Override Speed....................................................................................... 209 4.15.9 Configure polarity.................................................................................... 209 4.15.10 Configure start speed and acceleration............................................ 209 4.15.11 Configure PID values (AM20 only) ..................................................... 210 4.15.12 Set actual position............................................................................. 210 4.15.13 Set positioning parameters (AM20 only) ............................................ 210 4.15.14 Set D/A output polarity (AM20 > S 2.2 only) ...................................... 210 4.15.15 Set P division (AM20 > S2.2 only) ...................................................... 210 4.15.16 Set counter input polarity (AM20 >= S 2.3 only) ................................ 210 4.15.17 Set acceleration multiplicator (AM20 >= S 2.3 only) .......................... 211 4.15.18 Set Offset for D/A converter (AM20 >= S 2.3 only) ............................ 211 4.15.19 Reset module...................................................................................... 211 4.15.20 Stop motor........................................................................................... 211 4.15.21 Set / Reset enable (AM20 only) .......................................................... 211 4.15.22 Delete contouring error (AM20 only) .................................................. 211 4.15.23 Get revision (AM20 only) .................................................................... 211 4.15.24 Get speeds / target position ................................................................ 212 4.15.25 Get polarity and PID parameters........................................................ 212 4.15.26 Get status for AM20 user.................................................................... 212 4.15.27 Move with interpolation (AM20 >= 2.3 only) ....................................... 213 4.15.28 Move with interpolation (AM20 >= 2.3 only) ....................................... 213 4.15.29 Sample programs................................................................................ 214

4.15.29.1 Sample program for stepper motor (AM1x) .................................. 214 4.15.29.2 Sample program for servo motor (AM20) ..................................... 215

4.16 PID driver .................................................................................................... 218 4.16.1 Driver overview ...................................................................................... 218 4.16.2 Extended CI commands for PID........................................................ 218 4.16.3 Module for PID ................................................................................... 218

4.16.3.1 Parameter table ............................................................................... 218 4.16.3.2 Explanation of parameters .............................................................. 219

4.17 Serial Communication ................................................................................ 219 4.17.1 Selecting and parameterising the driver ............................................ 220

4.17.1.1 HC1X and HC2X............................................................................ 220 4.17.1.2 HC0X .............................................................................................. 220 4.17.1.3 FEC Compact................................................................................. 220 4.17.1.4 FEC Standard................................................................................. 220

4.17.2 Modules ................................................................................................. 220 4.18 TCP/IP driver .............................................................................................. 224

4.18.1 Introduction ........................................................................................ 224 4.18.2 Driver overview .................................................................................. 224 4.18.3 Configuring the driver and assigning parameters ............................. 225 4.18.4 Configuration of TCP/IP driver for PS1-CP10, CP11, CP12 and CP14: 226

4.18.4.1 Configuration of TCP/IP driver for PS1-CP15:................................ 226 4.18.5 Extended CI commands for TCP/IP .................................................. 226 4.18.6 Modules for TCP/IP............................................................................ 228 4.18.7 More modules for TCP/IP .................................................................. 232

4.18.7.1 Modules for second network card................................................... 237 4.18.8 EasyIP status values.......................................................................... 238

Page 8: FST4 Manual

FST Version 4.02.21 Manual

8

4.18.9 Data received by handlers ................................................................. 238 4.18.10 Time offsets......................................................................................... 239 4.18.11 Error codes.......................................................................................... 239

5 Help Topics............................................................................................................ 240 5.1 Navigating Using the Table of Contents ........................................................ 241 5.2 Looking for Index ........................................................................................... 242 5.3 Finding Information with Full-Text Search..................................................... 242

6 Index ...................................................................................................................... 246 7 Modules ................................................................................................................. 248

7.1 32 Bit Arithmetik ............................................................................................. 248 7.2 AS-Interface modules .................................................................................... 248 7.3 Modules for accessing the user interface...................................................... 248 7.4 File Handling Modules ................................................................................... 248 7.5 Get date and time modules............................................................................ 249 7.6 FEC Remote E/A-Erweiterung....................................................................... 249 7.7 Function blocks .............................................................................................. 249 7.8 Festo Fieldbus Slave Module ........................................................................ 249 7.9 Incremental Encoder for FEC and HC0X CPUs............................................ 249 7.10 Profibus DP (CP62) Modules DP............................................................... 249 7.11 Profibus FMS Drivers ................................................................................. 249 7.12 Positioning with AM10, AM11 or AM20 or AM30....................................... 250 7.13 Function blocks to control the execution of programs............................... 250 7.14 Serial communication ................................................................................. 250 7.15 Further modules ......................................................................................... 250 7.16 Fast Counter for FEC and HC0x................................................................ 250 7.17 String modules............................................................................................ 250 7.18 Modules for TCP/ IP ................................................................................... 252

Page 9: FST4 Manual

FST Version 4.02.21 Manual

9

1 Release Notes March 13th, 2001 Here is release 4.02.21 of FST for Windows. This is the second product release on CD-ROM of the FST for Windows (FST4).

1.1 Installation of the FST 4.02 When your CD drive has Auto Insert Notification enabled, a menu will appear with the option to install FST4. You can also manually initiate the installation by starting SETUP.EXE in the \INSTALL subdi-rectory. This version uses an InstallShield setup, which will add appropriate entries in the Start menu for you. If you do not have the permission to install programs on your PC, this version can also be installed from the self-extracting file FST40221.EXE in the \INSTALL subdirectory. It will try to create a directory/folder C:\FST40221. You can change this during the installation to whatever you like. This FST 4 does NOT touch any of your system INI files (WIN.INI, SYSTEM.INI,...) It will NOT replace any system library (xxx.DLL, xxx.VXD,...) and it will currently NOT touch the registry in your box (except for the Uninstall information when using the InstallShield setup). Also install the tools in the \TOOLS folder of the CD-ROM if required. Some modules and drivers that have been part of former FST releases can be found in the \OLDLIB folder of the CD-ROM. Use these drivers only if required for old projects. Please regard the important information in the README files for the individual drivers.

1.2 Uninstalling If you installed FST 4 using the InstallShield setup, the uninstall information is stored in the Windows registry. FST 4 can be removed from your PC using the Windows Control Panel (Software). To get rid of any FST 4 version installed from a self-extracting zip file simply remove the installation directory/folder, usually C:\FST40220, and all its subdirectories/folders.

1.3 Known Problems

1.3.1 ONLINE HELP The FST 4 Online Help uses the HTML Help viewer. This requires that you have Internet Explorer 4 or higher installed. The HTML Help Installation and Update package (HHUPD.EXE in the \INSTALL folder) will update your installation to the latest version (on a Windows NT system this requires that you have administrator privileges). The update will not be executed if you already have a newer version of HTML Help installed. Windows 2000 users should not run the HTML Help Installation and Update Package. Help component updates are provided via Windows service packs. For more information see http://www.microsoft.com. If you do not want to use Internet Explorer the contents of the FST 4 Online Help are also available in PDF format in the folder \MANUALS of the CD-ROM.

Page 10: FST4 Manual

FST Version 4.02.21 Manual

10

If you want to make a printout of the entire Online Help it is suggested to use the PDF ver-sion.

1.3.2 EXTERNAL TOOLS This version of FST 4 still uses some DOS programs, e.g. the OWS tools. Some of these programs will not work correctly if the current FST project is stored in a path that is not according to DOS rules, i.e. no spaces, max. 8+3 characters per folder name. Please use a project path that is according to DOS rules if you want to use these programs. On Windows 2000 all DOS tools are troublesome and the mouse does not work. It is currently not possible to use Ethernet for the online features of the fieldbus configura-tors.

1.3.3 TCP/IP Before you can use TCP/IP for programming (download) and online displays you once have to download a project including the TCPIP driver via the RS232 connection. When using TCP/IP for downloading a project, please make sure not to select the option "Delete project before download" in the Controller Settings, since this will also stop the TCP/IP driver. When setting a password for the controller this will prevent modifications for both, serial and TCP/IP access.

1.3.4 IO1x/IO4x Use the versions with a suffix "N" together with kernel 2.23.01 or later only. The versions without "N" will work with any kernel 2.2x, but may block the PLC cycle on defective or missing hardware. Therefore they are no longer included in the FST standard installation. If required you can install them from the folder \OLDLIB of the installation CD-ROM. If an upgrade of your CPU module is required please contact your local Festo dealer.

1.1.1 HC1X + RTC + DRAD + FESTOBUS When the HC1X is equipped with a ZL16/ZL17 chip, accessing the real-time clock the FST modules F1x will cause the Festo fieldbus IO update to stop after some time. The problem is under investigation.

1.1.2 HC2X + AS-INTERFACE (CP96) Only up to two CP96 modules with the switch settings KSW=1 and KSW=4 can be used together with the HC20 CPU. The switch positions KSW=2 and KSW=3 lead to memory conflicts.

1.1.3 HC2X + OM22 PLC SAFETY Only IO modules OM22 with a version of P16 or higher can be operated in PLC Safety mode on the HC20 CPU.

1.1.4 FIND & REPLACE When using the Find or Replace function of the STL Editor, the Allocation List Editor or the Message Window please close the Find/Replace dialog box before closing the edi-tor/message window from which you opened the Find/Replace dialog. The dialog box will only work for the editor window from which it was opened. If you want to search in another window please close the dialog box and reopen it again after you have selected the other editor window.

Page 11: FST4 Manual

FST Version 4.02.21 Manual

11

1.1.5 STARTUP DRIVE Be careful when you change the drive for the STARTUP.BAT file (Controller Settings - Drives). Make sure that the AUTOEXEC.BAT of the controller looks for a STARTUP.BAT on that drive and delete all STARTUP.BAT files on any other drives (using the Filetransfer tool). For infor-mation on possible STARTUP.BAT locations consult the manual or online help (chapter PLC operating system - miscellaneous). Usually it is best to keep the default for each controller type: FECs: B: - HC0X: B: - HC1X: C: - HC20: C:

1.1.6 FILE HANDLING WITH FLOPPY DISK If no floppy in the drive and you try to access it with the file handling modules no error message is returned.

1.1.7 ONLINE If you have problems with the online connection you should set the baud rate to 2400. This is often the case when Festo fieldbus is active or the CPU is busy with communication, e.g. on other serial ports. Avoid long steps in control programs that are executed frequently since this will shorten the time slot for CI communication. Please note that calling CFMs may take a considerable amount of time, especially if several CFMs are called in sequence in the same step, e.g. AMXX. Calling CMPs is uncritical since a task switch (invisible step) is inserted after each call automatically.

1.1.8 FIRST LOGIN TO NEW HC16 If you have problems connection to a new HC1X CPU try using a baud rate different from 9600. If you are not successful try the following:

• Exit FST • Reboot the HC1X • Execute SENDBRK.EXE that can be found in the directory where you have installed

FST 4 • Choose the COM port you are using for FST • Start FST and try again (do not reboot the HC1X)

Once you have successfully loaded a FST project the problem no longer exists since then FST is directly started when the CPU is booted.

1.4 What is new compared to FST 4.01.16 • It is now possible to download the project without updating the driver files. This fea-

ture can be useful if making minor changes to old projects. • Controllers of the FEC Standard family are now supported. • FST 4 is now also available in German. • In the English version the user can select if he wants to use the keyword ELSE in-

stead of OTHRW in Statement list. • In the driver options dialog is now a help button to open the driver's chapter in the

online help. • New and imported programs or modules are now selected for download by default. • When importing modules from the library more than one module can be selected at

the same time. • Modules can now be imported from any directory if required (this is a useful feature

for module developers). • New tab in the Online Display for Strings. • Platform dependent choices for controller settings. • Show COM port or IP address in title bar of the STL Online window.

Page 12: FST4 Manual

FST Version 4.02.21 Manual

12

• The local IO for FEC and HC0X controllers are now automatically added to the IO con-figuration by default for new projects.

1.5 Bug fixes since FST 4.01.16 • Longer timeouts for CI communication allow connection to busy CPUs. • Out of range constants in STL are no longer ignored. • Allow switching program status in online display even with fast update speed. • Direct printing of source code programs that are not selected for download is now

possible. • Sorted printout of source code and compilation log. • Correct display of large timer values. • Regard special case for EW in online display user defined tab. • Enable switch selection for IO modules only if more than one choice possible. • Sorted print out of cross-reference list.

1.6 What is new compared to FST 3 Note! Changed run-time code. FST 4 now compiles code for CFMs, which do NOT include a task switch. For this to work, CFMs no longer may have STEPs. This gives you a chance to have simple and direct "subrou-tines". The old FST 3.x method prohibited this entirely. The behaviour of CMPs hasn’t been touched. In most cases you cannot see the difference at all. If you have used CFMs with steps change them to CMPs - and (in most cases) forget this issue. The new rules are easy to remember:

• A program may call CMPs and CFMs (unchanged), • Calling a CMP always include a task switch (unchanged), • The called CMP may have steps (unchanged), • Calling a CFM will not cause a task switch (new). • A CMP may call CFMs (unchanged), • But a CMP may NOT call another CMP (unchanged). • A CFM may call other CFMs (new), • But a CFM may NOT call a CMP (new).

In a diagram the rule looks as follows: Program -- calls --> CFMs -- calls --> CMPs CMP -- calls --> CFMs CFM -- calls --> CFMs The FST kernel (PLC operating system) from version 2.24.3 will check this at run-time. If you get error 36, check which function module you are calling in the step where the error occurred. Rename this module as a CMP and change your programs accordingly. The modules FWRITSTR and FREADSTR of the FST runtime library are using steps and can be used as CMPs only.

• Mr. Westrik from Festo-NL has contributed the TCP/IP part of the FST 4 software. Af-ter a first download of the FST TCP/IP driver, it is also possible to use TCP/IP for all online tasks - from CI commands to downloading. Simply change the settings in "Ex-tras >> FST Preferences >> Communication port".

Page 13: FST4 Manual

FST Version 4.02.21 Manual

13

• The communication method has changed significantly. Well, we still use the old fashioned CI but we did further analysis on the implementation. The obvious situa-tion where you will see this is a faster login to the remote controller.

• Make and Download are separated, a Build All is also available. "Make" will only compile and link what has been changed. This is what you are used to with FST 3.x. "Build", contrary to "Make," will compile and link everything. Our "Make" is pretty clever. So you don't need the "Build." But whenever in doubt - it's available. • There is a project specific IPC controller setting, which lets you automatically stop

and unload a project on the IPC controller when downloading. • Run-time options are selectable one by one instead of two pre-configured run-time

modes ("Machine Mode" and "Unit Mode" in FST 3.x notion.) • An AUTOSTART run-time option is available. • All kinds of online displays can be used at the same time, have the online display in

one window, a CI terminal in another window and STL online in one or more addi-tional windows. Then try to transfer a file to or from the controller.

• Conversion of FST 3.x Projects to FST 4.x • The conversion program FST3TO4.EXE is accessible by menu entry "Extras >> Convert

FST 3.x Projects". Just select the right path (of FST IPC 3.x or the FST IPC 3.x project path) and select a project to convert.

It is recommended to rebuild the entire project by selecting menu item "Project >> Build Project" or click the appropriate toolbar button. What is still incomplete The "Tip of the Day" is just a start. It is not a very powerful wizard. Ideas and new tips are welcome. What is still missing Here is a list of things, which are not yet implemented in this version:

• Ladder diagram • Windows version of OWS

The following new features/bug fixes require an update of the kernel version (firmware):

• get runtime error when calling CFMs with steps (2.24.03) • version checking when starting STL online (2.24.02) • improved PLC Safety method (2.24.02) • online display of counters (2.23.03) • IO1x/IO4x (2.23.01) • You can check the detailed version with the CI command "L!". If this results in

"ACCESS ERROR" you have kernel version 2.22 or less. • If you an upgrade of your CPU module is required please contact your local Festo

dealer.

1.7 History 20.02.2001 4.02.21 CD-ROM "Edition April 2001" 14.08.2000 4.01.16 CD-ROM "Edition August 2000"

Page 14: FST4 Manual

FST Version 4.02.21 Manual

14

2 FST4 User documentation

2.1 The Main Window If you start FST a splash screen will be shown. It will be hidden automatically after a few seconds. Click on it to dismiss it immediately. FST works with a so-called multiple document interface (MDI). For each document a child window will be opened inside the FST main window. The child windows can be accessed and arranged with the commands of the Window menu.

The size and position of the window is stored between sessions. If the resolution of the screen changes, the FST main window will receive the default size and position from Win-dows.

2.1.1 Windows Basics This topic describes the most important standard controls of Windows:

• The Title Bar • The System Menu • The Window Border

2.1.1.1 The Title Bar The title bar is located along the top of a window. It contains the name of the application and/or the document. To move the window, drag the title bar.

The title bar can contain the following buttons:

Click the Minimise button to reduce the window to an icon.

Click the Maximise button to enlarge the active window to fill the available space.

Click the Restore button to return the active window to its size and position before you chose the Maximise or Minimise command.

Click the Close button to close the window.

Page 15: FST4 Manual

FST Version 4.02.21 Manual

15

2.1.1.2 The System menu

If you click on the title bar icon the System menu will be shown. It offers the following commands: Restore Use this command to return the active window to its size and position before you chose the Maximise or Minimize command. Size Use this command to display a four-headed arrow so you can size the active window with the arrow keys. Note! This command is unavailable if you maximise the window. Move Use this command to display a four-headed arrow so you can move the active window or dialog box with the arrow keys. Note! This command is unavailable if you maximise the window. Minimize Use this command to reduce the window to an icon. Maximize Use this command to enlarge the active window to fill the available space. Next Use this command to switch to the next open document window. FST determines which window is next according to the order in which you opened the windows. Previous Use this command to switch to the previous open document window. FST determines which window is previous according to the order in which you opened the windows. Close Use this command to close the window. Closing the FST main window will terminate FST.

2.1.1.3 The Window Border Drag the size bars at the corners or edges of the window to size the window using the mouse.

2.1.1.4 Scrollbars Scrollbars are displayed at the right and bottom edges of the window. The scroll boxes inside the scroll bars indicate your vertical and horizontal location. Drag the slider or click on the arrow buttons to move the location.

Page 16: FST4 Manual

FST Version 4.02.21 Manual

16

2.1.2 The Toolbar The toolbar is displayed across the top of the FST main window, below the menu bar. The toolbar provides quick mouse access to many tools used in FST. To hide or display the Toolbar, choose "View >> Toolbar" from the menu. A check mark appears next to the menu item when the Toolbar is displayed.

The following tools can be directly accessed from the toolbar. The tools that are currently not available are dimmed (greyed).

Create a new program (Ctrl+N)

Open a program for editing (Ctrl+O)

Save the program code in the currently active editor window (Ctrl+S)

Save all unsaved changes

Remove the currently selected data from the document

Remove the currently selected data from the document and put it on the clipboard (Ctrl+X)

Copy selected data onto the clipboard (Ctrl+C)

Insert a copy of the clipboard contents at the insertion point (Ctrl+V)

Reverse the last editing action, if possible (Ctrl+Z)

Find something in the currently active editor window (Ctrl+F)

Compile the program in the active editor window (Ctrl+F7)

Prepare the project for download (changes only) (F7)

Prepare the project for download (rebuild all)

Transfer the project to the controller (F5)

Open the Online Control Panel

Open an (other) Online Display window

Open the Online CI Terminal

Open the File Transfer window

Print the contents of the currently active window (Ctrl+P)

Context Help (Shift+F1)

Page 17: FST4 Manual

FST Version 4.02.21 Manual

17

2.1.3 The Status Bar The status bar is displayed at the bottom of the FST FST main window. To display or hide the status bar, select "View >> Status Bar" from the menu. A check mark appears next to the menu item when the status bar is displayed.

The status bar offers the following features:

• The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus. This area similarly shows messages that describe the actions of toolbar buttons as you depress them, before releasing them. If after viewing the description of the toolbar button command you wish not to execute the command, then release the mouse button while the pointer is off the toolbar button.

• The second area shows the number of lines and the cursor position or the number of entries in the currently active window.

• The right areas of the status bar indicate which of the following keys are latched down:

Indicator Description

CAP The Caps Lock key is latched down.

NUM The Num Lock key is latched down.

SCRL The Scrl Lock key is latched down.

INS Insertion mode is active. Use the Ins key to toggle.

2.1.4 The Menu The menu is displayed across the top of the FST main window, below the title bar.

From the different pull down menus you can access the following commands: Project menu Work with projects and exit FST. Edit menu Undo, Clipboard commands, find and replace, select all, delete View menu Display the Project Tree window, start the various internal tools like the IO Configuration or the Controller Settings, display the message window, show or hide the toolbar, status bar and STL shortcuts Insert menu Add new programs or modules to the project and make new entries to the active window, e.g. adding a New Driver Program menu Manage control programs and print the contents of the active window

Page 18: FST4 Manual

FST Version 4.02.21 Manual

18

Online menu Various online tools like the Online Display and download of the active project Extras menu Edit preferences, manage the FST Library, configure and execute external tools Window menu Close the active window and arrange the child windows Help window Online Help, Tip of the Day, About FST

2.1.4.1 The Window Menu Commands FST works with a so-called multiple document interface (MDI). For each document a child window will be opened inside the FST main window. The Window menu offers the following commands, which enable you to arrange the child windows in the FST main window. Close Use this command to close the active client window. FST suggests that you save changes to your document before you close it. If you close a document without saving, you lose all changes made since the last time you saved it. You can also close a window by using the Close icon on the document's window. Cascade Arranges windows in an overlapped fashion. Tile horizontal Arranges windows vertically in non-overlapped tiles. Tile vertical Use this command to arrange multiple opened windows side by side. Arrange Icons Use this command to arrange the icons for minimised windows at the bottom of the FST main window. If there is an open document window at the bottom of the FST main window, then some or all of the icons may not be visible because they will be underneath this docu-ment window. Window 1, 2, ... FST displays a list of currently open document windows at the bottom of the Window menu. A check mark appears in front of the document name of the active window. Choose a docu-ment from this list to make its window active.

2.1.4.2 The Edit Menu Commands The Edit menu offers the following commands: Undo Use this c ommand to reverse the last editing action, if possible. Cut Use this command to remove the currently selected data from the document and put it on the clipboard. This command is unavailable if there is no data currently selected.

Page 19: FST4 Manual

FST Version 4.02.21 Manual

19

Cutting data to the clipboard replaces the contents previously stored there. Copy Use this command to copy selected data onto the clipboard. This command is unavailable if there is no data currently selected. Copying data to the clipboard replaces the contents previously stored there. Paste Use this command to insert a copy of the clipboard contents at the insertion point. This command is unavailable if the clipboard is empty. Delete Use this command to remove the currently selected data from the document. This command is unavailable if there is no data currently selected. The removed data is NOT copied to the clipboard. Find Use this command to find a certain text within the active editor window using the standard Find dialog. Repeat Use this command to repeat the last find. Replace Use this command to replace a certain text within the active editor window by another text using the standard Replace dialog. Select All Selects everything in the document.

2.1.5 Viewing Properties Select "View >> Properties" from the menu or "Properties" from the right click popup menu to display and edit the properties of the selected entry in the active window.

2.1.6 Terminating FST Select "Project >> Exit" from the menu to end your FST session. FST prompts you to save documents with unsaved changes. You can also use the Close command on the application System menu or click the Close icon of the FST main window .

Page 20: FST4 Manual

FST Version 4.02.21 Manual

20

2.2 Getting Help

2.2.1 The Aboutbox Select "Help >> About FST" to display the copyright notice and version number of your copy of FST.

2.2.2 Tip of the Day Select "Help >> Tip of the Day" to display a dialog box with a short tip.

The Tip of the Day dialog is also shown on each start-up of FST unless you disable the op-tion "Show Tips on StartUp".

• Click the Next button to show another tip. • Close the dialog box by clicking the Close button.

2.2.3 Help Topics Select "Help >> Help Topics" from the menu to display the opening screen of the FST Online Help. From the opening screen, you can jump to step-by-step instructions for using FST and vari-ous types of reference information

2.2.4 Context Help Use the Context Help command to obtain help on some portion of FST.

When you choose the toolbar's Context Help button , the mouse pointer will change to an arrow and question mark. Then click somewhere in the FST window, such as another toolbar button. The help topic will be shown for the item you clicked.

Page 21: FST4 Manual

FST Version 4.02.21 Manual

21

If you press the F1 key the help topic will be shown for the active window or command.

2.2.5 The Message Window The message window is used to log results, e.g. of translating a program or downloading the project.

Select "View >> Message Window" to bring the message window to the top and view its contents. Note! If you close the message window, its contents will be lost.

Page 22: FST4 Manual

FST Version 4.02.21 Manual

22

2.3 Working with Projects Everything in FST is organised in projects. A project contains your source code for programs, imported (compiled) modules from the library, the IO and driver configurations, the Alloca-tion List and several settings and properties.

2.3.1.1 Project Name and Comment Each project has a short name and a comment. The name can be up to 8 characters long and is used to identify the project and will also be transferred to the controller when it is downloaded. The project name is not case sensitive and must be unique within the same project directory. The character set that is allowed for project names is not restricted, but it is recommended to limit it to characters, numbers and underlines. Spaces are not allowed. The comment can be up to 255 characters long. Different from the project name the project comment will not be available at runtime (in the controller) but can be used to give a short description for your projects for easier recognition. Whenever you have to select a project in FST this comment will be displayed together with the project name and can be used for sorting lists. An even more detailed description can be stored in the project documentation, which is usually a simple text file.

2.3.1.2 Controller Types FST supports several controller types of the IPC family. In order to choose the correct drivers or options for the controller your project is designed for, your project has a controller type attribute. Projects can only be downloaded to a controller of the correct type. You are free to change the controller type of a project if required. Note! There is a separate instance of some project parts for each controller type within a project. If you switch between controller types, you will work on the set of project parts that belongs to the current controller type.

Common for all controller types • project name and comment • your source code for pro-

grams • the project documentation • the Allocation List

Different set for each controller type • imported (compiled) programs from the li-

brary • the IO configuration • the driver configuration • the controller settings

2.3.1.3 Organisation on Hard Disk Everything that belongs to a project is stored in a single directory on your hard disk. The name of that directory is the project's name. The project name is not stored at any other location. For each project there is a file PROJECT.FW4 in the project's directory, which is used to store the current settings and elements of that project such as the comment and controller type. Please do not modify this file manually. There are more files in the project's directory to store program source code, the project documentation, the Allocation List and others which are created and managed by FST and/or related tools. If you want to store your own files or files created by other tools that belong to the project in the same directory, you can do so, but be careful with choosing names. No general rule can be given which names are not used by FST.

Page 23: FST4 Manual

FST Version 4.02.21 Manual

23

All projects a re subdirectories of one common project root directory. There is no index file listing the existing projects. FST will create new projects as subdirectories of that project root directory and will look for existing projects in that directory. The project root directory can be anywhere on your computer, the network or even remov-able media. It need not necessarily be a subdirectory of your FST installation. It is recom-mended that you use this project root directory for storing FST projects only. Do not choose the same directory as the one you have used for FST 3.x projects. FST 4.x will not allow creating a new project if a directory with the desired project name already exists. You can change the project root directory. This allows organising your projects on groups. However you have to remember the different locations where you have stored FST projects. If you want to use DOS based tools for you project, such as fieldbus configurators, use a project path that does not c ontain long file names (max. 8 characters) or spaces.

2.3.2 The Project Tree Window The Project Tree window gives you an overview of all the parts that belong to a project and can be used as a shortcut bar to access the corresponding tools. Double click on the item or use the right click popup menu for more features on some items. When you create a new project the project tree will be displayed by default. You can close it as any MDI child window if you don't need it. You can display the project tree again or bring it to the top by selecting "View >> Project Tree" from the menu.

The project tree basically has always the same entries. Only the items "Programs", "CMPs" and "CFMs" will have child items depending on the programs you are using for the individ-ual project. The Project Tree offers the following features for accessing programs:

• Double click on the entry of a source code program to open it in the editor. For im-ported modules no source code is available. They cannot be edited.

• Right click on a program entry and then select "Properties" from the popup menu to open the Program Properties dialog. This dialog will allow changing the program's name, comment, type and number. It is not possible to change a program's lan-guage once it has been created

• To delete a program right click on a program entry and then select "Delete" from the popup menu. You can also press the DEL key to delete the selected program.

Page 24: FST4 Manual

FST Version 4.02.21 Manual

24

• All programs that have a check mark in the box left to the name and comment will be downloaded to the controller. If a program is not checked it will not be available at runtime. Select only one version of the same program at the same time.

• Right click on a program entry or the "Programs", "CFMs" or "CMPs" folder and then select "Insert..." from the right click popup menu to insert a new source code program.

• Right click on a program entry or the "Programs", "CFMs" or "CMPs" folder and then select "Import..." from the popup menu to import an already compiled module from the library.

2.3.3 Open an Existing Project In order to work with a project and its parts you have to load it into the FST development environment. To open an already existing project select "Project >> Open..." from the menu. Then the Open Project dialog will be displayed that lists all projects in the currently configured project directory. Select the project you want to open by double clicking on it or type its name in the edit field below the list box and select the OK button. The currently open project - if any - will be closed and the selected project will be loaded into the FST development environment. The same dialog with a different caption is used to select a project for backup.

The Open Project dialog offers the following features: • The name, comment and the controller type are displayed for each project in a sepa-

rate column. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column of the list box can be sorted alphabetically by clicking on the column

header. Click again to reverse the sorting order. • You can only display projects for one controller type by making the appropriate se-

lection in the combo box above the list box. • If you only want to display the project names in a simple list, toggle the radio but-

tons in the upper right corner of the dialog. The size and position of most windows will be restored to how it was the last time before you closed the project. The name, comment and controller type of the currently active pro-ject is displayed in the caption of the FST main window. To access the projects you have most recently worked on up to eight projects are listed in the Project menu just before the Exit command. Simply select the project you want to open.

Page 25: FST4 Manual

FST Version 4.02.21 Manual

25

When you start FST the project that was open when you quit FST the last time will be opened automatically. Note! You can have more than one instance of FST running, but the same project can be opened only once at the same time. If a project is opened it is marked with a lock file.

2.3.4 Creating a New Project To create a new project select "Project >> New..." from the menu. Then the New Project dialog will be displayed that allows you to enter the name for the new project in an edit field. Select the OK button to create a new project with that name. The currently open pro-ject - if any - will be closed and the new project will be loaded into the FST development environment. The same dialog with a different caption is also used for renaming or copying a project and to restore a project from backup or uploaded sources.

The New Project dialog offers the following features: • A list of the already existing projects in the current project directory will help avoid

using the same name again. The comment and the controller type are displayed for each project in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

• If you only want to display the project names in a simple list, toggle the radio but-tons in the upper right corner of the dialog.

Note! • The project name is limited to 8 characters. • Note! The project name must not contain spaces.

Page 26: FST4 Manual

FST Version 4.02.21 Manual

26

2.3.5 Close the Current Project Select "Project >> Close" from the menu to close the currently active project. It is, however, not necessary to close a project before opening another project or creating a new project since this is done automatically.

2.3.6 The Project Settings After creating a new project you will automatically be prompted to enter a comment for the new project and have the possibility to select a controller type. You can change these set-tings again later by selecting "Project >> Settings.." from the menu or "Project Settings" from the Project Tree window.

The Project Settings dialog offers you also the following features: • Change the name of the project by entering it into the edit field. • Click on the button with three dots to get a list with the already existing projects.

That dialog is the same as it is used for entering the name of a new project. • The date when the project was created, which FST version has been used and the

user name will be displayed.

2.3.6.1 The Project Directory Using different project directories is useful to sort a larger amount of projects in groups. But you have to remember the different locations where you have stored FST projects. If you want to view or change the current common root directory for FST projects, select "Extras >> Preferences..." from the menu. In the tabbed dialog that will be displayed select the General tab. Enter the path of the new directory or press the Browse button to select an already existing directory. Relative paths (beginning with a dot) are subdirectories of the directory where you have installed FST.

.

Page 27: FST4 Manual

FST Version 4.02.21 Manual

27

After changing the directory path and closing the dialog the currently open project will be closed. Note! If you want to use DOS based tools for you project, such as fieldbus configurators, use a project path that does not contain long file names (max. 8 characters) or spaces.

2.3.7 The Project Explorer If you want to delete, copy or rename projects use the Project Explorer. To open the Project Explorer dialog select "Project >> Explore..." from the menu. A list with all projects in the current project directory will be displayed in a dialog box.

Page 28: FST4 Manual

FST Version 4.02.21 Manual

28

Above the list box there are several buttons to execute the following operations:

Create a new project. You will be prompted for a project name and settings

Open the selected project.

Delete the selected project.

Create a copy of the selected project. You will be prompted for a name and settings as for a new project.

This will display the Project Settings dialog for the selected project that allows you to change the project's name, comment and controller type.

The Project Explorer dialog also offers the following features:

• The projects are listed together with their comment and the controller type; each displayed for each project in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

• To change the name of a project select it and then click on the name. An inplace edit field appears. When you are finished press the "Enter" key or click outside the edit field. To cancel editing press "Esc".

• You can only display projects for one controller type by making the appropriate se-lection in the combo box above the list box.

If you only want to display the project names in a simple list, toggle the radio buttons in the upper right corner of the dialog.

2.3.8 Preparing the Project for Download Before a project can be downloaded and executed on the controller its components must be compiled to a binary format. The results will be linked together to the project runfile. To prepare the project for download select "Project >> Make Project" from the menu. All modifications are automatically saved to disk and the progress and result of the compilation and linking is displayed in the message window.

Page 29: FST4 Manual

FST Version 4.02.21 Manual

29

"Make Project" will only compile the programs that have not been changed since the last make. If you want to compile all programs regardless whether they are changed select "Project >> Build Project" instead. This is recommended after restoring a project from a n-other computer or a change in the FST version, in case the translators have been changed.

2.3.9 Downloading the Project to the Controller To download the project to the controller, select "Online >> Download Project" from the menu. All required files will be transferred to the controller. The Download dialog gives you some information about the progress of the transfers. Press the Abort button to stop the downloading. Watch the message window for details.

Note! • Before you can download a project it has to be prepared for download first. • Projects can only be downloaded to a controller of the same type as specified in the

project settings.

2.3.10 Downloading an Update of the Project to the Controller Instead of downloading the complete project to the controller, it is also possible to transfer only the changes. To download an update of the project to the controller, select "Online >> Update Project" from the menu. All required files will be transferred to the controller. The Update dialog gives you some information about the progress of the transfers. Press the Abort button to stop the downloading. Watch the message window for details.

• An update can only be downloaded if you at least once downloaded the complete project to the same controller.

An update is not possible • If you add or remove programs. • After some changes to the driver configuration.

2.3.11 Uploading Project Sources from the Controller It is possible to store the sources of a project in the controller. If you want the sources to be stored in the controller you have to select the option "Load sources" in the Download tab of the Controller Settings dialog.

Page 30: FST4 Manual

FST Version 4.02.21 Manual

30

To upload the sources that have been stored in the controller, select "Online >> Upload Project" from the menu. The controller will be searched for the sources and the file will be uploaded. The Upload Source dialog gives you some information about the progress of the transfer. Press the Abort button to stop the uploading. View the message window for more details.

Then the Upload Project dialog will be displayed that allows you to enter the name for the uploaded project in an edit field. Select the OK button to restore the project with that name. The currently open project - if any - will be closed and the uploaded project will be loaded into the FST development environment.

The Upload Project dialog offers the following features:

• A list of the already existing projects in the current project directory will help avoid using the same name again. The comment and the controller type are displayed for each project in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

• If you only want to display the project names in a simple list, toggle the radio but-tons in the upper right corner of the dialog.

Note! The project name is limited to 8 characters.

Page 31: FST4 Manual

FST Version 4.02.21 Manual

31

2.3.12 Listing the Compiled Project File If you select the menu item "Project >> List Project File" you will get a listing of the contents of the project file in the message window. This file is the result of preparing the project for download and will be transferred to the controller. This feature can be useful for debugging.

. Note! This function is only available after preparing the project for download.

2.3.13 Removing Intermediate Files During the process of preparing the project for download several intermediate files will be generated. In order to free disk space you can clean up the project by selecting "Project >> Clean Up" from the menu. If you want to download the project again to a controller, all required files will be created again. This function is automatically called before backing up a project.

2.3.14 The Project Documentation FST does not implement it's own text editor. For writing your project documentation you can use any tool you like. By default for each new project an empty file with the file name PROJECT.TXT will be created in the project's directory. Double click on the item "Project Documentation" in the Project Tree window or select "View >> Project Documentation" from the menu to open the docu-ment with whichever tool is registered for .txt files on your PC. You can change the name and/or extension if you like by choosing "Properties" from the right click popup menu of the entry "Project Documentation" in the Project Tree window. Make sure you use an extension that is registered on your PC for the editing tool you want to use. E.g. using the extension .doc will usually open Microsoft Word.

2.4 Printing Projects You can print all or selected parts of the current project. Select "Project >> Print..." from the menu to display the dialog to select the parts you want to print.

Page 32: FST4 Manual

FST Version 4.02.21 Manual

32

Title Page: The title page displays the project name together with some information on the FST version, date and time and the user name. Documentation: The project documentation will only be printed, if the file PROJECT.TXT still exists. If you have changed the name and/or extension of the project documentation, you have to use the tool you are using to edit the file for printing. Controller Settings: The options you have chosen. Project Tree: The project tree shows all programs in a sorted list including the comment. If a program is selected for download is indicated by an asterisk. Input and Output Modules: Print the IO configuration. Drivers: Print the driver configuration including the options for each driver Allocation List: Print the Allocation List. Program Properties: Print the file size and date and other information for each program. Log Files: Print the results of the last compilation for source code programs or the source path for imported modules. Cross Reference: The cross-reference is a list of all operands that are used in your programs together with their occurrence in a sorted list.

Page 33: FST4 Manual

FST Version 4.02.21 Manual

33

Note!

• Printing the cross-reference list requires that you prepare the project for download before you start printing, since the required data to build the cross reference list will be collected while the programs are compiled.

• You can also print the contents of the currently active window by selecting "Program >> Print" from the menu.

Before printing starts you will be asked for the printer and the paper size using the standard Printer Setup dialog. While the pages are formatted and sent to the printer you can stop the printing process by pressing the Cancel button in the Abort Printing dialog that is displayed.

A header and footer will be printed on each page except the title page. The header shows the project's name, controller type and comment and which project part is printed on this page. The footer contains the page number, time and date of the printout. Note! Headers and footers cannot be customised. You can change the print font and the margin widths of the printout.

2.4.1 Print Preferences You can change the print font and the margin widths of the printout. Select "Extras >> Prefer-ences..." from the menu. In the tabbed dialog that will be displayed select the tab "Print".

Page 34: FST4 Manual

FST Version 4.02.21 Manual

34

If you press the Browse button you will be asked for a printer to display the correct list of available fonts before the standard font selection dialog is displayed. Note! If you choose the margins smaller than the minimum printer margins, the printout will be clipped.

2.4.2 Project Backup and Restore Projects will be backed up as standard zip files. Select "Project >> Backup" from the menu to select the project you want to update. Then choose the location for the backup file using the standard file dialog. After removing all intermediate files all files in the project directory will be zipped and stored in the file you have selected. We use the world wide accepted ZIP format (RFCs 1950 to 1952). Many THX to Jean-loup Gailly and Mark Adler for zlib. Select "Project >> Restore" from the menu to restore a project. Using the standard file dialog select a zip file that contains a FST project. It will be restored at the current project directory and opened into the FST development environment.

2.5 Managing Control Programs Programs, CMPs and CFMs represent pieces of executable code. Since programs, CMPs and CFMs are handled very similar they are referred to as programs as a common name. A project can contain up to 64 programs, 100 program modules (CMPs) and 100 function modules (CFMs). For each program FST can store up to 9 versions, but only one version can be used in the controller at the same time. You can write program yourself with FST using the Statement List language or use the a l-ready compiled program of the FST library for special tasks that usually have been created from C source code. No matter how program have been created (in terms of source code), always a compiled version (machine code) will be used in the controller.

2.5.1 Creating New Programs To create a new source code program select "Program >> New..." from the menu. Then the New Program dialog will be displayed that allows you to select the program type, number and version and to enter a comment. Select the OK button to create a new program with those settings. It will be automatically opened for editing. You can also invoke the New Program dialog from the right click popup menu of the Project Tree window or from the Insert menu ("Insert Program...", "Insert CMP...", "Insert CFM..."). The same dialog with a different caption is used to add imported modules from the library and to save programs with a different name.

Page 35: FST4 Manual

FST Version 4.02.21 Manual

35

Type: Select "Program" if you want to create a program, "CMP" if you want to create a subroutine with or without steps and "CFM" if you want to create a subroutine without steps. Number: This number is used to refer to the program or subroutine later in the code. A program can have the numbers from 0 to 63, CMPs and CFMs from 0 to 99. You can assign the numbers as you like, but note the following special cases: Only Program 0 will be executed automatically on start-up. The context of Program 63 will be used for CI commands, avoid using this number for pro-grams. If you import a program with a file name like F<n> it is recommended to use the number <n>. Version: FST can store up to 9 versions of each program. Comment: This text will be displayed in lists and captions for easier identification of the program. The string can be up to 255 characters long. The New Program dialog offers the following features:

• A list of the already existing programs in the current project will help avoid using the same number again. The program name and comment are displayed for each project in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

• If you only want to display the program names without comments in a simple list, toggle the radio buttons in the upper right corner of the dialog.

Page 36: FST4 Manual

FST Version 4.02.21 Manual

36

Note! • There can be only one program with the same type, number and version! If you try to

create a program that already exist you will be prompted to overwrite it. • If another version for the source code program you are about to create exists the

new program will be a copy of the already existing program if it is a source code pro-gram of the same language.

2.5.2 Importing Modules from the Library To import a module from the library select "Program >> Import..." from the menu. Then a dialog box will be displayed that allows you to select the file for import. You can also invoke the Import Module dialog from the right click popup menu of the Project Tree window ("Import..."). Select a filename and press the OK button or double click the file name to open a dialog as for New Program to select the program type, number and version. The comment text entry will be automatically initialised to the file name in the library. Select the OK button to import the file as program from the library with that type, number and version.

The Import Module dialog offers the following features:

• The file name, size and date are displayed for each file in the library in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

• If you only want to display the file names without further information in a simple list, toggle the radio buttons in the upper right corner of the dialog.

• The original source code language and FST version number is displayed for the se-lected file in the field below the list box.

Note! • There is a different library for each controller type. The correct folder will be selected

automatically. If you later change the controller type the modules have to be re-imported from the library for the new controller type. You can however switch back to the previous controller type without re-importing since the imported modules are stored in separate files for each controller type.

• You can change the import folder manually by selecting the "..." button. this can be useful if you develop your own modules and store them in a different location.

Page 37: FST4 Manual

FST Version 4.02.21 Manual

37

2.5.3 Program Properties The name and comment of a program can be changed using the Program Properties dialog. To show the Program Properties dialog select it in the Project Tree window and select "Properties" from the right click popup menu. Select the OK button to change the properties of the program after editing the fields of the dialog. You can also invoke the Program Properties dialog from the right click popup menu of the editor window of that program or from the View menu.

Language: The source code language of the program. Type: Select "Program" if you want to have a program, "CMP" if you want to create a subroutine with or without steps and "CFM" if you want to create a subroutine without steps. Number: This number is used to refer to the program or subroutine. A program can have the numbers from 0 to 63, CMPs and CFMs from 0 to 99. You can assign the numbers as you like, but note the following special cases:

• Only Program 0 will be executed automatically on start-up. • The context of Program 63 will be used for CI commands, avoid using this number

for programs. • If you import a program with a file name like F<n> it is recommended to use the num-

ber <n>. Version: FST can store up to 9 versions of each program. Comment: This text will be displayed in lists and captions for easier identification of the program. The string can be up to 255 characters long. File, Size and Date: Some information on the program's file on your computer

Page 38: FST4 Manual

FST Version 4.02.21 Manual

38

Last compiled: Date of the last successful compilation of the source code program. See the tab "Log file" for the compiler output if any. Version: The operating system version of the compiled program, see the tab "log file" for the path name of the source file in the library. Note!

• There can be only one program with the same type, number and version! If you try to create a program that already exists you will be prompted to overwrite it.

• The language of a program cannot be changed!

2.5.4 Deleting a Program To delete a program from the project select "Program >> Delete..." from the menu. Then a dialog box will be displayed that allows you to select a program. Double click a program or select it and press the OK button to delete it. You can also delete programs by selecting it and pressing the DEL key or via the right click popup menu using the Project Tree window.

The Delete Program dialog offers the following features: • The name and comment are displayed for each program in a separate column. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column of the list box can be sorted alphabetically by clicking on the column

header. Click again to reverse the sorting order. • You can only display programs of one type or language by making the a ppropriate

selection in the combo boxes above the list box. • If you only want to display the program names without comments in a simple list,

toggle the radio buttons in the upper right corner of the dialog.

Page 39: FST4 Manual

FST Version 4.02.21 Manual

39

2.5.5 Open a Program for Editing To open a source code program for editing select "Program >> Open..." from the menu. The Open Program dialog will be displayed that allows you to select a program. Double click a program or select it and press the "OK" button to open it in the editor window. You can also open a program for editing by double clicking on it in the Project Tree window or via the right click popup menu of the Project Tree window. The same dialog with a different caption is used to select a program to be deleted or a module to be called.

The Open Program dialog box offers the following features: • The program name and comment are displayed for each program in a separate col-

umn. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column of the list box can be sorted alphabetically by clicking on the column

header. Click again to reverse the sorting order. • You can only display programs of one type or language by making the a ppropriate

selection in the combo boxes above the list box. • If you only want to display the program names without comments in a simple list,

toggle the radio buttons in the upper right corner of the dialog.

2.5.6 Compiling a Program To check the syntax of a source code program compile it. Open the program for editing, then select "Program >> Compile..." from the menu and watch the output in the message window.

Page 40: FST4 Manual

FST Version 4.02.21 Manual

40

Note! • Unsaved changes in the source code will automatically be saved prior to the compi-

lation. • The results of the compilation will also be stored in a log file. To view it select "View

>> Properties" from the menu. Then select the "Log file" tab of the Program Prope r-ties dialog

2.5.7 Selecting Programs for Download Select "Program >> Select for Download..." from the menu to display a dialog box that allows you to select the programs for download. If a program has a check mark in the box next to it it will be downloaded to the controller. You can also select the programs by placing a check mark in the box next to it in the Project Tree window.

Page 41: FST4 Manual

FST Version 4.02.21 Manual

41

The Select Programs for Download dialog offers the following features: • The program name and comment are displayed for each program in a separate col-

umn. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column of the list box can be sorted alphabetically by clicking on the column

header. Click again to reverse the sorting order. • You can only display programs of one type or language by making the a ppropriate

selection in the combo boxes above the list box. • If you only want to display the program names without comments in a simple list,

toggle the radio buttons in the upper right corner of the dialog. Note! Only one version of the same program can be selected for download.

2.6 Controller Settings There are several runtime and download options for a FST project. They can be modified using the tabbed dialog Controller Settings. Double click on the entry Controller Settings in the Project Tree or select "View >> Controller Settings" from the menu to show the Controller Settings dialog.

2.6.1 Run Mode (Controller Settings) The Run Mode tab is the default tab of the Controller Settings dialog.

Autostart: Check this option if you want the project to start after download without giving an explicit Run command and regardless of the Start/Stop input. The default setting is Off. Start/Stop input: Check this option if you want to configure a start/stop input. Enter the input to be used in the edit box. Note! It will not be checked if there is any hardware configured for this input. If there is no hardware configured for this input it is always off unless explicitly set by CI command or a driver. The default setting is Off.

Page 42: FST4 Manual

FST Version 4.02.21 Manual

42

Reset programs: Check this option if you want all programs to be inactivated (resetted) - rather than stopped (breaked) - if

• The start/stop switch is switched to stop (falling edge) • An error occurs without the presence of an error program

Check this option if you do not want - in addition to activating program P0 - all stopped (breaked) programs to be re-activated if

• The start/stop switch is switched to run (rising edge) • The CI command "R" is executed

The default setting is On. Delete project before download: Check this option if you want the project that is active on the controller to be unloaded from the memory before the download. If this option is not checked the operation of the project in the controller will continue during the file transfers that are necessary to download the new project. Note! Do not enable this option if you want to use TCP/IP for downloading the project. Deleting the project will also stop all FST drivers including TCP/IP. The default setting is Off. Error output: Check this option if you want the output specified in the edit box below to reflect the error state of the controller. Note!

• It will not be checked if any hardware is configured for this output. • The error output will not be switched off unless the error is reset.

The default setting is Off. Error program: Enter a program number other than zero (1..63) to configure it as error program. In case of an error this program will be started. The default setting is 0 (Off). Reset outputs: Check this option if you want all outputs to be resetted if

• The start/stop switch is switched to stop (falling edge) • The CI command "S" is executed • An error occurs without the presence of an error program • When the project is started - rather than using the old values from the retentive

storage of operands The default setting is On.

Page 43: FST4 Manual

FST Version 4.02.21 Manual

43

2.6.2 Drives (Controller Settings) Select the Drives tab on the Controller Settings dialog.

Project File: Enter the drive where the project file should be stored on the controller. If the drive you want is not listed in the combo box you can simply type the drive letter. If the drive you choose is available of the controller will be checked prior to the download. The default depends on the controller type FEC Compact B: FEC Standard B: HC0X B: HC1X C: HC2X C: Startup Batch: Enter the drive where the startup batch file should be stored on the controller. If the drive you want is not listed in the combo box you can simply type the drive letter. If the drive you choose is available of the controller will be checked prior to the download. Only choose a drive where the STARTUP.BAT will be automatically started. This depends on the controller type you are using. The default depends on the controller type FEC Compact B: FEC Standard B: HC0X B: HC1X C: HC2X C: FST Kernel:

Page 44: FST4 Manual

FST Version 4.02.21 Manual

44

Enter the drive where the FST kernel resides on the controller. If the drive you want is not listed in the combo box you can simply type the drive letter. If there is a FST kernel installed on the drive you choose will be checked prior to the download. The default depends on the controller type FEC Compact A: FEC Standard A: HC0X A: HC1X A: HC2X C:

2.6.3 Options (Controller Settings) Select the Options tab of the Controller Settings dialog.

Controller COM port: There can be more than one COM port on a controller. This option indicates the FST PLC operating system which COM port on the controller should be used for CI communication. The default depends on the controller type FEC Compact 0 FEC Standard 0 HC0X 0 HC1X 1 HC2X 1 Additional parameters: This text will be appended to the kernel's command line. It is usually blank and meant for future extensions.

Page 45: FST4 Manual

FST Version 4.02.21 Manual

45

2.6.4 Password (Controller Settings) Select the Password tab of the Controller Settings dialog.

Enter a password that will be activated on the controller when the project is started. If you do not want a password leave this field blank.

2.6.5 Download (Controller Settings) Select the Download tab in the Controller Settings dialog.

Download Source Files: Check this option if you want all source files that are necessary to restore the project to be stored on the controller in a ZIP file. To later restore the project select "Online >> Upload Project" from the menu.

Page 46: FST4 Manual

FST Version 4.02.21 Manual

46

Download modified driver files: If you do not want to update the driver files in the controller, uncheck this option. This may be useful if the controller has been programmed with a different FST installation with a different driver version. Usually this option should be enabled. This option does not affect the driver configurations since they are stored inside the project file together with the programs and modules.

2.7 The IO Configuration The IPC is a modular system and there are numerous input and output modules available. They are usually accessed by your control programs trough the FST input and output ope r-ands. If you want to use an IO module in your project you have to configure it in order to assign it to the FST input and output operands you want to use for them. The physical configuration of your controller hardware does not automatically determine the FST operands that are used to access the hardware. Each IO module occupies a certain range in the IO area of the processor. Many modules support several ranges that usually can be selected by a rotary switch on the bottom side of these units. To identify a module for the FST IO configuration select it from the list of sup-ported modules and enter the chosen switch setting. FST will check your configuration for valid switch positions and overlapping in the IO area of the processor. It however will not suggest switch positions that are still available. The documentation for the individual modules contains the necessary information about the occupied IO area of the processor. For some modules there are more options than just the selection of an IO range. Some of these options require modifications on the hardware (e.g. jumpers) while others are programmable by software, i.e. the FST IO driver. All of these options are usually reflected in the name of the IO driver. Make sure to always select the appropriate driver for the module's configuration. More details are given in the extra docu-mentation for the individual IO modules. You are free to choose any FST input or output word you like for the individual modules. How many input and/or output words a module occupies is listed in the special documenta-tion for the modules. FST will check your configuration for overlapping in the FST operands. If there is an input word required for output modules these ope rands are usually used for status information. This is described in the module's documentation as well. Please note that there is a separate IO configuration for each controller type. If you switch a project from one controller type to another the IO configuration will be empty. If you switch back however, you again will have the original IO configuration for that controller type. In the IO configuration you can only insert IO modules that are available for the current controller type setting of the project.

2.7.1 The IO Configuration Window To open the IO Configuration window select "View >> IO Configuration..." from the menu or simply double click on the "IO Configuration" entry in the Project Tree window. A MDI child window with the current IO configuration is shown.

Page 47: FST4 Manual

FST Version 4.02.21 Manual

47

The IO Configuration window offers the following features:

• The IO driver description, the switch setting and FST operands are displayed for each module in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• The list is always sorted by definition. The order reflects the execution order at run-time. It is not possible to sort the list alphabetically.

• You can move the entries using the clipboard. The clipboard commands are avail-able from the Edit menu or the right click popup menu and always refer to the se-lected entries. Insertion is always done before the selection, if no entry is selected at the end of the list.

• In the status line the current number of entries is shown. • To remove the selected entries from the IO configuration simply press the DEL key or

select "Edit >> Delete" from the menu or "Delete" from the right click popup menu. • To insert a new entry simply press the INS key or select "Insert >> IO module" from

the menu or "Insert IO module" from the right click popup menu or double click an empty line.

• To edit an entry select "View >> Properties" from the menu or "Properties" from the right click popup menu or double click on the entry you want to edit.

• To print the current IO configuration select "Module >> Print" from the menu. Note!

• There is no undo function available. All changes are immediately saved to disk. • If an entry refers to a module type that is unknown to the FST library the missing file

name will be shown in brackets []. To select another type of IO module for the entry open it for editing as for any other entry. A project with an IO configuration that con-tains unknown IO modules cannot be downloaded to the controller.

2.7.2 Adding and Editing IO Modules To insert a new IO module to the IO configuration select "Insert >> IO module..." from the menu, "Insert IO module" from the right click popup menu of the IO Configuration window or simply double click on an empty line in the IO Configuration window. To change the settings of an IO configuration entry select it in the IO Configuration window and select "View >> Properties" from the menu, "Properties" from the right click popup menu or simply double click on the setting you want to change.

The IO Module Entry dialog will be shown that allows you to enter the required settings.

Page 48: FST4 Manual

FST Version 4.02.21 Manual

48

Select the IO module type: Select the IO module from the list of available module types that corresponds to your hard-ware. For some module types more than one IO driver is available. Select the one that fits your needs. Please note that some options can be activated by simply choosing the appro-priate IO driver while others require hardware settings (e.g. jumpers) or even a special version of the module. Details for the individual modules are given in the extra documenta-tion for each module. Switch: Enter here the switch setting for the IO module. Each IO module occupies a certain range in the IO area of the processor. Many modules support several ranges that usually can be selected by a rotary switch on the bottom side of these units. For some IO drivers this switch setting might be used for other purposes. IW: Enter here the FST input word you would like to use to access the IO modules input data from your programs. If the IO module supplies more than one input word consecutive input words will be used. How many input words are used for each IO module can be read in the extra documentation for the individual IO module. OW: Enter here the FST output word you would like to use to access the IO modules output data from your programs. If the IO module supplies more than one output word consecutive output words will be used. How many output words are used for each IO module can be read in the extra documentation for the individual IO module. Note!

• FST will check your configuration for overlapping both in the IO range of the proces-sor and the FST operands.

• If there is an input word required for output modules only these operands are usu-ally used for status information. This is described in the module's documentation.

Page 49: FST4 Manual

FST Version 4.02.21 Manual

49

2.8 The Driver Configuration Certain functions in the controller (such as fieldbus operation) are supported by drivers. These drivers are normally started before the FST operating system when the controller is powered up. FST supports the management of these drivers. FST handles loading and preparations for automatic starting of the drivers. The driver configuration is used to select and configure the drivers for a project. Each driver has its driver number. This number is usually used for only one driver, except there are more drivers that are for the same purpose. In one project you can only use one driver with the same number. Some drivers use the functions of other drivers. In this case both drivers have to be configured for the project. For most drivers there are options, which are individual for each driver. There are drivers that require a more comprehensive configuration, such as a fieldbus con-figuration. This configuration is usually edited using a special configuration tool and stored in a file. The contents of this file are incorporated into the project file that will be downloaded to the controller and will be used by the driver. Please note that there is a separate driver configuration for each controller type. If you switch a project from one controller type to another the driver configuration will be empty. If you switch back however, you again will have the original driver configuration for that con-troller type. In the driver configuration you can only insert drivers that are available for the current controller type setting of the project.

2.8.1 The Driver Configuration Window To open the Driver Configuration window select "View >> Driver Configuration..." from the menu or simply double click on the "Driver Configuration" entry in the Project Tree window. A MDI child window with the current driver configuration is shown

The Driver Configuration window offers the following features: • The name, number, required other drivers and a short description are displayed for

each driver in a separate column. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column of the list box can be sorted alphabetically by clicking on the column

header. Click again to reverse the sorting order. • In the status line the current number of entries will be shown. • To remove the selected drivers from the driver configuration simply press the DEL

key or select "Edit >> Delete" from the menu or "Delete" from the right click popup menu.

• To insert a new driver simply press the INS key or select "Insert >> Driver..." from the menu or "Insert Driver..." from the right click popup menu or double click on an empty line in the configuration window.

• To edit a driver's options select that driver and then "View >> Properties" from the menu or "Properties" from the right click popup menu or double click on the driver.

• To print the current driver configuration select "Program >> Print" from the menu.

Page 50: FST4 Manual

FST Version 4.02.21 Manual

50

Note! • There is no undo function available. All changes are immediately saved to disk. • If an entry refers to a driver that is unknown to the FST library its name will be shown

in brackets []. If you select "View >> Properties" for that driver, the option settings will be shown if available. However, they cannot be edited. A project with a driver configuration that contains unknown drivers cannot be downloaded to the control-ler.

2.8.2 Adding a New Driver To insert a new driver to the configuration select "Insert >> Driver..." from the menu, "Insert Driver..." from the right click popup menu of the Driver Configuration window or simply double click on an empty line. The Select Driver dialog will be shown that allows you to choose a driver. Double click on the driver you want to add or press the OK button to add the selected driver.

The Select Driver dialog offers the following features: • The name, number, required other drivers and a short description are displayed for

each driver in a separate column. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column of the list box can be sorted alphabetically by clicking on the column

header. Click again to reverse the sorting order. • If you only want to display the driver names without description in a simple list, tog-

gle the radio buttons in the upper right corner of the dialog. After inserting the driver you automatically will be prompted to edit the driver's options.

Page 51: FST4 Manual

FST Version 4.02.21 Manual

51

2.8.3 Editing Driver Options To change the options of a driver select it in the Driver Configuration window and select "View >> Properties" from the menu, "Properties" from the right click popup menu or simply double click on it. The Driver Options dialog will be shown that allows you to make the required settings. The Driver Options dialog is different for each driver depending on the required settings. The required settings are described in the separate documentation for the individual drivers. This is an example how a typical dialog will look like:

For each option there is a default value available. If you want to reset all options to their defaults, press the Default button. Most drivers are asking for a controller drive. Enter here the drive of the controller where you want the driver executable file to be downloaded or where it already resides. If the chosen drive is available on the controller will be checked prior to downloading the project. Press the Help button to open the driver's chapter in the online help viewer. Note! The options of an unknown driver cannot be edited. They are only displayed in a simple dialog.

Page 52: FST4 Manual

FST Version 4.02.21 Manual

52

2.9 The Allocation List PLC programs consist of program code for handling of data. This data is available in the form of operands. An operand consists of an abbreviation identifying the equipment group and an address specifying a level within the group. Output 3 in output word 5, for example, is identified as O5.3. FST also allows you to use symbolic designations for the operands: output O5.3 may switch a motor on and off, for example, in which case you can refer to it as "MotorOn" in your programs. In this way you can make the programs more easily comprehensible, and also retain a clear overview even when there is a large number of operands. You are largely free to decide on the names of the symbolic operands yourself. A name may consist of up to nine characters, but the first character must be a letter or an underline character (_). You can use any combination of letters, digits or underlines for the sub-sequent characters, but no spaces. The designation must, however, be different from that of an absolute operand. In the following the direct entry of an operand (such as O5.3) is referred to as an absolute operand, whereas an entry in symbolic form (MotorOn) is referred to as a symbolic operand. The assignment of symbolic operands to absolute operands is defined in the Allocation List. It is advisable to create the Allocation List before program entry and then only to use the symbolic operand designations in the control programs. The Allocation List can be edited with the Allocation List editor, covering all functional aspects. It is also possible to insert operands in the course of program entry, however.

2.9.1 The Allocation List Editor To open the Allocation List editor select "View >> Allocation List" from the menu or simply double click on the "Allocation List" entry in the Project Tree window. A MDI child window with the current Allocation List is shown.

The Allocation List editor offers the following features:

• The absolute operand, the symbolic operand and a comment are displayed for each entry in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

• In the status line the current number of entries will be shown. • The use of different icons makes it easy to distinguish inputs and outputs from in-

ternal operands.

Page 53: FST4 Manual

FST Version 4.02.21 Manual

53

• To remove the selected entries from the Allocation List simply press the DEL key or select "Edit >> Delete" from the menu or "Delete" from the right click popup menu.

• To insert a new entry simply press the INS key or select "Insert >> Operand..." from the menu or "Insert Operand" from the right click popup menu or double click an empty line.

• To edit an entry select "View >> Properties" from the menu or "Properties" from the right click popup menu or double click on the entry you want to edit.

• To print the current Allocation List select "Program >> Print" from the menu. • To find and replace text in the comments use the appropriate functions from the Edit

menu. Note! There is no undo function available. All changes are immediately saved to disk.

2.9.2 Adding and Editing Allocation List Entries To insert an operand to the Allocation List select "Insert >> Operand..." from the menu, "Insert Operand" from the right click popup menu of the Allocation List editor or simply double click on an empty line in the Allocation List editor. It is also possible to add entries to the Allocation List while typing the control programs in the Statement List editor. To change an entry in the Allocation List select it in the Allocation List editor and select "View >> Properties" from the menu, "Properties" from the right click popup menu or simply double click on the operand you want to change. The Allocation List Entry dialog will be shown that allows you to enter the required settings.

Absolute Operand: Enter here the absolute operand, e.g. O3.2 or FW4. Symbolic Operand: Enter here the symbolic operand, e.g. MotorOn. You are largely free to decide on the names of the symbolic operands yourself. A name may consist of up to nine characters, but the first character must be a letter or an underline character (_). You can use any combination of letters, digits or underlines for the sub-sequent characters, but no spaces. Comment: Enter here a short comment for the operand. It can be up to 36 characters long. If you use an operand in your programs, its comment from the Allocation List will be auto-matically inserted into the program text.

Page 54: FST4 Manual

FST Version 4.02.21 Manual

54

Note! • There can be only one entry for the same absolute or symbolic operand. • The symbolic operand must be different from that of an absolute operand. • You can enter an absolute operand with or without a symbolic designation, but a

symbolic operand always requires an absolute operand.

2.9.3 Selecting an Operand from the Allocation List The Select Operand dialog is used for different purposes where you have to select an ope r-and. It allows you to choose an operand from the Allocation List or to enter it directly (abso-lute or symbolic) in the edit field below the list box. Press the OK button to accept the ope r-and entered.

The Select Operand dialog offers the following features:

• The absolute operand, symbolic operand and comment of each Allocation List entry are displayed in a separate column.

• Adjust the width of each column by moving the separator in the header with the mouse.

• Each column of the list box can be sorted alphabetically by clicking on the column header. Click again to reverse the sorting order.

2.10 Online Mode The FST programming environment and the controller can establish a communication link via an RS 232 or TCP/IP connection. This link is used to transfer the compiled and linked project to the controller and to exchange information for debugging, for example operand values. Using the RS 232 connection The traditional way to connect to the controller is serial communication over RS 232. This is using the COM ports of the PC and IPC and a simple point to point connection. Using the TCP/IP connection Using TCP/IP to connect to the controller has some advantages over the RS 232 connection, e.g. higher transmission speed and the possibility to connect several controllers and PCs in a network.

Page 55: FST4 Manual

FST Version 4.02.21 Manual

55

2.10.1 Connecting the Controller to the PC for Online Mode If using RS232 connect the controller and your PC with a null modem cable. Make sure to use the COM port of your PC you have configured in your Communication Port Preferences (the default is COM1). On the controller side use the COM port you have configured to be used for the CI in the Controller Settings. This is by default the RS232 port on the CPU mod-ule of your controller, labelled COM or COM1. Before you can go online via TCP/IP you also have to load a project including the TCPIP driver into the controller first. You also have to select TCP/IP in the Communication Port Preferences and enter the IP address of the controller. Make sure the controller and the PC are connected to the same network.

To test the connection to the controller select "Online >> Login" from the menu. A small dialog box will be displayed that informs you about the progress of the login procedure and will display the result and other useful information about the controller if the login is suc-cessful.

Press the Retry button to start the login procedure again. Press the Close button to dismiss the dialog box. Note! This dialog box is also displayed when starting other online displays. In these c ases the dialog box will be hidden automatically on success.

2.10.1.1 Communication Port Preferences Select "Extras >> Preferences" from the menu to open the Preferences tabbed dialog. Select "Communication Port" to choose the communication method and configure the specific settings.

Page 56: FST4 Manual

FST Version 4.02.21 Manual

56

If you want to use TCP/IP for the online connection select the "use TCP/IP" radio button, or "use RS232" to use RS232. For the RS232 connection you have to specify a com port and a baud rate. The com port can be selected from the first combo box. It offers all COM ports found on your PC. Choose the baud rate from the second combo box. Please note that not all controllers allow high baud rates. 9600 is usually a good choice, if not successful, try 2400. Please see the system documentation of the controller for details If using TCP/IP you have to enter the IP address of the controller. If you check the option "Save in Project" the settings will be stored in the project rather than for FST in general. Press the OK button to a ccept the new settings. All online displays will be closed automati-cally if you have made any changes.

2.10.2 The Online Control Panel The Online Control Panel is used to

• Display the name of the project that is currently loaded into the controller • Start and stop the project • Unload the project • Reboot the controller • Display the error in the controller • Reset any error in the controller • Display if the controller is protected by a password (locked) • Lock or unlock the controller • Change the password of the controller • To start the Control Panel select "Online >> Control Panel" from the menu. A small

MDI child window with the controls is shown

Page 57: FST4 Manual

FST Version 4.02.21 Manual

57

Project The name of the project currently loaded in the controller is displayed in a text field, or "<none>" if no project is loaded.

Press the Run button to start the project. This will activate program 0 and activate any stopped programs depending on the Controller Settings.

Press the Stop button to stop the project. This will inactivate (reset) all programs and reset all outputs depending on the Controller Settings.

Press the Break button to break the project. This will stop (break) any active program depending on the Controller Settings.

Press the Unload button to unload the project. All drivers are killed and the project is unloaded from the memory. To load the project again you have to download it or reboot the controller.

Press the Boot button to reboot the controller. Error The number and a short description of the error in the controller are displayed in a text field. Press the Reset button to reset the error in the controller. Password If the controller is protected by password (locked) is indicated by the two radio buttons for

the locked or unlocked state. Press either the Lock or Unlock radio button to lock or unlock the controller. If you want to unlock the controller you have to enter the password. The button next to the radio buttons is labelled either "Set Password" if currently no pass-word is stored in the controller, or "Change Password" if a password is stored in the control-ler. Click on it to set or change the password that is stored in the controller. Note!

• If no password is stored in the controller it can be unlocked without entering a password.

• There is also the possibility to store a password with the project. • Before you can go online you have to connect the controller to your PC and possibly

configure the online settings.

2.10.3 Entering the Controller Password If the controller is protected by a password and you want to unlock it for having full access you have to type in the password. The FST Password dialog is displayed to enter the pass-word.

Page 58: FST4 Manual

FST Version 4.02.21 Manual

58

Note! If no password is stored in the controller it can be unlocked without entering a pass-word.

2.10.4 Changing the Controller Password To change the password stored in the controller open the Online Control Panel. Press the button labelled "change Password" or "Set Password". The Change Password dialog will be displayed.

Old Password: If you want to change the password you have to enter here the old password first. New Password: Enter here the new password. Leave blank to erase the password from the controller. Again: Enter here the new password again (same as for "New Password:"). Note! There is also the possibility to store a password with the project. See Controller Set-tings.

2.10.5 The Online Display The Online Display is used to display and modify the current values of the PLC operands. To start the Online Display select "Online >> Online Display" from the menu. A MDI child win-dow with several tabs is shown.

Page 59: FST4 Manual

FST Version 4.02.21 Manual

59

The Online Display offers the following features: • Click on the tabs to select the type of operands that are displayed. • Use the scrollbar or Page keys to select a range within the operands. • Directly go to an operand by entering its number in a dialog window. • Display a mixed list of operands that are of interest in the User Defined tab. • Open two or more Online Display windows to display several tabs at the same time. • The word values can be displayed in signed, unsigned or hexadecimal format. • If available the bit values of the operands are displayed as sixteen check boxes next

to the operand value. • If the mouse cursor is placed over an operand value or a checkbox the symbolic

name is displayed in a small popup window (like ToolTips) if available. • The update speed can be changed. • Modify operand values. • Forcing of inputs and outputs is supported. • The Festo Fieldbus tab shows the slaves found on the bus and allows scanning or

assigning the configuration in the master. Modifying Operand Values There are the following shortcuts for modifying operand values available:

• Double click on a word, timer value or string to open the Modify Operand dialog (Modify Timer, Modify String) for it.

• Check (or uncheck) the boxes for the single bits to toggle their value. • Check (or uncheck) the boxes for the timer and counter states to start (or stop) the

timer or counter. • Select the new program run state from the combo box to start, stop or inactivate the

program. Please note that programs can only be stopped from the active state. Festo Fieldbus The Festo Fieldbus tab shows the slaves found on the bus when selecting the tab the first time. If the configuration in the master has changed select "Refresh Display" from the right click popup menu to update the list.

Page 60: FST4 Manual

FST Version 4.02.21 Manual

60

To update the configuration in the master according to the actual configuration in the bus select "Scan for Actual Configuration" from the right click popup menu. Please note that this will temporarily disconnect all slaves from the master. All fieldbus outputs are reset to zero. To assign the nominal configuration (i.e. the slaves used by the control programs) to the master's slave list select "Assign Nominal Configuration" from the right click popup menu. Please note that this will temporarily disconnect all slaves from the master. All fieldbus outputs are reset to zero. User Defined List You can display a list of operands of different types that are of interest in the User Defined tab. To configure an entry click the label button. A dialog will be shown that allow you to choose or enter an operand. Note!

• The operands configured for the User Defined tab are stored with the project as ab-solute operands.

• Before you can go online you have to connect the controller to your PC and possibly configure the online settings.

2.10.6 Online Goto... To position on a certain operand within the active page of the Online Display or a step in Statement List Online select "Online >> Goto..." from the menu or "Goto.." from the right click popup menu. The Goto... dialog will be displayed that allows you to enter the number of the ope rand or step.

2.10.7 Changing the Online Display Format The word values of the online displays can be displayed in signed, unsigned or hexadecimal format. Select the appropriate mode from the Online menu or the right click popup menu.

2.10.8 Changing the Update Interval of the Online Display To change the update speed of the active online display select "Online >> Change Update Speed..." from the menu. The Online Update Speed dialog will be shown that allows you to enter the update interval in milliseconds. The allowed range is from 10ms to 10000ms; the default value is 1000ms.

Page 61: FST4 Manual

FST Version 4.02.21 Manual

61

Note! The setting is valid for all online windows of the same type, e.g. all Online Display windows.

2.10.9 Modifying Online Display Operand Values To modify an operand value place the mouse cursor over it and press the right mouse but-ton (or select it using the Tab and Direction keys and press the Context Menu key). Select "Modify operand..." from the popup menu. Depending on the operand type a dialog is shown that allows you to change the value. Press the Modify button to transfer the new value to the controller.

To simply toggle a one-bit operand Select "Toggle" from the popup menu. Forcing Inputs and Outputs Inputs and outputs can also be forced using the Modify Operand dialogs. Press the Force button to force the input or output to the new value entered in the controller instead of the Modify button. To un-force an input or output enter "N" for the new value before pressing the Force button.

Note! In the online displays the values are always shown as seen by the control programs. To reset all inputs and outputs to their natural value select "Clear Force Table" from the right click popup menu of the Online Display window

Page 62: FST4 Manual

FST Version 4.02.21 Manual

62

2.10.10File Transfer The File Transfer window offers the following features:

• Display the files and directories on the different drives of the controller • Information on the file dates and sizes • Information on the free space on the controller drives • Upload files from the controller to the PC • Delete files on the controller • Download files from the PC to the controller

To open the File Transfer window select "Online >> File Transfer" from the menu. A MDI child window with a directory listing of the controller and several buttons is shown.

Display the contents of the parent directory (Parent Dir)

Download a file from the PC to the controller (Download)

Upload a file or display the contents of a subdirectory (Upload)

Delete a file on the controller (Delete)

Stop the current transfer (Stop)

Transfer the currently displayed directory again (Refresh)

Display simple list of file names (List)

Display the date and size of each file (Details)

Directory Listing If you open the File Transfer window all files and directories of the current drive and working directory of the controller is displayed. Subdirectories (folders) will be labelled with a folder icon ; files are labelled with a sheet icon . The directory path is shown in the combo box in the toolbar of the File Transfer window. In the status line of the File Transfer window the sizes of the selected and the sum of all files are shown as well as the free space of the drive. To display the date and size of each file, press the Details radio button in the File Transfer window's toolbar. To switch back to the

Page 63: FST4 Manual

FST Version 4.02.21 Manual

63

simple list of file names press the List radio button. To display the contents of a subdirec-tory, double click on the directory name in the list box (or select it and press the Upload button. To display the contents of the parent directory or another drive, select it from the combo box or press the Parent Dir button. To transfer the currently displayed directory again press the Refresh button. Note! Displaying the directory takes a little time. While the information is transferred the lights in the status bar will be red. As soon as the transfer is finished it will be switched to green again. If you want to stop the current transfer press the Stop button. Uploading Files to the PC To upload a file from the controller to the PC double click on the file name in the list box (or select it and press the Upload button). You will be asked for the location where to store the file on your PC using the standard file dialog. During the file transfer the progress is shown in the status bar and the lights are switched to red. If you want to stop the current transfer press the Stop button. Deleting files on the controller To delete a file on the controller select it and press the Delete button. You will be asked if you are sure, then the file is removed from the controller. Downloading files from the PC To download a file from the PC to the controller press the Download button. You will be asked to select a file for download using the standard file dialog. The file will be transferred to the directory of the controller of which the directory is currently displayed (see the combo box in the toolbar). During the file transfer the progress is shown in the status bar and the lights are switched to red. If you want to stop the current transfer press the Stop button. Remarks

• Before you can go online you have to connect the controller to your PC and possibly configure the online settings.

• The File Transfer window does not work correctly if the controller is protected by a password (locked).

2.10.11The Online CI Terminal The FST PLC operating system is communicating with the FST program using the so-called Command Interpreter (CI). The CI offers various commands to display and modify operand values, start and stop control programs, transfer files etc. These commands are used by the FST online displays. If you want to type the CI commands directly you can do so for special purposes by using the CI Terminal. To start the CI Terminal in a MDI child window select "Online >> Terminal" from the menu.

Page 64: FST4 Manual

FST Version 4.02.21 Manual

64

Note! Before you can go online you have to connect the controller to your PC and possibly configure the online settings. Enter the CI command in the edit field at the bottom of the window. Press the Enter key or the Send button to send the command. The command and the reply will be displayed in the window above. Press the Enter key or the Send button again to repeat the last command. Press the Clear button to erase the contents of the display window. Press the Login button to start a login. If successful the version of the FST operating system, the controller type and the name of the loaded project is displayed.

2.11 Programming in Statement List The Statement List (STL) language is a text-based language for programming control pro-grams in FST.

2.11.1 The Statement List Editor This chapter describes the features and user interface of the Statement List editor. For a description of the statement List language see the separate documentation on that subject. The Statement List editor offers the following features:

• Automatic formatting of the entered lines of text • Standard Windows text editor features such as undo, clipboard support, find and

replace • Insert and overwrite mode • Shortcut bar for all keywords • Automatic prompt for Allocation List entries • Automatic insertion of the comment to operands of the Allocation List • Insertion of operands from the Allocation List • Dialog based insertion of module calls • Syntax check • A different font for the program text can be selected

Before you can start programming in Statement List you have to create a project first. Then add a new Statement List program to that project. The Statement List editor will be auto-matically opened. Of course you can also open an already existing program from the current

Page 65: FST4 Manual

FST Version 4.02.21 Manual

65

project. If you have opened a program, you will see the code of the program in the work area of the Statement List editor. If you have created a new program, the work area is blank.

Auto Format You can now start to enter the program text. Whenever you leave a line it will be formatted according to its syntax. If there are syntax errors in the line, formatting is not possible, and the line will stay as you have entered it. Allocation List Support If there is an operand in the formatted line, which is entered in the Allocation List with a comment, that comment will be used as the comment for the line, if it has not already a comment entered. The automatic comment for operands is prefixed by a simple quote and cannot be edited in the Statement List editor. If a line is formatted and an operand is de-tected, that is not yet entered in the Allocation List, you will be prompted to make an Allocation List entry. If you do not want to enter the operand, click the cancel button or press the ESC key. The automatic prompt for Allocation List entries can be switched off completely in the Statement List editor preferences. Select "Insert >> Operand" from the menu to choose an operand from the Allocation List to be inserted at the current cursor position instead of typing it. Inserting Keywords Using the Shortcut Bar The Statement List shortcut bar allows an overview and quick insertion of all available Statement List instructions. For each keyword a button is available from a floating toolbox. Inserting Module Calls Using a Dialog Box If you use the Module Call dialog for inserting a module call comments for the call parame-ters will be inserted automatically for modules from the library. Syntax Test If you want to check the syntax of the source code in the currently open editor window you can simply compile the program.

Page 66: FST4 Manual

FST Version 4.02.21 Manual

66

Clipboard Support The Statement List editor supports the Windows Clipboard. This allows you to copy or move portions of text within the program, between different programs that are opened in FST or to exchange text with other Windows applications. Before you can move or copy text you have to make a selection. Drag the mouse over the portion you want to select, or hold down the shift key while you are moving the insertion point with the direction keys. To select all text select "Edit >> Select All" from the menu. From the Edit menu or right click popup menu choose "Cut" or "Copy". The cut or copied text is placed onto the Clipboard and is available for pasting. Move the insertion point to the location where you want to insert the text and select "Edit >> Paste" from the menu or "Paste" from the right click popup menu. Note! If you simply delete text by pressing the DEL key or selecting "Edit >> Delete" from the menu or "Delete" from the right click popup menu, the deleted text will not be copied to the Clipboard. Undoing Changes To undo the last modification select "Edit >> Undo" from the menu. To undo all changes you have made since you last saved the program or opened it close the program without saving. Note! Preparing the project for download (Make) or compiling the program to check the syntax will automatically save all changes. Find and Replace To find certain text within the Statement List source code position the insertion point from where you want to start the search and select "Edit >> Find" from the menu. The standard Find dialog will be displayed. Enter the text you want to search for and select any options. Then click the Find next button to find, select and scroll to the next occurrence of the text to find. The Find dialog will be kept open. Click the Find Next button again to proceed to the next occurrence of the text. Click the Cancel button to dismiss the Find dialog. To replace certain text in the Statement List source code position the insertion point from where you want to start the search and select "Edit >> Replace" from the menu. The stan-dard Find and Replace dialog will be displayed. In the "Find What?" text box type the search text. In the "Replace With:" text box type the replacement text. Select any find options. Click the Find next button to find, select and scroll to the next occurrence of the text to find. Then click on Replace to replace the current selection with the replacement text. Click on Replace all to replace all occurrences at once. Click the Cancel button to dismiss the dialog. If you want to search for the same text as the last search again select "Edit >> Find Next" from the menu. This will directly find, select and scroll to the next occurrence without open-ing the standard Find dialog. Insertion and Overwrite Mode For the Statement List editor you can toggle between insertion or overwrite mode with the INS key. If the editor is in insertion mode the text "INS" is visible in the status line. By de-fault the Statement List editor starts up in insertion mode. Saving Changes The changes you make to the source code will be saved to file...

• If you explicitly save it by selecting "Program >> Save", "Program >> Save As..."or "Program >> Save All" from the menu.

• When you are changing the program properties • Prior to compiling it (syntax check) or preparing the project for download (make). • If the project is closed. • Prior to printing the project.

Page 67: FST4 Manual

FST Version 4.02.21 Manual

67

Select "Program >> Save As" if you want to make a copy of the program. The same dialog as for creating a new program will be displayed. The original program will not be erased. It will keep the source code how it was saved the last time before the Save As. Printing Select "Program >> Print" to print the source code of the active Statement List editor. You will be prompted to save any unsaved modifications first. Then the standard print dialog will be shown to select a printer Changing the Text Font The font used for the program text can be changed in the Statement List Preferences.

2.11.2 The Shortcuts Window The Statement List shortcut bar allows an overview and quick insertion of all available Statement List instructions. For each keyword a button is available from a floating toolbox. To display the shortcut bar select "View >> Shortcut bar" from the menu or "Shortcut bar" from the right click popup menu. Click on the keyword to insert it at the insertion point of the active Statement List editor window.

Note! • The shortcut bar will be automatically hidden, if the active window is not a State-

ment List editor and will be displayed again if you make a Statement List editor the active window. If you do not want the shortcut bar to be displayed close the floating toolbox window by clicking its close icon in the titlebar or select "View >> Shortcut bar" from the menu or "Shortcut bar" from the right click popup menu again.

• The visibility, size and position of the Shortcuts window will be saved between FST sessions.

• The Statement List instructions are also available from the "Insert >> STL Instruc-tion" menu.

2.11.2.1 Inserting Module Calls To insert a module call at the current editing position of your program select "Insert >> Mod-ule Call" from the menu. A list with all program and function modules of the project will be displayed. Choose the one you want to call by double clicking it, or select it and press the OK button. Then the Module Call dialog is displayed. Enter the required parameters in the edit fields after the keyword "WITH". If a description file is available for the module you have selected, a comment for each of the parameters will be displayed. If you choose the OK button the module call including the comments will be inserted into your source code.

Page 68: FST4 Manual

FST Version 4.02.21 Manual

68

The module Call dialog also offers the following features • Select another module by changing the selection of the combo box and the number

in the first row. • To select a module from the list of available modules of the project click on the but-

ton with three dots in the first row. • Click on the buttons with three dots on it next to the parameter edit fields to choose

an operand from the Allocation List.

2.11.2.2 Statement List Preferences To view or change the preferences for the Statement List editor select "Extras >> Prefer-ences" from the menu and select the "STL editor" tab.

Prompt for Allocation List entries: Check this option if you want to be prompted for Allocation List entries if a new operand is used in the Statement List source code

Page 69: FST4 Manual

FST Version 4.02.21 Manual

69

Use ELSE instead of OTHRW: Check this option if you want to use the STL keyword ELSE instead of OTHRW. The default is OTHRW. Font: The font name and size used for the Statement List editor windows are displayed in the preview window using the actual font. Default: Click this button to use the Windows default font. Browse: Click this button to display the standard font selection dialog to make your selection. Note!

• The options and the font are common for all Statement List editor windows. • If you change the font it will be used for newly opened windows only. Re-open the

project to apply the new font for the already open editor windows as well.

2.11.3 Statement List Online Statement List Online allows debugging your programs online. Status information and operand values are displayed and operand values can be modified. To start STL Online open the program for editing first. Then select "Online >> Online" from the menu or "Online" from the right click popup menu. The window will now be switched to online mode. To switch back to editing mode, select "Online >> Editor" from the menu or "Editor" from the right click popup menu.

STL Online offers the following features: • The active step is highlighted and its name and number displayed in a status line. • The current values of the operands are displayed next to their occurrence in the

source code. • The program run status is displayed in a status line. • The current FST runtime error is displayed in the status line.

Page 70: FST4 Manual

FST Version 4.02.21 Manual

70

• Directly scroll to a step by entering its number in a dialog window. • The word values can be displayed in signed, unsigned or hexadecimal format. • If the mouse cursor is placed over an operand value the symbolic name is displayed

in a small popup window (like ToolTips) if available. • The update speed can be changed. • Modify or toggle operand values • Forcing of inputs and outputs is supported.

Modifying Operand Values There are the following shortcuts for modifying operand values available:

• Double click on a word or timer value to open the Modify Operand dialog for it. • Double click on the "OFF" or "ON" value of a single bit operand to toggle its value.

2.11.4 Statement List Program Structure An STL control program is made up of a number of statements. By way of an example, take the following short program: STEP <Mark> IF Switch1 AND I1.1 THEN SET O1.0 OTHRWSET Horn ... Each individual line represents a statement for the controller. A statement is composed of the following parts:

• STL instructions (e.g. IF, AND, THEN, SET, OTHRW) • PLC operands (e.g. inputs or outputs) "Switch1" and "Horn" are symbolic operands.

When you are entering a new program you can write it as a:

• Step program • Parallel logic program • Executive part

2.11.4.1 Step program A step program can contain up to 255 steps (1 to 255). Each step can be labelled with a symbolic step mark. In a step program you can set up branches or jumps to other parts of the program (JMP TO step mark). Your program then continues with a step other than the directly following step. A step may consist of one or more sentences. A complete sentence contains an IF clause, a THEN clause and possibly an OTHRW clause. The first sentence of a step may be an incom-plete sentence. In this case this is an executive part only (THEN...). This THEN clause is always executed, without an input condition. The program is executed step by step. Note! Control does not pass to the next step until a THEN or OTHRW statement has been executed in the last sentence of the current step. Until this condition is met, the instructions in the current step are executed again, cyclically each time the program is executed. The STL language does not use "edge triggering". Conditions are evaluated for truth each time they are processed without regard as to their prior status.

Page 71: FST4 Manual

FST Version 4.02.21 Manual

71

Example of a simple step program: STEP Mark1 IF I1.0 THEN SET F1.5 OTHRW RESET F1.5 STEP Mark2 THEN RESET F0.0 IF F1.5 THEN SET O0.7 SET F0.0 OTHRW SET O0.0 JMP TO Mark1 STEP Mark3 IF F0.0 AND I0.0 THEN SET O0.4 STEP Mark4 ...

2.11.4.2 Parallel logic program A parallel logic program consists purely of sentences; in other words no step marks are programmed. This means that a parallel logic program is identical to a step of a step pro-gram. Branches cannot be programmed in a parallel logic program. The first sentence in a parallel logic program may be an incomplete sentence. All subse-quent sentences must be complete sentences. A parallel logic program is processed cyclically until it is reset (as is a ladder diagram pro-gram). If you want the program to be executed only once, you must reset it in the last sen-tence. Example of a parallel logic program (P1) that is executed only once: THEN RESET F0.0 IF N I1.0 THEN SET O0.7 IF I1.7 THEN SET O1.7 OTHRWSET F0.0 RESET O1.7 ... ... IF F0.0 AND I1.0 THEN SET O1.0 RESET P1 OTHRWRESET P1

Page 72: FST4 Manual

FST Version 4.02.21 Manual

72

2.11.4.3 Executive part An executive part is essentially structured in the same way as an incomplete sentence in a parallel logic program. There is no introduction with a THEN clause. All of the statements entered are executed without an input condition. No branching is possible within the pro-gram. If you enter an IF clause further on in the executive part, an error results. Example of an executive part: SET F0.0 RESET O1.0 LOAD V50 TO TW7 SET T7 CMP2 ...

2.11.4.4 Comments There are two types of comment that you can add to your STL program:

Short comments with up to 36 characters can be appended to a program line. They are introduced with one quotation mark. Example: IF N I1.7 "No signal from sensor

Long comments can extend over a whole line. They are introduced with two quotation marks. Example: ""This is a long comment that can be as long as an entire line.

2.11.5 Statement List Instructions Reference This chapter gives an overview of the Statement List instructions.

2.11.5.1 Statement List Organisation

The STEP statement is very important in sequence programs as it determines the structure of the program or, if branches are used, the sequence of processing. STEP can be followed by a step mark with a maximum of nine characters or a number (label). A step mark is required if you want to branch to this step from elsewhere in the STL pro-gram. Example: STEP Setup ... ... THEN JMP TO Setup During the translation process the steps are renumbered internally, beginning at step 1 through to the maximum number. Note!

• In an STL program a step is not processed until a THEN or OTHRW clause in the last sentence of the preceding step has been executed.

• Processing of a step program is not cyclical.

Page 73: FST4 Manual

FST Version 4.02.21 Manual

73

IF always introduces a conditional part. Operands can be interrogated and linked by logical associations within the statement. The result represents the condition for further process-ing. Example: IF I1.0 AND N I1.1 ...

THEN introduces the executive part. This part is executed if the condition is true. The state-ment may contain commands to modify outputs or flags etc., to carry out arithmetic opera-tions, to activate timers or counters, or to call other programs or program modules. Example: THEN LOAD V100 TO TP7 ...

OTHRW introduces a second, alternative executive part. This part is executed if the result of the conditional part of the step is not true and hence the THEN clause cannot be executed. Example: ... THEN SET O1.0 OTHRW RESET O1.0

2.11.5.2 STL conditional part These statements enable you to construct complex input conditions.

This is the logical operator AND. It allows logical ANDing of a number of input conditions. The condition is fulfilled when all ANDed input conditions are true. Example: IF I1.0 AND I1.1 THEN SET O1.0 OTHRWSET O1.7

This is the logical operator OR. This operator allows you to create a logical expression with several input conditions. The condition is fulfilled when at least one of the conditions is true. Example: IF I1.0 OR I1.1 OR I1.7 THEN SET O1.0 OTHRWSET O1.7

This is the logical operator EXOR. This allows you to create a logical expression with two input conditions. The condition is fulfilled when only one or the other input condition is true.

Page 74: FST4 Manual

FST Version 4.02.21 Manual

74

Example: IF I1.0 EXOR I1.1 THEN SET O1.0 OTHRWSET O1.7

NOP means No operation. You can use this statement when you want to carry out an execu-tive part without an input condition. Example: IF NOP THEN SET F1.0

This is a negation. It allows you to invert an input condition. In the example below, if output O1.0 is not active, the program jumps to the Setup step. Example: IF N O1.0 THEN JMP TO Setup

2.11.5.3 STL Executive part

SET activates a one-bit operand. You can use this for setting an output to logical one, for example.

RESET is the counterpart to SET. It deactivates one-bit operands, used, for example, for setting an output to logical zero.

A LOAD statement reads a register or a multibit operand, i.e. its value is written to a multibit accumulator. Normally this statement is followed by the keyword TO, indicating the destina-tion of the operation. Example: THEN LOAD V500 TO TP31

A TO statement assigns a value to a word operand. TO specifies the destination of the op-eration. Example: THEN LOAD V100 TO R6 The value 100 is loaded into register 6. A JMP TO statement causes the program to branch to a specific program step. Example: STEP Mark IF I1.0 THEN SET O1.0 JMP TO Start ... ...

Page 75: FST4 Manual

FST Version 4.02.21 Manual

75

STEP Start ... The program branches to the step mark Start and the program continues executing there.

2.11.5.4 Special functions - Extended STL These functions allow you to enter statements for multibit operands in your STL program.

The higher-order byte and the lower-order byte are swapped in the multibit accumulator. Example: THEN LOAD V$55AA TO OW0 SWAP TO OW1 $55AA is loaded to OW0, but $AA55 is loaded to OW1.

The SHIFT instruction executes a swap between the Single Bit Accumulator (SBA) and a Single Bit Operand (SBO). This instruction can be used to construct Shift Registers of varying lengths...longer or shorter than the 16 bit manipulations performed by the SHL and SHR instructions. To operate properly, the SBA must first be loaded and then any number of single bit SHIFT's can be programmed. Example: STEP 10 IF I1.0 " input activated THEN LOAD I1.1 TO F0.0 " a flag is used here to avoid " writing to an input, which " would otherwise occur SHIFT O1.1 " SWAP F0.0 <-> O1.1 SHIFT O1.2 " SWAP O1.1<-> O1.2 SHIFT O1.3 " SWAP O1.2<-> O1.3 SHIFT O1.4 " SWAP O1.3<-> O1.4 STEP 20 IF N I1.0 " wait for input to go away THEN JMP TO 10 " repeat

SHL stands for shift left. This statement is used to shift the contents of the multibit accumulator one bit position to the left. The right-most bit is filled with a zero. The effect is multiplication by 2. If you call the SHL statement three times in succession, this is equiva-lent to multiplication by 2x2x2, therefore multiplication by 8. Example: THEN LOAD V16 SHL TO R7 The value of R7 is then 32.

SHR stands for shift right. This statement is used to shift the contents of the multibit accu-mulator one bit position to the right. The left-most bit is filled with a zero. The effect is division by 2. In similar fashion to SHL, repeated shifting to the right results in division by 2 each time.

Page 76: FST4 Manual

FST Version 4.02.21 Manual

76

Example: THEN LOAD V16 SHR TO R7 The value of R7 is then 8.

The effect of this statement is the same as that of SHL except that the highest-order, left-most bit is shifted out of the accumulator and is re-inserted as an overflow on the right as the lowest-order bit.

As in the case of SHR, the bits in the multibit accumulator are shifted, but this time to the right. The right-most bit is pushed out of the accumulator and re-inserted as the highest-order bit.

A BID statement converts the contents of the multibit accumulator from binary to BCD rep-resentation. You can use BCD code to drive LEDs on control panels, for example. Example: THEN LOAD IW0 BID TO OW7

A DEB statement converts the contents of the multibit accumulator from BCD to binary code. This conversion is necessary if you have connected BCD switches to an input in your control-ler and you want to transfer the switching status of the switches from the input word for processing in a counter. Example: THEN LOAD IW7 DEB TO CW7

This command complements (INVerts) the contents of the multibit accumulator using the one's complement method. Example: THEN LOAD OW1 INV AND IW1 TO OW1

This command complements the contents of the multibit accumulator using the two's com-plement method. In principle, the effect of using the CPL instruction is the same as multiply-ing a number by -1 when applied to signed integers. Example: IF ( R32 < V0 ) THEN LOAD R32 CPL TO R22

Page 77: FST4 Manual

FST Version 4.02.21 Manual

77

2.11.5.5 Arithmetic functions

The INCrement instruction increases the value of any multibit operand by 1. Unlike other arithmetic instructions, the INCrement operation may be carried out directly without the need to first load the operand to be INCremented to the multibit accumulator. While the INCrement instruction can be used with any multibit operand, it is most often used in conjunction with Counters. Example: IF I 1.3 THEN INC R9

The DECrement instruc tion reduces the value of any multibit operand by 1. Unlike other arithmetic instructions, the DECrement operation may be carried out directly without the need to first load the operand to be DECremented to the multibit accumulator. While the DECrement instruction can be used with any multibit operand, it is most often used in conjunction with Counters. Example: IF I2.2 AND N I3.6 THEN DEC R9 In addition to the statements previously explained, the following arithmetic operations are available:

(, ), +, -, *, /, <, <=, =, >=, >, <> These functions allow you to program arithmetic operations and comparisons. Example: IF ( FW0 = V1234 ) AND ( R1 <> V0 ) THEN... Note! In statements of this type you must be absolutely clear whether you need parentheses (brackets), and if so for which expressions. It is all too easy to corrupt the logical structure by omitting or wrongly placing parentheses.

2.11.5.6 Module calls

The Call Function Module instruction is used to request execution of an external program routine. Function modules may be considered similar to special function calls. Function modules may be written in one of several languages including STL and C. Some program modules may use function units (FU) to pass information to/from user pro-grams and function modules. Depending upon the specific function module being called, it may be necessary to provide several parameters when using a CFM, see WITH instruction. Note! CFMs must not contain steps. No task switch takes place after a call to a CFM.

The Call Program Module instruction is used to request execution of an external program routine. Program modules may be considered similar to subroutines.

Page 78: FST4 Manual

FST Version 4.02.21 Manual

78

Program modules may be written in one of several languages including STL and C. Some program modules may use function units (FU) to pass information to/from user pro-grams and program modules. Depending upon the specific program module being called, it may be necessary to provide several parameters when using a CMP, see WITH instruction. Note! It is not permissible to use the CMP instruction from within a program module. After each call to a CMP a task switch will take place to allow for steps inside the program modules.

The WITH instruction is used to pass parameters to function or program module calls using the function units (FU). Example: IF I1.2 THEN CFM 0 WITH V2

2.11.6 Customising FST There are several possibilities to customise the FST program and runtime library. Preferences FST offers some options that can be set to individual needs or preferences. Select "Extras >> Preferences" from the menu to open the Preferences dialog.

2.11.6.1 The Project Directory Using different project directories is useful to sort a larger amount of projects in groups. But you have to remember the different locations where you have stored FST projects. If you want to view or change the current common root directory for FST projects, select "Extras >> Preferences..." from the menu. In the tabbed dialog that will be displayed select the General tab. Enter the path of the new directory or press the Browse button to select an already existing directory. Relative paths (beginning with a dot) are subdirectories of the directory where you have installed FST.

Page 79: FST4 Manual

FST Version 4.02.21 Manual

79

After changing the directory path and closing the dialog the currently open project will be closed. Note! If you want to use DOS based tools for you project, such as fieldbus configurators, use a project path that does not contain long file names (max. 8 characters) or spaces.

2.11.6.2 Communication Port Preferences Select "Extras >> Preferences" from the menu to open the Preferences tabbed dialog. Select "Communication Port" to choose the communication method and configure the specific settings.

Page 80: FST4 Manual

FST Version 4.02.21 Manual

80

If you want to use TCP/IP for the online connection select the "use TCP/IP" radio button, or "use RS232" to use RS232. For the RS232 connection you have to specify a com port and a baud rate. The com port can be selected from the first combo box. It offers all COM ports found on your PC. Choose the baud rate from the second combo box. Please note that not all controllers allow high baud rates. 9600 is usually a good choice, if not successful, try 2400. Please see the system documentation of the controller for details. If using TCP/IP you have to enter the IP address of the controller. If you check the option "Save in Project" the settings will be stored in the project rather than for FST in general. Press the OK button to accept the new settings. All online displays will be closed automati-cally if you have made any changes.

2.11.6.3 Statement List Preferences To view or change the preferences for the Statement List editor select "Extras >> Prefer-ences" from the menu and select the "STL editor" tab.

Page 81: FST4 Manual

FST Version 4.02.21 Manual

81

Prompt for Allocation List entries: Check this option if you want to be prompted for Allocation List entries if a new operand is used in the Statement List source code Use ELSE instead of OTHRW: Check this option if you want to use the STL keyword ELSE instead of OTHRW. The default is OTHRW. Font: The font name and size used for the Statement List editor windows are displayed in the preview window using the actual font. Default: Click this button to use the Windows default font. Browse: Click this button to display the standard font selection dialog to make your selection. Note!

• The options and the font are common for all Statement List editor windows. • If you change the font it will be used for newly opened windows only. Re-open the

project to apply the new font for the already open editor windows as well.

2.11.6.4 Print Preferences You can change the print font and the margin widths of the printout. Select "Extras >> Prefer-ences..." from the menu. In the tabbed dialog that will be displayed select the tab "Print".

Page 82: FST4 Manual

FST Version 4.02.21 Manual

82

If you press the Browse button you will be asked for a printer to display the correct list of available fonts before the standard font selection dialog is displayed. Note! If you choose the margins smaller than the minimum printer margins, the printout will be clipped.

2.11.7 The FST Runtime Library FST allows configuring various input and output modules and drivers. All available drivers are registered in the FST Runtime Library. If new hardware is developed new IO scripts or drivers or updates will be needed. FST gives the necessary support to manage the FST Runtime Library.

2.11.7.1 IO Scripts (Runtime Library) Select "Extras >> Library..." from the menu to open the FST Library tool. "IO Modules" is already the default tab.

Page 83: FST4 Manual

FST Version 4.02.21 Manual

83

The Library IO Module dialog offers the following features:

• Select the controller type for the library from the combo box above the list box. • The IO script description, the file name, and other information (see below) are dis-

played for each installed IO script in a separate column. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column except the last one of the list box can be sorted alphabetically by click-

ing on the column header. Click again to reverse the sorting order. • If you only want to display the IO script descriptions in a simple list, toggle the radio

buttons in the upper right corner of the dialog. • To deinstall the selected entry from the FST library press the DEL key or the Deinstall

button. • To install a new IO script press the INS key or the Install... button. • To extract the selected entry onto a floppy or somewhere else to be reinstalled later

press the Extract button. The additional data in the list box is for your information only and cannot be edited. In: Number of input bytes that are used in the processor's IO area. Out: Number of output bytes that are used in the processor's IO area. IW: Number of FST input words that are occupied by a module of this type. OW: Number of FST output words that are occupied by a module of this type. Switch The possible switch positions for a module of this type.

Page 84: FST4 Manual

FST Version 4.02.21 Manual

84

Installing a new IO Script To install a new IO script press the INS key or the Install... button. You will be asked for the path name of the new script using the standard file dialog. Then the new script will be in-stalled. It is now available for your projects. Extracting IO Scripts To extract the selected entry onto a floppy or somewhere else to be reinstalled later press the Extract... button. You will be asked for the path name where to store the script file using the standard file dialog. Then a copy of the IO script will be created at the given location. The IO script will not be removed from the FST Library. Remarks

• There is a different library for each of the different controller types. • Changing the FST Library does affect the FST installation rather than a single project. • If you are deinstalling IO scripts that are used by projects, these projects no longer

can be loaded into the controller with this FST installation unless the IO script will be installed again.

• IO scripts always have the extension ".iod".

2.11.7.2 Drivers (Runtime Library) Select "Extras >> Library..." from the menu to open the FST Library tool. From the FST Library dialog select the tab "Drivers".

The FST Library Drivers dialog offers the following features:

• Select the controller type for the library from the combo box above the list box. • The driver name, the driver's number, dependencies and a short description are dis-

played for each installed driver in a separate column. • Adjust the width of each column by moving the separator in the header with the

mouse. • Each column except the last one of the list box can be sorted alphabetically by click-

ing on the column header. Click again to reverse the sorting order.

Page 85: FST4 Manual

FST Version 4.02.21 Manual

85

• If you only want to display the driver names in a simple list, toggle the radio buttons in the upper right corner of the dialog.

• To deinstall the selected entry from the FST library press the DEL key or the Deinstall button.

• To install a new driver press the INS key or the Install... button. • To extract the selected entry onto a floppy or somewhere else to be reinstalled later

press the Extract button. Installing a new driver To install a new driver press the INS key or the Install... button. You will be asked for the path name of the new driver using the standard file dialog. Then the new driver will be installed. It is now available for your projects. Extracting Drivers To extract the selected entry onto a floppy or somewhere else to be reinstalled later press the Extract... button. You will be asked for the path name where to store the driver files using the standard file dialog. Then a copy of the driver and all required files will be created at the given location. The driver will not be removed from the FST Library. Remarks

• There is a different library for each of the different controller types. • Changing the FST Library does affect the FST installation rather than a single project. • If you are deinstalling drivers that are used by projects, these projects no longer can

be loaded into the controller with this FST installation unless the drivers will be in-stalled again.

• FST driver scripts always have the extension ".dmk".

2.11.8 External Tools FST allows calling external tools directly from the Extras menu and to pass to these pro-grams parameters such as the name of the currently open project. Select "Extras >> Config-ure Tools..." from the menu to open the Tools dialog. This dialog allows adding, removing or editing the list of external tools.

Page 86: FST4 Manual

FST Version 4.02.21 Manual

86

The Tools dialog offers the following features:

Add a new tool to the Extras menu

Remove the selected tool from the Extras menu

Edit the settings for the selected tool

Execute the selected tool

Move the selected tool one position to the top

Move the selected tool one position to the bottom

Note!

• The tools appear in the order in the list box as they are in the Extras menu. • Only the first 25 tools will be added to the Extras menu.

2.11.8.1 Adding or Modifying an External Tool From the Tools dialog:

Press the New button to add a new tool to the Extras menu or

Press the Properties button to edit the settings for the selected tool

The External Tool dialog will be opened to enter the required settings.

Title: Enter here the text that will appear in the Extras menu. You can use the Ampersand sign (&) to define the following character as the shortcut. It will be underlined in the menu text. To insert an Ampersand type "&&". Program: Enter here the path for the program to be executed. Press the "..." button to browse through the files on your computer. It is also possible to use the macros described below Parameters: Enter here the parameters for your program. It is also possible to use the macros described below.

Page 87: FST4 Manual

FST Version 4.02.21 Manual

87

Wait for Completion: If this option is enabled, when calling the tool, the FST main window will be minimised until the execution of the tool has terminated. If you do not check this option, the tool will just be called and FST and the tool run in parallel. Release COM ports: Enable this option, if the tool will use the COM port that is used for FST. If you enable this option you should also enable the option "Wait for Completion". Reload project: This option will only work if you also enabled the option "Wait for Completion". If the execu-tion of the tool has been finished, the current project will be read in again to update any changes the tool may have caused. Macros The following macros will be replaced in the program and parameter strings: <<<FSTDIR>>>

where FST.EXE sleeps <<<RUNTIMEDIR>>>

one of "runtime.," e.g. "Runtime.FEC" replacement for obsolete <<<DRIVERDIR>>> and <<<FBLIBDIR>>> <<<ALLPROJECTS>>>

path to directory with project directories <<<CURRENTPROJECT>>>

path to current project, == <<<ALLPROJECTS>>>\<<<PROJECT_CUR>>> <<<TARGET>>>

new entry, "HC1X," "FEC," "HC2X," "HC0X" <<<LANGUAGE>>>

new entry, "GB", "D" The following macros will be replaced in the parameter string only: <<<COM_PORT>>> e.g. "COM1" <<<COM_BAUDRATE>>> e.g. "9600" <<<#1>>> (obsolete) "VFNM" <<<#2>>> (obsolete) "x" <<<#3>>> (obsolete) <<<CURRENTPROJECT>>> <<<#4>>> (obsolete) "IPC" <<<#5>>> (obsolete) <<<COM_PORT>>>"/"<<<COM_BAUDRATE>>>"/9000"

Page 88: FST4 Manual

FST Version 4.02.21 Manual

88

3 The FST PLC Operating System (Kernel) In order to use an IPC as PLC, the necessary PLC operating system software must be loaded into the IPC. For this, FST uses the runtime kernel FSTPCR22.EXE. This contains PLC proper-ties that are always required. The kernel is also responsible for loading and executing the user project. For the controllers that are prepared for FST, the FST PLC operating system is automatically started on power-up. Additional parts of the PLC operating system can be subsequently loaded into the controller as modules and/or as drivers together with a user project. The properties of the FST PLC operating system are described in the following sections.

3.1 PLC operands PLC programs consist of program code for handling of data. This data is available to the PLC in the form of operands. It contains not only the values of operands, but also flags and many special operands with specific properties. These operands are the classical PLC operands. Operands with a value of one bit only are differentiated from those with 16 bits, called words. In some cases, the operands can be used either as a bit value or together in the form of a word value. In the case of FST software this applies to all inputs, all outputs, and all flags. All other operands can only be used either as word or only as bit. Where operands can be accessed either as bit or jointly in the form of a word, the conven-tion is that the least significant bit (extreme right) contains the bit with the number 0. It therefore follows that the most significant bit (extreme left) is bit number 15. Other operands have special properties defined by the operating system. For example all counters can be used either in the form of a counter value as counter word CW and in the form of a 1-bit counter status C (expired or not expired). Timers are a similar case, having a timer word TW and a timer status T. The FST PLC operating system ensures that these oper-ands always change their values accordingly. The individual operand types and their application in programs are described in the follow-ing. Abbreviations b - Bit number w - Word number Value ranges of multibit operands: All multibit operands are 16-bit values. 0 to 65535 (Unsigned decimal) -32768 to +32767 (Signed decimal) $0000 to $FFFF (Hexadecimal)

3.1.1 Inputs 256 possible input words (0 to 255) each with 16 bits (0 to 15), can be addressed as words and as bits. Input (bit): Syntax: Iw.b Operations: Interrogate

Input word: Syntax: IWw Operations: Compare

3.1.2 Outputs 256 possible output words (0 to 255) each with 16 bits (0 to 15), can be addressed as words and as bits.

Page 89: FST4 Manual

FST Version 4.02.21 Manual

89

Output (bit): Syntax: Ow.b Operations: Interrogate, set, reset, assign, assign negated Output word: Syntax: OWw Operations: Load, compare

3.1.3 Flags 10,000 flag words (0 to 9999) each with 16 bits (0 to 15), can be addressed as words and as bits. Flag (bit): Syntax: Fw.b Operations: Interrogate, set, reset, assign, assign negated Flag word: Syntax: FWw Operations: Load, compare

3.1.4 Registers 256 registers (0 to 255), can only be addressed as words. Syntax: Rw Operations: Load, compare

3.1.5 Timers 256 timers (0 to 255), can be programmed as pulse timer (T) Timer status (bit): Syntax: Tnn, TONnn, TOFFnn Operations: Interrogate, set, reset, assign, assign negated Timer value: TWnn Operations: Load, compare Timer preset: TPnn Operations: Load, compare A pulse timer allows an output to be activated for a pre-determined time by an input pulse. A pulse timer responds only to a rising edge of the input condition (pulse). This occurs when there is a change in status from 0 to 1. The pulse starts the timer (Tnn=1). The timer preset (start value) is loaded into the timer word and the timer starts running. The timer word is then decremented until:

• It reaches the value 0, the timer has then expired (Tnn=0, TWnn=0) • Another rising edge (pulse) is detected in the conditional part, as a result of which

the timer is started again (timer restart) • The timer status is reset (Tnn=0, Twnn=0)

Page 90: FST4 Manual

FST Version 4.02.21 Manual

90

A pulse at input I0.1 activates the output for the length of time determined by the timer preset (10 seconds). The normally closed contact in the first rung prevents the timer from being restarted if it is already active. Example: IF I0.1 AND N T1 THEN SET T1 WITH 10S IF T1 THEN SET O0.1 OTHRWRESET O0.1

3.1.6 Counters Operations: One-bit: Interrogate, set, reset, assign, assign negated Multibit: Load, compare C0 to C255 Counter status, one-bit CW0 to CW255 Counter word, multibit CP0 to CP255 Counter preset, multibit

3.1.7 Constants Operations: Load, compare Vnnnn Multibit

3.1.8 Function units 256 function units, 7 of which (32 to 38) are used for passing parameters, the rest are avail-able for general use. Operations: Load, compare FU0 to FU255 Multibit Function units FU32 to FU38 are available for each program because they are used for pass-ing parameters to modules. Only the program’s own FUs can be accessed from within the programs, the syntax is therefore simply FUw. The FUs of all programs can be addressed in

Page 91: FST4 Manual

FST Version 4.02.21 Manual

91

the command interpreter, for which the program number has to be specified: FUp.w (p = program number, w = FU number 32 to 38).

3.1.9 Programs Operations: Interrogate, set, reset P0 to P63 One-bit

3.1.10 Program statuses Operations: Interrogate, set, reset, assign, assign negated PS0 to PS63 One-bit The program and program status operands provide information about the status of a pro-gram: P PS Status 0 0 Inactive 0 1 No meaning 1 0 Active but suspended 1 1 Active and being processed A program with the number x can be started and stopped via the operand Px. After having been started with the command SET Px, Px=1 and PSx=1. When it is stopped with the com-mand RESET Px, Px=0 and PSx=0. The active program Px can be suspended with RESET PSx.

3.1.11 Errors Operations: Interrogate, reset E One-bit EW Multibit

3.1.12 Initial execution flags When a program is executed for the first time the initial execution flag is 1, then it is set automatically to 0. Operations: Interrogate FI One-bit, for each program There are separate initial execution flags for each program. Addressing is as for function units.

3.1.13 Retentive operands If operands are retentive this means that their value is preserved during power off. On the different controller types different parts of the FST operands are retentive. FECs A drop in operating voltage results in some of the operands being copied to flash disk: FW0 to 255 R0 to 127 TP0 to 127 C0 to 127 CP0 to 127 Password HCXX Part of the zero-power RAM is used for retentive storage of operands. As a result, nearly all operands can be made retentive: FW R

Page 92: FST4 Manual

FST Version 4.02.21 Manual

92

TV C, CP, CW FU Password

3.1.13.1 Configuration of the driver for retentive operands For the FEC Compact, FEC Standard, HC0X and HC20 CPUs the above-mentioned operands are always retentive. It is not necessary to configure any driver or something else. The retentive storage of the operands cannot be switched off. Use the function module F9 (see below) to reset all operands if required. In order to make the above-mentioned operands retentive in the HC1X CPUs, the driver for retentive operands "DRAD" must be selected and parameterised in the driver configuration of each project that wants to use retentive operands. For "Special parameters", the default setting " -q" should normally remain. This option suppresses multiline output on the con-troller screen when the driver is started.

3.1.14 Function modules for modifying operands Overview CHECKSUM Checksum for a subrange of flag words COPY Copy a subrange of flag words DINDEXMW Indexed decrementing access to flag words F9 Reset operands IINDEXMW Indexed incrementing access to flag words NINDEXMW Delete certain range of flag words RINDEXMW Indexed read access to flag words WINDEXMW Indexed write access to flag words CHECKSUM Check sum for a subrange of flag words Input parameters FU32 Number of the first flag word FU33 Number of the last flag word Output parameters FU32 Check sum Note! The check sum is formed by simple addition of the flag words. COPY Copy a subrange of flag words Input parameters FU32 Number of the first source flag word FU33 Number of the first target flag word FU34 Number of flag words Output parameters None Note! The flag word ranges may overlap. DINDEXMW Indexed decrementing access to flag words Input parameters FU32 Index to flag word Output parameters FU32 Value read Note! The given flag word will be decremented by 1 if it is not already 0.

Page 93: FST4 Manual

FST Version 4.02.21 Manual

93

F9 Reset operands Input parameters FU32 = 0 Reset all registers, counters, timers, flags = 1 Reset all registers = 2 Reset all flags = 3 Reset all timers = 4 Reset a ll counters Output parameters None IINDEXMW Indexed incrementing access to flag words. Input parameters FU32 Index of the flag word Output parameters FU32 Value that is read Note! The given flag word will be incremented by 1 if it is not a lready 65535 ($FFFF). NINDEXMW Delete defined range of flag words Input parameters FU32 Index of the flag word FU33 Number of flag words to be deleted Output parameters None RINDEXMW Indexed read access to flag words Input parameters FU32 Index of the flag word Output parameters FU32 Value read WINDEXMW Indexed write access to flag words Input parameters FU32 Index of the flag word FU33 New value Output parameters None

Page 94: FST4 Manual

FST Version 4.02.21 Manual

94

3.2 Multitasking The FST PLC operating system supports multitasking. It can execute the processing cycles of a number of programs one after the other (referred to as tasks). While in a task one program is being processed, the other currently active programs are not processed. However, execu-tion of the program segments and switching to the next program (task change) takes place so quickly that the programs appear to run in parallel. This is known as pseudo-parallel program execution. A task change takes place:

• In STL step programs: after a step has been processed • In STL parallel logic programs: at the end of the program • In LDR programs: at the end of the program and after execution of a jump • In all programs: after a program module (CMP) is called • A program n can be activated (started) and deactivated (stopped) from within an-

other program or module. The program is activated by setting the operand Pn, and deactivated by resetting it.

STEP Call IF I0.1 THEN SET P2 RESET P4 A rising edge at I0.1 activates program number 2 and deactivates program number 4. The program represented here and program 2 then run in pseudo-parallel mode. Note!

• Pseudo-parallel processing of a number of programs may considerably slow down execution of individual programs in comparison with execution of one program on its own.

• If several programs are running in pseudo-parallel mode, the order in which they are processed is identical to the order in which the programs were activated.

When a program starts another program, initially the latter program is only activated (in-cluded in the list of programs to be processed). It is not started until it is 'its turn'. In the first example, program 0 (STL) starts program 4 (LDR) in step 1, program 4 in turn starts program 3 (LDR). The order in which they are processed is as follows: Program 0 Program 4 Program 0 Program 3 Program 4 Program 0 ... etc. In the STL program, only one step is executed each time In the second example, program 0 (STL) starts program 4 (STL) in step 1, program 4 in turn starts program 2 (STL) in step 2. The order of processing is as follows: Program 0 Step 1 Program 4 Step 1 Program 0 Step 2 Program 4 Step 2 Program 0 Step 3 Program 2 Step 1 Program 4 Step 3 Program 0 ... etc.

Page 95: FST4 Manual

FST Version 4.02.21 Manual

95

Note! • Function modules and program modules are a fixed part of the calling program (i.e.

sub-routines). They are not processed in parallel with the calling program. They are processed in the task of the calling program. A task change always takes place after a program module is called, not after the call of a function module (This is a new fea-ture of FST version 4!).

• There is no limit to the number and type of programs that can be a ctive at the same time.

• For diagnostic purposes the current status of a program can be determined in online mode with the display command. The response from the command interpreter to the DPn command takes the following form:

= <type>,0,<status>,<step_number> <type>: STL=0; LDR, FUP=1; C=2

Description of the third parameter: ..,..,0,.. The program is inactive. It is not involved in the task change. (Pn=0) ..,..,2,.. The program is active, but suspended. It is involved in the task change. (Pn=1, PSn=0) ..,..,3,.. The program is active and running. Its task is being processed. (Pn=1, PSn=1)

3.2.1 The Start/Stop Switch After reboot the project will always start automatically unless you have a start/stop input or built in run/stop switch. A start/stop input or built in run/stop switch has the same influ-ence on the running state of the project. The start/stop input can be configured in the Controller Settings of the project. At start-up the project will only start automatically if the internal switch (if any) is switched to run and the s tart/stop input (if configured) is set. During run time a reaction is always edge sensitive. A falling edge (switching from run to stop) will cause all programs to be inactivated (reset-ted) or stopped (breaked), depending on the option "Reset programs" of the Controller Settings. A rising edge/switching from stop to run will start program 0 and all stopped (breaked) programs, depending on the option "Reset programs" of the Controller Settings.

3.2.2 The Run LED The Run LED of the FEC and HC0X controllers shows the current status of operation: GREEN programs are executed YELLOW no programs are executed RED an FST error occurred

3.2.3 Function blocks to control the execution of programs Overview F4 Start cyclical execution of a program. F8 Stop all cyclical programs. F23 Interrogate whether a program is ready for execution. F26 Control programs whose numbers are stored in variables.

Page 96: FST4 Manual

FST Version 4.02.21 Manual

96

F4 Start cyclical execution of a program. Input parameters FU32 Program number, 0 to 63 FU33 Time in msec, 1 to 65535 or 0 to deactivate Output parameters None Note!

• The resolution is 13.74 msec (5ms for the FEC Standard). All times specified in FU33 are truncated to a multiple of 13.74 msec (5ms for the FEC Standard). Instead of 100 msec, therefore, only 96.18 msec (100ms for the FEC Standard).

• Function module F4 can be used more than once. In order to stop c yclical processing for a program again, a value 0 must be specified in FU33. See also F8

• A cyclical program must reset itself with RESET P in order to be called again when the next interval has elapsed.

F8 Stop all cyclical programs. Input parameters None Output parameters None Note! This module terminates the cyclical processing of programs. It is effective for all pro-grams that are entered as cyclical with F4, it is therefore not selective. F4 must be used to remove a single program from cyclical processing. F23 Interrogate whether a program is ready for execution. Input parameters FU32 Number of the program Output parameters FU32 = 0 Program does not exist or is not ready for execution = -1 Program can be started F26 Control programs whose numbers are stored in variables. Input parameters FU32 Number of the program FU33 = 0 Start program = 1 Stop program = 2 Resume interrupted program = 3 Interrupt program Output parameters None

3.3 Error Handling Errors can always occur in an automated system. One has to differentiate program errors and system errors. A program error, for example, is division by zero. A system error, for example, is the failure of an I/O group. The FST PLC operating system detects numerous errors and handles them in a fixed way. The user can participate in error handling and, if required, in solution of the problem. The error program is intended for this purpose. If an error occurs during operation, a number is entered into the error word. This numbe r corresponds to the error that has occurred (error number). At the same time two other numeric values are stored, specifying more closely the location where the error occurred. Generally, these are program number and step number. If the program does not have any steps, the step number is zero. If the error does not occur in a program, the program number is 255. In the case of I/O errors, the base address of the corresponding module is entered in the second position, otherwise zero.

Page 97: FST4 Manual

FST Version 4.02.21 Manual

97

A new error can be entered if the error word has the value zero, that is, if no other error has occurred. This means that only the first error is stored. Later errors are ignored. If an error output has been configured, this follows the error word. If it is non-zero, it is set. When it is reset, the error output is also reset. Otherwise the error output can be interrogated by a program in the same way as any other output.

3.3.1 Error handling without error program If a new error is entered, all programs are stopped and all outputs (except the error output) are reset (only if the option "Reset Outputs" in the Controller Settings is selected). The error word and other information can be interrogated as operand E or EW or with func-tion module F22, subfunction 0. The error is not reset by this interrogation. It can be reset by resetting the error E or EW or with function module F22, subfunction 1. If E or EW is set to a non-zero value, this corresponds to the occurrence of a new error and is only possible if EW was previously zeroed. Unloading the active project in the controller (Y) or loading a new project deletes the error word and the error output, but not the starting and stopping of the project or individual programs (CI, Run/Stop switch). Note! Before restarting a project following an error, the error should be deleted (acknowl-edged) to allow the detection of a new error.

3.3.2 Error handling with error program The error program is basically a normal FST program – but it cannot be program P0. The program to be used as error program is defined in the Controller Settings for the project or with function module F21. F21 also allows the program to be modified or deactivated at any time. When set via the Controller Settings, the linker-loader checks whether the selected program exists. Function module F21 does not carry out this check. If a non-existent program is selected, the system behaves as if no error program were set. If an error occurs, the error program is called immediately and exclusively. The programs active at the time of error occurrence "sleep" as long as the error program is being executed (active). If the error occurs in a program, this program is stopped before the error program is called. The error program can be a step program. Instead of the normal task change, a simple I/O scan is carried out, but no other programs are executed. This applies also for cyclical pro-grams. The statuses of programs can be modified in the error program (or via the CI), but these continue to "sleep" as long as the error program is executing. When function module F22, subfunction 2 is called, the "sleeping" programs are "woken". Task change between the programs now takes place again as usual. All active programs are executed, with execution continuing at the interruption point. Status changes by the error program are taken into account. Calling function module F22, subfunction 2 also deletes the error. If function module F22, subfunction 2 is called without an error program being exclu-sively executed, the error is deleted without any other action being taken. The error will not be inactivated automatically, however.

Page 98: FST4 Manual

FST Version 4.02.21 Manual

98

F22, subfunction 3 resets all programs and outputs (even if the flag "Reset Programs" of the Controller Settings is not set). The error and any error output are retained. It is not important whether the call comes from the error program or elsewhere and independent of whether an error is set or whether an error program is configured and/or active. If an error occurs while the error program is active, all programs are stopped and all outputs are reset in machine code. It is not important whether the error program was started by an error or by a normal program call. If no error was entered, the new error is entered. If the old error was not deleted, error number 39 "double error" is entered. The two additional infor-mation items contain the error source, as usual (i.e. the number of the error program and the active step of the error program when the error occurred).

3.3.3 Special treatment of I/O Errors The I/O errors 11 and 12 are treated a little bit different. Once error 11 or 12 has occurred another error 11 or 12 will not happen again. To enable error 11 or 12 again, you have to execute function module F25 (see below). If a project is started with the R command, I/O errors will also be enabled again.

3.3.4 Error handling function modules Overview F21 Set or interrogate a program for error handling. F22 Set error handling. F25 Set error handling in the event of I/O errors. F21 Set or interrogate a program for error handling Input parameters FU32 Number of the program for error handling or

0 to reset the function, or an inadmissible program number (>= 64) to determine the cur-rent setting.

Output parameters FU32 Current number of the program for error handling Note! Alternatively, an error program can also be set in the Controller Settings of the project. F22 Set error handling Input parameters FU32 = 0 Read out the error stack

= 1 Read out the error stack and delete the error

= 2 Error restart, read out the error stack and delete the error

= 3 Non-recoverable error, abort program execution Output parameters FU32 Error number FU33 Program number FU34 Step number FU35 Always 0 (error address) F25 Set error handling in the event of I/O errors Input parameters FU32 = 0 Deactivate the error detection = 1 Activate the error detection, default setting Output parameters None

Page 99: FST4 Manual

FST Version 4.02.21 Manual

99

3.3.5 Overview of error numbers The FST controller errors are numbered and normally appear with very brief additional information and sometimes without explanatory text. The following contains an overview of the error messages of the FST PLC operating system. The error status can be displayed with the CI command "DF". The response consists of 3 numeric values. The first is the error number, the other two give additional information on the situation in which the error occurred. Normally the second value is the program number and the third value is the step number. If the program number is 255, the error does not result from a program but from an external cause. A typical cause of this type of error is an I/O module fault. Here, as in other cases, the third value contains a value giving additional information on the error cause. In the case of I/O module errors, this value gives the input or output word number in which the error occurred. The module can then be more easily identi-fied via the I/O configuration. In the case of driver errors, the third value contains a numeric value indicating the number of the driver. For test purposes, the "MF" command of the CI can be used to generate an error. This method allows a project’s error handling to be tested. Error number Meaning of the error Notes on error elimination 0 No error 2 Checksum error in project file

PROJECT.RUN.

Completely reload entire project.

6 Program 0 to be started, but not found.

Create and load program 0.

7 Attempt to set or delete a non-existent program or program status.

Correct program or load missing program.

9 Cannot start project due to error in project file PROJECT.RUN.

Check and reload project. Possibly a driver is used but not loaded or a driver is loaded but cannot be used because conditions for its use are not met. Possibly the required hardware for the driver is missing or incorrectly configured. Possibly the controller is out of memory.

11 I/O module defective, output short-circuit or supply voltage missing at I/O module.

Replace I/O module, elimi-nate short-circuit or connect voltage supply.

12 I/O module not found.

Check I/O module. Possibly configure switch settings on module or in I/O configuration.

13 Watchdog activated A driver, module or IO script blocked the FST kernel for more than 1 second.

14 Could not find driver to start. Incorporate driver, param-

Page 100: FST4 Manual

FST Version 4.02.21 Manual

100

A required driver could not be found or the driver reported not ready as it could not be initialised. Possibly the requirements for the driver (hardware, parameters) were not met.

eterise correctly in driver configuration and check hardware.

36 Nested CMP/CFM or CMP/CFM not found when called.

Change program structure

39 Double error, error in pro-gram.

Eliminate source of error.

57 Cannot read project file (PROJECT.RUN).

Reload project.

59 Arithmetic error.

Correct program.

Note! Drivers and modules can trigger other errors that are not listed here. These are then described in the appropriate driver documentation.

3.4 The Command Interpreter (CI) All Festo controllers have a Command Interpreter. It is generally called "CI". The CI is not a man-machine interface. It is often used manually, however, as it provides a really simple interface. The Command Interpreter interface is also used for a range of tasks by the FST programming tool. The various program parts of the FST software handle communication with the connected controller automatically and provide a much more powerful and conven-ient user interface. The CI, which is part of the of the FST PLC operating system, can be operated as a terminal or terminal emulator via the controller’s serial interface (usually COM or COM1). As an op-tion the COM port that is used for the CI on the controller can be changed to another COM port in the Controller Settings of each project. This is pa rticularly useful, if you want to make use of a FIFO that is supported by e.g. COM2, but not COM1. This is the naming convention for the main CI COM port for the different controller types: Controller Port number Description

FECs 0 the built in "COM" port

HC0X 0 the built in "COM" port (de-

fault) 1 the "COM1" port on an addi-

tional CP3x module 2 the "COM2" port on an addi-

tional CP3x module

Page 101: FST4 Manual

FST Version 4.02.21 Manual

101

HC16 1 the built-in "COM1" port (default) or the "COM1 port on an additional CP3x mod-ule, if the built in "COM1" port has been disabled first

2 the "COM2" port on an addi-tional CP3x module

HC2X 1 the built-in "COM" port (de-fault) or the "COM1" port on an additional CP3x module,

2 the "COM2" port on an addi-tional CP3x module

In addition to the CI interface on a COM port, CI commands can be entered via the connected keyboard and the results displayed on the connected monitor for HC1X and HC2X CPUs. Using FST drivers a CI interface can be made available on additional interfaces like COM ports and over TCP/IP. Please note that the additional CI interfaces are restricted in some features (see below).

3.4.1 Command input CI commands consists mainly of a single line as input and a response in the same line. The majority of commands are not case-sensitive. Incorrect entries can be corrected with Back-space (Ctrl H) before concluding with CR (Enter). Example:

>DF=0,0,0 > The DF command interrogates the controller’s error status. If no error is present, the control-ler responds "=0,0,0". Following pressing of the keys D, F, and CR, the entry is shown in the screen and the IPC adds its response and redisplays its prompt. Invalid commands result in the error message "ACCESS ERROR" or, rarely, the abbreviated form "ERR". Also, an acous-tic signal sounds from the speaker.

Command <command> "\r" Response <command> <response> "\r\n>\21" Error Response <command> "b\r\nACCESS ERROR\r\n>\21"

Page 102: FST4 Manual

FST Version 4.02.21 Manual

102

3.4.2 Chaining of CI commands Nearly all commands can be chained. The CI processed the chained commands in sequence and the respective responses are grouped. Semicolons must separate commands from different command groups. Example: The individual commands for starting program P0 and interrogating the program status are: >RP0 >DP0=0,0,3,2,0,0 > Chained, the same command sequence has the form: >RP0;DP0=0,0,3,2,0,0 > Commands in the same command group (that is, several display or modify commands) can be separated by a comma only, without repetition of the first character for selection of the command group. Example: R0, FW16 and I0.3 are to be displayed. As individual commands: >DR0=432 >DMW16=0 >DE0.3=1 > The same command sequence chained: >DR0, FW16, E0.3=432=0=1 > Multi-line commands cannot be chained. For example, commands for changing a value with entry of the old value. Chaining is also not possible for commands that are to be passed on to drivers.

3.4.3 Mass display A minus sign can be added to the end of commands for the display of values. Then, 16 consecutive values are shown as a mass display. This display method is also permissible for bit operands. Example: The command "DR1" displays Register 1. >DR1=0 > By contrast, the command "DR1-" simultaneously shows Registers 1 to 16. >DR1-=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 >

3.4.4 Password protection Access to the controller can be secured by password. If a password is set, MODIFY access and access to drivers in the CI is disabled. The commands to set a password (LC) and to lock or unlock the controller (LX) are described in the sections below. There are some rules for the password protection: A password consists of 3 to 20 visible ASCII characters with the exception of the comma (that is, no spaces, tabs, IBM extended etc.). If a password is set it is stored in the controller during power off, if retentive operands has been activated. Then if the controller is powered on or rebooted, the controller will be locked if a password is set. If no retentive memory is available a password can also be stored within a project. Then this password will be set and the controller locked when the project is loaded. The password for the project is set within the Controller Settings of the project.

Page 103: FST4 Manual

FST Version 4.02.21 Manual

103

3.4.5 Overview of CI commands The following description of the commands uses the abbreviations in the table shown be-low: <BN> Bit number <BN> Block number <DN> Driver number <PN> Program number <RN> Register number <TN> Timer number <WN> Word number <CN> Counter number <YN> Station number Enter the valid value instead of "". The value range depends on the operand.

3.4.6 Activating the CI / Logon DC4 (Ctrl T) Logon and output of the kernel version The CI reports to the connected terminal after either DC4 (Control-T) has been entered or a hardware BREAK has been transmitted. Any command being processed is interrupted. The controller responds with "FESTO IPC V2.nn" and the normal prompt ">" in the following line. Please note that a hardware BREAK will not be detected by FEC and HC0X controllers! Sending a hardware BREAK also sets the transmission speed on the controller side to a standard rate of 9600 or 2400 Baud, depending on one of the following methods:

• After BREAK switch cyclically 2 times to 9600 Baud, 1 times to 2400 Baud (default). • Always 9600 Baud (old method) • Always 2400 Baud (useful for slow modem connections and Field PC Net alias

MpRAM). • After BREAK switch cyclically 3 times to 2400 Baud, 2 times to 9600 Baud.

All methods allow changing to any baud rate after login (see the MV command). After boot-ing method 1 will be selected. After loading a project using Field PC Net method 4 will auto-matically be applied. The methods 1, 2 and 4 allow a connection with the any old FST host software. From time to time the login may not succeed at once. Try again by hitting a key as displayed by the FST host software. The new FST host software 3.21 knows about the differ-ent baud rates and will adapt to them. The login method can also be selected by the function module COM1METH. COM1METH Input parameters FU32 0 2x9600, 1x2400 1 always 9600 2 always 2400 3 3x2400, 2x9600 Return parameters FU32 current/new login method

3.4.7 X Release interface The X command releases the serial port used for the CI (usually COM1). This command only works when entered via the serial port.

3.4.8 Commands for display of operands and statuses DA[<YN>.]<WN>.<BN> Display output bit DAW[<YN>.]<WN> Display output word

Page 104: FST4 Manual

FST Version 4.02.21 Manual

104

DB<BN> Display program module The response consists of "=,0, , ". The first value is the module type, either STL=0 LDR/FUP=1 or C=2. The second value, memory range, is always 0. The third value shows the status of the calling program. The last value is the current step number within the module. DBF<BN> Display function module The response consists of "=,0, , ". The first value is the module type, either STL=0 LDR/FUP=1 or C=2. The second value, memory range, is always 0. The third value shows the status of the calling program. The last value is the current step number within the module. DD Display current setting for decimal/hexadecimal display of words The output is "=D" for decimal display, unsigned "=S" for decimal display, signed "=H" for hexadecimal display DE[<YN>.]<WN>.<BN> Display input bit DEW[<YN>.]<WN> Display input word DF Display error status word Output: Value of the status word Number of program in which the error occurred Step number within this program for example, "=59,3,24". In the event of I/O errors, the program number shows the value 255 and the step number shows the number of the input or output word in which the error occurred DM<WN>.<BN> Display flag bit DMW<WN> Display flag word DO<WN> Display function unit The global function units FU0 to FU31 and FU39 to FU255 can be displayed. DO<PN>.<WN> Display local function unit The local function units FU32 to FU38 can be displayed. These function units are separate for each program. DP<PN> Display program status 6 values are given as a response. The first value is the module type, either STL=0 LDR/FUP=1 or C=2. The second value, memory range, is always 0. The program status is the third value. Either 0 for inactive, 2 for active and halted, or 3 for active and processing. The fourth value is the step number. It is non-zero for STL step programs and ladder dia-grams with branches as long as the program is active. When a step program is not yet a c-tive, it is in step 0. The two last values are the number and the step of a called module, if appropriate. DR<RN> Display register

Page 105: FST4 Manual

FST Version 4.02.21 Manual

105

DS<PN> Display program initial execution flag DT<TN> Display timer status for pulse timer DTA<TN> Display timer status for switch-off delay timer DTE<TN> Display timer status for switch-on delay timer DTV<TN> Display timer preset DTW<TN> Display timer word DV Display baud rate The DV command shows the current baud rate setting. Possible values are "=1200", "=2400", "=4800", "=9600", "=19200", "=38400" or "=56000". DZ<ZN> Display counter status DZV<ZN> Display counter preset DZW<ZN> Display counter word

3.4.9 Commands for modifying values The commands for modifying operands c an also be given without entry of a new value, that is, as a display command. The current value is then returned and can be reset with a new value or retained by pressing the Enter key. MA[<YN>.]<WN>.<BN>={0 | 1} Modify output bit MAW[<YN>.]<WN>= Modify output word MD={D | S | H} Set display mode The display mode can be set to decimal unsigned "=D", decimal signed "=S" or to hexa-decimal "=H". ME[<YN>.]<WN>.<BN>={0 | 1} Modify input bit MEW[<YN>.]<WN>= Modify input word MF=<number> Modify error word The value 0 deletes the current error. Any other value generates the appropriate runtime error. MM<WN>.<BN>={0 | 1} Modify flag bit MMW<WN>=<number> Modify flag word MO<WN>=<number> Modify global function unit Modifies global function units FU0 to FU31 and FU39 to FU255. MO<PN>.<WN>=<number> Modify local function unit Modifies local function units FU32 to FU38. These function units are separate for each pro-gram. MR<RN>=<number> Modify register MT<TN>={0 | 1} Modify (start/stop) pulse timer MTA<TN>={0 | 1} Modify (start/stop) switch-off delay timer MTE<TN>={0 | 1} Modify (start/stop) switch-on delay timer MTV<TN>=<number> Modify timer preset MTW<TN>=<number> Modify timer word MV=<baud> Set baud rate

Page 106: FST4 Manual

FST Version 4.02.21 Manual

106

The baud rate is set by "MV=1200", "MV=2400", "MV=4800", "MV=9600", "MV=19200", "MV=38400" or "MV=56000". The baud rate can be abbreviated to 2 characters, for exam-ple, "MV=96". Note! "MV=56000" is not available for FEC and HC0X controllers. MZ<ZN>={0 | 1} Set counter MZV<ZN>=<number> Set counter preset MZW<ZN>=<number> Set counter word

3.4.10 Program control commands B Interrupt all current programs BP<PN> Interrupt single program R Start or continue program If the option "Reset Programs" of the Controller Settings is selected program P0 is started or continued. If the flag is not set all stopped (breaked) programs are also continued. RB<no>[,<FU32>[,<FU33>[, ... [,<FU37>[,<FU38>]]]]]]] Call program module The command "RB" calls a loaded program module (one that is included in the project). Note! The command uses the context of program P63, which should be kept reserved for this purpose. The required parameters must be passed with the call. A parameter may be omit-ted. In this case, the previous value is used. It returns =<FU32>,<FU33>,<FU34>,<FU35>,<FU36>,<FU37>,<FU38>. Example: RB7,14,,9=4712,103,0,0,0,0,0 Call CMP 7 with FU32=14, FU33=Old value, FU34=9, Results FU32=4712, FU33=103, FU34 to 38=0 RF<no>[,<FU32>[,<FU33>[, ... [,<FU37>[,<FU38>]]]]]]] Call function module The command "RF" calls a loaded function module (one that is included in the project). Note! The command uses the context of program P63, which should be kept reserved for this purpose. The required parameters must be passed with the call. A parameter may be omit-ted. In this case, the previous value is used. It returns =<FU32>,<FU33>,<FU34>,<FU35>,<FU36>,<FU37>,<FU38>. RP<PN> Start or continue program S Stop all programs SP<PN> Stop program <PN>

3.4.11 Commands for forcing inputs and outputs All inputs and outputs can be selectively forced to 0 or 1. If an input bit is forced to 0 or 1, this is visible to the program and the CI. If an output bit is forced to 0 or 1, this remains invisible to the program and the CI, that is, output bits read out remain unchanged. Com-plete input and output words can also be forced.

Page 107: FST4 Manual

FST Version 4.02.21 Manual

107

Note! • I/Os may only be forced during troubleshooting. A "finished" product must not con-

tain forced I/Os. • The force table is not retentive. • The force table is automatically deleted by a Y command or by loading a project. • This feature is not available for all controller types. Forcing is supported for HC1x

and HC20 CPUs in general, for FECs and HC0X CPUs starting from kernel version 2.25.

The following CI commands are available for forcing I/Os: YF Delete complete force table DAF<WN>.<BN> Display output bit Result =0 Forced to 0 =1 Forced to 0 =N Not forced DAWF<WN> Display output word Result "=xxxxxxxxxxxxxxxx", bitwise with =0 Forced to 0 =1 Forced to 0 =N Not forced DEF<WN>.<BN> Display input bit Result: =0 Forced to 0 =1 Forced to 0 =N Not forced DEWF<WN> Display input word Result "=xxxxxxxxxxxxxxxx", bitwise with =0 Forced to 0 =1 Forced to 1 =N Not forced MAF<WN>.<BN>={0 | 1 | N} Entry in force table for output bit setting =0 Force to 0 =1 Force to 1 =N Do not force MAWF<WN>={val | N} Entry in force table for output word setting =val Force to value given =N Do not force MEF<WN>.<BN>={0 | 1 | N} Entry in force table for input bit setting =0 Force to 0 =1 Force to 1 =N Do not force MEWF<WN>={val | N} Entry in force table for input word setting =val Force to value given =N Do not force

Page 108: FST4 Manual

FST Version 4.02.21 Manual

108

3.4.12 Commands embedded in drivers The FST PLC operating system allows drivers in the project to supplement standard com-mands with driver-specific commands. Driver-specific commands are entered with a leading exclamation mark "!" followed by the driver number and the command itself. >!<DN><command> > A driver does not have to support own commands, however. Many drivers respond to an empty command with status information. Generally, driver commands have a similar struc-ture to standard commands. For example, the string driver with the driver number 3 has display commands for strings in which the appropriate string number is used. Example: >!3D12=‘FESTO

3.5 The Real-time Clock The task of a real time clock is to always have the correct time-of-day and date available, even if the controller is switches off and later on again. In addition there is also a system clock, i.e. the DOS clock. When the system starts (after reboot or power on) the system clock is automatically set to the real time clock. During runtime the system clock is updated from the system timer. FST comes with a set of modules that allow to read and write the system and real-time clocks. The modules to read and write the real time clock also synchronise the system clock with the real time clock each time the module is called. Note! There are different real time clocks available on the different controller types. FECs No real time clock available, only the system clock. HC0X There is a real time clock in the CPU module. This clock is battery buffered and lasts for about 10 years. HC1X There can be two different real time clocks in the system: 1. the I2C bus RTC 2. the SRAM RTC The I2C bus real-time clock is not on the CPU modules, but depending on the busboard either on the busboard or in the DC/DC voltage conversion module. Systems based on a 3-slot busboard have no I2C bus real-time clock. A Goldcap capacitor supplies the real-time clock with voltage for 3 to 5 days only. The SRAM RTC is inside the CPU module and battery buffered. It lasts for about 10 years. A CPU module is equipped with a SRAM RTC if it has a ZL16 or ZL17 SRAM inside. If a SRAM RTC is found in the system it will be preferred to the I2C bus RTC. HC2X This CPU is equipped with a SRAM RTC. The SRAM RTC is inside the CPU module and battery buffered. It lasts for about 10 years.

Page 109: FST4 Manual

FST Version 4.02.21 Manual

109

3.5.1 Setting the clocks manually The I2C real-time clock of the HC1X can be set with the Bios setup. How to do this is de-scribed in the documentation that comes with the hardware. Note! You will need a screen and keyboard connected. To set the clock using FST you have to download a project with the modules to set the real-time clock, that are described below, into the controller. The modules can be executed with the CI command "RF" or "RB". Example: >RF10,8,30,0,0 > If you have imported the module F10 as CFM10, this commands sets the real-time clock and the system clock to 08:30.

3.5.2 Function modules for setting and reading the real-time clock Overview F10 Set time F11 Set date F12 Get time F13 Get date F10 Set time Input parameters FU32 Hour (0 to 23) FU33 Minute (0 to 59) FU34 Second (0 to 59) FU35 1/100 Seconds (0 to 99) Output parameters None F11 Set date Input parameters FU32 Year (1980 to 2099) FU33 Month (1 to 12) FU34 Day (1 to 31) Output parameters None F12 Get time Input parameters None Output parameters FU32 Hour (0 to 23) FU33 Minute (0 to 59) FU34 Second (0 to 59) FU35 1/100 Seconds (0 to 99) F13 Get date Input parameters None Output parameters FU32 Year (1980 to 2099) FU33 Month (1 to 12) FU34 Day (1 to 31) FU35 Day of week (0=Sunday, 6=Saturday)

Page 110: FST4 Manual

FST Version 4.02.21 Manual

110

3.6 Miscellaneous

3.6.1 Mass storage for programs, drivers and files The FST PLC operating system uses DOS drives to store the project and drivers. Which drive is used can be selected in the Controller Settings of the project or the Driver Settings in the Driver Configuration. On the different controller types different drives are available: FEC Compact On drive B: are 120 KB (FC20 90 KB, FC34 H01 or newer 370 KB)

available for programs and drivers. Also, the Startup file - which is generated automatically by FST - should be loaded on this drive.

Drive A: is occupied by system files. No user files can be stored on this drive. FEC Standard On drive B: are 360 KB available for programs and drivers. Also, the

Startup file - which is generated automatically by FST - should be loaded on this drive.

Drive A: is occupied by system files. No user files can be stored on this drive. HC0X On drive B: are 120 KB (HC02 H02 or newer 370 KB)available for

programs and drivers. Also, the Startup file - which is generated automatically by FST - should be loaded on this drive.

Drive A: is occupied by system files. No user files can be stored on this drive. HC1X ROM/RAM disk:

If no diskette drive is connected to the controller or no disk is in-serted, the ROM/RAM drive is becomes drive A.

The ROM areas of this drive already contains various driver files for use with the FST. The RAM area has approx. 84 KB available for the project file and/or other drivers. Flash-Disk: The Flash-Disk is drive C. This drive has 512 KB available for the project file and other drivers. Also, the Startup file - which is generated automatically by FST - should be loaded on this drive.

3.6.2 RAM for programs and drivers For execution the project and drivers have to be loaded into memory. The following amount of memory is approximately available for the project and drivers for the different controller types. FEC Compact 290 KB (FC20 30KB) FEC Standard 200 KB HC0X 290 KB HC1X 430 KB Note! For each STL instruction approx. 10 bytes of code are generated.

Page 111: FST4 Manual

FST Version 4.02.21 Manual

111

3.6.3 Function blocks An important way of extending the FST PLC operating system is by incorporating (import) ready modules into a project and loading them with the project. Such modules can be writ-ten in any supported programming language (STL, LDR, C). Several C modules have been prepared for special tasks. These can be called either as CFM or CMP. Note!

• Further modules are described in the sections above. • Most driver packages also include modules. These are described in the appropriate

driver documentation. Overview BLINK General blink bits FIFO First-in-first-out memory LOADSYNC Synchronisation of project (re)loading BLINK General blink bits Input parameters None Output parameters FU32 4 blink bits Bit Change / sec Frequency / Hertz 0 0.25 2 1 0.5 1 2 1 0.5 3 2 0.25 Note! This module does not use a timer. The module has to be called repeatedly in order to update the blink bits. FIFO First-in-first-out storage Input parameters FU32 Mode = 0 To reset the FIFO = 1 To incorporate the value from FU 33 into FIFO = 2 To read out the next value from FIFO = 3 To determine the number of values stored in FIFO Otherwise no function FU33 If mode = 1 the new value Output parameters FU32 If mode (input) ... = 1 Returns 0 if successful, otherwise 1 if no memory = 2 Next value from the FIFO or 0 if FIFO empty = 3 Number of values stored in the FIFO Otherwise no value returned LOADSYNC Synchronisation of project (re-)loading Input parameters FU32 = 0 Prevent project loading = 1 Allow project loading

Page 112: FST4 Manual

FST Version 4.02.21 Manual

112

Output parameters None Note! The CI commands S and Y! Always switch over to project loading allowed.

Page 113: FST4 Manual

FST Version 4.02.21 Manual

113

4 FST Drivers Reference This manual describes the drivers and modules of the FST Runtime Library.

4.1 Input and output modules This chapter describes the input and output modules supported by the FST IPC. This chapter is not intended to replace the manual supplied, however, but focuses on special points of FST IPC application. For pin assignment and technical data please refer to the manual sup-plied with the hardware.

4.1.1 PLC security Most I/O modules are equipped with a PLC security function. This allows the runtime system (FST IPC Kernel) to monitor the presence of configured modules when a project is started and the function of the module at runtime. An FST error is triggered if a fault is detected. The error numbers used are

11 I/O stage defective 12 I/O module not found or duplicated Error 12 If Error 12 occurs, the configured module could not be found or there were several modules with the same physical I/O address on the busboard. Error 11 If Error 11 occurs, either the module is faulty, you have not connected the required external power supply, or there is a short-circuit. For information on this, see the status input word for the appropriate module. An additional FST input word has been assigned to each module that supports this feature. The assignment of the individual bits is module-specific as shown in the following table. Please note that the status input word is updated during each cycle. Procedure for overload/short-circuit In the event of a short-circuit (or an overload), please observe the following points. It must be ensured that the output cannot be set until the cause of the problem has been eliminated. If you are working in machine mode and have not set an error program, all out-puts are automatically switched off when an error occurs. In system mode – or if an error program has been started – you yourself must ensure that the output involved is reset. You can evaluate the error information and the status input word to determine the output in-volved. Here you should bear in mind that the outputs are normally grouped in sets of 8 that must be reset together. Working without PLC security If you do not wish to use the PLC security function for a module, you can select the appro-priate module driver in the FST IPC I/O configurer. The following table shows the I/O mod-ules and the appropriate drivers without security. Module Driver without PLC security OM11 OM10 OM40 OM10 OM21 OM20 IM11 IM10 IM51 IM10

Page 114: FST4 Manual

FST Version 4.02.21 Manual

114

4.1.2 Digital input and output modules The following table shows an overview of the digital modules available. They are described in the following sections. Module Features Ident/Check/Status IM10 2x8 digital inputs - IM11 2x8 digital inputs */*/1 IM12 4x8 digital inputs */*/2 IM51 2x8 digital inputs (npn) */*/1 OM10 2x8 digital outputs - OM11 2x8 digital outputs */*/1 OM12 4x8 digital outputs */*/2 OM40 2x8 digital outputs (1A) */*/1 OM20 8 digital inputs, - 8 digital outputs OM21 8 digital inputs, */*/1 8 digital outputs OM22 2x8 digital inputs, */*/2 2x8 digital outputs OM70 6 relays (changeover contacts) - OM70 6 relays (changeover contacts) */*/0 OM74 16 relays (break contacts) - OM74 16 relays (break contacts) */*/0 TM10 16 digital inputs (TTL), - 16 digital outputs (TTL) TM10 16 digital inputs (TTL), */*/0 16 digital outputs (TTL) AS11 8 pushbuttons, 8 LEDs - AS12 32 LEDs (red/green) - AS13 16 switches (E-M-E) - AS14 32 LEDs (green)

4.1.2.1 IMXX IM10 2x8 opto-isolated digital inputs Inputs: 16 Outputs: Input words: 1 Output words: Switch positions: 1 to 9 Sum of inputs: 144 Sum of outputs: Special features: Module identification: Module check: Status information (additional input words): Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0

Page 115: FST4 Manual

FST Version 4.02.21 Manual

115

IM11 PLC security 2x8 opto-isolated digital inputs with PLC security and control LEDs for the inputs Inputs: 16 Outputs: Input words: 1 Output words: Switch positions: 1 to 9 Sum of inputs: 144 Sum of outputs: Special features: Module identification: Yes Module check: Yes Status information (additional input words): 1 Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 1 Status 1 Status 0 Assignment of status registers: Bit no. Name Function 0 - Reserved 1 - Reserved 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved IM12 PLC security 4x8 opto-isolated digital inputs with PLC security and control LEDs for external 24V supply Inputs: 32 Outputs: Input words: 2 Output words: Switch positions: 1 to F Sum of inputs: 480 Sum of outputs: Special features: Module identification: Yes Module check: Yes Status information (additional input words): 2

Page 116: FST4 Manual

FST Version 4.02.21 Manual

116

Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 1 E3 E2 2 Status E1 Status E0 3 Status E3 Status E2 Assignment of status registers: Bit no. Name Function 0 - Reserved 1 - Reserved 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved IM12 4x8 opto-isolated digital inputs with PLC security and control LEDs for external 24V supply Inputs: 32 Outputs: Input words: 2 Output words: Switch positions: 1 to F Sum of inputs: 480 Sum of outputs: Special features: Module identification: No Module check: No Status information - (additional input words): Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 1 E3 E2 IM51 PLC security 2x8 opto-isolated digital inputs with PLC security and control LEDs for the inputs Inputs: 16 Outputs: Input words: 1 Output words: Switch positions: 1 to 9 Sum of inputs: 144 Sum of outputs: Special features: npn (negative switching) Module identification: Yes Module check: Yes Status information

Page 117: FST4 Manual

FST Version 4.02.21 Manual

117

(additional input words): 1 Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 1 Status E1 Status Eo Assignment of status registers: Bit no. Name Function 0 - Reserved 1 - Reserved 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved

4.1.2.2 OMXX OM10 2x8 opto-isolated digital outputs Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to 9 Sum of inputs: Sum of outputs: 144 Special features: Module identification: Module check: Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 OM 11 PLC security 2x8 opto-isolated digital outputs with PLC security and control LEDs for the outputs Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to 8 Sum of inputs: Sum of outputs: 128 Special features: Module identification: Yes Module check: yes

Page 118: FST4 Manual

FST Version 4.02.21 Manual

118

Status information (additional input words): 1 Assignment of input and output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Status A1 Status A0 Assignment of status registers: Bit no. Name Function 0 - Reserved 1 OVRLD Overload / short circuit 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved OM12 PLC security 4x8 opto-isolated digital outputs with PLC security and control LEDs for external 24V supply and overload Inputs: Outputs: 32 Input words: Output words: 2 Switch positions: 1 to F Sum of inputs: Sum of outputs: 480 Special features: Module identifica-tion:

Yes

Module check: Yes Status information (additional input words):

2

Assignment of input and output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 1 A3 A2 IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Status A1 Status A0 1 Status A3 Status A2 Assignment of status registers: Bit no. Name Function 0 - Reserved 1 OVRLD Overload / short circuit 2 - Reserved 3 NO 24V No external voltage

Page 119: FST4 Manual

FST Version 4.02.21 Manual

119

4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved OM12 4x8 opto-isolated digital outputs with control LEDs for external 24V supply and overload Inputs: Outputs: 32 Input words: Output words: 2 Switch positions: 1 to F Sum of inputs: Sum of outputs: 480 Special features: Module identification: No Module check: no Status information - (additional input words): Assignment of input and output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 1 A3 A2 OM40 PLC security 2x8 opto-isolated digital outputs with PLC security and control LEDs for the outputs Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to 8 Sum of inputs: Sum of outputs: 128 Special features: 2.5 A max. ; 1 A nom. per channel Module identification: Yes Module check: Yes Status information (additional input words): 1 Assignment of input and output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Status A1 Status A0 Assignment of status registers: Bit no. Name Function 0 - Reserved 1 OVRLD Overload / short circuit 2 - Reserved 3 NO 24V No external voltage

Page 120: FST4 Manual

FST Version 4.02.21 Manual

120

4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved OM20 2x8 opto-isolated digital outputs, 2x8 opto-isolated digital inputs Inputs: 8 Outputs: 8 Input words: 1 Output words: 1 Switch positions: 1 to 9 Sum of inputs 72 Sum of outputs 72 Special features Module identification: Module check: Status information (additional input words): Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E0 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A0 OM21 PLC security 2x8 opto-isolated digital outputs, 2x8 opto-isolated digital inputs with PLC security and control LEDs for the inputs and outputs Inputs: 8 Outputs: 8 Input words: 1 Output words: 1 Switch positions: 1 to 8 Sum of inputs 64 Sum of outputs 64 Special features Module identification: Yes Module check: Yes Status information (additional input words): 1 Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 EO 1 Status EO Status A0 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A0 Assignment of status register A0: Bit no. Name Function 0 - Reserved 1 OVRLD Overload / short circuit

Page 121: FST4 Manual

FST Version 4.02.21 Manual

121

2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved Assignment of status register E0: Bit no. Name Function 0 - Reserved 1 - Reserved 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved OM22 PLC security 2x8 opto-isolated digital outputs, 2x8 opto-isolated digital inputs with PLC security and control LEDs for external 24V supply and overload Inputs: 16 Outputs: 16 Input words: 1 Output words: 1 Switch positions: 1 to F Sum of inputs 240 Sum of outputs 240 Special features Module identification: Yes Module check: Yes Status information 2 (additional input words): Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 1 Status E0 Status A0 2 Statis E1 Status A1 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 Assignment of status register Ax: Bit no. Name Function 0 - Reserved 1 OVRLD Overload / short circuit 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved

Page 122: FST4 Manual

FST Version 4.02.21 Manual

122

6 - Reserved 7 - Reserved Assignment of status register Ex: Bit no. Name Function 0 - Reserved 1 - Reserved 2 - Reserved 3 NO 24V No external voltage 4 - Reserved 5 - Reserved 6 - Reserved 7 - Reserved OM22 2x8 opto-isolated digital outputs, 2x8 opto-isolated digital inputs with control LEDs for external 24V supply and overload Inputs: 16 Outputs: 16 Input words: 1 Output words: 1 Switch positions: 1 to F Sum of inputs 240 Sum of outputs 240 Special features Module identification: No Module check: No Status information - (additional input words): Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 OM70 PLC security 6 relay outputs (changeover contacts) with PLC security and control LEDs Inputs: Outputs: 6 Input words: Output words: 1 Switch positions: 1 to 9 Sum of inputs: Sum of outputs: 56 Special features: Relay changeover contacts Module identification: Yes Module check: Yes Status information (additional input words):

Page 123: FST4 Manual

FST Version 4.02.21 Manual

123

Allocation of the output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 K5 K4 K3 K2 K1 K0 OM70 6 relay outputs (changeover contacts) with indicator LEDs Inputs: Outputs: 6 Input words: Output words: 1 Switch positions: 1 to 9 Sum of inputs: Sum of outputs: 56 Special features: Relay changeover contacts Module identification: Module check: Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 K5 K4 K3 K2 K1 K0 OM74 PLC security 16 relay outputs (break contacts) with PLC security and control-LEDs Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to F Sum of inputs: Sum of outputs: 240 Special features: Reed relay, break contacts Module identification: Yes Module check: Yes Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 K1 K0 OM74 16 relay outputs (break contacts) with indicator LEDs Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to F Sum of inputs: Sum of outputs: 240

Page 124: FST4 Manual

FST Version 4.02.21 Manual

124

Special features: Reed relay, break contacts Module identification: Module check: Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O K1 K0 OM75 PLC security 16 relay outputs (break contacts) with PLC security and control-LEDs max. switching current per relay contact 2 A Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to F Sum of inputs: Sum of outputs: 240 Special features: Reed relay, break contacts Module identification: Yes Module check: Yes Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 K1 K0 OM75 16 relay outputs (break contacts) with indicator LEDs max. switching current per relay con-tact 2 A Inputs: Outputs: 16 Input words: Output words: 1 Switch positions: 1 to F Sum of inputs: Sum of outputs: 240 Special features: Reed relay, break contacts 2A Module identification: Module check: Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 K1 K0

Page 125: FST4 Manual

FST Version 4.02.21 Manual

125

4.1.2.3 TM10 TM10 PLC security 16 digital outputs (TTL), 16 digital inputs (TTL), with PLC security Inputs: 16 Outputs: 16 Input words: 1 Output words: 1 Switch positions: 1 to 9 Sum of inputs: 144 Sum of outputs: 144 Special features: TTL (5V) Module identification: Yes Module check: Yes Status information (additional input words): Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0 TM10 16 digital outputs (TTL), 16 digital inputs (TTL) Inputs: 16 Outputs: 16 Input words: 1 Output words: 1 Switch positions: 1 to 9 Sum of inputs: 144 Sum of outputs: 144 Special features: TTL (5V) Module identification: Module check: Status information (additional input words): Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 E1 E0 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A1 A0

4.1.2.4 ASXX AS11 Universal display/switch-module with 8 pushbuttons and 8 LEDs Inputs: 8 Outputs: 8 Input words: 1 Output words: 1 Switch positions: 1 to 6

Page 126: FST4 Manual

FST Version 4.02.21 Manual

126

Sum of inputs: 48 Sum of outputs: 48 Special features: Pushbuttons and LEDs only Module identification: Module check: Status information (additional input words) Assignment of input and output words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 ESC 7 6 5 4 3 2 1 OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 ESC 7 6 5 4 3 2 1 AS12 Universal display/switch-module with 32 LEDs (16 red, 16 green) Inputs: Outputs: 32 Input words: Output words: 2 Switch positions: 1 to 5 Sum of inputs: Sum of outputs: 160 Special features: LEDs only Module identification: Module check: Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A (green) 1 B (red) AS13 Universal display/switch-module with 16 switches (E-M-E) Inputs: 32 Outputs: Input words: 2 Output words: Switch positions: 1 to 5 Sum of inputs: 160 Sum of outputs: Special features: 16 switches (E-M-E) Module identification: Module check: Status information (additional input words): Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A

Page 127: FST4 Manual

FST Version 4.02.21 Manual

127

1 B AS14 Universal display/switch-module with 32 LEDs (green) Inputs: Outputs: 32 Input words: Output words: 2 Switch positions: 1 to 5 Sum of inputs: Sum of outputs: 160 Special features: LEDs only Module identification: Module check: Status information (additional input words): Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 A 1 B

4.1.2.5 Address assignment matrix The following tables are very helpful for planning ad-dressing of the individual modules. The columns show the I/O modules, the rows show the processor I/O a ddresses. The module address is set by means of the rotary switch on the underside of the module. Depending on the module and switch position, the range shown for the switch position is assigned. All addresses are shown in hexadecimal notation. The same switch position may occur for different modules, but any single processor I/O address can only be assigned once. This means that a module assigns all table rows associ-ated with a switch position. There is a separate address range for inputs and outputs. The FST IPC I/O configurer supports you in assigning addresses / switch positions. You would always begin with the module that takes up the fewest I/O addresses, as it is then easier to find space for the remaining modules. Table 2: Address assignment digital output modules part I AS11 120-123 1 220-223 2 320-323 3 1A0-1A3 4 2A0-2A3 5 3A0-3A3 6

Page 128: FST4 Manual

FST Version 4.02.21 Manual

128

Table 3 address assignment digital output modules part II OM10 OM11+

OM 40 OM12 OM74+

OM 75 OM20+ OM 70

OM21 OM22 TM10 AS12 AS13

110 1 1 1 1 1 1 1 1 1 1 111 2 2 112 2 2 2 3 3 2 2 113 4 4 210 3 3 2 3 5 5 3 3 2 2 211 6 6 212 4 4 4 7 7 4 4 213 8 8 310 5 5 3 5 9 5 5 3 3 311 312 6 6 6 6 6 313 170 7 7 4 7 7 7 4 4 171 172 8 8 8 8 8 173 270 9 5 9 9 9 5 5 271 272 A A 273 370 6 B B 371 372 C C 373 114 7 D D 115 116 E E 117 214 8+ F F 215

Table 4 address assignment digital input modules part 1 AS11 120-123 1 220-223 2 320-323 3 1A0-1A3 4 2A0-2A3 5 3A0-3A3 6

Page 129: FST4 Manual

FST Version 4.02.21 Manual

129

Table 5 address assignment digital input modules part II IM10 IM11 IM12 OM20 OM21 OM22 TM10 AS13 110 1 1 1 1 1 1 1 1 111 2 2 112 2 2 3 3 2 2 113 4 4 210 3 3 2 5 5 3 3 2 211 6 6 212 4 4 7 7 4 4 213 8 8 310 5 5 3 9 5 5 3 311 312 6 6 6 6 313 170 7 7 4 7 7 4 171 172 8 8 8 8 173 270 9 9 5+ 9 9 5 271 272 A+ 273

4.1.3 Analog input and output modules The following table gives an overview of available analog modules. These are described in the following sections. Table 6: Overview of analog input and output modules Module Features Range(s) Resolution PLC Security IO10 8 analog inputs 0…4.096V 12 bit - IO11 8 analog inputs 0…20mA 12 bit - IO12 8 analog inputs 0…10V 12 bit - IO40 4 analog inputs 0…10V

-5V…+5V 0...+5V

12 bit */-/-

IO41 4 analog inputs -10V…+10V 0...10V -5V...+5

16 bit */-/-

IO48 4 analog inputs 0...20mA 4...20mA

12 bit */-/

IO60 4 analog outputs -10V…+10V 12 bit - IO61 4 analog outputs -10V…+10V 12 bit - IO70 4 analog outputs -10V…+10V

0…10V 12 bit -

IO71 4 analog outputs -10V…+10V 0…10V

12 bit

IO73 4 analog outputs 0…20mA 4…20mA

12 bit

Page 130: FST4 Manual

FST Version 4.02.21 Manual

130

4.1.3.1 IO1X IO10 8 analog inputs, 0 to 4.096V, 12-bit Input words (channels): 8 Output words (channels): Switch positions: 1 to 4 Sum of inputs: 32 Sum of outputs: Range: 0 to 4,096V Resolution: 12 bit Special features: Module identification: Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 4 Channel # 5 5 Channel # 6 6 Channel # 7 7 Channel # 8 Register value Physical value 0 0.000 V 100 0.100 V 200 0.200 V 500 0.500 V 1000 1.000 V 2000 2.000 V 4095 4.095 V IO11 8 analog inputs, 0 to 20mA, 12bit Input words (channels): 8 Output words (channels): Switch positions: 1 to 4 Sum of inputs: 32 Sum of outputs: Range: 0 to 20mA Resolution: 12 bit Special features: Module identification: Module check:

Page 131: FST4 Manual

FST Version 4.02.21 Manual

131

Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel #1 1 Channel #2 2 Channel #3 3 Channel #4 4 Channel #5 5 Channel #6 6 Channel #7 7 Channel #8 Register value Physical value 0 0 mA 205 1 mA 1024 5 mA 2048 10 mA 3072 15 mA 4095 20 mA IO12 8 analog inputs, 0 to 10V, 12 bit Input words (channels): 8 Output words (channels): Switch positions: 1 to 4 Sum of inputs: 32 Sum of outputs Range: 0 to 10V Resolution: 12 bit Special features: Module identification: Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 4 Channel # 5 5 Channel # 6 6 Channel # 7 7 Channel # 8 Register value Physical value 0 0V 410 1V 819 2V 2048 5V 4095 10V

Page 132: FST4 Manual

FST Version 4.02.21 Manual

132

4.1.3.2 IO4X IO40 -10V to …+10V 4 analog inputs, -10V to…+10V , 12 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 sum of outputs: Range: -10V to …+10V Resolution: 12 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value - 2048 - 10 V - 1024 - 5V 0 0V 205 1V 1023 5 V 2047 10 V IO40 0V to 10V 4 analog inputs, 0V to 10V , 12 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: 0V to 10V Resolution: 12 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4

Page 133: FST4 Manual

FST Version 4.02.21 Manual

133

Register value Physical value 0 0 V 410 1 V 819 2 V 2048 5 V 4095 10 V IO40 -5V to +5V 4 analog inputs, -5V to +5V, 12 bit Input words (channels) 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: -5V to +5V Resolution: 12 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value -2048 -5.0 V -1024 -2.5 V 0 0.0 V 205 1.0 V 1023 2.5 V 2047 5.0 V IO40 0V to 5V 4 analog inputs, 0V to 5V, 12 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: 0V to +5V Resolution: 12-bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1

Page 134: FST4 Manual

FST Version 4.02.21 Manual

134

1 Channel # 2 2 Channel # 3 3 Channel # 4

Register value Physical value 0 0.0 V 410 0.5 V 819 1.0 V 1638 2.0 V 2048 2.5 V 4095 5.0 V

IO41 -10V to +10V 4 analog inputs, -10V to +10V, 16 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: -10V to +10V Resolution: 16 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value -32768 - 10 V -16384 - 5 V 0 0 V 3279 1 V 16383 5 V 32787 10 V IO41 0V to 10V 4 analog inputs, 0V to 10V, 16 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: 0V to 10V Resolution: 16 bit Special features: Module identification: Yes

Page 135: FST4 Manual

FST Version 4.02.21 Manual

135

Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value 0 0 V 6554 1 V 13107 2 V 32768 5 V 65535 10 V IO41 -5V to +5V 4 analog inputs, -5V to +5V, 16 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: -5V to +5V Resolution: 16 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value -32768 -5.0 V -16384 -2.5 V 0 0.0 V 6554 1.0 V 16383 2.5 V 32767 5.0 V IO48 0 to 20mA 4 analog inputs, 0 to 20mA, 12 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24

Page 136: FST4 Manual

FST Version 4.02.21 Manual

136

Sum of outputs: Range: 0 to 20mA Resolution: 12 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value 0 0 mA 204 1 mA 819 4 mA 1024 5 mA 2048 10 mA 4095 20 mA IO48 4mA to 20mA 4 analog inputs, 4mA to 20mA, 12 bit Input words (channels): 4 Output words (channels): Switch positions: 1 to 6 Sum of inputs: 24 Sum of outputs: Range: 4mA to 20mA Resolution: 12 bit Special features: Module identification: Yes Module check: Assignment of input words: IW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value 0 4 mA 1024 8 mA 2048 12 mA 3072 16 mA 4095 20 mA

Page 137: FST4 Manual

FST Version 4.02.21 Manual

137

4.1.3.3 I06X IO60/IO61 -10V to +10V 4 analog outputs, -10V to 10V, 12 bit Input words (channels): Output words (channels): 4 Switch positions: 0 to 4 Sum of inputs: Sum of outputs: 20 Range: -10V to 10V Resolution: 12 bit Special features: Module identification: Module check: Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 2 Channel # 3 3 Channel # 4 Register value Physical value -2048 -10 V -1024 -5 V 0 0 V 1024 5 V 2047 10 V

4.1.3.4 IO7X IO70/IO71 0V to 10V 2 analog outputs, 0V to 10V, 12 bit Input words (channels): Output words (channels): 2 Switch positions: 0 to 4 Sum of inputs: Sum of outputs: 10 Range: 0V to 10V Resolution: 12 bit Special features: Module identification: Module check: Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 Register value Physical value 0 0 V

Page 138: FST4 Manual

FST Version 4.02.21 Manual

138

410 1 V 819 2 V 2048 5 V 4095 10 V IO70/IO71 -10V to +10V 2 analog outputs, 0V to 10V, 12 bit Input words (channels): Output words (channels): 2 Switch positions: 0 to 4 Sum of inputs: Sum of outputs: 10 Range: -10V to 10V Resolution: 12 bit Special features: Module identification: Module check: Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 Register value Physical value -2048 -10V -1024 -5 V 0 0 V 1024 5 V 2047 10 V IO73 0 to 20mA 2 analog outputs, 0 to 20mA, 12 bit Input words (channels): Output words (channels): 2 Switch positions: 0 to 4 Sum of inputs: Sum of outputs: 10 Range: 0 to 20mA Resolution: 12 bit Special features: Module identification: Module check: Assignment of output words: OW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Channel # 1 1 Channel # 2 Register value Physical value 0 0 mA 205 1 mA

Page 139: FST4 Manual

FST Version 4.02.21 Manual

139

819 4 mA 2048 10 mA 4095 20 mA

4.1.3.5 Address assignment matrix The following tables are very helpful for planning addressing of the individual modules. The columns show the I/O modules, the rows show the processor I/O addresses. The mod-ule address is set by means of the rotary switch on the underside of the module. Depending on the module and switch position, the range shown for the switch position is assigned. All addresses are shown in hexadecimal notation. The same switch position may occur for different modules, but any single processor I/O address can only be assigned once. This means that a module assigns all table rows associated with a switch position. There is a separate address range for inputs and outputs. The FST IPC I/O configurer supports you in assigning addresses / switch positions. You would always begin with the module that takes up the fewest I/O addresses, as it is then easier to find space for the remaining modules. Table 7: Address assignment analog outputs part I IO10 IO11 IO12 140-15F 1 1 1 240-25F 2 2 2 1CO-1DF 3 3 3 2CO-2DF 4 4 4 Table 8: Address assignment analog outputs part II IO40 IO41 IO48 1 A4 1 1 1 1 A5 2 A4 2 2 2 2 A5 3 A4 3 3 3 3 A5 1 A6 4 4 4 1 A7 2 A6 5 5 5 2 A7 3 A6 6 6 6 3 A7 Table 9: Address assignment analog outputs part III IO60 IO61 IO70 IO71 IO73 300-303 0 0 0 0 0 304-307 1 1 1 130-133 1 1 2 2 2 134-137 3 3 3 230-233 2 2 4 4 4 234-237 1BO-1B3 3 3 1B4-1B7 2BO-2B3 4 4 2B4-2B7

Page 140: FST4 Manual

FST Version 4.02.21 Manual

140

Table 10: Address assignment analog inputs part I IO10 IO11 IO12 140-15F 1 1 1 240-25F 2 2 2 1CO-1DF 3 3 3 2CO-2DF 4 4 4 Table 11: Address assignment analog inputs part II IO40 IO41 IO48 1 A4 1 1 1 1 A5 2 A4 2 2 2 2 A5 3 A4 3 3 3 3 A5 1 A6 4 4 4 1 A7 2 A6 5 5 5 2 A7 3 A6 6 6 6 3 A7 Table 12: Address assignment analog inputs part III IO60 IO61 IO70 IO71 IO73 300 0 0 0 0 0 304 1 1 1 130 1 1 2 2 2 134 3 3 3 230 2 2 4 4 4 1B0 3 3 2B0 4 4

4.2 FEC and HC0x The special IO drivers for FEC and HC0x controllers are described in this topic.

4.2.1 Local Ios

4.2.1.1 FEC Standard In the IO configuration, select the module that corresponds with your hardware, e.g. FC440. The inputs of the FEC Standard are grouped into FST input and output words. If you select the "word" option that is available for each FEC Standard type, 16 inputs or outputs are accessible through each FST input or output word. If you select the default IO script (without "word"), 8 inputs or outputs are accessible through the 8 least significant bits each FST input or output word. For the analog IO separate modules must be selected: Standard Analog Input 0-20mA and Standard Analog Output 0-20mA. PLC Safety is available through a separate module: FEC Standard PLC Safety. This module will generate FST error 12 if the hardware cannot be identified as a FEC Standard.

Page 141: FST4 Manual

FST Version 4.02.21 Manual

141

Error 11 will be generated if no supply voltage is present on the outputs or an overload occurs on an output. The reason will be made available through the FST input word you specified when including the IO module. BIT 0 = A0 overload BIT 1 = A1 overload BIT 2 = nc BIT 3 = nc BIT 4 = A0 no 24V BIT 5 = A1 no 24V Note! The input word reflects the actual status, to be sure that the reason is available later you should write an error program.

4.2.1.2 FEC Compact In the IO configuration, select the module FEC. You do not have to enter a switch position here. Enter the number of the FST input and output words that are to be used for the local IOs (e.g. both 0). The 12 inputs of the FEC Compact are divided into two groups. 8 on the first, 4 on the sec-ond group. The 8 bits of the first group are represented in the 8 least significant bits of the input word given (e.g. I0.0 to I0.7). The 4 bits of the second group are represented in the 4 least significant bits of the following input word (e.g. I1.0 to I1.3). The 8 outputs are represented in the 8 least significant bits of the output word given (e.g. O0.0 to O0.7).

4.2.1.3 HC0X The 8 IOs of HC0X can be used as inputs or outputs. Enter the module HC0X into the IO configuration. You do not have to enter a switch position here. Enter the number of the FST input and output words that are to be used for the local IOs (e.g. both 0). This will allocate one input and two output words. The 8 IO bits are represented as the 8 least significant bits of input and output word given (e.g. I0.0 to I0.7, O0.0 to O0.7). The 8 least significant bits of the second output word (e.g. OW1) is used to define which pins are used as input or output: if a bit is set this means that the corresponding pin is an output, otherwise it is an input.

4.2.1.4 Debouncing of Inputs The inputs have a delay time of 5 ms. An additional delay can be achieved by using the logical IO module DEBOUNCE. Enter it into the IO configuration but behind the definition of the input word you want to debounce. The complete IW you specify will be debounced. The status of its bits will only change if the new value has been read for two consecutive IO scans. You can increase the number of consecu-tive IO scans by entering DEBOUNCE for several times for the same input word.

4.2.2 IO extension HC0x and FEC Compact can be connected to an (additional) FEC via the EXT interface and a special (short!) cable. Note! For the FEC Standard series the IO extension is not available. If you want to have more than one extension module, use the IO extension driver, which is described in a separate chapter. To access the remote IO from your programs you have to enter the module Remote FEC (HC0X) or FEC Slave (FEC Compact) into the IO configuration. You have to give the number of the FST input and output words (e.g. 2 for both).

Page 142: FST4 Manual

FST Version 4.02.21 Manual

142

The 12 inputs of the remote FEC are divided into two groups: 8 on the first, 4 on the second group. The 8 bits of the first group are represented in the 8 least significant bits of the input word given (e.g. I2.0 to I2.7). The 4 bits of the second group are represented in the 4 least significant bits of the following input word (e.g. I3.0 to I3.3). The 8 outputs are represented in the 8 least significant bits of the output word given (e.g. O2.0 to O2.7). The remote FEC must not have a control program running. The FEC must be in the factory settings. Delete any files from drive B: using the File transfer utility of FST IPC. The RUN/STOP switch must be in position STOP. FST Error 99 will occur if a FEC has local IOs configured and is also accessed as remote FEC.

4.2.3 Analogue Potentiometer FEC Compact and HC01 are equipped with an analogue potentiometer. It can be adjusted using a screwdriver in the range 1 to 63. To read the values from your programs enter the module Trimmer into your IO configuration and specify the input word you want to use for the actual trimmer value.

4.2.4 Rotary Switch FEC Standard controllers are equipped with a rotary switch with 16 positions (0-15), which also serves as run/stop switch, where 0 means stop and all other positions run. To read the switch position (1-15) from your programs enter the module Rotary Switch into your IO configuration and specify the input word you want to use for the actual switch posi-tion. For compatibility reasons for the FEC Standard the module Trimmer is still available. The switch positions will result in the following values: 0 1 1 1 2 5 3 8 4 12 5 16 6 21 7 26 8 32 9 36 10 41 11 46 12 50 13 54 14 59 15 63

4.2.5 Fast counters The last two inputs of the second group of the FEC Compact (I1.2 and I1.3) as well as the first two inputs of HC0x (I0.0 and I0.1) can be used as 1 or 2 independent, high-speed counters. Still, the inputs can be read as standard inputs. For the FEC Standard series the following inputs are used: FC4xx, FC5xx - I1.6 and I1.7 FC6xx - I3.6 and I3.7

Page 143: FST4 Manual

FST Version 4.02.21 Manual

143

These counters are interrupt driven and once activated, operate independently of the user’s control programs and therefore are not affected by factors such as control program scan time. Include the module Fast counter to your IO configuration. Enter 0 as switch if you are using counter 0, 1 for counter 1. Specify the input word you want to hold the counter value. The counter value is incremented on each rising edge of the corresponding input signal. Please note that the counter values cannot be reset. If this is required the driver described in a separate chapter can be used instead.

4.2.6 Incremental Encoder The first two inputs of the second group of the FEC Compact (I1.0 and I1.1) as well as the inputs I0.2 and I0.3 of HC0x can be used as incremental encoder up to 200Hz. Optionally a reset signal can be connected to I0.7. Still, the inputs can be read as standard inputs. For the FEC Standard series the following inputs are used: FC4xx, FC5xx - I1.4, I1.5 and I1.70 FC6xx - I3.4, I3.5 and I3.0. This encoder is interrupt driven and once activated, operates independently of the user’s control programs and therefore are not effected by factors such as control program scan time. Include the module Incremental Encoder to your IO configuration and specify the input word for the counter value (e.g. IW5). The following input word will hold the direction (e.g. IW6). ABRESET To reset the counter value call the module ABRESET. Input parameters none Output parameters none ABMODE Pin I0.7/I1.0/I3.0 can be used to reset the counter. The counter will be reset if I0.7/I1.0/I3.0 is active and a positive edge is detected on one of the A/B inputs. You can choose between the following modes: Input parameters FU32 reference/reset mode: 0 no reset

1 direction 0, sin 3 direction 0, continuous

5 direction 1, single 7 direction 1, continuous

Output parameters none

Page 144: FST4 Manual

FST Version 4.02.21 Manual

144

4.3 Actuator Sensor Interface The Actuator Sensor Interface (ASi) connects sensors and actuators quickly and cheaply to the IPC-PS1. Up to 4 CP96 AS-Interface modules can be used, each with up to 31 slaves. The inputs and outputs of the slaves are copied to the user defined local function units of the FST IPC. Selecting and parameterising the driver If you want to use the AS-Interface in a FST IPC project, you first have to add and parameter-ise the ASI driver in the driver configuration. Target drive: Enter the drive that contains the AS-Interface driver ASIDRV.EXE or to which it is to be loaded.

4.3.1 The ASi configurer Start the configurer in the FST software via the Extras > AS-Interace configuration from the menu. Note! In order to be able to use the online features of the configuration tool, the AS-Interface driver must be active on the IPC-PS1. It is sufficient to load (into the controller) the project for which you have configured the ASi driver, without programs. The IPC must then be re-booted. This will be done automatically. Selecting the master Selecting Edit > Modul Number/IO-assignment from the menu opens a selection window allowing you to choose one of 4 masters. The number of the master corresponds to the address set on the CP96 module. This selection window also defines the base address for the I/O image to which the ASi slave/IOs are copied. This address must be given for correct configuration of the master module. A CP96 module (ASi master) always occupies 8 I/O words in the local I/O area of the FST IPC. Figure 1: Selecting the Master module and assigning an I/O address

Configuring individual stations The main function of the configurer is the configuration of the individual ASi bus stations (slaves). Here, configuration means setting the ID and I/O codes of a slave. Configuration can be done offline, that is, without a link to the IPC. If there are several ASi masters in one IPC system, this procedure has to be repeated for each master. The selection of the desired master is done by Edit > Modul Number/IO-assignment from the menu. At runtime – during the initialisation phase – the configuration data of each master is com-pared with the data in the reference list. A master is only reconfigured if the data does not match. This approach prevents a relatively long delay when a project is restarted (as would be caused by reprogramming of the master lists). This delay only occurs the first time a project is started, when the configuration is changed, and when a master is swapped.

Page 145: FST4 Manual

FST Version 4.02.21 Manual

145

Selecting Edit > Configuration form the menu shows the configured slaves from 1 to 31 are shown with I/O address, ID, I/O code and parameters. Any slave can be selected for further processing with the cursor keys or the mouse. Edit Double clicking on a slave or selecting Edit from the right mousebutton popup menu opens an input window allowing editing of the ID code, I/O code and parameters of the selected slave. ID and I/O code should be taken from the appropriate documentation for the slave. Entry of a parameter is optional. This parameter (0 to F) is transmitted to the slave when the master is restarted. When slaves are designed accordingly, such parameters can be used to set certain properties (such as the sensitivity of an ultrasound sensor). Figure 2: Entering a slave into the configuration

Delete Pressing the Delete key allows you to delete the selected slave from the nominal list. Nominal-actual comparison When selecting Nominal/actual compare from the right mousebutton popup menu a com-parison of the slaves in the nominal list with the slaves present on the ASi bus is started. All deviations are displayed in a dialog. If the nominal list is empty – for example in the case of a new project – all slaves on the bus are inserted into the nominal list. Naturally, the refer-ence list can be edited in the normal way. There must be a connection to the IPC. The ASi driver must be installed. The IPC main run-time program must be active. Figure 3: Result of the nominal-actual comparison

Printing the configuration

Selecting File > Print from the menu or pressing prints the configuration. Address programming of individual slaves Note! There must be a link to the IPC. The ASi driver must be installed. The IPC main runtime program must be active.

Page 146: FST4 Manual

FST Version 4.02.21 Manual

146

By default, all ASi slaves have the address 0. Each ASi slave can be assigned a new address by address programming. This can also be done for slaves that already have an address other than 0. Each ASi slave must have a unique address (per master). The addresses can be modified by first selecting Edit > Slave Addresses and then from the list use drag and drop to change the slave. Online manipulation of individual slaves Note! There must be a link to the IPC. The ASi driver must be installed. The IPC main runtime program must be active. The slaves detected on the bus are displayed with their I/Os in the ASi online display. The display is dynamic. In other words, the display is automatically updated to reflect the status of the inputs. Manipulating slave outputs First position the selection highlight on the slave whose outputs are to be manipulated. Now it possible to manipulate the outputs by doubleclicking on the output, by pressing keys F5 to F8, or by using the right mousebutton popup menu.

4.3.2 CI commands !7DLES Display list of current slaves !7DSxx Display slave (IO, ID, +inputs) (xx = 1 to 1F) !7DOUF Display control flags !7DHARD Display hard/soft reaction (0 = soft, 1 = hard) !7MMA Modify Master Address (= 1 to 4) (Valid for all following commands). !7MSA Modify Slave Address (= old address, new slave address) !7MPM Modify Project Mode (=0 or =1) !7MA Modify Output (= slave address, output word) !7MSP Modify Slave Parameter (= slave address, parameter) !7MHARD Modify hard/soft reaction (=0 or =1) !7MERR Modify error status (=0) (Restart after runtime error) All numeric values given for the Modify command must be entered in hex. The command is not case sensitive. The commands are used in the first line of the ASi configurer. The com-mands are not intended for manual entry. They are only documented here for the sake of completeness.

Page 147: FST4 Manual

FST Version 4.02.21 Manual

147

4.3.3 Error numbers No Meaning of error Notes on elimination 700 No configuration data found for ASi driver 701 No master found 702 703 704 711 Slave failure 712 713 714 The cyclical part of the driver monitors the Config OK flags of all configured masters. If "hard" error reaction is set, the failure of a slave results in error number 710 + master a d-dress (1 – 4) being entered into the IPC error word. Program execution is stopped. If an error handling routine has been entered into the IPC configuration, this is now started. If this behaviour is not desired, hard error reaction can be switched off with the AS-I_Mode module (see below).

4.3.4 Function modules Overview ASI_Mode Sets the reaction of the ASi driver to configuration errors ASI_Stat Interrogates execution control level (OUF) flags ASI_Para Transfer a parameter to an ASi slave at runtime ASI_Res Restart cyclic update ASI_Mode Sets the reaction of the AS-I driver to configuration errors Input parameters FU32 = 0 Soft reaction > 0 Hard reaction Output parameters FU32 = -1 OK = 0 Driver not loaded Note: The ASI_Mode module can only be used with the ASi driver. ASI_Stat Interrogates execution control level (OUF) flags Input parameters

FU32 Master address (1 to 4) Output parameters

FU32 = -1 OK = 1 Master address invalid = 10 Master not found

FU33 Status flags For the significance of the individual bits, please refer to the ASi master documentation. If hard error reaction has been switched off with the ASi module, the user can use ASI_Stat to interrogate the Config OK flag of the individual master and derive the desired reaction to the error from the result.

Page 148: FST4 Manual

FST Version 4.02.21 Manual

148

AS-I_Para Transfer a parameter to an ASi slave at runtime Input parameters FU32 Master address (1 to 4) FU33 Slave address (1 to 31) FU34 Parameter value (0 to $0F) Output parameters FU32 = -1 OK = 1 Master address invalid = 2 Slave address invalid = 3 Parameter value invalid = 10 Master not found = 11 Master timeout FU33 Error code Overview of possible error codes: HFUN_OK 0x00 Execution successful HFUN_NOK 0x01 Execution not successful HFUN_SNA 0x02 Slave not in LAS HFUN_MOFF 0x0C Master is offline MAS-IBUSY 0xFD Master not ready HOSTTOUT 0xFE Master timeout Note: If the slave is not found, error code 0x02 is returned (Slave not in LAS). ASI_Res Restart cyclical update (including error monitoring) following a runtime error (slave failure) Input parameters None Output parameters FU32 = -1 OK = 0 Driver not loaded Note: The ASI_Res module can only be used with the ASi driver.

4.4 Festo Fieldbus Master Version 2.22 The fieldbus allows you to link up distant I/O modules (plant-floor units) with your IPC-PS1 to form a system network. Communication between the modules and the IPC is controlled by the PS1-CP61 fieldbus module. This module has a fieldbus interface to which you can con-nect up to 31 participants, when using repeater technology up to 99. Additional FST oper-ands are available for cyclical inputs and outputs of the participants. Modules can be used to interrogate statuses and execute a-cyclic commands.

4.4.1 Set Festo fieldbus parameters If you want to use the FESTO fieldbus in a project, you must enter and parameterise the FESTOBUS driver in the configurer. Destination Drive: Enter here the target drive for the Festo fieldbus driver IPCFB22.EXE. CP61 switch setting: Enter the switch position here which you have set on the rear of your fieldbus module (PS1-CP61). Interrupt number: Enter the number of the interrupt that the fieldbus module is allowed to use for communica-tion with the CPU. Check which interrupts have already been assigned for other modules.

Page 149: FST4 Manual

FST Version 4.02.21 Manual

149

fieldbus baud rate: Here you can specify the baud rate for data transmission on the fieldbus. The permissible values are 375, 187.5, 62.5 and 31.25 kilobaud. Highest station address: Enter here the highest participant number you are using. The permissible range is 1..99. Soft error behaviour: Enter here if you want to use the soft error behaviour. Valid entries are Yes and No. Use nominal configuration: Enter here if you want to use the nominal configuration. Valid entries are Yes and No.

4.4.2 Soft error behaviour Programmers can choose between two options for the response to configuration problems during start-up: The default is the "hard" error response. In the event of errors during start-up, neither Program 0 nor the error program is started. Optionally, "soft" error response can be selected. . In the event of errors during star-tup, the response is as for other errors, that is, setting of the error word, and project stop or error program execution. The desired error response can be set in the configuration dialog for the fieldbus (see above). Hard error response is the default setting.

4.4.3 Using the nominal configuration Alternatively, the programmer can define the slave list to the FB master in the form of a nominal configuration. If a configured participant is not found during start-up, normal error handling for transmission errors result. The missing participant can then join the fieldbus at a later stage without reinitialisation of the bus. Please note that only those participants can be entered that are also used in one of the loaded programs. It is immaterial whether the program is ever executed or not. The individual participants must be used with their full scope of I/Os, as otherwise the participant is not addressed. If the user reinitialises with CFM48,1 or CI, the Actual configuration is used as usual.

4.4.4 The Festo fieldbus configurer The planning and control instrument for program generation is the fieldbus configurer. You use this to define the (nominal) configuration of the filedbus. You can then: Print out the configuration data that you have entered and connect the pa rticipants with the aid of the list Compare the actual and nominal configurations in order to correct connection errors. You use the fieldbus configurer to create the nominal configuration of the fieldbus. You should do this before you enter the allocation list (and the programs) so that you can imme-diately assign symbolic identifiers to the operands that are created. Note! As part of the syntax test carried out on the programs there is a check as to whether the fieldbus operands that have been entered have a corresponding entry in the fieldbus con-figuration. In the following the fieldbus I/O modules are referred to as participants.

Page 150: FST4 Manual

FST Version 4.02.21 Manual

150

Calling the fieldbus configurer: The FESTO Fieldbus configurer is configured as an external tool, and can be activated in the Extras menu. Selecting the type: If you have not yet created a fieldbus configuration in the project, you must use Edit > Type actual. from the menu. A window appears showing you the types that are available from Festo. Here you can select the types that are to be used in your project for example by dou-bleclicking on them with the mouse. Figure 1: Defining fieldbus participant types

Note! If you remove a type from the project-specific type file for which there is already an entry in the configuration, the designation Unknown type will subsequently appear in the configurer instead of the type. You should delete any such entries.

Page 151: FST4 Manual

FST Version 4.02.21 Manual

151

Edit configuration Once you have completed type selection for your current project you can enter the partici-pants by selecting Edit > Configuration from the menu. After selecting Insert from the local menu a window appears where you configure the par-ticipant: Figure 2: Configuring fieldbus participant

Enter the participant’s number and type that you want to insert. The permissible entries are explained in the table below: Abbr. Meaning Permissible entry PA Participant 1 to 99 number Type Type of The fieldbus participants participant stored in the type file are offered for selection in a window. IW Number of It is only possible to specify input units the input units in the case of types where the number of inputs may vary (1 to 16). OW Number of It is only possible to specify output units the output units in the case of types where the number of outputs may vary (1 to 16). Conclude your entries by pressing the OK button. The fieldbus participant is inserted in the configuration file in ascending order according to the participant number. A message in the message shows the time in which the controller forwards I/O information to the filedbus peripherals. Modify: Highlight the participant that you want to modify, and activate the Modify function by dou-bleclicking or selecting Modify from the local menu. As in the case of Insert, a window ap-pears similar to that in Figure 2. The entries can then be overwritten. Delete: You can delete a filedbus participant by selecting delete from the local menu. Test functions In order to ensure proper operation on the filedbus, on the one hand various tests are car-ried out by the IPC run-time system while on the other hand the fieldbus configurer also offers a test option.

Page 152: FST4 Manual

FST Version 4.02.21 Manual

152

When a project is started, the run- time system detects the actual configuration and com-pares it with the nominal configuration. If the nominal configuration is not a subset of the actual configuration, an error is reported. The Compare nominal/actual function supports the testing of the configuration data from the PC. To be able to execute this function, your PC must be connected to the IPC in the proper way. Compare nominal/actual: When you activate this function from the local menu the actual configuration is read from the IPC and is compared with the nominal configuration that was drawn up on the PC. If the configurations are identical, a message appears in the message line. If discrepancies occur during the comparison, the following window appears after you activate this function. Figure 3: Nominal and actual comparison

You are shown the number of deviations between the nominal configuration and the actual configuration. If there is no nominal configuration file in the project directory, the actual configuration that is read from the IPC is stored as the nominal configuration. The file contains no comments, however, so these details need to be added. This function can be used for initial creation of the configuration file. The precondition for this, however, is that the fieldbus and all participants are available. Print fieldbus configuration

Selecting File > Print from the menu or pressing prints the configuration.

4.4.5 Programming fieldbus operands fieldbus inputs and outputs can be addressed with the following syntax in Ladder diagram or Statement list programs: Inputs (bits): Ip.w.b Outputs (bits): Op.w.b Input words: IWp.w Output words: OWp.w p = participant number w = word number b = bit number The word number is assigned from 0 onwards for each participant, separately for inputs and outputs. For example, if you use the fieldbus module I/O extension 405 with 3 input cards and 2 output cards (1 word each) as participant 5, the following operands are created:

Page 153: FST4 Manual

FST Version 4.02.21 Manual

153

I5.0.0 to I5.2.15 and IW5.0 to IW5.2, but also O5.0.0 to O5.1.15 and OW5.0 to OW5.1. Most fieldbus modules occupy only one word; this is then word 0. In the printout of the filedbus configuration you will find an aid to addressing for each par-ticipant.

4.4.6 Function blocks Overview F40 Configuration of a fieldbus participant. F41 Read parameter field. F42 Write parameter field. F43 Reset all cyclical outputs on the filedbus. F44 Status interrogation for a fieldbus participant. F47 Set error handling. F48 General configuration. F40 Configuration of a fieldbus participant. Input parameters FU32 fieldbus participant number, 1 to 99 Output parameters FU32 = -1 Nominal and actual data agree = 0 Nominal and actual data differ FU33 Participant: actual type FU34 Participant: number of inputs in bytes FU35 Participant: number of outputs in bytes If you are using the nominal configuration (see Section 1.2) nominal and actual data will always agree by definition. F41 Read parameter field of an “intelligent” participant. Input parameters FU32 fieldbus participant number, 1 to 99 FU33 Address of the participant word, 0 to 255 Output parameters FU32 = -1 Command successfully processed = 0 Error, fieldbus participant not responding FU33 Participant status FU34 Participant word of address FU35 Participant word of address + 1 FU36 Participant word of address + 2 FU37 Participant word of address + 3 For a description of the participant status see F44. F42 Write parameter field of an “intelligent” participant. Input parameters FU32 fieldbus participant number, 1 to 99 FU33 Number of word parameters, 1 to 4

Page 154: FST4 Manual

FST Version 4.02.21 Manual

154

FU34 Address of participant word, 0 to 255 FU35 Participant word for address FU36 Participant word for address + 1 FU37 Participant word for address + 2 FU38 Participant word for address + 3 Output parameters FU32 = -1 Command successfully processed = 0 Error, fieldbus participant not responding FU33 Participant status For a description of the participant status see F44. F43 Reset all cyclical outputs. Input parameters None Output parameters None F44 Status interrogation for a participant. Input parameters FU32 <> 0 Number of the participant = 0 Reset all error entries Output parameters FU32 Status of the participant FU33 number of short-term errors FU34 number of long-term errors FU35 total error count FU36 Participant address for last error The status (FU32) contains the following information: Bit 7 =1 ASCII data present Bit 6 error bits Bit 5 (see manual of filed bus participant) Bit 4 . Bit 3 . Bit 2 . Bit 1 . Bit 0 =0 a-cyclic participant =1 cyclic participant The number of short-term errors is incremented in case of cyclic communication error (no response, checksum error etc.). The maximum value is 255. It will be reset to 0 after suc-cessful cyclic communication Checking for broken communication can be done by using F44 and then testing for FU33 > some value The number of long term errors is incremented if communication had error (short term <> 0) and communication is restored The total error count is incremented in case of cyclic communication error (no response, checksum error etc.) F47 Status interrogation for a participant (FU32=1). Set exception handling programs (FU32=1). Input parameters FU32 = 1 Exception handling program assignment FU33 Bit0 = 1 FU34 has the program number Bit1 = 1 FU35 has the program number

Page 155: FST4 Manual

FST Version 4.02.21 Manual

155

Bit2 = 1 FU36 has the program number FU34 Program number for transmission errors FU35 Program number for errors in a field bus participant FU36 Program number for ASCII data with field bus participant Output parameters None All programs must always be given. If a non-existent or invalid program is given or if the bit is deleted in the mask, the program is deactivated for event handling. Example: THEN CFM47 WITH V1 WITH V3 WITH V3 WITH V17 WITH V0 In the event of a transmission error (such as cable break), Program 3 is set. If a participant error occurs (such as short-circuit at participant output), Program 17 is started. If a response to an a-cyclic command arrives (such as the participant is holding an ASCII file ready), no program is started. The activated programs are executed in the normal sequence (that is, by increasing program number). Following completion of handling, they should deactivate themselves in order to allow themselves to be called again. Input parameters FU32 = 2 Status interrogation Output parameters FU32 Always 0 FU33 Status of the participant FU34 Value of short-term error FU35 Value of long-term error FU36 Total number of errors FU37 fieldbus address of the participant with last error F48 Register actual configuration and status or use nominal configuration. Input parameters FU32 = 1 Configuration acquisition = 2 Status interrogation after configuration acquisition = 3 use nominal configuration Output parameters if FU32 = 1

FU32 = -1 Configuration acquisition running Output parameter if FU32 = 2:

FU32 = 1 Configuration acquisition running = 2 Actual configuration = nominal configuration = 3 Actual configuration <> nominal configuration = 4 No configuration available Output parameters if FU32 = 3 None All fieldbus outputs are deleted prior to configuration acquisition. fieldbus inputs are not updated for a period of up to several seconds. The use of the function with FU=2 does not make sense. When a participant list is given (see Section 1.2) actual and nominal data of this option match by definition.

Page 156: FST4 Manual

FST Version 4.02.21 Manual

156

Example program for F48: STEP 1 THEN CFM 48 WITH K1 "Configuration acquisition STEP 2 THEN CFM 48 WITH K2 "Status interrogation IF FU32 <> K1 THEN NOP STEP 3 IF FU32 <> K2 THEN ...

4.4.7 CI commands The Festo fieldbus has the driver number 0. For historical reasons, "!0" can be entered instead of "$". !0FA Assign nominal configuration !0FC Display participant number !0FI Reinitialisation (acquisition of actual configuration) Response "=1" for success, else "=0". !0FN Cyclic display of participant Displays the definition of one participant per cycle. Output comprises participant number, type number, number of output bits and number of input bits.

!0FR Start/continue cyclic transfer of data !0FS Stop cyclic transfer of data

4.4.8 Error numbers

No Meaning of error Notes on elimination 14 Critical driver error. Project

cannot be started even with “soft” errors

This error occurs if the field-bus driver was not found or problems occur starting the firmware of the CP 61

60 Actual configuration is not a superset of the nominal con-figuration

Correct fieldbus configuration or connect missing participant

4.5 Festo Fieldbus Slave This package allows you to operate the IPC as an intelligent slave in a Festo fieldbus.

4.5.1 Selecting the driver and assigning parameters If you want to use the IPC to become a fieldbus slave, you must enter and parameterise the FBSLAVE driver in the configurer. The following entries are required: Destination Drive: Enter here the target drive for the Festo CP61 firmware FBSLAVE.BIN. CP61 switch setting:

Page 157: FST4 Manual

FST Version 4.02.21 Manual

157

Enter the switch position here, which you have set on the rear of your fieldbus module (CP61).

4.5.2 How to use the module FBSLAVE Import the FBSLAVE file into your FST-IPC project. In the following examples I will assume that it was imported as a program module with number 0 (CMP 0). Initialisation/configuration First the firmware must know things like fieldbus address, baud rate etc. Input parameters

FU32 1 = Initialisation/configuration FU33 Switch setting of CP61 (4..7) FU34 Baud rate (0..3) 0 = 31.25 Kbit/s 1 = 62.5 Kbit/s 2 = 187.5 Kbit/s 3 = 375 KBit/s FU35 Participant number (slave address) (1..99) FU36 Output bytes (0..24) or words (0..12) FU37 Input bytes (0..24) or words (0..12) FU38 1 = Byte oriented 2 = Word oriented Output parameters None Repeated initialising has no effect, only after reloading the binary code (FBSLAVE.BIN) can the CP61 be reconfigured. You need to reboot the IPC to do so. If inputs and outputs are mentioned I will use them as seen from the slave’s perspective. So if in this document I use the word input, it means input as seen by the slave and output as seen by the master. Example: IF NOP THEN CMP 0 'FBSLAVE WITH V1 " Initialise WITH V4 " Switch setting CP61 WITH V3 " Baud rate (3=375 Kbit/s) WITH V1 " Participant number ( slave address ) WITH V24 " Inputs WITH V24 " Outputs WITH V1 " Byte oriented From the master this slave will be seen as follows: PA Type IW OW 1 FB-IPC (byte) 24 24 Example: IF NOP THEN CMP 0 'FBSLAVE WITH V1 " Initialise WITH V4 " Switch setting CP61

Page 158: FST4 Manual

FST Version 4.02.21 Manual

158

WITH V3 " Baud rate (3=375 Kbit/s) WITH V1 " Participant number ( slave address ) WITH V8 " Inputs WITH V12 " Outputs WITH V2 " Byte oriented From the master this slave will be seen as follows: PA Type IW OW 1 FB-IPC (word) 8 12

4.5.3 Cyclic updates The input and output data of the IPC fieldbus slave are kept in a flag word area defined by the user. The contents of these flags can be read to and from inputs and outputs or proc-essed elsewhere with the help of an STL or LDR program. To read/write the data that is cyclically updated to the master we use a range of flagwords, which are read from/copied to the dual ported RAM of the CP61 by calling CFMxx as follows: Input parameters FU32 2 = Cyclic update FU33 1st flagword for outputs FU34 1st flagwords for inputs Output parameters None Example: IF NOP THEN CMP 0 'FBSLAVE WITH V2 " Cyclic update WITH V10 " 1st flag word for outputs WITH V20 " 1st flag word for inputs

4.5.4 Get status The communication status can be requested by calling CMPxx as follows: Input parameters FU32 0 = get status Output parameters FU32 status The status is returned into FU32, and has the following meaning: bit 0 reserved can be 0 or 1 bit 1 reserved can be 0 or 1 bit 2 1 if there is no cyclic communication with a fieldbus master bit 3 1 if there is cyclic communication to a fieldbus master bit 4 reserved can be 0 or 1 bit 5 reserved can be 0 or 1 bit 6 reserved can be 0 or 1 bit 7 reserved can be 0 or 1 bit 8 - 15 reserved always 0

4.5.5 A-cyclic updates It is possible to access a data field of 256 words. To write a value to a parameter you would use the following: Input parameters

FU32 3 = write parameter FU33 parameter field number FU34 parameter field value Output parameters

Page 159: FST4 Manual

FST Version 4.02.21 Manual

159

None To read the parameter: Input parameters

FU32 4 = read parameter FU33 parameter field number Output parameters

FU32 parameter field value

4.5.6 Sample program "" Example program for Festo fieldbus Slave STEP init IF NOP THEN CFM 62 " fieldbus slave module WITH V1 " Initialise WITH V$D400 " Base address CP61 module WITH V3 " Baud rate (3=375 Kb) WITH V1 " Slave address WITH V24 " Output bytes WITH V24 " Input bytes WITH V1 " Byte oriented STEP loop IF NOP THEN LOAD IW1 " Some inputs TO FW9000 " fieldbus output byte 0 IF NOP THEN CFM 62 " fieldbus slave module WITH V2 " Cyclic update info WITH V9000 " fieldbus outputs start at FW9000 WITH V9100 " fieldbus inputs start at FW9100 IF NOP THEN LOAD FW9100 " fieldbus input byte 0 TO OW1 " LEDs on AS14 IF NOP THEN JMP TO loop

4.6 Profibus DP (CP62) With this driver and the CP62 module you can connect Profibus DP slaves to the IPC and to use them with the FST IPC. Note! Before you can use the CP62 module it must be configured using the SyCon configura-tion software from the company Hilscher. The inputs/outputs of the modules are copied cyclically to the local function units (inputs, outputs or flag words) configured by the user.

4.6.1 Selecting the driver and assigning parameters If you want to use the Profibus DP driver in an FST IPC project you must enter the PDP driver in the driver configurer and assign the necessary parameters. Note! The driver uses the same driver number as PROFI-DP for CP60. It can not be used together in the same project.

Page 160: FST4 Manual

FST Version 4.02.21 Manual

160

Destination drive: Specify the IPC drive on which the Profibus DP driver PDP.EXE is located or onto which it is to be loaded. CP62 switch position: Enter the address switch position of the CP62 module here. DR-RAM size: This can be either 2 or 8. Use FW as IW: If you select "Y" then the process data will be copied into FWs instead of IWs. Use FW as OW: If you select "Y" then the process data will be copied into FWs instead of OWs. Offset for Inputs: Enter the index where the input area of the process data starts. Offset for Outputs: Enter the index where the output area of the process data starts.

4.6.2 Configuration Before you can use the CP62 module it must be configured using the SyCon configuration software from the company Hilscher. For DP-Master, following Parameters should be used:

• Start up behaviour: ο Automatic release of communication by the system after system initialised.

• Watchdog time: ο 300ms

• Addressing mode: ο Word address (Important!)

Process Data exchange: ο Buffered, program controlled data transfer

Error reaction: ο The error reaction "Hard" or "Soft" (e.g.: participant missing or non-configured participant on the bus) depends on the Bus- Parameter setting "Auto Clear". "Auto Clear On" := Hard reaction.

4.6.3 Error messages from the driver The driver enters the following error numbers in the FPC error word: No Meaning of the error Pointer to error correction 1001 There is no communication

between driver and Profibus card

Probable cause: - Card address is not the same with driver configuration - No valid configuration in the card system configuration (SyCon)

1004 Configures Slave not in the Bus

Only for hard reaction

1005 Input range exceeding 1006 Output range exceeding

Page 161: FST4 Manual

FST Version 4.02.21 Manual

161

4.6.4 Modules Overview DP_USIF Get the current USIF status DP_GETSL Checks whether a diagnostic request is present DP_GETDG Obtains diagnostic information from a DP slave DP_CONTR Profibus function "Global Control Request" DP_USIF The User Interface status cannot be edited; it will give back the actual status. The module operates in conjunction with the DP driver (PDP). Input parameters None Output parameters FU32 = -1 OK = 0 driver not loaded FU33 Current status or 0 = system not correctly initialised DP_GETSL Checks whether a diagnostic request is present. Input parameters None Output parameters FU32 = -1 OK = 0 driver not loaded

FU33 address of first participant with diagnostic requisition or $FFFF = no request present

FU34 address of first missing participant DP_GETDG Request diagnostic information from a DP slave. This should be used in conjunction with the DP_GETSL module. Input parameters FU32 Address of the slave (0 to 126) FU33 Offset in diagnostic information FU34 Group select Output parameters FU32 = -1 OK = 0 driver not loaded = 1 slave address invalid FU33 Profibus status of the operation FU34 Length of diagnostic information in bytes (not incl. length byte) FU35-38 The diagnostic information in consecutive Order Profibus status of the operation, typical values:

00 OK C3 Partner not responding 04 No parallel master-slave function possible

Will give back max. 4 Words of diagnostic information for every call.

Page 162: FST4 Manual

FST Version 4.02.21 Manual

162

Note! The module call must be repeated as many times as necessary until the value 0 is returned in FE33. The other values are not valid until this is the case. DP_CONTR Profibus function "Global Control Request".

Input parameters FU32 Slave address or 127 = all slaves (broadcast) FU33 Control command FU34 Group select Output parameters FU32 = -1 OK = 0 driver not loaded FU33 Profibus status of the operation All transfer parameters in BYTE format. Profibus status of the operation, typical values: 00 OK C3 Partner not responding

04 No parallel master-slave function possible Note! The module call must be repeated as many times as necessary until the value 0 is returned in FE33. The other values are not valid until this is the case.

4.7 Profibus FMS (CP62) With this driver you can operate the Festo IPC in a Profibus FMS network using the CP62 module of the IPC product range. Note! Before you can use the CP62 module it must be configured using the SyCon configura-tion software from the company Hilscher. There are no external configuration files. The bus parameters, Communication Reference List and Object Directory must be configured through SyCon.

4.7.1 Configuring the driver and assigning parameters If you want to use the Profibus FMS driver in a FST IPC project, you must enter the PROFIFMS driver in the driver configurer and assign the necessary parameters. Destination drive: Specify the drive on which the Profibus FMS driver PROFIFMS.EXE is located or onto which it is to be loaded. CP62 switch position: Enter the switch position as set on the CP62 module. The default of CA means that the CP62 module uses a base memory segment of CA00h Note! Make sure that the memory used by the CP62 is not in use by other modules.

4.7.2 Extended CI commands for PROFIFMS This driver extends the IPC command interpreter with the following commands: !39 Display driver identification and version number Display driver info and version number. This information will also be displayed if an un-known command is entered (for example !39?).

4.7.3 Function modules Overview FMSREAD Read (polled response)

Page 163: FST4 Manual

FST Version 4.02.21 Manual

163

FMSWRIT Write (polled response) FMSREAD Read (polled response) Input parameters FU32 Communication reference (CR=1 to 32) FU33 Object index (20 to 65535) FU34 Object subindex (0 to 241) FU35 Number of the flag word for status variable FU36 Low byte, identification of the operand type for data 0 = Input word 1 = Output word 2 = Flag word 3 = Register High byte, identification of the Profibus data type 1 = Boolean 2 = Integer8 3 = Integer16 4 = Integer32 5 = Unsigned8 6 = Unsigned16 7 = Unsigned32 8 = Floating point 9 = Visible-string 10 = Octet-string 11 = Date 12 = Time-of-day 13 = Time-difference 14 = Bit-string FU37 Number of the (first) operand word for data FU38 Expected length in bytes

Output parameters FU32 Error number = 0 Successfully processed > 0 Error (see table)

Status variable = 0 Successfully completed = 1 Still being processed > 1 Terminated by error (see table) FMSWRIT Write (polled response) Input parameters FU32 … FU38 See FMSREAD Output parameters FU32 See FMSREAD Status variable See FMSREAD

4.7.4 Object directory If other Profibus FMS participants want to access FST operands, the operands must be configured in the Object Directory (in SyCon configurator). Entering operands is optional, if they are missing in the Object Directory the operands are simply not accessible.

Page 164: FST4 Manual

FST Version 4.02.21 Manual

164

Please note that not all operands are accessible. Only Inputwords, Outputwords, Registers and a limited range of Flagwords can be accessed. When operands are entered they should be entered according to the following table: Index Designation as per

IPC Type Access

100 EW0-EW63 Array(64)*U16 Read 101 EW64-EW127 Array (64)*U16 Read 102 EW128-EW191 Array(64)*U16 Read 103 EW192-EW255 Array(64)*U16 Read 110 AW0-AW63 Array(64)*U16 Read/write 111 AW64-AW127 Array(64)*U16 Read/write 112 AW128-AW191 Array(64)*U16 Read/write 113 AW192-AW255 Array(64)*U16 Read/write 120 R0-R63 Array(64)*U16 Read/write 121 R64-R127 Array(64)*U16 Read/write 122 R128-R191 Array(64)*U16 Read/write 123 R192-R255 Array(64)*U16 Read/write 200 MW0-MW63 Array(64)*U16 Read/write 201 MW64-MW127 Array(64)*U16 Read/write 202 MW128-MW191 Array(64)*U16 Read/write 203 MW192-MW255 Array(64)*U16 Read/write 204 MW256-MW319 Array(64)*U16 Read/write 205 MW320-MW383 Array(64)*U16 Read/write 206 MW384-MW447 Array(64)*U16 Read/write 207 MW448-MW511 Array(64)*U16 Read/write 208 MW512-MW575 Array(64)*U16 Read/write 209 MW576-MW639 Array(64)*U16 Read/write 210 MW640-MW703 Array(64)*U16 Read/write 211 MW704-MW767 Array(64)*U16 Read/write 212 MW768-MW831 Array(64)*U16 Read/write 213 MW832-MW895 Array(64)*U16 Read/write 214 MW896-MW959 Array(64)*U16 Read/write 215 MW960-MW1023 Array(64)*U16 Read/write 216 MW1024-MW1087 Array(64)*U16 Read/write 217 MW1088-MW1151 Array(64)*U16 Read/write 218 MW1152-MW1215 Array(64)*U16 Read/write 219 MW1216-MW1279 Array(64)*U16 Read/write 220 MW1280-MW1343 Array(64)*U16 Read/write 221 MW1344-MW1407 Array(64)*U16 Read/write 222 MW1408-MW1471 Array(64)*U16 Read/write 223 MW1472-MW1535 Array(64)*U16 Read/write 224 MW1536-MW1599 Array(64)*U16 Read/write 225 MW1600-MW1663 Array(64)*U16 Read/write 226 MW1664-MW1727 Array(64)*U16 Read/write 227 MW1728-MW1791 Array(64)*U16 Read/write 228 MW1792-MW1855 Array(64)*U16 Read/write 229 MW1856-MW1919 Array(64)*U16 Read/write 230 MW1920-MW1983 Array(64)*U16 Read/write 231 MW1984-MW2047 Array(64)*U16 Read/write

Page 165: FST4 Manual

FST Version 4.02.21 Manual

165

4.7.5 Error return codes from function modules If FU32 is <> 0 then the function module returned an error, following table lists the error codes: 198 Function not implemented (call Festo) 199 PROFIFMS driver not loaded 200 Invalid parameter 201 No message number available (255 outstanding requests)

4.7.6 Error codes in status variable Following table lists some of the possible error values: 42h 66 Connection has been aborted 43h 67 Too many parallel services on one CR 80h 128 Connection could not be opened 81h 129 Error in application of remote partner

4.7.7 Heterogeneous networks When integrating FPC-405 or PS1-CP60 into the Profibus network make sure to verify the bus parameters. In the SyCon configurator set the baud rate to 500 kBits/second and opti-mise to user. Then edit the bus parameters. When using the FPC-405 with default bus parameters set as follows:

Page 166: FST4 Manual

FST Version 4.02.21 Manual

166

Also the Communication references differ slightly from the default settings, viewed from the CP62:

4.8 FEC Remote I/O Expansion Introduction This document describes the how to expand an FEC Compact controller with 1 to 4 addi-tional modules to provide up to 100 I/O points. Note! The I/O Expansion is not available for the FEC Standard series. The architecture consists of several FEC Compacts in a Master-Slave arrangement. The Master FEC contains all of usual user-application programs as well as a special software driver to manage communication with the slave FECs. If only a single extension module is required you can also use the IO script FEC Slave without installing drivers. See the chapter "FEC and HC0X" for details. The Slave FECs do not contain any user-application programs but must be loaded with a special Slave software driver. The balance of this document provides detailed instructions.

4.8.1 System Overview Systems should be created using FEC-FC30 only. FEC-FC20 modules can be used at the ends of the daisy chain. However, doing so has been experienced as not being stable in some situations and is therefore not recommended.

Page 167: FST4 Manual

FST Version 4.02.21 Manual

167

The modules must be connected together using Festo cable part number 183635. When planning a system, please note that I/O updates may require up to 25 milliseconds due to the nature of the serial data bus.

4.8.2 Configuring Slave FECs Every FEC module, which you will use as a slave device, has to be configured in the following manner. It is suggested that you create a separate FST project called FECSLAVE, which will contain data that must be loaded into every slave. N o user written programs are required. It is only necessary to add the FCSLAVE driver to the FECSLAVE project and load it into the controller. The follow provides step-by-step instructions: 1.Create the FCSLAVE project 2.Select the FCSLAVE project as the current project 3.Open the Driver Configuration 4.Insert the FCSLAVE driver 5. You will be prompted for a Destination Drive. Accept the default B response. 6. A listing of ALL configured drivers will be shown. The FEC SLAVE driver "FCSLAVE" should be listed. Loading the Slave Software into the FEC 1. Connect your PC to the COMM port of the FEC Slave using the appropriate cable 2. Set the Run/Stop switch of the slave FEC to STOP 3. Switch on the Power to the Slave FEC 4. Download the FECSLAVE project 5. You will receive a warning: "No IO scan table, no programs." This is correct, as only driv-ers will be loaded. 6. Set the Run/Stop switch of the slave FEC to the RUN position. Note! Until all slaves and the master are connected and the power is cycled, it is likely that a Red or Orange LED will be shown. This is normal. 7. After the next power cycle, the FEC Slave should operate in the slave mode. 8. Repeat this Loading process for any other FEC Slaves.

4.8.3 Configuring the Master FEC Adding the Driver The master FEC is programmed and executes all of the user-application programs. As with standalone FEC controllers, the system I/O configuration has to be recorded. Additionally, the special FCMASTER software driver must to be included in the FST project. The following provides step-by-step instructions: Create (or select) your FST project. Insert the FCMASTER driver to the Driver Configuration You will be prompted for a Destination Drive. Accept the default B response A listing of ALL configured drivers will be shown. The FEC Master driver "FCMASTER" should be listed. Selecting and adding I/O Entries The user now must select one of two available I/O entries in the Master Project. The step-by-step process is present below. Please refer to the following section. However, the user must first select which I/O entry is best suited to the application. The possible selections are:

Page 168: FST4 Manual

FST Version 4.02.21 Manual

168

FEC Slave If this I/O entry is selected, then during system initialisation the master checks if all ex-pected slave devices respond. If a configured slave does not respond then system error 11 is generated. During runtime, if any slave device fails to respond, system error 11 will be generated. -or- FEC Slaves without error 11 This I/O entry reacts in the same way during the initialisation phase. However, excessive runtime communication errors between the master and any slave device will not generate an error. Each of the FEC Slave nodes must be entered into the FST Project I/O configuration of the FEC Master. You will be prompted for: Switch: Enter 0 for the first slave, 1 for the second slave etc. IW: Enter the starting IW (Input Word) number for the Slave. Each FEC requires 2 Input words and each unit must be assigned unique, non-overlapping ranges. OW: Enter the starting OW (Output Word) number for the Slave. Each FEC requires 1 Output word and each unit must be assigned unique, non-overlapping ranges. Note! Don’t forget that the FEC master also must be entered into the I/O configuration! Optional I/O Entry If desired the user may also include the FEC Slaves Error Counter I/O entry in the master project. This will track the total global expansion bus errors that occur. If this is desired then include the module "FEC Slaves Error Counter" into the IO configura-tion. For the IW enter the number of a non-conflicting "virtual" IW (Input Word), which will be used to store the global error, count. Runtime Functioning The following describes the functionality of a configured and wired system.

4.8.4 Master at Runtime Upon power up the master will initialise the remote (slave) FEC modules. If there is a dis-crepancy between the expected versus the actual configuration (the expected slaves do not respond); then an I/O stage defective error will be generated and system error 11 will be stored. If during operation a communications problem develops (and the appropriate I/O entry is included) then excessive communications errors result in system error 11 being generated and the Master will stop attempting to update the slave FEC I/O points. The system can be reinitialised by toggling the Run/Stop switch or cycling power.

4.8.5 Slave at Runtime Upon power up the slave will check the Run/Stop switch. If the switch is in the Stop posi-tion, the slave software driver will not be processed and no access from the master can occur. If the switch is in the Run position, then the FEC slave software is processed. Interpreting the RUN Led in Slave Devices

Page 169: FST4 Manual

FST Version 4.02.21 Manual

169

Red Communications error

Flashing Orange No communications with master Flashing Green Slave being initialised by master Green Communications normal

4.8.6 Diagnostic Program Module (REMDIAG) The Remote FEC software package also includes software for monitoring the status of the FEC Remote I/O devices from within the user application program. If you want to include this capability in your application, you need to import the REMDIAG Remote FEC error counter into your FEC MASTER project Using the REMDIAG Module Use the following guidelines to access to REMDIAG module from within your Statement List or Ladder Diagram program: Get error counters Input parameters FU32 1 (get error counter) Output parameters FU32 Short term error count 0 if communication OK <> 0 if error in last cycle(s) FU33 Total error count, wraps from 65535 back to 0 Reset total error counter Input parameters FU32 2 (reset total error counter) Set retry counter Input parameters FU32 3 (set total error counter) FU33 Value for retry counter. 0 = disable

4.9 File Handling Modules Some standard CFM give access to the file systems on diskettes, hard disks, RAM-disks, etc. as supported by the MS-DOS operating system on HC1X and HC2X CPUs. It is possible to have up to 6 open files at a time. If more files than this are opened the CFM returns with error number 4 (too many open files). The naming convention uses numbers for files. If the file number is in the range 0 to 32767, that is if it is a positive number, it will be translated into a file name directly. For example file number 17 results in a "17" file name in the current working directory of the current disk. For a negative file number the CFM search the string driver and use the string with the oppo-site number as file name. For example if the file number is "-3" and the string number 3 contains "C:\MYDATA.BIN" this will become the name of the associated file. All file access CFM pass jobs to the MS-DOS task for further processing and return immedi-ately. The real job will be done by the MS-DOS task somewhat later on a first comes first served base. So more than one operation can be issued at the same time. All read or write data functions use flag words as storage for read or written data. The rea-son is, that only the flag words offer a meaningful amount of memory. All CFM return a result and support an operation status variable. A CFM result of zero means the operation has been started, but need not be complete (and usually is not). A none zero CFM result shows an error condition. The operation is not started and the actual returned value indicates the error type, for example invalid parameters. A status variable value of

Page 170: FST4 Manual

FST Version 4.02.21 Manual

170

zero means success. While the value is -1, the operation is still busy, not yet completed. If any error occurs, the value will become >0 and the actual value can be used to obtain further information of the kind of the error. For a list of error values see below. Do not remove a diskette while there is an open file on it. Doing such in MS-DOS will pro-duce lost clusters or even worse. Remember, MS-DOS updates the file allocation table not steadily. The method used by MS-DOS would take too much time. MS-DOS updates it when a file is closed. To make sure that all written data is part of a file and all allocated memory (clusters) is noted in the file alloca-tion table the file has to be closed. A simple but effective trick is to position to the desired end of the file, write zero bytes to that location and close the file. This will force MS-DOS to allocate enough memory from the disk and update the file allocation table. Doing this re-sults in the best chance to save the integrity of the file system on a disk. Another strategy uses a "check point a file" method. Request and save the current position of the file read/write pointer. Then close the file, open it again, and seek to the saved posi-tion. This also ensures all data will be written to the disk and the file allocation table will be updated. If the CHKDSK-command finds lost clusters on a disk, the file allocation table has not been updated at the right moment. The first method prevents this nearly always, the second is less sure but even saves partially written clusters to the disk. The CI commands S and Y and the QUIT and EXIT commands will automatically close all files. Overview FCREATE File create FOPEN File open FCLOSE File close FCLOSALL File close all FDELETE File delete FSEEK File seek FSEEKX File seek extended FWRITE File write FREAD File read FWRITSTR File write string FREADSTR File read string FCREAT File Create Create a new file or open an existing file for reading and writing. If the file exists it will be truncated to zero length. Input parameters: FU32 File number for the MS-DOS File name. A positive number is directly converted into a file name. The number 17 translates into a file name "17". A negative number is used as opposite index into the string table in the string driver. The associated string contains the file name.

FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure.

FU34 Number of flag word FW for the requested file handle. Valid when the status flag word shows 0. This handle has to be used with all further opera-tions with the opened file.

Page 171: FST4 Manual

FST Version 4.02.21 Manual

171

Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FOPEN File Open Open an existing file in the given mode. Input parameters: FU32 File number for the MS-DOS file name. A positive number is directly converted into a file name. The number 17 translates into a file name "17". A negative number is used as opposite index into the string table in the string driver. The associated string contains the file name.

FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure. FU34 Number of flag word FW for the requested file handle. Valid when the status flag word shows 0. This handle has to be used with all further opera-tions with the opened file. FU35 Mode in which to open the file. 0 = read-only access, 1 = write-only access, 2 = read/write access. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FCLOSE File Close Close a previously opened file. After closing a file the file handle is no longer valid and cannot be used for any further operation. Input parameters:

FU32 File handle for the MS-DOS file as obtained from file open or file create func-tions

FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FCLOSALL File Close All Close all currently open files. After closing all files the file handles are no longer valid and cannot be used for any further operation. Input parameters: FU32 Number of flag word FW used for status report.

Page 172: FST4 Manual

FST Version 4.02.21 Manual

172

The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FDELETE File Delete Delete a file. The file to be deleted may not be open. Input parameters: FU32 File number for the MS-DOS file name. The number 17 translates into a file name "17". FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FSEEK File Seek Move the file read/write pointer to a specified position. The position is given in bytes. Input parameters: FU32 File handle for the MS-DOS file as obtained from file open or file create

functions. FU33 Number of flag word FW used for status report. The status is The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure. FU34 Low word of 4 byte file pointer position. FU35 High word of 4 byte file pointer position. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FSEEKX File Seek Extended Move the file read/write pointer to a specified absolute or relative position. The position is given in bytes. Input parameters: FU32 File handle for the MS-DOS file as obtained from file open or file create

functions. FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure FU34 Low word of absolute or relative 4 byte file pointer position.

Page 173: FST4 Manual

FST Version 4.02.21 Manual

173

FU35 High word of absolute or relative 4 byte file pointer position. FU36 0=absolute, start from beginning of file 1=relative, start from current position 2=relative, start from end of file. FU37 Number of flag word FW used to return the new position. The new position is given as follows: FW[FU37] Low word of absolute 4 byte file pointer position. FW[FU37+1] High word of absolute 4 byte file pointer position. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FWRITE Write File Write some portion of the flag words to an open file. The amount is given in bytes. Input parameters:

FU32 File handle for the MS-DOS file as obtained from file open or file create func-tions.

FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure. FU34 Number of the first flag word FW that has to be written. FU35 Number of the bytes that have to be written. Writing 0 bytes will truncate the file at the current file pointer position. If the number of bytes is odd, only the low byte of the last flag word will be written. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FREAD Read File Read some portion of the flag words from an open file. The amount is given in bytes. Input parameters: FU32 File handle for the MS-DOS file as obtained from file open or file create functions. FU33 Number of flag word FW used for status report. The status is FW[FU33] = -1 while function is busy, = 0 when completed successfully, = >0 error number after failure. FU34 Number of the first flag word FW that has to be read. FU35 Number of the bytes that have to be read.

Page 174: FST4 Manual

FST Version 4.02.21 Manual

174

If the number of bytes is odd, only the low byte of the last flag word will be read. FU36 Number of flag word FW for the number of bytes that actually have been

read. Output parameters: FU32 = 0 OK, function has been started, = >0 error number after failure. Function is not started. FREADSTR Read string from file Read string from file until delimiter is found. Input parameters:

FU32 File handle for the MS-DOS file as obtained from file open or file cre-ate functions.

FU33 Number of string. FU34 Number of the bytes that will be checked (max). FU35 Delimiter (0..255). 0: delimiter is CR LF. Output parameters: FU32=

0 DONE, function has been executed successfully 200 String driver not found 201 Reached EOF before delimiter was found. File pointer remains unchanged. 202 Checked given amount of characters before delimiter was found. File pointer

remains unchanged. >0 Error, see below. FWRITSTR Write string to file. Write string plus delimiter to file. Note! This module needs to be called more than once in order to execute the function. Input parameters:

FU32 File handle for the MS-DOS file as obtained from file open or file create functions

FU33 Number of string. FU34 Number of the bytes that will be written (max). FU35 Delimiter (0..255). 0: delimiter is CR LF,

-1:no delimiter appended Output parameters: FU32 =

0 DONE, function has been executed successfully 200 String driver not found >0 Error, see below.

4.9.1 Operation result codes Most functions will set a status value in a flag word. The status value has following meanings:

Page 175: FST4 Manual

FST Version 4.02.21 Manual

175

-1 BUSY Function not yet completed, 0 OK Function completed successfully, >0 ERROR Function failed to complete successfully, that is an error, value

specifies error type. If the status value is >0 it is regarded an error. 2 File not found 3 Path not found 4 Too many open files 5 Access denied 6 Invalid handle number 12 Invalid access code 100 Invalid parameter 101 Disk full

102 Out of memory

4.10 Strings Version 1.01 The FST string driver makes a new additional data type available: the STRING data type. The default setting provides support for 256 strings. Individual strings are addressed by way of the string number. Strings may contain any characters with the exception of the NULL character (hexadecimal $00). Strings can be as long as necessary within the scope of the set memory requirement. The strings are not retentive.

4.10.1 Configuring the driver and assigning parameters If you want to use strings in an FST IPC project, you must enter the STRINGS driver in the driver configurer and assign the necessary parameters. IPC drive: Specify the drive on which the string driver STRINGS.EXE is located or onto which it is to be loaded. Reserved memory in bytes: Enter the maximum memory capacity to be used for strings. The permissible range is from 5 to 65000 bytes. The default setting is 5 kilobytes. This setting can also be specified or modified using the STRINIT module. Number of strings: Enter the maximum number of strings. The permissible range is from 5 to 1024 strings. The default setting is 256 strings. File with default assignments: Enter the name of the file that contains the initialisation values for the strings. The format of this file is described in the following section.

4.10.2 Initialisation of strings A simple text file is used for initialising strings. The file name must have the extension "TXT". Each line in the file is a string. The first line is string 0. Missing strings are initialised as blank strings. Any new-line characters (CR or LF) in the text file are removed. Special characters are represented by a combination of two characters, the '\' character and another character. The following special characters are possible:

\a alert Bell character (audible signal) \b backspace Move position one character to the left

Page 176: FST4 Manual

FST Version 4.02.21 Manual

176

\f formfeed Form feed (FF) \n linefeed Line feed (LF) \r return New line (CR) \t tab Tabulator character \<no> Hexadecimal definition of a character; <no> must begin with a digit, for example "\0A8" (correct) rather than "\A8" (incorrect). The '\' character is represented by two backslashes: '\\'.

4.10.3 Extended CI commands for strings When strings are used in a project, in other words when the string driver has been loaded, the command set of the CI is supplemented by the string driver. The additional commands for the string driver are shown below. !3Dx Display string x !3Mx=text Set string x with the sequence of characters 'text' !3S Status indication Result "=count=<XX>,storage=<YY>, <ZZ>", where XX = Number of strings YY = Reserved memory capacity ZZ = OK, if string memory is OK, or = BAD, if string memory is defective In these commands, "!3" is the prefix for a CI call in a driver; in this case it is in driver 3 for strings.

4.10.4 Modules for handling strings There is a number of ready- prepared modules, which can be used for handling strings. These must be imported into a project in the usual way. The various strings concerned are specified with the string number. In order to delete string 5, that is to reduce it to length 0, the STRCLR module must be invoked. The STRCLR module may have been imported as CMP 73, for example. In STL the program lines appear as follows: THEN . . . CMP 73 " delete with STRCLR WITH V5 " from string 5 In order to copy string 6 into string 12, the STRCPY module must be invoked. The STRCPY module may have been imported as CMP 74, for example. In STL the program lines appear as follows: THEN . . . CMP 74 " copy with STRCPY WITH R0 " from string with number in R0 WITH V12 " to string 12 Most string modules return a result for error detection. Overview of modules:

Page 177: FST4 Manual

FST Version 4.02.21 Manual

177

STRADDR Determine internal address of a string STRAPPND Append a character at the end of a string STRATOH Convert a hexadecimal string into a word STRATOI Convert a string into a signed word STRATOIX Convert a string into a signed word STRATOU Convert a string into an unsigned word STRCAT Combine two strings in a third string STRCHECK Memory check STRCHGET Extract a character from a string STRCHSET Replace a character in a string STRCI Execute a CI command STRCLR Delete a string STRCMP Compare two strings character by character, differentiating between upper and lower case STRCPY Copy string STRDEL Delete part of a string STRDUMP Display a number of strings STRFILL Create a string with a specified number of identical characters STRFILLW Fill a string with another string, right- or left-justified STRFINDC Find a character in a string STRFINDS Find a substring in a string STRGROW Enlarge the string memory for an individual string STRHTOA Convert a word into a hexadecimal string STRICMP Compare two strings character by character, not differentiating between upper and lower case STRINIT Initialisation or re-initialisation STRINSRT Insert a string into another string STRITOA Convert a signed word into a string STRLEFT Left substring STRLEN Length of a string STRLOWER Convert a string to lower case STRMID Middle substring STRNCMP Compare the first characters of two strings, differentiating between upper and lower case STRNICMP Compare the first characters of two strings, not differentiating between upper and lower case STRRIGHT Right substring STRSTAT Status of string driver STRUPPER Convert a string to upper case STRUSAGE Used and free memory STRUTOA Convert an unsigned word into a string STRADDR Determine the internal address of a string. Input parameters

FU32 Number of the string Return parameters

FU32 Offset of the address 0 if string number is invalid FU33 Segment of the address 0 if string number is invalid As the lengths of the strings concerned are subject to dynamic change, the strings may need to be moved within the string memory. The direct consequence of

Page 178: FST4 Manual

FST Version 4.02.21 Manual

178

this is that after the address of a string has been determined it may change immediately as a result of string operations with other strings. The addresses of strings are therefore to be used under special conditions. STRAPPND Append a character at the end of a string. Input parameters FU32 Number of the string FU34 character to append Return parameters FU32 0 if successful, otherwise error STRATOH Convert a hexadecimal string into a word. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error FU33 Resultant value Space characters and tabulator characters at the beginning and end of the string are allowed. A '$' character before the hexadecimal numeric characters is also allowed. STRATOI Convert a string into a signed word. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error FU33 Resultant value Space characters and tabulator characters at the beginning and end of the string are allowed. A '+' or '-' character before the numeric characters is also allowed. STRATOIX Convert a string into a signed word. Input parameters FU32 Number of the string FU33 String position for the conversion Return parameters FU32 0 if successful, otherwise error FU33 Resultant value FU34 Number of characters used for the conversion Space characters and tabulator characters at the beginning and end of the string are allowed. A '+' or '-' character before the numeric characters is also allowed. STRATOU Convert a string into an unsigned word. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error FU33 Resultant value Space characters and tabulator characters at the beginning and end of the string are allowed. A '+' character before the numeric characters is also allowed. STRCAT Combine two strings in a third string. Input parameters FU32 Number of the first source string FU33 Number of the second source string FU34 Number of the destination string

Page 179: FST4 Manual

FST Version 4.02.21 Manual

179

Return parameters FU32 0 if successful, otherwise error STRCHECK Memory check for the string memory. Input parameters None Return parameters FU32 0 if successful, otherwise error STRCHGET Extract an indexed character from a string. Input parameters FU32 Number of the string FU33 Character index, 1 for first character of the string Return parameters FU32 0 if successful, otherwise error FU33 Extracted character STRCHSET Replace an indexed character in a string. Input parameters FU32 Number of the string FU33 Character index, 1 for first character FU34 Replacement character in lower-order byte Return parameters FU32 0 if successful, otherwise error STRCI Execute a CI command. Input parameters FU32 Number of the string with the CI command FU33 Number of the string for the result of the command Return parameters FU32 0 if successful, otherwise error The string resulting from the command must not be more than 80 characters long. The result of the CI command is not interpreted. STRCLR Delete a string. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error This is the same as clearing a string or reducing its length to 0. STRCMP Compare two strings character by character. Input parameters FU32 Number of the first string FU33 Number of the second string Return parameters FU32 0 if successful, otherwise error FU33 1 if characters in first string > characters in second string 0 if both strings are identical -1 if characters in first string < characters in second string Upper-case and lower-case letters are differentiated. Upper-case letters have a lower value than lower-case letters. STRCPY Copy one string into another string.

Page 180: FST4 Manual

FST Version 4.02.21 Manual

180

Input parameters FU32 Number of the source string FU33 Number of the destination string Return parameters FU32 0 if successful, otherwise error STRDEL Delete part of a string. Input parameters FU32 Number of the string FU33 Index for first character to be deleted, 1 for first character FU34 Number of characters Return parameters FU32 0 if successful, otherwise error STRDUMP Produce a debug output of a series of strings on the monitor of the IPC. Input parameters FU32 Number of the first string FU33 Number of the last string Return parameters None This module should not be used in normal operation. If necessary the extended CI commands of the string driver can be used. STRFILL Create a string with a specified number of identical characters. Input parameters FU32 Number of the string FU33 Number of characters FU34 Filler character Return parameters FU32 0 if successful, otherwise error STRFILLW Fill a string with another string, right- or left-justified. Input parameters FU32 Number of the string to be created FU33 Number of characters for this string >0 for right-justified <0 for left-justified FU34 Number of the string to be transferred Return parameters FU32 0 if successful, otherwise error If the length specified for the string to be created is too short, the resulting string is truncated. STRFINDC Find a character in a string. Input parameters FU32 Number of the string FU33 Character to be found Return parameters FU32 0 if successful, otherwise error FU33 >0 position, 1 for first character 0 if character not found STRFINDS Find a substring in a string. Input parameters FU32 Number of the string in which to search FU33 Number of the substring to be found Return parameters FU32 0 if successful, otherwise error FU33 >0 position, 1 for first character 0 if substring not found STRGROW

Page 181: FST4 Manual

FST Version 4.02.21 Manual

181

Enlarge the string memory for a single string from the available memory. Input parameters FU32 Number of the string FU33 New maximum size of the string in characters (without \0 at the end of the string) Return parameters FU32 0 if successful, otherwise error The existing string is retained unchanged. After this a string with a length up to the maximum length set here can be written to the address determined with STRADDR. Each other invocation of a string module can change the set value again. STRHTOA Convert a word into a hexadecimal string. Input parameters FU32 Value to be converted FU33 Number of the string Return parameters FU32 0 if successful, otherwise error A '$' character is inserted before the four hexadecimal numeric characters. STRICMP Compare two strings character by character. Input parameters FU32 Number of the first string FU33 Number of the second string Return parameters FU32 0 if successful, otherwise error FU33 1 if characters in first string > characters in second string 0 if both strings are identical -1 if characters in first string < characters in second string There is no differentiation between upper- and lower-case letters. STRINSRT Insert a string into another string from a specified position. Input parameters FU32 Number of the string into which the other string is to be inserted FU33 Position before which the string is to be inserted, 1 = before first character FU34 Number of the string that is to be inserted Return parameters FU32 0 if successful, otherwise error STRINIT Set the size of the memory for strings and the maximum number of strings, and reinstate the initialisation values of the strings. Input parameters FU32 Size of the string memory (minimum 1000) FU33 Maximum number of strings (minimum 10) Return parameters FU32 0 if successful, otherwise error STRITOA Convert a signed word into a string. Input parameters FU32 Value to be converted FU33 Number of the string Return parameters FU32 0 if successful, otherwise error If necessary a '-' character is inserted before the numeric characters. STRLEFT

Page 182: FST4 Manual

FST Version 4.02.21 Manual

182

Transfer the left substring of a specified length into a string. Input parameters FU32 Number of the source string FU33 Number of characters FU34 Number of the destination string Return parameters FU32 0 if successful, otherwise error If the source string is shorter than the specified length, the source string is copied. STRLEN Length of a string. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error FU33 Length STRLOWER Convert a string to lowe r case. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error Note! Country-specific characters like Ä, Ö, Ü are not converted. STRMID Convert a middle substring from a specified starting position and of a specified length into a string. Input parameters FU32 Number of the source string FU33 Start character in the source string, 1 for the first character of the source string FU34 Number of characters FU35 Number of the destination string Return parameters FU32 0 if successful, otherwise error If the starting position is not found in the source string, a blank string is produced. If the source string is too short, the destination string is shortened accordingly. STRNCMP Compare the first characters of two strings. Input parameters FU32 Number of the first string FU33 Number of the second string FU34 Number of characters Return parameters FU32 0 if successful, otherwise error FU33 1 if characters in first string > characters in second string 0 if both strings are identical -1 if characters in first string < characters in second string Upper-case and lower-case letters are differentiated. Upper-case letters have a lower value than lower-case letters. STRNICMP Compare the first characters of two strings. Input parameters FU32 Number of the first string FU33 Number of the second string FU34 Number of characters

Page 183: FST4 Manual

FST Version 4.02.21 Manual

183

Return parameters FU32 0 if successful, otherwise error FU33 1 if characters in first string > characters in second string 0 if both strings are identical -1 if character in first string < character in second string There is no differentiation between upper- and lower-case letters. STRRIGHT Transfer a right substring of a specified length to a string. Input parameters FU32 Number of the source string FU33 Number of characters FU34 Number of the destination string Return parameters FU32 0 if successful, otherwise error If the source string is too short, the destination string is shortened accordingly. STRSTAT Query the status of the string driver. Input parameters None Return parameters FU32 The set memory size for strings FU33 Maximum number of strings FU34 Memory used by strings FU35 Free memory remaining STRUPPER Convert a string to upper case. Input parameters FU32 Number of the string Return parameters FU32 0 if successful, otherwise error Note! Country-specific characters like ä, ö, ü are not converted. STRUSAGE Determine the amount of used and free memory for strings. Input parameters None Return parameters FU32 Memory used by strings FU33 Free memory remaining STRUTOA Convert an unsigned word into a string. Input parameters FU32 Value to be converted FU33 Number of the string Return parameters FU32 0 if successful, otherwise error STR2FLAG Copy a string into a flag word area. Input parameters FU32 Number of the string FU33 Maximum number of characters to be copied FU34 Number of the flag word Return parameters FU32 0 if successful, otherwise error FU33 Number of characters actually copied FLAG2STR Copy a flag word area into a string.

Page 184: FST4 Manual

FST Version 4.02.21 Manual

184

Input parameters FU32 Number of the string FU33 Number of characters to be copied FU34 Number of the flag word Return parameters FU32 0 if successful, otherwise error Each flag word contains two characters. The STR2FLAG and FLAG2STR modules are particularly useful in conjunction with the file modules FREAD and FWRITE when it is necessary to write strings to a file. The specified flag word area is used for intermediate storage.

4.11 Screen and Keyboard Version 1.02 The purpose of this driver is to allow the design of a simple, text- based operating interface for projects using the FST IPC software, working directly on the IPC. It is not intended to replace sophisticated user interfaces with this driver. In particular, there are no graphical representations involved or complex windowing, nor even list boxes or such features. The emphasis here is placed clearly on simplicity. For many applications, however, a simple user interface of this kind is entirely adequate. Typical projects, which may be able to use this user interface, would have only a small number of displays for alphanumeric values and would allow only a few inputs or selections to be made.

4.11.1 Introduction The user interface is based on the familiar FST software. It has very much the same look-and-feel as this does. It has a blue frame with a title for the work area, a message line and eight function keys. The method of operating this user interface is similar to that of operat-ing the FST.

The user interface is divided into individual screen pages. The various screen pages are accessed via a number, beginning at 0. Each screen page contains a user- definable number of fixed frames, text blocks, display areas and input fields. Switching from one screen page to another is normally taken care of by the user program in the FST. There are appropriate program modules, which deal with this. All screen pages are independent of each other. The amount of memory space provided allows for up to 50 screen pages, each with a maxi-mum of 50 input fields. All input fields use the string data type from the string driver. There are no dynamic displays. It is an easy matter to create such displays, however, by invoking the SCRWRITE module. It is possible to switch between the FST user interface provided by this driver and the com-mand interpreter of the main runtime program (FSTPCR22). If the necessary extra effort is made, it is also possible to set up special-purpose screen representations (for example to suit particular customer requirements). There is a number of

Page 185: FST4 Manual

FST Version 4.02.21 Manual

185

modules for this purpose, which disregard the conditions that otherwise generally, apply and which access the screen and keyboard directly.

4.11.2 Operation of the user interface The method of operating the user interface is based on that for the FST software. The table below shows the functions of the keyboard but without the standard letters that are entered in the respective input fields. Keyboard Function TAB Move to the next input field ENTER Down Arrow Shift- Move to the previous input field TAB Up arrow HOME Move to the first input field END Move to the last input field BS In overtype mode: one character to the left; in insert mode: delete the char-

acter to the left of the cursor Left One character to the left arrow Right One character to the right arrow INS Toggle between overtype mode (cursor is an underline character) and insert mode (cursor is a block) DEL Delete the character at the position of the cursor Alt-F10 Switch to the screen of the main runtime program (can be deactivated) Processing of the entry of ESC, F1 to F10, CTRL-UP ARROW, CTRL-DOWN ARROW, PAGE-UP, PAGE-DOWN, CTRL- HOME, CTRL-END, CTRL-PAGE-UP and CTRL-PAGE-DOWN must be dealt with by the user program. All inputs of standard characters (letters and digits) are made directly into the various strings that are provided for each input field.

4.11.3 Functionality If necessary, strings assigned for input fields are shortened to the maximum length of the defined input field. In the case of input fields for passwords, the length is reduced to zero before editing; i.e. the string is deleted. It is possible to switch between the FST user interface and the command interpreter of the runtime main program. This can be done in two ways: either directly via the keyboard or by the user program in the FST via the SCRFLIP module: In the CI: The F command switches to the current screen page.

Page 186: FST4 Manual

FST Version 4.02.21 Manual

186

The D command switches to a specifiable page. Switching by a program: The SCRFLIP module switches between the current page of the user interface and the run-time main program. The SCRXCHG module switches between the pages of the user interface. To switch to the screen of the main runtime program from the screen page itself: Enter ALT-F10 on the keyboard (this function can be deactivated). Note! The string driver is a prerequisite and is always used for handling strings.

4.11.3.1 Attributes The FST software makes use of several standardised colour attributes for representing parts of the screen. These standard attributes are accessible via a numbering system. Number Attribute 0 Normal screen attribute 1 Highlighting screen attribute 2 Attribute of the frame 3 Attribute of edited fields 4 Attribute of function keys 5 Attribute of the message line 6 Attribute of the message line in the event of errors In some cases the attribute can be freely chosen. It consists of one word (16 bits); its higher-order byte contains the attribute and its lower-order byte must be equal to zero. The higher-order byte contains the following: Bits Use 0 to 7 Always 0 8 to 11 Foreground colour 0 = black, 1 = blue, 2 = green, 3 = cyan, 4 = red, 5 = magenta, 6 = brown, 7 = light grey, 8 = dark grey, 9 = light blue, 10 = light green, 11 = light cyan, 12 = light red, 13 = light magenta, 14 = yellow, 15 = white 12 to 14 Background colour 0 = black, 1 = blue, 2 = green, 3 = cyan, 4 = red, 5 = magenta, 6 = brown, 7 = light grey

Page 187: FST4 Manual

FST Version 4.02.21 Manual

187

15 = 0 for normal display = 1 for flashing display This means, for example, that the attribute $9E (= $80 + $10 +$0E) is the attribute for flash-ing display of yellow characters on a blue background.

4.11.3.2 Feature flags The following properties can be set with the use of feature flags. B V Meaning i a t l u e 0 0 ALT-F10 switching enabled 1 ALT-F10 switching disabled 1 0 Normal use of the keyboard 1 Direct reading of the keyboard for special applications 2 0 Normal use of the keyboard 1 Reading of the keyboard with handshake via SCRKBD 3 0 No automatic activation 1 Automatic activation (== ACTIVATE) 15 Set by the driver in the event of syntax errors If bit 2 is set (handshake with SCRKBD), it must be ensured that all inputs will be picked up by the user program because otherwise input will be blocked. Bit 15 is set by the driver during processing of the initialisation data.

4.11.4 Configuring the driver and assigning parameters If you want to use the screen driver in an FST IPC project, you must enter the SCREEN driver in the driver configurer and assign the necessary parameters. The driver for the user inter-face makes internal use of the driver for strings. This driver must therefore also be config-ured. IPC drive: Specify the drive on which the screen driver SCREEN.EXE is located or onto which it is to be loaded. Screen type: Here you must specify the type of video card that is connected: CGA CGA card with 80x25 characters MGA MGA card with 80x25 characters HGC HGC card with 80x25 characters EGA EGA card with 80x25 characters VGA VGA card with 80x25 characters BG20 BG20 on the IPC with 40x30characters The default setting is CGA. File with screen layout [.TXT]: Here you must specify the name of the file that contains the data for initialising the user interface.

Page 188: FST4 Manual

FST Version 4.02.21 Manual

188

4.11.5 Initialising the user interface In principle the user interface does not require any initialisation data because it can be configured and parameterised entirely via modules during execution of the user program. It is however considerably simpler and clearer, as well as being more economical with avail-able space, to carry out initialisation with separate files intended solely for this purpose.

4.11.5.1 Initialising the user interface in text form The text form supports the syntax described in the following. Each line may contain only one statement relating to the screen layout. Lines beginning with a semicolon ‘;’ are comments. Blank lines may be inserted to improve readability. A statement consists of one keyword and a larger or smaller number of additional parameters, depending on the type of statement. Additional comments after a complete statement in the same line as the statement itself are allowed, but they must also begin with ‘;’. There are two types of statement: initialisation statements and statements for the definition of screen pages. Initialisation statements must always be placed before the statements for screen pages. Numeric values must always be specified in decimal form. Strings are e n-closed between single or double quotation marks, such as in ‘Text’ or "Text". Strings for the titles of frames must contain the usual FST characters, such as in "[ Title ]". Initialisation statements ACTIVATE Display on the screen is activated immediately after the project is loaded. FEATURE_FLAGS <value> The feature flags are set to the value that is passed here. As the feature flags also contain the ACTIVATE flag, it is necessary either to leave out ACTIVATE or to place it after FEATURE_FLAGS. The meanings of the individual bits of the feature flags are explained above.

4.11.5.2 Statements for screen pages SCREEN <string> SCREEN_INITIAL <string> Start of the definition of a screen page with its title. The SCREEN_INITIAL statement must not be used more than once, because only one page can be the first page. TEXT <X position> <Y position> <attribute> <string> For display of non-varying text on the screen page. If the X position is negative, the text is displayed such that the string ends at the specified position (right-justified). TEXT_STRING <X position> <Y position> <attribute> <string number> TEXT_SIGNED <X position> <Y position> <attribute> <flag word number> TEXT_UNSIGNED <X position> <Y position> <attribute> <flag word number> TEXT_HEXWORD <X position> <Y position> <attribute> <flag word number> For display of the contents of a string or of a flag word as a signed value, an unsigned value or a hexadecimal value. When the hexadecimal form is used, there are always 4 characters displayed. Unwanted characters may need to be overwritten. A typical situation is display of a short string at a position that previously contained a longer string. If the X position is negative, the text is displayed such that the string ends at the specified position (right- justified). MESSAGE <string> MESSAGE_ERROR <string>

Page 189: FST4 Manual

FST Version 4.02.21 Manual

189

Display for the message line; a maximum of 78 characters. In the case of MESSAGE_ERROR the display is made with the attribute for error messages. FUNCTION_KEY <key number> <upper string> <lower string> Strings for the upper and lower halves of a label for a function key, each consisting of up to 8 characters.

INPUT_STRING <X position> <Y position> <width> <string number> INPUT_PASSWORD <X position> <Y position> <width> <string number> Definition of a positioned input field. All inputs are made in strings. These must then be evaluated by the user program by means of appropriate string functions. For details refer to the description of the string driver. The width specified here is the maximum length of the edited string, and the string number indicates the number of the string (in the string driver) that is used for the edited string. When INPUT_PASSWORD is used, the contents of the string are not displayed.

FRAME <X position> <Y position> <width> <height> <string for title> For drawing a frame, positioned with the top left-hand corner (x,y) and a frame title. Even if the title is blank it must be specified. The title must not be longer than the specified width less two. Example Below is a simple example consisting of three screen pages for the production of an ex-traordinarily important basic foodstuff for mankind. ; default settings FEATURE_FLAGS 1 ACTIVATE ; screen 0, first screen SCREEN_INITIAL "[ Chewing Gum Production ]" TEXT 30 10 0 "Chewing Gum Production is Ready" FUNCTION_KEY 1 "START" "" ; screen 1, interrogation of production quantity SCREEN "[ Chewing Gum Production ]" TEXT 20 10 0 "How many?" INPUT_STRING 45 10 5 1 FUNCTION_KEY 1 "START" "SYSTEM" FUNCTION_KEY 2 "STOP" "SYSTEM" ; screen 2, error SCREEN "[ Chewing Gum Production ]" TEXT 20 10 1 "Production Interrupted" MESSAGE_ERROR "Nothing Works Without Gum" FUNCTION_KEY 1 "continue" "" Switching between the individual screen pages and evaluation of the input of the production quantity takes place within the control program and is not shown here.

4.11.6 Extended CI commands for the user interface This driver includes a command interpreter add-on to allow operation of the user interface via the command interpreter.

Page 190: FST4 Manual

FST Version 4.02.21 Manual

190

The additional commands are as follows: !4F Toggle between the user interface and the screen of the main runtime program (flip display). Within the user interface you can switch back to the screen of the main runtime program via the keyboard by pressing ALT-F10 (this function can be deactivated). The response returned is "=0" when the system switches to the screen of the runtime main program, and "=1" is returned when the system switches to the screen of the user interface. !4Dx Select screen page x. The response returned is "=0" if it was not possible to select the page, whereas "=1" is returned if the system succeeds in switching to the specified screen of the user interface. !4S Status output. If the screen of the main runtime program is currently displayed, the response that is re-turned is "=0,<feature flags>,<number of pages>". If a page of the user interface is displayed, the response is "=1,<feature flags>,<number of pages>,<page number>". In these commands, "!4" is the prefix for a CI call in a driver; in this case it is in driver 4 for the user interface.

4.11.7 Modules for accessing the user interface There is a number of ready- prepared modules that can be used for operating the user interface. These must be imported into a project in the usual way, where they can be used as CFMs or CMPs. Overview of modules SCRATTR Calculate screen attribute SCRCLEAR Clear screen SCRCUGPO Determine current position of cursor SCRCUSPO Set current position of cursor SCRCUTYP Set cursor type SRCDOKEY Execution of a keyboard input SCREDIT Add an input field SCREKBD Clear keyboard buffer SCRFILL Fill an area with space characters SCRFKEY Specify the label of a function key SCRFLAGS Set feature flags SCRFLIP Toggle between screen page a nd FST CI SCRFRAME Draw a frame SCRKBD Interrogate the last input on the keyboard SCRMSG Display a string in the message line SCRNEW Draw a new, blank screen SCRPUTS Write a string at a set position on the screen SCRUPDT Refresh screen contents SCRWRITE Write a string at a set position on the screen SCRW0808 8x8 block characters SCRW0814 8x14 block characters SCRXCHG Switch between screen pages The SCRCLEAR and SCRPUTS modules should not be used unless absolutely necessary because they circumvent the check for an activated screen page. SCRATTR Calculate screen attribute Input parameters FU32 Foreground colour FU33 Background colour

Page 191: FST4 Manual

FST Version 4.02.21 Manual

191

FU34 Flashing option if not equal to 0 Output parameters FU32 Attribute SCRCLEAR Clear screen. Input parameters None Output parameters None This module should be used for special applications only and also works on the screen of the runtime main program. The module is not necessary for normal applications. SCRCUGPO Determine current position of cursor. Input parameters None Output parameters FU32 X starting position, column, 0 to 79, in the case of errors -1 FU33 Y starting position, line, 0 to 23, in the case of errors -1 This module should be used for special applications only and also works on the screen of the runtime main program. The module is not necessary for normal applications. SCRCUSPO Set current position of cursor. Input parameters FU32 X starting position, column, 0 to 79 FU33 Y starting position, line, 0 to 23 Output parameters None This module should be used for special applications only and also works on the screen of the runtime main program. The module is not necessary for normal applications. SCRCUTYP Set cursor type. Input parameters FU32 0 = No cursor 1 = Underline cursor 2 = Block cursor Output parameters None This module should be used for special applications only and also works on the screen of the runtime main program. The module is not necessary for normal applications. SCRDOKEY Execution of a keyboard input. Input parameters FU32 Keyboard input Output parameters None This module should be used for special applications only and also works on the screen of the runtime main program. The module is not necessary for normal applications. SCREDIT Add an input field. Input parameters FU32 X position FU33 Y position FU34 Width FU35 = 0, standard input field = 1, input field for password (string not visible) FU36 String number Output parameters FU32 = 0 if display appears

Page 192: FST4 Manual

FST Version 4.02.21 Manual

192

= -1 if the position is not admissible, the string does not exist or the user interface is not activated

Before editing is carried out, the string that is passed is shortened to the maximum length as specified in width. In the case of non-visible strings for passwords, the string is deleted before editing (length 0). The SCREDIT module adds an input field to the current screen. This is not retained after switching to a different screen page, however. SCREKBD Clear keyboard buffer Input parameters None Output parameters None SCRFILL Fill an area with space characters. Input parameters FU32 X starting position, column, 0 to 79 FU33 Y starting position, line, 0 to 24 FU34 Width, >= 1 FU35 Height, >= 1 FU36 Attribute Output parameters FU32 = 0 if display appears = -1 if position is not admissible or the user interface is not activated SCRFKEY Specify the label of a function key. Input parameters FU32 Number of the function key, 1 to 8 FU33 Number of the string for the upper half of the function key FU34 Number of the string for the lower half of the function key Output parameters FU32 = 0 if display appears

= -1 if the string does not exist, the number of the function key is not admissible or the user interface is not activated

Each function key has an upper and a lower string. Each string may contain up to 8 charac-ters. SCRFLAGS Set properties of the user interface (feature flags). Input parameters FU32 0 = Interrogate current setting 1 = New setting If FU32 = 1 FU33 Feature flags Output parameters FU32 Current setting of the feature flags The basic setting is 0. SCRFLIP Toggle the screen display between the currently selected screen page in this driver and the screen of the main runtime program FSTPCR22. Input parameters FU32 0 FSTPCR22 screen 1 Currently selected screen page in this driver Output parameters None SCRFRAME

Page 193: FST4 Manual

FST Version 4.02.21 Manual

193

Draw a frame. Input parameters FU32 X starting position, column, 0 to 78 FU33 Y starting position, line, 0 to 23 FU34 Width, >= 2 FU35 Height, >= 2 Output parameters FU32 = 0 if display appears = -1 if position is not admissible or the user interface is not activated SCRKBD Interrogate the last input on the keyboard. Input parameters None Output parameters FU32 = 0 if no input is available <>0 last input Currently the following inputs are supported. Key Hexadecimal Low-order byte Decimal ESC 001B 27 Character codes F1 013B 315 Scan codes F2 013C 316 F3 013D 317 F4 013E 318 F5 013F 319 F6 0140 320 F7 0141 321 F8 0142 322 F9 0143 323 F10 0144 324 PAGE UP 0149 329 PAGE DOWN 0151 337 CTRL ARROW LEFT 0173 371 CTRL ARROW RIGHT 0174 372 CTRL END 0175 373 CTRL PAGE DOWN 0176 374 CTRL HOME 0177 375 CTRL PAGE UP 0184 388 If direct reading of the keyboard is activated (feature flags bit 1 = 1), all inputs are returned without processing. Normal processing can be carried out using the SCRDOKEY module. SCRMSG Display a string in the message line, optionally as an error message. Input parameters FU32 Number of the string to be displayed FU33 0 for normal display 1 for an error message Output parameters FU32 = 0 if display appears = -1 if the string does not exist or the user interface is not activated To delete the message line, use a blank string. SCRNEW Draw a new, blank screen in the same way as FST. Input parameters None Output parameters None

Page 194: FST4 Manual

FST Version 4.02.21 Manual

194

This module should only be used if the option of initialisation is not used but instead the screen is built directly by programming in the user program. SCRPUTS Write a string at a set position on the screen. Input parameters FU32 Number of the string to be displayed FU33 X starting position, column, 0 to 79 FU34 Y starting position, line, 0 to 24 FU35 0 for normal display 1 for highlighted display Output parameters FU32 = 0 if display appears

= -1 if the string does not e xist, the position is invalid or the user interface is not activated

This module should be used for special applications only and also works on the screen of the runtime main program. The module is not necessary for normal applications. SCRUPDT Refresh screen contents. Input parameters None Output parameters None The only items redisplayed are data from the operand memory and strings, but not edited strings. SCRWRITE Write a string at a set position on the screen Input parameters FU32 Number of the string to be displayed FU33 X starting position, column, 0 to 79 or negative FU34 Y starting position, line, 0 to 24 FU35 0 for normal display 1 for highlighted display Output parameters FU32 = 0 if display appears

= -1 if the string does not exist, the position is invalid or the user interface is not activated

If the X position is negative, the string is displayed in such a way that it ends at the specified position (right-justified). SCRW0808 Write a string comprising large 8x8 block characters at a set position on the screen. Input parameters FU32 Number of the string to be displayed FU33 X starting position, column, 0 to 72 or negative FU34 Y starting position, line, 0 to 14 FU35 0 for normal display 1 for highlighted display Output parameters FU32 = 0 if display appears

= -1 if the string does not exist, the position is invalid or the user interface is not activated

If the X position is negative, the string is displayed in such a way that it ends at the specified position (right-justified). Internally the module uses the string with the number 0 as an interim storage location. SCRW0814 Write a string comprising large 8x14 block characters at a set position on the screen. Input parameters FU32 Number of the string to be displayed

Page 195: FST4 Manual

FST Version 4.02.21 Manual

195

FU33 X starting position, column, 0 to 72 or negative FU34 Y starting position, line, 0 to 8 FU35 0 for normal display 1 for highlighted display Output parameters FU32 = 0 if display appears

= -1 if the string does not exist, the position is invalid or the user interface is not activated

If the X position is negative, the string is displayed in such a way that it ends at the specified position (right-justified). Internally the module uses the string with the number 0 as an interim storage location. SCRXCHG Switch between the predefined screen pages in the driver. Input parameters FU32 Number of the screen page, indexing from 0 Output parameters None The predefined screen pages are transferred from the project on startup of the runtime main program. This module does not switch (flip) between the screen page of the user interface and the screen of the runtime main program.

4.11.8 Complete example A complete (though simple) example of the application of the user interface is shown below. It relates to a hypothetical production plant for chewing gum. The program uses four screen pages. Screen Purpose and program status 0 Basic screen for STEP screen_0 1 Ask for production quantity in STEP screen_1 2 Status of production in STEP screen_2, production is simulated using timer

T0 3 Screen for system fault in STEP screen_3 The script for the definition of the screen pages is given below. ; default settings FEATURE_FLAGS 1 ACTIVATE ; screen 0 SCREEN_INITIAL "[ Chewing Gum Production ]" TEXT 20 7 0 "The Most Important Food in the World" TEXT 30 10 40704 " CHEWING GUM " TEXT 22 15 0 "Chewing Gum Production is Ready." FUNCTION_KEY 1 "START" "" ; screen 1 SCREEN "[ Chewing Gum Production ]" TEXT 15 10 0 "How many?" INPUT_STRING 30 10 5 1 FUNCTION_KEY 1 "START" "" ; screen 2 SCREEN "[ Chewing Gum Production ]"

Page 196: FST4 Manual

FST Version 4.02.21 Manual

196

TEXT 25 9 0 "requested" TEXT 25 11 0 "produced" TEXT_UNSIGNED -42 9 0 1 FUNCTION_KEY 2 "STOP" "" ; screen 3 SCREEN "[ Chewing Gum Production ]" TEXT 26 10 1 "Missing Liquid Rubber." MESSAGE_ERROR " No Chewing without Rubber." FUNCTION_KEY 1 "continue" "" In the basic settings it is established that it is not to be permitted to switch from a screen page to the screen of the runtime main program. As far as the plant operating staff is con-cerned, therefore, the CI is not accessible. For the automation engineer, on the other hand, the CI can be reached at any time via a connected host. The program for the production plant is listed below. It was not considered necessary to show the allocation list in this context. 0001 "" Chewing Gum Production 0002 0003 "" a trivial example for string and screen driver 0004 0005 "" Dr. F. Haase, D 40597 Düsseldorf 0006 0007 0008 "" ----------------------------------------------------------------------- 0009 0010 STEP Init (1) " some initial settings 0011 0012 THEN LOAD K315 " value for F1 key 0013 TO F1_KEY 'value for F1 key 0014 0015 LOAD K316 " value for F2 key 0016 TO F2_KEY 'value for F2 key 0017 0018 LOAD K0 " value of zero 0019 TO ZERO 'zero value 0020 0021 0022 "" ----------------------------------------------------------------------- 0023 0024 STEP Screen_0 (2) " initial screen 0025 0026 THEN CMP 1 'SCRKBD 0027 0028 LOAD PARAM_1 'returned parameter 1 0029 TO KEYSTROKE 'the obvious 0030 0031 IF KEYSTROKE 'the obvious 0032 = F1_KEY 'value for F1 key 0033 0034 THEN LOAD ZERO 'zero value 0035 TO AMOUNT 'amount to produce

Page 197: FST4 Manual

FST Version 4.02.21 Manual

197

0036 TO NPRODUCED 'produced so far 0037 0038 CMP 2 'SCRXCHG 0039 WITH K1 " flip to screen 1 0040 0041 0042 "" ----------------------------------------------------------------------- 0043 0044 STEP Screen_1 (3) " request amount 0045 0046 THEN CMP 1 'SCRKBD 0047 0048 LOAD PARAM_1 'returned parameter 1 0049 TO KEYSTROKE 'the obvious 0050 0051 IF KEYSTROKE 'the obvious 0052 = F1_KEY 'value for F1 key 0053 0054 THEN CMP 5 'STRATOU 0055 WITH K1 "convert user input in string 1 0056 0057 LOAD PARAM_1 'returned parameter 1 0058 TO NERROR "0 if a valid unsigned number 0059 0060 LOAD PARAM_2 'returned parameter 2 0061 TO AMOUNT "user input value, amount to produce 0062 0063 IF " ? user input valid 0064 ( NERROR 'error flag word 0065 = ZERO ) " has to be zero 0066 AND ( AMOUN 'amount to produce 0067 > ZERO ) " should be > 0 0068 0069 THEN CMP 2 'SCRXCHG 0070 WITH K2 " flip to screen 2 0071 0072 " timer 0 for production simulation 0073 LOAD K100 " 1 sec 0074 TO TV0 " to produce a single chewing gum 0075 0076 SET T0 " start timer (i.e. production) 0077 0078 0079 "" ----------------------------------------------------------------------- 0080 0081 STEP Screen_2 (4) " production display 0082 0083 THEN CMP 1 'SCRKBD 0084 0085 LOAD PARAM_1 'returned parameter 1 0086 TO KEYSTROKE 'the obvious 0087 0088 IF KEYSTROKE 'the obvious

Page 198: FST4 Manual

FST Version 4.02.21 Manual

198

0089 = F2_KEY 'value for F2 key 0090 0091 " stop production 0092 THEN CMP 2 'SCRXCHG 0093 WITH K0 " flip to screen 0 0094 0095 JMP TO Screen_0 (2) 0096 0097 IF N T0 " 1 sec elapsed, simulate production 0098 0099 THEN INC NPRODUCED 'produced so far 0100 0101 CMP 3 'STRUTOA 0102 WITH NPRODUCED 'produced so far 0103 WITH K2 " to string 2 0104 0105 CMP 4 'SCRWRITE 0106 WITH K2 " string 2 0107 WITH K-42 " X 0108 WITH K11 " Y 0109 WITH K1 " highlighted attribute 0110 0111 SET T0 " start again 0112 0113 IF " ? done 0114 NPRODUCED 'produced so far 0115 > AMOUNT 'amount to produce 0116 0117 THEN CMP 2 'SCRXCHG 0118 WITH K0 " flip to screen 0 0119 0120 JMP TO Screen_0 (2) " done, back 0121 0122 IF PLANTERR'error in plant 0123 0124 THEN CMP 2 'SCRXCHG 0125 WITH K3 " flip to screen 3 0126 0127 0128 "" ----------------------------------------------------------------------- 0129 0130 STEP Screen_3 (5) " error display 0131 0132 THEN CMP 1 'SCRKBD 0133 0134 LOAD PARAM_1 'returned parameter 1 0135 TO KEYSTROKE 'the obvious 0136 0137 IF ( KEYSTROKE 'the obvious 0138 = F1_KEY ) 'value for F1 key 0139 0140 AND N PLANTERR'error in plant 0141

Page 199: FST4 Manual

FST Version 4.02.21 Manual

199

0142 THEN CMP 2 'SCRXCHG 0143 WITH K2 " flip to screen 2 0144 0145 SET T0 " restart timer 0146 0147 JMP TO Screen_2 (4) " continue production In the example, the steps and the screens are synchronised with each other. In real-world situations a somewhat more complex method of synchronising will be required. In such cases it is worth separating the actual automation tasks and representation on the screen into two different programs. In order to save on computing time for screen display, the program for this can be started as a cyclical program, for example every 500 msec (cf. func-tion module F4).

4.11.9 Special applications For the purposes of this driver for user interfaces, special applications are applications where representation and operation do not follow the rules of the FST software but instead are supposed to follow different rules, which are usually customer-specific. Bit 1 must be set in the FEATURE_FLAGS. This is done with the SCRFLAGS module. Representation on the screen is then created with two modules. SCRCLEAR Clear screen SCRCUGPO Determine current position of cursor SCRCUSPO Set current position of cursor SCRCUTYP Set cursor type SCRPUTS Write a string at a set position on the screen These modules should be used for special applications only and also work on the screen of the runtime main program. The modules are not necessary for normal applications. The module for keyboard interrogation returns all inputs from the keyboard. SCRKBD Interrogate the last input on the keyboard You can be returned to normal further processing via the SCRDOKEY module.

SCRDOKEY Process input from the keyboard

4.12 32-Bit Arithmetic These modules allow performing arithmetic operations on 32 bit values that are hold in two 16-bit FST operands. Overview LADD Addition of 32-bit values. LCMP Comparison of 32-bit values. LDIV Division of 32-bit values. LMUL Multiplication of 32-bit values. LNEG Change of sign for a 32-bit value. LSUB Subtraction of 32-bit values. LADD Addition of 32-bit values. Input parameters FU32 Low word of the 1st operand FU33 High word of the 1st operand

Page 200: FST4 Manual

FST Version 4.02.21 Manual

200

FU34 Low word of the 2nd operand FU35 High word of the 2nd operand Output parameters FU32 Low word of the result FU33 High word of the result LCMP Comparison of 32-bit values. Input parameters FU32 Low word of the 1st operand FU33 High word of the 1st operand FU34 Low word of the 2nd operand FU35 High word of the 2nd operand Output parameters FU32 Result in bit form $xx01 1st operand < 2nd operand (signed) $xx02 1st operand == 2nd operand (signed) $xx04 1st operand > 2nd operand (signed) $01xx 1st operand < 2nd operand (unsigned) $02xx 1st operand == 2nd operand (unsigned) $04xx 1st operand > 2nd operand (unsigned) LDIV Division of 32-bit values (result = 1st operand / 2nd operand). Input parameters FU32 Low word of the 1st operand FU33 High word of the 1st operand FU34 Low word of the 2nd operand FU35 High word of the 2nd operand Output parameters FU32 Low word of the result FU33 High word of the result LMUL Multiplication of 32-bit values. Input parameters FU32 Low word of the 1st operand FU33 High word of the 1st operand FU34 Low word of the 2nd operand FU35 High word of the 2nd operand Output parameters FU32 Low word of the result FU33 High word of the result LNEG Change of sign for a 32-bit value. Input parameters FU32 Low word of the operand FU33 High word of the operand Output parameters FU32 Low word of the result FU33 High word of the result LSUB Subtraction of 32-bit values (result = 1st operand - 2nd operand). Input parameters FU32 Low word of the 1st operand FU33 High word of the 1st operand FU34 Low word of the 2nd operand FU35 High word of the 2nd operand Output parameters FU32 Low word of the result FU33 High word of the result

Page 201: FST4 Manual

FST Version 4.02.21 Manual

201

4.13 Incremental Encoder This program module has been designed to use the incremental encoder module IM2x for your FST IPC projects. Import The module IM2X needs to be imported to your project as a program module (e.g. CMP 0). Functions of the IM2x module Overview Function (passed in FE33) -1 Init/Reset counters 0 Read counter registers (values) 1 Load counter 1 with new value 2 Load counter 2 with new value 3 Load counter 3 with new value

4.13.1 Init/Reset Input parameters FU32 KSW setting (1 or 2) FU33 -1 FU34 Operating mode (see table below) Output parameters FU32 Current status of counter 1 FU33 Current status of counter 2 FU34 Current status of counter 3 The numbers 1, 2 and 4 in the following table refer to 1-, 2- or 4-edge counting on the given channel. If only a single number is specified for two channels this means that they are cas-caded. Please consult the IM20/IM21 data sheets for more details and operating modes. It is, however, not possible to use the IRQ possibilities of the IM2x hardware with this software module. Mode (hex) Channel 1 Channel 2 Channel 3 $1124 1 1 1 $1125 2 1 1 $112D 2 2 1 $116D 2 2 2 $1126 4 1 1 $112E 4 2 1 $116E 4 2 2 $1136 4 4 1 $1176 4 4 2 $11B6 4 4 4 $1320 1 1 $1360 1 2 $13A0 1 4 $1321 2 1 $1361 2 2 $13A1 2 4 $1322 4 1 $1362 4 2 $13A2 4 4

4.13.2 Read counter registers (values) Input parameters FU32 KSW setting (1 or 2)

Page 202: FST4 Manual

FST Version 4.02.21 Manual

202

FU33 0 Output parameters FU32 Current status of counter 1 FU33 Current status of counter 2 FU34 Current status of counter 3

4.13.3 Load counter 1 with new value Input parameters FU32 KSW setting (1 or 2) FU33 1 FU34 New given counter value for counter 1 Output parameters FU32 Current status of counter 1 FU33 Current status of counter 2 FU34 Current status of counter 3

4.13.4 Load counter 2 with new value Input parameters FU32 KSW setting (1 or 2) FU33 2 FU34 New given counter value for counter 1 Output parameters FU32 Current status of counter 1 FU33 Current status of counter 2 FU34 Current status of counter 3

4.13.5 Load counter 3 with new value Input parameters FU32 KSW setting (1 or 2) FU33 3 FU34 New given counter value for counter 3 Output parameters FU32 Current status of counter 1 FU33 Current status of counter 2 FU34 Current status of counter 3

Page 203: FST4 Manual

FST Version 4.02.21 Manual

203

4.14 Fast counters The last two inputs of the second group of the FEC Compact (I1.2 and I1.3) as well as the first two inputs of HC0x (I0.0 and I0.1) can be used as 1 or 2 independent, high-speed counters. Still the inputs can be read as standard inputs. For the FEC Standard series the following inputs are used:

FC4xx, FC5xx - I1.6 and I1.7 FC6xx - I3.6 and I3.7 These counters are interrupt driven and once activated, operate independently of the user’s control programs and therefore are not affected by factors such as control program scan time.

4.14.1 Using the module FECCNTR The program module provides functions for:

• Defining the operating parameters of each Counter • Activating each Counter • Resetting each Counter • Checking the status and current value of each Counter • Upon achieving the preset value, the fast counter module can be configured to e i-

ther: • Modify an output word (OW) • Start a defined program • Modify an output word (OW) and Start a defined program.

Each fast counter can be independently defined for automatic or manual restarting.

4.14.2 Required drivers You need to include the driver FECCCNTR to you driver configuration of your project. And use the "Import Module" function to add the FECCNTR module to your control project. Using the Fast Counter Module The Fast Counter module is easily accessed from either Statement List or Ladder Diagram programs using conventional FST program module syntax. The following sections present the various functions provided by the Fast Counter module.

4.14.3 Reset of a Fast Counter input parameters FU32 0 = reset of counter defined in FU33 FU33 0 = counter 0 1 = counter 1 output parameters none This function provides a means to deactivate a Fast Counter. No harm will occur if a non-active Fast Counter is Reset. Example: IF ... " User defined conditions THEN SET CMPx " Call Fast Counter module WITH V0 " Specify RESET function WITH Vy " Specify which Fast Counter: " y=0: first counter " y=1: second counter

4.14.4 Defining the operation of a Fast Counter input parameters FU32 1 = parameter settings of counter defined in FU33 (only possible if the counter is inactive)

Page 204: FST4 Manual

FST Version 4.02.21 Manual

204

FU33 0=first counter 1=second counter FU34 counter preselect value (16-bit decimal or HEX) (range 0 ...65535, $0...$FFFF) FU35 define desired action when preselected count value is reached. 0 = no activities (default) 1 = modify an output word 2 = start a program 3 = start a program and modify an output word FU36 high byte = program number low byte = output word number All values must be specified in HEX. Example: program no. 12, output word no. 0: $0C00 FU37 high byte = output mask low byte = value (set or reset) All values must be specified in HEX. Example: set output x.7, outputs x.0...x.6 unchanged: $8080 set output x.7, outputs x.0...x.6 are reset: $FF80 FU38 0 = no automatic restart of a counter 1 = automatic restart of a counter output parameters none This function provides the means to define how each of the Fast Counters will operate. This function should only be called before a Fast Counter is activated or use the Reset function prior to calling this function. Each valid input signal pulse is summed and upon reaching this preselect value, the action defined in parameter 4 will be performed. Four choices are permitted: No action is taken. 2. A specified digital output word (OW) is be modified 3. A specified Statement List or Ladder Diagram program is started A specified digital output word is modified AND a specified program is started. Parameter 5 serves to further define the action(s) specified in parameter 4. This parameter must be specified in hexadecimal format whereby the high byte indicates the program number (to start) and the low byte indicates the output word to be modified. If parameter 4 <> V3, then either or both unused bytes are simply ignored. Examples: V$0600 specifies output word (OW) 0 and program 6. V$0901 specifies output word (OW) 1 and program 9. Parameter 6 only has meaning if Parameter 5 was assigned a value of 1 or 3, indicating that a defined output word (OW) is to be modified when the defined Fast Counter reaches the preselect value. This parameter must be specified in hexadecimal format whereby the high byte indicates the output "mask" to apply while the low byte, which bits within the specified output word (OW) are to be Set or Reset. By separating these values, the user can separately specify which bits are enabled or disabled from modification.

Page 205: FST4 Manual

FST Version 4.02.21 Manual

205

Examples: V$8080 Set output x.7, leave outputs x.0 - x.6 untouched V$FF01 Set output x.0, reset outputs x.1 - x.7 Parameter 7 allows the programmer to decide whether or not the specified Fast Counter should be automatically restarted after having reached the preselected value.

4.14.5 Starting a Fast Counter input parameters FU32 2= start of counter defined in FU33 FU33 0 = first counter 1 = second counter output parameters none This function provides a means to activate a Fast Counter. Before this function is called, the Fast Counter should first be defined. Note! If you have started a Fast Counter (without Auto-Restart enabled) and the counter value reaches the preselect value, you must Reset the counter before attempting to start the counter again.

4.14.6 Status of a Fast Counter input parameters FU32 3 = status of counter defined in FU33 FU33 0 = first counter 1 = second counter return parameters FU32 Status 0 = counter active 1 = counter inactive FU33 current fast counter value FU34 always 0 This function allows the application program to check the status of a Fast counter. The status will be equal to V1 in only if ALL of the following conditions are true: The Fast Counter has been configured AND the preselected count was reached AND Auto-Restart is NOT enabled. In all other cases FU32 returns V0. Example: IF ... " User defined conditions THEN SET CMPx " Call Fast Counter module WITH V3 " Specify Status function WITH Vy " Specify which Fast Counter to check " Now check results... IF (FU32 = V0) " Then counter is still active THEN ... " User defined actions LOAD FU33 " Get current counter value and TO R21 " Save it in Register 21

4.15 Positioning This program module adds support for stepper and servo motors (AM1x and AM20) to your FST IPC projects.

4.15.1 Import Import the module AMXX into your project using Project Management - > Import File etc. You now have available a function module which expects some input (up to 7 integers) and produces some output (up to 7 integers) via FU32 .. FU38.

Page 206: FST4 Manual

FST Version 4.02.21 Manual

206

The module does not really check whether the given parameters fall within the allowed value range. You will have to look into the current AM1x and AM20 documentation to get an idea about allowed ranges.

4.15.2 How to use the module The first input parameter is always the command number (i.e. 0 for get status, 1 for move absolute, 2 for move relative etc.), the second parameter is always the motor number. Supported are motor numbers from 1 up to 12, where motor 1 will always correspond to S0 on the module with switch selector 1, motor 2 will always correspond to S1 on the module with switch selector 1, motor 3 will always correspond to S0 on the module with switch selector 2 etc. Motor KSW Label 1 1 S0 2 1 S1 3 2 S0 4 2 S1 ... ... ... 11 6 S0 12 6 S1 The first return parameter (FU32) is always a status value. Additional parameters are returned if the command was a request for information.

4.15.3 Overview FU32 Function 0 Get status 1 Move absolute 2 Move relative 3 Reference move 4 Override speed 10 Configure polarity 11 Configure start speed and acceleration 12* Set PID values 13 Set actual position 14* Set positioning parameters 15* Set DA output polarity (AM20 < S2.2) 16* Set P division (AM20 > S2.2) 17* Polarity for counting of increments (AM20 >= 2.2) 18* Multiply acceleration by 16 (AM20 >= 2.3) 19* Set Offset for D/A converter 20 Reset module 21 Stop motor 22* Enable or disable motor 23* Delete contouring error 30 Get revision 31 Get speeds / target position 32 Get polarity and PID parameters 33 Get status for AM20 user 40 Move with interpolation I 41 Move with interpolation II

Page 207: FST4 Manual

FST Version 4.02.21 Manual

207

4.15.4 Get status Input parameters FU32 0 FU33 Motor number Output parameters FU32 Status (see Table 1) FU33 Switch status (see Table 2) FU34 Extended status, (see Table 3) FU35 Low word of current position FU36 High word of current position AM20 only FU37 In position status (see Table 4) AM20 only FU38 Current contouring error Table 1: Status return values Value Description -1 No module present for motor number 0 Motor is stopped 1 Motor is moving 2 Reference move is active Table 2: Switch status Bit Description 0 0= Limit switch X (AM1x) or + (AM20) inactive 1= Limit switch X (AM1x) or + (AM20) activated 1 0= Limit switch Y (AM1x) or - (AM20) inactive 1= Limit switch Y (AM1x) or - (AM20) activated 2 0= Reference switch inactive 1= Reference switch activated Table 3: Extended status Bit Description 0 0= move direction positive 1= move direction negative 1 0= Linear ramp 1= no ramp (move with starting frequency without ramp) 2 0= Reference move is inactive / finished 1= Reference move is active 3 0= Reset is finished 1= Reset is active 4 0= Brake ramp terminated 1= Brake ramp active 1= Parameter error (after axis has started moving) 5 0= No limit switch r error 1= Limit switch r error is active 6 0= Relative move to actual position 1= Absolute move

Page 208: FST4 Manual

FST Version 4.02.21 Manual

208

7 0= Axis is at a standstill 1= Axis is moving Table 4: In position status / Contouring error / Enable (AM20 only) Bit Description 0 Bit is set if axis is within position window

Bit is set if axis has contouring error greater than specified maximum

4.15.5 Move absolute Input parameters FU32 1 FU33 Motor number FU34 Low word of new position (steps / increments) Range: 0-65535 FU35 High word of new position (steps / increments) Range: -128 - +127 FU36 Moving speed Range / [unit] AM10: - 0-32000 / [steps / sec] Range / [unit] AM11: - 0-16000 / [steps / sec] Range / [unit] AM20: - 0-32767 ; [10* incr/sec] < S2.3 - 0-65535 ; [10* incr/sec] >= S2.4 Output parameters FU32 Status (see Table 1) FU33 Extended status (see Table 3)

4.15.6 Move relative Input parameters FU32 2 FU33 Motor number FU34 Low word of relative position (steps / increments) Range and unit see absolute move FU35 High word of relative position (steps / increments) Range and unit see absolute move FU36 Maximum speed Range and unit see absolute move FU37 Direction 1 = positive -1 = negative Output parameters FU32 Status (see Table 1) FU33 Extended status (see Table 3)

4.15.7 Reference move Input parameters FU32 3 FU33 Motor number FU34 Speed for reference move Range and unit see absolute move FU35 Direction (see Table 5) Output parameters FU32 Status (see Table 1) FU33 Extended status (see Table 3) Important: the speed given for the reference move will be used for the entire movement. This means you have to give a speed that is suitable as a start/stop frequency since there is no ramp applied to the reference move.

Page 209: FST4 Manual

FST Version 4.02.21 Manual

209

Table 5: Reference move options Value Description 1 move in positive direction until reference switch reached -1 move in negative direction until reference switch reached 2 move in positive direction until reference switch reached, then move in negative direction until reference switch freed -2 move in negative direction until reference switch reached, then move in positive direction until reference switch freed 3 move in positive direction until reference switch reached, then move in positive direction until reference switch freed -3 move in negative direction until reference switch reached, then move in negative direction until reference switch freed

4.15.8 Override Speed Input parameters FU32 4 FU33 Motor number FU34 Override (0% ... 100%) Output parameters FU32 Status (see Table 1)

4.15.9 Configure polarity Input parameters FU32 10 FU33 Motor number FU34 Polarity of digital outputs, only AM10 and AM11. Value for AM20 is always "0" 0 = active low 1 = active high FU35 Polarity of limit switches 0 = normally closed 1 = normally opened FU36 Polarity of reference switch 0 = normally closed 1 = normally opened Output parameters FU32 Status (see Table 1)

4.15.10 Configure start speed and acceleration Input parameters FU32 11 FU33 Motor number FU34 Start speed Range / [unit] AM10: - 0-32000 / [steps / sec] Range / [unit] AM11: - 0-16000 / [steps / sec] Range / [unit] AM20: - 0-32767 ; [10* incr/sec] FU35 Acceleration / Deceleration Range / [unit] AM10, AM11:

Page 210: FST4 Manual

FST Version 4.02.21 Manual

210

- 0-32767 / [10*steps / sec²] Range / [unit] AM20: - 0-32767 ; [10* incr/sec²] < S2.3 - 0-65535 ; [10* incr/sec²] >= S2.4 Output parameters FU32 Status (see Table 1)

4.15.11 Configure PID values (AM20 only) Input parameters FU32 12 FU33 Motor number FU34 P-Factor (range 0-255) FU35 I-Factor (range 0-255) FU36 D-Factor (range 0-255) FU37 V-Factor (range 0-255) Output parameters FU32 Status (see Table 1)

4.15.12 Set actual position Input parameters FU32 13 FU33 Motor number FU34 Low word of new position FU35 High word of new position Output parameters FU32 Status (see Table 1)

4.15.13 Set positioning parameters (AM20 only) Input parameters FU32 14 FU33 Motor number FU34 maximum allowed contouring error Range / [unit]: - 0-32767 / [increments] FU35 In position window Range / [unit]: - 0-2557 / [increments] Output parameters FU32 Status (see Table 1)

4.15.14 Set D/A output polarity (AM20 > S 2.2 only) Input parameters FU32 15 FU33 Motor number FU34 Polarity of D/A output 0 = normal 1 = inverted Output parameters FU32 Status (see Table 1)

4.15.15 Set P division (AM20 > S2.2 only) Input parameters FU32 16 FU33 Motor number FU34 Division 0 = P factor will function normally 1 = P factor will be divided by 16 Output parameters FU32 Status (see Table 1)

4.15.16 Set counter input polarity (AM20 >= S 2.3 only) Input parameters FU32 17 FU33 Motor number

Page 211: FST4 Manual

FST Version 4.02.21 Manual

211

FU34 Polarity of counter input 0 = normal 1 = inverted Output parameters FU32 Status (see Table 1)

4.15.17 Set acceleration multiplicator (AM20 >= S 2.3 only) Input parameters FU32 18 FU33 Motor number FU34 Multiplicator 0 = acceleration normal 1 = acceleration will be multiplied by 16 Output parameters FU32 Status (see Table 1)

4.15.18 Set Offset for D/A converter (AM20 >= S 2.3 only) Input parameters FU32 19 FU33 Motor number FU34 Offset: 0 - 127: positive 128-255: negative Output parameters FU32 Status (see Table 1)

4.15.19 Reset module Input parameters FU32 20 FU33 Motor number Output parameters FU32 Status (see Table 1) Note that if you reset one motor of a two motor module the other one will be reset as well.

4.15.20 Stop motor Input parameters FU32 21 FU33 Motor number Output parameters FU32 Status (see Table 1) Stop movement using the defined acceleration value.

4.15.21 Set / Reset enable (AM20 only) Input parameters FU32 22 FU33 Motor number FU34 0 = reset enable output 1 = set enable output Output parameters FU32 Status (see Table 1)

4.15.22 Delete contouring error (AM20 only) Input parameters FE32 23: up driver version V1.17 FE33 Motor number Output parameters FE32 Status (see Table 1)

4.15.23 Get revision (AM20 only) Input parameters FU32 30 FU33 Motor number Output parameters FU32 Status (see Table 1) FU33 Revision number

Page 212: FST4 Manual

FST Version 4.02.21 Manual

212

4.15.24 Get speeds / target position Input parameters FU32 31 FU33 Motor number Output parameters FU32 Status (see Table 1) FU33 Start frequency FU34 Acceleration FU35 Maximum frequency FU36 Target position low word FU37 Target position high word

4.15.25 Get polarity and PID parameters Input parameters FU32 32 FU33 Motor number Output parameters FU32 Status (see Table 1) FU33 Polarity register (see Table 6) FU34 P-Factor FU35 I-Factor FU36 D-Factor FU37 V-Factor Table 6: Polarity Bit Description 0 0= Digital outputs low active 1= Digital outputs high active Only AM10 and AM11! 1 0= Divisor for P-Factor is off 1= Divisor for P-Factor is on 2 0= Limit switch low active 1= Limit switch high active 3 0= Polarity of the D/A converter is normal 1= Polarity of the D/A converter is inverted 4 0= Reference switch low active 1= Reference switch high active 5 0= Interpolation inactive 1= Interpolation active 6 0= Multiplicator for acceleration is off 1= Multiplicator for acceleration is on 7 0= Count direction is normal 1= Count direction is inverted

4.15.26 Get status for AM20 user Input parameters FU32 33 FU33 Motor number Output parameters FU32 Status (see Table 1) FU33 Status flags (see Table 7)

Page 213: FST4 Manual

FST Version 4.02.21 Manual

213

FU34 P-Factor FU35 I-Factor FU36 D-Factor FU37 V-Factor Table 7: Status for AM20 user Bit Description 0 0= Enable is off 1= Enable is on 1 1= Motor is stopped 1= Motor is moving 2 0= Reference move is stopped / finished 1= Reference move is active 3 0= Axis is not in position window 1= Axis is within position window 4 0= contouring error is not active 1= Axis is stopped with contouring error 5 0= Positive limit switch inactive 1= Positive limit switch activated 6 0= Negative limit switch inactive 1= Negative limit switch activated 7 0= Reference switch inactive 1= Reference switch activated

4.15.27 Move with interpolation (AM20 >= 2.3 only) Input parameters FU32 40 FU33 Motor (1,3,5,7,9,11) FU34 Low word of new position / distance for motor 1 FU35 High word of new position / distance for motor 1 FU36 Low word of new position / distance for motor 2 FU37 High word of new position / distance for motor 2 Output parameters FU32 Status (see Table 1) FU33 Error code: 0 = OK -1 = wrong motor number

4.15.28 Move with interpolation (AM20 >= 2.3 only) Input parameters FU32 41 FU33 Motor (1,3,5,7,9,11) FU34 Move relative or absolute 0 = absolute 1 = relative FU35 Maximum speed FU36 Direction for motor 1 (if relative move) 1 = positive

Page 214: FST4 Manual

FST Version 4.02.21 Manual

214

-1 = negative FU37 Direction for motor 2 (if relative move) 1 = positive -1 = negative Output parameters FU32 Status (see Table 1) FU33 Error code: 0 = OK -1 = wrong motor number -2 = Function 40 not yet called

4.15.29 Sample programs

4.15.29.1 Sample program for stepper motor (AM1x) "" Sample program for stepper motor "" Uses R0 for motor number STEP init "" Start with configuration IF NOP THEN LOAD V1 TO R0 'Motor Number IF NOP THEN CFM 51 " AMxx module WITH V20 " Reset WITH R0 'Motor Number CFM 51 " AMxx module WITH V10 " Set polarity WITH R0 'Motor Number WITH V1 " Outputs ACTIVE HIGH WITH V0 " Limit switches normally closed WITH V1 " Reference switch normally open CFM 51 " AMxx module WITH V11 " Set start speed and acceleration WITH R0 'Motor Number WITH V10 " 10 steps / sec WITH V1000 " 10*1000 steps / sec² STEP loop IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF F1.0 'Start Flag AND N F34.7 'Run Flag THEN CFM 51 " AMxx module WITH V1 " Start absolute move

Page 215: FST4 Manual

FST Version 4.02.21 Manual

215

WITH R0 'Motor Number WITH V2000 " Position low word WITH V0 " Position high word WITH V2500 " Moving speed 2500 Hz STEP IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF F34.7 'Run Flag THEN NOP STEP IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF N F34.7 'Run Flag THEN CFM 51 " AMxx module WITH V1 " Start absolute move WITH R0 'Motor Number WITH V0 " Position low word WITH V0 " Position high word WITH V5000 " Moving speed 5000 Hz STEP wait IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF F34.7 'Run Flag THEN JMP TO loop OTHRW JMP TO wait

4.15.29.2 Sample program for servo motor (AM20) "" Sample program for servo motor "" Uses R0 for motor number STEP init

Page 216: FST4 Manual

FST Version 4.02.21 Manual

216

"" Start with configuration IF NOP THEN LOAD V3 TO R0 'Motor Number IF NOP THEN CFM 51 " AMxx module WITH V20 " Reset WITH R0 'Motor Number CFM 51 " AMxx module WITH V10 " Set polarity WITH R0 'Motor Number WITH V0 " Always 0 for AM20 WITH V0 " Limit switches normally closed WITH V1 " Reference switch normally open CFM 51 " AMxx module WITH V11 " Set start speed and acceleration WITH R0 'Motor Number WITH V5 " 10*5 steps / sec WITH V1000 " 10*1000 steps / sec² CFM 51 " AMxx module WITH V12 " Set PID parameters WITH R0 'Motor Number WITH V1 " P factor WITH V2 " I factor WITH V0 " D factor WITH V3 " V factor CFM 51 " AMxx module WITH V14 " Set positioning parameters WITH R0 'Motor Number WITH V10000 " Max contouring error [Incr] WITH V20 " Inposition window [Incr] CFM 51 " AMxx module WITH V22 " enable/disable WITH R0 'Motor Number WITH V1 " set enable STEP loop IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF F1.0 'Start Flag

Page 217: FST4 Manual

FST Version 4.02.21 Manual

217

AND N F34.7 'Run Flag THEN CFM 51 " AMxx module WITH V1 " Start absolute move WITH R0 'Motor Number WITH V2000 " Position low word WITH V0 " Position high word WITH V2500 " 10*2500 incr/sec STEP IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF F34.7 'Run Flag THEN NOP STEP IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF N F34.7 'Run Flag THEN CFM 51 " AMxx module WITH V1 " Start absolute move WITH R0 'Motor Number WITH V0 " Position low word WITH V0 " Position high word WITH V5000 " 10*5000 incr/sec STEP wait IF NOP THEN CFM 51 " AMxx module WITH V0 " Get status WITH R0 'Motor Number LOAD FU34 TO FW34 'FU34=extended status IF F34.7 'Run Flag THEN JMP TO loop ELSE JMP TO wait

Page 218: FST4 Manual

FST Version 4.02.21 Manual

218

4.16 PID driver This driver adds 16 PID control loops to your FST-IPC projects. In this document some terms related to control technology are used, for explanation of these no additional information is available at the moment.

4.16.1 Driver overview The driver uses a table with the PID parameters, controller input and controller output. This table is located in FlagWords. The location where the table starts is set through a function module. Configuring the driver and assigning parameters If you want to use PID in an FST- IPC project, you must enter the PID driver in the driver configurer and assign the necessary parameters. Destination drive: Specify the drive on which the PID driver PIDDRV.EXE is located or onto which it is to be loaded.

4.16.2 Extended CI commands for PID This driver extends the IPC command interpreter with the following commands: !29 Display version number Display driver info and version number. This information will also be displayed if an un-known command is entered (for example !29abcdef).

4.16.3 Module for PID Overview of modules PIDCFM Setup and start the driver.

Input parameters FU32 Number of the 1st flagword used for the parameter table

Output parameters FU32 0 if successful 256 if driver not installed Note! Calling the PIDCFM function module will reset all flagwords in the complete parameter table to 0.

4.16.3.1 Parameter table The following parameter table is the result if the PIDCFM function module is called with parameter 500:

PID PID PID loop 0 loop 1 loop 15

Man/Auto FW500 FW516 FW740 Setpoint FW501 FW517 FW741 Process FW502 FW518 FW742 Value Output FW503 FW519 FW743 Value Manual FW504 FW520 FW744 Value Kp FW505 FW521 FW745 Ki FW506 FW522 FW746 Kd FW507 FW523 FW747 Time FW508 FW524 FW748 Constant

Page 219: FST4 Manual

FST Version 4.02.21 Manual

219

4.16.3.2 Explanation of parameters Man/Auto: If this parameter is 0, the control loop is inactive and the manual value is copied to the output value. If this parameter is 1, the control loop is active and the output value is calcu-lated according to setpoint, process value and control parameters. Setpoint: The target for the controller in auto mode. Process value: The input value for the control loop. Output value: The output value from the control loop. Manual value: An operator override in case of manual mode. Kp: The proportional parameter for the control loop. Ki: The integral parameter for the control loop. Kd: The differential parameter for the control loop. Time constant: Indicator for the interval time with which the control loop calculates its output value. If the time constant is 0 the control loop calculates approximately every 14 ms, if the time constant is 1 the control loop calculates approximately every 28 ms, etc. The Setpoint, Process value, Output value and Manual value are all in the range from 0 to 4095. The Kp, Ki and Kd values are divided by 100 inside the control loop. So if you set a Kp of 125 in the table, the control loop calculates with 1.25.

4.17 Serial Communication Version 1.33 This driver allows characters to be sent and received via standard COM ports. HC1X and HC2X Up to 4 ports are supported. These can be either COM1..COM4 or COM2..COM5. Note! The serial port on the HC2X CPUs labelled "COM" is the COM1 port! HC0X The interfaces COM and EXT can be used for serial communication. Additional COM ports on CP3x modules can be used:

• Due to mutual exclusions of external interrupt sources (IRQs) you can either use COM2 or COM4. If you do so, for HC01 the trimmer no longer can be used. For HC0X this also requires to change jumper J1 (see the hardware manual for details). On the HC02 there is no trimmer anyway, and no jumpers have to be changed.

• Due to mutual exclusions of external interrupt sources (IRQs) you can either use COM3 or COM5.

• If you want to use COM1 on HC02 you can do so, but this does not allow to use the ethernet port any longer and requires to change another jumper (see the hardware manual for details). On the HC01 you can use COM1 without restrictions.

Page 220: FST4 Manual

FST Version 4.02.21 Manual

220

FECs The interfaces COM and EXT can be used for serial communication. Due to very limited memory in the FC20, only FEC Compacts of the FC3x series and FEC Standards should be used for serial communication. Beginning with version 1.31 the driver supports FIFOs. Check the version number with the CI-Command "!8" which is available since version 1.31.

4.17.1 Selecting and parameterising the driver If you wish to use the serial driver in an FST project, you must enter the correct driver(s) according to the table below in the driver configurer and parameterise it.

4.17.1.1 HC1X and HC2X Please use the SERIALDR driver.

4.17.1.2 HC0X If you are using only COM and/or EXT please use the driver COMEXT. If you are using CP3x please use HC0XCOM instead (this driver includes the routines for COM and EXT as well). For HC0X < S2.00 you also need to include the driver FOSEXT if you want to use the EXT port (HC0X < S1.11 requires the use of FOSSIL2 instead of FOSEXT).

4.17.1.3 FEC Compact Please use the driver COMEXT. For the EXT port you also need to include the driver FOSEXT (FC20 < V1.21 and FC30 < S1.10 require the use of FOSSIL2 instead of FOSEXT).

4.17.1.4 FEC Standard Please use the driver COMEXT. Note! Some of the modules provided also require the STRINGS driver. Destination drive: Enter the drive containing the serial driver or to which it is to be loaded.

4.17.2 Modules The modules for serial communication require the serial interface that is used as parameter (FU32). Please note the following assignment of port numbers:

COM 255 EXT 0 COM1 1 COM2 2 COM3 3 COM4 4 COM5 5 Note! You must not use the serial port that is used for the standard CI with these modules, except when it is referred to as port 255 (COM). The standard COM port for the CI is set in the Controller Settings of the FST project.

Page 221: FST4 Manual

FST Version 4.02.21 Manual

221

The default setting for the standard COM port is Controller Port Number FEC COM 255 HC0X COM 255 HC1X COM1 1 HC2X COM 1 Note! It is not possible to send or receive #0 or Ctrl-T characters over the COM port (255). Overview OPENCOM Open serial interface CLOSECOM Close serial interface GETCOM Send character PUTCOM Receive character PRINTCOM Send string READCOM Receive string (incl. delimiter) READLCOM Receive string (excl. delimiter) F30 Set interface parameters F31 Activate CI F32 Clear buffers F34 Interrogate status F35 Change delimiter BREAKCOM Set/Reset hardware break (SERIALDR only) SETRTS Active handshake for RS485 (SERIALDR only) IS485 Check if handshake is active (SERIALDR only) OPENCOM Open (initialise) a serial interface with 9600 baud, 8 data bits, no parity. Input parameters FU32 Serial interface Output parameters FU32 0 = DONE 1 = ERROR Use F30 instead of OPENCOM for other com port settings. CLOSECOM Close a previously opened serial interface. Input parameters FU32 Serial interface Output parameters FU32 0 = DONE 1 = ERROR GETCOM Read character from a serial interface. Input parameters FU32 Serial interface Output parameters FU32 0 = DONE 1 = ERROR -1 = NOTHING RECEIVED For FU32 = DONE FU33 Received char. (0 to 255) PUTCOM Write character to a serial interface. Input parameters FU32 Serial interface FU33 Char. to be sent (0 to 255) Output parameters FU32 0 = DONE 1 = ERROR

Page 222: FST4 Manual

FST Version 4.02.21 Manual

222

PRINTCOM Write an FST string to a serial interface. Input parameters FU32 Serial interface FU33 Number of FST string to be sent Output parameters FU32 0 = DONE 1 = ERROR READCOM Read characters from a serial string to a delimiter and save to an FST string. Input parameters FU32 Serial interface FU33 Number of FST string for the character string. FU34 Maximum length FU35 Delimiter (0 to 255) Output parameters FU32 0 = DONE 1 = ERROR -1 = NOTHING RECEIVED The delimiter is not written to the string. READLCOM Read characters from serial interface to selected standard end-of-record character (default is CR) and save to FST string. Input parameters FU32 Serial interface FU33 Number of the FST string for the character string. FU34 Max. length including end-of-record character. Output parameters FU32 0 = DONE 1 = ERROR -1 = NOTHING RECEIVED The delimiter is written with the string. F30 Open port and set interface parameter. Input parameters FU32 Serial interface FU33 Interface parameter Output parameters None 7 6 5 4 3 2 1 0 Baud rate Char. length Parity Bit 7 6 5 4 Baud 1 0 0 0 19200 1 0 0 1 9600 (default) 1 0 1 0 4800 1 0 1 1 2400 1 1 0 0 1200 1 1 0 1 600 1 1 1 0 300 1 1 1 1 110 Bit 3 2 Bits/characters 0 0 5 0 1 6 1 0 7 1 1 8 (default)

Page 223: FST4 Manual

FST Version 4.02.21 Manual

223

Bit 1 0 Parity 0 0 NONE (default) 0 1 ODD 1 0 NONE 1 1 EVEN Note! For the COM port (255) only the settings N,8,1 are accepted. Note! For the COM port (255) of FC20 only the baud rates 9600 or less are useful due to the optocouplers. F31 Activate CI. Input parameters FU32 Serial interface FU33 Driver mode: 0=Disable CI

1=Enable CI, disabled on receiving the CI command "X"

2=Enable CI, ignore the CI command "X" Output parameters None Note! The standard COM port for the CI cannot be disabled. The standard COM port for the CI is set in the Controller Settings of the FST project. The default setting for the standard COM port is Controller Port Number FEC COM 255 HC0X COM 255 HC1X COM1 1 HC2X COM 1 F32 Erase interface buffer. Input parameters FU32 Serial interface Output parameters FU32 0 = DONE 1 = ERROR F34 Interrogate settings and status of a serial interface. Input parameters FU32 Serial interface Output parameters FU32 Number of records in receive buffer (separated by standard end-of-record characters). F35 Change standard end-of-record character. Default is CR (13). Input parameters FU32 Serial interface FU33 End-of-record characters (0 to 255) Output parameters None BREAKCOM Send hardware BREAK. Note! This function is only implemented for the SERIALDR (HC1X and HC2x). Input parameters FU32 Serial interface FU33 1 = BREAK on 0 = BREAK off

Page 224: FST4 Manual

FST Version 4.02.21 Manual

224

Output parameters None IS485 Returns current port setting regarding RS485 support. Input parameters FU32 Serial interface Output parameters FU32 0 = DONE 1 = ERROR FU33 1=RTS control for RS485 active 0=normal RS232 operation Note! FST driver SERIALDR Version 1.10 or greater is required. This function is only implemented for the SERIALDR (HC1X and HC2x). SETRTS Enables/disables RTS control for RS485 serial communication via SM30 IPC module. Input parameters FU32 Serial interface FU33 1 for RS485 operation, 0 for normal RS232 operation Output parameters FU32 0 = DONE 1 = ERROR Note!

• Has to be called before opening the port. • FST driver SERIALDR Version 1.10 or greater is required. • This function is only implemented for the SERIALDR (HC1X and HC2x).

4.18 TCP/IP driver Version 1.12 This driver allows the IPC to communicate with other PCs and Controllers using the UDP or TCP protocol from the TCP/IP protocol suite.

4.18.1 Introduction In this document terms related to TCP/IP are used, for explanation please refer to one of the many books and internet sites. A good starting point is http://www.whatis.com where all kinds of technical terms are explained.

4.18.2 Driver overview To function properly every TCP/IP participant (host) needs an IP address and netmask. The FST TCP/IP driver allows 3 ways for configuring these: configuration in the Driver configura-tion screen, using function blocks or dynamically using the BOOTP or DHCP protocol. Note! If the IP address is 0 (0.0.0.0) either through configuration or change through a func-tion block the BOOTP/DHCP protocol will be automatically activated. If the IP address is set the BOOTP/DHCP protocol will be deactivated. The FST TCP/IP driver implements the following protocols / services for communication and testing: Protocol Port Service Description ICMP n.a. n.a. Used for PING UDP 7 echo Returns all data received UDP 9 discard Discards all data received UDP 13 daytime Returns string with date and time

Page 225: FST4 Manual

FST Version 4.02.21 Manual

225

UDP 19 chargen Returns string with characters UDP 37 time Returns time as 32bit number UDP 991 CI Command interpreter UDP 992 CI_EXT Extended command interpreter UDP 993 CI_BIN Binary data exchange UDP 995 EasyIP Data exchange protocol TCP 7 echo Returns all data received TCP 9 discard Discards all data received TCP 13 daytime Returns string with date and time TCP 19 chargen Sends continual stream of characters TCP 991 CI Command interpreter (via telnet) The TCP command interpreter at port 991 can be accessed with a program like TELNET. Start TELNET with parameters IP number and 991 (i.e. TELNET 10.10.10.1 991), now it is possible to send and receive just as via the normal RS-232 command interpreter. Please note that only 1 connection is allowed at the same time and the connection will automatically be closed after 60 seconds of no interaction. The command interpreter can also be accessed as follows: send an UDP datagram with the CI command (without CR / LF) to the FST controller at port number 991 and the result will be returned. For example DR0 will result in something like =1099. Using the extended command interpreter on port 992 is similar with a small extension. The response will be the original question and the CI reply separated by a NULL character. So when sending DR0 the result will be DR0 NULL character =1099. Using the TCP (telnet) way is more convenient for users, using UDP is better suited for pro-grams that need to access FST operands. Note! Do not use the Y! command. This command will stop all programs and drivers, since TCP/IP is implemented as a driver it will be stopped as well ! The LE commands are not available via the telnet interface.

4.18.3 Configuring the driver and assigning parameters If you want to use TCP/IP in a FST IPC project, you must enter the TCP/IP driver in the driver configuration and assign the necessary parameters. Different driver names exist for different target systems, the following table lists the sup-ported target systems and their driver: TCPIPDRV PS1-HC1x with PS1-CP10/CP11/CP14 PS1-HC1x with PS1-CP12 (8 bit modus) PS1-HC2x with PS1-CP10/CP11/CP14 PS1-HC2x with PS1-CP12 (8 bit modus) TCPIPFEC FEC Compact (FC34,FC44) TCPIPFC2 FEC Standard (FC440,FC560,FC640,FC660) TCPIPHC0 PS1-HC02 TCPIP_15 PS1-HC1x with PS1-CP15 PS1-HC2x with PS1-CP15 TCPIPXXX PS1-HC1x with 2 PS1-CP10/CP11/CP14 PS1-HC2x with 2 PS1-CP10/CP11/CP14

Page 226: FST4 Manual

FST Version 4.02.21 Manual

226

4.18.4 Configuration of TCP/IP driver for PS1-CP10, CP11, CP12 and CP14: Destination drive: Specify the drive on which the TCP/IP driver TCPIPDRV.EXE is located or onto which it is to be loaded. Interrupt of CP10/CP11/CP12/CP14 module: The interrupt as configured on the module. Allowed values are 2, 3, 5, 6 and 7. Make sure that the jumper on the network module is set accordingly and that there are no conflicts with other IPC modules. IO port configuration: The IO port (in hexadecimal !) as configured on the module. Allowed values are 300, 320, 340 and 360. Make sure that the switches on the network module are set accordingly and that there are no conflicts with other IPC modules. IP address: The IP address. Leave the address to 0.0.0.0 if the address is configured through the IP_IP function block or dynamically through the BOOTP protocol. IP netmask: The IP netmask. Leave the mask to 255.255.255.0 if the netmask is configured through the IP_MASK function block or dynamically through the BOOTP protocol. IP address gateway: The IP address for the standard gateway. Leave the address to 0.0.0.0 if there is no gateway or the gateway address is configured through the IP_GATE function block or dynamically through the BOOTP protocol.

4.18.4.1 Configuration of TCP/IP driver for PS1-CP15: Only destination drive and IP configuration are needed. Additionally there is a configuration file PKT.INI (in the FST runtime directory) that must be edited to reflect the settings to be used. Most important parameters are BitRate, Channel, RadioType and SystemId. The PKT.INI will be downloaded into the IPC when downloading the project. Please make sure that after modification the file is downloaded since the project download will only freshen files with different sizes. Configuration of TCP/IP driver for FEC Compact, FEC Standard, PS1-HC02: Only destination drive and IP configuration are needed. Configuration of TCP/IP driver for 2 network cards: Lots of parameters are needed. Destination drive, port and interrupt number for both cards, IP configuration for both cards. Please be careful when using the TCPIPXXX driver: On the second card BOOTP/DHCP is not possible. The second card only allows a local net-work (no gateway option for routing). Functions like EASY_S, EASY_R, UDP_SEND etc. will automatically select the first or second network card based upon IP configuration and destination IP. For performance reasons it is advised to use HC20 or better CPUs.

4.18.5 Extended CI commands for TCP/IP This driver extends the IPC command interpreter with the following commands: !26 Display version number Display driver info and version number. This information will also be displayed if an un-known command is entered (for example !26?).

Page 227: FST4 Manual

FST Version 4.02.21 Manual

227

!26Axx Display ARP resolution table information Displays information from the Address Resolution Protocol (ARP). The TCP/IP driver holds a table of 32 IP addresses and Ethernet addresses. If the position (xx) is omitted the displayed information will automatically cycle through the used positions. !26B Display BOOTP/DHCP status Displays status for the BOOTP / DHCP process and the time before the DHCP lease expires if the IP address was ‘leased’ from a DHCP server. !26C Display date / time Displays the actual date, time and timezone offset in the format: YYYY.MM.DD HH:MM:SS.tt followed by the UTC offset in hours. !26Da.b.c Resolve hostname to IP address Resolves the hostname a.b.c to an IP address. For example !26Dwww.festo.com would search the IP address for www.festo.com !26D Display name resolver status Displays the status of the last hostname search. Possible return texts: resolving, resolved followed by IP address, resolver timed out and resolver error followed by an error code. When searching for a hostname first enter !26D followed by the hostname, then enter !26D until the resolver is no longer ‘resolving’. !26Hxx Display handler table information Displays information about currently defined TCP and UDP handlers and their state. If the position (xx) is omitted the displayed information will automatically cycle through the de-fined handlers. !26I Display IP configuration Displays IP address, IP netmask and IP gateway. !26M Display Ethernet MAC address Displays the MAC address of the network card. !26N Display hostname and domain name Displays the hostname and domain name. !26Pa.b.c.d Ping IP address Sends a ping to the IP address a.b.c.d For example !26P10.10.10.10 would ping 10.10.10.10 !26P Display ping status Displays the status of the last ping. Possible return texts: not pinging, pinging, host is alive and timeout. When pinging a host first enter !26P followed by the IP address, then enter !26P until the return message is either host is alive or timeout. !26R Display runtime Displays the time since the controller restart. Display format: days:hours:minutes:seconds. !26SH Display interrupt count Displays the number of interrupts generated by the network module. This information is only available on HC1X, HC2X controllers with CP10, CP11, CP12 or CP14 network module.

Page 228: FST4 Manual

FST Version 4.02.21 Manual

228

!26SI Display IP statistics Displays IP packet statistics: total send, total received, checksum errors, wrong destination address. !26SP Display Ethernet statistics Displays Ethernet packet statistics: total send, total received, overflow, packet too large, cannot send. !26ST Display TCP statistics Displays IP packet statistics: total send, total received, checksum errors, wrong destination address, no handler for TCP port. !26SU Display UDP statistics Displays IP packet statistics: total send, total received, checksum errors, wrong destination address, no handler for UDP port, unhandled broadcast. !26Txx Display IP table contents Displays the IP addresses currently defined in the IP table. The TCP/IP driver can hold a total of 32 IP addresses for easy reference. Note! The CI commands are mainly intended for diagnostic purposes. In case of problems start with !26 first. If the IPC returns an ACCESS ERROR this means that the TCP/IP driver is not included in the project or the hardware configuration is wrong. Then check for packets send and received with !26SP. If no packets are received this could indicate that the CP10/11/12 interrupt is wrongly configured.

4.18.6 Modules for TCP/IP Overview of generally used modules EASY_R Request a block of operands from another IPC EASY_S Send a block of operands to another IPC IP_ALIVE Check whether IP address is known IP_IP Get/set our IP address IP_MASK Get/set our IP netmask IP_TABLE Get/set IP address from/to table All modules return an error code in FU32, see the table with all error codes for an explana-tion of the individual codes. EASY_R Request a block of operands from another controller. Input parameters FU32 Index number in IP table FU33 Operand type, 1=flags, 2=inputs, 3=outputs, 4=registers, 11=strings FU34 Number of operands wanted (maximum 256) FU35 Number of first local operand to store response FU36 Number of first operand in remote controller FU37 Number of flagword for status

Page 229: FST4 Manual

FST Version 4.02.21 Manual

229

Output parameters FU32 0 if request send, otherwise error This function module requests a block of operands. Note! The operand TYPE specified in FU33 (source of remote data requested) also defines the Local Operand TYPE where the operand will be stored in the local (requesting) controller. For example: IF… THEN CMP 12 'EASY_R WITH V3 " Table Index 3 WITH V4 " get Registers WITH V10 " get 10 Registers WITH V150 " 1st Remote Reg -> Local R150 WITH V34 " Remote Register data block " is R34 to R43 WITH V99 " Status in FlagWord 99 If no response is received after approximately 50 milliseconds the status flagword will indi-cate a timeout. Only 1 request can be active for each index number. Status values are:

-1 Packet send, no response or timeout yet 0 OK response received, data accepted by partner or data received from partner 1 Operand type error, partner indicates that the specified type is not supported 2 Offset error, partner indicates that the specified offset is not allowed. For example requesting FW20000 4 Size error, partner indicates that the number of operands send or requested is too large 128 Timeout, no response received from partner EASY_S Send a block of operands to another controller. Input parameters FU32 Index number in IP table FU33 Operand type, 1=flags, 2=inputs, 3=outputs, 4=registers, 11=strings FU34 Number of operands to send (maximum 256) FU35 Number of first operand to send FU36 Number of first operand in remote controller FU37 Number of flagword for status (-1 if no acknowledge wanted) Output parameters FU32 0 if data send, otherwise error

Page 230: FST4 Manual

FST Version 4.02.21 Manual

230

This function module sends a block o foperands. Note! The operand TYPE specified in FU33 (source of data to be sent) also defines the Remote Operand Type where the data will be stored in the REMOTE (destination) controller. For example: IF… THEN CMP 22 'EASY_S WITH V3 " Table Index 3 WITH V4 " send Registers WITH V10 " send 10 Registers WITH V23 " send local Registers " R23-R32 to remote controller WITH V234 " Remote controller will store " Data in R234-R43. WITH V98 " Use FW98 for status If no acknowledgment is received after approximately 50 milliseconds the status flagword will indicate a timeout. Only 1 unacknowledged send can be active for each index number. Status values are: -1 Packet send, no response or timeout yet 0 OK response received, data accepted by partner or data received from partner 1 Operand type error, partner indicates that the specified type is not supported 2 Offset error, partner indicates that the specified offset is not allowed. For example requesting FW20000 4 Size error, partner indicates that the number of operands send or requested is too large

128 Timeout, no response received from partner IP_ALIVE Checks the ARP table, to see if an IP address is known. Input parameters FU32 Index number in IP table Output parameters FU32 0 if successful, otherwise error FU33 0 if IP address unknown 1 if IP address known 2 if IP address must be reached through a gateway Be aware that if a controller is stopped, disconnected or otherwise no longer available it can take up to 10 minutes before IP_ALIVE indicates that the IP address is unknown. Other alternatives are available, for example testing the status value from EasyIP packets or using the function module PING if no EasyIP communication is used. IP_IP Set or get the IP address. Input parameters FU32 1 to set the IP address

Page 231: FST4 Manual

FST Version 4.02.21 Manual

231

2 to get the IP address FU33 IP address FU34 IP address FU35 IP address FU36 IP address Output parameters FU32 0 if successful, otherwise error FU33 IP address FU34 IP address FU35 IP address FU36 IP address This module is normally only used in projects with identical controllers (with the same pro-grams). By using this function module and retentative variables it is then possible to use identical FST projects on multiple controllers. Other use is when using dynamic addresses so the controller knows when the IP address is received. IP_MASK Set or get the IP netmask. Input parameters FU32 1 to set the IP mask 2 to get the IP mask FU33 IP mask FU34 IP mask FU35 IP mask FU36 IP mask Output parameters FU32 0 if successful, otherwise error FU33 IP mask FU34 IP mask FU35 IP mask FU36 IP mask IP_TABLE Set or get an IP address into or from table. Input parameters FU32 1 to set the IP address 2 to get the IP address FU33 index number in IP table FU34 IP address FU35 IP address FU36 IP address FU37 IP address Output parameters FU32 0 if successful, otherwise error FU33 index number in IP table FU34 IP address FU35 IP address FU36 IP address FU37 IP address The IP table is a list of short addresses, which are used by other function modules.

Page 232: FST4 Manual

FST Version 4.02.21 Manual

232

4.18.7 More modules for TCP/IP Overview of special modules These modules are listed separately because their use requires special expertise, they are rarely used etc. DNS_NAME Get/set hostname and domain name DNSRESOL Resolve hostname to IP address IP_DNS Get/set IP address for DNS server IP_GATE Get/set IP address for gateway IP_MAC Get Ethernet MAC address from network module PING Ping SNTPTIME Start time synchronisation TCP_CLOS Close TCP connection TCP_HAND Activate TCP handler TCP_OPEN Open TCP connection TCP_RES Reset TCP handler TCP_SEND Send a TCP datapacket TCP_STAT Status of TCP connection TCP_STR Send a string through TCP TFTPFILE Send / request a file UDP_FW Send a FW block to another IPC UDP_HAND Activate UDP handler UDP_SEND Send an UDP datapacket UDP_STR Send a string through UDP All modules return an error code in FU32, see the table with all error codes for an explana-tion of the individual codes. DNS_NAME Get or set the hostname and domain name. Input parameters FU32 1 to set hostname 2 to get hostname 3 to set domain name 4 to get domain name FU33 Number of the source string (set), or destination string (get). Output parameters FU32 0 if successful, otherwise error TCP/IP hosts normally have names in the format name.some.domain.com. In this case the hostname is 'name' and the domain name is 'some.domain.com'. These names can be set through BOOTP/DHCP or with this module. This function requires that the FST string driver is installed in the project. DNSRESOL Resolve a hostname to IP address Input parameters FU32 1 to start hostname resolution 2 to get status FU33 Number of the string with host-name to resolve FU34 Index number in IP table Output parameters FU32 0 if successful, otherwise error FU33 Resolver status

Page 233: FST4 Manual

FST Version 4.02.21 Manual

233

-3 if resolver not yet started -2 if resolver already busy, wait and try again -1 if resolver busy 0 if resolver finished 1 if resolver timed out Tries to find the IP address for a hostname. The IP address for DNS server(s) must be known. This function requires that the FST string driver is installed in the project. IP_DNS Set or get an IP address for a DNS server Input parameters FU32 1 to set the IP address 2 to get the IP address FU33 DNS server number (0, 1 or 2) FU34 IP address FU35 IP address FU36 IP address FU37 IP address Output parameters FU32 0 if successful, otherwise error FU33 DNS server number FU34 IP address FU35 IP address FU36 IP address FU37 IP address Up to 3 DNS servers are used when resolving a hostname into an IP address. The servers are used consecutive (0, 1 then 2). IP_GATE Set or get the IP address for gateway. Input parameters FU32 1 to set the IP address 2 to get the IP address FU33 IP address FU34 IP address FU35 IP address FU36 IP address Output parameters FU32 0 if successful, otherwise error FU33 IP address FU34 IP address FU35 IP address FU36 IP address IP_MAC Get the Ethernet MAC address. Input parameters FU32 Number of string to store the address Output parameters FU32 0 if successful, otherwise error The FST STRING driver must be installed in the project.

Page 234: FST4 Manual

FST Version 4.02.21 Manual

234

PING Send ping or get ping status Input parameters FU32 1 to send ping 2 to get status FU33 IP address FU34 IP address FU35 IP address FU36 IP address Output parameters FU32 0 if successful, otherwise error FU33 Ping status -1 = pinging 0 = host is alive 1 = timed out (no response after 5 seconds) 2 = not yet pinging Sends a ping and wait for response. Use this to actively test if a host is alive. SNTPTIME Starts time synchronisation and get status Input parameters FU32 0 to get status 1 to start synchronisation 2 to start listen for broadcasts FU33 Time offset to Greenwich Mean Time in hours FU34 IP address FU35 IP address FU36 IP address FU37 IP address Output parameters FU32 0 if successful, otherwise error FU33 status FU34 number of seconds since last synchronisation -1 if not synchronised The time synchronisation uses standard time codes (to allow worldwide synchronisation) therefore the time difference with Greenwich Mean Time must be known. For some sample values see the table at the end. The status codes are: -1 busy, 0 time synchronised, 1 timedout (no response from NTP server), 2 if listening active. Timeserver programs are available from freeware to commercial packages and can be run on standard windows PCs. TCP_CLOS Closes a TCP connection Input parameters FU32 Index number for handler Output parameters FU32 0 if successful, otherwise error

Page 235: FST4 Manual

FST Version 4.02.21 Manual

235

TCP_HAND Installs a handler to receive TCP datapackets Input parameters FU32 local port number to use FU33 Number of first flagword to receive data Output parameters FU32 0 if successful, otherwise error FU33 Index number for handler Some additional data is written if a datapacket is received. See table below for layout. The handler number returned in FU33 must be stored and used to send TCP datapackets. TCP_OPEN Actively opens a TCP connection Input parameters FU32 Index number for handler FU33 Index number in IP table FU34 Destination port number Output parameters FU32 0 if successful, otherwise error TCP_RES Resets closed TCP handler to listen state Input parameters FU32 Index number for handler Output parameters FU32 0 if successful, otherwise error TCP_SEND Send a TCP datapacket Input parameters FU32 Index number for handler FU33 number of bytes to send FU34 number of first flagword to send Output parameters FU32 0 if successful, otherwise error TCP_STAT Returns status of TCP connection Input parameters FU32 Index number for handler Output parameters FU32 0 if successful, otherwise error FU33 1 if connected (send possible) FU34 Extended state FU35 Number of unacknowledged bytes in send buffer Extended state values are: 0 LISTEN waiting for tcp_open request from remote 1 SYNSENT tcp_open send, waiting for remote

2 SYNRCVD tcp_open received, acknowledge send, waiting for remote

3 ESTABLISHED connection open, data can be transferred

Page 236: FST4 Manual

FST Version 4.02.21 Manual

236

4 5 FINWAIT1 tcp_close send, waiting for remote 6 FINWAIT2 close acknowledged 7 CLOSEWAIT not used 8 CLOSING our close acknowledged and remote close received 9 LASTACK close received, close send, waiting for acknowledge 10 TIMEWAIT after closing, timer is started after that -> CLOSED 11 CLOSED connection closed waiting for TCP_RES TCP_STR Send a string through TCP Input parameters FU32 Index number for handler FU33 Number of string to send Output parameters FU32 0 if successful, otherwise error The FST STRING driver must be installed in the project. TFTPFILE Send or requests a file. Input parameters FU32 1 to send a file 2 to request a file FU33 index number in IP table FU34 number of the string with our file-name FU35 number of the string with the remote filename FU36 number of flagword for status Output parameters FU32 0 if successful, otherwise error Uses the string driver for filenames. A waiting time of around 1 second must be inserted between 2 transmissions with TFTPFILE. Status values: -1 Busy with file transfer. 0 File transfer successfully finished 1 Timeout error 2 Local file not found 3 Error reading from local file 4 Local file already exists (overwrite is not allowed, use the FDELETE function module first) 5 Error writing to local file 127 Unexpected message received during file transfer 128 Received unknown error message 129 Received NOFILE error message 130 Received access error message 131 Received disk full error message 132 Received illegal operation error message 133 Received TID error message 134 Received file exists error message 135 Received NOUSER error message 136 Received option error message

Page 237: FST4 Manual

FST Version 4.02.21 Manual

237

UDP_FW Send a block of flagwords to another IPC. Input parameters FU32 index number in IP table FU33 number of flagwords to send (maximum 256) FU34 number of first flagword to send FU35 number of first flagword in target IPC Output parameters FU32 0 if successful, otherwise error This function module just sends a block of flagwords, no retry is done if the target is un-available and no indication is given if the target did not receive the flagwords. This module has lost its use, use the module EASY_S instead. UDP_HAND Installs a handler to receive UDP datapackets Input parameters FU32 local port number to use FU33 Number of first flagword to receive data Output parameters FU32 0 if successful, otherwise error Some additional data is written if a datapacket is received. See table below for layout. UDP_SEND Send an UDP datapacket Input parameters FU32 local port number to use FU33 index number in IP table FU34 Destination port number FU35 number of bytes to send FU36 number of first flagword to send Output parameters FU32 0 if successful, otherwise error UDP_STR Send a string through UDP Input parameters FU32 Local port number to use FU33 Index number in IP table FU34 Destination port number FU35 Number of string to send Output parameters FU32 0 if successful, otherwise error The FST STRING driver must be installed in the project.

4.18.7.1 Modules for second network card IP_IP2 Get/set IP address for 2 nd network card IP_MASK2 Get/set IP netmask for 2 nd network card IP_IP2 Set or get the IP address. Input parameters FU32 1 to set the IP address 2 to get the IP address

Page 238: FST4 Manual

FST Version 4.02.21 Manual

238

FU33 IP address FU34 IP address FU35 IP address FU36 IP address Output parameters FU32 0 if successful, otherwise error FU33 IP address FU34 IP address FU35 IP address FU36 IP address IP_MASK2 Set or get the IP netmask. Input parameters FU32 1 to set the IP mask 2 to get the IP mask FU33 IP mask FU34 IP mask FU35 IP mask FU36 IP mask Output parameters FU32 0 if successful, otherwise error FU33 IP mask FU34 IP mask FU35 IP mask FU36 IP mask

4.18.8 EasyIP status values Status values are: -1 Packet send, no response or timeout yet 0 OK response received, data accepted by partner or data received from partner 1 Operand type error, partner indicates that the specified type is not supported 2 Offset error, partner indicates that the specified offset is not allowed. For example requesting FW20000 4 Size error, partner indicates that the number of operands send or requested is too large 128 Timeout, no response received from partner

4.18.9 Data received by handlers Handlers write data to flagwords if a packet is received. Also written is the IP address, port number of the datapackets sender. The following table lists all data stored (FWx is the in-stalled flagword): FWx Number of packets received by handler FWx + 1 Sender IP address

Page 239: FST4 Manual

FST Version 4.02.21 Manual

239

FWx + 2 Sender IP address FWx + 3 Sender IP address FWx + 4 Sender IP address FWx + 5 Sender port number FWx + 6 Number of databytes FWx + 10 Start of actual datapacket Note that the received size is the number of bytes, not the number of words.

4.18.10 Time offsets Some values for the time offset: Anchorage -9 Buenos Aires -3 London 0 Wetzlar +1 Cairo +2 Moscow +3 Jakarta +6

4.18.11 Error codes If FU32 is <> 0 then the function module returned an error, following table lists the error codes: 99 Invalid parameter 100 TCP/IP driver not loaded 101 Illegal IP address 102 Illegal table index (> 15) 103 Table position empty 104 Invalid port number 105 Invalid handler index (>15) 106 TCP send not possible, not connected 107 String driver not loaded 108 Illegal string number (too high) 109 Error in host- or domain name 110 Error modifying string 111 Invalid TCP handler 112 Unknown operand type 113 Datablock too large 114 Invalid value for status flagword 115 Table position already waiting for response 116 Invalid operand number to store response 117 Cannot send, cable disconnected, collision or other error 118 TFTP already sending or receiving

Page 240: FST4 Manual

FST Version 4.02.21 Manual

240

5 Help Topics Understanding the Help Viewer This version of the FST Online Help is built using the Microsoft HTML Help system. HTML Help files are displayed in a browser-like window, not in the full version of Internet Explorer with all its toolbars, favorites lists, and icons visible to the end user, but in a three-paned help window. The top pane contains the toolbar, the left pane contains the navigation methods, and the right pane displays the topic - with all the functionality of the browser intact. The navigation pane contains the Contents, Index and Search tabs. By clicking topics in the table of contents or the Index you can explore any information within the Help. From the Search tab you can locate every occurrence of a word or phrase that may be contained in any topic. Viewing topics In a topic, you can click underlined words to see other information related to the topic. To link to another topic, link to a Web page, link to a list of other topics, or link to an applica-tion, click the colored underlined words. To see whether a word or phrase contained in a topic is in the Index, select (highlight) the word or phrase and press F1. Locating Information in the FST Online Help There are several methods for finding the information you need, and numerous ways to combine methods so that your search is quick and efficient. The options discussed below are accessible in the navigation pane in the left part of the MSDN Library viewer. To find a topic from the viewer's navigation pane Table of Contents Click the Contents tab to browse through topics by title. The table of contents is an expandable list of everything that is available in the FST Online Help. Keyword Index Click the Index tab to see a list of index entries, and then either type a word or scroll through the list. Similar to the index in a printed book, topics are often indexed under more than one entry. Full-Text Search Click the Search tab to locate every occurrence of a word or phrase that may be contained in a topic. To view a topic found through any of these navigation methods, click the entry in the naviga-tion pane to display the corresponding topic in the topic pane. Context Help Use the Context Help command to obtain help on some portion of FST.

When you choose the toolbar's Context Help button , the mouse pointer will change to an arrow and question mark. Then click somewhere in the FST window, such as another toolbar button. The help topic will be shown for the item you clicked. If you press the F1 key the help topic will be shown for the active window or command. To hide or show the navigation pane The navigation pane is displayed by default in the Help Viewer. If you want to hide it, click View from the toolbar, then uncheck the Navigation Tabs option. To display the navigation pane, click View from the toolbar and check the Navigation Tabs option. Note! If you close the browser with the navigation pane hidden, it will reopen that way.

Page 241: FST4 Manual

FST Version 4.02.21 Manual

241

5.1 Navigating Using the Table of Contents To view the table of contents, click the Contents tab in the navigation pane.

To view a topic, click the topic in the table of contents. To expand or contract a node

• To open an item in the table of contents, click the plus sign (+) in front of a node to expand that node, then double-click the item you want to see.

• Click the minus sign (-) in front of a node to contract that node. • You also can navigate the nodes by using the UP and DOWN arrow keys to move ver-

tically, and the LEFT and RIGHT arrow keys to expand and contract the nodes. • You can also use the Previous and Next buttons on the toolbar.

Page 242: FST4 Manual

FST Version 4.02.21 Manual

242

5.2 Looking for Index

To locate a topic using the index In the navigation pane, click the Index tab and then either type or select a keyword you want to find information about. After you have selected a keyword, click Display. From the list of topics found, select the topic you want and then click Display.

5.3 Finding Information with Full-Text Search A basic search of topics consists of the word or phrase you want to find. You can use wild-card expressions, nested expressions and Boolean operators to refine your search.

Page 243: FST4 Manual

FST Version 4.02.21 Manual

243

To perform a full-text search In the navigation pane, click the Search tab and then type the word or phrase you want to find. Click List Topics. Your search will return the first 500 hits. Highlight the topic you want, and then click Display. (Alternatively, you can display any topic by double-clicking it.) Search Syntax The basic rules for formulating queries are as follows: Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters. You can search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and the following reserved words: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you. Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search. Group the elements of your search using "double quotes" or (parentheses). You cannot search for quotation marks. Note! If you are searching for a filename with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the search will treat the period as an OR operator.

Page 244: FST4 Manual

FST Version 4.02.21 Manual

244

Words, Phrases, and Wildcards You can search for words or phrases and use wildcard expressions. The table below de-scribes the results of these different kinds of searches.

Search for Example Results

A single word Select Topics that contain the word "se-lect." (You will also find its gram-matical variations, such as "selec-tor" and "selection").

A phrase "new operator" –or– 'new operator'

Topics that contain the literal phrase "new operator" and all its grammati-cal variations. Without the quotation marks, the query is equivalent to specifying a new AND operator, which will find topics containing both of the individual words, instead of the phrase.

Wildcard expressions Esc* Topics that contain the terms "ESC," "escape," "escalation," and so on. The asterisk cannot be the only character in the words.

80?86 Topics that contain the terms "80186," "80286," "80386," and so on. The question mark cannot be the only character in the term.

*86 Topics that contain the terms "386," "486," "x86," "QEMM386," "8086," and so on.

Operators: AND, OR, NOT, and NEAR The AND, OR, NOT, and NEAR operators allow you to refine your search. The following table shows how to use each of these operators.

Search for Example Results

Both terms in the same topic dib AND palette –or– dib & palette

Topics containing both the words "dib" and "palette."

Either term in a topic raster OR vector –or– raster | vector<

Topics containing either the word "raster" or the word "vector."

The first term without the second term

ole NOT dde –or– ole ! dde

Topics containing the word "OLE," but not the word "DDE."

Both terms in the same topic, close together

user NEAR kernel Topics containing the word "user" within eight words of the word "kernel."

Page 245: FST4 Manual

FST Version 4.02.21 Manual

245

Rules for Nested Expressions The basic rules for searching topics using nested expressions are as follows: You can use parentheses to nest expressions within a query. The expressions in parenthe-ses are evaluated before the rest of the query. If a query does not contain a nested expression, it is evaluated from left to right. For exam-ple, "Control NOT active OR dde" finds topics containing the term "control" without the term "active", or topics containing the term "control" and not "dde". (On the other hand, "control NOT (active OR dde)" finds topics containing the term "control" without either of the terms "active" or "dde".) Nesting allows you to create more complex search expressions. For example, "control AND ((active OR dde) NEAR window)" finds topics containing the term "control" along with the terms "active" and "window" close together, or containing "control" along with the terms "dde" and "window" close together. You cannot nest expressions more than five levels deep. To highlight words in searched topics When searching for words in Help topics, you can specify that each occurrence of the word or phrase you searched for is highlighted in the topics that are found. To highlight all instances of a search word or phrase, click Options on the toolbar, and then click "Search Highlight On". To turn off this option, click Options on the toolbar, and then click "Search Highlight Off". Note! If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted. Navigating Using the Table of Contents To view the table of contents, click the Contents tab in the navigation pane.

Page 246: FST4 Manual

FST Version 4.02.21 Manual

246

6 Index Allocation list 22, 32, 52, 53, 54, 64, 65, 68, 81, 149, 196 Analog 140 Autostart 41 CI command 13, 42, 63, 99, 101, 102, 109, 112, 218 Clipboard 16, 17, 19, 47, 64, 66 Clock 108, 109 COM 11, 54, 55, 56, 80, 87, 100, 101, 219, 220, 221, 223 Communication 11, 12, 44, 100, 148, 154, 158, 160, 166, 168, 169, 219, 220, 224 Communication port 55, 79 Controller COM port 44 Digital 114, 212 Download 10, 11, 12, 13, 16, 21, 22, 28, 29, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 49, 51, 62, 63, 167 Drive 9, 11, 43, 44, 51, 62, 63, 110, 142, 144, 148, 156, 160, 162, 175, 187, 220, 226 Driver 9, 10, 11, 12, 22, 32, 42, 46, 48, 49, 50, 51, 55, 57, 82, 84, 85, 88, 92, 99, 100, 102, 108, 110, 113, 140, 143, 144, 145, 146, 147, 148, 156, 159, 160, 161, 162, 165, 166, 167, 169, 170, 171, 174, 175, 176, 177, 180, 183, 184, 185, 186, 187, 189, 190, 192, 193, 195, 196, 199, 203, 218, 219, 220, 225, 226, 227, 228, 232, 233, 236, 239 Driver files 46 Error 12, 42, 56, 57, 91, 95, 96, 97, 98, 99, 100, 101, 104, 105, 113, 140, 141, 142, 148, 152, 153, 154, 155, 156, 163, 165, 168, 169, 170, 171, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 184, 197, 198, 199, 207, 221, 222, 223, 224, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239 Error number 98, 99, 147, 163, 170, 171, 172, 173, 174 Error output 42, 97, 98 Error program 42, 96, 97, 98, 113, 141, 149 FEC 11, 12, 43, 44, 87, 92, 95, 96, 103, 106, 110, 140, 141, 142, 143, 166, 167, 168, 169, 203, 220, 221, 223, 225, 226 FEC Compact 43, 44, 110, 141, 142, 143, 166, 203, 220, 225, 226

FEC Standard 11, 43, 44, 110, 140, 141, 142, 143, 166, 203, 220, 225, 226 Find and replace 66 Font 33, 64, 67, 69, 81 Formatting 65 FST operand 46, 47 Function module 12, 107, 147, 231, 237 HC01 142, 219 HC02 110, 219, 225, 226 HC0X 11, 12, 43, 44, 87, 92, 95, 100, 103, 106, 107, 108, 110, 140, 141, 142, 166, 203, 219, 220, 223 HC16 11, 101 HC20 10, 11, 92, 107, 226 IF 70, 71, 72, 73, 74, 75, 76, 77, 78, 90, 94, 156, 157, 158, 159, 196, 197, 198, 203, 205, 214, 215, 216, 217, 229, 230 Import 24, 36, 201, 206 Imported module 23, 32, 36 IO area 46, 48, 83 IO module 46, 47, 48, 82, 83, 99 IO script 82, 83, 84 Kernel 44, 88, 103 Keyword 67, 188, 240, 242 LOAD 72, 73, 75, 76, 159, 196, 197, 198, 205, 214, 215, 216, 217 Main runtime program 145, 185, 190, 191, 192, 194, 195, 199 Module call 64, 65, 67, 68, 162 Operand 32, 42, 52, 53, 54, 58, 59, 60, 61, 63, 64, 65, 68, 69, 70, 73, 74, 75, 81, 88, 91, 92, 93, 94, 97, 102, 103, 105, 148, 149, 152, 163, 164, 199, 200, 225, 228, 229, 230, 238 Operating system 49, 64, 88 OTHRW 70, 71, 72, 73, 74, 90, 215 Password 45, 56, 57, 58, 63, 91, 92, 102 Print 17, 31, 32, 33, 47, 49, 53, 67, 81, 145, 152 Program module 94, 157, 169, 199, 203, 205 Real-time clock 10, 108, 109 RESET 71, 72, 73, 74, 90, 91, 94, 96 Retentive 91, 92, 107, 175 RS232 10, 54, 56, 80, 224 Serial interface 221 SET 70, 71, 72, 73, 74, 90, 91, 94, 197, 198, 203, 205 Shift 75 Shortcut 17, 64, 65, 67

Page 247: FST4 Manual

FST Version 4.02.21 Manual

247

Source 22, 23, 24, 29, 30, 36, 38, 45, 66, 179, 180, 182, 219, 232 Start 13, 14, 20, 41, 42, 43, 75, 91, 95, 96, 97, 110, 142, 144, 195, 206, 208, 214, 215, 216, 217, 227 Start/stop input 41, 95 Startup batch 43 Startup file 110 Step 11, 12, 60, 69, 70, 71, 72, 73, 74, 75, 77, 94, 104, 167, 205, 214 Step number 95, 96, 98, 104 String module 177 Subroutine 35, 37 THEN 70, 71, 72, 73, 74, 75, 76, 77, 78, 90, 94, 155, 156, 157, 158, 159, 176, 196, 197, 198, 199, 203, 205, 214, 215, 216, 217, 229, 230 Timer 12, 59, 70, 73, 89, 90, 93, 105, 111, 195, 197, 199 TO 71, 72, 74, 75, 76, 159, 196, 197, 198, 199, 205, 214, 215, 216, 217 Undo 17, 18, 66 Version 1, 10, 11, 12, 13, 26, 32, 35, 38, 41, 95, 148, 175, 184, 219, 220, 224

Page 248: FST4 Manual

FST Version 4.02.21 Manual

248

7 Modules Module name Meaning

7.1 32 Bit Arithmetik

LADD Addition of 32-bit values. LCMP Comparison of 32-bit values. LDIV Division of 32-bit values. LMUL Multiplication of 32-bit values. LNEG Change of sign for a 32-bit value. LSUB Subtraction of 32-bit values.

7.2 AS-Interface modules ASI_Mode Sets the reaction of the ASI driver to configuration errors ASI_Stat Interrogates execution control level (OUF) flags ASI_Para Transfer a parameter to an ASI slave at runtime ASI_Res Restart cyclic update

7.3 Modules for accessing the user interface

SCRATTR Calculate screen attribute SCRCLEAR Clear screen SCRCUGPO Determine current position of cursor SCRCUSPO Set current position of cursor SCRCUTYP Set cursor type SRCDOKEY Execution of a keyboard input SCREDIT Add an input field SCREKBD Clear keyboard buffer SCRFILL Fill an area with space characters SCRFKEY Specify the label of a function key SCRFLAGS Set feature flags SCRFLIP Toggle between screen page and FST CI SCRFRAME Draw a frame SCRKBD Interrogate the last input on the keyboard SCRMSG Display a string in the message line SCRNEW Draw a new, blank screen SCRPUTS Write a string at a set position on the screen SCRUPDT Refresh screen contents SCRWRITE Write a string at a set position on the screen SCRW0808 8x8 block characters SCRW0814 8x14 block characters SCRXCHG Switch between screen pages

7.4 File Handling Modules FCREATE File create FOPEN File open FCLOSE File close FCLOSALL File close all FDELETE File delete FSEEK File seek FSEEKX File seek extended FWRITE File write

Page 249: FST4 Manual

FST Version 4.02.21 Manual

249

Module name Meaning FREAD File read FWRITSTR File write string FREADSTR File read string

7.5 Get date and time modules F10 Set time F11 Set date F12 Get time F13 Get date

7.6 FEC Remote E/A-Expansion REMDIAG The Remote FEC software package also includes software for

monitoring the status of the FEC Remote I/O devices from within the user application program. If you want to include this capability in your application, you need to import the REMDIAG Remote FEC error counter into your FEC MASTER project.

7.7 Function blocks F40 Configuration of a fieldbus participant F41 Read parameter field F42 Write parameter field F43 Reset all cyclical outputs on the fieldbus. F44 Status interrogation for a fieldbus participant

F47 Set error handling F48 General configuration

7.8 Festo Fieldbus Slave Module

FBSLAVE If you want to use the IPC to become a fieldbus slave, you must enter and parameterise the FBSLAVE driver in the configurer.

7.9 Incremental Encoder for FEC and HC0X CPUs ABRESET To reset the counter value call the module ABRESET. ABMODE Pin I0.7/I1.0/I3.0 can be used to reset the counter. The counter

will be reset if I0.7/I1.0/I3.0 is active and a positive edge is de-tected on one of the A/B inputs. You can choose between 4 modes.

7.10 Profibus DP (CP62) Modules DP DP_USIF Get the current USIF status DP_GETSL Checks whether a diagnostic request is present DP_GETDG Obtains diagnostic information from a DP slave DP_CONTR Profibus function „Global Control Request“

7.11 Profibus FMS Drivers FMSREAD Read (polled response) FMSWRIT write (polled response) PID Driver PID Driver PIDCFM PID Regulator

Page 250: FST4 Manual

FST Version 4.02.21 Manual

250

Module name Meaning

7.12 Positioning with AM10, AM11 or AM20 or AM30 AMXX (only AM10, 11, 20)

Positioning with stepper motor or servo electrics

AM30CFM Positioning with servo pneumatics

7.13 Function blocks to control the execution of programs F4 Start cyclical execution of a program F8 Stop all cyclical programs F23 Interrogate whether a program is ready for execution F26 Control programs whose numbers are stored in variables

7.14 Serial communication

OPENCOM Open serial interface CLOSECOM Close serial interface GETCOM Send character PUTCOM Receive character PRINTCOM Send string READCOM Receive string (incl. delimiter) READLCOM Receive string (excl. delimiter)

F30 Set interface parameters F31 Activate CI F32 Clear buffers

F34 Interrogate status

F35 Change delimiter

BREAKCOM Set/Reset hardware break (SERIALDR only) SETRTS Active handshake for RS485 (SERIALDR only)

IS485 Check if handshake is active (SERIALDR only)

7.15 Further modules

Blink General blink bits FIFO "First-in-first-out" memory LOADSYNC Synchronisation of project (re)loading

7.16 Fast Counter for FEC and HC0x FECCNTR Defining the operating parameters of each Counter, activating

or resetting each Counter, checking the status and current value of each Counter

7.17 String modules STRADDR Determine internal address of a string

STRAPPND Append a character at the end of a string STRATOH Convert a hexadecimal string into a word

Page 251: FST4 Manual

FST Version 4.02.21 Manual

251

Module name Meaning

STRATOI Convert a string into a signed word STRATOIX Convert a string into a signed word

STRATOU Convert a string into an unsigned word

STRCAT Combine two strings in a third string

STRCHECK Memory check

STRCHGET Extract a character from a string

STRCHSET Replace a character in a string

STRCI Execute a CI command

STRCLR Delete a string

STRCMP Compare two strings character by character,

differentiating between upper and lower case STRCPY Copy string

STRDEL Delete part of a string

STRDUMP Display a number of strings

STRFILL Create a string with a specified number of identical characters STRFILLW Fill a string with another string, right- or left-justified

STRFINDC Find a character in a string

STRFINDS Find a substring in a string

STRGROW Enlarge the string memory for an individual string STRHTOA Convert a word into a hexadecimal string STRICMP Compare two strings character by character,

not differentiating between upper and lower case

STRINIT Initialisation or re-initialisation

STRINSRT Insert a string into another string STRITOA Convert a signed word into a string

STRLEFT Left substring

STRLEN Length of a string

STRLOWER Convert a string to lower case

STRMID Convert a string to lower case

Page 252: FST4 Manual

FST Version 4.02.21 Manual

252

Module name Meaning STRNCMP Compare the first characters of two strings,

differentiating between upper and lower case

STRNICMP Compare the first characters of two strings, not differentiating between upper and lower case

STRRIGHT Right substring

STRSTAT Status of string driver

STRUPPER Convert a string to upper case

STRUSAGE Used and free memory

STRUTOA Convert an unsigned word into a string

7.18 Modules for TCP/ IP

EASY_R Request a block of operands from another IPC. EASY_S Send a block of operands to another IPC. IP_ALIVE Check whether IP address is known IP_IP Get/ set our IP address. IP_MASK Get/ set our IP netmask IP_TABLE Get/ set IP address from/ to table. DNS_NAME Get/set hostname and domain name DNSRESOL Resolve hostname to IP address IP_DNS Get/set IP address for DNS server

IP_GATE Get/set IP address for gateway

IP_MAC Get Ethernet MAC address from network module PING Ping SNTPTIME Start time synchronisation TCP_CLOS Close TCP connection

TCP_HAND Activate TCP handler

TCP_OPEN Open TCP connection

TCP_RES Reset TCP handler

TCP_SEND Send a TCP datapacket

TCP_STAT Status of TCP connection TCP_STR Send a string through TCP

TFTPFILE Send / request a file

UDP_FW Send a FW block to another IPC

UDP_HAND Activate UDP handler UDP_SEND Send an UDP datapacket

Page 253: FST4 Manual

FST Version 4.02.21 Manual

253

Module name Meaning UDP_STR Send an UDP datapacket