Click here for fast information :Home | Siemens | AllenBradley/Rockwell | Mitsubishi | SCADA |Training | PLC Communications | Emergency Support | Vision Software | contact us

Click here for our Home page and full range of training, fault finding support and programming

Horrible Bugs in the S5 to S7 Conversion Process

Last Updated March 2002

This page documents some of the nastier bugs we have found in the "Converting S5 Files" section of Step 7. This information is valid as of Version 5.1 with SP1. While this conversion process performs about 95% of the work for you it does have rather major problems which you ought to be aware of...


Current Major Bug List

We have currently found the following fairly horrendous bugs in this process.

Bug 1 - Writing to Output Parameters

Bug 2 - Random instructions appearing in S7

Bug 3 - Datablock Conversion with Strings

Bug 4 - Output Parameters (Again)

 


Bug Details Follow Below....

 

Bug 1 - Writing to Output Parameters

If your S5 function blocks have "output" parameters and you try to read from them before writing, the S5 to S7 conversion 

program isn't clever enough to realise this and translates the "output" parameters as S7 Output parameters (instead of input/output

which is what you want).

.    

This is bad since you cannot read from S7 output paremeters (as you can on S5). Note that in S5 the only effect of the "output" 

parameter is the position it's displayed in ladder when looking at the function block call. In S7 it's a bit different. Reading from an output

parameter (which you haven't yet written to in S7) produces no compiler (or any other) error but you will read rubbish.

Bug 2 - Random instructions appearing in S7

Random instructions inserted during conversion. This has happened on occasion, although not enough for us to determine the cause.

 

Bug 3 - Datablock Conversion with Strings

If you have a datablock with KS definitions, eg:

KS 'Hello!'

then the S7 conversion translates and puts two character (for the S7 String length) in front of it. This is likely to completely screws up the conversion as your datablocks grow in size and the datawords are all in a different place! For example:

This datablock in S5

0: KF = +00000;

1: KS ='2375.0';

4: KF = +00000;

5: KF = +00001 
translates to:

DB102.DBW    0	HEX	W#16#0000

DB102.DBW    2	HEX	W#16#0606

DB102.DBW    4	'23'

DB102.DBW    6	'75'

DB102.DBW    8	'.0'

DB102.DBW   10	HEX	W#16#0000

DB102.DBW   12	HEX	W#16#0001





where the number 1 which was in (S5) DW5 is now in (S7) DBB12 instead of DBB10 as you would expect (and somewhat hope for).  

This will obviously make any code relying on the previous layout of the datablock fail dismally!  What were they thinking of?

Bug 4 - Output Parameters (Again)

This isn't so bad but makes the convert process fail. If you have S5 output paremeters defined before your S5 input parameters the conversion will fail. You just have to change it all by hand (in S5) to ensure that your output paremeters come afterwards.

 

Summary

This page documents some of the bugs we have found in the "Converting S5 Files" section of Step 7. This information is valid as of Version 5.1 with SP1.

 

Disclaimer

We do not imply any accuracy of the information above.

 

Home