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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | EtherIP with CIP Adapter Devices |
From: | John Dobbins <[email protected]> |
To: | EPICS Tech-Talk <[email protected]> |
Date: | Fri, 13 Jun 2014 16:07:07 -0400 |
We have an Allen-Bradley Power Monitor 3000 which we want to
incorporate into our controls. This device supports various
protocols including EtherIP which is supported in EPICS as
device support for ContolLogix and CompactLogix PLCs. The Power
Monitor 3000 however uses EtherIP in a different fashion than
the PLCs. The Power Monitor is known as an Adapter device in CIP (Common
Industrial Protocol which
is the basis for EtherIP). It makes itself available
for Implicit and Explicit messaging.
CIP defines various types of Objects. One of these objects is
called an Assembly object and is intended to be a generic
container for data. The Power Monitor has dozens of Assembly
object instances. Each Assembly object has an attribute called
'data' which is a container for an array of numbers, either
shorts or floating points. One can read this attribute via
Explicit Messaging using the CIP service "Get_Attribute_Single",
a service which is already implemented in the EPICS EtherIP
support. I found it was straightforward to add support for the
CIP service "Set_Attribute_Single" allowing me to control the
Power Monitor 3000.
I know of other devices similar to the Power Monitor 3000. For
example, we use an EX250 pneumatic controller from SMC Corp. We
originally purchased this device with a modbus/tcp interface but
one day someone unintentionally purchased several units on e-bay
with an EtherIP interface. At the time we solved the problem by
having a ContolLogix PLC read the data from the EX250 and map it
into tags. In the case of the EX250 there were only two Assembly
objects containing a few words of data. In the case of the Power
Monitor 3000 there are dozens of Assembly objects each
containing tens of words so I was interested in implementing an
approach that by-passed the PLC.
I am currently working on a stand alone Java application (using
Kay Kasemir's Java version of EtherIP) but wanted to share that
support for these types of devices is possible.
John Dobbins
|