Author Topic: debounce time  (Read 5609 times)

enigmapaul

  • Guest
debounce time
« on: March 24, 2016, 02:54:37 PM »
Hi Folks -

I am looking at the Technical Data for the MC controllers and for DIN, it mentions that the minimum response time of a DIN is 1.5ms plus debounce time.  The debounce is defined as 3 samples, where the sample time is "a function of the application loop time".  I'm trying to figure out the fastest response time of a DIN, but I'm not clear about the loop time or how to influence and control that, or the precise relationship between loop time and the debounce sample time.

Can anyone shed any light on that?

Thanks

Paul

Offline Nilla

  • PLUS+1 Guru
  • *****
  • Posts: 253
  • Karma: +13/-0
Re: debounce time
« Reply #1 on: March 29, 2016, 02:33:41 PM »
Hi Paul!

I assume your referecning to the TI 520L0719 for our MC0XX-0XX Controller Family( I can see that the 1.5ms that you're talking about are mentioned there)? Although I would recommend you to use and read about our latest MC0XX-1XX, that for instance have an updated processor, in TI L1321895.

For these controllers there is no "Time to change state in response to step input". That would mean your debounce time has a relationship to the loop time in your application. I've attached a picture of how it looks in PLUS+1 GUIDE if you enter your Inputs and then enter OS.

Meaning if you request your processing loop time to be the lowest, 1ms, and your application don't need longer time than that your debounce time would be 1ms*3 samples=3ms.  Loop time depends on the size of your application. You could read .ExecTime to get to know exactly what is the processing time for your application. If you would use our older MC's, MC0XX-0XX, you need to add the 1,5ms => 1,5+(1*3)=4,5ms.

I hope this helps!

Best regards,
Nilla
PLUS+1® Helpdesk

« Last Edit: March 29, 2016, 02:36:08 PM by Nilla »

enigmapaul

  • Guest
Re: debounce time
« Reply #2 on: April 02, 2016, 04:13:28 PM »
Thanks Nilla -

How does the loop time work, basically we are executing the entire drawing (Application) in a loop or can you break up multiple drawings in concurrent loops?

How does one go about reading .ExecTime?

Sorry if these are newbie questions.

Cheers,

Paul

Offline Nilla

  • PLUS+1 Guru
  • *****
  • Posts: 253
  • Karma: +13/-0
Re: debounce time
« Reply #3 on: April 06, 2016, 12:03:19 PM »
Hi Enigmapaul!

No problem!  :)

Loop time
In the GUIDE User Manual (found under Help in the menu bar) you can read that;

Loop time or program loop—the time it takes a change in the input to produce a change in the output.

Meaning this is not necessary the time it takes for a page/drawing to process. If you're standing on the top level (picture 1) of your application that page/drawing takes one loop to run. But if you inside your application have e.g. three pages (picture 2) one of those pages will not take one loop to run but all three together. It is not possible to execute the pages in concurrent loops.

You can find more about this if you look into the PLUS+1 GUIDE Development Guidelines p37 which you find in a folder in your start menu in Windows (picture 3).

Reading OS.ExecTime

OS.ExecTime column—The execution time in milliseconds for the Iteration.

You can read this signal by creating a log page in the Service tool and look for the OS.ExecTime (picture 4). The Service Tool Design Manual tells you how to create your own log page on p52. You find the manual under Help in the menu bar in Service tool.

If you are new to PLUS+1 GUIDE or just want to learn more I can recommend our trainings which you can find more information about here:
http://powersolutions.danfoss.com/products/plus-1-software/plus-1-support-and-training/

Happy to help!

Best regards,
Nilla
PLUS+1® Helpdesk