A Free HMI with Eye Catching Graphics is Now Available

How would you add or create a new component? For example, a water tank float switch, or a moving conveyor section. How could the shape (graphics) of the Tank component be changed to look like a silo or some other style tank?
There are essentially 3 types of controls you can create, in order of complexity:

- Static graphics
- Graphics with limited states (up to 3)
- Animated graphics

A static graphic is added by simply adding a PictureBox from the Toolbox and specifying an image in the ImageProperty

A graphic with limited states, such as an image that changes from gray to green, is done using the GraphicIndicator control from the Toolbox

Creating a custom animated graphic from scratch can get much more complicated and requires some programming expertise. If you have an existing component that can be used in a .NET application and you want to link it to a PLC address, that can be done fairly easily through copy and paste techniques.
 
Archie,
I am working on my third application using AdvancedHMI. So far, the 2 that are in operation are working flawlessly.

I would also like to publicly thank you for the week long training class you gave our group. It was very informative on how to use the objects you have built as well as general knowledge on VB.NET. I really appreciated it especially since I am a novice to VB. You were very patient with those of us who had a lot of questions and explained them very well.

Several in the group are working on projects using AdvancedHMI, and many are toying with it to see what all they can do with it.

Thanks again
Brian
 
Man this is cool! I saw this a couple years back and never had the chance to play with it, and thought about it with my new job but was sad because I couldn't find this thread again. Glad this thread is still alive. Wish it were stickied! Great tool
 
Man this is cool! I saw this a couple years back and never had the chance to play with it, and thought about it with my new job but was sad because I couldn't find this thread again. Glad this thread is still alive. Wish it were stickied! Great tool

Agreed. Development has been pretty active and there are more and more users playing around with it. I have been using it quite a bit lately. I do a lot of stuff with the driver and writing code in VB. One thing I want to start doing is making my own controls for it. The ones that exist are really cool. The keypad on the basic label is pretty slick.
 
Ok, so I'm trying to get advanced HMI working with rs emulate 500 read the document about how to set everything up and have all the ports and settings as described. Everytime that I add the DF1 driver to my HMI build I get this error.
System.InvalidOperationException was unhandled
Message="An error occurred creating the form. See Exception.InnerException for details. The error is: Object reference not set to an instance of an object."
Source="AdvancedHMI"
StackTrace:
at MfgControl.AdvancedHMI.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 190
at MfgControl.AdvancedHMI.My.MyProject.MyForms.get_MainForm()
at MfgControl.AdvancedHMI.My.MyApplication.OnCreateMainForm() in C:\advancedhmi\AdvancedHMI\My Project\Application.Designer.vb:line 35
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
at MfgControl.AdvancedHMI.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: System.NullReferenceException
Message="Object reference not set to an instance of an object."
Source="AdvancedHMI"
StackTrace:
at MfgControl.AdvancedHMI.DF1Comm.set_BaudRate(String value) in C:\advancedhmi\AdvancedHMI\Drivers\DF1Comm.vb:line 105
at MfgControl.AdvancedHMI.MainForm.InitializeComponent() in C:\advancedhmi\AdvancedHMI\MainForm.Designer.vb:line 56
at MfgControl.AdvancedHMI.MainForm..ctor()
InnerException:


This looks to be tied to that com driver because when i leave that out and add another driver it will work just fine, but I am unsure how to fix it. Any help would be greatly appreciated from this beginner.
 
Last edited:
Ok, so I'm trying to get advanced HMI working with rs emulate 500 read the document about how to set everything up and have all the ports and settings as described. Everytime that I add the DF1 driver to my HMI build I get this error.
System.InvalidOperationException was unhandled
There has been a number of reports about a bug that has made its way into the DF1 driver somewhere between version 3.10 and 3.19
This is on schedule to be addressed on Friday in order to have it fixed for the next release on Monday. If I find an easy patch to it before hand, I will post it here.
 
Downloaded a ver before 3.1 and that took care of it. Thanks for the help, and I look forward to the next release!
 
I would like to read/write to a tag programmatically

is there a way to write to an OPC tag programmatically with no user interface? I need to create a simple program that will read a value of a tag, and then occasionally write a value to another tag. it would be best if I could use opc so I can keep it platform independant.
 
is there a way to write to an OPC tag programmatically with no user interface? I need to create a simple program that will read a value of a tag, and then occasionally write a value to another tag. it would be best if I could use opc so I can keep it platform independant.
All of the AdvancedHMI drivers use the same format for reading and writing values via code. For example:

OPCComm1.WriteData("MyPLCAddress",1)

Dim value as string
value=OPCComm1.ReadAny("MyPLCAddress")
 
Great work Archie

I have one request, compatible with Micro/CompactLogix & RSLogix 5000.

Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver.
Ethernet/IP driver. Ethernet/IP driver. Ethernet/IP driver.

OK, that's 12. But you get the idea. Great work.

Great to see an option being developed to the bloated, buggy c-rap being pushed by the big players in this market.
 
You're in luck, your requests are already supported. There is a Ethernet I/P driver for SLC/micro and one for the Logix platform (compact/control)
 

Similar Topics

Have a GE IC200CPU002 running a alarm monitoring program All of them are inputs except for the alarm sounder Looking for a free HMI which would...
Replies
2
Views
814
The C-More remote HMI app on APP Store, Google Play and Amazon is now available free. The nominal charge has now been removed...
Replies
5
Views
2,366
Hi I have a phoenix contact installation and I'm looking for hmi software to manage my project better. It has to be as cheap as possible, free if...
Replies
3
Views
2,482
My brother recently bought a KEP HMI for a small project, he asked me to check out the software which is called EasyBuilder 8000...
Replies
1
Views
3,717
Hello, i have a data historian system it is a GE proficy historian. i need an application that can be used to display the data in a HMI format. i...
Replies
25
Views
9,537
Back
Top Bottom