EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: New to EPICS - system design questions
From: Mark Engbretson <[email protected]>
To: Emmanuel Mayssat <[email protected]>
Cc: EPICS mailing list <[email protected]>
Date: Mon, 11 Aug 2014 20:09:19 -0500
Tom Pelaia of oak ridge did the ios port of channel access like 4 years ago. Once you have that on whatever platform you want to run on, slapping a GUI on it is really not very hard. There are clients for Python, Java, igor, LabView, matlab, Visual Basic, who knows what else - the screen design is really not hard.

Note that even with css-boy and caqtdm, someone faked up a quick and dirty translator to get a close estimate of legacy MEDM display screen.  Aps sectors 11 and 12 have been controlling hardware with iPod touch and iPads for years now. It is actually a very reasonable user interface to be using.

Sent from my iPad 4

On Aug 11, 2014, at 19:51, Emmanuel Mayssat <[email protected]> wrote:

1/ medm doesn't compile on ARM, IOS, android... good luck with CSS! only epicsqt supports all those platforms
2/ if you use an arduino, you can use the USB port to communicate with the host
3/ for usb or serial (if you buy the serial shield) or ethernet (need shield) you can use streamdevice
4/ keep you program simple on the arduino side otherwise you have to watch for memory leak (on the arduino heap)
5/ raspberry pi is great, beaglebone black may be better and cheaper overall (you won't need an arduino or a gpio plate (shield) for your pi)
6/ you don't need epics if you just want to publish data on the web


Let me know if you need help.
--
E

> Subject: New to EPICS - system design questions
> From: [email protected]
> Date: Mon, 11 Aug 2014 13:22:34 -0500
> To: [email protected]
>
> I'm new to EPICS and am interested in putting it to some possibly unique uses. I'm a member of the Pumping Station: One makerspace in Chicago, which is a large non-profit community workshop with all sorts of tools (wood shop, machine shop, welding, electronics lab, CNC fabrication equipment, etc. and a scanning electron microscope, which I coordinate maintenance and training for) where members can collaborate and work on projects.
>
> I'd like to use EPICS to control a custom all-grain beer brewing system I am constructing. I'm considering using an Arduino variant to do all low level hardware control, e.g. commanding valves, pumps, propane burners and/or heater elements, reading temperature, pressure, and flow sensors, etc. I'm guessing this would communicate via serial to a Raspberry Pi, which would run an EPICS IOC. I would use a laptop (or tablet?) networked via WiFi to the Pi as the control panel.
>
> I know this sounds kind of strange, but the more I think about it, the more I like the idea of not having to write networking code or GUI for a control panel. Everything about the brewing system abstracts logically to process variables. I'm starting through the archived video presentations on a EPICS, and I'm wondering what best practices are for some of these things which I'm sure would also be used for more traditional science applications.
>
> PID control: Code it on the Arduino, and expose the set point, PID constants and state over serial to the Pi, which exposes these as process variables? Or have the Arduino just expose the raw sensor data to the Pi, which exposes them as process variables, and run a separate process on the Pi that is an IOC publishing set point, PID constants, etc. that in turn reads and commands the lower level process variables? Or does EPICS have constructs for this already?
>
> Ramp / Soak: this will drive the PID set point. I'd need to program profiles in with multiple temperatures and times. A process on the Pi maybe?
>
> Event sequencing: I see EPICS has support for this. I'm not sure where to implement functions like "Add X quarts of water to the tank" where it would need to open a solenoid valve, count pulses on a flow meter, and close it when the level is reached. Or higher level sequences, like "first, fill the tank with X quarts, then heat it to this temperature and hold it there via PID, then prompt the user to dump in the grain, then run this ramp/soak profile", etc.
>
> Alarms: I need the concept of multiple alarms that can be acknowledged / overridden. (Time to add grain, time to add hops, the pump flow rate dropped too low, etc.) I'm guessing this is a common problem and am wondering if there are already common solutions for this.
>
> I'm interested in "async"; I'm wondering if this would make things easier by handling serial communications with the Arduino and allowing me to publish PVs on the Arduino without writing custom IOC code on the Pi.
>
> Is MEDM still the way to go for control panels? I'm also wondering if there are any EPICS compatible control panel apps for IPad or Android tablets.
>
> I'd like to publish data to the web so interested people can see the state of the brewing. Is there any kind of framework for publishing EPICS PVs to the web without having to write lots of custom code?
>
> Anyway, I know this is unusual, but it sounded like a fun project to me. I think it would be interesting to see what would happen if EPICS and the maker community intersected.
>
> Thanks,
> Ryan

References:
New to EPICS - system design questions Ryan Pierce
RE: New to EPICS - system design questions Emmanuel Mayssat

Navigate by Date:
Prev: RE: New to EPICS - system design questions Emmanuel Mayssat
Next: Re: New to EPICS - system design questions Pete Jemian
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: New to EPICS - system design questions Emmanuel Mayssat
Next: Re: New to EPICS - system design questions Pete Jemian
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·