Support - Frequently Asked Questions

Q. I have a model which is assembling different products on a machine using the receive from feature of the stage parameters. I want to add the attributes of the various products and put the sum on the produced product. I have set attribute operation (Model|Element Parameters|More)to sum, but it does not seem to work.

A. Attribute operation applies only to batches, not assembly operations. To achieve your aim, you will need to use triggers. It is worth noting that the entry trigger on the assembly element is always activated by the product being sent, but is only activated by the product being received if the separate box is checked in the element parameters more dialog. As we usually do not want to keep assembled products separate, we have to use an exit trigger on the received from element. For example Machine 6 is sent to from buffer 5 and receives from buffer 4

Trigger on exit from 4 var[4]:=att1[C]

Trigger on exit from 5 att1[C]:=att1[C]+var[4]

A common error with assembly is to configure the receive from element to send to the assembly element. This creates a circular reference error, and the receive from element should be set to send to 0.


Q. I have a model with a large number of paths in it. I want to add additional paths but when I do this, ShowFlow crashes.

A. You have almost certainly exceeded the maximum number of nodes allowed. This is 127. A node is a connecting point of paths, or an end of a path. Thus a single path has two nodes, two paths connected in series have three nodes, four paths in series have five nodes, but four paths connected in a square have only four nodes.

Q. Can I put comments into a function?

A. Yes, and it is essential to do this if your functions are at all complex. Start the line with #>, and it will be treated as a comment.


Q. Can I structure TLI statements across several lines to make them more readable?

A. Not so far, but if you are using the function editor, it is usually possible to write a series of individual TLI statements as an alternative to a long nested if..then..else statement. For example, the following TLI statement (which would be on a single line)

if elqueue[3]=0 then elqueue[E]-storagecap[E] else(if storagecap[E]-elqueue[E]<12 then 100-(storagecap[E]-elqueue[E]) else (if product[E,1]=product[3,1] then 1 else 0))

Can be put into a function like this:

function if_then=p3
p2:=0
if elqueue[3]=0 then begin p2:=1; p3:=elqueue[E]-storagecap[E] end
if p2=0 then (if storagecap[E]-elqueue[E]<12 then begin p2:=1; p3:=100-(storagecap[E]-elqueue[E]) end)
if p2=0 then (if product[E,1]=product[3,1] then p3:=1 else p3:=0)

You may not feel that this makes things a lot clearer, so perhaps we should be asking the developers to allow structured TLI in a future release!


Q. Is the cycle time on a machine factored by the incoming batch quantity?

A. No. The cycle time is for the incoming batch as a whole. If you want to adjust the cycle time for different batch quantities, you can use a trigger on entry and the curcycle and curbatch functions. For example:

curcycle[E]:=curbatch[E]*6.50

In passing, the element capacity needs to be large enough to accommodate the largest incoming batch quantity, but not the outgoing batch quantity. For example, if you have an unpacking operation where a single incoming product is unpacked to ten products, the capacity of the unpacking element should be 1. Of course the capacity of the element you are sending the batch to should be at least 10.


Q. Can I incline conveyors?

A. Yes. The z size of a conveyor represents the difference in height between the start of the conveyor and its end, in centimetres. It can be set using the sizzelem function, or from Model|Element Parameters|Layout in the menu system. In fact, if you set the x size of a conveyor to zero, and the z size to non zero, you can create a lift.


Q. I cannot get the “time as text” feature in Settings|Time Representation to work.

A. This is a bug. It worked fine in Taylor II, and we did not think we had made any changes to affect this feature, but apparently, we must have done. This has been fixed in ShowFlow 2 - upgrades available!


Q. How can I read and write to Excel?

A. Unfortunately, the help file section describing the functions used to do this was omitted from the original ShowFlow version 1 package. We have emailed it to anyone who has asked about it, and a revised help file is available on the web site. There are four functions that are used to do this, and the following example demonstrates the basic approach.

function excel_link

ddesetsheet[1]

#> this associates the following ddelink sheet to a list of sheets

#> only used if you are using several worksheets in a workbook

ddelink[“connect,excel_e,Data”]

#> this links a worksheet called ‘Data’ to ShowFlow

ddesetsheet[2]

ddelink[“connect,excel_e,Results”]


function excel_read

ddesetsheet[1]

#> we want to read from the Data worksheet

#X[1..100]

matrix[X,1]:=ddereadcell[X+2,1]

#> read rows 3 to 102 from Data column A

#> into rows 1 to 100, column 1 of the matrix table


function excel_write

ddesetsheet[2]

#> we want to write to the Results worksheet

#X[1..100]

ddewritecell[X+2,2,matrix[X,4]]

#> write rows 1 to 100, column 4 of matrix

#> into rows 3 to 102, column B of Results spreadsheet

Note that ShowFlow can only refer to columns in an Excel worksheet with numbers, 1=A, 2=B etc. If you use a repeating user event to execute a function to write to Excel while the model is running, you can set up dynamically updating graphs in Excel. Nice!


Q. Often when I edit a conveyor, (by moving or repositioning with the mouse) the speed of the conveyor goes haywire. I notice the "capacity" does not update and I thought this was the reason the speed was being overridden, but when I edit this it does not correct. The only way to fix it is to delete the conveyor and draw a new one, but then the sequential numbering is destroyed. What am I doing wrong?

A. The length of a conveyor is set when you first create it in the layout editor. (i.e. When you release the mouse button). If you subsequently change the length, the "length" parameter is not changed. ShowFlow does not associate the logical length of the conveyor (or path) with its scale length (except on first creation), so when you change the scale length the visualisation appears to change the speed. An example should make this clearer. Suppose you create a conveyor 10m long. At the default speed of 1 m/s it will take a product 10 seconds to pass along the conveyor. If you then change the scale length to 20m, ShowFlow will still move a product from start to end in 10 seconds, so visually it looks as though the speed has been doubled.

The solution is to edit the length parameter, found in Model|Elements|Element_Parameters|Various to reflect the new scale length of the conveyor.

The capacity of a conveyor defaults to its initial length in metres. Subsequent editing also does not change this, so if the capacity is wrong, you need to change this explicitly too. Note that the actual capacity of the conveyor may be less than the nominal if the product size is greater than 1 metre, or if product spacing is greater than zero. The corollary of this is that if you have products smaller than 1 metre, you will need to alter the default capacity of the conveyor to ensure that for example a 10m conveyor has capacity for 20 products of size 0.5m.

In passing, the capacity of buffers defaults to the product of initial length and initial height. This is why a buffer produced just by clicking (as opposed to click and drag) is 10 as the icon is 5m by 2m. Further on using the layout editor, the shape of element produced by a single click (rather than click and drag) is either a default size (see below) or the same size as the most recently previously created element of the same type. Default sizes (width x depth x height) are:

Machine 5x2x1

Transporter 1x1x1

Buffer 5x2x1

Aid 5x2x1

Conveyor 10x0x0 but visualisation is 10x1x1

Path 10x0x0 but visualisation is 10x1x0 unless single track

Warehouse 10x1x5

Reservoir 5x2x1

In/Out 5x2x1


Q. Is there any way I can duplicate an element without having to create it again and edit all its parameters?

A. There are two possibilities here. One is to use the “clusters” features in ShowFlow. This allows you to create sub-models that can be imported into a main model. The main drawback of using clusters is that the format of select statements used to direct flow from one cluster to a different one becomes more complex. For example, to send from the main model to stage 1 of several clusters requires a statement like “select 1 from 1:s1,2:s1,3:s1” and so on.

An alternative approach, which we use a lot ourselves, is to create the required number of elements of a particular type initially, then define all the parameters for the first one. Leave the Element screen and right click on that element. This brings up a dialog that includes “Copy”. If you select this, you get a choice of copying all parameters or selected ones. Then move to the next element and right click. Now select “Paste”. All the selected parameters will be copied to that element. If you have created your elements sequentially, “ Paste Range ” will allow you to copy the parameters to all the other elements in one go.

One final point here, and that is the use of “E”. Suppose we have a series of 10 buffers, numbered 2 to 11 , each sending to a single machine in a set numbered 12 to 21. Buffer 2 would send to 12, buffer 3 to 13 and so on. However, if instead you send buffer 2 to E+10 (select 1 from E+10), ShowFlow will substitute the element number during execution. This allows us to copy the element parameters without further editing. You will find that experience will lead you to creating your elements in a sequence that lets you take full advantage of these short cuts.


Q. I have a CAD drawing that I would like to use as a background for my model. How can I do this?

A. There are two ways to do this. The first is to export your drawing from your CAD package as a bitmap (use a .bmp suffix). Put the saved file into the same folder as your model. If you do this, edit the drawing first to remove any background hashing or shading as this will not look good in the bitmap, and try to edit out lines that are very close together Ė these will look very messy if you zoom the model. Go to View|Background and in the Drawing type box, select Bitmap, then click on the box to the right of the file name dialog and select your bitmap. You will have to experiment with the scale and X and Y positions.

The second way produces a much nicer result, and that is to create an HPGL plotter file. If you are using an early version of Windows you may find that setting your CAD package to use a HP7470 plotter and printing to a file will produce a usable file. Rename the file with a .plt suffix and put it in the model directory. Follow the steps above, selecting HPGL as the drawing type. You will almost certainly need to set the scale to 1000+. If you are using a later version of Windows, there is bad news. Support for pen plotters has been pretty well abandoned, and even if you find a driver, it may well not produce a usable result. However, the better news is that we have found a suitable driver, but it is quite expensive, over $250. If you want to know more, contact us. If your needs are only occasional, we offer an alternative where you can email us your .dwg file and we will send you back a model shell with a suitably scaled .plt file. We make a $40 charge for this service.

The advantage of using a plotter file is that the drawing is vector based, so it scales perfectly, and it is fairly easy to match the ShowFlow scale with the drawing scale. That way when you build the model against the background drawing, any elements where size is a factor (conveyors, paths) will be correctly dimensioned automatically. When you have built the model, go to View|Animation|Elements and uncheck Outlines. When you run the model, the products will appear to move through the CAD drawing. Magic!

We have a small sample model which shows the type of result you can achieve, if you want a copy, let us know.

Q. I am using Windows 7 and ShowFlow will not run at all or keeps asking me for a licence number.

A. Please refer to the following document as it contains important information regarding Windows 7 and ShowFlow

This document has been prepared to help ShowFlow users install/migrate their ShowFlow system to Windows 7.  In passing, Windows 8 32 bit seems a little more tolerant, you simply need to enable 16 bit support (a window pops up asking whether you want to do this.  We have not had the opportunity to test the 64 bit version of W8, but we suspect we will have the same problem as Win7 64 bit.  However, Microsoft offer as number of virtual operating systems as free downloads and you should be able to find one to suit.

Please note that the instructions and comments here have been tried out using Windows 7 Professional 32 bit, and ShowFlow v2 and v2.5. Sadly Windows 7 64 bit does not seem to support either version. If you are running Windows 7 64 bit Professional or higher, you can install XP Mode in a virtual machine. With Home or Home Premium versions of W7-64 you will need to install the Microsoft Virtual Machine and then install your own copy of XP in that. You can also upgrade your OS to Professional via the "Anytime Upgrade" system (right click on "Computer", select Properties and the access is on the next screen "Get more features with a new edition of Windows 7".

We have anecdotal information that suggests ShowFlow will run natively in Windows 7-32 Home and Home Premium but have not been able to test it for ourselves. We have also not tested ShowFlow version 1. If you are still using v1 (why?), and you get that to work in W7, let us know.

Step 1.

Close any running applications, then install your ShowFlow system from the CD, as usual. Do NOT check the option to run SF on completion of the installation.

Step 2. Note that this step is not necessary for the free Student version.

Because the licence screen for ShowFlow was created in the days of 800x600 resolution screens, if you have a high resolution screen, or a wide format screen, the graphic for entering your licence information may be inaccessible, so temporally reset your screen resolution to 800x600. Then run SF for the first time and enter your licence information, then close SF. Do not open any models! Change your screen back to its usual resolution. NB. Some laptops (especially HP/Compaq) use a stretched mode for the screen. This can sometimes make the licence screen inaccessible. The stretch mode can usually be turned off in the computerís BIOS. Refer to your computerís instruction manual. Once ShowFlow is licensed, you can revert the BIOS setting back to stretch mode.

Step 3.

Windows 7 does not like application data files in the Program Files folder, and this applies to ShowFlow model files. You can leave models within the folder, but they will be invisible from outside ShowFlow. So, using Windows explorer, transfer the Models folder from the ShowFlow 2 folder to C:\Users\{your user name}. You can copy any other models you have into your Users folder too.

Step 4.

The desktop shortcut to start ShowFlow created by the install program points to ShowFlow2.exe. Unfortunately for an as yet unexplained reason, when you click on this, you get asked if it is OK to run the program. With the Student version it brings up the licence screen. Right click on the shortcut, select properties and change the program to sf2.exe

Step 5.

Now try running ShowFlow by clicking the shortcut. If it works, try opening a model file in your Users folder. Run it and save it. If all is well, close SF. You will almost always get a warning dialog saying SF2 caused a general protection fault. Donít worry about it, weíve had this since Windows XP, just click Close. It does no damage to either ShowFlow or Windows.

Step 6.

If Step 4 did not work, navigate to the ShowFlow2 folder in Program Files, right click sf2.exe and select Properties. You will see an entry in the list Troubleshoot compatibility then click on Troubleshoot program. On the next screen, check the entry "The program worked in earlier versions of Windows Ö.". The next screen shows a list of previous versions of Windows, select "Windows XP (Service Pack 3)", then click on Next. Click on "Start the program..", then Next. If nothing appears to happen, check the menu bar for a yellow and blue shield. Click on this (it is the User Account Control) and click "Yes". Thatís it!

Step 7.

The first time you try to open the help file, you will get a message that W7 does not have the software to open files with a .hlp extension. Unusually (!), it also guides you to a fix for this which is a free download from Microsoft that restores compatibility.