Post by felipemsgarcia on Edge Gateway online, but PLC is not online
CODESYS Forge
talk
(Post)
Hi Edwin, The PLC is already in the automation server so nothing happens when I scan the network, however the PLC show offline (not connected). Please see logs below. [CmpLog] Logger.0.Name=codesysedge.log Logger.0.Filter=0x0000000F Logger.0.Enable=1 Logger.0.MaxEntries=100000 Logger.0.MaxFileSize=1000000 Logger.0.MaxFiles=1 Logger.0.Backend.0.ClassId=0x00000104 ;writes logger messages in a file Logger.0.Type=0x314 ;Set the timestamp to RTC Thank you!
Last updated: 2024-01-09
Post by jaspergain on Access to the path *** is denied
CODESYS Forge
talk
(Post)
Hello, Recently I upgraded to 3.5.19.50 and have been having errors/issues when doing a download/online change. The message as seen in the attachment pops up. The file in the path is different every time. However when I login again afterwards all works fine. This issue does not happen on older versions. Any clue what the issue could be? I did an reinstall/repair but the issue reappeared again... Thanks in advance!
Last updated: 2024-01-25
Post by jshirazi on Restore license on Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I recently got a license for Raspberry Pi, after license activation I made a backup copy of "CMLicenseNew.WibuCmRaU" file to a safe place. Things got complicated and I tried to downgrade OS for some reason after that I tried several times/ways to restore my license with no luck. the specifications are as follows: Raspberry Pi 4 Model B Rev 1.1 codesyscontrol 4.10.0.0 SDK 3.5.19.30 Logs: **** ERROR: CodeMWriteLicenseFile: 'CMLicenseNew.WibuCmRaU' failed: Container not found or Server dose not support .... So if someone know a solution for this please kindly help me. Regards
Last updated: 2024-02-03
Post by tk096 on SMC_Interpolator + SMC_controAxislbyPos
CODESYS Forge
talk
(Post)
Hi, you can define a start position for your GCode. How the start position can be defined depends on the CompileMode: For File and SMC_CNC_REF: Set the start position input of SMC_NCInterpreter (https://content.helpme-codesys.com/en/libs/SM3_CNC/Current/SM_CNC_POUs/NC2/Interpreter/SMC_NCInterpreter.html) For SMC_OutQueue: * Right-click on the CNC object in the project tree * Select Properties * Select the tab 'CNC' * Set the start position Concerning your second question: If the new set position cannot be reached with the given velocity limit (AXIS_REF_SM3.fSWMaxVelocity), SMC_controlAxisByPos will report bStopIpo and close the 'gap' with the given gap dynamics (SMC_controlAxisByPos.fGap*).
Last updated: 2024-02-07
Post by kleeswi on SysFileOpen does not work after update to V3.5 SP19 Patch 5
CODESYS Forge
talk
(Post)
I use the function SysFile.SysFileOpen(sFileNamePara, SysFile.ACCESS_MODE.AM_WRITE, pErrorFileOpen); to open and write a file. Since the update from Codesys V3.5 SP17 to V3.5 SP19 Patch 5 it does not work anymore. I first had SysFile.SysFileOpen(sFileNamePara, SysFile.ACCESS_MODE.AM_APPEND_PLUS, pErrorFileOpen); in both versions. hFile_Test is a pointer to byte. It gives an exceptional error when dereferencing the hFile_Test pointer. Edit: I use Codesys on a Raspberry pi
Last updated: 2024-02-19
Post by mimodia1 on I do not have any reedings in RUN MODE from MPU6050........
CODESYS Forge
talk
(Post)
Good morning, mecke96. Exactly the same thing happens to me, although I have not done the part of executing a .py file. It only reads the temperature and the counter, but the other values are zero as in your image "no readings". I have tested the MPU6050 device on an Arduino and it works. Could you tell me if you solved it?
Last updated: 2024-03-29
Post by esave on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
I bought and installed SoftMotion Light now. When I try to add a SoftMotion Light Axis to my stepper drive and I go online it shows: "The license is missing or invalid". See picture What am I doing wrong? This is the right way right? First add your EtherCat XML-File from your stepper driver and then add the SoftMotion Light axis right? Thanks for your help esave
Last updated: 2024-04-25
Post by gseidel on CNC - system goes to X=0 Y=0 before CNC file execution starts, how to avoid that?
CODESYS Forge
talk
(Post)
Hi peterned, the start position given in the CNC properties is only used if you use the compile mode OutQueue. With compile mode SMC_CNC_REF, you need to provide the start position in the IEC application. The function block SMC_NCInterpreter has an input piStartPosition. You can initialize it with the output of the forward kinematic transormation FB for your machine. In your case probably SMC_TRAFOF_Gantry2. Best regards, Georg
Last updated: 2024-04-30
Post by rabaggett on CODESYS control for Raspberry Pi 64 SL errors
CODESYS Forge
talk
(Post)
Update: I started over. I saved progress at each step. all compiled zero errors, zero warnings. Pre-processor messages remain, but I can make progress. Until I try to re- load the project file in Codesys. Re-loaded files error as above when compiled, even though they compiled error-free immediately before saving. Is my installation borked? (Not easy to re-install due to IT madness...)
Last updated: 2024-05-03
Post by william-blandon on RecipeManCommands.ReloadRecipes
CODESYS Forge
talk
(Post)
Hello. I'm trying to use RecipeManCommands.ReloadRecipes Method for getting recipes from files. When I call the method it does not generate any error but also not reload any recipe to the recipe definition. Actually I have 6 recipe files on the directory PlcLogic. The rest of the methods work creating recipes, saving to file, etc. Does any one have the same issue? it is something to be set on the recipe manager?
Last updated: 2024-05-16
Post by wollvieh on License Activation Problems
CODESYS Forge
talk
(Post)
on a raspberry pi delete the folder and its content before licensing. /var/opt/codesys/cmactlicense If you plug this SD card in another raspi ( which has another hw-serial number) you'll get a second empty softcontainer. This could lead to an unlicensed PFC (it could only handle one container) The solution is: To delete the /var/opt/codesys/cmactlicense directory and content of it and then aktivate the lizenz via WibuCmRau file and Lizenzmanager.
Last updated: 2024-06-24
Post by taqamert on Codesys 2.3 & Peak PCAN
CODESYS Forge
talk
(Post)
Despite working on it for days, I haven't achieved any results. I followed the necessary steps one by one as mentioned in the file you sent, but there hasn't been the slightest change. I couldn't find the step you mentioned "Set the 'Can Board Type' to PCAN USB" in the Word document. There is no such setting anywhere I looked. Is there a more detailed explanation available, or can you explain it in more detail? What am I missing?
Last updated: 2024-07-16
Post by kleeswi on Visualization scaling problem with B&R T30 panel
CODESYS Forge
talk
(Post)
I have found a work around. I have written a python scripts that runs on user login (entry in .bashrc) which overwrites the webvisu.htm and webvisu.cfg.json file with the configuration for the B&R T30 panel (resolution and disable scaling). First I tried to add this setting to the the CODESYSControl.cfg, but that does not work following the big CODESYS Control V3 Manual. [CmpTargetVisu] Application.WindowPositionX=0 Application.WindowPositionY=0 Application.WindowSizeWidth=800 Application.WindowSizeHeight=480
Last updated: 2024-07-30
Post by wbj0t on tool 'update raspberry pi' unavailable
CODESYS Forge
talk
(Post)
Doesnt matter. I have installed sp20 with latest RP 4.13. Same problem. Anyway My large project in RP 4.10 and SP 19 and I need these versions and use same installation programm for Codesys IDE and RP4 package. I did install again, because my SSD broke and now cant update raspberry... I dont know how to translate correctly project to newest version - there are 52769 errors and incompatabilities: after updates libraries anyway some errors still because of devices... I found solution with .deb file from raspberry package - dont need IDE anymore for update raspberry.
Last updated: 2024-09-27
Post by totorovic on Hard shutdown: no code on device after power on
CODESYS Forge
talk
(Post)
However, if faulty EtherCAT cables were the issue, why wouldn't the error occur during normal operation? Why would bad cables only cause problems during a hard shutdown? I don't have the answer to this question. One last question: When you encountered this behavior, did you see a similar error in your logs? i.e, an "AccessViolation" exception in the EtherCAT Task Yes. It was the exeption you can see in attached file.
Last updated: 2024-10-03
Post by jeroenaero on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
Finnaly i get it working. There was a line in the file that set the ADS1015 chip in /boot/firmware/config.txt which i removed and after that the ADS1115 has a green turning circle and i got values. i created a new component so it fits our ADS1015. see screenshot. It works also with Codesys Control for Raspberry Pi 64 SL after adding the ULINT_TO_UDINT conversion in the library. i think the chip was all the time in use by the Raspberry pi itself. Thanks for your help!
Last updated: 6 days ago
Post by s1ack on PFC200 Will soft-container & IIoT license survive a firmware update?
CODESYS Forge
talk
(Post)
I have an IIoT License activated on a PFC200 with older firmware 2.08.32 (11). If I flash it to the latest available 4.05.10 (27) does the license get destroyed? I have a back up file '3SLicenseInfo.tar'. But this looks quite a bit different form the backup I got from more modern firmware... 'CMLicenseNew.WibuCmRaU'. Can the new license manager restore it from the old .tar?
Last updated: 6 days ago
Post by paulg on RasPi CAA Serial example - unexpected behavior during debug
CODESYS Forge
talk
(Post)
I've trimmed down the CAA Serial Codesys example to only listen on one port but, when stepping through the Case structure in debug mode, it jumps out of the structure during a specific point in every scan (I'll point it out below after describing the setup and listing the code). I'm using a Pi 4 Model B, and I have an Arduino Nano Every plugged in via USB which is streaming the following serial message at 1 Hz: Time since opening connection: 1 s Time since opening connection: 2 s ...and so on. The Pi shows the Nano at /dev/ttyACM0 so I edited CODESYSControl_User.cfg to read: Linux.Devicefile=/dev/ttyACM The code in my PLC_PRG is (ignore some of the comments, I hadn't deleted them out from the original example): PROGRAM PLC_PRG VAR xStartTest : BOOL:= TRUE; iState : INT; xTestDone : BOOL;(* True, when the test was done succesfully *) (* Settings to communicate with the COM Port *) aCom1Params : ARRAY [1..7] OF COM.PARAMETER; como1 : COM.Open; comc1 : COM.Close; comw1 : COM.Write; comr1 : COM.Read; //sWrite : STRING := 'Test String!'; sRead : STRING(25); szRead : CAA.SIZE; xCom1OpenError : BOOL; xCom1CloseError : BOOL; xCom1WriteError : BOOL; xCom1ReadError : BOOL; END_VAR //This example shows the communication of two COM Ports with each other. //The first one writes a string of characters, which is read by the second one. //After successful execution, the two COM Ports are closed and the test is done. IF xStartTest THEN CASE iState OF 0: //The parameters are set for the COM Port aCom1Params[1].udiParameterId := COM.CAA_Parameter_Constants.udiPort; aCom1Params[1].udiValue := 1; // the correct Port should be adapted aCom1Params[2].udiParameterId := COM.CAA_Parameter_Constants.udiBaudrate; aCom1Params[2].udiValue := 115200; aCom1Params[3].udiParameterId := COM.CAA_Parameter_Constants.udiParity; aCom1Params[3].udiValue := INT_TO_UDINT(COM.PARITY.NONE); aCom1Params[4].udiParameterId := COM.CAA_Parameter_Constants.udiStopBits; aCom1Params[4].udiValue := INT_TO_UDINT(COM.STOPBIT.ONESTOPBIT); aCom1Params[5].udiParameterId := COM.CAA_Parameter_Constants.udiTimeout; aCom1Params[5].udiValue := 0; aCom1Params[6].udiParameterId := COM.CAA_Parameter_Constants.udiByteSize; aCom1Params[6].udiValue := 8; aCom1Params[7].udiParameterId := COM.CAA_Parameter_Constants.udiBinary; aCom1Params[7].udiValue := 0; //The first Port is opened with the given parameters como1(xExecute := TRUE, usiListLength:=SIZEOF(aCom1Params)/SIZEOF(COM.PARAMETER),pParameterList:= ADR(aCom1Params)); IF como1.xError THEN xCom1OpenError := TRUE; iState := 1000; END_IF //After a successful opening, the next state is reached IF como1.xDone THEN iState := 15; END_IF 15: // the reading process is started comr1(xExecute := TRUE,hCom:= como1.hCom, pBuffer:= ADR(sRead), szBuffer:= SIZEOF(sRead)); IF comr1.xError THEN xCom1ReadError := TRUE; END_IF //After completion the size of the written bytes are saved IF comr1.xDone OR comr1.xError THEN szRead := comr1.szSize; iState := 20; END_IF 20: // If everything was successful the ports are closed and the handles are released comc1(xExecute := TRUE,hCom:= como1.hCom); IF comc1.xError THEN xCom1CloseError := TRUE; END_IF IF comc1.xDone OR comc1.xError THEN iState := 25; END_IF 25: // The first port is closed and the used handle released xTestDone := TRUE; xStartTest := FALSE; iState := 0; como1(xExecute := FALSE); comw1(xExecute := FALSE); comc1(xExecute := FALSE); ELSE iState := 0; END_CASE END_IF I realize as I write this that the .udiPort should be 0 and not 1, but that shouldn't be causing the issue I'm seeing. I'm forcing xStartTest:=TRUE every scan so that I can step into each line and observe what's happening. What I see is that the port parameters are set and the port is opened with no errors, but the code jumps out of the case structure to the last line every time it reaches (and I step into) the iState:=15 line (at the end of the iState:=0 block). So every scan cycle it goes through the block for iState=0 and jumps out at the same spot. I'm a little new to PLC programming so I may be misunderstanding the flow, but shouldn't this case structure keep moving down in the same scan? If it only handles one case per scan, why doesn't the value of iState persist? Thanks! Update: I restarted the Codesys control today and I was then able to see an error for como1.eError of "WRONG_PARAMETER". I tried doing some digging and another post made me think I should add another line to CODESYSControl_User.cfg, so I now have: [SysCom] Linux.Devicefile=/dev/ttyACM portnum := COM.SysCom.SYS_COMPORT1 So now when I set .udiPort to 1, I get "NO_ERROR" but I also don't read anything from the port (i.e. szRead = 0 always). If I try setting the port to 0 (which I'm confused about, because I added a COMPORT1 line but the device shows on the Pi as ACM0), I get the "WRONG_PARAMETER" error again. Is there an easier way to troubleshoot the Pi and view what ports the Codesys runtime is actually able to see while the Pi is running?
Last updated: 2024-06-06
Post by dandyk on Dynamic Images
CODESYS Forge
talk
(Post)
Hello, I have very similar problem, but it seems that your solution does not work for me. I am using TwinCAT XAE Shell v3.1.4024.55 and TwinCAT Runtime. Sorry for writing here on codesys forge, but since I found the only relevant topic here and since TwinCAT is almost the same with CODESYS in many applications, I chose to write here. I simply need to dynamically update image in visualization based on camera trigger (I am doing a machine vision application). Camera triggers an image, my program processes it (applies thresholding, draws contours etc...) and saves the processed image in the runtime location (the same one you were mentioning). This was done successfully. I need to make it work at runtime, while the program is executing and I need to refresh the image in the visualization each time camera triggers a new image and program processes it. When I create image element in the visualization and define the bitmap ID variable as STRING which contains the image ID defined in the image pool, then it displays the image in the image pool, but does not work at runtime, while the program is executing. I also used the Bitmap Version. I declared it in Global variable list as integer with initial value of 0 and wrote the variable in the bitmap version in the image element in visualization. Each time new image is saved to the runtime location, I wrote a program to increment Bitmap Version by 1. It increments and the image does not update in the visualization, unfortunately. I think that bitmap version is working correctly and deletes the cached image as it is supposed to, but the Image Pool does not update the image ID with the new image... the path to the image is always the same... only the actual image changes with the same file name. Image Pool is not dynamic and cannot refresh the image in the path to the actual one at runtime. How can I refresh the image ID in the image pool at runtime? Bitmap version only deletes cached image and reloads the image from the image ID, but the image ID has the same image, because image pool won't update at runtime. Do you know any solution to this problem?
Last updated: 2024-04-06
Post by janderson on OPC UA Server limitations, large array crashes runtime
CODESYS Forge
talk
(Post)
What are the limitations of the OPC UA Server? I am trying to get data off my PLC that is acquired at high rates (~50k samples/s) so I am storing them in arrays and trying to get the arrays off the PLC. When I attempt to read a ~200k element array through OPC UA the server and runtime crashes (requiring tools -> update linux arm64 -> start runtime). Is there a better way to get highspeed data off? The ACDatalog library seems a bit irritating to use so I would prefer to go through OPC UA.
Last updated: 2023-08-23
Post by ofey on Modbus TCP communication
CODESYS Forge
talk
(Post)
Hi! I tried setting up the PLC I'm working with (Beijer GN-9373) to connect to a modbus master running on a laptop. I have an ethernet connection (via USB-C to ethernet) between the laptop and the controller. I have tried following tutorial on how to set this up. I have added an ethernet device with the IP-address of the PLC. Further I added a ModbusTCP_Slave_Device with default settings. I get the error "Failed to open TCP Port: 1" when I try to go online with the PLC. Earlier I tested the exact same set up with the soft PLC from codesys. I can then read/write values correctly with the Modbus master i have running on the laptop. Hope anybody can help me with this, thanks in advance!
Last updated: 2023-10-06
Post by preimesbergert on Raspberry Pi 4 B HW 1.5 Codesys control 4.10.0 stopps after a few seconds
CODESYS Forge
talk
(Post)
Wanted to play a bit with a raspberry Pi 4 Model B HW 1.5 and Codesys. Regardless of the image (tried 32bit / 64bit version from Raspberry Pi Imager) and with all tested Codesys Control versions (4.2.0, 4.8.0, 4.10.0) and regardless if single core / multicore / 64 bit variant, always is the runtime stopped after about 30sec with the nice message: ooops... this runtime was built for RASPBERRYPI. Hardware version or firmware version not supported! (-7, 0x00000BB8, 0xFFFFFFFB) Whats wrong with it?!?!? I read a lot about the issue in topics from 2020-2021 but it always was stated with new Codesys control version issue will be fixed (4.4 for example) but still it is there.
Last updated: 2023-12-21
Post by preimesbergert on Raspberry Pi 4 B HW 1.5 Codesys control 4.10.0 stopps after a few seconds
CODESYS Forge
talk
(Post)
Wanted to play a bit with a raspberry Pi 4 Model B HW 1.5 and Codesys. Regardless of the image (tried 32bit / 64bit version from Raspberry Pi Imager) and with all tested Codesys Control versions (4.2.0, 4.8.0, 4.10.0) and regardless if single core / multicore / 64 bit variant, always is the runtime stopped after about 30sec with the nice message: ooops... this runtime was built for RASPBERRYPI. Hardware version or firmware version not supported! (-7, 0x00000BB8, 0xFFFFFFFB) Whats wrong with it?!?!? I read a lot about the issue in topics from 2020-2021 but it always was stated with new Codesys control version issue will be fixed (4.4 for example) but still it is there.
Last updated: 2023-12-21
Post by timvh on Is it possible to use debug functions such as Step Execution while the PLC ladder is in Running?
CODESYS Forge
talk
(Post)
Yes, it is possible to set breakpoints and use step into / step over (also in Ladder diagram). Yes, the PLC will actually stop, so be carefull with this. How a PLC works is that at the start of the execution of the Task, the Inputs are read, then the code is being executed and then the outputs are written. So if you set a breakpoint, you will not see your analog inputs changing, because the task cycle is interrupted and the inputs and outputs are not refreshed. For detailed information, see: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_using_breakpoints.html
Last updated: 2024-01-16
Post by mani-i4point0 on Issue with WebVisu on Raspberry PI
CODESYS Forge
talk
(Post)
Hi, I am running Codesys Runtime by purchasing 'Codesys control for raspberry pi MC SL', I am trying to use the Variables from my GVL's. Few of the variables used as a Pushbutton form the Visualization. These 'BOOL' Variable getting unlatched automatically even though there is no write function in the Overall project. All of them are 'Read' functions, at the same time few other BOOL variable behaviors are seems to be fine. I have tried, clean all and download, serval time restarted the hardware. Happy to share any any information. Your input to resolve this issue would be highly appriciated. Version Details: codesyscontrol 4.8.0.0, armhf codesyscontrol based on SDK 3.5.19.0
Last updated: 2024-03-20
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
.