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
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...
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)
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.
Random instructions inserted during conversion. This has happened on occasion, although not enough for us to determine the cause.
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?
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.