DeltaV SX Controller

Where do I verify free or unused memory in an SX Controller? The controller Diagnostics shows Free memory of 126843320, am I reading this correct as 126mb.?

The Spec sheet for the SX controller says memory size is 96mb.

Controller is Major Revision 14 Minor Revision 13

6 Replies

  • Jim, Check Diagnostics, right click Controller, select Time Utilization Chart. Check out both tabs.

    The DeltaV Controllers underwent some changes back in v12, where the S-series changed to a different Operating system, one that provided newer features to address growing Cybersecurity issues. This new OS has also been used in the CIOC, SZ and EIOC products. In v14, the M-series migrate to this new OS which is also in the PK controllers.

    With the new OS came a change in the diagnostic capacities. The FREMEM limit of 96 Mb was based on the old OS. The Parameter is now representing a new memory size due to how the new OS manages the controller's resources. The FreTim parameter is no longer valid, but remains as a place holder.

    The controller performance numbers are now under the Time Utilization Chart right click menu of the controller. This diagnostic introduced four Health Index: Control Capacity, Memory, Communication and Overall indexes. They are an integer from 5 to 1. They were intended to provide a simple health indicator similar to what a Windows 7 computer provided. However, they basically represent the loading of the controller in those three key areas, with the overall index showing the lowest of the three. An index of 1 indicates a resource limit has been reached. 2 and above indicate all is good, but at 2, you are approaching "full" so adding more to the controller means paying attention to avoid reaching 1.

    This was introduced in v12, and I think by the v12.3.1 release, the % capacity numbers were added. These were not initially exposed for reference in modules or displays, but they were made available in v13. They show up in Diagnostic on the second tab in Time Utilization Chart. % Control Capacity, % memory capacity and % Communication capacity. You can reference these directly from a Display reference.

    I'm not sure exactly at what % value an Index number changes. I'd be guessing, but I know the index is not a linear division of the % capacity. The % capacity replaces the old FreTim and adds the memory and communication capacity values, which are important when you are trying to anticipate how much more control you can add to a controller. You need all three, but mostly you need Control Capacity to execute the module, Memory to load it into the controller and Communication capacity to handle any additional loading. Note that Communication capacity is largely consumed by CHARM IO communications. If Communication capacity is low, you are likely running many CIOC's at 50 or 100 ms.

    I prefer to look at the % capacity. I then distribute the consumed capacity over the number of modules and IO nodes/Channels I have. Assuming I continue to add similar control strategies, this tells me how much capacity I can expect to be able to add. The limit is set when I reach any one of these three resources. Usually, with SX/MX, the Control Capacity is reached first. Memory is rarely an issue on these controllers, but in Batch applications, there can be a large number of phases in Memory. This certainly was more prevalent in MD and MDPlus.

    In v14, we have the PK controller which brings up to 4 times the Control Capacity of an MX controller, and a corresponding increase in Memory and Communication capacity. I've done some capacity testing and loaded an SX controller to 1% control capacity. I commissioned a PK controller on this same configuration and the % capacity registered 74 % capacity. (99% load became 26% load) So on my test that was 3.8 times. An MQ controller at 1% control capacity would probably result in about 85% control capacity in a PK.

    Andre Dicaire

  • I was just looking at what these parameter mean since we upgraded our M-series controllers and only have the FRETIM parameter now on the MDPlus.  KBA  AP-0900-0129 has a lot of information about the controller diagnostic parameters.  Here is a snip that correlates the perfindex number to the other indices.  We read them into a control module that runs on an application station so we can track performance on our heavily loaded controllers, and we are in process of modifying the modules with the new parameters.

    Kathy Pate

    Toray Carbon Fibers America

    Decatur, AL 35601

    kathy.pate@toraycma.com

  • In reply to Andre Dicaire:

    Thanks Andre for your detailed reply.
    I checked the Time utilisation Chart and it shows Control and Memory Expansion above 80% % and 4 or good in overall performance.
    This will be fine for the project expansion I am working on.

    Jim
  • In reply to Andre Dicaire:

    thank you very much for this explaination. however, now that I know about this I find that 1 controller is at 17% free controller expansion capacity. 1 of my controllers is between 0 and 5% communication expansion capacity. I wonder if this is why I am missing SFC transition confirmations... I am having times once or twice a week where an SFC will be stuck in a transition. I can force transition and program resumes as normal.
  • In reply to Petrisky:

    What is the transition expression?

    Most likely you are having trouble with buffered writes to other controllers which if not confirmed properly will NOT be written if the action doesn't stay active until the write occurs. Best thing to do is to confirm that PARAMWRITE.AWST = 0 which will ensure that the value written to PARAMWRITE has successfully been done. If you write a SP_D to a Valve and the confirm is PV_D = Open and AWST = 0 isn't required. If you just write the SP_D and don't have a confirmation, you need to add PARAMWRITE.AWST = 0 for this situation.

    In Books Online take a look at :
    Configuration -> General Configuration -> Controller considerations ->Inter-Controller communication guidelines.

    and

    Configuration -> Function Blocks -> Function block parameters -> External Reference Parameter
  • In reply to Matt Stoner:

    cool I will check this out. Thanks