Search Project: *:*

 
<< < 1 .. 1355 1356 1357 1358 1359 .. 3702 > >> (Page 1357 of 3702)

Post by aliazzz on Ticket #12: Embedded some resources discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -2,9 +2,17 @@ sparkplug_b.json sparkplug_b.proto +example.py +sparkplug_b.py +sparkplug_b_pb2.py to it -If you think they are not useful,, please feel free and phase them out +I use +example.py +sparkplug_b.py +sparkplug_b_pb2.py - +To base my first FB_EoN_Node implementation on. +Please do not remove those files until finalisation of the library +Thank you
Last updated: 2021-08-10

Post by aliazzz on Ticket #32: FB_MQTT_PubSub Considerations discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
labels: discussion about several points of attention --> summary: Consumption of received messages by FB_Payload / FB_MQTT_PubSub --> FB_MQTT_PubSub Considerations Description has changed: Diff: --- old +++ new @@ -1,70 +1,22 @@ -PubSub can inform us that a message has been received via .IsMessageReceived(). -PubSub can then be called to obtain the message via .getmessage(). -The blob data which is received should be consumed by FB_Payload. +PubSub can inform us that a message has been received via .MessageReceived(). +The message &amp; topic then can be obtained via .getmessage(). -Thinking aloud: -Passing a pointer/length of the blob is far superior (as no data is physically copied around) -Binding a dynamic buffer is also under my consideration as an option if needed/wanted or has some unforseen advantage. -Offcourse the simplest idea is the best and should be chosen. - -=&gt; interaction/handshaking between PubSub and Payload in the usual way (xbusy, xdone, xerror) methods for this are provided. However I thought of the following, simple handshake; - +Example ~~~ -IF pubsub.IsMessageReceived() THEN - // pseudocode call, true implementation will probably differ - pubsub.GetMessage( pBuf=&gt;pBuf, udiBufSize=&gt;udiBufSize); - xDecode := TRUE; -END_IF; -IF xDecode THEN - // GO GO GADGET DECODE - MyDecodedMessage := Payload.Decode( pBuf:=pBuf, udiBufSize:=udiBufSize); - xDecode := FALSE; +IF PubSub.MessageReceived() THEN + myRecvMessage := PubSub.MyMessage( wsTopic =&gt; MyTopic); + + // pass the message to the payload decoder + MyDecodedMessage := Payload.Decode( pBuf:=ADR(myRecvMessage),udiBufSize:=SIZEOF(myRecvMessage)); END_IF; ~~~ -pubsub.IsMessageReceived() -should be called continuously and is asynchronous by design as I wrote it in a non blocking style on purpose. -Therefore the penalty is that it should be called continuously to detect the edge and react on it as that is the only chance to grab the data. If this can be designed in **simpeler AND safer** way, please share your thoughts.. +=&gt; Passing a pointer/length of the blob (the undecoded received message) is far superior in speed and resources as no data is physically copied around. Binding a dynamic buffer is under future consideration. -=&gt; As the memory buffer of pubsub is envisioned to be filled ad-hoc with fresh data, payload should be able to process the received data within a single cycle (!) +=&gt; Interaction/handshaking between PubSub and Payload in the usual way (xbusy, xdone, xerror) and methods for this are provided. -**Questions:** -To mitigate send/receive issues, maybe we should implement a send/receive message buffer? -This buffer then can act as LIFO on and ideally isn&#39;t filled (the contents is sent/received directly), but when many events occur at once, the buffer gets utilized. Is such a buffer even necessary ? -Is such a buffer allready implemented within the CODESYS IIot MQTT library? -If not, and we should implement this buffer, where should it be implemented? -My guts say it should be in the vicinity of the Payload either before/after or embedded into. -Any ideas? +=&gt; according to the documentation of the CODESYTS IIoT lib, there is a maximum message payload length. In the CODESYS IIot MQTT library, is a single subscriber only capable of just subscribing to a single topic? -=&gt; The provided example shows a subscribed topic per subscriber instance. -I assume this this means that for every subscription, a new FB instance is needed. Correct? -How many topics subscriptions should the EoN node subscribe too? -Thus how many subscribers should I implement (offcourse with an accompanying subscription strategy)? +=&gt; I Assume so, as the provided example shows a single topic per subscriber instance. - -//////////////////////////////////////////////////// -Part2 -Also at this moment, I have code which publishes arbitrary messages. -The initialisation of sending a new message takes 2 cycles, as the first cycle resets the state machine (xDone = false, xBusy = false, Xerror = false, internal client state is dormant) -then a rising edge on exectue sends a new message. - -I guess there is no &#34;shorter&#34; way to handshake the process, as the stats output need to be digested after a send. When Execute is set to False, the statemachine is reset and dormant. - -EDIT =&gt; part2 Solved - -~~~ -// publish -xPublishBusy := MQTT_PubSub.PublisherBusy(); -xPublishDone := MQTT_PubSub.PublisherDone(); -xPublishError := MQTT_PubSub.PublisherError( eError =&gt; ePublishError ); - -MQTT_PubSub.Publish( Execute := xPublish, - PubTopic:= PublishTopic, - PubMessage:= PublishMessage, - PubQos:= PublishQos, - PubRetain:= PublishRetain ); - -xPublish := xPublishBusy AND NOT(xPublishDone OR xPublishError); -~~~ -//////////////////////////////////////////////////// assigned_to: aliazzz
Last updated: 2021-08-10

Post by aliazzz on Ticket #2: clone Cirrus Logic Git Repo discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: open --> closed
Last updated: 2021-08-10

Post by aliazzz on Ticket #18: SVN: use 'standard' cforge folder structure discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Directory structure has been created. Todo: create artefacts; mqttsparkplugb.package <== create via cforge package.manifest <== create via cforge unittest/ <== project with cf unit unittests, create via CODESYS SVN mqttsparkplugb-example/ <== project example, create via CODESYS SVN unittest.project <== create via cforge mqttsparkplugb-example.project <== create via cforge
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)
summary: Define how Store & Forward should be implemented (hystorical data) --> Define how Store & Forward should be implemented (historical data)
Last updated: 2021-08-10

Post by i-campbell on Ticket #69: MQTT: ping interval should = keep alive time discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: closed --> open assigned_to: h-hermsen --> i-campbell
Last updated: 2021-08-10

Post by hermsen on Ticket #111: FB_PrimaryHost: Construct "Dynamic" Structure of Edge Nodes discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Implemented Re_open if not satisfactory
Last updated: 2021-08-10

Post by hermsen on Ticket #16: Implement SparkPlugB Device discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: pending --> closed
Last updated: 2021-08-10

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 @@ -25,8 +25,8 @@ * [x] Diag // Diagnosis * [x] Encode( Enable ) // Start Encoding if Enable = TRUE, Stops encoding if enable = FALSE * [x] Encoded // Is encoding finished? -* [x] EncoderBusy // Is the encoder busy? -* [x] EncoderError( Error ) // An error occured +* [x] EncodeBusy // Is the encoder busy? +* [x] EncodeError( =&gt; eError ) // An error occured * [x] InitEncoderBeforeAddingMetrics( Timestamp, SeqNr) // Initialize the Encoder before adding Metrics * [x] GetBDSeqNum * [x] GetSeqNum
Last updated: 2021-08-10

Post by i-campbell on Ticket #106: AWS IoT Core Support discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Yes, gladly.
Last updated: 2021-08-10

Post by i-campbell on Ticket #3: Build a SparkplugB scada in CODESYS discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Duplicates [#59].
Last updated: 2021-08-10

Post by i-campbell on Ticket #27: Visibility Control of Objects discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
assigned_to: i-campbell Milestone: 9.9.9.9: Backlog --> 1.0.0.0 Minimum Viable Product (MVP)
Last updated: 2021-08-10

Post by aliazzz on Ticket #4: Create session state management for EoN Node discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: 1.0 --> 2.0
Last updated: 2021-08-10

Post by i-campbell on Ticket #1: Create Introductionpage discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Milestone: 1.0 basic protobufs --> 4.0 Example
Last updated: 2021-08-10

Post by hermsen on Ticket #77: TLS hCert needs to be SysTypes.RTS_INVALID_HANDLE, if there is no client certificate discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
implemented in v0.9.1.2
Last updated: 2021-08-10

Post by hermsen on Ticket #82: EoN: SparkplugSimple.Notify requires handshake discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: open --> pending
Last updated: 2021-08-10

Post by hermsen on Ticket #15: Example project for a SCADA discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
I think this ticket is closed, i.e a test system and an example walkthrough have been posted. Al's annexample for the v2.0.0.0 library is pending
Last updated: 2021-08-10

Post by i-campbell on Ticket #11: FB_Payload discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
r538
Last updated: 2021-08-10

Post by aliazzz on Ticket #44: example project: theirPayloadDecoder.GetNextMetric.metricvalid stays false discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: pending --> closed
Last updated: 2021-08-10

Post by i-campbell on Ticket #63: EoN: NDATA puts elements into a second list discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Fixed minor issue with calling InitEncoder, which increases the seq by 1, even if no changes were detected. (Now only calls it once).
Last updated: 2021-08-10

Post by hermsen on Ticket #108: TLS: use the new TLSContext to allow verification of the server certificate discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
FB_Edge_Of_Network_node will now have these extra arguments; ITLSContextProvider : REFERENCE TO MQTT.NBS.ITLSContext; //Encapsulates all the data neccecray to handle encrypted tcp connections //Static initialization, as shown in the following code snippet; // //VAR // commonName : STRING := 'MyRasPi'; // ciCertInfo : NBS.CERT_INFO := (psInfo:=ADR(commonName), udiSize:=LEN(commonName)); // myTLSContext : NBS.TLSContext := ( // ePurpose:=NBS.PURPOSE.CLIENT_SIDE, // sUseCaseName:='NBSTest', // sTLSVersion:='1.3', // ciCertInfo:=ciCertInfo, // udiVerificationMode:=2 // ); //END_VAR IASyncPropertyProvider : REFERENCE TO MQTT.NBS.IAsyncProperty; // Runs the connect process in a own background task. Use this property if the connection setup takes longer than one task cycle (e.g. TLS connections)
Last updated: 2021-08-10

Post by hermsen on Ticket #140: Remove FB_Payload_OLD from library discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: open --> closed
Last updated: 2021-08-10

Post by i-campbell on Ticket #14: Example project for a Node discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
Description has changed: Diff: --- old +++ new @@ -1,2 +1,3 @@ * Instructions on how to setup the project * a CODESYS EoN should connect to a third party MQTT Broker, send Data and accept Commands +* Describe how to set up read tags, write tags, and read/write tags
Last updated: 2021-08-10

Post by hermsen on Ticket #93: Refining the state machine(s) discussion co⚡e: Sparkplug™ MQTT edge and host tickets (Post)
status: closed --> open
Last updated: 2021-08-10

<< < 1 .. 1355 1356 1357 1358 1359 .. 3702 > >> (Page 1357 of 3702)

Showing results of 92540

Sort by relevance or date