cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Realtime-Bundle causes Watchdog-Error

Realtime-Bundle causes Watchdog-Error

Elleshar
Established Member

Hello Community,

after trying out the sample from the ctrlx-sdk (automation.scheduler)
see https://github.com/boschrexroth/ctrlx-automation-sdk/tree/1.10.0/samples-cpp/automation.scheduler
we get a watchdog error, if we swap from operation mode into service mode.

The actual error:

c20bb603-7400-4bef-80e0-f559e1fb2dcd.jpg

Is the sample still up to date / supported?
Is there more detailed documentation?

Looking forward to hear from you,
Sincerely Elleshar

5 REPLIES 5

CodeShepherd
Community Moderator
Community Moderator

Please beware that the SDK version (1.10) has to fit to your system version (automation core + device admin 1.10) so that the used interface are fitting.

At the moment no problems are known with this example and it is working on my control:

CodeShepherd_0-1637563672522.pngCodeShepherd_0-1637563540499.png

 

Hello CodeShepherd,

our version was correct, also our SDK.
But we found out that the problem is with the scheduler.
If you make an own task, our program and the sample from github
causes a watchdog Error. If you add the Callable to the ctrlXAutomation-Task
it works fine. Why is the sample not working under a own task?

Is this unknown or undefined behaviour?
Where's the documentation for it? It was fustrating to figure it out.

Sincerely Elleshar

That is quite easy to explain because of the structure of the system. As a realtime bundle snap you are part of the CELIX framework in which environment also all other real time applications are running. So if you take a part of the code out of the task scheduling of all the others you will break up the timing behaviour of the complete project and cause a watchdog to occur.

CodeShepherd_0-1637658835074.png

 

Ok, thanks.
Does the SDK-Supports own task in a specific way?

I do not get you question. As a bundle you always add an own callable to the system that has to run in your realtime task (for deterministic purposes). If you want to have an independent task simply use a non bundle snap.

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist