EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  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  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Porting EPICS to NetBSD
From: "David Dudley" <[email protected]>
To: <[email protected]>
Date: Wed, 16 Aug 2006 10:11:46 -0500
Just out of curiosity, are there any Industrial sites that use EPICS?  I see lots of labs and observatorys and other academic environments, but don't think I've ever seen an industrial type site.

My requriements (in general, an industrial site) are a little different than those that a lab or something might have, however in many ways, I think we'll find that they're about the same.

Also, I've seen information on a MODBUS/TCP interface being available, and stuff for VME boxes (or "crates", I think you call them), but very little as far as actual industrial I/O interface availability.

An industrial site (at least us), uses PLC networks traditionally with MODBUS being a favorite (not MODBUS/TCP, but just serial MODBUS).
In addition, we have Allen Bradley Data Highway, Siemens TIWAY or TI505, DirectNet for the DirectLogic systems we use, DNP for a couple of our other PLC systems, and various other hardware interfaces like FieldBus or HART, and on, and on, and on.....  I haven't seen any of that level of flexibility in the stuff I've seen on EPICS as of yet.

Don't get me wrong, I'm planning on writing a fair bundle of software that I'm actually going to download into some of our PLC equipment in order to convert them into IOC's themselves.
We have roughly 40 Motorola MOSCAD remote systems that I can download custom 'C' programs into, and I'm planning on making good use of that for IOC interaces, but at least a normal  MODBUS interface would be helpful in order to get things started easily (MODBUS is sort of the "universal" PLC interface, that practially everyone in the industry talks).  There are a lot of much better ones, but serial MODBUS is usually a 'least common denominator'.

David Dudley

>>> Andrew Johnson <[email protected]> 08/15/06 5:23 PM >>>
Hi David,

Welcome to the EPICS community!

David Dudley wrote:
> 
> Is there anything available that provides any documentation on how to
> port EPICS to a new architecture?

Unfortunately I don't think there is, although there ought to be. 
However I suspect that in your case the work required shouldn't be very 
hard since NetBSD is probably pretty compliant with Posix standards.

Here's an outline of the approach you'll need to take:

* Download the EPICS Base R3.14.8.2 tarfile, and unpack it.
* Skim chapter 4 of the IOC Application Developers Guide (hereafter 
known as the AppDevGuide; our build system is different to the usual 
"./configure && make" approach.
* Build your <base> on a linux-x86 or solaris-sparc system so you know 
what a fully built system actually looks and acts like.  You can build 
multiple architectures in the same source tree, which makes for easier 
comparisons.  On linux this should be as simple as
	export EPICS_HOST_ARCH=linux-x86
	cd <base>
	make
* On a NetBSD system, setenv EPICS_HOST_ARCH to the name for your new 
architecture, which should probably be netbsd-x86 (or whatever CPU is 
appropriate).
* In the <base>/configure/os directory, create these files
	CONFIG.Common.<arch>
	CONFIG.<arch>.Common
	CONFIG_SITE.<arch>.Common
by copying and editing the files from an existing architecture - I would 
suggest looking at the darwin-ppc or linux-x86 versions to start with; 
you should be able to make use of the *UnixCommon* files to do most of 
the work like they do, assuming this architecture is self-hosting.  If 
you have to cross-compile then there's more work you have to do.
* Running 'make' in the <base>/configure directory should succeed and 
create an appropriate O.<arch> directory.
* Once you have the new files for the build system, check out the 
<base>/src/libCom/osi/os subdirectories - these contain any code that 
has to be OS-specific; in your case the posix and default directories 
may provide almost all of the implementation you need. Create a new 
directory named for your OS_CLASS to put any new files in.
* Try running 'make' in the <base> top level directory and see how far 
it gets.
* Keep us informed of your progress, and don't be afraid to ask 
questions here and post the errors and locations that you get stuck on, 
there are lots of people here who should be able to help.
* When you have base built, follow the Chapter 2: Getting Started 
instructions in the AppDevGuide to create an IOC on the new 
architecture, and try running it.
* When this works, send me a patch file with your changes and we'll 
incorporate your new architecture into the next release.

HTH,

- Andrew
-- 
Not everything that can be counted counts,
and not everything that counts can be counted.
   -- Albert Einstein

BEGIN:VCARD
VERSION:2.1
X-GWTYPE:USER
FN:David Dudley
TEL;WORK:880-3740
ORG:;MIS
TEL;PREF;FAX:880-3741
EMAIL;WORK;PREF;NGW:[email protected]
N:Dudley;David
END:VCARD


Replies:
Re: Porting EPICS to NetBSD Andrew Johnson
Re: Porting EPICS to NetBSD Emmanuel Mayssat

Navigate by Date:
Prev: RE: Porting EPICS to NetBSD Allison, Stephanie
Next: Re: Porting EPICS to NetBSD Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Porting EPICS to NetBSD Eric Norum
Next: Re: Porting EPICS to NetBSD Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·