Skip to content

README .NET datalayer.client.bulkread

This .NET sample reads values in bulk mode from ctrlX Data Layer.

Introduction

The sample demonstrates how to bulk read values from ctrlX Data Layer and write out the values to console. The bulk read is performed every 10 seconds in an endless loop.

Description

The implementation include the following steps:

  • Create and start the 'DatalayerSystem' service
  • Create a client
  • Bulk Read values synchron with method client.BulkRead(addresses)
  • Bulk Read values asynchron with mehtod client.BulkReadAsync(addresses)
  • Bulk Read methods are called in an endless loop every 10s.

Prerequisites

Please read the common .NET docs here, first.

Debug and Run

Launch the app with the debugger attached by pressing F5.

Build and Install

  1. Launch Visual Studio Code
  2. Click on the Remote Explorer from the menu.
  3. Choose Open Folder.
  4. Open the directory datalayer.client.bulkread.
  5. Build and install snap as described here.
  6. Check the output using Diagnostics:

  7. Login into your ctrlX

  8. Navigate to Diagnostics -> Logbook
  9. Click Settings on the right top corner
  10. Enable Show system messages
  11. Navigate to Filter -> Units and check your snap.sdk-net-client-bulkread.app.service
  12. Now you should the see the app output diagnostics.
  13. Press Refresh to update.

  14. If you have root permissions, you can also watch the output on any ssh console with the command:

    sudo snap logs sdk-net-client-bulkread.app -f | more
    

Console Output

ctrlX Data Layer system started.
ctrlX Data Layer client created.
# client.BulkRead
address: framework/metrics/system/cpu-utilisation-percent, value: 0,9, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memavailable-mb, value: 438,60156, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/membuffers-mb, value: 26,777344, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memcache-mb, value: 433,33594, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memfree-mb, value: 14,636719, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memtotal-mb, value: 975,8125, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memused-percent, value: 52,6, timestamp: 29.09.2022 12:38:13, result: DL_OK
# client.BulkReadAsync
address: framework/metrics/system/cpu-utilisation-percent, value: 0,9, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memavailable-mb, value: 438,60156, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/membuffers-mb, value: 26,777344, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memcache-mb, value: 433,33594, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memfree-mb, value: 14,636719, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memtotal-mb, value: 975,8125, timestamp: 29.09.2022 12:38:13, result: DL_OK
address: framework/metrics/system/memused-percent, value: 52,6, timestamp: 29.09.2022 12:38:13, result: DL_OK

Install the App

Login into ctrlX and install the App (Apps).

Gratulations - We're finished - Let's start coding!

Support

Developer Community

Please join the Developer Community

SDK Forum

Please visit the SDK Forum

Issues

If you've found an error in these sample, please file an issue

License

SPDX-FileCopyrightText: Bosch Rexroth AG SPDX-License-Identifier: MIT