Community

What API calls will work after probing/discovering before the network is operational?

I want/need to inspect the nodes on the network before I attempt to start the network.

What can I do that isn’t predicated on an operational network?

  • MotionController::*CountGet()
  • MotionController::IOGet(), MotionController::AxisGet()
    • Axis::NetworkNode::AxisCountGet()

??

Are there guidelines using the probe_only method?

I want to be able to discern whether the topology on the network have been significantly altered.

  • I want a count of axes.
  • I want to be able to query vendor/product/… identifiers

The trouble I’m encountering is when I attempt to re-probe after I’ve already used the motion controller object to probe before. If I unplug, say, the last axis, the axis count stays the same, even though the node count goes down by 1.

Hi Todd,

The information which is copied is as follows:

  • Node Count
  • Axis Count
  • Internal stuff to help us keep track of how the above relate.
  • Node Name
  • Node VendorId
  • Node ProductCode
  • Node Revision
  • Node Serial Number
  • Node Station Alias
  • Some IO stuff which shouldn’t be relied on until the network is fully started.

The probe method is intended to get details about what is on the network so we can generate an ENI file. It is also useful to check expected Node Count with actual Node Count. If they are different, you wouldn’t expect Start to work.

We assume that you might create phantom axes. We aren’t going to degree the node count because we discovered less than configured. Use Node Count. Not Axis Count.

Can I know that a node is an axis (other than keeping track of vendor/product codes)?

For example, RapidCodeNetworkNode::AxisCountGet() ?

When I call this function, I always get 0. (on Yaskawa Sigma-V and CTB MAS-D3, at least)

Hi Todd,

That function should return the number found in NodeInfo.xml. It is accurate except for nodes in which a user specifically choose to pretend was an axis. This is most often done by those who want an Encoder to ~be~ an axis so you can use Gearing or Camming with it.

Can you verify that RapidCodeNetworkNode::AxisCountGet() will return something meaningful for any node with entries in EtherCATNodeInfo.xml?

Hi Todd,

You are right, the Axis Count is only loaded on Network Start. I’ll edit the above post to remove it for now. In a near future release, I’ll be reviewing all potential information that can be updated on Discovery rather than just Start.