Search talk: Pointer to

 
<< < 1 .. 7 8 9 10 11 .. 221 > >> (Page 9 of 221)

Post by gustavocsw on MQTT memory leak problem CODESYS Forge talk (Post)
Hello everyone, I'm using the IoT Library to implement the MQTT communication with my local broker server in order to publish and subscribe at specifics topics to share and consume information about my application. But, it seems that are occurring some memory leak problem in a "high" frequency (more than 10 Hz) subscribe process. I follow the same method as in IoT Lib exemples, and at first looks perfect but my PLC was rebooting frequently and when I check its memory usage that was increasing as fast as the subscribe massage was sent. I'm using a WEG PLC410 and a WEG PLC500, and this error occurred in both of them (including in CODESYS Control Win x64). The application sends to the system a message JSON with the float payload Ex. {"data" : 0.8500}, but this happens with a INT, or BOL as well. I use the follow code in my application to find the value: //FindFirstValueByKey VARs PROGRAM JSON_VELO VAR //------Setting the JSON Subscriber to Set the Relay Value jsonDataVelo : JSON.JSONData; jsonByteArrayReaderVelo : JSON.JSONByteArrayReader; xST1okVelo : BOOL; FindFirstValueByKeyVelo : JSON.FindFirstValueByKey; jsonElementVelo : JSON.JSONElement; xDoneReaderVelo : BOOL; xDoneFindVelo : BOOL; //STRING and WSTRING for Subscribe the massage sPayloadJsonVelo : STRING := 'opa'; psPayloadJsonVelo : POINTER TO BYTE := ADR(sPayloadJsonVelo); //wsPayloadJsonRelaySet : WSTRING := "opa"; wsPayloadJsonVelo : WSTRING := STRING_TO_WSTRING('opa'); pwsPayloadJsonVelo : POINTER TO WORD := ADR(wsPayloadJsonVelo); lrVelo : LREAL; xKeepAliveVelo : BOOL; xSetVelo : BOOL; RSSet : RS; LIMPAR : STRING; //Find the msg end sFindVelo : STRING := '}'; psFindVelo : POINTER TO STRING := ADR(sFindVelo); iLenVelo : INT; iSizeVelo : INT := 12; udiContMsg : UDINT; END_VAR // FindFirstValueByKey CODE // Relay Set configuration xSetVelo := MQTT_SUBSCRIBER.RSVelo.Q1; IF xSetVelo THEN xKeepAliveVelo := TRUE; END_IF IF xKeepAliveVelo THEN udiContMsg := udiContMsg + 1; iLenVelo := TO_INT(StrLenA(psPayloadJsonVelo)); iSizeVelo := iLenVelo - TO_INT(MQTT_SUBSCRIBER.udiPayloadSizeVelo); StrDeleteA(psPayloadJsonVelo,iSizeVelo,iLenVelo); wsPayloadJsonVelo := STRING_TO_WSTRING(sPayloadJsonVelo); pwsPayloadJsonVelo := ADR(wsPayloadJsonVelo); //MQTT.ConvertUTF8toUTF16(sourceStart:= ADR(sPayloadJsonVelo), targetStart:= ADR(wsPayloadJsonVelo), dwTargetBufferSize:= TAM, bStrictConversion:= 1); //Reset jsonByteArrayReader jsonByteArrayReaderVelo ( xExecute := TRUE, pwData := pwsPayloadJsonVelo, jsonData := jsonDataVelo, xDone => xDoneReaderVelo ); FindFirstValueByKeyVelo( xExecute := xDoneReaderVelo, wsKey := "data", diStartIndex:= 0, jsonData := jsonDataVelo, jsonElement => jsonElementVelo, xDone => xDoneFindVelo ); IF xDoneFindVelo THEN lrVelo := jsonElementVelo.value.lrValue; //Reset jsonByteArrayReader jsonByteArrayReaderVelo ( xExecute := FALSE, pwData := pwsPayloadJsonVelo, jsonData := jsonDataVelo, xDone => xDoneReaderVelo ); FindFirstValueByKeyVelo( xExecute := FALSE, wsKey := "data", diStartIndex:= 1, jsonData := jsonDataVelo, jsonElement => jsonElementVelo, xDone => xDoneFindVelo ); xKeepAliveVelo := FALSE; GVL.xSetVeloRead := TRUE; END_IF END_IF And this to subscribe at the topic: //SUBSCRIBE VAR: //----------------- Subscribe Velocity ----------------------- MQTTSubscribeVelo : MQTT.MQTTSubscribe;//Variable MQTTSubscriber block -X - function-X wsTopicSubscribeVelo : WSTRING(1024) := "CORE/odometry/GET/data/simp"; // Topic to publish a message sSubscribeMassageVelo : STRING; udiPayloadSizeVelo : UDINT; xSDoneVelo : BOOL; xSErrorVelo : BOOL; xReceiveVelo : BOOL; eSTypeVelo : MQTT.MQTT_ERROR; eSMQTTErrorVelo : MQTT.MQTT_ERROR; RSVelo : RS; udiCont : UDINT; //SUBSCRIBE CODE: MQTTSubscribeVelo( xEnable:= MQTT_CLIENT.xConnection_Broker AND NOT xSErrorVelo AND NOT JSON_VELO.xKeepAliveVelo, pbPayload:= JSON_VELO.psPayloadJsonVelo, udiMaxPayloadSize:= SIZEOF(JSON_VELO.sPayloadJsonVelo), udiPayloadSize => udiPayloadSizeVelo, mqttClient:= MQTT_CLIENT.ClientMQTT, wsTopicFilter:=wsTopicSubscribeVelo, xDone => xSDoneVelo, xError=> xSErrorVelo, xReceived => xReceiveVelo, eMQTTError=> eSMQTTErrorVelo ); RSVelo(SET := xReceiveVelo, RESET1 := JSON_VELO.xKeepAliveVelo);
Last updated: 2024-09-09

Connection to device closed CODESYS Forge talk (Thread)
Connection to device closed
Last updated: 2023-08-25

Sysmac Studio to Codesys CODESYS Forge talk (Thread)
Sysmac Studio to Codesys
Last updated: 2023-09-20

OPC UA Client unable to connect to CeDeSys OPC UA Server but able to connect to other OPC UA Server CODESYS Forge talk (Thread)
OPC UA Client unable to connect to CeDeSys OPC UA Server but able to connect to other OPC UA Server
Last updated: 2018-10-30

Sysfile copy to server CODESYS Forge talk (Thread)
Sysfile copy to server
Last updated: 2012-01-13

GVL to SHMem CODESYS Forge talk (Thread)
GVL to SHMem
Last updated: 2024-07-09

Array to String CODESYS Forge talk (Thread)
Array to String
Last updated: 2024-07-18

Array to String CODESYS Forge talk (Thread)
Array to String
Last updated: 2024-07-24

Send data to USB CODESYS Forge talk (Thread)
Send data to USB
Last updated: 2024-08-05

Password to POU CODESYS Forge talk (Thread)
Password to POU
Last updated: 2024-08-14

STRING conversions to DWORD CODESYS Forge talk (Thread)
STRING conversions to DWORD
Last updated: 2025-02-02

Which database to use? CODESYS Forge talk (Thread)
Which database to use?
Last updated: 2025-03-04

how to add TextList CODESYS Forge talk (Thread)
how to add TextList
Last updated: 2025-05-20

Login to Visu optional CODESYS Forge talk (Thread)
Login to Visu optional
Last updated: 2025-07-16

What happened to Python? CODESYS Forge talk (Thread)
What happened to Python?
Last updated: 2025-10-01

CoDeSys to access CODESYS Forge talk (Thread)
CoDeSys to access
Last updated: 2007-01-15

How to remove user ? CODESYS Forge talk (Thread)
How to remove user ?
Last updated: 2018-07-03

string to time CODESYS Forge talk (Thread)
string to time
Last updated: 2010-03-08

Button to close browser CODESYS Forge talk (Thread)
Button to close browser
Last updated: 2022-09-22

Connect to MCP 3008 CODESYS Forge talk (Thread)
Connect to MCP 3008
Last updated: 2018-09-16

How to implement IVisuStreamReader CODESYS Forge talk (Thread)
How to implement IVisuStreamReader
Last updated: 2023-03-02

REAL to BOOL CODESYS Forge talk (Thread)
REAL to BOOL
Last updated: 2007-06-11

Convertion Dint to Word CODESYS Forge talk (Thread)
Convertion Dint to Word
Last updated: 2023-08-07

Variable name to string CODESYS Forge talk (Thread)
Variable name to string
Last updated: 2015-03-19

STRUCT to BYTE ARRAY CODESYS Forge talk (Thread)
STRUCT to BYTE ARRAY
Last updated: 2023-07-10

<< < 1 .. 7 8 9 10 11 .. 221 > >> (Page 9 of 221)

Showing results of 5519

Sort by relevance or date