Matrikon Alarm MOC

Matrikon Alarm MOC / MOCCA / AMMOC

  • MOCCA stands for “Management of Change and Configuration Assistant”
  • Matrikon Alarm MOC has 3 different users
·        Operator (User)
·        A regular user
·        Enforcer (Engineer)
·        A super user, Can do what operator does
·        Can enforce tag
·        Can edit tag values
·        Synonymous to a Process Safety Engineer
·        Approver (Administrator)
·        Can do what enforcer does
·        Can start and stop channels
·        Can Create and Edit Alarm Philosophy Matric
·        Synonymous to System Administrator
  • The DCS Map File
·        The purpose of the DCS Map file is to tell MOCCA how a DCS tag structure looks like and contains. It also determines which items come out in the TagBrowser Report
·        It is an XML based and starts with
·        <DCSMAP>
·        <TAGTYPE Name=”AIC101” Classification=”Analog Input”>
·        <PARAMETER Name=”PVHH_LIM” FieldType = “TripPoint” EngType=”Value” />
·        <PARAMETER Name=”PVLL_LIM” FieldType = “TripPoint” EngType=”Value” />
·        <PARAMETER Name=”PVHH_SER” FieldType = “TripPoint” EngType=”Value” />
·        <PARAMETER Name=”PVLL_SER” FieldType = “TripPoint” EngType=”Value” />
·        <PARAMETER Name=”ALM_ENAB” FieldType=”TagLevelAlarmStatus” TagLevelAlarmEnableText=”1” Enforce=”True” />
·        <ALARM Name= ‘””>
·        <ParamRef Parameter=”PVHH_LIM” />
·        <ParamRef Parameter=”PVHH_SER” />
·        </ALARM>
·        <ALARM Name= ‘””>
·        <ParamRef Parameter=”PVLL_LIM” />
·        <ParamRef Parameter=”PVLL_SER” />
·        </ALARM>
·        <Group Name=””>
·        <ParamRef Parameter=”P” />
·        <ParamRef Parameter=”I” />
·        <ParamRef Parameter=”D” />
·        </Group>
·        </TAGTYPE>
·        <PriorityMap>
·        <Low Value=”1”>
·        <Medium Value=”2”>
·        <High Value=”3”>
·        <EmergencyValue=”4”>
·        </PriorityMap>
·        </DCSMAP>
·        The Sergregation between ALARM and GROUP is important to:-
·        To know which is an Alarm and which is a Group from the Alarm Report
·        An Incorrect DCS MAP File will cause the Channel Fail to start. It is therefore important to ensure the XML code is correct. E.g:-
·        Comments must start with “<!--“ Comments and ends with “-->”
·        Valid Values for TYPE
·        String
·        Real
·        Integer
·        Valid Values for EngType
·        Ignore
·        Value
·        Range
·        Valid values for Field Type
·        None
·        Priority
·        TripPoint
·        Unit
·        Desc
·        TagLevelAlarmStatus
·        Priority Map Node Names Must be
·        Low
·        Medium
·        High
·        Emergency
·        Other
·        Discovered on 16/8/2011, not all cases where channel failed to start is due to DCS MAP FILE Failure… sometimes the sync service just becomes out dated. Resaving the settings in the ‘Manage Channels’ page would solve this. Discovered on 12/10/2011, resaving the DCS MAP file solved the problem
·        For <TAGTYPE>,
·        The Name attribute
·        Indicates the type of tag
·        Must match up with the Rules File (.rbf) TagType in the MOC rules builder
·        Will be displayed in the AM MOC Tag type
·        The Classification attribute
·        Is used for the Alarm Point Type Distribution By Area
·        This report answers the question of how many alarms are configured per tag (alarm/tag); which is then segregated by tag type
·        The Value would normally be
·        Analogue Input
·        Analog Output
·        Controller
·        Other
·        The <PARAMETER> child node
·        lists down all the parameter to be scynchronized.
·        If synchronizing from OPC, the Name attribute it must match the OPC Parameter Name (Such as PV,OP,PVHHLIM and etc) (Not the name in the rules builder). The parameter should be browsable from the Rules Builder
·        The FieldType attribute determines the type of parameter. It must be either:-
·        No Values (Default)
·        Priority ç Alarm Priority, needs to synchronize
·        TripPoint ç Alarm Set Point, needs to synchronize
·        Unit ç Name of Unit
·        Desc ç Appears in the Description Field
·        [CHECKED ON 13/10/2011] The ‘DESC’ value is put in to Tell MOC that this is what needs to appear in the Desciption field in the web report. If there are more than 1 field having the ‘DESC’ value, the LAST ‘DESC’ field will be used in the the Description web reportclip_image006
·        TagLevelAlarmStatusç Enabled State of Alarms
·        E.g. if <Parameter Name=”AlmEnable” FieldType=”TagLevelAlarmStatus” TagLevelAlarmStatus = “1” />, this means that whenever The AlamEnable parameter is read as 1, it means this alarm is enables
·        This is important for the disabled alarm report
·        Note that this is for the TAG LEVEL. Meaning that if this parameter matches 1, the whole tag is considered inhibited (All Alarms Disabled in the tag). It is not for individual parameters within the tag being disabled
·        I did an experiment where I had several parameters with TagLevelAlarmStatus. Only when all of them does not match the TagLevelAlarm Status (i.e. = 0 in this example), will the tag be registered as disabled or inhibited in the report. However, for the Tag to be enabled back (cleared from the disabled report), only > half the number of the alarmtaglevelstatus need to be activated.
·        The EngType Field is a parameter setting to be used in the TagBrowser. It also effects the discrepancy report.
·        Ignore – This is by Default (if nothing is specified). For this, the parameter is excluded from the discrepancy report
·        Value – If this is specified, then the user can enter only a single value (in the Min field). If the value does not equal this value then it is considered a discrepancy
·        Range – If this is specified, then the user can enter the Min and Max Eng value, as long as the actual value is between this, it is not considered a discrepancy
·        Issus on Disabled Alarm
·        Now what if an Alarm is disabled? By right it should not be shown as a discrepance if it is disabled. MOCCA takes this into account.
·        By default MOCCA, assumes all alarms that has Severity value not in the priority map as disabled.
·        As shown in the sample DCS map above, all alarms will be under an <Alarm> node and this node contains the severity.
·        <ALARM Name= “PVHH>
·        <ParamRef Parameter=”PVHH_LIM” />
·        <ParamRef Parameter=”PVHH_SER” />
·        </ALARM>
·        By Default, If the priority value = ‘0’ then the alarm will be disabled.
·        Additional disabling can be added by adding configured expressions e.g. Note that PVHHALMEN does not need to be configured in the ParamRef for this to work
·        <ALARM Name= “PVHH” ConfiguredExpression=”PVHHALMEN=’1’”>
·        <ParamRef Parameter=”PVHH_LIM” />
·        <ParamRef Parameter=”PVHH_SER” />
·        <ParamRef Parameter=”PVHHALMEN” /> ç Can be removed and still work
·        </ALARM>
·        In the MOCCA TAG Browser in OI, alarms which are enabled will be bolded
·        The <PRIORITY> Child Node
·        Is used to determine the Alarm Priorities available in the system.
·        MOC has defined by default that alarms should be categorized as
·        Low
·        Medium
·        High
·        Emergency
·        Other
·        Hence, the priority map node must only be restricted to these values. A DCS Map file error will occur if the node values are not within these values
·        This can be changed by (Have not researched this yet)
·        The Value in the DCS map determines which value should map to that priority. This priority mapping value will be applied with parameters with FieldType=Priority
·        IF there are more than 1 value which represents a particular priority. The node can be extended as follows:-
·        <PriorityMap>
·        <Low Value=”1”>
·        <Medium Value=”2”>
·        <Medium Value=”3”>
·        <High Value=”4”>
·        <EmergencyValue=”5”>
·        </PriorityMap>
·        Note that the value cannot be null or it will cause an error
·        The priority map having emergency, high, medium, low is only important for the
·        Priority Distribution By Alarm Condition Report
·        Priority Distribution by Area Report
  • The VB SynchronizationScript
·        After you edit a VB script, one does not need to restart synchronization. Tested on 12/10/2011, even if you edit the script while a MOC browse is occurring, the changes effect immediately
·        The sync script must have the ProcessTag() subroutine and this must be executed
·        In this script, the object Rawtag is exposed. This tag can be modified as follows
·        Rawtag.DCSID – Get
·        Rawtag.Name – Get, Set
·        Rawtag.Qualifier – Get, Set
·        Rawtag.Type – Get, Set
·        Rawtag.Network – Get,Set
·        Rawtag.Area – Get,Set
·        Rawtag.Unit – Get,Set
·        Rawtag.Parameters – Get,Set
·        Rawtag.Parameters.Item(“PVHH_SER”) – Get, Set ç The ParameterName is called here
·        The get items work for items not declared in the DCS Map
·        The get item however does not work if the Parameter is not defined in the parameters section of the rules builder
·        The rawtag Parameters.Item
·        Note that the Sync Script is not persistant. The entire script (Outside and inside the processtag procedure is executed every cycle). Variables are not pass on the next execution. This is unlike AM
  • The VB MOC Structure Script
·        The MOCCA structure script is a VBScript which invokes the procedure ProcessMOCStructure everytime it reaches a branch which satisfies the requirements outlined in both TAGDEFINITION and TAGTYPE (i.e a particular tagtype is identifier). THIS IS IMPORTANT!!!. The MOC Strcuture script is not executed at a branch that does not satisfy a tag definition
·        This script is at every branch or movement of the OPC browsing while the Tag Update Synchronization is done.
·        In this script, the object MOCStructure is exposed. This object holds
·        MOCStructure
·        TagCount ç Number of Tags in the Structure (As long as it fits the tag criteria defined in the Rules RBF file)
·        TagList
·        Item(i)
·        ParameterCount çNumber of Parameters in the Tag
·        TagType ç The type of tag as defined by the Rules (RBF)
·        ParameterList
·        Item(i)
·        Name ç This is the Name of the Parameter, as it appears during MOC Browsing using  MOC Rules Builder. In the Example Below the Item(x).Name (or Parameter Name) is “ALARM”. This NOTE : This Parameter Name is used in the Parameters Identification in the MOC rules builder
·        ItemName ç This is the full OPC Item Path. It is the same path which is declared in the ODH Source Name Column. It can be used in VB scripts to make the OPC Call [TESTED ON 30/8/2011]. This is it’s true location
HarmonyNavigation/RootUnit/U-Batch and Chem Prep Harmony/U-Batch Mill Harmony/U31-Digesters/ILBP2:TYPE
(In this case the Parameter Name is TYPE. The “:” becomes a separater between Path and Item)
(In this case the Parameter Name is PV)
·        Synchronize ç Set ad “true/false”. If false, item is not synchronized
For this reason, one can use a BLANK DCS MAP FILE  and A BLANK MOC SYNCRONIZATION SCRIPT [TESTED ON 30/8/2011]
Blank DCS Map File:-
<?xml version="1.0"?>
Blank Sync Script:-
Private Sub ProcessTag()
End Sub
·        NOTE, THIS WAS TESTED on 15/8/2011
·        The ProcessMOCStructure script AND ALSO THE ProcessTag (Synchronization Script) execution is not persistent. If you declare a global variable (i.e. Dim X) outside the procedure, use it in the ProcessMOCStructure subroutine, it will not maintain the last value of X on the next execution.
·        TESTED ON 12/10/2011 on the MOC Synchronization script: The code executes everything outside the procedure vs before going into the procedure. Therefore the object created need to be destroyed in the Process Tag Function (Set FSO=Nothing).
·        The entire script is executed, on every MOC branch step. The top part, and also the script inside the ProcessMOCStructure. This is unlike AM where only the ProcessMessage() is executed for every step and the TOP part (normally used for object declaration) is executed at the start only once
·        For A GLOBAL Variable, it needs to be declared outside the ProcessMOCStructure. If it is not declared outside, any assignments done to it inside the ProcessMOCStructure will not be passed to other subroutine..
  • Synchronization
·        Regular Update
·        Execute periodically. Executes also every time the service is started
·        SQL server stores, all OPC item names (or paths). Performs the following query on SQL server, to get the item names
      AMTag.Name as TagName,
      AMTag.Type AS TagType,
      AMOPCParameter.ItemName AS ItemID,
      AMOPCParameter.Name AS ParameterName,
AMTag inner join AMOPCParameter on
AMTag.ID =AMOPCParameter.TagID
AMTag.ChannelName = 'IM_Surrogate'
and HMTP = 0
·        Quickly grabs all OPC values from the results of this query
·        Does not browse the OPC tree structure
·        (And therefore) Does not invoke MOC Structure Sctipe (ProcessMOCTag)
·        Below is how the Synchronization Log File works when regular update is done
·        Tag Update
·        Execute Periodically as well
·        Executes also every time the service is started
·        Invokes the tag update synchronization script (Process tag), updates everything
·        Invokes MOC Structure Sctipt
·        Browses the OPC tree structure. This causes it to take longer!
  • Triggering the Synchronization
·        Sometimes when restart service, both tag and regular update is performed if, scheduled start time is less than current time. If this does not work, play around with the manage channels. Change the time start to 1 minute later and saveclip_image016
·        You can turn off the regular update and fast update cycle if you are only interested in the tag list update
·        Regular Update Started
·        Start of Tag list Update
·        Tag List Update Completed
·        Regular Update uses the data obtained from SQL to perform the update. The processing tag is done immediately (Invoking the Process Tag Script)
·        Regular Update Completed
·        Reasons Why Browsing Fails
·        The start path is configured in rules builder (There is a bug here (26/07/2011).Removing in rules builder may fix it
·        The tag definition in OPC item is not configured correctly (TAG DEFINITION IS CASE SENSITIVE!).
·        Sometimes the regular update does not browse the tree. To fix, this you can play around with the options in the MOC Rules builder. There are 3 ticks (8 combinations). Changing this will have immediate effect on the program browsing (witnessed on 22072011)clip_image028
  • Process Tag Synchronization scripts
·        Installed in the process tag
  • Tag Deletion
·        Tag is deleted using the MOCCA Excel Interface. Once a Tag is deleted, it should immediately dissappear from the plant hierarchy (no need to refresh netobjects or whatever)
·        dsd
  • Plant Hierarchy
·        Tag list update will rebuild the tree
·        If a tag is already configured and the area need to change, the tag must be deleted first. Tag is deleted using the MOCCA Excel Interface
·        Once the tag is deleted, when it is re-imported back, the  new object trees will be rebuilt.
·        Note that the Net Object tree does not need to be deleted for this, only the tag
  • The rules builder is used to build an “rbf” file which contains the rules on what items to take and classify when MOCCA parses through an OPC server
·        Note 1 2/2/2011 MOCCA 3.0.4 – The Set Start Path doesn’t’ work don’t bother to use it
·        You can prevent the OPC server to go through an entire branch by right clicking => Exclude Branch
·        You do not need to restart the synchronization service after the rules file has been changed.
  • The rules is structured into 3 parts
·        Tag definition
·        In an OPC structure there are many items (e.g. Alarms, Status, Tags, etc). This definition is used to identify which OPC structure is a tag.
·        Rules can be built to determine a tag based on
·        OPC Items
·        Important! Take note that the OPC Item is not the parameter name or parameter item name, it is a hierarchy name based on the browse where each branch is separated by a ‘\’ . For this it is imperitave to take note that the Operator equals may not work for OPC item. One should use the endswith term instead.IMPORTANTTIP!!: To get a more precise rule. Use set the OPC Item rules as “Ends With \BAL” (For selecting only BAL parameter)
·        The OPC Items need NOT BE DECLARED in the Parameters Tab of the Rules Builder for it to scan an OPC Item [TESTED ON 20/8/2011]
·        OPC Branch
·        OPC Properties
·        Each Rule by default is an “AND” Operator. If one opens the RBF File, under <Tag Ident><Criteria> node, there is a possibility to change this from and “AND” to an “OR”. This change unfortunately does not work (as of 27/7/2011)
·        The Path to Next…
·        Is used to determine where is the tag. Typically it’s “..” means that the tag(name) is a parent to the node
·        The Maintain Tag Types Hyperlink
·        Tag types must be declared here. There are many tag types such as for a yokogawa system there are PVI, PID, PVO and etc.
·        TagType and Parameters Definition
·        The tagtype declares a rule of which of the tags belong to the defined tag type.
·        The rules has lines, each line is and AND operator. If no rules are configured, here (i.e. no parameter or tag lines), no tags will be detected
·        By Default, a tagtype “Default” is already created in a freshly opened rules file. This “Default” tagtype cannot be deleted Using the MOC Rules builder. It can however be deleted by directly deleting the tagtype node in the RBF File.
·        NOTE!!! The “Default” Tag type will captue any tag even though nothing is declared in it’s parameter. By right one should not allow default tags to be synchronized
·        To declare this part one can declare MOC Node Type by Parameter or By Tag
·        By Parameter –
·        If one selects this, one needs to define the parameters first on the parameter tab.
·        IMPORTANT!! VERIFIED 22072011 The Name is actually the Parameter Name, which does NOT include the path.
·        Table above shows the difference between parameter name and parameter item.
·        The parameter tab is used to define the rules for which parameter is selected. Since we have selected the tag in tag definition, in the parameter tab, we need to select which parameters we need. An easy way is to take all parameter and define a very generic rule (such as ends with “”), this will results in the system browsing all tags including the tags we don’t want. (This does not effect the tag browser report as the tag browser report is based on what is configured in the DCS Map file). Picture below shoes this. All Parameters are highlighted green indicating all parameters have been selecting with this generic rule
·        Each line in the rule is an OR parameter.
·        Important! Take note that the OPC Item is not the parameter name or parameter item name, it is a hierarchy name based on the browse where each branch is separated by a ‘\’ . For this it is imperitave to take note that the Operator equals may not work for OPC item. One should use the endswith term instead. In the example above, the BAL parameter OPC Item is = Blablabla\Program\AC38_002\BAL. TIP: To get a more precise rule. Use set the OPC Item rules as “Ends With \BAL” (For selecting on BAL parameter)
·         Once the parameter tab is done, the TagType tab is done next ( and yes, we do the second tab first ). Since we have selected the only parameters we want from the parameter tab, we can tell MOC that a certain tagtype must have these parameters. Each line in the parameter rules in an AND operator
·        The TagType parameter works line-by-line, it first searches the first tagtype and how it is defined (as explained above, by specifies what parameters it have). If the tag type is taken, it accends down accordingly.
·        Example is that a tag type PID, must have parameter P, I, and D. SO we specify “Ends with P”, “ends with I”, and “Ends With D” as tag type rules. If say MOC finds a A tag wouthout any P,I or D, in then checks the next tag types.
·        By Tag
·        Identification by Tag is basically based on the tag name (have not tried this yet)
  • Alarm MOC Excel Plugin
·        You can install the Excel Plugin by downloading the plugin from OI
·        You Can
  •  clip_image038
  • Save and check the control drawing

Yokogawa EXAOPC

  • Product Model : NTPF100
  • Version
    • R3.70
      • The first ExaOPC version which is able to Connect to CENTUM VP R5 (R5.01)
      • Requires .NET framework 3.5 SP1
    • R.3.70.10
      • Some hot fixes for 3.7
    • R3.71
      • Able to connect to Centum VP R5.02
  • Capacity / Limitations
    • In general, 2000 Item ID’s per second
    • image_thumb7
  • PC Specifications
    • image_thumb9
  • Supported CENTUM
    • image_thumb14
  • Supported Windows
    • image_thumb311111
  • OPC Specifications
    • DA 2.0
    • AE 1.10
    • HDA 1.2
  • Program Component
    • ExaOPC Server Monitor
    • ExaOPC Setup
    • ExaOP Station Viewer
    • OPC Connection Confirm
    • ExaOPC Server Monitor
      • Only available in R3.21 and later
      • Tabs
        • Server Information
          • Number of Item ID
            • This is the number of items registered in the ExaOPC Server. This number will depend on the Tag Dowload.
          • Device Read Data
          • Device Cache Data
          • Write Data
          • Total Data Access
          • Throughput Maximum
          • Screenshot
            • image_thumb161
        • OPC Server Log
        • Number of ItemID
          • Screenshot
            • image_thumb18
        • Number of Data Access
          • Screenshot
            • image_thumb201
  • Troubleshooting
    • Ask
      • Were thre any system changes to the ExaOPC Server?
      • IT Security Model between CENTUM and EXAOPC Needs to match
      • Run PMCDUmpWiz tool
        • C:\Exa\PKGCOM\tool\PMCDumpWiz.exe
        • Output archive can be any zip file
      • Database version on EXAOPC. This is because if ExaOPC is upgraded, the Database version is an older type
      • Check CENTUM and EXA Username and Password, it must match HISENG
      • Can EXAOPC Browse HISENG CS1000PJT folder?
      • Can Ping?
    • Logs
      • Windows Logs
      • ExaOPC Server Monitor Logs on the DA branch
      • HistView Logs
        • C:\Exa\CENTUM\Program\BKHHistView.exe

Yokogawa CENTUM


  • Versions
    • Centum XL
    • Centum CS
      • R1
        • Released in 1993
      • R2.07
        • Released in April 1997
    • Centum CS 1000
      • R1.02
        • Released in September 1997
        • Runs on Windows (Old Version), possibly Windows 95
      • R2.2
        • Released June 2000
        • Adds PHS4510 Expert Trend Viewer Package
        • Automatic Project Backup
        • Self Documentation Enhancement – Print By Items
      • R3.01
        • Released Jan 2001
        • Runs on windows 2000 Pro SP1. DOES not run on NT4.0
      • R3.03
        • Support windows XP
    • Centum CS 3000
      • R2 (STARTs AT R2… for whatever reason)
        • End of Hardware Supply Jan 2014
        • R2.2
          • Released June 2000
          • Adds LHS4510 Expert Trend Viewer Package
          • Adds Self Documentations
          • Supports 64 I/O signals per sequence table
          • Support Automatic Project Backup
      • R3
        • R3.01
          • Released Jan 2001 – Is a major release
          • Runs on Windows 2000
        • R3.08
          • Released October 2006
          • Adds LHS4800 Package – Which allows CAMS
          • Some enhancements (Engineering, Connectivity, Operation Monitoring)
        • R3.09
          • Released February 2010
          • Key code media uses CDs now
        • R3.09.50
          • Released November 2011
          • Suppots MS Office 2010 for LHS6530 Report Package
          • Supports Adobe Acrober/Reader V10.1
        • R3.09.57
          • Patch
          • SOE Server package supports SQL Server 2008
          • Supports SEM OPC
        • R3.09.86
          • Patch
          • Latest version as of 14/2/2014
    • Centum VP
      • R4
        • Start at R4.01
          • Released February 2008 – is a Major Release
          • Uses Windows Vista
          • Software is now distributed in DVD ROM (Previous version in CD-ROM)
          • HAS CAMS!!! - The previous LHS4800 (CAMS) package is bundled into the Standard Operation and Monitoring Function Package (LHS1100 / LHM1101)
      • R5
        • 5.01
          • Released August 2011 – is a Major Release
          • The key difference with R4 is that it supports Windows 7 and Windows Server 2008R2. Windows XP not recommended.
          • UGS (Unified Gateway Station) is released
          • CAMS – Alarm Setpoint management added
          • New software license management system
          • Does not use ActiveX controls anymore, and uses .NET components. Graphic files are now in the format of XAML files
        • 5.02
          • Released June 2012
          • Added Tag Name Hierarchy
          • Profibus Communication Module Introduced
          • CAMS Alarm Set Point Management Enhancement
          • Added Tab Controls
          • 5.02.05
            • A patch which fixes an a dangerous AOF status change (Alarm on Tag is turned off) after HIS is restarted
        • 5.03
          • Released June 2013 – Not many changes
          • Allows use of WAN Router
          • Centum Data Access Library supersedes Microsoft VB 6.0
    • If one has a DCS project, to know the DCS version, simply  open the ‘Project.atr’ file in Notepad and the version is mentioned there
      • image
      • In the following example, it is version R3.09
  • Product LifeTime
    • End of Order Entry
      • Orders are no longer accepted
    • End Of Supply
      • Comes Next, the product will no longer be manufactured and no longer be sold
      • Limited Stock
      • Generally 3 years after end of Order
    • End of Support
      • Comes Next, any existing product will no longer be supported.
        • Unable to Repair (MOST IMPORTANT!)
        • Unable to get second hand
      • Generally 5 years after end of Order








HIS / Operator Console

HIS Graphics


Project Common

CAMS (Consolidated Alarm Management Software)

CART (Comparative Analysis Reporting Tool)

CEA Report

Yokogawa Exaquantum

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\Matrikon.OPC.Simulation.1]@="MatrikonOPC Server for Simulation and Testing"

      • 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
      • 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
          • 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’)
            • 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
          • 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
                • 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
                • 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
              • 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:
              • 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_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_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,    *
              [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:
              CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, TimeStamp), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime,    *
              [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
        • 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
        • .NET Framework 4.0
        • IIS
        • 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
          • 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]
              /*--- CREATE QApplicationConfig ---*/
              CREATE DATABASE [QApplicationConfig]
              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)
                  SET @sql = 'ALTER DATABASE [QApplicationConfig] COLLATE ' + CAST (@historianDataCollation AS NVARCHAR)
                  EXEC (@sql)
              /*--- CREATE QApplicationData ---*/
              CREATE DATABASE [QApplicationData]
              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)
                  SET @sql = 'ALTER DATABASE [QApplicationData] COLLATE ' + CAST (@historianDataCollation AS NVARCHAR)
                  EXEC (@sql)
          • One may also want to try rebuild the QAPPLICATION data tables manually. Use the following Query
              USE [QApplicationData]
              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
      • 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)


    • 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
              • 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
      • 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"

                • 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}","","","","","",""

                  • 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
              • 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

    Matrikon Alarm Manager

    Matrikon Alarm Manager


    Description From

    (Outgoing Port)


    (Incoming Port)

    Protocol &

    Incoming Port

    AM Webpage Corporate Users AM Server HTTP Port 80
    FTP for Backup Prod AM Server Site FTP Server FTP Port 21,

    FTP Data Ports (Depending on site)

    SMB for Backup AM Server Site File Server SMB TCP Port 445
    For Failure Alert AM Server Email Server TCP Port 25
    For Failure Alert Primary A&E Collector,

    Secondary A&E Collector

    Email Server TCP Port 25
    A&E Viewer Client Corporate Users (A&E Viewer Client) AM Server TCP Port 8540,8543
    Excel Add-in Corporate Users (Excel) AM Server TCP Port 8542
    SQL Communication Corporate Users AM Server TCP Port 1433
    AM System Communication AM Server

    (A&E Archiver)

    Primary A&E Collector,

    Secondary A&E Collector

    TCP Port 8541
    DCOM Communication Primary A&E Collector,

    Secondary A&E Collector

    Primary Experion OPC Server,
    Secondary Experion OPC Server.
    TCP Port 135

    TCP Port


    TCP Alarm Printing Primary Citect Alarm Server,

    Secondary Citect Alarm Server

    Primary A&E Collector,

    Secondary A&E Collector

    TCP Port 2070