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: Modbus driver
From: "David Dudley" <[email protected]>
To: <[email protected]>
Cc: <[email protected]>
Date: Tue, 14 Nov 2006 12:24:08 -0600
Dave,

Still in the process of writing and debugging it right now, but I've taken the directNetAsyn device driver, gutted it, and then inserted a modbus interface instead.

You define you're devices as:
field(DTYP,"modbudAsyn")
field(INP,"@$(plc) addr=xxxx)

address variables include an address type prefix, and then the actual address.  The samples I'm working on supporting are:
prefix: C=coil, D=discrete input, F=floating point, H=holding register, I=input register, L=long value(32 bit) Q= quad value(64 bit), s=signed value, U=unsigned value.  Of course, S and U don't make any sense for Coils or Discrete inputs.
address is the actual variable address (no 1, 3, 4, or F in the address part itself, although currently I'm also handling O and X for octal and hex values, since one of our suppliers supplied all his address documentation using hex addresses, and lots of PLCs use only octals).

I'm planning on supporting ai, aai, ao, aao, bi, bo, mbi, and mbo record types.  Reading the GE Multilin power control relays requires an array input in order to be able to handle waveform captures that they do when events occur, so might as well support it natively.

Currently, I have the ai, and bi stuff working.  Generating the cache entry information has been a hassle, and getting that portion to work reliably has taken some time.  I've just about got it working completely reliably (thats what I'm working on now), and wil be adding the ao and bo stuff next.  Array logic doesn't seem that it will be much of a problem, so I figure by sometime in Dec. I should have it working right.


BTW: should also say that all this is working on NetBSD.  I've ported EPICS base and a few of the extensions to NetBSD, and am doing my development on that platform, as it seems to be a little 'less forgiving' than linux, and if a problem is going to occur, I want it to occur consistantly and reliably.

Later-
David Dudley


>>> Dave Reid <[email protected]> 11/14/06 11:45 AM >>>
Hi David...

I saw your message on TechTalk about your modbus driver, and I'm 
interested in what you have going.  We are presently working on talking 
to our Modicon PLC's via modbus protocol, using Asyn Records and some C 
code to do the decoding.

I'm interested in what your setup looks like, and how you are doing it.

Thanks...

dave reid
University Of Washington Medical Center


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


Navigate by Date:
Prev: RE: devSNMP: Thread error? Kagarmanov, Albert
Next: Re: devSNMP: Thread error? Bertrand H.J. Biritz
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: Scaling Database entries Andrew Johnson
Next: Irmis applicative points Lecorche Eric
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 ·