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  <20112012  2013  2014  2015  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  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [help] degree in Computer Science/Software Engineering
From: John Hammonds <[email protected]>
To: [email protected]
Date: Wed, 30 Nov 2011 09:46:23 -0600
Pavel,

I agree with Dirk on many aspects especially that it is important to understand what you are controlling as how to control it. I started out with a Masters in Physics and evolved into controls. I have worked in both small (Intense Pulsed Neutron Source) and large (Advanced Photon Source) facilities,measuring size here by the number of people around to interact with since IPNS was still a good sized facility. There are +/- to both, the important thing is to try and find a place that you are happy. If you are more of a self starter then you might do well in a small facility. If you feel that you need more help getting started then a large facility can be good since there are more folks around.

If you already have a background in something ( I assume that's how you got where you are) then check out online courses in a field of interest. I have been working for 20+ years and just recently went back for some Software Engineering coursework (my degree is in Physics and I only took FORTRAN in school). I found a nice program at the University of Illinois in Urbana but these are available many places now. I never had to step foot on campus. The courses that I took were driven by group projects. This was interesting since none of us were at the university and had to collaborate online. One semester our group even had a student who lived in India. I was surprised at how easily this worked out but his employer allowed him time in the morning that let him mesh better with times most people worked on the projects in the US.

A couple of us have mentioned specific programs that we took but I do not promote that there is anything magical about the courses that we took that turn us into better controls people. These are just avenues that expand our horizons. If school is the option then do your best to find a program that best fits the interests of you and your employer (this might encourage them to help with funding), although I suggest that you weigh your interests higher.

Hope that this helps,
John

On 11/30/2011 3:36 AM, Dirk Zimoch wrote:
Hi Pavel,

Nuclear power plants are probably not the place where you can learn how to build and maintain a control system. The strict approval process of such a facility usually does not allow to change things once it is running. The same is true for medical facilities, by the way. At a particle accelerator one can be more "experimental". The machine constantly changes even after years of operation, for example when user beamlines are added or upgraded. Thus, the control system must be modified, too.

If you want get more knowledge of the EPICS internals, I suggest to put away CSS for a while and get into the 'command line cuisine' as you called it. Compile EPICS on your own PC and start playing. For example write a simulation of your power supplies and put the logic into records instead of the PLC. Such a project requires more than the monolayer of records you often get when interfacing with a PLC. You will soon reach a challenging complexity.

Or get a real device and control it. If you don't have hardware like VME crates, ADCs and so on to play with, a serial, USB or network interface will do, too.

Maybe you can convince someone at your institute to set up the test bench for the power supplies with EPICS and implement a automatic test system?

In terms of formal education a course on plasma physics, nuclear physics or similar at university level can provide a sound background of what ITER is actually supposed to do. This is much more helpful than a list of specifications, because at the end you do not just want to control a power supply, you want to control a nuclear reaction.

Unfortunately, formal education on control systems simply does not exist.

Pavel Masloff wrote:
Hi Dirk,


Nice to hear from you again. You are right. Exactly. One should first of all understand the control object. Did you work on the control system all by yourself? Is it operating now?

By the time I started with the control system, there were 4 people working on it. Three of them PhD students (two left the institute during the next year) and one who became operations manager at about the same time. Later two other diploma students joined the group.

At that time the control system was completely written in-house and had no GUI. Only command line read and write commands. At about the same time we got fist beam in the booster ring and found out quickly that the control system needs much more features. We all had to run shifts in the control room so we got a first hand experience of what was missing.

So we, that is the 4 diploma and PhD students, decided to migrate the control system to EPICS (version R3.13.0Beta12). That migration took about one year and involved writing drivers as well as building the logic for all types of devices used in an accelerator and finally writing automated measurement and optimization programs. And GUIs of course. Luckily, the old system was already based on VME and vxWorks, the only choice for EPICS at that time.

One can learn a lot during this process, especially what to avoid. But I can say it was never the control system that delayed progress. More often we had hardware problems. So we had plenty of time to experiment with the software. Many parts of the control system were actually written during shifts whenever new features were needed or problems were found. And yes, of course it is operating now.


Best regards,
Dirk


Control room! Absolutely! I was once in the control room of our nuclear power plant in St. Petersburg. But it was more like an excursion rather than continuous work. I am more interested not in the HMI, though, but the underlying software, how signals are acquired, transferred and processed, system architecture, which sensors to use, how to link hardware with, say, EPICS.

I would like to work at some European or American lab to get some experience before 2020 when we are supposed to deliver our equipment to Cadarache. The thing is I don't have enough qualification, again, to qualify. There is annual EPICS collaboration meeting. Perhaps, this might be a good experience. Since it's not taught in college, as Ned Arnold pointed out.

Regards,
Pavel

On Mon, Nov 28, 2011 at 12:54 PM, Dirk Zimoch <[email protected] <mailto:[email protected]>> wrote:

    Hi Pavel,

    In my experience it is more important to understand the application,
    i.e. the machine and physics, than to have a degree in any field of
    computer science. I have a degree in physics and am more or less
    autodidact in programing. I came in contact with control systems and
    real time computing when I started my diploma thesis on accelerator
    physics. I was lucky that we had an electron synchrotron at our
    university at Dortmund, Germany. I worked on the control system
    during my diploma and PhD work.

    When developing control system applications, I found it extremely
    useful to have an understanding of the machine and underlying
    physics. Another key to successfully develop control system
    applications is to work in a control room or a working machine for
    several months and be user of the control system. Then you learn
    best what machine operators really need.

    Best wishes,
    Dirk

    Pavel Masloff wrote:

        Dear colleagues!
        A rather off-topic question to you. I would appreciate to hear
        your answers, comments, advice.

        I would love to get a Master's degree in the field specifically
        related to what YOU guys do: EPICS, DAQ, creating interfaces for
        scientific installations, writing drivers for hardware, linking
        it to software, you name it. I have gotten a Bachelor's and a
        Master's degrees in /Robotics /and /Automation and Control
        /respectively. But, truth be told, the knowledge that I got
        (general, I'd say, mediocre) doesn't have a lot to do with all
        the work YOU do and which is yet to be done by me (as I have
        decided) in my career as Control/Software Engineer.


        Why would I need this? I am employed by the Efremov institute,
        and our laboratory develops coil-power supply systems for the
        ITER project (http://www.iter.org). I am responsible for the
        control part. Here at the Institute I have all the opportunities
        to gain knowledge related to electrical processes, apparatus, we
        have got decent pulsed-power facilities, great engineers and
        just nice people. However, the software/control area is
        undeveloped and we lack software specialists who I can learn
        from. Imagine, we are doing an international project, the level
        of the hardware, say, is decent. OK. But in terms of software, I
        must confess, we are not on the world level, which grieves me,
        to be honest. Of course, I would like our institute to
        competently fulfill Russia’s commitments towards ITER.

        For this reason, I want to get a higher-education with focus on
        software design, possibly science-oriented. Let me say a few
        words about our contribution to ITER so as it will be clear
        enough for you to understand what I need. As I mentioned, our
        laboratory's scope of work includes creating coil-power supply
        systems. One of the key function is to protect the TF, PF, CS,
        CC coils by fast discharge of stored energy in case of a quench
        or other type of fault event. Briefly, the information from the
        sensors is processed by the Siemens S7 controllers, the time
        sequence for the actuators (bypass switch, vaccuum
        circuit-breaker, counter-pulse capacitor banks, pyrobreaker) is
        realized by Siemens FM352 Fast Boolean processor. Our plant
        system has to interact with the so-called CODAC control system,
        which is based upon EPICS and CSS. Additionally, we have to
        provide fast data for plasma stabilization.
        With this in mind, as a developer, generally, I am not supposed
        to know all the 'command line cuisine' - there is the CSS
        framework, go program your PLCs and connect them to CODAC in
        compliance with a readme. I had done it already and I want to go
        beyond that.

        I know there are lots of you on the list who are actually in
        charge of CODAC, there are many guys from the US national
        research laboratories. My message is addressed to you in the
        first place. I would love it if you would tell me:

           * what did you study (or studying) in college and where?
           * which courses/classes do you find had helped you in your
        current work?
* do you know any programs that provide sort of internships at

             national laboratories? (would be great if they were related
        to ITER)

        What are your thoughts about getting the required knowledge at
        university (the other option would be working at a lab without
        getting a degree)? In case of the latter where can one get such
        experience?

        Thank you and I look forward to hearing from you!


        --
        Sincerely,

        Pavel Maslov, MS
        Junior Control Engineer / Power Pulsed Lab.
        Efremov Institute for Electro-Physical Apparatus
        St. Petersburg, Russia





--
Sincerely,

Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus


Mobile: +7 (951) 672 22 19
Phone: +7 (812) 461 01 01


--
John Hammonds
Software Services Group
APS Engineering Support Division

Argonne National Laboratory
[email protected]<mailto:[email protected]>
(630)252-5317



References:
[help] degree in Computer Science/Software Engineering Pavel Masloff
Re: [help] degree in Computer Science/Software Engineering Pavel Masloff
Re: [help] degree in Computer Science/Software Engineering Dirk Zimoch

Navigate by Date:
Prev: UPDATE: CA Lab 32/64 Bit (interface between LabVIEW and EPICS) Carsten Winkler
Next: Re: EPICS Base 3.14.12.2-rc1 available for testing Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: [help] degree in Computer Science/Software Engineering Dirk Zimoch
Next: Re: gateway Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·