<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Ticket search results</title><link>https://forge.codesys.com/lib/cobolt/tickets/</link><description>You searched for status:wont-fix OR status:closed</description><language>en</language><lastBuildDate>Sat, 05 Nov 2022 21:20:03 -0000</lastBuildDate><item><title>FB_Device: MyDevice3State is shown as online while devicehealthy is false</title><link>https://forge.codesys.com/lib/cobolt/tickets/161/</link><description>In the example project, the FB_Devices are showing ONLINE even when the DeviceHealthy input is false.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 17 Jul 2022 16:45:46 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/161/</guid></item><item><title>FB_Edge: Move Connect to VAR_INPUT, and rename to Enable, and Implement</title><link>https://forge.codesys.com/lib/cobolt/tickets/160/</link><description>FB_Edge has a local variable Connect.

1. [x] Move it to VAR_INPUT
2. [x] rename Connect to Enable
3. [x] document its behaviour
4. Implement the functionality
       
    a. [x] Edge shall not start until enabled.        
    b. [#165] Edge shall disconnect and a NDEATH will be published.

*Implementation of NDEATH has been splitted of and moved to [#165]</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 17 Jul 2022 16:43:47 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/160/</guid></item><item><title>Migrate to SP18 Development Environment and SP18 Compiler</title><link>https://forge.codesys.com/lib/cobolt/tickets/158/</link><description>We intend eventually to use some SP18 compiler features, namely UTF8 strings, which will bring processing performance enhancements as well as application memory usage improvements.

Also, we want to use SP18 development environment.

This would mean though that for end users to use the latest version of co⚡e, they will need to use SP18 development environment and SP18 compiler, even if with their older runtimes.
The only problem here would be, those with devices from manufacturers which both:
a) only work with their own customized version of the CODESYS development environment and
b) are not yet at SP18 with that development environment (eg. has released SP17 a month ago)

So we have two options moving forward.
Option 1 - We create a release of the current state, and for anyone not using the SP18 development environment yet, they have to use this version.  All versions from now will require SP18.
Option 2 - We try to continue development in such a way that allows for the old compiler also.

Option 2 is more work than Option 1, but we understand some people might take time to move to SP18.
We opt for Option 1, as this will let us realize the new performance improvements faster.

Tasks for old version:

* :point_right: CODESYS git *ONLY* supports SP17 and later:exclamation:
* [x] Create a commit in the binaries git, which stores the libraries and projects which can be opened using SP16 Patch 1 development environment. The libraries should compile and be installed in the repository, the unit test should run, the project should run and send data to/from Edge and Host.
    * [x] Host 
    * [x] Stack
    * [x] Edge
    * [x] Example
    * [x] Unittest
* [x] Create a git tag of that SP16.10 commit.
* [x] Create instructions for how to access that for users who want to use an older version in the FAQ.

Tasks for SP18 version:

* [x] Use SP18 to checkout, close project, open project, and commit the SP18 changes with a commit message containing this Ticket number and title
* [x] Up the compiler version to SP18
* [x] Set the "Project Settings &gt; Library Development &gt; Pointer size to use" to "32bit or 64 bit"
* [x] Commit and push to main
    * [x] Host  v1.4.0.0 
    * [x] Stack v1.5.0.0
    * [x] Edge
    * [x] Example
    * [x] Unittest</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 05 Nov 2022 21:20:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/158/</guid></item><item><title>Refactor FB_SparkplugBSimple to FB_SparkplugBxCoderHandler </title><link>https://forge.codesys.com/lib/cobolt/tickets/157/</link><description>* [x] Refactor FB_SparkplugBSimple to FB_SparkplugBxCoderHandler from Stack 
* [x] Repair references in Edge 
* [x] and Host Libraries</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 08 Apr 2022 20:41:05 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/157/</guid></item><item><title>FB_Payload, Pool Management: Used FB_PayloadColumns are not reused</title><link>https://forge.codesys.com/lib/cobolt/tickets/154/</link><description>ClaimNextFreeColumn never reuses columns and always generates a new column from memory.
Luckily, DataSets are not yet implemented, so this Method is not yet called.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Mon, 24 Jan 2022 09:44:41 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/154/</guid></item><item><title>Edge, Stack, Example: Tidy up some warnings</title><link>https://forge.codesys.com/lib/cobolt/tickets/151/</link><description>When you compile the example project you get a few warnings.  These should be fixed.
Tip: URL_ENCODE_WSTRING2.udiSizeOut is in Bytes</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Fri, 01 Apr 2022 22:21:54 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/151/</guid></item><item><title>Add Edge Info Properties</title><link>https://forge.codesys.com/lib/cobolt/tickets/149/</link><description>We should publish lots of hardware and software info obtained from the platform which the Edge runs on. All the info is aggregated and then published in the metric "ABOUT" with access "read-only

* [x] https://faq.codesys.com/display/CDSFAQ/Reading+the+Manufacturer+Information+of+the+Controller
* [x]  https://faq.codesys.com/display/CDSFAQ/Reading+the+IP+and+MAC+Addresses+from+AdapterInfo
* [x] https://faq.codesys.com/display/CDSFAQ/Reading+the+Compiler+and+Runtime+Version
* [x] https://faq.codesys.com/pages/viewpage.action?pageId=21135402
* [x] https://faq.codesys.com/display/CDSFAQ/Identifying+the+Hardware+and+Operating+System

added Opt-Out IWantExtendedEdgeInformation : BOOL := TRUE;

https://forge.codesys.com/lib/cobolt/cobolt-edge/ci/71221096fbe2cabd8304e28b874874f9c67fe13a/</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 03 Dec 2021 13:55:48 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/149/</guid></item><item><title>Metric Alias</title><link>https://forge.codesys.com/lib/cobolt/tickets/146/</link><description>Hey guys ,

i am fairly new in the MQTT topic. I am trying to replicate a metric structure that other devices already send to an existing server and got quite far with it:

Mine:

{"timestamp":1635884974801,"metrics":[{"name":"output/Z01Power","timestamp":1635884974801,"dataType":"Int16","value":371}],"seq":20}

Existing Devices:

{"timestamp":1635863671694,"metrics":[{"name":"output/Z01Power","alias":330,"timestamp":1635863667777,"dataType":"Int16","value":264}],"seq":141}

I cant figure out how to add the "alias" property/attribute to the message.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">vincentger</dc:creator><pubDate>Wed, 03 Nov 2021 17:32:58 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/146/</guid></item><item><title>filling in Alias and Properties</title><link>https://forge.codesys.com/lib/cobolt/tickets/145/</link><description>how do i fill in Alias and Properties in SparkPlug in Codesys?
[[img src=Knipsel.PNG width=50%]]</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">sbre</dc:creator><pubDate>Thu, 28 Oct 2021 17:58:48 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/145/</guid></item><item><title> WSTringBuilder internal string declaration misses a size, so it is 80 chars max</title><link>https://forge.codesys.com/lib/cobolt/tickets/144/</link><description>Suggestions

1) Fix is to set a buffersize i.e.
~~~
_workWSTRING : WSTRING(4096);
~~~

2) Replace functions from Standard64 with the functions from StringUtils

</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 30 Oct 2021 17:36:05 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/144/</guid></item><item><title>Errors adding SparkPlugB to existing project?</title><link>https://forge.codesys.com/lib/cobolt/tickets/143/</link><description>I have successfully utilized the mqttsparkplugb-example project to connect to a mosquitto broker and can see the data being updated using MQTT.fx.

However, when I try using to follow the example of adding SparkPlugB to an existing Codesys project, I get 3 compile errors I cannot figure out.  Can you point me in the direction of what I may have done or how to get by these errors?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">brettschneider</dc:creator><pubDate>Tue, 10 Aug 2021 11:00:56 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/143/</guid></item><item><title>Migrate project URL to prj/cobolt/</title><link>https://forge.codesys.com/lib/cobolt/tickets/142/</link><description>mqttsparkplugb is a generic name, and it disagrees with the project naming guidelines of the eclipse foundation.  As such the project should be migrated from:
https://forge.codesys.com/prj/mqttsparkplugb/
to
https://forge.codesys.com/lib/cobolt/</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Thu, 12 Aug 2021 00:58:57 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/142/</guid></item><item><title>Source control: Migrate to git</title><link>https://forge.codesys.com/lib/cobolt/tickets/141/</link><description>Migrate the project to git.

* [x] One git repository for each library/project.  Use name co⚡e.library if possible, if not cobolt-library
* [x] For convenient download of the binary library/project files, we will continue to publish these to the SVN repository.

At a later date, the binaries will be migrated to their own git repository, prefereably conserving the SVN history (of the binaries) wi</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 23 Oct 2021 23:03:20 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/141/</guid></item><item><title>Remove FB_Payload_OLD from library</title><link>https://forge.codesys.com/lib/cobolt/tickets/140/</link><description>Remove FB_Payload_OLD from library</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 11 Jul 2021 17:42:43 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/140/</guid></item><item><title>Device: Some Device Messages are skipped, noticably DBIRTH</title><link>https://forge.codesys.com/lib/cobolt/tickets/138/</link><description>When an Edge starts up, it publishes:
NBIRTH/E
MISSING: DBIRTH/E/D1
DBIRTH/E/D2
DBIRTH/E/D3

find the cause of the missing device messages.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 30 Oct 2021 17:45:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/138/</guid></item><item><title>Edge: Not obeying max publish rate</title><link>https://forge.codesys.com/lib/cobolt/tickets/137/</link><description>If set to a publish rate of 2000 (ms) the edge publishes NDATA faster than one every 2 seconds.
NDATA should be limited to the publish rate.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Mon, 10 May 2021 20:46:14 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/137/</guid></item><item><title>Edge seems to publish "empty" payloads</title><link>https://forge.codesys.com/lib/cobolt/tickets/136/</link><description>The edge publishes somehow publishes payloads that are valid but empty i.e; 
Payloads contain timestamp and a valid seqnum, but the metrics section is empty;

NDATA
~~~
{"timestamp":1619874081095,"metrics":[],"seq":218}
~~~

Replication: Set GenerateDataTimer to e.g. T#60s whilst keeping publishPeriod to e.g. 500

1) Find root cause of this unwanted and unnecessary sending of empty payloads,
2) Suggest and implement a suitable fix.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Mon, 10 May 2021 20:45:55 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/136/</guid></item><item><title>Project Homepage: Update guides</title><link>https://forge.codesys.com/lib/cobolt/tickets/135/</link><description>Proof and Update the following to match latest library:
[x] [Add to existing](https://forge.codesys.com/prj/mqttsparkplugb/home/Add%20SparkplugB%20to%20existing%20CODESYS%20project/)
[x] [Set up Test Server](https://forge.codesys.com/prj/mqttsparkplugb/home/Set%20up%20test%20system/) - rename to setup a test system with Ignition Primary Host

Add the following guides:
[x] setting up a test environment with a co⚡e primary host</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 15 May 2021 22:48:45 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/135/</guid></item><item><title>Library Category: add Application category so library can be selected without "Display advanced libraries"</title><link>https://forge.codesys.com/lib/cobolt/tickets/134/</link><description>By Adding an additional library category "Application", the library can be found also when the "Display advanced libraries" button is not pressed.

The category can be found in C:\Program Files\CODESYS 3.5.16.40\CODESYS\Templates\Library_Template\LibraryCategoryBase.libcat.xml</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 13 Jun 2021 14:46:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/134/</guid></item><item><title>Payload: Compression</title><link>https://forge.codesys.com/lib/cobolt/tickets/132/</link><description>There is a non-normative compression practice in the Tahu project.
https://github.com/eclipse/tahu/blob/develop/client_libraries/java/src/main/java/org/eclipse/tahu/util/PayloadUtil.java

Essentially, you 
1. compress the payload to an array of bytes using GZIP or DEFLATE.
2. This array of bytes is put in the payload.body.
3. Optionally, a single payload.metrics named "algorithm", of datatype String contains the string_value either "GZIP" or "DEFLATE".  If this is not included, then "DEFLATE" will be assumed.
4. paylaod.uuid contains the text "SPBV1.0_COMPRESSED"

eg.
~~~JSON
{"timestamp": 16000000000,
 "metrics": [{"name": "algorithm",
              "timestamp": 16000000000,
              "datatype": "String",
              "string_value": "GZIP"}],
 "seq": 12,
 "uuid": "SPBV1.0_COMPRESSED",
 "body": &lt;GZIP compressed bytes of the actual payload&gt;
}
~~~
or
~~~JSON
{"timestamp": 16000000000,
 "seq": 12,
 "uuid": "SPBV1.0_COMPRESSED",
 "body": &lt;DEFLATE compressed bytes of the actual payload&gt;
}
~~~</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 23 Oct 2021 23:43:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/132/</guid></item><item><title>Device: DDEATH or DBIRTH sometimes skipped</title><link>https://forge.codesys.com/lib/cobolt/tickets/131/</link><description>In testing, we saw that sometimes the DDEATH or (re-)DBIRTH are skipped, when the device transitions between healthy and not healthy.
It should reliably send a DDEATH and (re-)DBIRTH.
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 01 May 2021 14:12:55 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/131/</guid></item><item><title>PrimaryHost: Itterator</title><link>https://forge.codesys.com/lib/cobolt/tickets/130/</link><description>The host needs to scan for items which need published (xCMDs).  This itterator may later be expanded to include metrics, properties and so forth.

xCMD crawler:
1. loop all Groups
2. loop all Edges
3. loop all Devices

//Will Cycle through the Groups.Edges.devices.  1st it will find the first edge of the first group. Then it will either go deeper (G1/E1/D1) or down if there are no devices (either G1/E2, or G2/E1)
// Bool: OnlyOnline := TRUE will skip offline things
// Bool: EndOfList  := TRUE indicates the end of list has been reached
FB_DeeperAndDown()

Continuously call FB_DeeperAndDown() until EOL or you find a DeviceOrEdge which wants to publish =&gt; then publish it.

FB_DeeperAndDown( Groups := _Groups , OnlyOnline := TRUE ,
                  itfXcmdSender =&gt; itfXcmdSender , EndOfList =&gt; EOL );
IF (NOT EOL) AND itfXcmdSender &lt;&gt; 0 THEN
    IF itfXcmdSender.getXcmd(itfPayload =&gt; xcmdPayload ) THEN
        Publish(xcmdPayload);
        Published := TRUE;
    THEN
END_IF;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 05 Nov 2022 21:20:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/130/</guid></item><item><title>Edge: SFC itterator</title><link>https://forge.codesys.com/lib/cobolt/tickets/129/</link><description>It is a requirement to have things published in order

FB_Edge will receive an itterator which in a single scan, it will itterate until it finds an (Edge or Device) which wants to publish.  The state machine then goes to PUBLISH and waits until the publisher is done.  It then returns to the ITTERATION state to complete (does not restart) if the itteration completes without finding anyone who wants to publish, it ends the state and restarts the ittetration.

The "not restarting the itterator" may be crucial for not favouring a particularly busy device over others.  Effectively the itterator is normally a "looper".</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 30 Apr 2021 13:34:43 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/129/</guid></item><item><title>new implementation of FB_EdgeMQTT client</title><link>https://forge.codesys.com/lib/cobolt/tickets/128/</link><description>FB_DeviceMQTTClient publisher code will be phased out and integrated into a single FB_EdgeMQTTClient. Subscriber code will stay intact
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 30 Apr 2021 13:34:43 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/128/</guid></item><item><title>Edge / Device BUG SeqNums</title><link>https://forge.codesys.com/lib/cobolt/tickets/127/</link><description>Requires -&gt; [#128] new implementation of FB_EdgeMQTT client 
Requires -&gt; [#129] SFC itterator </description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 30 Apr 2021 13:34:43 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/127/</guid></item></channel></rss>