Eclipse HMI

dear developers I am new to the platform I would like to declare a variable of an c++ eclypse code in such a way that i can link it to a dynamic of rectangle in a Hmi page of the axcf2152. at the moment i cannot see the variable in the Hmi Page(selecting rectangle-> dynamics → add new dynamics → fill → variable). in the portlist of the controller (declared is output in and input in eclypse) i can see the varaiables. how to solve? sincere nick

Hello Nick, please declare a external/global variable in POE and use it in a Hmi page application. In the second step, you can assign the external/global variable to In- and Outputvariables (Cpp -Variable) in POE (e.g. IEC61131 “Main” program). Regards Eduard

dear eduard, for my understanding. i created a IEC61131 program and declared variables like this: VARIABLES CODE the variables ending with “hmi” can be linked/assigned to a dynamic in the hmi webpage designer. the (in-out)ports can be linked/assigned to the c++ variables in the porlist. This works fine, but is it the best way to do it? I can imagine there will be a posibility to link/assign the variables without the need of an IEC61131 program? hope the question is understandeble enough for reply. kind regads nick

Hi Nick, Please try this:

                                               * In the program "Global_data_link", in the Variables sheet, check the "HMI" boxes for the IN and OUT port variables that you want to use to animate the HMI elements.
                                               * Create an instance of the "Global_data_link" program - lets call it "Global_data_link_1"
                                               * In the eHMI page editor, in the "Variable" field of a Dynamic, select "Global_data_link_1", then type a full-stop (or "period", or "Punkt" :-).
                                               * You should now see a list of the Port variables that you marked with the HMI checkbox.

Using this method I am able to display the value of IN port variables in a Text field on the HMI. You should be able to use C++ port variables in a similar way, by marking port variables in a C++ program with the “Ehmi” attribute, and instantiating the C++ program in PLCnext Engineer. Hope this helps! Martin.

Dear Martin, the first part of your reply I already figured out, but where to find the variables with the Ehmi atribute in PLCnext Engineer? i cannot find them. kind regards nick

Hmm, that appears to be a problem. It looks like the eHMI tag browser only looks at HMI variables from EClr component instances (that is, IEC program instances). It should also notice variables on C++ component instances that are marked with the Ehmi attribute, but it appears not to. At the very least, it should be possible to enter these tags manually. I will raise this with the product manager, but in the mean time it seems the only way to get these C++ ports in to an eHMI page is to connect them to HMI ports on an IEC program. Martin.

Hi Nick, we’ve checked this back with the productmanager. And as you already recognized can you declare also for ports defined in your C++ program as “Ehmi” (Attribute). Unfortunately is PLCnext Engineer currently not able to publish those ports for the usage inside the PLCnext HMI solution, therefore you’ve to use the above described workarounds. The feature is already on the roadmap for PLCnext Engineer and should be available inside the 2020.0LTS. Take care Frank

dear developer, This is already an old topic. Frank mentioned that the feature (Ehmi attribute for c++ program ) should be available in the 2020.0LTS. at this moment I am using 2021.9, the feuture stil does not seem to work? The attribute HMI is checked in the portlist, but stil no variable visible in the hmi-editor. Am I doing something wrong? kind regards , Nick

Hi Nick, I’m sorry to confirm that this feature still has not been implemented in PLCnext Engineer, and I am afraid that we do not have an estimated implementation schedule at this point. Sorry for the inconvenience.