Dynamically drawing things on FactoryTalk HMI

CapinWinky

Member
Join Date
Aug 2011
Location
Virginia
Posts
566
I'm trying to draw a bunch of rectangles on the screen based on some settings to represent the end result of a pick and place operation. I just realized when I went to start figuring this out that there probably isn't any way for a ControlLogix to draw on a FactoryTalk HMI on the fly.

Is there a way to draw a new rectangle on a FactoryTalk HMI from a ControlLogix? If not, what is a recommended way to accomplish that effect?

I'm thinking of simply copy and pasting a hundred or so rectangles off screen and "animating" them with an array of offsets, heights, and widths if I need to "draw" them. It just sounds like a depressing amount of busy work. If the *.GFX files that represent the pages were XML instead of binaries I could at least create the initial rectangles programatically...
 
Uh, doesn't FTView have one of the best animation editors out there? You can animate height width colors, all sorts of stuff. Sure your controllogix can "draw" if you define drawing as adjusting the position, visibility, height and width of an object. And on the FTView side, you can pretty much just teach the end points of your position and size info so you don't have to scale meters to pixels, for example.

I can see where doing a hundred of them would take some time..You can copy the first one and paste a hundred copies, then go in and substitute tags. There is probably a design method that would make for the least amount of work...Me, I would just get after it ... sometimes you can put more thought into avoiding work and get more of a headache and less done than just brute force.

If you are slick you can make the products and machinery parts move around on the screen almost realistically.

Also, I would do some testing to find out how much well your hardware can handle it. The more animation you do with FTView, the slower the application will run, and it is a dramatic performance hit on PC applications, not sure about the PV+. Even just having color animation, the more stuff you have blinking on a display, the slower your data entry, display refresh rates, communications, everything slows down more than you would expect it should.
 
Last edited:
Yeah, I got that. I'm used to platforms where I can, in code, create a new object and draw it on the screen. Want 1000 rectangles evenly spaced to tile the screen? That will be two nested FOR loops and about 10 lines of code.

I didn't stop to think that Rockwell can't do that until I was going to try it and realized my folly. Having to manually create the rectangles in the HMI and link the offsets and dimensions for each and every one is a doable work around, but far from ideal.
 
If you Right Click on Displays and select Export it will create a XML File of the .gfx You can modify that file, save and reimport to project. There is a Choice when import to only create new or overwrite existing objects. I am not a XML guy but I use the open with command and make modification with notepad. Will work the same.
 
What version/type of FTView are you using?

FTView SE distributed has more features and options (ex. VBA scripting, works on a PC for other scripts to run, allows running changes to the screens)

FTView ME and the PanelView Plus: you already have the solution. Create many objects and use animations.
 
Hello,

>I'm used to platforms where I can, in code, create a new object and draw it on the screen.

If I might ask, which platforms?
 
Put the drawing in your list of libraries. Use it on the I items you want. Assign separate tags but you can make it match on every screen if you want. And try animating the drawing to do what you want it to do. Use expressions to move the object.
 

Similar Topics

Is it possible to dynamically change Tag Names (in real-time) on these PLCs? I'm guessing the answer is "NO", right? Just externally, then...
Replies
10
Views
3,909
I apologize, I don't know how to word my question properly. See code snippet for reference: https://imgur.com/a/yPOohZ9 I have an old panelview...
Replies
3
Views
1,453
This is a CompactLogix L33ERM, version 30 (31 is too unstable on my machine to work with), with a Kinetix 5500 drive. I have a program where...
Replies
2
Views
2,031
I usually make a master program that I then use on different processes where the only difference is vessel sizes and setpoint ranges. I have the...
Replies
3
Views
2,205
Hi, I wonder if someone has done this already? We are trying to change the IP address of a Generic Ethernet-Module dynamically using code in Run...
Replies
4
Views
3,180
Back
Top Bottom