Search Project: *:*

 
<< < 1 .. 1340 1341 1342 1343 1344 .. 3702 > >> (Page 1342 of 3702)

Post by aliazzz on Ticket #39: FB_SparkplugB_SimpleEncoder discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -4,33 +4,31 @@ The FB contains a protobuf blob encoder and various methods to quickly create (compose and/or encode) various messages. Messages which are mandatory for this FB are: - [ ] Node Death Message - [ ] Node Birth Message - [ ] Device Death Message - [ ] Device Birth Message +* [ ] Node Death Message +* [ ] Node Birth Message +* [ ] Device Death Message +* [ ] Device Birth Message Since this FB is of the simple variant, it can can only deal with the SimpleObjects type. Pass a single instance of SimpleObject to the Encoder. - [ ] AddMetric( Timestamp, SimpleObject ) // It is not mandatory for the SimpleObject to be part of a list. - [ ] AddMetric( Timestamp, ListOfSimpleObjects ) // Passes a prepared list of SimpleObjects to the encoder +* [ ] AddMetric( Timestamp, SimpleObject ) // It is not mandatory for the SimpleObject to be part of a list. +* [ ] AddMetric( Timestamp, ListOfSimpleObjects ) // Passes a prepared list of SimpleObjects to the encoder Apart from these methods it contains various interactions / diagnosis - [ ] Diag // Diagnosis - [ ] Encode // Start Encoding - [ ] Encoded // Is encoding finished? - [ ] EncoderBusy // Is the encoder busy on a task? - [ ] EncoderError // An error occured - [ ] FlushPool // Removes all poolElements(); +* [ ] Diag // Diagnosis +* [ ] Encode // Start Encoding +* [ ] Encoded // Is encoding finished? +* [ ] EncoderBusy // Is the encoder busy on a task? +* [ ] EncoderError // An error occured +* [ ] FlushPool // Removes all poolElements(); // Updates timestamp(); -// Initializes the PayloadEncoder - - [ ] GetBDSeqNum - [ ] getSeqNum - [ ] Private UpdateTimeStamp // called continously to update the internal timestamp, maybe not neccesary as the timestamp can be updated ad-hoc - [ ] GetEncodedBlob // returns the encoded blob to the customer +// Initializes the PayloadEncoder +* [ ] GetBDSeqNum +* [ ] getSeqNum +* [ ] Private UpdateTimeStamp // called continously to update the internal timestamp, maybe not neccesary as the timestamp can be updated ad-hoc +* [ ] GetEncodedBlob // returns the encoded blob to the customer NOTE - When this FB is finished we can take a look to separate it&#39;s design into a Core and an extension for the Simple part. That way we can expand without code duplication for the &#39;Advanced metrics&#39; part
Last updated: 2021-08-10

Post by aliazzz on Ticket #55: How do we Implement #PublishInterval / PublishRate? discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1,7 +1,10 @@ PublishInterval / PublishRate is default set to 5000 ms. -This means we cannot publish &#34;updates&#34; any faster then each 5000 ms. +So we cannot publish &#34;updates&#34; any faster then each 5s. -After some debate we decided on the following mechanism: +This means the publish rate is a kind of sample rate per signal change so 5000 means 1 change per interval of 5 seconds. -We have a timer, it sets itself as soon as we have sent data and after T#PublishInterval it resets itself. If new data is detected during timer countdown, we &#34;buffer&#34; it. -If the timer has expired we can send data immediately and the timer sets itself again after this action. So, the timer &#34;blocks&#34; sending of data during countdown. +100 means a signal change per 100mec. +10000 means a signal change per 10 seconds. + +Solution +We have a pulse timer (or some other means to detect a time interval), it sets itself as soon as we have sent data and after T#PublishInterval it resets itself. If new data is detected during timer countdown we ignore it. If the timer has expired we can send data immediately and the timer sets itself again after this action. So, the timer &#34;blocks&#34; sending of data during countdown.
Last updated: 2021-08-10

Post by hermsen on Ticket #80: MQTT: Not resubscribing discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
fixed in v0.9.0.0
Last updated: 2021-08-10

Post by hermsen on Ticket #114: Refactor anything "SparkplugB" into "Sparkplug" discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: accepted --> closed
Last updated: 2021-08-10

Post by hermsen on Ticket #115: Every type of Node will have it's seperate log (bonus kudos) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: closed --> open
Last updated: 2021-08-10

Post by aliazzz on Ticket #51: EoN: EON.PublishBirth() calls publish() twice discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
labels: EoN, Bug --> status: accepted --> closed
Last updated: 2021-08-10

Post by i-campbell on Ticket #48: Cforge tool integration discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: 999 Backlog --> 9.9.9.9: Backlog
Last updated: 2021-08-10

Post by i-campbell on Ticket #31: Define how Store & Forward should be implemented (historical data) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: SFP: SCADA --> 2.0.0.0: SCADA
Last updated: 2021-08-10

Post by i-campbell on Ticket #34: Implement basic metrics for now discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
NDEATH is an exception which does not require a Payload.seq So the Initialize must include HasSeq : BOOL;
Last updated: 2021-08-10

Post by aliazzz on Ticket #47: list.removecomponents: it uses a while loop that causes headaches discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
{attribute 'no_assign'} Smart addition! => Saves a lot of headaches 💪
Last updated: 2021-08-10

Post by aliazzz on Ticket #55: How do we Implement #PublishInterval / PublishRate? discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1,10 +1,11 @@ +# Publish interval Definition PublishInterval / PublishRate is default set to 5000 ms. So we cannot publish &#34;updates&#34; any faster then each 5s. -This means the publish rate is a kind of sample rate per signal change so 5000 means 1 change per interval of 5 seconds. +This means the publish rate is a kind of &#34;sample-rate&#34; per signal change: +* 5000 means 1 signal change per interval of 5 seconds is sent, +* 100 means 1 signal change per interval of 100mec is sent, +* 10000 means 1 signal change per interval of 10 seconds is sent. -100 means a signal change per 100mec. -10000 means a signal change per 10 seconds. - -Solution +# Solution We have a pulse timer (or some other means to detect a time interval), it sets itself as soon as we have sent data and after T#PublishInterval it resets itself. If new data is detected during timer countdown we ignore it. If the timer has expired we can send data immediately and the timer sets itself again after this action. So, the timer &#34;blocks&#34; sending of data during countdown.
Last updated: 2021-08-10

Post by i-campbell on Ticket #11: FB_Payload discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -41,7 +41,7 @@ [x] [x] [x] [x] Payload.metrics[].double_value [x] [x] [x] [x] Payload.metrics[].boolean_value [x] [x] [x] [x] Payload.metrics[].string_value -[x] [x] [x] [ ] Payload.metrics[].bytes_value +[x] [x] [x] [x] Payload.metrics[].bytes_value [x] [x] [ ] [ ] Payload.metrics[].dataset_value.num_of_columns [x] [x] [ ] [ ] Payload.metrics[].dataset_value.columns[] [x] [x] [ ] [ ] Payload.metrics[].dataset_value.types[]
Last updated: 2021-08-10

Post by i-campbell on Ticket #31: Define how Store & Forward should be implemented (historical data) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: 2.0.0.0: SCADA --> 3.0.0.0 Full Feature Product (FFP)
Last updated: 2021-08-10

Post by aliazzz on Ticket #42: Devicetree (Json) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1,85 +1,86 @@ A hierarchical representation of the Edge of Network with devices. + ~~~ json {&#34;EoN&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34;, - &#34;Metric7&#34;: &#34;Value&#34;, - &#34;Metric8&#34;: &#34;Value&#34;, + &#34;EoNMetric1&#34;: &#34;Value&#34;, + &#34;EoNMetric2&#34;: &#34;Value&#34;, + &#34;EoNMetric3&#34;: &#34;Value&#34;, + &#34;EoNMetric4&#34;: &#34;Value&#34;, + &#34;EoNMetric5&#34;: &#34;Value&#34;, + &#34;EoNMetric6&#34;: &#34;Value&#34;, + &#34;EoNMetric7&#34;: &#34;Value&#34;, + &#34;EoNMetric8&#34;: &#34;Value&#34;, &#34;Sensor1&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34;, + &#34;SensorMetric5&#34;: &#34;Value&#34;, + &#34;SensorMetric6&#34;: &#34;Value&#34; }, &#34;Sensor2&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34;, + &#34;SensorMetric5&#34;: &#34;Value&#34;, + &#34;SensorMetric6&#34;: &#34;Value&#34; }, &#34;Device1&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34;, + &#34;DeviceMetric1&#34;: &#34;Value&#34;, + &#34;DeviceMetric2&#34;: &#34;Value&#34;, + &#34;DeviceMetric3&#34;: &#34;Value&#34;, + &#34;DeviceMetric4&#34;: &#34;Value&#34;, + &#34;DeviceMetric5&#34;: &#34;Value&#34;, + &#34;DeviceMetric6&#34;: &#34;Value&#34;, &#34;Sensor1&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34;, + &#34;SensorMetric5&#34;: &#34;Value&#34;, + &#34;SensorMetric6&#34;: &#34;Value&#34; }, &#34;Sensor2&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34;, + &#34;SensorMetric5&#34;: &#34;Value&#34;, + &#34;SensorMetric6&#34;: &#34;Value&#34; }, &#34;Sensor3&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34; }, &#34;Sensor4&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34; } }, &#34;Device2&#34;: { - &#34;Metric1&#34;: &#34;Metric1Value&#34;, - &#34;Metric2&#34;: &#34;Metric2Value&#34;, - &#34;Metric3&#34;: &#34;Metric3Value&#34;, - &#34;Metric4&#34;: &#34;Metric4Value&#34;, + &#34;DeviceMetric1&#34;: &#34;Metric1Value&#34;, + &#34;DeviceMetric2&#34;: &#34;Metric2Value&#34;, + &#34;DeviceMetric3&#34;: &#34;Metric3Value&#34;, + &#34;DeviceMetric4&#34;: &#34;Metric4Value&#34;, &#34;Sensor1&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34;, + &#34;SensorMetric5&#34;: &#34;Value&#34;, + &#34;SensorMetric6&#34;: &#34;Value&#34; }, &#34;Sensor2&#34;: { - &#34;Metric1&#34;: &#34;Value&#34;, - &#34;Metric2&#34;: &#34;Value&#34;, - &#34;Metric3&#34;: &#34;Value&#34;, - &#34;Metric4&#34;: &#34;Value&#34;, - &#34;Metric5&#34;: &#34;Value&#34;, - &#34;Metric6&#34;: &#34;Value&#34; + &#34;SensorMetric1&#34;: &#34;Value&#34;, + &#34;SensorMetric2&#34;: &#34;Value&#34;, + &#34;SensorMetric3&#34;: &#34;Value&#34;, + &#34;SensorMetric4&#34;: &#34;Value&#34;, + &#34;SensorMetric5&#34;: &#34;Value&#34;, + &#34;SensorMetric6&#34;: &#34;Value&#34; } } }
Last updated: 2021-08-10

Post by aliazzz on Ticket #56: Edge_node_id and group_id elements may not contain /, #, + characters discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1 +1,3 @@ -Update code to check/replace these illegal characters (/,+,#) from the Edge_Node _Id or Group_id element +Update code to check/replace these illegal characters &#34;/,+,#&#34; from the Edge_Node _Id or Group_id element + +The illegal characters will be replaced with an underscore &#34;_&#34;
Last updated: 2021-08-10

Post by i-campbell on Ticket #48: Cforge tool integration discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Seems repository specific, as SM3RaspiStepper works. At least it extracts the repositories, even if it throws a few KeyNotFoundException. SVN: Information: [00:27:28] Added SM3_Drive_RaspiStepper SVN: Information: [00:27:28] Completed at revision: 24 SVN: Information: [00:27:28] Added: 95 SVN: Information: [00:27:28] ---------- Scripted SVN Operation ---------- See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at _3S.CoDeSys.Svn.SVNVersionInfoData.get_WorkingCopyExists() at _3S.CoDeSys.Svn.SVNVersionInfoData.IsInitialized(SVNVersionInfoData vid) ...
Last updated: 2021-08-10

Post by aliazzz on Ticket #31: Define how Store & Forward should be implemented (historical data) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: 999.0 Backlog --> 3.0 SCADA
Last updated: 2021-08-10

Post by i-campbell on Ticket #62: Sparkplug Birth Death Sequence: Should it MOD 256? discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: open --> wont-fix
Last updated: 2021-08-10

Post by hermsen on Ticket #72: MQTT: FB_MQTT.IsConnected producing false positives discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1,3 +1,3 @@ there is an issue in our method FB_MQTT.IsConnected also rewrite it to resolve the eMQTTConnectionState -then we are in the clear with false positives on the connect case +then we are in the clear with false positives on the connect case.
Last updated: 2021-08-10

Post by hermsen on Ticket #107: Subscribe to "STATE" of Primary Application discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: open --> accepted
Last updated: 2021-08-10

Post by aliazzz on Ticket #15: Example project for a SCADA discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1,2 +1,4 @@ * create installation and usage instructions -* A CODESYS SCADA / IIoT Host should connect to a third party MQTT_Broker and receive data from an EoN and send commands to an EoN, and indicate the EoN connection status +* A CODESYS SCADA / IIoT Host should connect to a third party MQTT_Broker and receive data from an EoN and send commands to an EoN, and indicate the EoN connection status. +* This CODESYS SCADA (PLC) application is the so called &#39;Primary Application&#39; (see SparkplugB specs page 20 and beyond) and can reside on any CODESYS PLC. +Thie primary application is effectivly decoupled from the infrastructure via the use of the MQTT broker.
Last updated: 2021-08-10

Post by i-campbell on Ticket #67: Print library version into SparkplugLog (immutable) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Owner: Anonymous --> h-hermsen
Last updated: 2021-08-10

Post by aliazzz on Ticket #23: Architecture discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
a new limit on devices has been set: 8 Devices max
Last updated: 2021-08-10

Post by hermsen on Ticket #125: PrimaryHost: proces & publish messages discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -4,9 +4,9 @@ * [x] Process NBIRTH * [x] Process NDATA * [x] Process NDEATH -* [ ] Process DBIRTH -* [ ] Process DDATA -* [ ] Process DDEATH +* [x] Process DBIRTH +* [x] Process DDATA +* [x] Process DDEATH publish it&#39;s STATE and, if applicable, issue commands
Last updated: 2021-08-10

Post by i-campbell on Ticket #98: install notes: update docs when Debian release with Mosquitto v2 discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: 2.0.0.0: SCADA --> 9.9.9.9: Backlog
Last updated: 2021-08-10

<< < 1 .. 1340 1341 1342 1343 1344 .. 3702 > >> (Page 1342 of 3702)

Showing results of 92535

Sort by relevance or date