Re: [foxboro] C:B refs in sequence blocks

Pat,

An alternative way of finding external HLBL block references is to write a
script to parse through the code directly.  There's other framework to
build, but the key fields you're looking for are expressed in the following
egrep snippet:

egrep ":[0-9A-Z_]*:[0-9A-Z_][0-9A-Z_]*\.*[0-9A-Z_]*" BLOCK.s > extrefs.txt

This approach is probably quicker and more efficient than running the HLBL
pre-processor.  With a few twists, you can also squeeze out external
references not seen by the pre-compiler such as arguments passed to
subroutines and other dynamically constructed full path names.

Of course, you might also have to go find referenced include files to get
the complete source code as part of the script...

The HLBL .s code is in the usual /opt/fox/ciocfg/COMPOUND directories.  As
for SFC/ST, the derived HLBL code used to be in .b files (version 1.0) and
could be processed exactly like .s files.  SFC/ST version 1.1 unfortunately
discards the .b files and replaces them with useless generic sequenskeleton
files that have nothing to do with the actual code.  (Why did they do
that???)

Regards,

Doug Lloyd
DGL Controls


-----Original Message-----
From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] On
Behalf Of Pat Martens
Sent: Sunday, December 19, 2004 5:39 AM
To: foxboro@xxxxxxxxxxxxx
Subject: [foxboro] C:B refs in sequence blocks

Hi,
(My first posting to this group!)

I'am looking for a way to report all COMPOUND:BLOCK references within
sequence blocks.
I have managed to do this for 'normal' sequence blocks by means of the
sequence block compiler from a script (/opt/fox/ciocfg/topseq (or was is
seqtop?)).
I copy my .s files to some ../tmp directory and run the pre-processor on
these. This will create output files in this ../tmp directory of which one
of them has the extension .e.
With the unix 'strings' command you get (as far as I can tell) a list of all
used COMPOUND:BLOCKS within the compiled sequence block (including any
included files).

My problem now is that I have not found a way yet to do the same trick for
SFC sequence blocks.
I noticed that when compiling the block from within the SFC package the .e
file is generated but automatically removed.
As I would like to automate this I would like to do this from within a
script so I don't have to manually start the SFC package.

Anybody out there who could give me some hints?

Platform is AW51.

TIA,

P. Martens,
Total Raffinaderij Nederland NV.

ps:
I would like to add this info to a MS-Access based application which I wrote
over the last couple of years.
This started of with having the complete CIOCFG of all our CP's available in
MS-Access format.
Currently it includes compound:block references (usage) to all mimics,
historians, trendscripts, advanced control files (DMCplus.oad files), all
aimapi/foxapi usages and, recently, sequence blocks.
All this info is updated automatically once every day (or on request).
All CIOCFG parameter changes, block additions/deleting are logged (comparing
with files of previous day).
IO tables are generated (including spares, as long as there is an ECB for
the FBM)

This tool has proven to be very usefull as we can now run any kind of query
we can think of!
 
 
_______________________________________________________________________
This mailing list is neither sponsored nor endorsed by Invensys Process
Systems (formerly The Foxboro Company). Use the info you obtain here at
your own risks. Read http://www.thecassandraproject.org/disclaimer.html
 
foxboro mailing list:             http://www.freelists.org/list/foxboro
to subscribe:         mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe:      mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
 

 
 
_______________________________________________________________________
This mailing list is neither sponsored nor endorsed by Invensys Process
Systems (formerly The Foxboro Company). Use the info you obtain here at
your own risks. Read http://www.thecassandraproject.org/disclaimer.html
 
foxboro mailing list:             http://www.freelists.org/list/foxboro
to subscribe:         mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe:      mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
 

Other related posts: