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

Data logging high refresh rate

Data logging high refresh rate

Davey
Member

So I succeeded before in using nodered - influxdb and IOT dashboard (grafana) together to log data. 
I have a customer who wants to add new data to the database every 250µs... The data would come from a 4-20mA sensor on the IO card of the ctrlX. 

The data doesn't need to be stored for long, one day is enough. So please advise what the possibilities are? 
Can I make the data layer faster if necessairy? What about node red? What about influx db? 

6 REPLIES 6

Sgilk
Contributor

Hi @Davey ,

The data needs to be updated in the database every 250µs, or the data needs to be collected at that rate? The first option is not going to be feasible. The datalayer, Node-RED and InfluxDB will not update at that rate. The second option is even going to be fairly difficult.

The solution I'd recommend is to buffer the data and push it in a bulk array to the database every few seconds. How you buffer the data is the next question...

What I/O card is being used? Would it be possible to buffer some data on the card?

What ctrlX CORE is being used? Even with the ctrlX CORE x7, I believe the current EtherCAT update rate is at 500µs.

See: Push oversampled arrays to InfluxDB 

Hello, 

There will be the possibility to have zero loss subscriptions from Telegraf i ask in which version and i reach you out guyz. 
Meanwhile @Davey proceed with the guide 🙂

I can test currently what the possibilities are with a CtrlX core X3 and a ctrlX IO card 4-20mA. I can also test in the near future with a XM22. But the customer asked about this possibility, before buying a ctrlX. I am still free to offer what i think is the best solution. I'm indeed guessing it almost makes more sense to buffer the data in maybe an XM for 1 second? If its only for reading IO and storing it that might make more sense. Then push this data to the ctrlX core to the database. 

In the example of oversampled arrays -> influxDB i think Step 1 is used for making a simulation of a signal, so that step can be ignored in my case? 

In step 2 an array is picked up from the data layer, each data point is assigned a different timestamp? I don't get how the timestamp would be correct in the way that it's programmed. 

Hello, 

I think that you can avoid the XM22. from 2.6 there will be the possibility to take the data directly from the datalayer RT and load the data inside influxdb automatically. 

Any point has a timestamp and is calculated taking inot account the sampletime. write me in private maybe we can make a demo together 😁

Mauro 

Hi Mauro, 

Thank you for your reply. I have informed our customer of our options. The customer prefers to check the alternative options. It's clear that we have enough options available to make this work. 

Hello, 

This is how it should work. The feature will be available from release 2.6. Give it a look. The target is to have the ethercat working at 250us.

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