Showing results 1 to 7 of 7

Thread: Managing redundant PLCs

  1. #1
    vasco Gast

    Default Managing redundant PLCs

    Is it possible to make an online change of a driver, or the serial COM port of the current driver?
    I have two Allen Bradley PLC acting as a redundant system, but I made a zenon application considering only one PLC. I can know what PLC is actualy running, and with that information I want to redirect all content data of all variables to the respective PLC.
    Thank you all.

  2. #2
    Join Date
    30.05.2007
    Location
    Salzburg
    Posts
    879

    Default Re: Managing redundant PLCs

    Which driver to use use? Logix32?
    -> if so, then as you have already mentioned this driver does not support a redundat PLC (as for i.e. the S7 TCPIP driver has)

    Do you have a redundant zenon network? (Server and StandbyServer?)
    -> if so a possibility would be enabling the Redundancy type "Hardware redundancy" (instead of "Software redundancy")

    -> see info in embedded help:
    Hardware redundancy: The system consists of two redundant PLCs and two redundant control system computers. Each server communicates bidirectionally with one PLC. Both computers and both PLCs are synchronizing their data. If one component in the first system crashes, the second system takes over.

    Regards,
    Herbert

  3. #3
    vasco Gast

    Default Re: Managing redundant PLCs

    OK,
    I don't have two computers, and that is not the idea, because de ZENON is just monitoring, it doesn't control anything.

    The application consists of two equal (with same program) Allen-Bradley PLCs, reading the same phisical inputs from machine, both connected to serial ports 1 and 2, with two "Allen Bradley DF1-driver". One of the PLCs is running as primary (writes on phisical outputs) and other as secundary, and it can be switched at any time.

    Actualy my Zenon application reads from COM1 the PLC1, and what I pretend is to change PLC1 toPLC2 (COM1 to COM2) dynamically on runtime.

    Have you any idea how can I do that without having to change all objects ou variables on the project? I can do it making a huge VBA code to redirect all data to internal common variables, but that is a lot of work and it is not a very good final solution...

    Thank you again,

    Vasco

  4. #4

    Default Re: Managing redundant PLCs

    which modules are you exactly using in your project? Do you have alarms in zenon? or are you archiving varibles? Or use allocations?

    If you only display the variables in a picture you could use a prefix at the current variables, e.g. "COM1_" in the name or identification and create a second driver with a second set of variables and use "COM2_" as the prefix.

    At the picture switch function you can use substitution to display either the variables from COM1 (driver 1) or from COM2 (driver 2).

    Using the functions "driver commands" you can stop one driver, if necessary.

  5. #5
    Join Date
    30.05.2007
    Location
    Salzburg
    Posts
    879

    Default Re: Managing redundant PLCs

    One further solution (next to Mark's one) would be the use of internal variables (as you already pointed out).

    - all elements, archives, functions aso are linked with internal variables
    - 2 drivers ("Allen Bradley DF1-driver) configured (COM1 and COM2)
    - 3 "sets" of variables (1 internal driver, 1 driver for COM1, 1 driver for COM2)
    - via triggered allocation the variables from the currently active PLC are "mapped" to the internal variables

    As you do know which PLC is the active one you can de-/activate the corresponding allocation.

    Regards,
    Herbert

  6. #6
    vasco Gast

    Default Re: Managing redundant PLCs

    So, it's not possible to change the assigned com port of the driver. Only with zenon editor, isn't it?

    What you mentioned about picture switching, it don't work with multiple functions calls (in a Script, for example a button that changes a variable and also closes the window).
    And I'm handling archives and alarms also.

    Thank anyway,

    Vasco

  7. #7
    Join Date
    30.05.2007
    Location
    Salzburg
    Posts
    879

    Default Re: Managing redundant PLCs

    So, it's not possible to change the assigned com port of the driver. Only with zenon editor, isn't it?
    -> yes, only in the editor - not in the runtime (the COM information of the variables is hardcoded in the binary file called variables.cmp)

    One further solution (next to Mark's one) would be the use of internal variables (as you already pointed out).

    - all elements, archives, functions aso are linked with internal variables
    - 2 drivers ("Allen Bradley DF1-driver) configured (COM1 and COM2)
    - 3 "sets" of variables (1 internal driver, 1 driver for COM1, 1 driver for COM2)
    - via triggered allocation the variables from the currently active PLC are "mapped" to the internal variables

    As you do know which PLC is the active one you can de-/activate the corresponding allocation.
    -> this workaoround could be done as follow:

    - create a project backup
    - create 2 new drivers from the "Allen Bradley DF1-driver" (i.e COM1_Driver, COM2_Driver)
    - copy/paste all hardware variables 2 times
    -> thus you get for each variable a "Copy 0 of .... " and a "Copy 1 of ... "
    - exchange the driver of all hardware variables (from the orginal one)
    -> from "Allen Bradley DF1-driver" varialbes to "Internal driver" (-> multiselect for each datatype)
    -> this is necessary doing this way because variables in zenon are linked to elements, archives, .. aso.. via variable-ID - not via their names
    - in the variable list perform "Replace text in the selected column" (at "Name)
    -> Replace "Copy 0 of" with "COM1_"
    -> Replace "Copy 1 of" with "COM2_"

    - exchange the driver of all hardware variables starting with "COM1_" from the orginal driver to the "COM1_Driver"
    - exchange the driver of all hardware variables starting with "COM2_" from the orginal driver to the "COM2_Driver"

    -> now you should have 3 sets of variables:
    --> internal variables (still linked to the elements, archives, aso)
    --> "COM1_" variables linked to the "COM1_Driver"
    --> "COM2_" variables linked to the "COM2_Driver"

    - create the allocation triggers (for each driver create a bool variable)
    -> i.e "bCOM1_Driver"
    -> i.e "bCOM2_Driver"

    - create the variable allocations
    -> Source variable "COM1_VariableX.... "
    -> Destination variable "VariableX.... " (original variable name -> now linked to the internal driver)
    -> Trigger variable "bCOM1_Driver"
    -> Allocation Name "Alloc_COM1_VariableX.... "

    Copy & Paste all created allocations
    -> replace Source variable with "COM2_VariableX.... "
    -> replace Trigger variable with "bCOM2_Driver"

    I hope you got the idea....

    Regards,
    Herbert

Similar Threads

  1. ZENON-Dual Redundant Server
    By janlyndon in forum zenon Network
    Replies: 8
    Last Post: 5th May 2010, 10:03
  2. Redundant WEB Server
    By okhotnikov in forum Webserver/Webclient
    Replies: 2
    Last Post: 9th December 2009, 13:30
  3. IEC 104 primary and redundant IP addreses
    By westbaaam in forum zenon Energy Edition
    Replies: 1
    Last Post: 30th October 2009, 12:02

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •