RobotStudio event

IO Update Rate [MOVED]

Options
wbijlsma
wbijlsma
edited June 2014 in Robot Controller

Hello all,

I have a robot that is scanning using a time of flight sensor. The time of flight sensor switches a digital output when the object drops out of range. The sensor claims to switch at 2ms.

I have the sensor wired into an Allen Bradley Point IO module. The Point IO module is made up of three components:
1x 1734-AENT - Ethernet/IP Adapter, 1x 1734-IB4 - 4 Digital Inputs, and 1x 1734-OW4 - 4 relay outputs.

The Point IO Ethernet adapter is connected to the IRC5's network using the integrated 3 port switch in the IRC5 CPU.

The configuration of the "Unit Type" of the Point IO module is as follows:

Type of Bus - Ethernet/IP

Vendor - Allen Bradley

Product Name - Point IO AENT

Internal Slave - NO

Device Type - 12

Product Code - 108

Vendor ID - 1

Input Connection Type - Multicast

Connection Priority - High

Request Packet Interval (ms) - 1

Configuration Assembly - 102

Configuration Size (bytes) - 0

Output Assembly - 100

Input Assembly - 101

Ownership - Exclusive

Input Size (bytes) - 9

Output Size (bytes) - 1

Quick Connect - Not used


The IO module works, and I can see the signals change, and I can turn outputs on and off.

The problem that I have is that while scanning at a speed of 200mm/s using the SearchL command, the "found" position is off by approximately 30mm.

It appears that the update rate of the IO is too slow. If I search at 25mm/s using the same logic, the "found" position is only off by approximately 2mm.

Considering the fact that the sensor switches at 2 ms, during that time (@200mm/s) I should only travel 0.4mm. Considering the RPI of the remote IO module should be 1ms, the max I should ever be out by is 0.6mm...

Am I missing something obvious here?
I checked the filter settings on the 1734-IB4. The setting is switchable for input filter time from 1ms to 65ms, but the default is 1, and I never changed it.

 The robot is running RobotWare 5.15, and I'm using RobotStudio5.15.02

Post edited by Jonathan Karlsson on

Comments

  • wbijlsma
    Options

    As a follow up to this post:

    The configuration information above is incorrect.

    The proper values are as follows:

    Type of Bus - Ethernet/IP

    Vendor - Allen Bradley

    Product Name - Point IO AENT

    Internal Slave - NO

    Device Type - 12

    Product Code - 108

    Vendor ID - 1

    Input Connection Type - Point-To-Point

    Connection Priority - High

    Request Packet Interval (ms) - 3  (1ms is too fast for the 1734-AENT, we found we were constantly losing connections)

    Configuration Assembly - 102

    Configuration Size (bytes) - 0

    Output Assembly - 100

    Input Assembly - 103

    Ownership - Exclusive

    Input Size (bytes) -  1 (actual number of input modules)

    Output Size (bytes) - 1 (actual number of output modules)

    Quick Connect - Not used


    A few pitfalls we discovered along the way.

    Do not X-Start the controller and set the IP address of the controller to the same range as what you would like your Point IO and Ethernet/IP master module to be. The X-Start IP address is only used for the PC-Interface option.

    Set the actual IP address of the controller (Master) in the Bus Configuration of the EIO.

    Set the IP address of the Point IO module in the IO Unit

    We found that the following procedure seemed to work, please comment if you know of a better way.


    1. Set Point IO AENT module number switches to 888

    2. Power up the Point IO AENT to reset all communication settings

    3. Power down the POINT IO AENT after a minute or so.

    4. Set the number switches to some number above 255 and not 888.

    5. Set a static IP on your laptop in the range you'd like the Point IO to be.

    6. Plug the laptop into the Point IO over Ethernet

    7. Power up the module

    8. Start BootP/DHCP application

    9. Assign an IP address to the Point IO module. It should show up at this point.

    10. Disable BootP/DHCP on the Point IO module

    11. Go to a Web Browser (IExplorer, Google Chrome) and punch in the IP Address that you just assigned to the Point IO module

    12. It should load the web browser for the Point IO module at this point.

    13. Navigate until you find a place where you can enter the chassis size, I can't recall which tab it was, and enter the number of modules connected to the Point IO AENT, plus 1 for the module itself. So for my example above, the value will be 3. One for AENT, one for input module, and one for the output module.

    14. Now, download the configuration to the robot controller, and then reboot the robot and it should work.