Professional Documents
Culture Documents
Background:
This document outlines an engineering procedure for S400 I/O to S800 I/O conversion.
Preconditions:
In order for the material in this document to be useful an Excel file must be used. This
Excel file can be found in ABB Library as Appendix C (“AppC”) to this document.
Contents:
1. Introduction .............................................................................................................. 2
1.1 Prerequisites and Requirements .................................................................. 2
2. Installation................................................................................................................ 2
3. Configuration ........................................................................................................... 3
4. Operation.................................................................................................................. 3
4.1 Design the new S800 I/O layout ................................................................... 4
4.2 Make a Database Source Code Dump of the MasterPiece 200 or
AdvantController 400.................................................................................... 4
4.3 Convert Database Source Code Dump from Online Builder format to
Windows format ........................................................................................... 4
4.4 Back-translate Database Source Code into Function Chart Builder.............. 5
4.5 Export DB Section from Function Chart Builder............................................ 6
4.6 Open the exported DB Section file in Excel .................................................. 6
4.7 Run the S800Initialize Macro........................................................................ 8
4.8 Run the ConvertS400 Macro for each AX/DX unit ........................................ 9
4.9 Save the S800 Database Source Code ...................................................... 10
4.10 Convert Database Source Code Dump from Windows format to Online
Builder format............................................................................................. 12
5. Section 5 – Maintenance ....................................................................................... 12
6. Section 6 – Known Limitations ............................................................................. 12
7. Appendix A – S800 I/O Example Layout ............................................................... 14
8. Appendix B – Excel VBA Source Code................................................................. 15
9. Appendix C – Conversion Sheet........................................................................... 25
1. Introduction
This document describes a set of Microsoft Excel macros that can be used to convert ABB AMPL
Database Source Code for S400 I/O to Database Source Code for S800 I/O. The intention is that these
macros be used in conjunction with the hardware conversion kits TU40x for upgrading of S400 I/O
installations to S800 I/O.
Database Source Code from MasterPiece 200 or AdvantController 400 is first back translated into the
Function Chart Builder and re-exported as a delimited file, readable by Excel. The macros will then read
the I/O signal data for the individual S400 channels and map them to S800 channels based on user input
for AF100 bus number, station and position. Some Database terminal values that are not compatible
between S400 and S800 I/O are automatically converted in this process. The S800 I/O Database Source
Code is then saved as a text file that can be translated into an AdvantController 400 or, alternatively,
back translated into Function Chart Builder for further handling.
These macros are provided as shareware and even though they are believed to be free of errors at the
time of this writing you may experience problems during their use.
In no event shall ABB be liable for direct, indirect, special, incidental or consequential damages of any
nature or kind from the use of this document, not shall ABB be liable for incidental or consequential
damages arising from the use of any software or hardware described in this document.
These macros have been tested with the following Excel versions and operating systems:
• Excel 2004 for Mac on Mac OS X 10.3.6
• Excel 2002 SP-1 on Windows XP Professional version 2002 SP1
• Excel 2000 SP-3 on Windows 2000 Professional SP4
• Excel 97 SR-1 on Windows NT 4.0
They will likely work on other versions of Excel and Windows as well.
These macros have been tested on Database Export files created with the following versions of Function
Chart Builder:
• Function Chart Builder 6.0
• Function Chart Builder 6.1
They will likely work on Database Export Files created with Function Chart Builder 4.3 or later.
2. Installation
No separate installation is needed. Simply place the file S400toS800.xls in the proper directory,
depending on operating system and access required.
3. Configuration
The macro source code is not protected and can be freely modified if you feel that it does not meet your
needs. One particular change that you may want to make concerns the naming of spare I/O channels.
The number of I/O channels on the S400 I/O units does not exactly match the number of I/O channels on
the replacement S800 I/O units. To compensate a number of spare S800 I/O channels are inserted in
the S800 I/O Database Source Code during the conversion. Spare channels may also exist in the
original S400 I/O configuration. The macro identifies these spares by looking for the original default
name, such as DX107.12. Both the extra S800 I/O spares and the original S400 I/O spares are recreated
in the S800 Source Code as having all default values, as defined by the system GENERAL DEFAULTS.
In addition, all spare channels are given a unique name; based on a naming convention that includes the
AF100 bus number, station number and position as follows:
<I/O type><bus number>_<station number>_<position>.<channel>
Example: an AIS810 on bus 1, station 12, position 102, and channel 5, will be named AI1_12_102.5.
This naming convention makes it easy to locate a spare signal in the Online Builder using the MDB
command if you know the bus number, station number, position and channel. It mimics the way S100
and S400 signals can be called up using board and channel number or bus, node and channel number
respectively. The MDB command also supports calling up an S800 I/O signal with the syntax MDB <bus
number>,<station number>,<position>.<channel> but this syntax does not always work, especially for
DO and AO signals.
If you wish to restore the original S800 spare I/O signal naming convention you need to comment out two
lines in the private subroutine CreateSpareChannel. They are clearly marked in the code.
4. Operation
The following paragraphs outline a procedure to convert S400 I/O to S800 I/O. This conversion can be
described with 10 steps:
Step Description
1 Design the new S800 I/O layout
2 Make a Database Source Code Dump of the MasterPiece 200 or AdvantController 400
3 Convert Database Source Code Dump from Online Builder format to Windows format
For each S400 I/O unit you need to determine following parameters for the replacement TU40x unit:
• Advant Fieldbus 100 bus number.
• Station number
• Position for the first S800 I/O unit on the TU40x unit.
The macro will automatically determine the correct TU40x unit type.
4.2 Make a Database Source Code Dump of the MasterPiece 200 or AdvantController 400
After conversion you need rebuild the system that is retranslate the complete controller node, PC and
Database. Therefore, at this stage it is a good idea to take a complete Database and PC Source Code
dump.
4.3 Convert Database Source Code Dump from Online Builder format to Windows format
Figure 1
There is no need to convert the PC Source Code to Windows format (*.AAX) for the purpose of the S400
I/O to S800 I/O conversion, but you may want to do so anyway, especially if you are planning to verify
the end result in Function Chart Builder before translating back into the AdvantController 400.
The Excel macros will extract the S400 I/O information from the exported delimited Database file
regardless of whether other Database information, such as S100 I/O, PIDCON, MOTCON etc. is
present. The exported file will, however, be easier to navigate, and the S800 I/O conversion quicker, if
only S400 I/O information is present. This can be accomplished in a couple of different ways:
• Edit a copy of the Windows format Database Source Code file (*.BAX) and delete everything
except S400 I/O information. Use this file to back-translate into Function Chart Builder in the next
step.
• Back-translate the complete Windows format Database Source Code file (*.BAX) into the Function
Chart Builder and export only the S400 I/O portions. This will result in several exported files.
These files can be merged in Excel using cut and paste.
• Back-translate the complete Windows format Database Source Code file (*.BAX) into the Function
Chart Builder and export the complete Database. The exported file can then be opened in Excel
and non S400 I/O information deleted before starting the S800 I/O conversion process.
Figure 2
Figure 3
The exported file is located in the LIST subdirectory for the MasterPiece 200 or AdvantController 400
and can be recognized by the .DBT extension. The file can be opened from inside Excel, or, after
assigning .DBT files to always be opened by Excel, simply by double-clicking the file.
Figure 4
See Excel documentation for details on how to access and run macros.
Figure 5
Figure 6
Use of wildcards is recommended, and even required to avoid name conflicts if you are converting an
AdvantController 400 that already has a mix of S400 and S800 I/O. The main drawback of using
wildcards is that, due to a bug in the Function Chart Builder, the resulting S800 I/O Source Code cannot
be back translated into Function Chart Builder for verification. If you need to back-translate the S800 I/O
Source Code and therefore decide not to use wildcards, be aware of the potential for conflicts with other
S800 I/O Database, either from the original system or introduced in other ways.
Position the cursor in the cell that holds the name of the first AX/DX unit you want to convert, e.g. AX101
or DX207.
Figure 7
Run the ConvertS400 Macro. See Excel documentation for details on how to access and run macros.
Answer the three questions about AF100 Bus Number, Station Number and First I/O Module Position.
Figure 8
Figure 9
Figure 10
Position the cursor in the cell that holds the name of the next AX/DX unit you want to convert and repeat
the steps above until all units have been converted.
Activate the worksheet named “S800” by clicking on the tab at the bottom. Select menu item File>Save
As… Select filetype Text (Tab delimited). Save the file with a name of your choice in the DBDATA
subdirectory. The file name needs to have the format <name>01.BAX, where <name> is a maximum of 6
characters. This is necessary to be able to convert the file back to Online Builder format (*.BA). Answer
Yes to the following two questions regarding saving in non-Excel format.
Figure 11
If you are not using wildcards and plan to back-translate the S800 I/O Database Source Code into the
Function Chart Builder you need to save the file in Formatted Text (Space delimited) format. This is due
to the fact that the Function Chart Builder has a different treatment of white spaces than the Online
Builder and does not accept tabs. Before you save as Formatted Text (Space delimited), make sure that
the first three columns on the “S800” worksheet are wide enough, since any information that is not visible
on the screen will be truncated in the file.
When you exit Excel, it is recommended not to save the changes. The S800Initialize macro modifies the
original worksheet such that a saved file can’t be reopened and worked on again. None of the macro
internal variables are saved at exit, which also prevents resuming work on a saved file after re-opening.
This should not be an issue since the whole conversion process takes no more than a couple of minutes.
If you need to redo the conversion it is easiest to start over by opening the .DBT file again.
4.10 Convert Database Source Code Dump from Windows format to Online Builder format
Figure 12
The resulting S800 I/O Database Source Code file (*.BA) is ready to be translated into an
AdvantController 400. More likely though, since the whole node will need to be rebuilt, you will use a text
editor and merge this file with the rest of the Database Source Code for a complete Database
translation.
5. Section 5 – Maintenance
To uninstall the macros, simply move the S400toS800.xls file to a different location on your hard drive.
The S400to800.xls file will no longer be automatically opened when you open Excel.
The number of I/O channels on the S400 I/O units does not exactly match the number of I/O channels on
the replacement S800 I/O units. To compensate a number of spare S800 I/O channels are inserted in
the S800 I/O Database Source Code during the conversion. This may cause the resulting number of I/O
signals to exceed the original Database dimensions. It may also interfere with any deliberate
organization of I/O signals versus calculated signals.
The value for the FILTER_P terminal on the S800 Analog Input has a different format than the
corresponding terminal on an S400 Analog Input. The conversion macro makes a best effort attempt to
convert the filter parameter on the S400 Analog Input to a value that is permissible on the S800 Analog
Input. If the resulting value is greater than 65 seconds a warning will be issued and the value set to 65
seconds.
The S400 Analog Input supports two bipolar measuring ranges that are not available on the S800 Analog
Input, -20..20mA and -10..10V. If these are present a warning will be issued and the measuring range
set to 0..20mA and 0..10V respectively.
The S400 Analog Output supports two measuring ranges that are not available on the S800 Analog
Output, 0..20mA and 0..10V. If these are present a warning will be issued and the measuring range set
to 4..20mA and 2..10V respectively.
The terminal unit TU402, used to upgrade a single DSDX452/454, supports only 16 Digital Inputs, while
the DSDX452/454 has 20 Digital Inputs. If a single DSDX452/454 is converted, a warning will be issued,
listing the names of the 4 channels that will be dropped.
S400 channels that have not been renamed from their default name, but are in use, will be identified by
the macro as true spares and the values on their terminals will be lost.
Excel allows a maximum of 65536 rows in a worksheet. This corresponds to the conversion of about 90
DSAX452, or 50 DSDX452/454 with DSDX451/453. If you reach this limit you will have to make the
conversion in stages.
Please use the Excel file in ABB library for the actual conversion.
Trademarks:
Registrations and trademarks used in this document include:
The IndustrialIT wordmark and all product names in the form XXXXXXIT mentioned herein are registered or pending
trademarks of ABB.
Microsoft Registered trademark of Microsoft Corporation.
Windows Registered trademark of Microsoft Corporation.
Windows 2000 and Windows XP Registered trademarks of Microsoft Corporation.
ActiveX and Visual Basic Registered trademarks of Microsoft Corporation.
PostScript Registered trademark of Adobe Systems Inc.
Acrobat Reader Registered trademark of Adobe Systems Inc.
Ghost Registered trademark of Symantec Corporation.
Aspect Studio Trademark of ABB Ltd., Switzerland.
Aspect Express Trademark of ABB Ltd., Switzerland.
Process Portal Trademark of ABB Ltd., Switzerland>
REVISION