General Category > Application Showcase

Controlling an entire machine as HMI and PLC.

(1/3) > >>

timryder:
This is an overview of a project I did later 2019 which showcases the potential power of AdvancedHMI and how nearly limitless it can be due to the fact that it's a .NET application.

The machine is a stand-alone laser marking station with a camera, fume extractor, servo motor for automated door, safety circuit, indicators lights, input sensors and push buttons. And they're all being controlled by AdvancedHMI.

I started with the idea of, do I really need a PLC? The short answer is NO, but I do need something to convert my Discrete 24v I/O into an Ethernet packet of data I can both read and write with. So I did some hunting online and found several resources, but ultimately decided to go with a product by Advantech called the ADAM-6052-D. It is a 16ch I/O 24vdc module which has Ethernet for both read and write capability.  They offer TCP/IP, ModbusTCP and many other protocols as the cheap cost of $235.00 at the time of this post. They also provide free .NET Libraries for their products which make integrating it a breeze! (THIS IS NOT A PLUG FOR THIS COMPANY OR PRODUCT. I AM NOT AFFILIATED) Just note there were several others I could have chosen but this one met all my criteria.

I bought this item and started testing it first in my lab and discovered it did exactly what I wanted, I could both read digital inputs and write digital outputs at my will. I had 2 other devices that I needed to communicate with and control a 2D Barcode Camera and Laser Marking System. This didn't take much effort as my company partners with Keyence this was a quick choice. Keyence allows for ASCII over TCP for controlling their system as well as reading status' any time.

So all the pieces were together and I started production on the machine.  Our customer has some very stringent requirements for the marking data and they would include a Checksum calculated on a marking data string which changes every part because it's serialized and the markings must be unique and cannot be duplicated. No problem. AdvancedHMI Framework being .NET, it' s a piece of cake to write up a Function to read the string from the Laser, manipulate the data, check it against a database with a SQL query for uniqueness and send it back down the Laser to be marked. Then with my custom "Auto Process" Thread which is constantly looping in the background similar to how a PLC does, I could trigger the actions of all the machinery via the Discrete I/O from the ADAM module and after marking, trigger the camera to read the marking over TCP and verify read versus the intending marking.

So all of this was done using the power of .NET and the AdvancedHMI framework was the perfect solution for me. The machine is running in production now with no issues and it has massive amount of tasks and is done with some super simple cost effective components. This was posted just as an encouragement to think outside of the box for this product. It has much more powerful potential than just a simple HMI application. Not that it doesn't do so very well, it does, but it's limitless with what it can do.

Archie:
Nice project. The machine looks well built and clean.

larryhts:
Well Done.

bachphi:
Nice! Are BCR camera and laser head from Keyence? CO2?

Noe:
Nice work! I've seen those ADAM modules long time before, but always wondered how they work with no real time OS like windows. Are you polling data from it, of so at what rate? Do you use a background worker for this?

Asking because this is something I want to learn to do (multi thread and background workers), there are many applications I could use it.

AHMI has helped me a lot with its already made controls that does not require to write code for these, but now I was looking for do it myself in other drivers like for Siemens.

Navigation

[0] Message Index

[#] Next page

Go to full version