EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Ethernet/IP: writing zero to soft tags
From: John Dobbins <[email protected]>
To: [email protected]
Date: Fri, 16 Dec 2005 21:47:21 -0500
Dear All,

We have the following problem using Ethernet/IP device support (and EPICS R3.14.7) with an Allen-Bradley ControlLogix PLC. We can write to hardware output tags (things like Local:9:O.Data[1]) just fine, however when we try to write to a soft tag, i.e. a controller tag or a program tag, we find we can write a "one" but not a "zero".

There was a related thread in 2004, beginning with
http://www.aps.anl.gov/epics/tech-talk/2004/msg00636.php
but it wasn't clear to me whether this issue was resolved.

If I set EIP_verbosity = 10 and look at the output (see below) the only difference between writing a "one" and writing a "zero" is the data sent. In the case of writing a "one" the data sent is "ff", when writing a "zero" the data sent is "fe".

Is it possible "fe" counts as zero for a hardware output but not for a "soft" tag?

Any advice or suggestions on how to further debug are welcome.

Thanks

John Dobbins
Lab for Elementary Particle Physics
Cornell University





Write Zero Request:

epics>  ------------------- New Request ------------
EncapsulationHeader:
    UINT  command   = 0x6F (SendRRData)
    UINT  length    = 64
    UDINT session   = 0x12023400
    UDINT status    = 0x00000000 (OK)
    USINT context[8]= 'Funstuff'
    UDINT options   = 0x00000000
Send RR Data
    UDINT interface handle   0
    UINT timeout             0
    UINT count (addr., data) 2
    UINT address_type        0x00 (UCMM)
    UINT address_length      0
    UINT data_type           0xB2 (Unconnected Message)
    UINT data_length         48
MR Request
    USINT service   = 0x52 (CM_Unconnected_Send)
    USINT path size = 2 words
    Path: Class 0x6 (ConnectionManager), instance 1
    USINT tick time   = 10
    USINT ticks       = 240
    UINT message size = 33
    ... (embedded message of 33 bytes)
    USINT path_size   = 1 words
    USINT reserved    = 0x0
    Path: Port 1, link 0
Embedded Message:
MR Request
    USINT service   = 0xA (S_CIP_MultiRequest)
    USINT path size = 2 words
    Path: Class 0x2 (MessageRouter), instance 1
    UINT count 1
Request #0 (remote_reset_a):
MR Request
    USINT service   = 0x4D (CIP_WriteData)
    USINT path size = 8 words
    Path: Tag 'remote_reset_a'    UINT type     = 0xC1
    UINT elements = 1
    Data: 00000000 FE                                              - .
Data sent (88 bytes):
00000000 6F 00 40 00 00 34 02 12 00 00 00 00 46 75 6E 73 - [email protected]
00000010 74 75 66 66 00 00 00 00 00 00 00 00 00 00 02 00 - tuff............
00000020 00 00 00 00 B2 00 30 00 52 02 20 06 24 01 0A F0 - ......0.R. .$...
00000030 21 00 0A 02 20 02 24 01 01 00 04 00 4D 08 91 0E - !... .$.....M...
00000040 72 65 6D 6F 74 65 5F 72 65 73 65 74 5F 61 C1 00 - remote_reset_a..
00000050 01 00 FE 00 01 00 01 00                         - ........


Write One Request:


epics>  ------------------- New Request ------------
EncapsulationHeader:
    UINT  command   = 0x6F (SendRRData)
    UINT  length    = 64
    UDINT session   = 0x12023400
    UDINT status    = 0x00000000 (OK)
    USINT context[8]= 'Funstuff'
    UDINT options   = 0x00000000
Send RR Data
    UDINT interface handle   0
    UINT timeout             0
    UINT count (addr., data) 2
    UINT address_type        0x00 (UCMM)
    UINT address_length      0
    UINT data_type           0xB2 (Unconnected Message)
    UINT data_length         48
MR Request
    USINT service   = 0x52 (CM_Unconnected_Send)
    USINT path size = 2 words
    Path: Class 0x6 (ConnectionManager), instance 1
    USINT tick time   = 10
    USINT ticks       = 240
    UINT message size = 33
    ... (embedded message of 33 bytes)
    USINT path_size   = 1 words
    USINT reserved    = 0x0
    Path: Port 1, link 0
Embedded Message:
MR Request
    USINT service   = 0xA (S_CIP_MultiRequest)
    USINT path size = 2 words
    Path: Class 0x2 (MessageRouter), instance 1
    UINT count 1
Request #0 (remote_reset_a):
MR Request
    USINT service   = 0x4D (CIP_WriteData)
    USINT path size = 8 words
    Path: Tag 'remote_reset_a'    UINT type     = 0xC1
    UINT elements = 1
    Data: 00000000 FF                                              - .
Data sent (88 bytes):
00000000 6F 00 40 00 00 34 02 12 00 00 00 00 46 75 6E 73 - [email protected]
00000010 74 75 66 66 00 00 00 00 00 00 00 00 00 00 02 00 - tuff............
00000020 00 00 00 00 B2 00 30 00 52 02 20 06 24 01 0A F0 - ......0.R. .$...
00000030 21 00 0A 02 20 02 24 01 01 00 04 00 4D 08 91 0E - !... .$.....M...
00000040 72 65 6D 6F 74 65 5F 72 65 73 65 74 5F 61 C1 00 - remote_reset_a..
00000050 01 00 FF 00 01 00 01 00                         - ........


Navigate by Date:
Prev: RE: Oxford Danfysik-YMCS0012 Walters, M (Malcolm)
Next: Ethernet/IP: writing zero to soft tags --- More Info John Dobbins
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Oxford Danfysik-YMCS0012 Walters, M (Malcolm)
Next: Ethernet/IP: writing zero to soft tags --- More Info John Dobbins
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  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 ·