Re: [foxboro] String vs. Integer

  • From: "Johnson, Alex P (IOM)" <Alex.Johnson@xxxxxxxxxxxx>
  • To: "foxboro@xxxxxxxxxxxxx" <foxboro@xxxxxxxxxxxxx>
  • Date: Sat, 19 Mar 2011 13:28:10 -0500

Joe,

There are many differences between the storage of scalar values and non-scalar 
(array) values. The two most significant relate to:

1) How they are stored in the CP
2) How their values are made available to other users


Value Storage
Scalar parameters, e.g., float, Boolean, integer, long, etc., are stored in the 
block. 


String parameters, e.g., SN0001 and DESCRP, are stored differently. The CP 
contains a string pool, a chunk of RAM dedicated to holding strings. Strings 
with the same text are stored once in the string pool. In this case, the block 
"hold" a pointer to that string in the string pool as opposed to holding the 
string itself.

To my knowledge this is the approach that has been used in all models of the CP.


Data Transfer
The OM's connected service (read/writes) works only on scalar data. For this 
reason string variables are not "change-driven."

Access to string data requires non-connected (get/set) calls on the OM. These 
calls are much slower and less efficient than change driven connections. 
"Change driven" read access is simulated by FV by allowing the user to specify 
a scalar variable to monitor and to force FV to get the value when the scalar 
value has a change reported. Typically, the parameter MSGNO is used to indicate 
that it is time to get a SNxxxx parameter and display it.

MSGNO Message Number indicates the number of the last message assigned to a
      user string parameter. It is incremented by one each time a message is
      assigned, to show updates of SN00xx on the detailed displays. If the
      parameter value reaches 2E31-1, the next message number is 0.

IIRC, AIM*Historian supports triggered reads of STRING parameters as well.


Generally, it is much "cheaper" to monitor scalar values (using read lists) 
than string values (using gets) because many more values (up to 255) can be 
monitored at a time.



I don't know if this addresses your question, but, if not, please provide some 
details around what you are doing.


Regards,
 
Alex Johnson
Invensys Operations Management
10900 Equity Drive
Houston, TX 77041
+1 713 329 8472 (desk)
+1 713 329 1600 (operator)
+1 713 329 1944 (SSC Fax)
+1 713 329 1700 (Central Fax)
alex.johnson@xxxxxxxxxxxx (current)
alex.johnson@xxxxxxxxxxxxxxxx (good until September 2010)


-----Original Message-----
From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] On 
Behalf Of Joseph M. Riccardi
Sent: Saturday, March 19, 2011 10:51 AM
To: foxboro@xxxxxxxxxxxxx
Subject: [foxboro] String vs. Integer

Folks,
From an overhead and/or resource viewpoint (i.e. historized data), is there
a difference between the use Integers (IO0001) vs. String (SN0001)
variables?  I was always told there was.  Now Foxboro claims there is no
difference.  What great software development feature created them equal and
when?  Due to some loading/resource issues, everything is up for review and
we historize tens of thousands of them both.  

As always, thanks in advance for the help and advice from the group.


Joseph M. Riccardi

386-441-0250 Home Office
386-451-7607 Florida Cell
440-725-4025 Ohio Cell
 
Joe@xxxxxxxxxxxxx
 
"To give real service you must add something that cannot be bought or
measured with money; and that is sincerity and integrity." - Donald A. Adams




 
 
_______________________________________________________________________
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:             //www.freelists.org/list/foxboro
to subscribe:         mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe:      mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
 


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at 3rd Floor, 40 Grosvenor Place, London, SW1X 
7AW (Registered number 166023). For a list of European legal entities within 
the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77&nav_id=80&prev_id=77.

You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail 
reception@xxxxxxxxxxxxx This e-mail and any attachments thereto may be subject 
to the terms of any agreements between Invensys (and/or its subsidiaries and 
affiliates) and the recipient (and/or its subsidiaries and affiliates).


 
 
_______________________________________________________________________
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:             //www.freelists.org/list/foxboro
to subscribe:         mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe:      mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
 

Other related posts: