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
<2006>
2007
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
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|