Question about dynamic screen configuration with bitwise indirect addressing in EasyBuilder Pro

Question about dynamic screen configuration with bitwise indirect addressing in EasyBuilder Pro
none 0.0 0
  • HMI Model: cMT2166X
  • EasyBuilder Pro Version: V6.09.01.556

I’m currently developing an HMI application using EasyBuilder Pro with a cMT2166X HMI and a Schneider M580 PLC. I’d like to confirm the best approach for creating a reusable motor popup screen that dynamically adapts to multiple motors using indirect bit addressing.

I have two motors, each mapped to a different memory word in the PLC:

Motor 1 – base address %MW110

  • AM: %MW110.0

  • Manual Stop: %MW110.2

  • Fault: %MW110.4

  • Enable Interlock: %MW110.5

  • Status: %MW110.6

  • Interlock: %MW110.7

  • Manual Start: %MW110.9

  • Maintenance Mode: %MW110.10

  • Reset: %MW110.11

  • General Status: %MW110.12

Motor 2 – base address %MW120 (same bit structure as Motor 1)

My goal is to use a single popup screen for all motors, selecting the active motor via an index register and accessing the corresponding bits dynamically.

I’d like to confirm the following:

  1. Is this approach recommended for this type of application?

  2. Is there a native method in EasyBuilder Pro to achieve indirect bit addressing without using macros?

  3. If it is necessary to use a macro, what is the correct form of the macro?

I appreciate your guidance and look forward to your recommendations on best practices for implementing this functionality.

Hi @Reinaldo_stz ,

Thank you for contributing to our forum.

To help us better understand your project, what driver are you using with your PLC?

HMI cMT2166X e um PLC Schneider M580

To clarify my objective further: In AVEVA Edge, I can create a class structure (e.g., a “Motor” class) and assign multiple motors as instances of that class. Then, I can design a single popup screen that uses a tag index to dynamically reference the selected motor. When the popup is opened, it automatically displays and controls the motor instance selected via the index.

I’m looking to implement a similar concept in EasyBuilder Pro using either indirect addressing or template objects, as you suggested. If possible, could you please share:

A sample project or configuration that demonstrates this approach

Guidelines for setting up indirect windows or template objects with tag indexing

Any reference materials, tutorials, or example configurations would be greatly appreciated.

Thank you for your continued support.To clarify my objective further: In AVEVA Edge, I can create a class structure (e.g., a “Motor” class) and assign multiple motors as instances of that class. Then, I can design a single popup screen that uses a tag index to dynamically reference the selected motor. When the popup is opened, it automatically displays and controls the motor instance selected via the index.

I’m looking to implement a similar concept in EasyBuilder Pro using either indirect addressing or template objects, as you suggested. If possible, could you please share:

A sample project or configuration that demonstrates this approach

Guidelines for setting up indirect windows or template objects with tag indexing

Any reference materials, tutorials, or example configurations would be greatly appreciated.

Thank you for your support.

@Reinaldo_stz,

To clarify, do these UDTs already exist within the PLC? For this type of application we usually recommend using a UDT array and then indexing that array in our software on the popup screen. When communication is made via direct addressing, some users prefer to index absolute addresses instead. To provide the best recommendation we would need to know what driver you are using within EasyBuilder Pro. However, here are some tutorials that may help:

I’m currently using the Schneider Electric Modbus TCP/IP (Modbus Addressing) driver in EBPro.

Hi @Reinaldo_stz,

If you are using the Schneider Modbus TCP/IP driver and importing tags via the .XSY file, then it might be possible to use the method described within the “index tag based PLC tags” above to design a dynamic popup that can be display data from various motors.

When using this method, it is best to use an array of your UDT so that the structure element can be indexed.

Thank you for your suggestion.

I’m currently trying to implement the solution a little differently. I have two distinct engines, each with its own set of addresses for commands and status. My goal is to use a single pop-up window that can open for either engine and dynamically reflect the correct addresses based on the selected engine.

I’d like to know if you have any recommendations or examples that might help, or a sample configuration or project that demonstrates this practice. Thank you again for your support.