Office 0049-(0)40 - 866 298 75
Mobil 0049-(0)171-28 52 405

The PMS Flow Chart Editor FC2

Develop Real Time Software in Flow Charts

What is FC2 good for ?

The flow chart editor PMS-FC2 offers you the graphical programming your applications in the very easy and fast way of flow charts. The PMS Flow Chart Editor creates automatically a C source code, which is functionally identical to the graphical program. UNIVERSAL PROGRAMMING STUDIO and the PMS Flow Chart Editor offers a target hardware independing software development. The portation of flow chart diagram software to a big number of target hardwares is very easy. All the other graphical programmng languages of UNIVERSAL PROGRAMMING STUDIO can easily be combined with flow chart diagram programs. The profeassional release of the PMS Flow Chart editor offers in combination with UNIVERSAL PROGRAMMING STUDIO a download of target code (EXE, Intel-Hex or Motorla S-Record) to the target hardware. The flow chart program can be visualized and controlled online via Ethernet, CAN and LIN or be simulated on the PC in real time. The target software can be started and stopped in the target hardware and process data can be read and written in the target hardware.

The Highlights

  * Project oriented programming with the same touch and feel as in other MS-Tools
 * Programing and documentation in one step
 * Automatical creation of highly efficient real time C code each time you save your flow chart diagrams
 * Simulation of flow chart diagrams directly in FC2
 * Online emulation of flow chart diagrams directly in FC2 via Internet, Ethernet, CAN and LIN
 * Cut copy and paste of flow chart elements inside projects as well as between projects
 * Unlimited undo and redo functionality
 * Full fexibility and full power editing, as f.x. shift, insert and delete objects and sqeeze and stretch connections
 * The build-in syntax check finds errors in the flow chart diagram and marks them for a fast and easy correction
 * Comments can be placed freely everywhere on the document
 * All printing features are offered as f.x. print document, print project and print preview
 * Reference list for symbolic names of standard PLC variables or other variables are offered
 * Object sizes, object colors, text fonts and many other properties can be set freely
 * Individually for each flow chart diagram can all properties be set via dialog boxes
 * User interface with menus, context menus and icons
 * Up-to-date context sensitive compressed Html help with contents and indexes


Quick start tutorial

Now we will write a simple flow chart program. First create a new file with the menu "File-File new" or with Ctrl-N. The new file temp2.fc2 will emerge.

In the toolbox select "Label" and click the mouse, where you want to place the label.
Select "Action" in the toolbox and click the mouse below the lable. The action object will emerge, together with a connection line.
Select "Label return" in the toolbox and click the mouse below the action. The return label object will emerge, together with a connection line.
Now right click on the action box. In the properties window click on "action text" and enter the c code "var1 = 10;" Press the enter key and the c code will appear in the action box.

Congratulations ! You have just successfully written your first FC2 flow chart program. Isn't this a quick and easy way to write software ? Now you might save your program with the menu "File - File save as". Enter "QuickStart" as the new file name and confirm the inputs by clicking the OK buttom. A corresponding c source code file should have been created. Look at the generated c file in the below tab "Generated code":

Let's have a short look at your start up program. It consist only of the starting and ending label and a simple action. The generated C code consists of a routine called "QuickStart", so FC2 automatically took the file name also to be the routine name to make things simple for you. In the following tutorials you will see that FC2 really has many powerfull features to develop software in a procedural and modular way.

Using pages

The work sheet of FC2 is made for printing your flow charts on DIN A4 paper. This limits the size of  the work sheet. But by adding new pages you can extend your software unlimited.

Let us now generate new pages and see how to move around in our flow chart. First establish a new file by "File - File save as" with the name "UsingPages". Then enter this flow chart:

Right click the openning label and enter the label text "Pages".Then right click the if object and enter the if text "a > 10". Press the enter key. Right click the left return label and enter the return label text "Coarse". On the right return label you enter the return lebel "Fine".

Now you create a new page by the menu "Navigate - New page" or by clicking on the tool strip object "Add page". The tool strip object shows a yellow plus sign and will show "Add page", when you hover above this buttom. The tool strip now displays "2 of 2", because page 2 of two pages is displayed. On page 2 and 3 enter these flow charts:

When you finaly have saved this flow chart, you can have a look at the generated C code in the tab "Generated code".

Making loops

You can enter loops into your flow chart with the While and For objects. For detailed information see "Description of the Flow Chart Objects" below.


Description of the Flow Chart Objects

The Label object

The start label
The start label name of a flow chart will automatically be given the name of the flow chart file. When the label has a different name the debugging will not function properly.

The start label parameters
The start label parameters and the return data of a flow chart are determined in the properties of the starting label. The start label parameters and return data can be entered by right clicking the start label.

The return label
The return label is a return label with no text. For more information look below.

The enty point label
The entry point label is a starting label with the text of the respective entry point.

The return label
The return label is a return label with no text. A return label can either return no data to the calling routine or it can return a single variable of a certain type or it can return a structure of data. The type of return data is determined in the starting label.

The jump label
The jump label is a label, which will do a jump to another place inside your flow chart, for example to an entry point on another page. PMS-FC2 will always check if there is a corresponding entry point label. Jump out of a flow chart is not allowed because this could lead to a severe error, and anyhow is a breach to software quality.

The Action Object

In the action object you can enter all kinds of C code, as local variable declarations, setting of variables, query variables, subroutine calls and so on. The start label will generate code with the return data automatically, so this should not be done a second time by the author.

The Function Object

The function object is intended for making subroutine calls. You can enter arguments and return data as freely as in C. When you debug your flow chart, only function objects will feature the stepping into the new function by openning the subroutine even when it is not a FC2 flow chart routine.

The Line Object

Draw a new line object
The line object is used to connect the flow chart objects so that they have the intended functionality. When the line shall change the direction, left click the mouse and then draw in the new direction. To terminate the line drawing operation, right click the mouse.

Modify an existing line object
On an existing line object you can lengthen or shorten the end points by left clicking on the line ends and then move the cursor in the intended direction while keeping the left mouse button pressed. In this way you even can inverse the line direction. Also middle lines can be modified just by left clicking at it and then move the mouse in the intended direction, while keeping the left mouse button pressed.

Freely movement of lines
Lines can freely be moved by left clicking the line while pressing the control key on the keyboard. With continued pressed left mouse button you can move the line anywhere. Attention! All activated objects will partitiopate in the object movements.

The If Object

The if object directs the program flow depending on the boolean result of a querry, equivalent to an if statement in C. The upper edge is intended for the flow entry and on the remaining edges you can set the Yes and No outputs of the if object. When you right click the if object you will see the Yes output and No output fields in the property window to the right. You can choose between Left, Right and Buttom. Surely the Yes and No outputs can not share the same edge. Check the if object on the screen to ensure a correct processing.

The Switch Object

A switch object is similar to an if object. The only difference is, that the switch object offers you more than two different flow directions.

The switch selector
The switch selector is for example an integer variable. The switch selector is entered in the switch property window in the value field of Switch text.

The switch case
When the switch selector has for example the value 3, then in case that the selector has the value 3 the program flow will take this program flow output. Enter the switch cases in the case property window in the case value fields. Then right click the switch object another time. Now all the remaining properties will be shown as the case number and the case items.

The switch end object
The switch end object is the counterpart of the switch object. All cases and all flow directions are reunited here again.

The While Object
The while object enables you to make program loops. When the while end object is reached, there is a jump back to the corresponding while object. The while object is repeated as often as the argument of the while object is true, otherwise the loop is finished. How the loop argument is modified in the flow chart, so that it will have a false result to finish the loop is in the hand of the user.

The while end object
The while end object is the counterpart of the while object. It creates a jump back to its respective while object.

The For Object

The for object enables you to make program loops, similar to the while object. When the for end object is reached, there is a jump back to the coresponding for object. The for object is repeated as often as the second argument of the for object is true, otherwise the loop is finished.

The for object arguments
The first for argument is initialisating the loop argument, by for example "count = 10".
The second argument is the loop argument, for example "count > 0".
The third argument is the loop argument manipulator, for example "count--".
Each argument should be terminated by a semicolon, except the last. So in the For text value field you should enter "count = 10; count > 0; count--". This is also the C syntax. The arguments in this example will lead to 10 loops.

The for end object
The for end object is the counterpart of the for object. It creates a jump back to its respective for object.

The Connector Object

The connector object connects two or more line ends to direct the program flow of two or more input lines into one output line. The connector and the line end must fit 100%, so please check the connections by for example activating all objects.

The Text Object

The text object is offering comments in your flow chart. The flow chart code generators will automatically make commenting texts in your target code.