Post by davidbo on Two licenses have to be installed forgot to enable one license
CODESYS Forge
talk
(Post)
I have to install "Basic M" and "Visualization M", but it seems that during installation of "Basic M" you have to enable "Visualization S" I assume if you here after want to install my "Visualization M". And I forgot to enable "Visualization S" How do I fix that?
Last updated: 2026-02-02
Post by blitz on Can't get SMC_SmoothPath to work
CODESYS Forge
talk
(Post)
This code works well: PROGRAM PLC_PRG VAR execute : BOOL; abort : BOOL; doMDI : BOOL; manualDataInput : STRING(1024) := 'N5 G01 X0.00 Y200.00 N6 G01 X200.00 Y200.00 N7 G01 X200.00 Y0.00 N8 G01 X0.00 Y0.00'; stringStreamArray: ARRAY[0..NUMBER_OF_CHAINS-1] OF SMC_StringStream2 ; i : UDINT; readNCFromStream : SMC_ReadNCFromStream; sentencesFromStringSteam : SMC_GSentenceQueue ; interpreter : SMC_NCInterpreter; interpreterGeoInfoBuffer: ARRAY[1..GEO_INFO_BUFFERS_SIZE] OF SMC_GeoInfo; roundPath : SMC_RoundPath; roundPathGeoInfoBuffer: ARRAY[1..GEO_INFO_BUFFERS_SIZE] OF SMC_GeoInfo; END_VAR VAR CONSTANT MDI_FILE_NAME : STRING := 'MDI.nc'; NUMBER_OF_CHAINS : UDINT := 15; GEO_INFO_BUFFERS_SIZE : DINT := 500; END_VAR readNCFromStream.bExecute := interpreter.bExecute := roundPath.bExecute := execute; readNCFromStream.bAbort := interpreter.bAbort := roundPath.bAbort := abort; IF doMDI THEN stringStreamArray[0].Init(MDI_FILE_NAME); stringStreamArray[0].AppendData(manualDataInput); stringStreamArray[0].SetEndOfData(); i := 0 ; WHILE i < NUMBER_OF_CHAINS DO readNCFromStream.aStream[i] := stringStreamArray[i]; i := i + 1 ; END_WHILE readNCFromStream.bExecute := TRUE; IF readNCFromStream.bBusy THEN ; END_IF END_IF readNCFromStream( fDefaultVel := 10, fDefaultAccel := 10, fDefaultDecel := 10, fDefaultVelFF := 10, fDefaultAccelFF := 10, fDefaultDecelFF := 10, sentences := sentencesFromStringSteam ); interpreter( sentences:= sentencesFromStringSteam, nSizeOutQueue:= SIZEOF(interpreterGeoInfoBuffer), pbyBufferOutQueue:= ADR(interpreterGeoInfoBuffer)); roundPath( poqDataIn := interpreter.poqDataOut, dRadius := , dAngleTol := , nSizeOutQueue := SIZEOF(roundPathGeoInfoBuffer), pbyBufferOutQueue := ADR(roundPathGeoInfoBuffer));
Last updated: 2026-01-09
Post by timvh on JSONByteArrayWriter string result incorrect order
CODESYS Forge
talk
(Post)
See the example below. You can insert key/value pairs as required At first the JSON string will be filled with: "{$"Key1$": $"Value0$", $"Key2$": [{$"Key3$": 1, $"Key4$": 2}]}" With xAdd, you can insert items, which will result in: "{$"Key1$": $"Value0$", $"Key2$": [{$"Key3$": 1, $"Key4$": 2},{$"Key3$": 3, $"Key4$": 4}]}" VAR factory : JSON.JSONDataFactory; eDataFactoryError : FBF.ERROR; pJsonData : POINTER TO JSON.JSONData := factory.Create(eError => eDataFactoryError); fb_JBuilder : JSON.JSONBuilder; wsValue : WSTRING; diRootIndex, diObjectIndex1, diObjectIndex2, diObjectIndex3 : DINT; iValue : INT; jsonArrayWriter : JSON.JSONByteArrayWriter; wsJsonData : WSTRING(1000); xFirst : BOOL := TRUE; xWrite: BOOL; xAdd: BOOL; END_VAR IF xFirst THEN fb_JBuilder.Reset(); fb_JBuilder(pJsonData := pJsonData, diRootObj => diRootIndex); wsValue := "Value0"; fb_JBuilder.SetKeyWithValue("Key1", wsValue, diParentIndex := diRootIndex); diObjectIndex1 := fb_JBuilder.SetKeyWithArray(wsKey := "Key2", diParentIndex := diRootIndex); diObjectIndex2 := fb_JBuilder.SetObject(diParentIndex := diObjectIndex1); iValue := 1; fb_JBuilder.SetKeyWithValue("Key3", iValue, diParentIndex := diObjectIndex2); iValue := 2; fb_JBuilder.SetKeyWithValue("Key4", iValue, diParentIndex := diObjectIndex2); xFirst := FALSE; xWrite := TRUE; END_IF IF xAdd THEN xAdd := FALSE; diObjectIndex3 := fb_JBuilder.SetObject(diParentIndex := diObjectIndex1); iValue := 3; fb_JBuilder.SetKeyWithValue("Key3", iValue, diParentIndex := diObjectIndex3); iValue := 4; fb_JBuilder.SetKeyWithValue("Key4", iValue, diParentIndex := diObjectIndex3); xWrite := TRUE; END_IF IF xWrite THEN xWrite := FALSE; jsonArrayWriter( xExecute := TRUE, wsLinebreak := "", pwData := ADR(wsJsonData), udiSize := SIZEOF(wsJsonData), jsonData := pJsonData^, xAsyncMode := FALSE ); END_IF IF jsonArrayWriter.xDone OR jsonArrayWriter.xError THEN jsonArrayWriter(xExecute := FALSE, pwData := ADR(wsJsonData), udiSize := SIZEOF(wsJsonData), jsonData := pJsonData^, xAsyncMode := FALSE); END_IF
Last updated: 2026-06-14
Post by mawaloc on IMAGE DISPLAY ACCORDING TO INPUT VARIABLE
CODESYS Forge
talk
(Post)
Hello thank you to all, it's work regards
Last updated: 2023-08-17
Unable to Import PLC Open XML from Easy Remote IO
CODESYS Forge
talk
(Thread)
Unable to Import PLC Open XML from Easy Remote IO
Last updated: 2023-08-24
Same program to more than one PLC
CODESYS Forge
talk
(Thread)
Same program to more than one PLC
Last updated: 2023-08-25
Problems connecting to Codesys 4.9.0.0 runtime on my Wago PFC200
CODESYS Forge
talk
(Thread)
Problems connecting to Codesys 4.9.0.0 runtime on my Wago PFC200
Last updated: 2023-08-26
Profinet connection to Siemens CP343-1 Lean (IO-Device/Slave)
CODESYS Forge
talk
(Thread)
Profinet connection to Siemens CP343-1 Lean (IO-Device/Slave)
Last updated: 2023-08-26
How to use FB_Init with nested Function Blocks?
CODESYS Forge
talk
(Thread)
How to use FB_Init with nested Function Blocks?
Last updated: 2023-08-30
Comments in arrays and assigning RST coil's to 600 outputs
CODESYS Forge
talk
(Thread)
Comments in arrays and assigning RST coil's to 600 outputs
Last updated: 2023-08-31
how to measure /use plcload from iec
CODESYS Forge
talk
(Thread)
how to measure /use plcload from iec
Last updated: 2023-09-12
How to access files correctly in Linux
CODESYS Forge
talk
(Thread)
How to access files correctly in Linux
Last updated: 2023-09-12
login to XV440 micro panel from Mxpro
CODESYS Forge
talk
(Thread)
login to XV440 micro panel from Mxpro
Last updated: 2013-02-07
Making changes to ENI controlled code on site
CODESYS Forge
talk
(Thread)
Making changes to ENI controlled code on site
Last updated: 2011-05-04
How to read structure in CodeSys using pythong script?
CODESYS Forge
talk
(Thread)
How to read structure in CodeSys using pythong script?
Last updated: 2017-10-09
Add Commands in the menu to call specific PY script
CODESYS Forge
talk
(Thread)
Add Commands in the menu to call specific PY script
Last updated: 2016-06-22
I'm going to control a stepper motor with RPI.
CODESYS Forge
talk
(Thread)
I'm going to control a stepper motor with RPI.
Last updated: 2020-08-08
How to use MC_Home and Configure Task
CODESYS Forge
talk
(Thread)
How to use MC_Home and Configure Task
Last updated: 2018-04-20
Remote connection to Wago 750-881
CODESYS Forge
talk
(Thread)
Remote connection to Wago 750-881
Last updated: 2023-06-30
How to control the Amp2 from HifiBerry ?
CODESYS Forge
talk
(Thread)
How to control the Amp2 from HifiBerry ?
Last updated: 2023-07-04
How to create a header in a .csv datalogger
CODESYS Forge
talk
(Thread)
How to create a header in a .csv datalogger
Last updated: 2022-11-18
Failure to do sourcecodedownload in batch mode
CODESYS Forge
talk
(Thread)
Failure to do sourcecodedownload in batch mode
Last updated: 2009-11-23
How to integrate CoDeSys into another system?
CODESYS Forge
talk
(Thread)
How to integrate CoDeSys into another system?
Last updated: 2009-09-02
how to make var constant variables globally available
CODESYS Forge
talk
(Thread)
how to make var constant variables globally available
Last updated: 2019-12-10
how to make a real time CLock
CODESYS Forge
talk
(Thread)
how to make a real time CLock
Last updated: 2011-05-25
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND or OR.