Import Existing Module

Hello,

I have several signal characterizer function block curves to update.  I have the new values in a spreadsheet, but I do not see a method for importing the values.  As a test, I wanted to see if I could export the module to an FHX file, change the file, and then import.  In DeltaV Explorer, I selected the module, then clicked File > Export > Selected Object...  I selected a folder and clicked Save.  In a text editor, I changed a couple of the curve values in the FHX file, saved, and closed the text editor.  Back in DeltaV Explorer, I made sure I selected the module that I had just exported, then clicked File > Import > Standard DeltaV Format...  I selected the FHX, made sure "Include the license information" was checked, then clicked Open.  We use version control, so I clicked "Yes" to automatically check out modules as necessary.  The import dialog indicates that "the entire import content has been skipped with no update to the database".  When I open the module in Control Studio, the values that I changed in the FHX file are not changed, so it truly did not import.

I read this topic, and there is mention of being prompted for duplicate items when importing, but I have a feeling that pertains to database imports within Database Administration, and not the import utility within DeltaV Explorer.

Anyway, I was wondering how to import an existing module?  Alternatively, is there a method to updating the curves in a signal characterizer function block, besides doing it one item at a time in Control Studio?

We are using DeltaV Explorer v 14.3.1 Build 7288.

  • The import function checks to see if the object's time stamp has changed. If the item time stamp is identical to that in the database, it skips the item (module, composite) as it cannot possibly be different. When editing an FHX like this, you have to either alter the time stamp in the FHX, or you can edit the Module to be imported, so that the database assigns a new time stamp. This will allow the FHX to import.

    If you edit the curve through the HMI, then you can upload the changes into the database.

    A bulk import for the curve would be useful. I have not looked at whether this is doable. I have a spreadsheet for updating SGCR curves in run time. Since I manipulate the curves via OPCDA, the server does not record an upload record for the changes. I did a quick look but I cannot find where to turn on the OPC DA upload records. I'm not sure if this option only enables Event Chronicle records of changes by the OPC Server or if Upload records are also done. But I can't find where to enable this anyway.

    If I get a chance, I'll look at creating the Bulk import file for the array. That would be the best way to move data into the database without editing FHX files.

    Andre Dicaire

  • In reply to Andre Dicaire:

    Hey Andre,

    Pretty sure it's regedit HKEY_LOCAL_MACHINE>SOFTWARE>WOW6432Node>FRSI>DeltaV>CurrentVersion then journalDisabled to False to allow uploads from the OPC Write Client tool.
  • In reply to Andre Dicaire:

    Changing the Username to something different will also work. This IS case sensitive and also doesn't have to be a real current DV User on the system to get the prompt. I prefer this method as I can put it to something I know and if the date is different....someone has made a change that might get lost with importing!

    Another method is to use Bulk Edit but with 21 values multiple times it will be rather large format file but it can be built. You can browse to an existing module with the SGCR block when building the format file and then ensure the filter parameters is set to everything and then you can select what you need for the format file.
  • In reply to Eric_Brousseau:

    Thanks Eric. Do you know if changes will trigger an Upload record as well as the Event Chronicle entry?

    Andre Dicaire

  • In reply to Andre Dicaire:

    Upload yes but I can't remember with the Event Chronicle entries. I would have to try it again, I can't remember at this moment.
  • In reply to Eric_Brousseau:

    My recollection is the Event Chronical messages are generated. This allows an OPC client application to write values into DeltaV and have these recorded like Operator Changes. So like a LIMS or some other system where a user updates data in the runtime system of DeltaV, you get an event record of when it was changed.

    You've confirmed the Upload is there to, so from an Excel Sheet, with the local OPC server journaling enabled in the registry, updates to a Signal Characterizer would then be uploadable to the database. That is on my to do list.

    But I think a Bulk Edit format file would be best to allow the update to happen without manual entry where there is no OPC server licensed with journaling enabled. Thanks for confirming.

    Andre Dicaire

  • In reply to Andre Dicaire:

    Confirmed that setting JournalDisabled to FALSE allows the OPC wrties to both create an upload record and and Event Chronicle entry. I was not successful in creating a bulk edit file for the SGCH curve arrays. So I went with the JournalDisabled registry setting.

    I created a pump curve composite that holds several curves, including some static curves for the Min and Max speed curves of a variable speed pump as well as a SGCHR block that holds a dynamic curve that is based on the speed of the pump, between the min and max curves, interpolating the curve proportionately. To work with these curves, I created a spreadsheet in Excel using the Excel Add-In to link the spreadsheet to the module's pump curves. I use the spreadsheet to input/calculate the various curves basd on teh pump specifications sheet. Then I write these values to the module in runtime.

    But I still have to get the curves into the database so that if downloaded, the curves keep their defined values. Enter the JournalDisabled key. I set it to FALSE and now all my Excel writes create the upload records and I just upload the values into the database. It works well, and as expected.

    Caution: As I mentioned before, you do not want to enable the Journaling of integrated data that is being written into DeltaV by OPC Mirror or some other client that is writing continuously to DeltaV modules. That will bombard the Event Journal and also the Upload records on the Pro Plus. This should only be used on an OPC server that is handling manual writes to DeltaV. The Excel Add In license unlocks a 500 tag OPC server on the workstation it is assigned to. If Excel is the only client using that server, it would be safe to set the Key to False and all writes will then be recorded for upload.

    This avoids the need to export and edit the FHX file in order to modify/manage arrays. Note that I use this for some Float Array based curves, where the X and Y values in in same 2x21 (row,Collumn) array, or the SigCHar block where there are two 1x21 arrays, one for X and Y values. Excel is a great tool for generating a desired curve. By concentrating points around the more dynamic section of the curve, you get a very accurate curve, as opposed to setting X values equally spaced.

    I don't know if it is possible to bulk edit float array parameters. If some one knows how to set up that format file, please share. For example, in a module with a SGCH block, how would one bulk export the CURVE_X values? what would that syntax look like.

    Andre Dicaire

  • In reply to Andre Dicaire:

    Sample format file attached (it's txt instead of fmt file format as it wouldn't allow me to attach) to do the first 3 values figured I didn't need to do all of them Slight smile

    begin_format_defn Module
    object_subtype AREA_A/CHAR_BLOCK
    separator \t
    comment_character #
    header module_name,area,SGCR2/CURVE_X.[1][1]CV,SGCR2/CURVE_X.[2][1]CV,SGCR2/CURVE_X.[3][1]CV,SGCR2/CURVE_Y.[1][1]CV,SGCR2/CURVE_Y.[2][1]CV,SGCR2/CURVE_Y.[3][1]CV
    module_name,area,SGCR2/CURVE_X.[1][1]CV,SGCR2/CURVE_X.[2][1]CV,SGCR2/CURVE_X.[3][1]CV,SGCR2/CURVE_Y.[1][1]CV,SGCR2/CURVE_Y.[2][1]CV,SGCR2/CURVE_Y.[3][1]CV
    is_a_string_parameter F,F,F,F,F,F,F,F
    end_format_defn
    

  • In reply to Andre Dicaire:

    I've an old note that says OPC Mirror usage does not recognize the registry setting and does not result in an uploadable value or journal event. I've not time to test at the moment, but just leave this note here that it might be worth testing to see what the behavior is with OPC Mirror.
  • In reply to Andre Dicaire:

    Thank you! This was all very useful information. The bulk import option was best for my situation.
  • In reply to Matt Stoner:

    This is great. It allowed me to double-check my format file to make sure I had configured it correctly. Not sure if I can also mark this as an answer, but I will try.