Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important information on the platform change.

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

CtrlX X3 Core 2 stock at 100% Load

CtrlX X3 Core 2 stock at 100% Load

Qeslo
Established Member

Hi.

I am using The PLC-App Version 1.20.4 with System image X3_01.20.9

For reasons i cant explain core 2 is always on 100% load which causes the core to switch to service mode without possibility of restarting.

 

Only Factory reset or Backup bring core back up and running.

 

Any Suggestions on where to look?

Qeslo_0-1695715332063.png

Thanks a lot

 

 

10 REPLIES 10

Qeslo
Established Member

Some additional Screenshots

Qeslo_0-1695718217368.png

Now running with every source code inactive (// used to comment everything out), still 70% load without any PLC-Code running

Qeslo_1-1695718296334.png

 

Sgilk
Frequent Contributor

Hello,

Based on your screenshot of the system process performance, it looks like your datalayer is being overloaded with broker requests.

What other apps are you running on the system? Are you polling the datalayer at a fast rate, and/or at many endpoints, from some application?

Qeslo
Established Member

I am running the motion app, profinet device and the plc app.

 

Codesys Webvisu connected from 2 points

 

Sgilk
Frequent Contributor

At this point, it will be difficult for me to troubleshoot without the configuration and code of your other system apps. Based on the screenshots you showed, my bet would be there is a piece of PLC code that is polling the datalayer intensively. What is the update rate on the WebVisu variables? 

You could take a backup and then uninstall the PLC application to see if that is where the problem is originating. 

Qeslo
Established Member

My HMI is set to 100ms,

Main Task and Motion Task are set to 2ms.

I am just confused why everything is running on Core 2, Its an Multicore PLC and Core 3 is Realtime as well. So it would be great to simply put the motion part on core 3 and Main task on core 2.

 

I think that would already help a lot just by splitting the load, using the existing cores.

 

Anyway to do so?

 

Sgilk
Frequent Contributor

Yes, this is also possible using the scheduler configuration within the ctrlX OS. I do still think the load on the datalayer is much too high based on the application you are describing. I would suggest looking for the root cause of this.

Sgilk_1-1695824880205.png

Sgilk_2-1695824909778.png

CodeShepherd
Community Moderator
Community Moderator

PLC Tasks in standard are running on core 2 but with an multi core license available you can shift it to any core you like:

ctrlX PLC Engineering - multi core task settingsctrlX PLC Engineering - multi core task settings

ctrlX CORE WebUI - scheduler settings with PLC multi corectrlX CORE WebUI - scheduler settings with PLC multi core

But I agree to @Sgilk you should check out what creates the load to your data layer and also check which load is created by your PLC tasks.

Qeslo
Established Member

Thanks for the feedback.

 

I totally agree that finding the the reason would be the best way.

Unfortunately I am right now very tight on timeline.

As soon as I have some spare time ( product is in Pre-Testing) I will look into it and post updates here.

 

Thanks a lot

Qeslo
Established Member

 Just to keep you updated.

 

I finally had some time to look deeper into the problem.

For a reason I still dont understand, the high core load was created by a very simple programm which just converts pressure.

 

I copied the source code in a new program, deleted the old one and afterwards loaded it into the core.

That solved the issue.

 

Everytime i tried load the original program, the load rised to 100%.

Using the same source code copy pasted into a new program and the core load is stable at 70% ( which is ok for me)

 

So I found the part of my program that caused the load issue but unfortunately I do not understand why that program creates 100% load.

 

The same code in a new program creates no issues...

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