1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 <2011> 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 <2011> 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== 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, DirkControl 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, PavelOn 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 atnational 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