News:

  • October 14, 2025, 12:13:39 PM

Login with username, password and session length

Author Topic: Options for sub millisecond IO on a single processor.  (Read 14089 times)

plcnut

  • Hero Member
  • *****
  • Posts: 813
    • premiersi.com
Options for sub millisecond IO on a single processor.
« on: January 14, 2017, 01:51:42 PM »
I have a project where I have a single incremental encoder that will feed into a PLC that will have 60 discreet inputs and 40 discreet outputs that all require sub millisecond control. I was happy-go-lucky to use Do-more because the processor has everything I need for the job (including the speed I need), but the response times for the IO cards are way too slow. The total discreet IO count for the system will be 160+ inputs, and 120+ outputs. All are DC (Sinking in, and sourcing out).
Does anybody have any ideas for me?

I have considered using AD's Protos IO for the project. The IO cards have really good response times. Anybody have any real-world experience with the speed between the Protos and a DM1E processor (serial or TCP)?
I also looked at using 10 CTRIO2 cards spread over a couple of EBC100 racks, but I am not sure that I can get the discreet control that I need.

One other important tidbit: The project requires the use of the on-board TCP port for TCP comms between the PLC and a PC. This limits my remote IO options. I also have a couple of EDRV100's that will be connected using a ERM100.
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6126
  • Yes Pinky, Do-more will control the world!
Re: Options for sub millisecond IO on a single processor.
« Reply #1 on: January 14, 2017, 03:25:34 PM »
I'm pretty sure CTRIO2 raw inputs are published in the module's structure, and the outputs can be controlled raw, so that might still be an option. Can't remember what the module access overhead is, but that will also be a consideration if you fill racks with them.

Protos might be fast enough, but with Modbus/TCP you will be running at least two comm transactions to service each rack. Not sure how that will affect latency.

Sounds challenging.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

plcnut

  • Hero Member
  • *****
  • Posts: 813
    • premiersi.com
Re: Options for sub millisecond IO on a single processor.
« Reply #2 on: January 14, 2017, 07:07:53 PM »
If I use Protos I can get all of my IO in one remote rack, with the CTRIO2 in my 205 base. Would Modbus/RTU over an H2-SERIO4 be as fast as Modbus/TCP?
It would require moving 22 Input bytes, and 20 Output bytes as fast as possible.
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

Garyhlucas

  • Hero Member
  • *****
  • Posts: 412
Re: Options for sub millisecond IO on a single processor.
« Reply #3 on: January 15, 2017, 10:58:06 AM »
Much as I like plcs, this sounds like a task for something a bit different. Maybe a DeltaTau motion controller? They have been around forever.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3601
  • Darth Ladder
Re: Options for sub millisecond IO on a single processor.
« Reply #4 on: January 16, 2017, 08:16:24 PM »
As far as you're I/O bound, you'd be better off with Ethernet/IP than Modbus.  When I was testing with a Cognex camera, response latency was like 30 microseconds.  I haven't seen better than 10-20 milliseconds for Modbus.  Now Do-More native I/O might be that fast as well, but EIP opens up quite a few more options, and it sounds as if the I/O channel response time was also a concern, so that might help.

I'm sure Do-More can do the sub 1ms scan time, especially if you have some tasks that can be time sliced over multiple scans.  I'm intrigued by BobO's idea of using the onboard CTRIO I/O for your general purpose I/O, and you know it's going to be fast.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6126
  • Yes Pinky, Do-more will control the world!
Re: Options for sub millisecond IO on a single processor.
« Reply #5 on: January 16, 2017, 08:59:01 PM »
The CTRIO2s on DL205 would probably do it. Longer term, we'll have a great answer on that new...um...brick-based platform we're developing, but the required pieces won't be there at launch. The joys of engineering compromise...
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

plcnut

  • Hero Member
  • *****
  • Posts: 813
    • premiersi.com
Re: Options for sub millisecond IO on a single processor.
« Reply #6 on: January 16, 2017, 09:18:00 PM »
Here is the result of a CTRIO2 output wired directly back to an input:

I believe that I can work with this :)
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

DLTimmons

  • Hero Member
  • *****
  • Posts: 232
Re: Options for sub millisecond IO on a single processor.
« Reply #7 on: January 17, 2017, 10:18:22 AM »
The CTRIO2s on DL205 would probably do it. Longer term, we'll have a great answer on that new...um...brick-based platform we're developing, but the required pieces won't be there at launch. The joys of engineering compromise...

Talk about a teaser :) Any projected release date?

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6126
  • Yes Pinky, Do-more will control the world!
Re: Options for sub millisecond IO on a single processor.
« Reply #8 on: January 17, 2017, 12:08:57 PM »
The CTRIO2s on DL205 would probably do it. Longer term, we'll have a great answer on that new...um...brick-based platform we're developing, but the required pieces won't be there at launch. The joys of engineering compromise...

Talk about a teaser :) Any projected release date?

Barring a slip, late next month. As with all such pieces of info, please accept with appropriate caution.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3601
  • Darth Ladder
Re: Options for sub millisecond IO on a single processor.
« Reply #9 on: January 17, 2017, 12:10:43 PM »
Is that a people-month or an ADC-month?   ;D
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6126
  • Yes Pinky, Do-more will control the world!
Re: Options for sub millisecond IO on a single processor.
« Reply #10 on: January 17, 2017, 12:21:14 PM »
Is that a people-month or an ADC-month?   ;D

ADC does a remarkably good job of launching products on time, once they have assigned an *official* release date. What tripped me up several times during this process is the assigning of *preliminary* release dates. I apparently missed hearing the word *preliminary*. ;)

We now have an official release date and everything looks good to hit it.

I was gonna suggest that anyone interested could get some screen caps of the new stuff from the youtube videos accidentally posted publicly, but apparently those have been removed. :'(
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3761
    • Host Engineering
Re: Options for sub millisecond IO on a single processor.
« Reply #11 on: January 17, 2017, 01:34:34 PM »
I was gonna suggest that anyone interested could get some screen caps of the new stuff from the youtube videos accidentally posted publicly, but apparently those have been removed. :'(

They are still on youtube (unless my page is cached):
https://www.youtube.com/user/automationdirect/videos

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6126
  • Yes Pinky, Do-more will control the world!
Re: Options for sub millisecond IO on a single processor.
« Reply #12 on: January 17, 2017, 01:42:27 PM »
I was gonna suggest that anyone interested could get some screen caps of the new stuff from the youtube videos accidentally posted publicly, but apparently those have been removed. :'(

They are still on youtube (unless my page is cached):
https://www.youtube.com/user/automationdirect/videos

Ah...I had found them at the top of the search list, but they've wandered off.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

plcnut

  • Hero Member
  • *****
  • Posts: 813
    • premiersi.com
Re: Options for sub millisecond IO on a single processor.
« Reply #13 on: January 17, 2017, 05:40:30 PM »
@Controls Guy,
You were right on about the Modbus/TCP latency.

I hooked up a Protos X Modbus/TCP remote I/O to the H2-DM1E on-board port and am getting 20 milliseconds minimum, from the time I set an output, until I can see it come back on an input. Many times it is 35-50 ms.
This is with an 8PT sourcing output module (PX-248) with one output tied directly to an input on a 16pt sourcing input module (PX-149).

I think I can put 10 CTRIO2's in (2) bases using an H2-EBC100 in the second and get by. I will use an ECOM100 to talk Modbus/TCP with my PC on a separate network.

I have lots more testing to do...

Thank you to all for your thoughts and advice!
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3601
  • Darth Ladder
Re: Options for sub millisecond IO on a single processor.
« Reply #14 on: January 17, 2017, 05:59:30 PM »
No, what I was talking about was worse than that.  I meant just the Tx/Rx response time was on the order of 10-20ms for many slave/servers, before even allowing for turn-on times for the input and output.  EIP and Profinet (especially Profinet) on the other hand, the Tx/Rx delay was measured in microseconds.

Now, since DM only supports EIP explicit messaging, rather than running the I/O asynchronously like in a CLX, you're still scan time dependent, but there are several boxes you'll have to check (scan time, physical I/O response, data transfer time) and quick comms at least helps check one of those.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.