I. Loading eTCSS Software (specific to Iberdrola)
1) load all programs on the Version 01.00.03 CD
2) load everything that is on the Version 03.01.02 CD (this does not have everything, just a couple of updates)
II. Configuring a GEM6 Controller for Use in a Simulation
1) Change the IP address (see “Changing IP Address of the Controller” below)
2) also change IP address in *.m6b file (this should be done first)
a. clock = internal
b. NTP – client disabled
c. Ethernet set-up – enter IP address
3) Upon receiving the *.m6b files from the plant, open each one and do an ‘export all’ (Toolbox file menu). Be sure to export each m6b file into it’s own directory, as it is easy to confuse the files otherwise. Also, be sure the directories exist (use the specify each directory option to be sure). For G1 and G2 there are 10 files each, for S1 there are 42 files (for iberdrola). It is a little tedious (to specify the directories) but it only has to be done once, and then you are sure it is correct.
4) After the export, close the *.m6b file, find the *.prj file and open that from the toolbox. It will re-import all the files and make sure all the libraries are current. If this step is omitted, the libraries on the machine may not be the same as the ones the *.m6b files contain/are looking for. If this is the case, the simulation will not work. This step reconciles everything, and is only necessary when first working with the *.m6b files from the plant.
5) Put into database (FULL)
6) Get from database (FULL)
7) Validate
8) Build
9) Save the resulting *.m6b file (not a bad idea to save it as G1_sim.m6b or something to differentiate it from the plant’s original file(s))
10) Download the product code (only needs to be done once)
a. Toolbox device menu--> download--> product code (runtime)
b. select.dnl is the file
c. R processor
d. reboot the controller
11) Download the application code (needs to be done each time controls are updated) Follow the steps below (“Configuring a GEM6 Controls file from the Plant for Simulation”) Reboot the controller after downloading application code.
III. Configuring the Turbine HMI Device (*.hmb file)
This will do a bunch of things to help set up CIMPLICITY. It will overwrite the existing icn.ini file, so if you want to save the old one, do it before the steps below! (Note: the icn.ini file resides in the C:\WINNT directory for Windows2000, or C:\WINDOWS for XP)
1) Open the *.hmb file
2) if EGD exchange does not appear, do an ‘insert next’ and grab the exchange(s) that you need.
3) get from database to populate (or make current)
4) validate and build – generates icn.ini file hosts file, imports signals and scaling to Cimplicity
IV. Creating *.csv Files Necessary for Configuration of *.m6b Files
1) Create the I/O Points List and export it to a *.csv file.
a. from view menu -> reports -> I/O Points list
2) Create the Signal List and export it to a *.csv file.
3) Convert both *.csv files to *.xls files.
4) Sort the I/O Points List by Point Name and then by Signal Name
5) Get rid of any EGD network points – only rack I/O should remain.
6) Keep only points with Signal Names
a. Sort remaining data by Signal Name
b. Delete all rows without a Signal Name
7) What about MainBoard Stuff?
8) Sort by Direction, Data Type and Signal Name
9) Change FLOAT to REAL, BIT to BOOL, LONG to DWORD (only DWORD’s are likely Main Board points, which we probably don’t need)
10) Make directions all caps (Read -> READ and Write ->WRITE)
11) Get Descriptions by using VLOOKUP on Signal Name from Signal List file.
a. remember to put $ around the table lookup so that the table does not shift down as you copy and paste the VLOOKUP formula
b. once done, copy the descriptions and paste special -> values to get rid of the formulas
12) Get rid of superfluous columns. The final form of the file should be
EGD Address, Type, Signal Name (modified), Direction, Description.
Other fields can be left in after Description without adversely affecting the conversion to GEM6 text format.
13) If you know exactly what points you need, you may be able to eliminate some more points at this point. (Alarms, Main Board, etc). If you are not sure, leave them in for now. It is easier to remove them later than to add them later.
14) Add the EGD Address (see “How to add an EGD Address” below)
15) Modify the Signal Name by substituting “G1\” with “G1_” (use the SUBSTITUTE worksheet function in excel – specify the last argument as “1” to be sure that it only substitutes the first instance of G1\ in the string...just in case.
a. don’t forget to copy and paste special -> values to get rid of the formula.
b. delete the old Signal Name column
16) Add the EGD Address (steps 17-28 below)
17) Separate data into 3 worksheets that contain WRITEs, BOOL READs, and REAL READs. (can separate after adding EGD Addresses as well – may be better to do it that way so the master spreadsheet has the EGD Addresses on it) If there are a lot of writes, the writes can be separated into BOOL WRITE and REAL WRITE. If any exchanges contain WORD or DWORD, it will be easier to incorporate these with the REALs. Put them after the REALs so that they will be easy to delete if necessary later on. Each worksheet represents an EGD Exchange for the GEM6 controller. The exchanges need to be less than 1400 bytes each, so if they are longer, you need to split them up further.
18) Sort according to Type and Signal Name (if data is not already sorted this way)
19) Insert a column on the far left side of the sheet, so that the EGD Address column is now the ‘B’ Column. Add the appropriate header information on the first line of the file.
20) Set B2 = 0.
21) Depending on the type, paste the appropriate formula into B3
22) Modify the formula as the type changes. In between types, you will need to manually enter the value. If the BOOLs end on 21.2, for example, if the next point is a REAL, it has to start at 24, because a REAL is 4 bytes and must have an address that is evenly divisible by the number of bytes it takes up. WORD = 2 bytes and DWORD = 4 bytes.
*** HELP YOURSELF OUT. paste these formulas into the equation pane at the top of the spreadsheet rather than in the cell. That way the formatting will not get messed up. ***
For BOOL
=IF(EXACT(C2,"BOOL"),IF(EXACT(RIGHT(B2,2),".7"),(B2*10+3)/10,(B2*10+1)/10),"ERROR")
For REAL
=IF(EXACT(C2,"REAL"),B2+4,"ERROR")
For DWORD
=IF(EXACT(C2,”DWORD”),B2+4,”ERROR”)
For WORD
=IF(EXACT(C2,”WORD”),B2+2,”ERROR”)
In the above examples, the formula would reside in cell B3. Cell B2 = 0
If cutting and pasting these formulas from word, all quotes must be erased and retyped. Don’t ask...this is a weird thing with the excel/word crossover...
You may need to change the font to Arial and 10 point to be consistent with Excel.
Note, the formula for BOOL must have the multiplication and division by ten. If is it not there, and you add 0.3 and 0.1, excel has a problem SOMETIMES does not calculate the formula properly as you will get some 6.59999999 (instead of 6.6) values, at which time the RIGHT(B2,2) will yield “99” instead of “.6”. Trust me on this one. Save yourself the headache and do the addition with integers.
One could concoct a really long formula that would take care allow bools, reals, words, and dwords to be intermingled, but it is much easier to fill in the EGD addresses when the data are sorted by type, to separate the bools from everything else, and then by SignalName, to get them in alphabetical order. Since bools will be in a different exchange and the remainder of the values are mostly real, it’s not to difficult to accomodate the odd WORD or DWORD that gets thrown into the mix.
23) Copy and Paste Special -> Values
24) Add “EGD” and the proper amount of zeros to the numbers To convert the raw numbers to EGD addresses (in text), use a variation of the following formula:
=CONCATENATE("EGD000",IF(EXACT((RIGHT(B2*10,1)),"0"),B2&".0",B2))
*** IMPORTANT *** when the numbers get larger than 10, remove a zero from the “EGD000”. When they get larger than 100, remove another zero.
25) paste special -> values
26) remove the extra column and make sure the header in the first row is correct as per above (it might have changed as columns were added and removed)
27) Adjust the values in the header row (especially the length) to reflect the properties of the Exchange.
28) done!
GSM Notes
When setting up the ‘fake’ GSM exchanges – be sure to do a VLOOKUP and check to make sure that you don’t redefine points that are already used in other exchanges. Remember, this bypass is just to get the points into the GEM6Engine so they can be cross referenced to the FSIMEngine. If they are already defined elsewhere, we do not need to redefine them here (as they will already be in the other engine)
V. Configuring a Plant GEM6 (*.m6b) Controls File for Simulation
1) Set up the .ini file (in the C:\WINNT directory for Windows 2000 or the C:\WINDOWS directory for XP) with the proper exchanges (size, address, etc)
2) Make sure the HOSTS file defines everything in the ICN.ini file
3) repeat this on the ESSCOR Simulation machine
4) reboot the GE Toolbox PC
5) stop and restart the ICN service on the ESSCOR machine
a. If the does not appear in the “Services” window, see the “Installing ICN Service” section of this document.
6) Create a directory for the appropriate *.m6b file (for this example: G1)
7) Put the appropriate *.m6b file in the directory
8) Open the control system toolbox
9) Open the approriate *.m6b file (for this example: G1_sim.m6b)
10) If a default m6b file comes up when the Toolbox is opened (likely the 7fa Trainer) it can be closed.
11) Export all (highlight the top of the tree --> File --> Export --> All; specify the G1 (or appropriate) directory when prompted)
12) If this is a new controls file from the plant, this step is crucial. After exporting all
a. close the *.m6b file (save the changes – enter your name and a little note)
b. Go to the directory where everything was exported and open the *.prj file. This action will import everything and update all the libraries to current versions. This is important because if the libraries used at the plant are different than those used in the simulation (version of Toolbox) you will not be able to run the simulation properly.
c. set the privilege level to 2 (set “Setting privilege level” below) and ‘Save As’ this file with the name you want it to have (i.e. the name will default to the plant’s name, probably just G1.m6b. If you are calling your files G1_sim.m6b or something, save this file as such.)
13) Using the GE_TRE executable, convert egddata*.csv files to the tre format required for importing into the *.m6b files. *** Note *** each controller will have its own egddatamain_egd.txt and egddatamain_fn.txt files. These will be imported into the controller *.m6b file (in this case, G1_sim.m6b). On the other hand, the egddatasim_fn.txt files that are generated (one for each controller) will need to be combined into one alldatasim_fn.txt file. Similarly, the egddatasim_egd.txt files (one for each controller) will need to be combined into one alldatasim_egd.txt file. The reason for this is that all the simulated input must be configured in one SIM3.m6b file (sim3 is the device name that was used for the iberdrola simulator – it can be anything you want). See the summary below for a summary of what to do with the iberdrola configuration files (iberdrola has two gas turbines and a steam turbine. Your application may be different – adjust accordingly.) It is possible that there is no SIM.tre or SIM_fn.tre file as there may not be a SIM Function in the controller yet. If this is the case, see “Creating Functions and Tasks” below)
G1: egddatamain_egd.txt -> paste into EGD1.tre file exported from G1_sim.m6b.
Be sure to paste over only what is appropriate (for the case of the iberdrola simulator, the SIM_O and GSM exchanges are pasted over)
-> import modified EGD1.tre file into G1_sim.mb6 (the existing EGD1 network must be deleted before you will be allowed to import a new one)
G1: egddatamain_fn.txt -> change *.txt to *.tre and import into G1_sim.m6b
G2: egddatamain_egd.txt -> paste into EGD1.tre file exported from G2_sim.m6b
-> import modified EGD1.tre file into G2_sim.mb6 (the existing EGD1 network must be deleted before you will be allowed to import a new one)
G2: egddatamain_fn.txt -> change *.txt to *.tre and import into G2_sim.m6b
S1: egddatamain_egd.txt -> paste into EGD1.tre file exported from S1_sim.m6b
-> import modified EGD1.tre file into S1_sim.mb6 (the existing EGD1 network must be deleted before you will be allowed to import a new one)
S1: egddatamain_fn.txt -> change *.txt to *.tre and import into S1_sim.m6b
combine the following into an alldatasim_fn.tre file
G1: egddatasim_fn.txt
G2: egddatasim_fn.txt
S1: egddatasim_fn.txt
combine the following into an alldatasim_egd.tre file
G1: egddatasim_egd.txt
G2: egddatasim_egd.txt
S1: egddatasim_egd.txt
14) Open the SIM3.m6b file. Import the alldatasim_egd/fn.tre files into the SIM3.m6b file that must be created to accommodate the simulation (the SIM3.m6b file defines all the inputs and exchanges that originate from the ESSCOR simulator – signal definitions and exchange definitions are all that is required inside this file)
15) put into database (full)
16) get from database (full) (you may get some undefined signals – make sure they are signals you don’t care about – click yes to create them. They should not cause problems...you will see the warning every time you get and validate)
17) select top line (SIM3)
18) validate (check mark) (two errors will come up for the SIM3 case)
19) Open the G1_sim.m6b file
20) import the G1 egddatamain_fn.tre file (to create the *.tre file, simply change the file extension of the generated file (from GE_TRE executable) to *.tre from *.txt)
21) import the modified G1 EGD1.tre file (the one you pasted the information from egddatamain_egd.txt into)
22) put into database (full) (fix any warnings or errors)
23) get from database (full) (fix any warnings or errors – except undefined sig warning – see next step)
24) validate (1 warning – may have to do with undefined signals – make sure only signals that you don’t need are undefined – for iberdrola, there are 26 for G1 & G2, and 3 for S1. If you get other warnings or errors, fix them)
25) build (hammer)
26) save
27) download (uncheck download to memory & choose R processor when prompted)
28) repeat for G2 and S1 as necessary
No comments:
Post a Comment