Machine Automation Forum
A forum addressing machine automation solutions for the complete machine lifecycle. Including offers like Machine Advisor, Modicon PLC/PacDrive, Lexium or Preventa. Discuss and share knowledge on offers relating to cloud-based service platforms, machine localization and monitoring, industrial operations control, motion products as well as safety function!
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-09-27 07:41 AM
Hi there, I'm doing control and configuration pages for 14 motors. Several objects in each page.
every object is linked to a PLC variable that has this type of variable syntax: HMI.M1.Control.PowerON.Value
Please, please tell me there's pointers on the EOTE software that I can use to change instance from M1 to M2? Or there's no hope and I really need to change the instance of the variable, object by object?
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-09-30 10:44 PM
Hi,
You could create a Structure for the motor. You add all values you need to this structure. Then you create a Array of this structure. Then you add this array to your screen. You use instead of a fixed index for the array a temporary variable on the screen. Via Script you change the index to scroll through the values. Attached a sample project which shows this process together with a harmony hub.
In this case every value is fixed binded to a modbus register.
If you use an other communication you have the abilty to bind via variabel configuration the array of struct value to an other variable (so far it is an internal variable)
Use at least EOTE 3.5 for this purpose.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-01 02:25 AM
Hi there, first of all thank you for the help. Although the idea of having pointers is meant to reduce the effort of going object by object to change the variable linked to it in case there are repeated structures of something. I believe you gave a workaround of directly changing variables on the objects, but it didn't reduce that effort, it was just shifted from the object to scripts.
I have 14 motors, 2 pages for each motor and an average of 30 objects linked to variables on each page. I am desperate to find a way to make the changes of the tags easier for me.
Thanks anyways!
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-01 09:43 AM
If you use the workaround like described you need only to create to pages. Then you could scroll through the motors.
HMI.M[numMotor].Control.PowerON.Value
[numMotor] will be in that case the local variable which shows the values of the selected motor.
The assignment of the HMI Variable to the PLC Variable in the background is still needed. But this is less effort then to creat the page 14 times with different values. If you want to adjust the values in the variable configuration in a easy way. Try export as CSV, change the values like you need with a CSV Tool (Excel could be tricky) and reimport it. This is much faster then in the dialog in EOTE.
An easy too use CSV tool could be RONs Data Edit
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-02 06:46 AM
I have the all the tags from the PLC already that came from an XVM file and was imported through symbol links procedure.
I structured the instances of the motors to go from "HMI_AE.M1", "HMI_AE.M2", all the way down to 14.
I linked the current value of a lamp like this:
HMI_AE.M1.Status.PowerOk.Value
And to make it dynamic, I attempted to do what you just said and this is what I did:
HMI_AE.M[Pointer].Status.PowerOk.Value
And the link has an error which shows like:
HMI_AE.M[0].Status.PowerOk.Value
(As shown in printscreen below)
I tried with: Pointer.Value
Tried to make the initial value of the tag = 1
Tried to change datatype to UINT, INT. And the error was always the same as shown. Is there something I'm doing wrong/not doing?
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-16 11:31 PM
Your problem is that you want use an index instead a symbol name. If you move your values in a real array. in your case a array of struct it will work. I don´t know if it is posssible in Control Expert. But it is in any case possible in EOTE to create here a array of struct which is linked to your importet variables. The workflow is like described before.
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.