<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>Recent changes to Home</description><language>en</language><lastBuildDate>Mon, 15 Dec 2025 12:47:33 -0000</lastBuildDate><atom:link href="https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/feed" rel="self" type="application/rss+xml"></atom:link><item><title>Discussion for Home page</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/?limit=25#48ed</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Trying to use the example, but get compiler error (1), not sure how to solve it? Searching for ITypeVisitor in the project yields nothing. &lt;/p&gt;
&lt;p&gt;Reason for checking example is I need to find a way to display "custom" names on trend signals ie/example: "Inlet temp heater" instead of programmatic reference "PLC_prog.input.temp_inlet_heater"&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">pernockham</dc:creator><pubDate>Mon, 15 Dec 2025 12:47:33 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com1bb8fc667800cb114c881294f22b026cda93c4ab</guid></item><item><title>Home modified by mlamp</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -7,7 +7,7 @@

 ## Product description
 The sample project demonstrates how trend data can be read by means of the ``VisuTrendStorageAccess`` library. In this example, trend data is saved by the trend recording manager and then read as ST code by the ``VisuTrendStorageAccess`` API.
-In addition to querying historical data, active messaging is also possible when saving new data. The trend data can then be exported (example: CSV file) for later processing by other applications, for example by using the [IIoT Libraries SL] (https://store.codesys.com/iiot-libraries-sl.html ) from the CODESYS Store.
+In addition to querying historical data, active messaging is also possible when saving new data. The trend data can then be exported (example: CSV file) for later processing by other applications, for example by using the [IIoT Libraries SL](https://store.codesys.com/iiot-libraries-sl.html) from the CODESYS Store.

 ## More information
 In the sample project "TrendStorage API Example.project", four tasks are defined.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mlamp</dc:creator><pubDate>Mon, 28 Sep 2020 12:51:32 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com6b5f0ca4496bcfc4c9d0440ba49444db45ba3124</guid></item><item><title>Home modified by mlamp</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -7,7 +7,7 @@

 ## Product description
 The sample project demonstrates how trend data can be read by means of the ``VisuTrendStorageAccess`` library. In this example, trend data is saved by the trend recording manager and then read as ST code by the ``VisuTrendStorageAccess`` API.
-In addition to querying historical data, active messaging is also possible when saving new data. The trend data can then be exported (example: CSV file) for later processing by other applications, for example by using the [IIoT Libraries SL] (https://store.codesys.com/iiot-libraries-sl.html) from the CODESYS Store.
+In addition to querying historical data, active messaging is also possible when saving new data. The trend data can then be exported (example: CSV file) for later processing by other applications, for example by using the [IIoT Libraries SL] (https://store.codesys.com/iiot-libraries-sl.html ) from the CODESYS Store.

 ## More information
 In the sample project "TrendStorage API Example.project", four tasks are defined.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mlamp</dc:creator><pubDate>Mon, 28 Sep 2020 12:49:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com6b0ef56e031c68c8254faba0b1950a7d72ddea39</guid></item><item><title>Home modified by mlamp</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -2,19 +2,14 @@

 [TOC]

-#Trend API Example
-The "Trend API Example" demonstrates how the ``VisuTrendStorageAccess`` library provides function blocks 
-for reading trend data. This document illustrates how to use the library. 
+# Trend API Example
+The "Trend API Example" demonstrates how the ``VisuTrendStorageAccess`` library provides function blocks for reading trend data. This document illustrates how to use the library. 

-##Product description
-The sample project included in the CODESYS "TrendAPIExample.package" demonstrates how trend data 
-can be read by means of the ``VisuTrendStorageAccess`` library. In this example, trend data is saved 
-by the trend recording manager and then read as ST code by the ``VisuTrendStorageAccess`` API. 
-In addition to querying historical data, active messaging is also possible when saving new data. 
-The trend data can then be exported (example: CSV file) for later processing by other applications, 
-for example by using the "CSV Utility" from the CODESYS Store.
+## Product description
+The sample project demonstrates how trend data can be read by means of the ``VisuTrendStorageAccess`` library. In this example, trend data is saved by the trend recording manager and then read as ST code by the ``VisuTrendStorageAccess`` API.
+In addition to querying historical data, active messaging is also possible when saving new data. The trend data can then be exported (example: CSV file) for later processing by other applications, for example by using the [IIoT Libraries SL] (https://store.codesys.com/iiot-libraries-sl.html) from the CODESYS Store.

-##More information
+## More information
 In the sample project "TrendStorage API Example.project", four tasks are defined.

 - The "Standard task" calls the PLC_PRG program for simulating data. 
@@ -57,4 +52,11 @@
 is printed to the controller console (do not start CODESYS Control Win V3 via SysTray). 
 Otherwise, the number of data records is displayed in the "count rows" field.

+## System requirements and restrictions
+|System requirements and restrictions  | Info|
+| --- | ----------- |
+|**Programming System**                | CODESYS Development System Version 3.5.14.0 or higher|
+|**Runtime System**                    | CODESYS Control Version 3.5.14.0|
+|**Required Accessories**              | -|
+
 [[project_screenshots]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mlamp</dc:creator><pubDate>Mon, 28 Sep 2020 12:47:35 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.comd11d6724cf9e3fe329afef1bdb08a3d05e0cfd7d</guid></item><item><title>Home modified by mlamp</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,4 +1,4 @@
-[[download url= label=project]]
+[[download url=https://forge.codesys.com/svn/prj,codesys-example,trend-api-examp,code/TrendStorage%20API%20Example.project label=project]]

 [TOC]

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mlamp</dc:creator><pubDate>Thu, 24 Sep 2020 12:25:06 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.comef064badbe53650f059fd84fcb83c5871c047155</guid></item><item><title>Home modified by mlamp</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,7 +1,60 @@
-Welcome to your wiki!
+[[download url= label=project]]

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+[TOC]

-The wiki uses [Markdown](/prj/codesys-example/trend-api-examp/home/markdown_syntax/) syntax.
+#Trend API Example
+The "Trend API Example" demonstrates how the ``VisuTrendStorageAccess`` library provides function blocks 
+for reading trend data. This document illustrates how to use the library. 

-[[members limit=20]]
+##Product description
+The sample project included in the CODESYS "TrendAPIExample.package" demonstrates how trend data 
+can be read by means of the ``VisuTrendStorageAccess`` library. In this example, trend data is saved 
+by the trend recording manager and then read as ST code by the ``VisuTrendStorageAccess`` API. 
+In addition to querying historical data, active messaging is also possible when saving new data. 
+The trend data can then be exported (example: CSV file) for later processing by other applications, 
+for example by using the "CSV Utility" from the CODESYS Store.
+
+##More information
+In the sample project "TrendStorage API Example.project", four tasks are defined.
+
+- The "Standard task" calls the PLC_PRG program for simulating data. 
+- The simulated data is saved to the database by the "TrendRecordingTask" and the Trend Recording Manager. 
+- The "VISU_TASK" is responsible for updating the visualization. 
+- The actual reading of trend data is performed by "Task200ms", the "TrendStorageAPI_TestProg" program, and the 
+  "TrendStorageReader" function block. 
+
+The ``ITrendStorageWriterListener`` interface is used for active messaging of new data. For this purpose, 
+the ``TrendStorageWriterListener`` function block implements the ``ITrendStorageWriterListener`` interface and is 
+registered for the ``TrendStorageReader`` function block. If new data has been saved, then the ``DataWritten`` method 
+is called with the start and end time stamps and the number of saved data records. 
+
+The ``TrendStorageReader`` and the ``Read`` method are used for searching for data records. 
+~~~
+eError2 := instTrendStorageReader.Read(
+liTimstampFrom := liTimstampFrom2,
+liTimstampTo       := liTimstampTo2,
+itfTrendStorageReaderConsumer := instTrendStorageReaderConsumer);
+~~~
+The ``TimeStampRead`` and ``ValueRead`` methods are then called automatically for each value. 
+In the example, the ``TrendStorageReaderConsumer`` function block implements the ``ITrendStorageReaderConsumer`` 
+interface and writes the values to the controller console in CSV format. If the size of the returned data would 
+block the database too long, then ``ETrendStorageReaderErrors.AdditionalReadCallRequired`` is returned as error code 
+and the read process must be continued at a later time by calling the ``ContinueReading`` method with the same parameters.
+
+
+**Description of the visualization**
+
+The simulated signals are displayed in a trend element in the upper area of the visualization. 
+
+- The minimum and maximum time stamps of the trend data are displayed in the "Min/Max Time" tab *(see Figure 1)*. 
+- The current values of the ``DataWritten`` method are displayed in "New Data" *(see Figure 2)*. 
+- Values are searched in the "Read Values" tab *(see Figure 3)*. 
+
+The start time stamp is displayed in the upper field and the end time stamp in the lower field. 
+The "Compute timestamps" button converts the specified data into the corresponding time stamp (reverse function: 
+"Compute date/time"). Then the search can be started by clicking the "Read Trend Storage" button. 
+Clicking "Stop Reading" will cancel the read process. If the "Detailed output" button is active, then the data 
+is printed to the controller console (do not start CODESYS Control Win V3 via SysTray). 
+Otherwise, the number of data records is displayed in the "count rows" field.
+
+[[project_screenshots]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mlamp</dc:creator><pubDate>Thu, 24 Sep 2020 12:21:56 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.coma8606511f468cbc0f617f85550adc8ee11829422</guid></item><item><title>Home modified by mlamp</title><link>https://forge.codesys.com/prj/codesys-example/trend-api-examp/home/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/prj/codesys-example/trend-api-examp/home/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;h6&gt;Project Members:&lt;/h6&gt;
	&lt;ul class="md-users-list"&gt;
		&lt;li&gt;&lt;a href="/u/ingo/"&gt;Ingo&lt;/a&gt; (admin)&lt;/li&gt;&lt;li&gt;&lt;a href="/u/mlamp/"&gt;mlamp&lt;/a&gt; (admin)&lt;/li&gt;&lt;li&gt;&lt;a href="/u/robert/"&gt;robert&lt;/a&gt; (admin)&lt;/li&gt;
		
	&lt;/ul&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mlamp</dc:creator><pubDate>Thu, 24 Sep 2020 12:18:13 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.comcd07ac3fab78a0f253cf750e7b229ee3e0ba97d6</guid></item></channel></rss>