• Not Answered

Controller communication and active/ standby status representation in graphic.

I want to show controller communication and active/ standby status of both primary and secondary controller according to their IP address/MAC address in the graphic page. Unable to browse directly in my DeltaV 10.3.5. Please help me how to represent all four comm status along with their active and standby status. 

1 Reply

  • That information is available in Diagnostics.  If you locate the parameters you want to display, right click Properties to show the Parameter path and value in a pop up, and that is the path you need to use in Operate to read the value.  10.3.5 is an old version so you will likely need to figure out some details on your own, as there are not many still running that and still fewer on this forum.  

    CONTROLLERName/MACADR is the path to Active controller MAC address

    CONTROLLERName/REDU/StBY/MACADR is path to the standby.  

    These are the Primary network addresses.  The secondary MAC addresses are not available.  But you can determine the secondary port MAC from the Primary.  The last octet will be incremented by 1:

    Primary:  00-22-E5-12-34-56

    Secndary:  00-22-E5-12-34-57

    All the remaining Octet characters are the same.  

    The last character of a primary MAC will be even (0, 2, 4, 6, 8, A, C, E)

     The last character of a primary MAC will be even (1, 3, 5, 7, 9, B, D, F)

    These are Hex values, and converting Hex to decimal or integer so you can add a 1 to it is a bit arduous.  I came across a clever use of a string to do this..

    Read the MAC address as a string and return the character in the last position.  There are 17 characters in a MAC address including dashes.  

    Create a HEX Values string with "0123456789ABCDEF",  Now find the last characters position in this string (the character A is in position 10 (starting from 0).  Now increment this and find the next character which will be "B" in position 11.  Now you can replace the last character of the MAC address with the next character and get the address of the secondary network.  

    You can create a public function you can call to pass the MAC address of the Primary port and have it return the MAC Address of the secondary.  All DeltaV hardware uses the Even numbered MAC address on the primary and the next odd address for its secondary.  At least, I have not found that not to be true.  

    The alternative is to extract the last character as number, convert this to binary or decimal, add 1 and convert back to Hex.  That's the harder part.  The HEX Values string works for all 16 characters in HEX so I find this a consistent way to deal with these hex strings, and the remaining numerals as well, in one function.

    Happy programming.

    Andre Dicaire