blog/content/2012/05/2012-05-07_hypertherm.rst
2022-10-16 23:34:35 -04:00

27 lines
2.4 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Hypertherm
##########
:date: 2012-05-07 23:30
:author: tyrel
:category: Personal
:slug: 2012-05-07-hypertherm
:status: published
For the past three months I have been upgrading and rewriting version 2 of my software for Hypertherm. I am under a contract for my fathers company. His company is developing a machine to test how well air flows (laminar flow) through a plasma cutting torch head, and how much air leaks out over a certain time (delta pressure loss).
This has been a nice adventure. I am talking to the tester over serial, reading in a hand scanner (barcodes and acts as a keyboard easy), talking to a DYMO printer and using a database.
The serial communication was pretty straightforward. I started a new thread and listen for serial all the time. The tricky part with that was that because it was on another thread, I needed a delegate to talk to my UI when I did things like change the picture from blank to a big red X, or update a label.
The hand scanner wasnt even a factor that took longer than 10 minutes, I just pop up a dialog box asking for input.
The DYMO printer was the hardest part. This took me a month to figure out, I kept fighting with the printer. I could figure out how to print to the left roll, the ones we setup as as the passing labels, but I couldnt for the life of me figure out how to get it to print to the right label, using a custom label. I tried to load the labels into data and use a StreamWriter/StreamReader object to treat that as the label, but it kept printing one that had, for reasons unknown to me, been locked into the printer. I finally gave up on using the interface they provided and am writing the label to a temporary file. The file is in the users %appdata% directory in a sub directory that it will not be mistakenly written to, so I feel safe doing it this way. Granted, the machine is a single purpose machine, once this program is installed it will only run this program day and night.
Once I got the printer working, I checked it in to github and realized it took me way longer than anticipated. I learned a lot about .NET development (by no means everything, or even most things, just a lot compared to what I did know before [nothing].)
Tonight while developing I decided to video some aspects of the Program.
The following four links are videos, showing parts of the program and machine in action.
* [Hosted on Qik - no longer available]
* [Hosted on Qik - no longer available]
* [Hosted on Qik - no longer available]