cancel
Showing results for 
Search instead for 
Did you mean: 

cxac_licensing Implementation

cxac_licensing Implementation

Axay
Established Member

I used the cxa_Licensing library example for the PLC Function Block. I have the below functionality to check if the user has a valid license to use the function block in PLC. I want to call this function Like checkfunction so that if the license is not available it generates the error. How can I this funtion? 

or do I have to call it in main task only?

 

License check procedure could look like this:

PLC starts: Hey license manager, give me the MAIRobot PLC license. If license received, everything is ok. App starts normally.

If the license is missing, send error message and app starts in mode without function. App requests license manager again every minute and starts normally as soon as licenses are available.

 

After 12 hours:

Hey license manager, I'm returning my MAIRobot PLC license. Hey license manager, give me the MAIRobot PLC license.

If license received, everything ok. If a license is missing, send warning, app continues to run and asks again every minute.

3 REPLIES 3

CodeShepherd
Community Moderator
Community Moderator

Please have a look to topic "How to use CXAC_Diagnostics?" for further information how to create own error messages.

Axay
Established Member

Hello @CodeShepherd

Thank you for your response.

I tested the Diagnostics Library as you mentioned earlier. it generate the Error/ Warning to the ctrlX CORE Web Interface. but what we need is, we have to provide our PLC Program to Customer. Customer must have the appropriate license to access the PLC Functions. if they don`t have the license then thay can not operate the PLC Functions Provided by us. This behaviour also be possible via Mentioned Diagnostic Library? also let me know how to call it properly, on every start up system check available License?

CodeShepherd
Community Moderator
Community Moderator

For checking licenses please see library CXAC_Licensing. Unfortunately there is currently no documentation online but check the library itself via the ctrlX PLC Engineering.

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