PLCnext on LinkedInPLCnext on Instagram  PLCnext on YouTube Github PLCnext CommunityStore PLCnext Community

  1. hkannon
  2. PLCnext Technology & PLCnext Controls
  3. Tuesday, 12 May 2020

Dear PLCnext Team,

I have two questions about the DataLogger feature(included in PLCnext runtime).

1) How to calculate the required memory size for the DataLogger ?

Since PLCnext controller has limited memory space for data logging,
I would like to estimate how long the PLCnext controller can store the data
using the DataLogger.


2) Is there any way to dinamically disable/enable the DataLogger during operation ?

As described above, PLCnext controller has limited memory space. To save the memory space,
I would like to enable the DataLogger only when the data record is needed. I want to do
this without stopping the PLCnext controller operation.

 

Sincerely,
Hiroki Kannon

Eduard PLCnext Team Accepted Answer Pending Moderation
0
Votes
Undo

Hello Hiroki,

please see the answers to your questions below:

1) How to calculate the required memory size for the DataLogger ?

It is depends on your DataLogger configuration. If the Data should be logged permanently, you can use the following example for calculation:

Memory Size for one Record of 10 Variables of datatype "Byte" =  uint64_Timestamp + 10_Variables x (b_Var_Value + uint64_EventCounterValue) + b_ConsistentDataSeries 

The max. needed memory size for one record is: 8Byte + 10 x (1Byte + 8Byte) + 1Byte = 99 Byte

Please note, If you use the option "storeChangesOnly="true",  you can spare Data-sink memory size.

- Tipp: You can also use the SQLite Browser to open your DataBase and calculate the number of records during the recorded time-window (TimeStepLastRecord-TimeStepFirstRecord). In Windows Explorer you can see the DB-memory-size (if you copy the DB via WinSCP to the Windows directory).

 

2) Is there any way to dinamically disable/enable the DataLogger during operation ?

I'm not sure what you mean by disabling / enabling the DataLogger. If you want to deactivate / activate the DataLogger Service, this is not possible because the DL-Service starts in a FW component and cannot currently be deactivated dynamically.

However, if you want to start / stop or configure / reconfigure the DataLogger session, you can. During operation you can start / stop or configure / reconfigure it via RSC-IDataLoggerService (see IDataLoggerService.hpp):


virtual ErrorCode StartSession(const RscString& sessionName) = 0;
virtual ErrorCode StopSession(const RscString& sessionName) = 0;
virtual ErrorCode ConfigureSession(const RscString& sessionname, const std::vector& properties) = 0;

 

If you have additional questions, plese don't hesitate to ask!

Best Regards

Eduard

 


Phoenix Contact Electronics Headquarter - PLCnext Runtime Product Management and Support

hkannon Accepted Answer Pending Moderation
0
Votes
Undo

Hello Eduard-san,

Thank you for your quick response.

For the answer of Q1, I understand your clarification, Thanks.
I will also check the memory size on SQLite Browser.

For the answer of Q2, you are correct. I meant dynamic activation/deactivation of DataLogger.
I will check the RSC-IDataLoggerService.

 

Sincerely,
Hiroki Kannon

  • Page :
  • 1


There are no replies made for this post yet.
However, you are not allowed to reply to this post.