Is there a way to get the state of an output without controlling it?

[RMP 10.3.4]

The drive has some functions that can be mapped to outputs, like brake release. The drive will set that output (and ignore the commanded state of the output). By default in a Σ-7, it’s mapped to /SO1. If I connect to the drive with the mfg’s software, I can see that the output is on. However, I see no indication of this in RapidSetup.

Is there some way to “read” the state of the drive’s outputs? It isn’t reflected in the PDO for outputs. The result of an SDO request appears to be the same.

In the end, I need to be able to act quickly when this output activates. My plan was to create a user limit that monitored the correct bit in memory and mirrored that bit (essentially to a different output).

Hi Todd,

You will need to find a map in the state of the drive’s output to a new PDO entry. Troublesome for the the Yaskawa drive where you need to remove something to add another. Alternatively, you could fetch its state with a ServiceChannel request. That isn’t useful to a UserLimit though.

If I force the drive’s outputs hi/low in the drive software, I still can’t “read” them anywhere in RapidSetup.
The output PDO doesn’t show them (and probably wouldn’t because that’s what RMP is commanding the output to be, right?). An SDO request of 0x60FE doesn’t reflect any changes I make to the outputs (in the drive software).

In NodeInfo.xml, that object is an entry in an output PDO.

      <PDOAssignment Index="0x1600" IsOutput="True" Include="True" RemoveContent="0x6060 0x6072">
        <AddEntry Name="Physical outputs" Index="0x60FE" SubIndex="0x1" BitLen="32" DataType="UDINT"/>
      </PDOAssignment>

Similarly, there’s a digital output object in IO/DigitalOutputItems.
Is it possible that this is getting in the way?

If I dissociated this object from anything RMP thinks is an output, would you expect the value of this object (0x60FE/1) would reflect the drive’s state of the output?

It could be getting in the way.

Digital Outputs (0x60FE Sub 1) is primarily meant to control the Output. It is listed as Read/Write but I imagine there is some variation on Node implementation. Some nodes also have an extra Status option which tells you the active state of an output. I don’t know what reading the value would indicate. Is it just what we wrote in the previous sample or that same sample based on order of operations?

If the Yaskawa changes the state through drive software, I imagine it isn’t really controlled by EtherCAT at all. Perhaps we have a EtherCAT intended drive address which the drive decides to override while you have its software up. Asking your drive vendor for that address or better yet a status of outputs would be better.

1 Like