Custom interface finally finished

Applications that run on PC/Mac.
Post Reply
User avatar
bbrally
Posts: 210
Joined: Sat Mar 27, 2010 3:59 am
Bot?: No
Location: Vancouver, BC
Contact:

Custom interface finally finished

Post by bbrally »

Originally, many moths ago, I started making a flash presentation movie to show my family how my brewery process worked.

That led me to the thought that I could use that graphical display to control the brewery.

Little progress was made as I haven't done any programming in 25 years, and the learning curve to re-educate myself was steep, there's been a lot of changes since the early 80's. (thanks to everyone on this and other forums for their help and knowledge)

Three months ago, an unfortunate fall at work left me with a badly broken right wrist. Unable to do almost anything but sit on the couch left me with lots of time to learn and program the controller. It was a a lot of slow left handed typing, but I think I'm finally finished.

I mainly wanted a graphical representation of the brewery to make programming easier and for visual confirmation that the valves that I thought were operating were the correct ones. At first I started programming the interface as a simple display of what the BCS was doing. This started to become difficult as there were so many files (sysname.dat, ulsysio.dat, ucsysio.dat, ulfloat.dat, ulstate.dat, ucstate.dat, ultemp.dat) to modify/access on the BCS and the amount of communication traffic and the time it took for that traffic to take place was affecting the feel of the interface.

So I decided to write all of the controlling functions into my software (PID, Timers, processes, states, etc) and use the BCS only to open/close valves (forceout.dat) and read temperatures and confirm valve opening/closing (ultemp.dat).

I kept the same basic programming logic of the BCS, but added a few convienences that I thought would be nice to have. One was the ability to add notes that would display as a new state was started. This could remind me of what hops to add (or what hoses to swap, back when I still had hoses to swap). Another was the ability to insert/delete a state or process.

I still have to drag the brewery outside and test the PID function. That was the single biggest thing I had learn, and I'm not completely sure I've done the programming properly.

Anyone interested in trying it out can download the flash file at:

https://docs.google.com/folder/d/0B3hDP ... U4aEU/edit

I've created mine as a desktop application which allows for a cleaner interface and the ability to set the idle timeout instead of the browser default of 20secs. That probably could have been changed but it wasn't obvious to me how, so I bypassed the idea of using a browser.

Flash settings may have to adjusted, mainly allowing flash access to the folder where the swf file is stored. Settings are adjusted here:

http://www.macromedia.com/support/docum ... ger04.html

BCS address of http://192.168.10.111 is used.

The native resolution is 1920X1080. Lower resolutions start looking awkward. Here's a screen shot:

https://docs.google.com/leaf?id=0B3hDPV ... ist&num=50 (fullscreen version)
Brewery Interface 12.0.jpg
Brewery Interface 12.0.jpg (202.32 KiB) Viewed 19692 times
Last edited by bbrally on Mon Sep 17, 2012 9:29 am, edited 1 time in total.
User avatar
ECC
Posts: 676
Joined: Fri Sep 12, 2008 12:29 pm
Bot?: No
Contact:

Re: Custom interface finally finished

Post by ECC »

Great work, very nice layout. I would love to try it out. Any chance that you could make the IP address programmable?
User avatar
bbrally
Posts: 210
Joined: Sat Mar 27, 2010 3:59 am
Bot?: No
Location: Vancouver, BC
Contact:

Re: Custom interface finally finished

Post by bbrally »

Easy. I actually had the address programmable in my early versions and then removed it as I felt my address wouldn't change.

I'm going away for the weekend, but will have a new version posted for Monday.

I'd love to hear what you think of it.
User avatar
bbrally
Posts: 210
Joined: Sat Mar 27, 2010 3:59 am
Bot?: No
Location: Vancouver, BC
Contact:

Re: Custom interface finally finished

Post by bbrally »

I've update the program so that the first screen is a url update screen.

Quick explanation:

Valve, pump, and burners are controlled by clicking directly on the desired item. Setpoint is adjusted under the burner.

I wanted to be able to make temporary changes on the fly, so valve, pump, burner and temperature control changes take place immediatly. All others require a state save and then a "run state" to be active.

In order for changes to be permanent a "save state" must take place, otherwise all changes are temporary.

It's possible to view and modify a state other than what is currently running, in this case the background color will change to indicate that what is displayed is different than what is going on in the brewery.

A green dot indicates the displayed state/process and a green process/state name indicates the running process/state.

At the moment only one process can run at one time. When I started writing this, I didn't have any need for more than one running process.

new link:

https://docs.google.com/folder/d/0B3hDP ... U4aEU/edit

I've noticed that the burner control still needs a bit of debugging.
Post Reply