10/23/2018 6:23 AM | |
Joined: 7/11/2018 Last visit: 7/5/2022 Posts: 2 Rating: (1) |
Hi All, i have configured a hardware interrupt at rate of 250 pulses per second. on each pulse with in the interrupt OB a FOR loop need to be run to get sampling of analog signal. i noticed the interrupt call is working but the the FOR loop not running up to its end count. what could be the wrong? ------------------------------------------------------------------------------------------ |
Last edited by: Jen_Moderator at: 10/23/2018 9:59:28 AMNew subject after splitting |
|
This contribution was helpful to1 thankful Users |
10/23/2018 5:24 PM | |
Joined: 7/7/2010 Last visit: 9/23/2024 Posts: 15216 Rating: (2417)
|
Ok, so a time interrupt OB runs every 4ms to capture an analog input. Why is the FOR loop in there? Are you sampling the analog input multiple times using the :P to capture the values? That's most likely a horrible idea for a PLC. Perhaps if you explain what problem you are trying to solve, we can get rid of that pesky FOR loop inside a 4ms interrupt OB. What is the index of the FOR loop running from and to? Like 0 to 3?
|
science guy |
|
6/30/2022 2:23 PM | |
Joined: 3/30/2020 Last visit: 9/23/2024 Posts: 4781 Rating: (982) |
Hello. You make a reply to your original topic after almost 4 years! This must be a record. I am of the opinion that the processing of the interrupt is taking too long. I recommend that you change your approach. Look into the use of a circular buffer. ..also called a ring buffer or rotary buffer. The advantage of this method is that you are not moving elements in the buffer. The entry and exit points change instead. Have a look at the discussion here [https://support.industry.siemens.com/forum/ww/en/posts/109100/] ~
|
Activities of this user is voluntary. There is no obligation or liability placed on this user. Though optional, your 'please' and 'thank you' is highly valued. |
|
Follow us on