Ignition Vision and Ethernet I/P devices

Ok. The EDS files that match from the big zip file are:

ACS880_(ZCU-xx)_FENA21_***_ABB_Drives_filerev3.0.EDS

The parameter numbers in the EDS file don't match up with the numbers you've given, but the names are present. I suspect you will want:

  • CIP Parameter 6 "Actual Speed"

  • CIP Parameter 8 "Data Out 1"

  • CIP Parameter 9 "Data Out 2"

(Or whichever "data out" paths you've configured.)

Those are all 16-bit "word" data.

It isn't entirely clear if those parameters are accessible via CIP's parameter class, or only via assembly. Use the following as Supplemental XML to have the assemblies parsed into actual data:

<?xml version="1.0" encoding="utf-8" ?>
<cip>
    <class id="4" name="Assembly">
        <instance id="1" name="Speed Ctl">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD"/>
        </instance>
        <instance id="2" name="Speed/Torque Ctl">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD TorqueRef=WORD"/>
        </instance>
        <instance id="11" name="T16 Speed Ctl">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD"/>
        </instance>
        <instance id="12" name="T16 Speed/Torque Ctl">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD TorqueRef=WORD"/>
        </instance>
        <instance id="21" name="T32 Speed Ctl">
            <attribute id="3" name="Data" type="Control=DWORD SpeedRef=DWORD"/>
        </instance>
        <instance id="22" name="T32 Speed/Torque Ctl">
            <attribute id="3" name="Data" type="Control=DWORD SpeedRef=DWORD TorqueRef=DWORD"/>
        </instance>
        <instance id="51" name="Speed Fbk">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD"/>
        </instance>
        <instance id="52" name="Speed/Torque Fbk">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD Torque=WORD"/>
        </instance>
        <instance id="61" name="T16 Speed Fbk">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD"/>
        </instance>
        <instance id="62" name="T16 Speed/Torque Fbk">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD Torque=WORD"/>
        </instance>
        <instance id="71" name="T16 Speed Fbk">
            <attribute id="3" name="Data" type="Status=DWORD Speed=DWORD"/>
        </instance>
        <instance id="72" name="T16 Speed/Torque Fbk">
            <attribute id="3" name="Data" type="Status=DWORD Speed=DWORD Torque=DWORD"/>
        </instance>

        <instance id="101" name="Speed Ctl w/ Data">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD DataIn=WORD[1..10]"/>
        </instance>
        <instance id="102" name="Speed/Torque Ctl w/ Data">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD TorqueRef=WORD DataIn=WORD[1..10]"/>
        </instance>
        <instance id="111" name="T16 Speed Ctl w/ Data">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD DataIn=WORD[1..10]"/>
        </instance>
        <instance id="112" name="T16 Speed/Torque Ctl w/ Data">
            <attribute id="3" name="Data" type="Control=WORD SpeedRef=WORD TorqueRef=WORD DataIn=WORD[1..10]"/>
        </instance>
        <instance id="121" name="T32 Speed Ctl w/ Data">
            <attribute id="3" name="Data" type="Control=DWORD SpeedRef=DWORD DataIn=WORD[1..10]"/>
        </instance>
        <instance id="122" name="T32 Speed/Torque Ctl w/ Data">
            <attribute id="3" name="Data" type="Control=DWORD SpeedRef=DWORD TorqueRef=DWORD DataIn=WORD[1..10]"/>
        </instance>
        <instance id="151" name="Speed Fbk w/ Data">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD DataOut=WORD[1..10]"/>
        </instance>
        <instance id="152" name="Speed/Torque Fbk w/ Data">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD Torque=WORD DataOut=WORD[1..10]"/>
        </instance>
        <instance id="161" name="T16 Speed Fbk w/ Data">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD DataOut=WORD[1..10]"/>
        </instance>
        <instance id="162" name="T16 Speed/Torque Fbk w/ Data">
            <attribute id="3" name="Data" type="Status=WORD Speed=WORD Torque=WORD DataOut=WORD[1..10]"/>
        </instance>
        <instance id="171" name="T16 Speed Fbk w/ Data">
            <attribute id="3" name="Data" type="Status=DWORD Speed=DWORD DataOut=WORD[1..10]"/>
        </instance>
        <instance id="172" name="T16 Speed/Torque Fbk w/ Data">
            <attribute id="3" name="Data" type="Status=DWORD Speed=DWORD Torque=DWORD DataOut=WORD[1..10]"/>
        </instance>
    </class>
</cip>

Then you can make tags with OPC Item Paths like so:

  • [SomeDrive](assy 1 attr 3)Control => entire 16-bit control word

  • [SomeDrive](assy 1 attr 3)Control.0 => least significant bit of control word

  • [SomeDrive](assy 1 attr 3)SpeedRef => 16-bit speed reference (unsigned)

  • [SomeDrive](assy 101 attr 3)DataIn[2] => 16-bit Data In #2

  • [SomeDrive](assy 51 attr 3)Status => entire 16-bit status word

  • [SomeDrive](assy 51 attr 3)Status.0 => least significant bit of status word

  • [SomeDrive](assy 51 attr 3)Speed => 16-bit actual speed (unsigned)

  • [SomeDrive](assy 151 attr 3)DataOut[5] => 16-bit Data Out #5

You may want to substitute INT for WORD and/or DINT for DWORD to get signed interpretation of some of these values. You can also replace the DataIn and DataOut arrays with named elements of appropriate 16-bit types.

Do pick the control and feedback assemblies with all of the data you wish, and the driver will optimize into single requests.

2 Likes