hello world!

Exaquantum PIMS

  • Installation
    • Straight forward process. Directly from DVD.
    • Some install logs can be found in ‘C:\Users\<username>\AppData\Local\Temp
      • Some logs can also be seen in windowslogs ==> application log
    • Common Problems
      • ExaOPC Client unable to be installed. Solution : Run the ExaOPC Client Setup Manually from the installer
      • HISOPC unable to be installed. Solution : HISOPC installer needs to exist on root drive (E.g. C,D or E). Copy the HISOPC Installation folder (Typically it would be called HISOPC_RX.XX), and run it manually.
    • When prompted for Exaquantumuser password, this is referring to the ‘QUANTUMUSER’ account. Create the new password here.
  • Upgrade
    • Upgrading exaquantum
    • There should be no complication with SQL Server because SQL Server is Frontward compatible (Since in an Exaquantum Upgrade, SQL Versions will go frontward)
      • If SQL Server Backup file comes from and older version, e.g. SQL Server 2008 and one wishes to restore it to SQL Server 2008 – THIS is OK. SQL SErver is frontward compatible.
      • If SQL Server backup file comes from a newer version, e.g. SQL Server 2008 R2 and one wishes to restore it to SQL Server 2008 – THIS CANNOT BE DONE. SQL SERVER is not Backward compatible in Restoring from New to Old Server
    • General Upgrade Procedure (Upgrading Exaquantum R2.4 to 2.7)
      • On Old R2.4 Server
        • Backup all Exaquantum SQL Databases
      • On New Server,
        • Set Exaquantum Machine name on new server
        • Install Exaquantum 2.6 on New Server
        • Add groups to user accounts
        • Allow Remote Desktop Connection
        • Turn off Firewall
        • Restore old R2.4 database here (SQL is frontward compatible)
        • Uninstall Exaquantum R2.6
        • Install new Exaquantum R2.7
          • This process will upgrade the SQL Server Database to make it compatible with the latest Exaquantum Version.
        • Set Exaquantum Service to start automatically
  • Exaquantum PIMS Versions
    • Exaquantum R2.4
      • Supported OS
        • Windows 2000 Server or Professional [Not provided] with Service Pack 4 [Provided].
        • Windows Server 2003 Standard Edition with Service Pack 1 or higher [Not provided].
        • Windows Server 2003 R2 Standard Edition
        • Windows XP Professional with Service Pack 1 or higher [Not provided].
      • SQL Server 2005 (Included in Installation)
      • Up to IE6
    • Exaquantum R2.5
      • Supported OS
        • Windows Server 2003 Standard Edition with Service Pack 2 [SP2 provided].
        • Windows Server 2003 R2 Standard Edition with Service Pack 2 [SP2 provided].
        • Windows Server 2008 Standard Edition with Service Pack 2 [SP2 provided].
        • Windows XP Professional with Service Pack 2 or higher [Not provided].
      • SQL Server 2008 or 2005 with Backwards Compatibility
      • Up to IE7
    • Exaquantum R2.6
      • Supported OS
        • Windows Server 2008 R2 Standard 64Bit (*1)
        • Windows Server 2008 Standard (SP2)
        • Windows Server 2003 Standard (SP2)
        • Windows Server 2003 R2 Standard (SP2
        • Windows XP Professional (SP3) (*2)
      • SQL Server 2008 (Provided with Installer)
    • Exaquantum R2.7 
      • Supported OS
        • Windows Server 2008 Standard Edition with Service Pack 2 (32 bit) [SP2 provided].
        • Windows Server 2008 R2 Standard Edition (64 bit) with Service Pack 1.
      • SQL Server 2008 R2, 2008 SP1, 2005 with backwards compatibility
      • SQL Server 2008 R2 (Provided with Installer)
      • Up to IE9
    • Exaquantum R2.8
      • Supported OS
        • Windows Server 2008 Standard Edition with Service Pack 2 (32 bit).
        • Windows Server 2008 R2 Standard Edition (64 bit) with Service Pack 1.
        • NOT SUPPORTED CLIENT : Windows XP, Windows 2003
      • Key Features
        • Has Enhanced Web Client
        • The only version which support EXAOPC R3.
  • General Notes
    • Services Used
      • Exa bossd
      • Exaquantum
      • Exaquantum Server
      • Exaquantum OPC HDA
        • Some Services will only start when Exaquantum starts to receive data
    • IT Security Toolcheck firewll configuration option
      • Is run from Start Menu ==> Yokogawa Exa ==> IT Security Tool
      • The IT Security tool sometime givves an error when run, common problems
        • Firewall turned off - un
        • Server needs a restart
    • Precautions
      • USE service startup tool as it need to be in sequence. Service startup tool is actually a service. Needs to be started up
    • To Allow Exaquantum Service to startup Automatically when OS Start, use the ‘QCatchupConfig’ tool
      • C:\Program Files (x86)\Yokogawa\Exaquantum PIMS\Developer Tools
      • image 
    • Exaquantum Version
      • To know the exaquantum version, go to the Administration tool (in mmc) under help and support, the version is shown there. In the screenshot below it is shown R2.70 Build 273
        • image
    • Exaquantum System Architecture
      • Window Based
        • Exaquantum/PIMS Server (Server)
        • Exaquantum/Explorer Client
      • Web Based
        • Exaquantum/Web Server (Front End)
        • Exaquantum/PIMS Server (Back End)
        • Exaquantum/Web Client
      • Web Based (Combined)
        • Exaquantum PIMS and Web Server on Single Box'
    • License
      • Is based on
        • Tags (i.e. DATA ITEMS) 
          • This is actually data items, as in PV, MV , SV = 3 tag licences
        • Users
          • Based on input from Alan, this is just a number on paper (which is displayed). There is no actual software restriction.
        • Features
          • Web Server
          • 21 CFR Part 11
          • GUI Conversion 
            • This is required to convert
          • Open Interface
            • Typically only this feature is purchased
          • Custom Batch Data Collection
          • Maximum Active Recipes
      • Can be found in Administration MMC Console ==> System Configuration ==> License Management
      • License Key Code NOT bounded by MAC ADDRESS, Different code for each Exaquantum Server
      • Aggregations are for free – All other historian vendors charge you from aggregation. It will not effect licences 
      • If delete a tag, License number goes down, the archived data for the tag will be orphaned
      • Changing License
        • The license is only a single value, it can be changed anytime by going to the Licence Management Console In Exaquantum
        • There are no multiple licenses held in the server.
        • image
  • Exaquantum Server Configuration
    • Remote Desktop
      • It is important to enable remote desktop to allow easy configuration
      • For window server 2008 R2, go to Server Manager ==> Configure Desktop. Give acccess to ‘Authenticated Users’ group. Using ‘Everyone’ will include Guest accounts even.
    • Server Time
      • It is important that the server time is synchronized with the EXAOPC Time. Exaquantum will report an error if it receives future timestamps.
      • To automatically sync time, create a batch file with the following script:
        • NET TIME \\STN0354 /SET /YES <== Put this inside Batch file
        • The script must be run as ‘Administrator’. Being under Administrators group doesn’t seem to work
        • Schedule the script using windows task scheduler
    • OPC Gateway
      • If connecting to a third party OPC Server, need to create a new OPC Server Type using the OPC Server Type Wizard.exe program
        • image 
        • Then Configure the settings. Make sure to leave the YokogawaMarex ProgIDs cause this is used for Internal Programs
        • image
        • Also to note that Exaquantum doesn’t use OPCEnum to grab ProgramIDs. If connecting to a third party OPC Server on a different machine, these IDs need to be added into windows registry.
          • For example, to add Matrikon.OPC.Simulation in, Create a registry file with any name e.g. “test.reg”, then add the following and run:- REGEDIT4
            [HKEY_CLASSES_ROOT\AppID\{F8582CF2-88FB-11D0-B850-00C0F0104305}]@="MatrikonOPC Server for Simulation and Testing"

            [HKEY_CLASSES_ROOT\CLSID\{F8582CF2-88FB-11D0-B850-00C0F0104305}]@="MatrikonOPC Server for Simulation and Testing""AppID"="{F8582CF2-88FB-11D0-B850-00C0F0104305}"
            [HKEY_CLASSES_ROOT\CLSID\{F8582CF2-88FB-11D0-B850-00C0F0104305}\ProgID]@="Matrikon.OPC.Simulation.1"

            [HKEY_CLASSES_ROOT\Matrikon.OPC.Simulation.1]@="MatrikonOPC Server for Simulation and Testing"

            [HKEY_CLASSES_ROOT\Matrikon.OPC.Simulation.1\CLSID]@="{F8582CF2-88FB-11D0-B850-00C0F0104305}"
      • In the Administration MMC, key in the OPC Gateway Configuration
        • image
        • Here you will have a chance to key in Alarm and Events Filter
          • Exaquantum A&E Filter filters out alarms, ‘AND’,’OR’, ‘.’ means stop the AND/OR statement
      • Note: For Centum OPC Connection, one may need to enable the logon type
        • This is set under HISUtility from the Windows Start Menu. Use Enguser to allow data write for the OPC Server
        • image
    • Production Calender
      • Is used to define aggregation timing and period (The name ‘Production Calender’ is really confusing.. it’s not what people would intuitively think what it is..  it’s actually just to define the period of aggregations).
      • Aggregation is the process of pre calculating data averages/maximum/min/sum/etc over periods of time (or production calender…). The purpose is to provide speed as these aggregation values will be stored as separate data in the database.
    • History Catchup
      • Is used to catchup history when server is down. It is based on accessing the HDA component of an OPC Server
    • Servers
      • Used if redundant Exaquantum Server Exists
      • For RBNS, the SERVERS need not be defined on non RBNS MASTER Servers as the RBNS MASTER Server will eventually copy the SERVERS detail during a “publish” operation (See RBNS Below)
      • NOTE: Each Server needs to have a separate Exaquantum License or not the following Error will be thrown:-
        • image
        • This error seems only to be an annoying warning.. it does not limit the functionality of Exaquantum
    • Role based Namespace (RBNS)
      • Configures a custom tree for Tag Access which can be customized for different workgroups. E.g.
        • Maintenance would like to see tag structured by FCS / Junction Boxes and etc
        • Operation would want to see the tags structure by Process Units
      • However, this is not the main reason when RBNS is used. RBNS is typically used when multiple Exaquantum servers are used, so all clients can share a common view but connecting to different exaquantum databases
      • RBNS DOES NOT WORK FOR ALARM AND EVENTS
      • How RBNS works in a Multi Server Environment
        • Each Exaquantum Server has its own SQL Database.
          • It has it’s own list of tags, which may be obtained from OPC Equalization
          • It has it’s own historical data of it’s tags
          • It has connections to it’s related OPC Server
        • When RBNS is configured, the idea behind it is that it will now have a “global” presence, as in
          • It has a new tag browser structure which may contain tags from different servers. This is the RBNS.
          • It will have a pointer to tags from different servers
          • When a client connected to it asks for a tag from a different server, it will run a QData function to connect to the tag
        • ALarm and Events however does not work in RBNS, each Server will have it’s own A&E Database based on the configured OPC Servers in it.
          • There are 2 ways to work around this
            • Have all OPC Servers configured in every Exaquantum Server
            • Design the Exaquantum Explorer workbook so that the A&E Controls OCX would point to a specific OPC Server.
      • RBNS is typically published to all servers so that all servers will have a common RBNS. Clients connecting to it will see same RBNS.
        • The publishing is done via the “publish” button in the RBNS Builder in Exaquantum Administrator.
          • image
        • What happens during publishing is that the master server will COPY all it’s RBNS tables in QCONFIG database to the other tables.
          • It’s basically just a copy and paste operation in SQL database
          • image
          • Apart from the RBNS Tables, IT ALSO COPIES the QSERVER Table
          • In the end all servers will have the same RBNS.
            • Note that this is not a necessity, as some servers can have different RBNS or NOT have RBNS at all. The alienated server will not be able to see tags from different OPC Servers.
      • RBNS Builder
        • Reference Folder
          • MOST COMMONLY USED
          • A Folder referencing to folder configured in the in a selected Exaquantum Server
            • image
            • the Server and Folder can be selected using the ‘Intrinsic Data Selector’
          • (I guess) this would be used if an Existing Server which already has folders is upgraded to include Multiple Servers
        • Folder
          • This is a folder held in the RBNS, not a referenced
        • Function Block
          • Is a reference to a function block in the local or remote server
          • You have to Select the Function Block..
            • This would be rather tedious as you have to do it for each and every function block
          • image
            • Notice in the “Intrinsic Data Selector” window, Each Server has it’s own tag.. this is defined in the ‘Server’ part
          • Filter Tab
            • Used to Filter out anything you don’t want to see in the function block
          • Security
            • Controls Write Access… leave it be
        • Tag
          • Same as Function Block, but instead of writing Tag, writes a Data Item
            • image
    • Tag Configuration
      • Tag Template
        • Tag Template is used to group different tags update rates. The idea is we may want different tags to be updated at different intervals
          • I.e. you may want controller MV to be polled at 1 second but pH alarm limit to be polled once every minute
          • image
        • Base
          • Tag Template Name
            • It is a good practice to create a template that match a particular instrument.
          • Tag Type
            • OPC
              • For OPC Input, most commonly used
            • Man
            • Calc
              • The Calc Tag Type is used to create a new tag which is based on a calculated value,
                • e.g. If we want to calculate FIC101.AvgControlErr (Average Absolute Controller Error)
              • Note, In the Exaquantum world, FIC101.PV is a tag, FIC101 is a Function Block
          • Raw Historian Interval Change
            • Leave it at ‘On Change’
            • None – Means the Raw Data is not Archived (Aggregated values may be archived)
          • Reference Data
            • This can be ticked if the OPC server supports giving Engineering unit and range
          • OPC Communication
            • Write To OPC Gateway
              • WRITE back to OPC Server (Write back to DCS). This may be used for some sort of Calculation application or Watchdog timer
              • When this is chosen the Deadband is automatically set to 100% to prevent data being read.
            • Period
              • The OPC Group Update Rate
            • Percent Deadband
              • The OPC Group Deadband (OPC will only send data through if there are changes greater than the Dead Band).
              • Note: if deadband is set at 0%, this does not mean that every data will be recorded in the Database. Exaquantum only records data if it changes. If the data maintains, a static value, only one record is inserted in Database
                • Also a side NOTE: Exaquantum does not perform interpolation of data. Data will remain the same until it changes. From the point to the data change, it wil be a straight line, no interpolation is done.
                • This can be seen using Exaquantum Live Explore in the Developer Tools Folder
        • Aggregations
          • Aggregation Type
            • Continuous
              • For Analogue Tags
            • Discrete
              • For Digital Tags
          • Aggregation Calculations
            • Normally ‘Spot Value’ is selected here
            • Note: For Maximum and Minimum Aggregation time stamped when the value of the min and max occured.
            • For All other time stamp is at the end of each period.
              • Take Note: This is important when you are doing Daily KPI calculations and how it is displayed in a grap. Take example if one is calculating the Average Controller Error in a day. Because the timestamp is at the end of each period, the result in exaquantum trend will be a straight line between the timestamp of the end of period to the timestamp at the end of tomorrow.
            • MEAN, STD DEV is based on time weighted average.
            • DISCRETE aggregation can only work for single states
        • Versioning
      • Function Block Template
        • The name function block is rather confusing. One may think that it is some support of defined calculation block to be applied on the tags. What its really used for is to define the Tag and Items under the tag.
          • i.e. In the exaquantum world, FIC101.PV is a tag, FIC101 is a Function Block
          • For example, a Controller Function Block would have PV,MV,SV,MODE
        • Versioning
          • What if a function block is updated?
            • The template version will change.
        • The function block will appear nicely in the exaquantum explorer, as tags, and under a specific tag will be items e.g. pv,mv,sp,op. In the example below SDV101 is a function block with items under it.
          • image
      • Tag Generation Tag generation is the process of bulk tag generation. The most common way is by use of OPC equalization where Exaquantum will browse the OPC server in search for new tags
        • OPC Equalization
          • Most Common Method, Easiest Method
          • Does not create tag templates, it uses tag templates
          • image
          • What OPC Equalization does is to find all the tags in the OPC server which matches a particular criteria. The interface to define the matching criteria is easy but a bit confusing at first.
            • The process involves an INCLUSION and then an EXCLUSION Process
          • HOW DOES TAG DESCRIPTION, RANGE, ENGINEERING UNIT work with equalization,
            • These items are specified in Centum Control Drawings   
              • Description is the one seen on the tag faceplate in centum.
                • image 
            • The exaquantum tag must have a tick on the items
              • image
            • IMPORTANT!!! These items must be specified before an equalization, once equalization occurs, the tag’s description,range, engineering is locked in. CHANGING the items in CENTUM and re-running the equalization will not insert a Tag description. To update or insert a tag description the tag has to be DELETED FIRST.
            • An alternative to deleting and re-adding the tag is to update the tag directly from the tag editor
              • image
          • Explanation on Steps for OPC Equalization
            • STEP 1 - Create a new job. Type in Job name, normally job name should be indicative of the reason for tag import, what is imported and etc. For example ‘Plant A Expansion’
            • STEP 2 – Click New. Specify the Inclusion FIlters.
              • This is to find the tags matching a particular name. If you do not have any naming criteria, simply put a *
              • For example in the Inclusion Name Filters type in “FIC"*, this finds all tags with FIC in front of the prefix
            • STEP 3 – Specify Target Folder
              • This is to specify where to put the resultant tags.
            • STEP 4 – Specify Function Block Template
              • This is the critical part, in which the OPC Server is browsed to find and parent tags with entry matching the definition in the function block
              • For example, a Controller Function block should have PV,MV,SV,MODE.
            • STEP 5 - Click Apply.
              • After this is done, that specific filter will  be added under Applied Filters
              • Also, a list of all tags matching the criteria will be shown under candidates
                • image
            • STEP 6 – Repeat STEP 2 to 5 for additional filters
              • The Applied filters and Candidates will be added. Each additional filter acts like an “OR” gate, not an “AND” gate
                • image
              • Note that in reference to STEP 2, if the tag name matches, but the OPC data item specified (STEP 4) does not match, an error will come out. The unmatching tags will be shown in RED.
                • image
                • Don’t worry about it, just click ‘Ignore Candidate Errors’ and the ‘Next’ button should be available.
            • STEP 7 – Click Next. This will bring you to Exclusion Screen.
            • STEP 8 (OPTIONAL) – Specify an optional the Exclusion Filter. It can be based on Name or by Instrument Type
              • If you a tag matches the filter, it will be excluded from the equalization process.
                • image
            • STEP 9 – Click Next. List of all tags to be created will be displayed. Click Generate.
              • image
            • STEP 10 – Report is displayed. Click Finish. This also AUTOMATICALLY starts data archiving onto the SQL Database.
              • image
            • The OPC Equalization job done will be shown. This is for historical purpose, to show what tags have been imported.
          • Tag Versioning
        • OPC File Import
          • Performs the process of OPC Equalization but via a file, rather than directly browsing the OPC Server.
          • When to use:
            • Only use this when you are at the office, no access to OPC Server
            • When OPC Server does not have browse capability
          • Example of OPC Import Text File Content:
            • For a Function block with single item PV (FUNCTION BLOCK Template name is ‘Indicators’)
                TEMPLATE=Indicators
                ITEM=PV,.PV
                OPCSERVER=HISOPC
                TARGETPATH=Root
                CANDIDATES
                M0711
                M0713
                M0720
                M0721
            • For a Function block several PV values. The example below is for populating function block template ‘Indicators2’ which has PV and OPMK tag.
              • Exaquantum matches the OPC Server Items though combining the candidates and ITEM, in the following example, would be M0711.PV and M0711.OPMK, etc TEMPLATE=Indicators2
                ITEM=PV,.PV
                ITEM=OPMK,.OPMK
                OPCSERVER=HISOPC
                TARGETPATH=Root
                CANDIDATES
                M0711
                M0713
                M0720
                M0721
          • Some notes on the OPC File Imoprt Text File Contents
          • What happens when duplicate/existing tags are imported?
            • Exaquantum checks for existing or duplicate tags during the job definition. If there are no new tags, the following will appear:P
              • image
            • The Analysis report will show new tags, existing tags do not get updated
        • Function Block Generation
          • Use for complex systems typically
          • Just fills the Database
        • Tag File Import
          • Same as Function block generation but is for tags not associated with Function blocks.
          • When to Use:
            • Typically used when you need just a single tag without associating to a function block. You can for example make a folder named “OPC Tags” and put all associated OPC items in there which correspond to an Exaquantum Graphic
          • The result of a tag import will be a folder of tags The example is shown below:
            • image
            • PIC07104 was created using TagFile Import whereas SDV101 was created using OPC equalization. As can be seen, PIC0714 becomes a folder instead of a tag.
            • Generation of PIC0714 was done as below
              • TAG=PV,TAGTYPE=OPC,TAGTEMPL=Real1s,FULLPATH="Root.PIC07104",OPCSERVER="HISOPC",OPCITEMID="PIC07104.PV"
                • The “PV” in “TAG=PV”, will ultimately become the “PV” with the green book
                • If the is changed to “TAG=PIC07104_PV”, the will become “PIC07104_PV” with the green book
          • Another Example is as follows:
            • image
            • This is generated by
              • TAG=PIC07104_PV,TAGTYPE=OPC,TAGTEMPL=Real1s,FULLPATH="Root.GraphicTags",OPCSERVER="HISOPC",OPCITEMID="PIC07104.PV"
                • In here the full path become the folder
                • The tag becomes the green book
          • Some Notes of the file import
            • There is no need to have a header.
            • A line can be commented out by using #
            • The <OPTIONAL> items can be ignored, the commas are concatenated (removed altogether)
            • The TagTempl is the TagTemplate (not function block).
            • The Full path is where the Item will sit in.
            • The Full path combined with the tag will become the Exaquantum Item Address
            • the OPCSERVER is the OPC Gateway identified in Exaquantum Administrator, NOT the OPC server actual address
            • For Calc blocks, multi line scripts are possible
          • What happens when existing tags are imported
            • If the tag already exists in a function block:
              • M0711 already exists as a function block. This can be seen
                • image
              • M0711 was imported using
                • TAG=PV,TAGTYPE=OPC,TAGTEMPL=Real1s,FULLPATH="Root.M0711",OPCSERVER="HISOPC",OPCITEMID="M0711.PV"
              • The following result will appear during tag file import
                • image 
              • If there are any additional tags below the M0711, for example if the following is given:
                • TAG=PV,TAGTYPE=OPC,TAGTEMPL=Real1s,FULLPATH="Root.M0711",OPCSERVER="HISOPC",OPCITEMID="M0711.PV"
                • TAG=PV,TAGTYPE=OPC,TAGTEMPL=Real1s,FULLPATH="Root.FIC12451",OPCSERVER="HISOPC",OPCITEMID="FIC12451.PV"
              • FIC12451 will give an error. THis is because by having an existing tag before the definition, the Create Root Path dialog box will not appear. This is a small bug in exaquantum. To fix, this simply delete the M0711 line (only have FIC12451 definition in the TagFIleImport text file). Then only the create path appear
                • image
        • HIS Generation
          • A New feature
          • Only works for Yokogawa OPC Servers
          • Automatically creates Tag Templates
            • Format C3TC::XXXXX
            • PV will always used _ for PV
          • is under advanced tab
      • Exaquantum History Catch-up
        • Performs history catchup via HDA
        • Fires when Exaquantum Service starts
        • Should always be turned on. Only turned of on following scenarios:
          • When troubleshooting startup failure.
        • Some notes on EXAOPC HDA
          • Only historizes items that have been configured to historize via
      • Role based Name Spaces
        • Exaquantum uses windows users and groups
        • Exaquantum checks for group memberships before granting access
  • SQL SERVER Database
    • Login
      • Local Machine’s QAdministratorGroup and QUser Group is added in the logins
    • There are 4 Database
      • Exquantum Framework
        • This database  was introduced in R2.80 and used to tie in exaquantum products together
      • QApplicationConfig
      • QApplication
      • QConfig
      • QHIstorianData
        • Historical data are stored in the QHIstorianData, in Image datafields, where one image is 2GB size. It basically works like a replay data.
        • image
        • The name of the column of the Qhistorian data tables represents a dataID
        • This dataId is found in the QConfig “TAG” table
          • The following shows the column number for example item ID 3, the columns are 23,24,25,26 and 27.
          • image
          • What ID constitutes is found in the “ITEM” table of the QCOnfig Database
            • image 
    • The QHistorianData Database can be shrunk using the following command:
  • Exaquantum Client Configuration
    • On the client, the Exaquantum Server Manager can be accessed from:
      • C:\Program Files (x86)\Yokogawa\Exaquantum PIMS\System\ServerManager
      • image
      • The Primary Server is the main server to connect to
      • The Secondary Server is the Secondary client to connect to
      • If Exaquantum Server and client are different versions, the client needs to point to the server with the same version.
    • Allowing ALL USERS do access Exaquantum
      • For workgroup installations, since Exaquantum Client communicates with DCOM, one problem users face is that a accessing user account and password must exist on the Exaquantum Server.
      • This is not ideal if there are many users, or if the user’s password expires…. then the matching password on the server needs to be changed
      • To get arround this, there are two ways
        • Use a domain controller
        • Anonymous Logon
          • Have not tried this yet!
        • Allow Guest
          • Some Notes:
            • All the Exaquantum DCOM Components use default windows DCOM Settings. Therefore changing the default setting will affect all Exaquantum DCOM Components… So you don’t need to know which DCOM Component Exaquantum is using.
            • Everyone Includes “Guest”
            • During DCOM Callback (even when using Guess Accout), the Exaquantum Server will callback as “QUANTUMUSER”, so it is imperative that the quantumuser account exists on the client machine.
              • In the client“QUANTUMUSER” account does NOT need to be in any groups!, it just needs to authenticate and have object access set in DCOMCNFG.
                • QuantumUser will be added in the default DCOM Security (Edit Limit and Edit Default in Access, Launch and Activation Permissions)
            • Whenever one makes a group or username change, one needs to logon with that username so that the authentication passes. The best is to restart the server but that’s normally not an option
              • ONe alternative method is to run the runas command
              • For example if you want to update the HIS0164\TESTUSER credentials, do the following:
                • runas /user:HIS0164\TESTUSER cmd.exe
            • Checking Windows Logs
              • Windows logs may be used when attempting to troubleshoot DCOM Errors
              • In Local Security Policy (Secpol.msc) ==> Audit Policy, enable the following:
                • Audit Logon Events
                • Audit Account Logon Events
                • Audit Account Management
              • After finish, run gpupdate, to update the policy change
              • In Security, Look for task category
                • Credential Validation
                • Special Logon
                • Special Logon
              • Best to check windows logs on the Exaquantum Server
            • Call backs
              • When a callback fails, the failure will be seen in the Client’s Windows log (Under security), not the Server log
                • The Task Category is credential verification
          • Guest account needs to be enabled
          • Guest Account needs to be added in ‘Users’
          • Guest Account (or Simply use Everyone) should be added in ‘QUserGroup’
  • Security paradigm for all Exa Products
    • Standard
      • Complicated, less preferred.
      • Has a password nobody knows.
      • Local Standard
        • Secure
          • Special passwords nobody knows. It’s only known by the EXA Applications
            • QTM_PROCESS
            • EXA_PROCESS
            • QTM_SQLSERVER
            • OPC_PROCESS
          • Groups
            • EXA_MAINTENANCE
            • QTM_DATA_READ
            • QTM_DATA_WRITE
            • QTM_EXPLORER_DESIGN
            • QTM_MAINTENANCE
            • QTM_OPC
      • Domain Standard
        • Engineering Guide Volume 2 Appendix A.15
        • Groups must be created manually in the domain
        • A local group with same access as domain is added in case domain access in unavailable
          • QTM_MAINTENANCE_LCL
          • EXA_MAINTENANCE_LCL
          • QTM_OPC_LCL
    • Strengthened
      • Same as standard with some tweaks
    • Legacy
      • Most commonly used
      • Can be more secure than standard is the service accounts are locked down. Lock downs mean:
        • Cannot login using the account
      • Uses 4 LOCAL groups
        • QUserGroup
        • QAdministratorGroup
        • QExplorerDesignGroup
        • QDataWriteGroup
      • USERS
        • QUANTUMUSER is the service runner.
          • ALSO IT IS USED For Administration Purpose
          • Password specified during installation. Typically used password : yokeng1, Yokogawa1
        • EXA
          • Regular User with no Admin Priveledges
          • Default Passworrd is EXA
      • Local Service User (QuantumUser) automatic created during installation
        • Can remove login rights
        • Exaquantum and SQL Server runs as this user
    • Levels of Security
      • Default
      • Intrinsic
        • Basic
        • All data is visible
        • TOp data is called root
      • Role Based Security
        • Can define and Limits tag views based on groups
        • What tags are writeable
        • Normally used for plant areas
        • BUT ACTUALLY its normally used to allow people to see more tags
  • Exaquantum Database
    • Databases
      • QHistorianAdmin
        • Historian Management Info
      • QHistorianData
        • Binary Data
        • The timestamps are all in UTC, to convert to local time:
        • SELECT
              CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, TimeStamp), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime,    *
          FROM
              [QHistorianData].[dbo].[EXAOPCCSProcessAlarm] ORDER by TimeStamp desc

      • QConfig
        • Configuration Database
      • FrameworkSchema
        • For Web Server
    • Some Notes on the Database
      • The Database is not really offline, for some queries, Exaquantum service needs to  be running for it to work. This is because some of the stored procedures uses OLEDB linked servers.
      • Most of the Timestamp Data in Exaquantum is stored in UTC. To convert into local time, use convert function. Example:
          SELECT
              CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, TimeStamp), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime,    *
          FROM
              [QHistorianData].[dbo].[EXAOPCCSProcessAlarm] ORDER by TimeStamp desc
      • To access a Spot Data from SQL Command, use the ‘QData’ function
        • exec QData N'Name,Value,TimeStamp','2013-11-25 9:25:51',N'',N' Root.Simple Level Controller.FIC101.PV.Value'
          • This return the current value. The timestamp given out will point to the last time the data changed
          • The Time is LOCAL TIME, not UTC time.
            • image
          • IMPORTANT, the Timestamp specified in the parameter should NOT include miliseconds
        • The QDATA Function used OLEDB. Due to this Exaquantum Service needs to be running
    • Some notes on SQL Queries
      • #T1 ==> The # means its a temporary table. Table will be dropped after the query finishes
      • QHistorianData..vCompletedTrips ==> The .. means that it is obtaining a Table from a Database
      • Sometimes we see N’ in SQL such as N’Select * from table’. This is to declare a string as nvarchar data type, rather than varchar. dsds
    • Database Tools
      • To check disk usage
        • Use ==> C:\Program Files (x86)\Yokogawa\Exaquantum PIMS\Developer Tools\DiskUsage.exe
      • Expand Database
        • Expanding the Database is a MUST before putting it into Production!!!
        • This is because Exaquantum will not trigger autogrowth!!
        • Go To Windows ==> Start ==> Database Expansion Tool
        • If no shortcut, the program should be in ==> "C:\Program Files (x86)\Yokogawa\Exaquantum PIMS\System\ExpandDB.exe"
        • Question : Which Database does database expansion tool work on?
        • Question : Does SQL Autogrowth works
          • It does not work on QHistorian Data
          • For QApplicationConfig and QApplicationData, i tested this on ARA 2.80. These databases are for ARA
            • Before I did a bulk load of tags
              • image
              • image
            • After I did a bulk load of 30 days of data
  • Archiving
    • It is the process of backing up the database and deleting the backed up data from the Main Database 
      • Data is transferred from the main database to a temporary database
      • The data in the main database is deleted
      • From the temporary database, it can be sent to a disk. This process is called ‘saving’
      • The temporary database can be deleted, this process is called ‘Deleting’
    • Most customers keep data up to 3 years
    • Archive Groups
      • Raw Fast – Up to 10 second fast
      • Raw Slow – Anything low
      • Alarm and Event
    • Normally people just set the archive groups the same settings so they do not distinguish anything.
    • Can Either Archive to
      • File
      • Device
    • Archive Period is
    • Auto Archiving
      • This is the most common thing set, particularly the auto-deletion as it is required to maintain Database space.
      • At 12 midnight, the auto archiving function kicks in
    • Operations
      • The ‘Group Advanced’ button
        • for each group
        • Enable Automatic Deletion
          • As soon as there is candidate it will archive the items from the database (And delete the data) and then puts it into the temporary database. It will then save the item and then AUTOMATICALLY DELETE the TEMPORARY database.
        • Enable Automatic Archiving
          • As soon as there is a candidate it will run the archive and put it in a Temporary database
          • Auto Save
            • Automatically saves it to a database
            • Normally ticked since nowadays, people dump the archive into the disk. Previously people use tape device.
        • Retention Period
          • How long to hold data before it first becomes available for archiving
          • Example for 30 day retentions
        • Automatic offline period
          • How long to keep the temporary database
      • Unrestore
        • Process of
    • The bottom button advanced button is for all
      • Set the archive size,
        • Normally set to 4096MB so it can fit in DVD
        • Default folder
        • The smallr the archive size, the more candidates there will be. THe archieve will not be created until archive is run
  • Troubleshooting
    • LiveXplore
      • See live/historical data
      • Typically used to check OPC Connection
      • Stored in ‘C:\Program Files (x86)\Yokogawa\Exaquantum PIMS\Developer Tools’
    • OPC Server Viewer Data Recovery
      • OPC Gateways
        • Checks OPC Status
        • OPC Groups ‘X(X)’, X is the number of groups created, (X) is the number
      • Data Recovery
        • AUtomatcially recover lost data into database from the HDA Server
        • Recalculae is used to calculate the aggregations
      • Add a downtime
        • Used to atificially create an OPC Downtime entry in the database
        • And then run data recovery to recover lost data
    • OPC Data Viewer
      • Exaquantum keeps a log of data collected from the OPC Server
      • Typically used if customer complains that value is not as it is expected
      • Item registration file
        • C:\…\ExaquantumPims\OPCDALog\
        • IRF and RDF
        • Put item name (EG 00FIC001.PV).
        • It will then show registration tieme and then
    • Tag Config Viewer
      • Used to view tag configuration
      • Can save as CSV File, document entire system
      • Raw history period tells whether sampling time mismatches with History Period in database
    • ExaquantumXref Tool
      • Used to find certain items in a calculation script
    • Network Test
      • FQDN = Full Qualified Domain Name
      • Performs DCOM Connection to Exaquantum as well for testing
    • QVersion
      • Find all exaquantum versions
      • Usually used to confirm if Customer has installed correct patches or find missing files
      • Check Version
        • It creates a file in the server at install time
    • QSystemConfig
      • Allows low level setting of Exaquantum
      • Archive Creation Timeout
      • History Catchup
        • Timeout writing to the HIstorian (From OPC Server)
          • Default set to 20 minutes
  • EXAQuantum DCOM Settings
    • Default Properties
      • Default Authentication Level – None
      • Default Impersonation Level – Identify
    • COM Security
      • Access Permission
        • Limits
          • Everyone – ALL
          • QUserGroup – ALL
          • Performance Log Users – ALL
          • Distributed COM Users – ALL
          • Anonymous Logon – ALL
        • Defaults
          • Everyone – ALL
          • Self – ALL
          • System – ALL
          • QUserGroup – ALL
          • Administrator – ALL
          • Administrators – ALL
          • INTERACTIVE - ALL
      • Launch and Activate Permission Limits
        • Limits
          • Everyone – ALL
          • QUserGroup – ALL
          • Administrators – ALL
          • Performance Log Users - ALL
          • Distributed COM Users – ALL
        • Default
          • Everyone – ALL
          • SYSTEM – ALL
          • QUSerGroup – ALL
          • Administrators – ALL
          • INTERACTIVE – ALL
    • Individual DCOM Config
      • THESE ALL should be set by running the QDCOMConfigTool in ‘C:\Program Files (x86)\Yokogawa\Exaquantum PIMS\System’ Directory
      • If unable to set or run the tool:
        • ExaExecutive, ExaQuantumExecutive, QArchive, QEventHandler, QFakeEventHandler, QHistorian, QItemIDCache, QNameSpaceBrowser,QOPCAEPump, QRecalcEngine, QReporter, Quantum
          • Authentication Level – Default
          • Launch and Activation Permissions – Default
          • Access Permission- Default
          • Configuration Permissions –
            • CREATOR OWNER – Special Permissions
            • SYSTEM – ALL
            • Administrators – ALL
            • User – READ, Special Permissions
          • Identity – This User (QuantumUser)
        • ExaQuantumServer, ExaService, QOPCHAEService, QOPCHDAService, (These are window services)
          • Authentication Level – Default
          • Location – Run Application on this computer (Ticked)
          • Launch and Activation Permissions – Default
          • Access Permission- Default
          • Configuration Permissions –
            • CREATOR OWNER – Special Permissions
            • SYSTEM – ALL
            • Administrators – ALL
            • User – READ, Special Permissions
          • Identity – The system Account
        • QAnalyze, QCalcTester, QConsole, QHISBrowser,QOPCConnectionTest, QZOPCDACatchup
          • Authentication Level – Default
          • Launch and Activation Permissions – Default
          • Access Permission- Default
          • Configuration Permissions –
            • CREATOR OWNER – Special Permissions
            • SYSTEM – ALL
            • Administrators – ALL
            • User – READ, Special Permissions
          • Identity – The Launching User
        • QFBRetriever.cCandidates
          • Authentication Level – NONE
          • Launch and Activation Permissions – Default
          • Access Permission- Default
          • Configuration Permissions –
            • CREATOR OWNER – Special Permissions
            • SYSTEM – ALL
            • Administrators – ALL
            • User – READ, Special Permissions
          • Identity – This User (QuantumUser)

Exaquantum Backup and Maintenance

  • Daily Database Backup
    • Daily database backup backs up the entire database and keeps it in a machine. It is a best practice to keep only two days worth of backup while deleting any previous days.
    • Daily database backup is setup using SQL Server Management Studio under Management ==> Maintenance Plans
    • How to setup
      • On SSMS ==> Management ==> Maintenance Plants == Right Click ==> Maintenance Plan Wizard
        • image
      • Under Maintenance Tasks, select
        • Back Up Database (Full)
          • This backs up the database
        • Maintenance Clean Up Tasks
          • This delete old Database Fi
      • In Backup Database
        • image
        • The ‘Backup will expire after’ checkbox is rather confusing. When a backup expires, it does not delete the file. What this backup expire after is used for is just to prevent database overwrite. Technically, this does not require to be set
      • In Maintenance Cleanup Task
        • image
    • Troubleshooting
      • To check the status of a job, use the following SQL Query
        • EXEC msdb.dbo.sp_help_job
          • If Current Execution Status is 4, that means the Job is not run, 1 means it’s currently running
  • Weekly ARA Backup
    • This backup backs up the ARA Related data. It is particularly important for CAMS integration
    • How to Setup
        • First create the folder ‘C:\ARABACKUP’ in drive where ARA is installed
      • Launch from Start ==> Exaquantum ARA ==> ARA Backup Restore
        • Here, set the backup location
      • Next, from SSMS ==> SQL Agent ==> Jobs ==> ARA Set Pending Build Backup ==> Properties
        • Change the schedule accordingly, recommended Weekly
    • How it Works
      • When the ‘ARA Set Pending Build Backup’ job is run, the backup queues in a task will be executed int he next 10 minute ARA Update job pulse
      • This is done via SQL Query (in the ARA set pending Build Backup job):
          UPDATE    ara.BoundaryTimes
          SET              Pending_Build_Level = 4
      • The result of the backup is shown as follows:
        • image
  • Weekly Database Trim
    • This maintenance routine trims the database size using the Exaquantum Archiving Function.
    • It is a good idea to keep the database small a good practice is 5 years archive
    • How it Works
      • After enabled, Auto Deletion kicks off at 12 midnight eveyday (this is not configurable)
    • How to Setup
      • Configure auto-deletion on all Archive groups
        • NOTE : Exaquantum does not have a generic group for all data, it breaks it down into type.. so you will have to configure autoarchiving for all groups
        • image
        • The Daily/Monthly aggregation may be left as is as it is good idea to keep these values as they are small
      • Click on ‘Group Advanced’ and set Automatic Deletion and put retention period to ‘1825 days’ (5 years)
        • image

Exaquantum Excel Addin

  • There are 3 files
      Exaquantum Explorer Add-In.xla
      Exaquantum Query Add-In.xla
      Tag Configuration Viewer.xla
  • If Excel does not exist during Exaquantum Installation, the excel addin will be placed at:
    • C:\Program Files (x86)\Yokogawa\Exaquantum PIMS
  • Copy the Addin files to the Excel Library folder, e.g.
    • C:\Program Files (x86)\Microsoft Office\Office12\Library
  • Once copied, the Excel addin options should display the Exaquantum addins. Click on them tho actvate it
    • image
  • Exporting CENTUM CS 3000 and VP Graphic
    • The Export requires special license
    • CENTUM graphic are in the form of EDF Files. Copy the EDF files. For VP, need to copy the XAML files as well
    • Known
  • How Exaquantum Client Communicates with the server with Excel Addin
    • When Exaquantum Client is installed, the following DCOM Objecs are installed (or registered) on the client machine
      • ExaExecutive
      • ExaQuantumExecutive
      • ExaquantumProgressWindow.ProgressWIndow
      • ExaquantumService.cService
      • ExaService
      • QFBDescriptionFetch.cFBDConnector
      • QFBRetriever.cCandidates
      • QItemIDCache
      • QOPCConnectionTest
      • QProgressView.clsPrivate
      • QReporter
      • QTransformationServer.cParser
      • Quantum

Exaquantum Explorer

  • Uses Exaquantum
  • Exporting CENTUM CS 3000 and VP Graphic
    • The Export requires special license
    • CENTUM graphic are in the form of EDF Files. Copy the EDF files. For VP, need to copy the XAML files as well
    • Known issues
      • The graphic conversion generally works like a charm!
      • The common issues would be that some PV’s are not registered in Exaquantum therefore it may need some updating
      • The typical problem would be valve colour indicators
      • Sometimes some lines would come out funny and this needs to be corrected
    • Procedure for CS3000
      • Run the Graphic converter tool for HIS ==> ToolSVGConver.exe on a HIS
      • The tool should be straight forward
      • The graphic DOES NOT need to be in test function or current project. User defined project works fine
      • Make sure the EDF graphics are are NOT SHORTCUTS!!… noobie mistake I made
      • Some  Note
        • The converter uses HIS Graphics Builder
        • the tool can only run on a HIS as it requires CS3000 DL
    • Procedure for CENTUM VP
      • Run the Graphic Converter Tool
      • The tool should be in the DVD under  tools folder
      • Copy the entire “Graphic Converter” folder and it can run from anywher
      • Run the “Yokogawa.IA.iPCS.CENTUMVP.ENG.UTY.SvgConvertTool.exe”
      • image
      • The result of conversion will ben an SVG file which can be imported directly into Exaquantum Explorer
  • How the Exaquantum Explorer Graphics Import Tool Finds Tags
    • The graphic Import tool from Exaquantum Explorer (not graphic Convertor), will query the Exaquantum Database and find for Tags with the correspending OPC Item ID/Address.
    • It will pick the first tag it finds and assign the variables to it. This can be seen in the variables window. The following is the variables window, accessed from (ExaquantumExplorer ==> Document ==> Variables)
      • image

Exaquantum ARA (Alarm Reporting and Analysis)

  • Uses Exaquantum
  • Exaquantum ARA Versions
    • R2.6
      • Supports windows Server 2003 and 2008, and 2008 R2
      • Supports IE8
      • Key Features
        • INTEGRATION WITH CAMS!!!!!!
        • New Report Export Formats
    • R2.7
      • Supports Windows Server 2008 and 2008 R2 64 Bit (But operates on Wow64)
      • Supports IE9
      • Key features
        • ARA can be configured to use DCS plant hierarchy information to construct it plant structure
        • Added new Alarm Overview Report
        • Ability to produce reports over time (eg. calender year, quarter)
        • Tooltips on reports with charts
        • Ability to change report styles
        • Able to run on HTTPS
    • R2.8
      • Supports IE10
      • Key Features
        • Reports CAMS shelved alarms
        • Added “Top Alarms by Operator Report”
        • Added “Bad Actors by Condition”
  • For Installing on the same server with SER, ensure SER is installed first before ARA
  • Uses SSRS and analysis services
  • Compatible with all types of browsers
  • Able to interface with CAMS (Consolidated Alarm Management System) Interface
  • Licensing
    • SER is licensed by Number of Clients
    • Installation
      • Prerequisites
        • Exaquantum and WebServer
          • NOTE EXAQUANTUM COMBINED PIMS/WEB SERVER NEEDS TO BE INSTALLED. A PIMS SERVER ONLY WILL NOT WORK!!! and will cause error during ARA Webserver Install.
        • .NET Framework 4.0
        • IIS
      • IIS Configuration (IF SER HAS BEEN ISNTALLED AND WEBSITE CREATED, SKIP THIS)
        • Create Website
          • Normally Call it ExaquantumARA
        • In Application Pool
          • Create Unique Application Pool (Usually called ExaquantumSER)
          • In Advance Settings
            • Set Enable 32bit Application = True
            • Set Identity = QARAViewUserGroup
          • Change .NET Framework to 4
          • Basic Settings ==> Change Managed Pipeline Mode to ‘Integrated’
        • Authentication
          • NOTE : ANONYMOUS AUTHENTICATION DOES NOT WORK WITH EXAQUANTUM
          • Disable Anonymous Authentication
          • Enable Basic Authentication, Windows Authentication, ASP.NET Impersonation
          • EXAQuantumARA Website ==> Authentication ==>
      • Refresh .NET Framework IIS if necessary
        • start-> Run--> c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –iru
        • aspnet_regiis.exe -iru
      • Enable SSRS Service
        • Try open http:\\localhost\ReportServer. If succesful, the following will appear:
          • image
        • Try open http:\\localhost\reports. If succesful, the following will appear:
          • image
        • If not, configure connection at ==> Reporting Services Configuration Manager under Start->Programs->Microsoft SQL Server 2008 R2->Configuration Tools->SQL Reporting Services Configuration Tool
          • Check Database Connection
          • image
          • Try create a new report server database if error prevails
          • Try rename the Report Server database e.g. from ReportServer to ReportServer2 if error prevails
      • Install Historian Indexes
        • This actually runs an SQL Query which can be found in the Installation CD under “D:\Setup\SQL”
        • Length of execution would dpeend on databse size
          • May need to expand database if error occurs as the indexes occupy database size
      • Server Installation
        • Creates QARAViewUser
          • This is used by the Services
        • Creates QARAAdminGroup,QARAViewGroup
          • This is where users need to be added to have access to ARA
          • If problem during installation, may need to manually create the QApplicationConfig and QApplicationData Databases. Use the following Script (Run in SQL Server Management Studio):
              USE [master]
              GO
              /*--- CREATE QApplicationConfig ---*/
              CREATE DATABASE [QApplicationConfig]
              GO
              DECLARE @sql NVARCHAR (4000)
              DECLARE @historianDataCollation SQL_VARIANT
              DECLARE @appConfigCollation SQL_VARIANT
              SET @historianDataCollation =  DATABASEPROPERTYEX('QHistorianData', 'Collation')
              IF (ISNULL(@historianDataCollation, 1) = 1) SET @historianDataCollation = SERVERPROPERTY('collation')
              SET @appConfigCollation =  DATABASEPROPERTYEX('QApplicationConfig', 'Collation')
              IF (ISNULL(@appConfigCollation, 1) = 1) SET @appConfigCollation = SERVERPROPERTY('collation')
              IF(@historianDataCollation <> @appConfigCollation)
              BEGIN
                  SET @sql = 'ALTER DATABASE [QApplicationConfig] COLLATE ' + CAST (@historianDataCollation AS NVARCHAR)
                  EXEC (@sql)
              END
              GO
              /*--- CREATE QApplicationData ---*/
              CREATE DATABASE [QApplicationData]
              GO
              DECLARE @sql NVARCHAR (4000)
              DECLARE @historianDataCollation SQL_VARIANT
              DECLARE @appDataCollation SQL_VARIANT
              SET @historianDataCollation =  DATABASEPROPERTYEX('QHistorianData', 'Collation')
              IF (ISNULL(@historianDataCollation, 1) = 1) SET @historianDataCollation = SERVERPROPERTY('collation')
              SET @appDataCollation =  DATABASEPROPERTYEX('QApplicationData', 'Collation')
              IF (ISNULL(@appDataCollation, 1) = 1) SET @appDataCollation = SERVERPROPERTY('collation')
              IF(@historianDataCollation <> @appDataCollation)
              BEGIN
                  SET @sql = 'ALTER DATABASE [QApplicationData] COLLATE ' + CAST (@historianDataCollation AS NVARCHAR)
                  EXEC (@sql)
              END
              GO
          • One may also want to try rebuild the QAPPLICATION data tables manually. Use the following Query
              USE [QApplicationData]
              GO
              DECLARE @forward tinyint
              EXECUTE QApplicationData.ara.update_AS 3 ,@forward OUTPUT
              EXECUTE QApplicationData.ara.update_ASDimensionsMeasures @forward
              UPDATE QApplicationData.ara.BoundaryTimes SET Pending_Build_Level = 3
              GO
      • Web Server Installation
        • Select Website
        • Application Pool Settings
          • image
      • Web Reports Installation (NOT REQUIRED) (Not Available anymore >= ARA R2.80)
        • Do not run, only run if you have already Installed SER
        • it just allows you to install the Web Reports on the same Application pool as SER
      • Add User to QARAViewGroup and Add Admins to QARAAdminGroup
        • Don’t Forget to log on and log off user (TESTED THIS ON WINDOWS SERVER 2008R2 SP1)
      • Precautions
        • If Installation fails, try delete the Exaquantum Cube in SSAS
        • Also Delete QApplicationConfig and QApplicationData
        • If ARA Update, Full OLAP Refresh on OLAP Cube Fails,
          • Run the Process Database manually from Exaquantum ARA Server
          • Find the offending dimension
          • Process the dimension from SSAS manually
          • Run ARA Update Default (Incremental Update)

    HOW ARA WORKS

    • ARA’s front end is SQL Server Reporting Services (SSRS). The webpages call SSRS Reports
    • SSRS Reports, obtain data from Microsoft SQL Server Analysis Services (SSAS).
    • Is SSAS, ARA has a SSAS data cube called the ‘EventsCube’.
      • The Cube takes two data source:
        • QApplicationConfig Database
          • In this database, the table contains configuration data such as plant, area and unit
        • QApplicationData
          • In this database, the tables are built using the ‘ARA Update’ SQL Job. The table consists shelved alarms, suppressed alarms, stale alarms and etc
          • The database also has views which makes reference to QHistorianData tables such as the EXAOPCCSALARM table in QHistorianData.
    • The cube is updated by a SQL Server Agent Job called ‘ARA Update’.
      • The job runs every 10 minutes (for checking purpose). though, The actual cube is processed once every hour i.e. if the job is forced to run, it will still update the last hour
      • The job deploys an SQL Server Integration Services (SSIS) or (SQLIS) package. We don’t need to know the details of this….
      • The job can be forced at anytime from SQL Server Management Studio “Start Job at Step” as shown below:
        • image
      • The next job to run details can be seen in the [QApplicationData].[Ara].[BoundaryTimes] table
        • image
      • ARA Update has different processing options. These options can be selected from the ARA COnfigurator under ‘Set Pending Build Status’. Once Apply is clicked, the [BoundaryTimes] table is automatically updated, signalling a new run job.
        • image
        • After the apply button is clicked, the run job is set.
        • Next, to run the process, either wait for the next SQL Agent call (which is every 10 minutes) or simply force run the ARA Update from SSMS.
        • The Build Applicable Are:
          • Incremental Update : This is the default update, which should be left as is. It simply updates the SSAS Cube from the last update.
          • Full Process : This processes the whole cube
          • Full Refesh : This first deletes data in QApplicationData database and processes the whole cube
            • This is ideal if the database has changed, typically when you are back filling the database with data
          • Full Backup :
    • Directly processing the cube from SQLServerManagement Studio Analysis Services, should not need to be done as the ‘ARA Update’ rebuilds everything including the QApplicationData tables
      • The following direct cube process does not need to be done as ARA needs an update QApplication data to update. QApplication data tables are only update by the ‘ARA Update’ SQL JOB
      • image
    • Configuration
      • First day of Week
      • Star of Reporting (Start of database)
      • Plant Hierarchy
        • Hierarchy
          • Plant
          • Area
          • Unit
            • Operators
            • Tags
        • Hierarchy Building
          • Manual
            • Can Be built using a CSV File
            • For duplicate tagnames in a plant, there is a patch
            • GENERALLY THIS IS BEST USED
              • Create a Script and schedule it using SQL Server Agent
              • The script should rebuild the QApplicationConfig Plant, Area, Unit tables based on a criteria. The most common criteria used is based on TagName Prefixes
          • Automatic
            • Manual not allowed
            • Everytime an Alarm is recorded in Exaquantum, it will also record the Alarm’s Plant Hierarchy in one of the Table Column.
              • If no plant hierarchhy is configured, it will set the Column value as the FCS name ‘FCS0101’
              • If plant hierarchy is set, it will set the column value in reference to  the hierarchy address, e.g. ‘YOKODEMOPLANT.PLANTA.UNITA
            • Generally, plant hierachies are seldom used in a CENTUM project due to the extent of work required to set it i.e. the configuration is at block level. Every tag block in CENTUM will need to be configured to assign it to a plant hierarchy. The are typically 10,000+ blocks in one CENTUM project
            • GENERALLY, THIS IS SELDOM USED DUE TO LACK OF PLANT HIERARCHY
      • Security
        • Uses windows security
        • Groups
          • QARAAdminGroup
          • QARAViewGrou
          • After add user to group, need to log off and log on back again
      • Patches
    • CAMS Integration
      • Exaquantum ARA integrets with CAMS, as in, if an alarm is shelved in CAMS, it will  not be counted in ARA
      • How it Works
        • ARA Runs the following program to extract CAMS data:
          • image
          • CAMSEngDump.exe
            • This tool dumps the engineering settings of CAMS
          • CAMSHistDump.exe
            • This tool dumps the actual alarms seen by CAMS
            • To run this tool,’CD C:\Program Files (x86)\Yokogawa\Exaquantum ARA\Tools’
              • CAMSHistDump.exe -I "\\HIS0164\cs1000\CAMS\HIST" -F "Output.csv"
                • -I is the location of the CAMS HIST FILE
                • -F is where to output the results to
                  • If this command is run several time, the file is appended with the latest entry, not the entire thing dumped again
            • Understanding format of the CAMS HIST dump file
              • The format is as follows:
                • "#A4A1","Address","Timestamp","Timestamp.Server","Message","Message.Buzzer","MessageNo","TypeOfAlarm","Source","Source.Plant","YHIS.PjtID","YHIS.BatchBatchID","TagName","DeviceID","AlarmPriority","User","Purpose","Consequence","Time-to-respond","Guidance","Alarm Group","Detection","YHIS.FcsCode"
                  "#A4A2","Address","Timestamp","Timestamp.Server","Message","Message.Buzzer","MessageNo","TypeOfAlarm","Source","Source.Plant","YHIS.PjtID","YHIS.BatchBatchID","TagName","DeviceID","AlarmPriority","User","Purpose","Consequence","Time-to-respond","Guidance","Alarm Group","Detection","YHIS.FcsCode"
                  "#A5","Address","Timestamp","UserName","StnName","PairKey","SrcStnNo","AlarmType","Action","CRTNo","AlarmFlag"
                  "#A6","Address","Timestamp","MessageType","UserName","StnName","PairKey","ShelfID","TargetTimestamp","stShelfIDBeforeRelease","SrcStnNo","AlarmType","SubCondition","GroupID"

                • The Time Stamp is in a UNIX Timestamp as in in UTC. To change to normal timestamp, in VBScript, do the following (UnixTS is the input):
                  • cUnixToVBDate = DateAdd("s", UnixTS/1000, DateSerial(1970,1,1))
              • Samples
                • Generic Alarm and return
                  • "A4A1","0x00046EE5","1396593536170","1396593536880.48","10TEST201AN  TESTING 1 2 3            ALM","4","1201","Process","10TEST201AN.ALM","FCS0101","","","10TEST201AN","","High","","","","","","","Enable","1"
                    "A4A1","0x00045E1D","1396593491170","1396593491880.91","10TEST201AN  TESTING 1 2 3            NR","0","1206","Process","10TEST201AN.ALM","FCS0101","","","10TEST201AN","","Low","","","","","","","Enable","1"

                  • A4A1 indicates alarm operation
                • If the Alarm (and Return) when it is Disabled (Won’t appear in CAMS)
                  • image

                  "A4A1","0x0004FF0B","1396594144170","1396594144880.26","10TEST201AN  TESTING 1 2 3            ALM","0","1201","Process","10TEST201AN.ALM","FCS0101","","","10TEST201AN","","High","","","","","","","Disable","1"
                  "A4A1","0x0005099B","1396594147170","1396594147879.43","10TEST201AN  TESTING 1 2 3            NR","0","1206","Process","10TEST201AN.ALM","FCS0101","","","10TEST201AN","","Low","","","","","","","Disable","1"

                  • The ‘Disable’ keyword indicates that the alarm is deisabled
                • Shelving Operation
                  • "A6","0x00040272","1396592522353.46","31","TESTUSER","HIS0164","10TEST201AN.ALM;;","{5ED17248-68A9-485C-A42F-9DA1E046E6FA}","1396592366170","{00000000-0000-0000-0000-000000000000}","257","1","",""
                    • A6 indicates shelving operation
                    • The GUID is the Shelve ID
                • Unshelving Operation (Individual unshelving)
                  • "A6","0x0004547A","1396593181089.13","31","TESTUSER","HIS0164","10TEST201AN.ALM;;","{00000000-0000-0000-0000-000000000000}","1396593049170","{5ED17248-68A9-485C-A42F-9DA1E046E6FA}","257","1","",""
                    • A6 indicates shelving/unshelving operation
                    • The GUID is the Shelve ID
                • If Bulk UnShelving is done
                  • imageWhen pressing the blue curve arrow button with a shelf picture
                  • "A6","0x00045754","1396593346928.62","33","TESTUSER","HIS0164","","{5ED17248-68A9-485C-A42F-9DA1E046E6FA}","","","","","",""
                    "A6","0x00045804","1396593346937.62","31","TESTUSER","HIS0164","10TEST201AN.ALM;;","{00000000-0000-0000-0000-000000000000}","1396593049170","{5ED17248-68A9-485C-A42F-9DA1E046E6FA}","257","1","",""

                  • The first line is the bulk unshelving operation
                  • Subsequent lines indicate which alarms are unshelved during this bulk unshelving operation. As can be seen here, it mimics individual unshalving
                • If Alarm (returns and the comes on back) while it is shelved:
                • "A4A1","0x00063145","1396594421170","1396594421880.1","10TEST201AN  TESTING 1 2 3            NR","0","1206","Process","10TEST201AN.ALM","FCS0101","","","10TEST201AN","","Low","","","","","","","Enable","1"
                  "A4A1","0x00063C44","1396594488170","1396594488880.93","10TEST201AN  TESTING 1 2 3            ALM","4","1201","Process","10TEST201AN.ALM","FCS0101","","","10TEST201AN","","High","","","","","","","Enable","1"

                  • As seen, there is no different with a normal alarm
        • ARA Accesses the following directories to find the CAMS configuration
          • For CENTUM 4.01 and below
            • EngineeringInputPath - CAMS\database
            • HistoryInputPath - CAMS\hist
            • ShelfConfigurationFilename - CAMS\database\ShelfDefinitions.xml
          • For CENTUM 4.02 and above
            • EngineeringInputPath - his\database\CAMS\database
            • HistoryInputPath - CAMS\hist
            • ShelfConfigurationFilename - his\database\CAMS\database\ShelfDefinitions.odb
      • How to Setup
        • Enable CAMS Interface by clicking on the ‘Use CAMS Interface’ tickbox in ARA Configurator
        • The URL would typically be ‘\\HIS0164\cs1000’
          • image
        • Configure araci.configuration table from QAplicationData to turn off/on shelving or detection of disabled alarms.
          • This should be turned of fro CENTUM VP < R4.01
          • image
          • image
          • If you are running test function, make sure to change the EngInput and ShelvingConfiguration entry to as follows:
            • eng\BKProject\[PROJECT NAME]\TestMaster\HIS0164\database\CAMS\database
            • eng\BKProject\[PROJECT NAME]\TestMaster\HIS0164\database\CAMS\database\ShelfDefinitions.odb
    • Uninstalling
      • Simply from Windows Remove Programs
      • Webserver first
      • Data server second (ARA Server)
    • ARA Reports
      • Dashboard
      • Management
        • Alarm Overview
      • Performance
      • Operations
      • Maintenance

    Exaquantum SER (Sequence of Events Recorder)

    • Overview
      • Exaquantum/SER (Figure 1-1) is an event driven integrated reporting system combined with a powerful user interface
      • Typical usage: A trip criteria is configured which will report SOEs after the trip.
    • How It Works
      • Trip criterias are defined using the Trip Configuration Tool (This is stored in the QConfig Database)
        • image
          • The reload button will reload the trip criteria after any changes have been done
        • The condition of a trip is defined in the “Trip Condition Report Definition”
          • image
            • When these conditions are met, the trip monitor will record a trip.
            • A trip report will be compiled x seconds before the pre trip span and x seconds after the post trip span (In the example above, it would be 10 minutes before and 10 minutes after). Total would be 20 minutes
            • In the Value, Wild cards ca be used e.g. *ALM*
            • The “Do not trigger when this trip is active” should always be turned on to prevent flood if the trip condition is fluctuating on and off
      • A trip monitor program (run as Quantum User) monitors trips
        • image
          • Ironically, this is not run as a service. It is automatically loaded, when the Exaquantum Service is started using the Exaquantum Service Manager
          • Stopping the Exaquantum service will terminate the QTripMon.exe program
      • The trip monitor records the trip activities in the QHistorianData Table, specifically the table:
        • CompletedTrips
          • Lists down every trip. The id column is most important which identifies the trip.
        • CompletedTripsTagData
          • Specifies the Tag data (every single value change) for each trip. This is so that Exaquantum does not need to query the main QHistorian Table data. This will only populate if one specifies the need to record a particular tag data and display it in the SOE report.
        • To Delete a trip report from appearing in the Webpage, simply delete data in these tables
      • The Web Reports queries QHistorian Data and produces the report 
      • The trip reports are displayed in the webpage
        • image
      • The Trip Report Can Also be automatically saved as PDF and put into a folder location.
        • This is done by editing the SERinfo table in the QConfig Database. E.g.
          • Report Template : ‘/SERTripReports/TripReport1’
          • Report Output Path : ‘C:\Reports"’
      • Some tips
        • From the Trip Configuration, to know a report has been tripped, just click on “delete”. If a trip is currently occuring, immediately a message will display “Report has already been tripped”
          • image
    • Installation
      • SER must always be installed first if ARA is to be installed next
      • Variations
        • Exaquantum SER Server
          • Requires Exaquantum PIMS Server Installed
        • Exaquantum SER Web Server
          • Requires Exaquantum Web Server Installed
      • Typically Installed at:
        • C:\Program Files (x86)\Yokogawa\Exaquantum SER
      • Key Steps
        • Perform Server Installation
          • The installer creates an SQL user called ‘icecap’
            • image
        • Perform Web Server Installation if you are using Exaquantum Web (Typically clients don’t use the web)
          • Leave the default Website Settings
            • image
            • THIS IS VERY IMPORTANT OR NOT IT WILL NOT WORK
              • By Selecting Default website, SER web stuff will be installed at “C:\Inetpub\wwwroot\”
        • Run Database Ammendments
          • This simply creates several indexes mainly for performance purpose
        • Configure IIS
          • Create New Application Pool
          • Change ExaquantumSER Virtual Directory Settings
        • Edit the Web.Config File in C:\inetpub\wwwroot\ExaquantumSER\Web.config (If required)
          • image
          • Particularly, check the Connection Strings Section
            • image
        • Edit Registry at “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Quantum\Server\SER”
          • image
        • Run the DeployReport.bat file from the Installation CD (D:\Reports)
          • Run using Command Line, as administrator
          • Sometime it may not work in which you have to read the command line output
            • image
            •  
    • Uninstall
      • From add/remove programs… easy!
    • Upgrade
      • Uninstall Exaquantum/SER Web Server
      • Uninstall Exaquantum/SER Server
      • Uninstall Exaquantum
      • Install Exaquantum (New Version)
      • Install Exaquantum/SER Server (New Version)
      • Install Exaquantum/SER Web Server (New Version)
    • Configuration
      • WebConfigSettings
        • C:\Inetput\wwwroot\ExaquantumSER
          • Allows changing of the ‘icecap’ SQL password
            • SER user the ICECAP user to connect to SQL to see the trip definitions. User is created during installation.
        • image
      • Web.config XML file
        • C:\Inetput\wwwroot\ExaquantumSER\web.config
        • Various parameters can be changed here
      • Changing Web Links
        • Using SSMS, edit the ExaquantumFrameWork Database..Aplications Table.
          • image
    • Reports
      • The SER Reports are stored “.rdl” files.
    • Customization
      • SER Allows report customization. One common report customization is a the ‘Valve Shutdown Report’ where SER is customized to report the time take for shutdown valves to open and close.
      • The report needs first be created. It can  be created using SQL Server Business intelligent studio.
      • Once the report is created, add the report to the Web.config file on the Webpage virtual directory
        • <add key="TripDetailReportTemplate" value="/CustomReportLocation/CustomReportName" />
        • image
      • To view a customized report, Click a trip ==> ‘Settings’ button ==> Custom
        • image
    • Automation
      • Automatic Report Generation (into a specific folder in the machine as pdf) can be enabled by editing the SERInfo Table in QConfig
        • image
          • Original the last 2 columns are NULL
        • The Automatic report generation is delayed for 5 minutes (300s) by default. This setting can be changed in the registry
          • image
          • NOTE: Need to restart Exaquantum Service for this to take effect.
      • The registry allows a specific Command to run if the report is to be processed
        • The default value:
          • rs -i RunReport.rss -s http://localhost/reportserver -e Exec2005 -v CompletedTripId=%d -v reportPath=%s -v reportOutputPath="%s" -v Debug=false -v CompletedTripName="%s
          • image
        • The RunReport.rss file is a VB Script that can be appended and executed
    Open-Plant is a revolutionary Industrial IOT Platform software, used to create and deploy Industrial IT apps/solutions. It is an all-encompassing solution offering both back-end and front-end components i.e. the full stack. From our user's experience, creating and deploying Industrial IT apps became 10x faster and 10x less cost. We serve the mining, energy, oil & gas, construction and manufacturing industry. 

    OPEN-PLANT PTY LTD

    Perth, Australia

    EMAIL

    info@open-plant.com
    homedownloadenvelope