FlexLogger

cancel
Showing results for 
Search instead for 
Did you mean: 

FlexLogger SDK Dynamically Read ALL channels

I'm using FlexLogger 2021, and the 1.3 SDK.

 

For the "Perform Calculation" plugin... is there a way to dynamically read all of the channels in use in the system?

I know I can do a multi-channel select, but if the channel count changes in some way, then I have go back and reconfigure the plugin to account for the changes in the system.

 

My use case is that I'd like to forward all the data collected by FlexLogger off to another system.

 

(Specifically I want to post the latest values to SystemLink Tags, where the tag history is persisted for a bit... The native SystemLink integration has no tag retention... this would be a nice setting to be able to configure!).

 

I'd like to do this in a "generic" way.. but right now it seems that I have to manually update the channel selection anytime something changes.

0 Kudos
Message 1 of 3
(1,023 Views)

There currently isn't a way to have all configured channel data routed to your plugin without manually adding them. We did recently add support for SystemLink tags to collect aggregates by default (i.e. record the min, max, average, and number of updates, but only for SystemLink Cloud and remote SystemLink server...enabling this on the local SystemLink Server would have impacted performance). I think this was added in FlexLogger 2021 R2, so if this meets your needs, that would be the easiest. Here's a view of a SystemLink tag when this is enabled.

Brad_0-1626443492265.png

 

You can also manually enable this feature by editing the tag and enabling the Aggregate Values option:

Brad_1-1626445023318.png

 

It seems like there would be useful reasons to get all the available channels dynamically, so let me know if you would still need this capability and I can add this request to our backlog.

 

Thanks,

Brad

0 Kudos
Message 2 of 3
(986 Views)

Brad -- Thanks for the response!

 

First, I am working with a "remote SystemLink server" (just to clarify that I'm not doing a local connection here).

I saw that the "aggregate values" were indeed being updated, however the "retention" was set to zero -- which is what I was hoping to get... Ideally some of these options would be exposed through the SystemLink interface.

 

Yes, I'd say that getting a "Read all Producer Channels" at a system level would be VERY useful... I have a few other use cases coming down the pipeline where this would be useful... two of which would be: (1) generically forwarding all data to a secondary system outside of the NI ecosystem (think MQTT type posting, or to a realtime DB), and (2) running generic calculations against channels dynamically.

0 Kudos
Message 3 of 3
(983 Views)