Open dialog via IEC code
CODESYS Forge
talk
(Thread)
Open dialog via IEC code
Last updated: 2016-11-30
Resize Dialog from IEC code
CODESYS Forge
talk
(Thread)
Resize Dialog from IEC code
Last updated: 2023-07-19
New STweep source code formatter release
CODESYS Forge
talk
(Thread)
New STweep source code formatter release
Last updated: 2021-01-12
Exporting source code to folder, Git
CODESYS Forge
talk
(Thread)
Exporting source code to folder, Git
Last updated: 2018-04-20
Rezeptur via Code Schreiben und Lesen
CODESYS Forge
talk
(Thread)
Rezeptur via Code Schreiben und Lesen
Last updated: 2019-03-20
Möglichkeit Code (FB) asynchron zu verarbeiten?
CODESYS Forge
talk
(Thread)
Möglichkeit Code (FB) asynchron zu verarbeiten?
Last updated: 2015-01-13
SoftMotion: Error after generate code
CODESYS Forge
talk
(Thread)
SoftMotion: Error after generate code
Last updated: 2024-01-30
Statisch Code Analyse ausführen via Python
CODESYS Forge
talk
(Thread)
Statisch Code Analyse ausführen via Python
Last updated: 2024-03-15
Error building Extension SDK Linux code
CODESYS Forge
talk
(Thread)
Error building Extension SDK Linux code
Last updated: 2024-04-02
How to determine code size
CODESYS Forge
talk
(Thread)
How to determine code size
Last updated: 2024-04-05
Source code changes since last download
CODESYS Forge
talk
(Thread)
Source code changes since last download
Last updated: 2025-12-01
Finding out exception code position
CODESYS Forge
talk
(Thread)
Finding out exception code position
Last updated: 2026-01-27
Post by k2saki on CNC / G01 Speed is very slow (or go-stop motion) in Continuous short segment .
CODESYS Forge
talk
(Post)
Hi, gseidel. Thank you so much for your advice. I have created a program to preprocess G-code as follows 1.SMC_ReadNCFile2 2.SMC_Interpreter 3.SMC_CheckVelocities Then I put SMC_OUT_QUEUE in SMC_Interpolator. Where should I insert SMC_SmoothMerge and SMC_SmoothPath? Or are there any example link for it ?
Last updated: 2024-04-30
Post by k2saki on Automatic TOOL Length Measurement like Typical CNC Machine.
CODESYS Forge
talk
(Post)
I'd like to measure tool length using SW. How do I set variable from the accurate drive position when switch turn ON/OFF? Hopefully, I'd like to measure Z-Pos with M-Function in G-Code automatically, And I'd like to set it to G43 as tool length correction.
Last updated: 2024-05-09
Post by baott569 on Limitation on OPC UA Variable 100+ variables on raspberry pi
CODESYS Forge
talk
(Post)
Sorry, not trying to spam, My internet lagged and I thought the comment wasn’t submitted
Last updated: 2026-01-22
Post by bertus on Can't get SMC_SmoothPath to work
CODESYS Forge
talk
(Post)
Hello all, I am trying to run a XY trajectory from a static G-Code file. Everything works except the smoothing/blending of the corners. My setup: Codesys v3.5sp18 Raspberry Pi 4 CODESYS Control for Raspberry Pi SL, using demo license. Zero axes (only using the interpolator). The order of processing for my decoding is: SMC_NCDecoder (ok) SMC_SmoothMerge (ok) SMC_SmoothPath (not ok) SMC_LimitDynamics SMC_CheckVelocities I created following instances and buffers: fbNCDecoder: SMC_NCDecoder; fbSmoothMerge: SMC_SmoothMerge; fbSmoothPath: SMC_SmoothPath; fbLimitDynamics: SMC_LimitDynamics; fbCheckVelocities: SMC_CheckVelocities; aNCDecoderBuffer: ARRAY[0..49] OF SMC_GeoInfo; // buffer stage 1 (fbNCDecoder) aSmoothMergeBuffer: ARRAY[0..19] OF SMC_GeoInfo; // buffer stage 2 (fbSmoothMerge) aSmoothPathBuffer: ARRAY[0..99] OF SMC_GeoInfo; // buffer stage 3 (fbSmoothPath) aLimitDynamicsBuffer: ARRAY[0..39] OF SMC_GeoInfo; // buffer stage 4 (fbLimitDynamics) My original G-Code file has a lot of short G1 elements but this example, I reduced it to a simple square: N000 G51 D10 N010 G38 O1 N020 G00 X0 Y0 F50 E1000 E-1000 N030 G01 X0 Y-37.5 N040 G01 X-75 Y-37.5 N050 G01 X-75 Y37.5 N060 G01 X0 Y37.5 N070 G01 X0 Y0 N080 G50 N090 G39 O1 In the Codesys CNC settings, I have these instances activated: SMC_SmoothMerge SMC_SmoothPath SMC_LimitDynamics SMC_CheckVelocities And with those settings (and the path-preprocessing button actived), the G-Code viewer shows the square with nicely blended corners (see attached picture). However, when running it on the PLC, it doesn't blend the corners at all. Below the relevant part of my code. The process is started with bDecode. // stage 1: decoding G-code fbNCDecoder( ncprog := square, bExecute:= bDecode, bAbort:= NOT bDecode, nSizeOutQueue := SIZEOF(aNCDecoderBuffer), pbyBufferOutQueue := ADR(aNCDecoderBuffer) ); // stage 2: merge short linear segments fbSmoothMerge( bExecute := bDecode, poqDataIn := fbNCDecoder.poqDataOut, nSizeOutQueue := SIZEOF(aSmoothMergeBuffer), pbyBufferOutQueue := ADR(aSmoothMergeBuffer), piMaxDifference := PI_MAX_DIFFERENCE, usiMaxDegree := 5, wFeatureFlag := 1, wAdditionalParamNumber := 0, dMinimumCurvatureRadius := D_MIN_CURVATURE_RADIUS ); // stage 3: smooth corners fbSmoothPath( bExecute := bDecode, bAbort := NOT bDecode, poqDataIn := fbSmoothMerge.poqDataOut, eMode := SMC_SMOOTHPATHMODE.SP_SPLINE5_MIN_CURVATURE, eAddAxMode := SMC_SMOOTHPATHADDAXMODE.SPAA_NONE, nSizeOutQueue := SIZEOF(aSmoothPathBuffer), pbyBufferOutQueue := ADR(aSmoothPathBuffer), dAngleTol := D_ANGLE_TOL, bSymmetricalDistances := TRUE, bImprovedSymmetricCuts := TRUE ); // stage 4: keep acc/dec and velocity within limits fbLimitDynamics( bExecute := bDecode, bAbort := NOT bDecode, poqDataIn := fbSmoothPath.poqDataOut, wAxis := 16#07, nSizeOutQueue := SIZEOF(aLimitDynamicsBuffer), pbyBufferOutQueue := ADR(aLimitDynamicsBuffer), bIncludePathSettings := TRUE, dMaxVel := 2500, dMaxAccDec := 10000 ); // stage 5: check the path speed fbCheckVelocities( bExecute := bDecode, bAbort := NOT bDecode, poqDataIn := fbLimitDynamics.poqDataOut, dAngleTol := D_ANGLE_TOL); pathQueue := fbCheckVelocities.poqDataOut; // repeat until MaxDuration ... Any idea what I'm doing wrong? Is smooth path supposed to work at all when using a demo license? Thanks.
Last updated: 2025-12-17
Post by laurits on Max lines of code, codesys CNC ?
CODESYS Forge
talk
(Post)
Testing Codesys CNC. SMC Interpolator Throws me an error if my code surpass approximately 32000 lines of code. (SMC_CNC_INTERNAL_ERROR) What is the max lines of code SMC Interpoltor can handle ? I've been thinking breaking the code up into smaller sections, but that gives me a lot problems later if i want to use "Blocksearch" etc. I need to run approximately 2000000 lines of code.
Last updated: 2025-06-01
No source code available for profinet library
CODESYS Forge
talk
(Thread)
No source code available for profinet library
Last updated: 2023-08-23
V3.5 SP19 C-Code-Module nicht auffindbar
CODESYS Forge
talk
(Thread)
V3.5 SP19 C-Code-Module nicht auffindbar
Last updated: 2023-08-23
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
Viewing Source Code for Visualization Object
CODESYS Forge
talk
(Thread)
Viewing Source Code for Visualization Object
Last updated: 2007-07-03
Call or switch visualization through structured text program code (ST)
CODESYS Forge
talk
(Thread)
Call or switch visualization through structured text program code (ST)
Last updated: 2023-06-04
exception after all code has been scanned
CODESYS Forge
talk
(Thread)
exception after all code has been scanned
Last updated: 2020-02-13
How to switch visualization in library by code?
CODESYS Forge
talk
(Thread)
How to switch visualization in library by code?
Last updated: 2018-10-17
Reading source code from .project file without IDE
CODESYS Forge
talk
(Thread)
Reading source code from .project file without IDE
Last updated: 2019-11-09
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.