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

Fast reading of data via PROFINET into ctrlX CORE and send it to a database in a fast cycle

Fast reading of data via PROFINET into ctrlX CORE and send it to a database in a fast cycle

stefanAT_ctrlX
New Contributor

A customer needs a solution to read data from PROFINET devices approx. each 10ms and has to send it to a database on the ctrlX CORE (he don't want to send it to an other server, just store it on the CORE itself for example with InfluxDB database).

It will be approx. 500 Byte data per 10ms (-> that's 50kByte per sesond, -> 180 MByte per hour).  (Customer has to take care himself to make a ring memory...)  Usage: Customer wants to store data of devices to check in case of a machine crash etc.)

I can think of the following solutions:

1) CORE X3 Plus as PROFINET-Device (as Profinet-Hardware, advantage: data are directly in datalayer) with APPs InfluxDB and Telegraf

2) CORE X3 (Standard) with Codeysys Addon as PROFINET-device softstack and APPs InfluxDB and Telegraf and of course PLC App for the PROFINET-softstack.

3)  Solution 1 but with additional PLC-App to buffer data in arrays if sending data to InfluxDB would be too slow !?? The same with solution 2 with additional PLC code for buffering data if needed.

4) or write with PLC-App in a file like mentioned here: https://developer.community.boschrexroth.com/t5/ctrlX-PLC/Data-Logging-with-CtrlX/m-p/62675 )

We would be happy for your suggestions !!

The most important question:

How fast can be the data transmission coming from PROFINET into the datalayer and then write to InfluxDB ?  for solution 1) and 2)

(The ctrlX CORE will be used just for this function. So no other processes then mentioned above will run.)

Are the values coming via PROFINET into the datalayer are equidistant in time ?🤔

Regards

Stefan Svoboda

 

2 REPLIES 2

CodeShepherd
Community Moderator
Community Moderator

One remark: As the data layer is a broker it does not hold any data but knows the location and publishing/distribute them. So if a app is providing data they are there instantaneously as the app itself is providing them.

  1. The ctrlX CORE - PROFINET Device App, as the name indicates, is a device only. As I understood you like to read from other slaves so a Profinet controller would be needed. This functionality is on our roadmap but will need some time to get to existence.

  2. The Codesys softstack solution could be used as Profinet controller but used data of 500bytes in 10ms it getting to its performance limits. Also Profinet is not that equidistant as EtherCat or Sercos in the first way.

  3. You could use a Profinet to EtherCat gateway (like a XM21 or from other supplier) but you will always loose time for copying data from one bus to the other.

  4. Using a XM21 (or other Codesys based controller) for collecting data and sending data via network variable/socket communication directly to ctrlX CORE PLC.

Thank you for the informations !

Oh, yes, I was wrong, I thought to collect data from different devices. You are right, the ctrlX has to be the controller. 

Or the S7 has to be the Profinet controller and the CORE the device. We check with customer.

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