Search talk: call after init

 
<< < 1 .. 26 27 28 29 30 > >> (Page 28 of 30)

Post by imdatatas on MC_MoveAbsolute: C0138: No matching 'FB_Init' method found for instantiation of SMC_MoveAbsRelPerformerImpl [ERROR] CODESYS Forge talk (Post)
Dear @gseidel, Thank you for your reply. The exact version of Codesys and its compiler was 3.5.21.20. The compiler version was fixed and could not be changed in project settings. Since I couldn't continue due to this compilation error, I temporarily overcame this issue as follows. -- I completely uninstalled Codesys 3.5.21.20 and completely deleted the Codesys folder in the C:\ProgramData folder. -- I restarted my computer and installed Codesys 3.5.19.70. -- I updated the Codesys Installer and all its add-ons to the latest versions. -- The project that was giving me the compilation error I mentioned before is now open with Codesys 3.5.19.70, compiled it, and successfully downloaded it on the device. -- I haven't encountered the same problem anymore. I think this issue is related to SP21 and its compiler. Frankly, I'd expect a project created with an older version to compile without errors after opening it with the latest Codesys version and updating all libraries. Regards, imdatatas
Last updated: 2025-09-26

Post by nicetuxedo on Can not activate license on Raspberry pi CODESYS Forge talk (Post)
Hello everyone, I'm hoping for some assistance with a license activation issue: a software crash has left my license in a strange state. Here is the sequence of events: I purchased a new license for the Raspberry PI from the official CODESYS web store. I opened the CODESYS and started the online activation process using the ticket number I received. During the activation, the CODESYS software threw an exception and crashed. I was not able to see if the activation completed. After restarting CODESYS, I attempted to run the activation process again with the same ticket number. The License Manager now gives me an error stating that the ticket has already been activated/used. I am now stuck because my installation is not licensed, but the activation server believes my ticket has been consumed. Has anyone encountered this before? Is there a way to have the ticket status reset?
Last updated: 2025-10-08

Post by ragarcia on Error while using UpdateConfiguredIPSettings to change IP address CODESYS Forge talk (Post)
Hello everyone, I am trying to change dynamically by code the IP address of a Weidmuller controller. So I am basically using IoDrvEthernet library to use UpdateConfiguredIPSettings function but I am getting constantly the 'INVALID_STATE' error. Even though I am following a procedure it should work: * First I added on the config file of codesys the following: [SysSocket] Adapter.0.Name="eth0" Adapter.0.EnableSetIpAndMask=1 Adapter.1.Name="eth1" Adapter.1.EnableSetIpAndMask=1 * Secondly I am first disabling the ethernet interface by using Ethernet_0.Enable = FALSE and then executing DED.Reconfigure. After that, I run the Ethernet_1.updateConfiguredIPSettings Code: Ethernet_1.Enable:= EnableDisable; Reconfigure(xExecute:= TRUE, itfNode:= Ethernet_1, xError=> ErrorReconfigure, eError=> ErrorCodeReconfigure); IF Reconfigure.xDone THEN ErrorCodeIP:= Ethernet_1.UpdateConfiguredIPSettings(IPAddress:= newIP, SubnetMask:= newMask, Gateway:= newGW); END_IF IF Reconfigure.xDone OR Reconfigure.xError THEN Reconfigure(xExecute:= FALSE); END_IF Ethernet_1.Enable:= TRUE; Reconfigure(xExecute:= TRUE, itfNode:= Ethernet_1); IF Reconfigure.xDone OR Reconfigure.xError THEN Reconfigure(xExecute:= FALSE); END_IF Can someone help me? Thank you. All I am trying is to find a way to change dynamically with code, the IP addresses of my controller (2 ethernet ports).
Last updated: 2023-12-11

Post by manuknecht on High Cycle Times for SoftMotion_PlanningTask when using AxisGroup CODESYS Forge talk (Post)
Hello all I am using an AxisGroup with the Gantry2 Kinematics to move a 2D-Gantry system. When creating the AxisGroup, the SoftMotion_PlanningTask is created automatically with a cycle time of 2 ms in my case. I realized that the maximum cycle time of this task can spike to very high values (up to 60 ms) at lower speeds of the motion, leading to synchronization issues and errors on the axes. The same behaviour - though not as drastic - can be observed with virtual axes too. Is this behaviour intended or to be expected? Can the cycle time or type of the SoftMotion_PlanningTask be changed to prevent these errors? Or is there another fix for this issue? I tried changing the cycle type to Freewheeling, which solved the synchronization issues, but caused an error on the AxisGroup after a while, reading SMC_CP_QUEUE_UNDERRUN. Thanks in advance and best regards Manuel
Last updated: 2024-03-07

Post by squiggleypuff on RemoteTargetVisu creates Unresolved Reference CODESYS Forge talk (Post)
I have a project with a Festo CPX-E-CEC-C1-PN PLC (Run-time version 3.5.12.50) that I have been developing on just fine using Codesys V3.5 SP19 Patch 5 (64bit). I am at the stage where I wanted to use the Festo HMI screen, and have added a RemoteTargetVisu object to my application. After adding this object, I am no longer able to log in to the PLC as I get an Unresolved Reference warning for 'USERMGRUSERGETPROPERTY' towards the end of the download process. I was able to find this post (https://forge.codesys.com/forge/talk/Visualization/thread/fc686a6cb2/) where the two possible solutions are to "set the placeholder to emtpy" or update the runtime. Problem is, I don't know how to do either of these things, as I'm still very green in Codesys land. I'd be happy to update the Festo PLC runtime, as that seems like the better option, but have not had any luck in finding a tutorial for this online. If anyone could point me in the right direction I'd appreciate it.
Last updated: 2024-03-19

Post by wbj0t on mobus tcp slave device. read/write holdings with 2 variables. CODESYS Forge talk (Post)
Hi there. I have an issue to read and set time for the controller. In the issue many registers described as writable by 6/16 functions, and, in this time, also(!) readable! For example: I have time registers: min, hour, day, mon, year. By specifications it is possible check time (so I need always update these varibles in loop) and set time by writing these same registers, BUT how to set, if they will immediatle updated by current time after writing? So, I need to separate one address at two variables. I have seen option mark: Overlay of the process image by the holding and input register. I understand this so: When I READ by function 3, I will get variable that connected with the same INPUT address and when I WRITE by 6/16 this will change second variable that connected with HOLDING address. BUT, this mark doesnt work, when I write 6/16 and try to get by function 3, I will get written value instead INPUT variable. So, what to do?
Last updated: 2024-03-20

Post by danieldiaz on Problem with FB execution CODESYS Forge talk (Post)
Hello everyone, I've been working on a system which needs an error function, with this purpose I've created a FB programmed in LD, after debugging I run the simulation. It seems that the variable linked to a coil doesn't change the value when the contacts are associated to input variables. When I use internal variables the logic works properly. I don't know if the problem is related to the variables definition or with the logic program. As you can see in the image, I1 and I2 are variables declared on the FB, the rest are input variables. If I force the eStop and Reset signals to TRUE the coil value should change, but it doesn't. However in the second network if I1 is TRUE the coil change to TRUE as it has to be. To sum up, my doubt is why that coil doesn't change its value? I would like someone to shed a light on this. Thanks!
Last updated: 2024-04-02

Post by jose-coro on Trouble installing codesys 64 3.5.19.0 CODESYS Forge talk (Post)
I tried to intalling codesys 64 3.5.19.0, during the installation process I get the following messages: "One or more problems have appeared with the current version profile. please consult with the supplier to solve the problem. -The plugin '{ee08241a-dd43-445a-b0a1-de9f717d92e0}(exactly 3.5.19.0)' is required for the current version profile but is not installed. The plug-in '{c7880c90-68c0-4cf8-a726-f0ee72b11f86}(exactly 3.5.19.0)' is required for the current version profile but is not installed. The add-on '{973a3934-1ec6-4770-83a4-59677803015a}(exactly 3.5.19.0)' is required for the current version profile but is not installed. It is recommended to terminate the application." Then the following message appears: "This package could not be installed: CODESYS Compatibility Package 3.5.17.20”. After that the instalation continue and the folling message appears: "It is possible that packages from this path could not be installed: C:\Users...\Appdata\Local\Temp{EFE2F~1}\Packages"
Last updated: 2024-04-23

Post by jose-coro on Trouble installing codesys 64 3.5.19.0 CODESYS Forge talk (Post)
I tried to intalling codesys 64 3.5.19.0, during the installation process I get the following messages: "One or more problems have appeared with the current version profile. please consult with the supplier to solve the problem. -The plugin '{ee08241a-dd43-445a-b0a1-de9f717d92e0}(exactly 3.5.19.0)' is required for the current version profile but is not installed. The plug-in '{c7880c90-68c0-4cf8-a726-f0ee72b11f86}(exactly 3.5.19.0)' is required for the current version profile but is not installed. The add-on '{973a3934-1ec6-4770-83a4-59677803015a}(exactly 3.5.19.0)' is required for the current version profile but is not installed. It is recommended to terminate the application." Then the following message appears: "This package could not be installed: CODESYS Compatibility Package 3.5.17.20”. After that the instalation continue and the folling message appears: "It is possible that packages from this path could not be installed: C:\Users...\Appdata\Local\Temp{EFE2F~1}\Packages"
Last updated: 2024-04-23

Post by phoward131 on Alarm State Icon CODESYS Forge talk (Post)
I am trying to create an icon on an overview screen that depicts if an alarm group has active alarms, active acknowledged alarms, or inactive unacknowledged alarms (waiting for confirmation). I've attempted to set up Notification Actions in the Alarm Class to set variables based on state changes but have been unable to find a clean and effective way to do this. Because an action on any alarm will trigger the variable to be set as instructed, I'm struggling to find a way to configure it for what I need (ie if two alarms activate, then one deactivates, the variable for indicating an alarm is active would be cleared after the single deactivation). I've been pointed toward the Alarm Manager example project but I'm finding it too complicated to understand how to implement it in my own project. Has anyone come up with another good way to indicate the states of alarms or a simpler usage of the Alarm Manager functions?
Last updated: 2024-04-23

Post by rabaggett on CODESYS control for Raspberry Pi 64 SL errors CODESYS Forge talk (Post)
Hi, I am trying to create a project using a raspberry pi, I have added the modules for the Pi and MCP3008. I have encountered som errors that I don't know how to track down. 1. The GPIOs give preprocessor errors, but I read that this does not prevent compiling. This seems to be true. I can build the empty project with no errors. 2. After adding a SPI master and MCP3008, the preprocessor errors double, but seem similar and the project again builds with no errors. 3. I add a DUT and GVL, with a function, and I get the following errors. They remain even if I delete these things. ------ Build started: Application: Device.Application ------- Typify code... [ERROR] crr: C0032: Cannot convert type 'Unknown type: 'ADR(GVL_Io_17160064_c083_41f8_9e53_208be7537753_HPS_7.Io_17160064_c083_41f8_9e53_208be7537753_HPS_7)'' to type 'POINTER TO IoConfigParameter' [ERROR] crr: C0077: Unknown type: 'GVL_Io_17160064_c083_41f8_9e53_208be7537753_HPS_7.Io_17160064_c083_41f8_9e53_208be7537753_HPS_7' [ERROR] crr: C0046: Identifier 'GVL_Io_17160064_c083_41f8_9e53_208be7537753_HPS_7' not defined Compile complete -- 3 errors, 0 warnings I attach the project. What am I doing wrong? Thanks!
Last updated: 2024-05-02

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 nikgind on Codesys Communication Manger - Required information model version exists in the model repository but is not found CODESYS Forge talk (Post)
Hi I am trying to import a custom information model that I created using UA Modeler. I have only added two new methods and two new object types. It is possible to add the information model to the Communication Manager and the two new object types are shown in the Information Model tab. After compiling i get the following error: Communication Manager [Device: PLC Logic: Application]: The information model http://opcfoundation.org/UA/ is required by http://yourorganisation.org/Bsp_3.1/ with a minimal publication date from 15.12.2023 but the device has only a model from 15.09.2021 installed. Probably the information model from 15.09.2021 is missing in the information model repository. The error message does not make sense to me. Should it not be “Probably the information model from 15/12/2023 is missing in the information model repository”? Anyway I have installed the information model from 15/12/2023 but not from 15/09/2021. Which makes the error message even stranger.
Last updated: 2024-06-09

Post by fajean on CODESYS control on RPi starts, shortly runs, then exits CODESYS Forge talk (Post)
I have a Raspberry Pi 4 we have been using for years to run CODESYS for development purposes. I recently have had to re-install the OS (Raspberry OS lite). The only change to the default configuration is not creating the "pi" user during install. I (apparently successfully) installed the 4.10.0.0 control on the Raspberry Pi. We have licences on a dongle. I am able to start the control. systemctl status shows it as running for a little while (exactly, precisely 30 seconds as per my tests, every time), then it becomes exited. I can restart the control, and the same thing happens again. Every time. In the brief moments it is running, I can log in to the PLC. Working fast and restarting the control many times, I have been able to configure users. I have been able to download my application. I have been able to run the application, and stop on a breakpoint. I have been able to connect with the licence manager and confirm the dongle is detected and licences are listed as OK. I see nothing wrong until the service just exits. I have found nothing in the logs. It is like the runtime just terminates with no error code or message after exactly 30 seconds. Any help would be appreciated.
Last updated: 2024-06-13

Post by rmaas on Strange Behavior on Raspberry Pi CODESYS Forge talk (Post)
Hello, what you are seeing is not strange behavior. The problem is that everyting is happening in the same program cycle. After the variable Stepnumber is changed from 10 to 20 for example then you want the program to wait with the next EQ until the next program cycle. Else every EQ will be be true because in every line the variable Stepnumber is increased. When the program arrives (still in the same cycle) at the line with the timer, the Stepnumber has been increased to 30 in the meantime and the timer will allway be ON because even though the variable is written to 10 in this line in the next cycle it starts with 10 and will be 30 again before reaching the timer in line 8. Not very good at explaining stuff but i hope you get the problem. See screenshot below for an example of one way you could solve this...
Last updated: 2024-06-18

Post by xnoop on MBTCP Slave configuration CODESYS Forge talk (Post)
Hello, I use Codesys 3.5 SP18 Patch 4 (64 bit) My Codesys project is composed of several dozen of Modbus TCP Slaves. I want to configure each of them by define : - Modbus TCP Slave Configuration : Name, IPAddress, port - Channels - Mapping I can't afford to configure manually and I need to find automatic way What possibilities does the Codesys offer? 1. I know it possible to use python script to create Modbus TCP Master and Slave. But I don't find anyway to create Channels and Mapping through the API 2. I 've tested to set mapping with file.csv on a Modbus Tcp Slave, but no way to import channels definition from file 3. I 've tried to use PLCOpenXml file. For example I 've create a project with an Ethernet device. I've exported it in PlcOpenXml file. After delete the Ethernet device, I've imported the PlcOpenXml file without success. I've tried the same by creating Modbus TCP Slave. Could you help me to find to good way ? Thanks
Last updated: 2024-06-19

Post by fizzy-bubblech on 3.5 P20 hangs - no response CODESYS Forge talk (Post)
Colleagues, i have the same problems. At the current time, I have to use the new version of the Codesys (3.5.20.10) + Control for Linux SL 4.11.0.0, but it works unstable : theree are a lot of freezes and not-respondings. I tested this on different projects: those that were created in the current version of the project, and those that were migrated from other versions of the development environment. Compiling a project without connecting to a controller is fast enough. The first downloading of the code into the controller, too. But as soon as you need to make edits and download a new code problems begin. Codesys "freezes" at the "Generation code" stage for 15-20 minutes. And only after that time loads the code into the controller. Previously, we used version 3.5.17.60 + Control for Linux SL 4.7.0.0. The process took 1-2 minutes. Do you have any ideas how can i fix it? I will be grateful for your answers.
Last updated: 2024-06-27

Post by jonasz on Deploy LicenseServer for Linux SL CODESYS Forge talk (Post)
So here's how: I manually installed the following packages: codemeter-lite_8.30.6885.501_amd64.deb codesyslicenseserver_licenseserver_4.18.0.0_all.deb codesyswbmbase_wbmbase_4.18.0.0_all.deb codesyswbmlicensing_wbmlicensing_4.18.0.0_all.deb Of course, the license server appeared immediately. Trying to install it again using Install in the Deploy tab, the same error appears. Of course, the information that such a server is already installed is also there. Configuring PLC, S_PLC, EDGE, and SAFE_TIMER_PROVIDER went smoothly, and basically everything works. I wrote a simple program for S_PLC. I'm loading the programs into PLC and S_PLC. When loading the program into S_PLC, a message appears stating that there is no connection to the S_PLC controller. Timeout error. Restart the controller, attempt to load, and see the above. After changing the cycle time for S_PLC to 50ms, the problem no longer occurs. My question, besides the difficulty of installation for a new user, is what causes the cycle time for S_PLC to be so long, and how can I fix it?
Last updated: 2025-11-14

Post by bertus on Can't get SMC_SmoothPath to work CODESYS Forge talk (Post)
Hi Georg, thanks for your time. What is the value of D_ANGLE_TOL? It is set to 0.01. Do you need the assignment bAbort := NOT bDecoder? Does it help to leave it out? This seems to make no difference. Any errors (e.g. SMC_SmoothPath.Error/ErrorID) or PLC log messages? No errors or log messages. What if you comment out SMC_SmoothMerge and SMC_LimtiDynamics, is corner smoothing still not working? Indeed. Is bDecode written from a different task (e.g. visu)? Then I would recommend to assign to a local variable (bDecodeLocal := bDecode) and use that for all FBs. Otherwise, FBs might see different values of bDecode in a single cycle, which will cause problems. It is a local variable, written from a state machine inside this program. But there is new information: During some trial and error, I tried skipping "stage 2: merge short linear segments" (SMC_SmoothMerge). And suddenly it rounds the corners, see attached image. Looking a bit closer, I noticed that (with the original program) after a download (cold start?), it in fact did round the corners, but only once. Ever next cycle in which the NC program was executed, the corners where not rounded. Not sure if there is any relation, but SMC_SmoothMerge is also the only FB which has no bAbort input. Perhaps I need to reset it (or any buffers) by other means?
Last updated: 2025-12-18

Post by clarenced on ERROR: Calling the program "AlarmStorage_Prg" is not allowed from multiple tasks CODESYS Forge talk (Post)
Using codesys v3.5 SP21 Patch 1. We are using Visualization to display alarms. Other then the automatically created AlarmManagerTask, there is no code written to call AlarmStorage_Prg. Any ideas why we would be seeing this error in the log? The runtime actually shutdown. Not sure if that was caused by this error or not. 2025-08-03T02:45:35.444Z, 0x00001012, 4, 0, 0, * ERROR: Calling the program "AlarmStorage_Prg" is not allowed from multiple tasks. 2025-08-03T03:48:15.294Z, 0x00001012, 4, 0, 0, * ERROR: Calling the program "AlarmStorage_Prg" is not allowed from multiple tasks. 2025-08-03T04:38:11.557Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state * We recommend a reboot of the controller now! * 2025-08-03T04:38:11.576Z, 0x0000010f, 8, 1, 0, #### Exception: SysSemEnter - Semaphore deadlock detected - owner thread died [tid:726740] - system may be in an inconsistent state. 2025-08-03T04:38:11.576Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state * We recommend a reboot of the controller now! 2025-08-03T04:38:11.576Z, 0x00000001, 8, 260, 3, #### Exception: HANDLED EXCPT* <excpt>NonContinuable</excpt> in CH_COMM_CYCLE 2025-08-03T04:40:12.308Z, 0x00000001, 1, 0, 35, CODESYS Control shutdown... 2025-08-03T04:40:13.436Z, 0x00000071, 1, 0, 13, Webserver stopped 2025-08-03T04:40:13.437Z, 0x00000114, 2, 1, 0, !!!! Warning: task_signalhandler_exit [MainTask] lost cycles: 14809 2025-08-03T04:40:13.497Z, 0x00000001, 1, 0, 10, [UNLOADED] IEC|Dynamic: <cmp>IecVarAccess</cmp>, <id>0x00001007</id> <ver>3.5.3.64</ver> 2025-08-03T04:40:13.506Z, 0x00000001, 1, 0, 10, [UNLOADED] IEC|Dynamic: <cmp>AlarmMgr</cmp>, <id>0x00001012</id> <ver>4.7.0.0</ver> 2025-08-03T04:40:13.513Z, 0x00000071, 2, 0, 14, !!!! Warning: Unbalanced calls to WebServerRequestRunning/WebServerReleaseRunning 2025-08-03T04:40:13.513Z, 0x00000001, 1, 0, 10, [UNLOADED] IEC|Dynamic: <cmp>IECVisualization</cmp>, <id>0x0000100c</id> <ver>4.7.0.0</ver> 2025-08-03T04:40:13.611Z, 0x00000124, 1, 0, 0, Provider 'AddressSpaceFragment Provider' (version 0x3051500) unregisterd at the OPC UA server. 2025-08-03T04:40:13.611Z, 0x00000124, 1, 0, 0, Provider 'OPC UA for IEC-61131-3' (version 0x3051500) unregisterd at the OPC UA server. 2025-08-03T04:50:17.708Z, 0x00000001, 1, 0, 36, CODESYS Control shutdown done
Last updated: 2025-08-04

Post by alessandro on SysMemCmp SysMemCpy CODESYS Forge talk (Post)
VAR Data1:ARRAY[1..10] OF SINT ; Data2:ARRAY[1..10] OF SINT ; Data3:ARRAY[1..10] OF SINT ; Data4:ARRAY[1..10] OF SINT ; ex_1 : BOOL ; ex_2 : BOOL ; enable : BOOL :=0 ; END_VAR // PROGRAM // The scope of this example is compare and copy the values of two ARRAY only if some value is different using SysMemCmp and SysMemCpy. // In this 2 example we don't use a FOR cicle for do this, and pBuffer1 and pBuffer2 is just a pointer to ARRAY. See details in Library util.SysMem of Codesys // The compare funcion util.SysMem.SysMemCmp is bidirectional if Data1 chanege respect Data2 ex_1 go to 1 and if Data2 change respect Data1 also // but the copy function util.SysMem.SysMemCpy work only from source ARRAY pSrc:=ADR(Data1) to destination ARRAY pDest:=ADR(Data2) // Example 1 Full ARRAY compare and copy // This compare 2 different equal ARRAY and if there is some difference ex_1 go to 1 and if you give enable he copy Data1 in Data2 ex_1 := TO_BOOL(util.SysMem.SysMemCmp(pBuffer1:=ADR(Data1), pBuffer2:=ADR(Data2), udiCount:=SIZEOF(Data1))); IF ex_1 AND enable THEN util.SysMem.SysMemCpy(pDest:=ADR(Data2), pSrc:=ADR(Data1), udiCount:=SIZEOF(Data1)); END_IF // Example 2 Only selected area of the ARRAY compare and copy // This compare 2 different equal ARRAY starting from position number [3] for 4 byte in this case start at position [3] and finish at position number [6] // and if there is some difference only in area [3..6] of the ARRAY ex_2 go to 1 if you give enalbe he copy Data3[3..6] in Data4[3..6] // if something change in other array position[0..2] or [7..10] are ingnored ex_2 := TO_BOOL(util.SysMem.SysMemCmp(pBuffer1:=ADR(Data3[3]), pBuffer2:=ADR(Data4[3]), udiCount:=4)); IF ex_2 AND enable THEN util.SysMem.SysMemCpy(pDest:=ADR(Data4[3]), pSrc:=ADR(Data3[3]), udiCount:=4); END_IF // Attention udiCount input is intended in <byte> in the example 1 I pass to udiCount:=SIZEOF(Data1) for compare and copy the intere ARRAY and // SIZEOF pass the size of intere ARRAY in byte to the function input, in this 2 examples I used variable type SINT each one occupie 1 byte and one position in the ARRAY // and in the example 2 I pass udiCount:=4 for compare and copy only 4 position of Data3/4[3..6] if you want to extend this example and use it for an ARRAY OF WORD // remember that each WORD will occupe 2 byte (16 bit) and you will have to pass udiCount:=SIZEOF(Data1) if you need to compare intere ARRAY example 1 // but need udiCount:=(42) for the example 2 because need to compare and copy 4 word each occupie 2 byte (16 bit). // For REAL (32 bit) need udiCount:=SIZEOF(44) for LREAL or (64 bit) need udiCount:=SIZEOF(416) // a good rule is calculate the dimension of the ARRAY in byte without empty space at the end, multiple of data type number for variable bigger then 8 bit // Example : If you want to create an ARRAY for 5 REAL (32 bit) each occupie 4 byte the correct size is ARRAY[0..19] OF REAL 54=20 position. // NOTE : In the example the position of compare function util.SysMem.SysMemCmp is first and the copy function util.SysMem.SysMemCpy inside the IF is after // in one cycle of the program the two array is compared and if there is some difference and enable are copied. // If you move util.SysMem.SysMemCmp after the IF cycle he will copare the ARRAY in the current cycle but the copy of the value will do in the next cycle.</byte>
Last updated: 2025-10-24

Post by fefefede on Get the numer of day CODESYS Forge talk (Post)
Hello i tro to create a program to turn on or off the air condition in relationship temperature and numer of day. I can't get the number of day. I try this after installing SysTime library but this not work and have this error on debug ------ Build started: Application: Device.Sim.Device.Application ------- Typify code... Generate code... [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0032: Cannot convert type 'Unknown type: 'SysTimeCore(TRUE)'' to type 'TIME' [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0035: Program name, function or function block instance expected instead of 'SysTimeCore' [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0032: Cannot convert type 'Unknown type: 'DayOfWeek(CurrentTime)'' to type 'INT' [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0035: Program name, function or function block instance expected instead of 'DayOfWeek' [INFORMATION] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0181: Related position Build complete -- 4 errors, 0 warnings : No download possible PROGRAM PLC_PRG VAR Temperatura: UDINT; AriaCondizionata: BOOL := FALSE; CurrentDayOfWeek: INT; //Variabile Giorno CurrentTime: TIME; GiornoDellaSettimana: INT; DayOfWeek: INT; END_VAR CurrentTime := SysTimeCore(TRUE); // Ottieni l'ora corrente CurrentDayOfWeek := DayOfWeek(CurrentTime); CASE GiornoDellaSettimana OF 1: // Azioni per Lunedì 2: // Martedì se più 10° accend altrimenti spegni IF Temperatura >= 10 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 3: // Mercoledì se più di 50° accendi altrimenti spegni IF Temperatura >=50 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 4: // Giovedì se più di 40° accendi altrimenti spegni IF Temperatura >=40 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 5: // Venerdì se più di 50° accendi altrimenti spegni IF Temperatura >=50 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 6: // Sabato se più di 25° accendi altrimenti spegni IF Temperatura >=25 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 7: // Domenica sempre spenta AriaCondizionata := FALSE; END_CASE
Last updated: 2023-09-14

Post by rossanoparis on Upgrading CODESYS runtime from v4.7 to v4.9 using a bash script leads to lose the licences stored in the soft container CODESYS Forge talk (Post)
System information - Controller: KUNBUS RevPi CONNECT-S - OS: Linux buster 32bit 5.10.103-rt62-v7l #1 SMP PREEMPT_RT armv7l GNU/Linux - CODESYS v3.5 SP19 Patch 2 I'm facing a problem related to codesys licences using a procedure based on a bash script. Such bash script detect the presence of new .deb files and install them on system. My automation solution don't allow to be maintained by dedicated personal, thus even the CODESYS runtime SW must be installed using an "automatic" procedure instead of using the CODESYS tool. remark I've been using the following procedure since the runtime v4.5 without any issue. Before installing the new runtime packages, I need to copy the file CODESYSControl_User.cfg (here attached) because of new section which is necessary to add in order to allow some folders to be written by CODESYS runtime v4.9 Up to now, this has been unnecessary, this is the main difference between my previos bash file and the new one. remark If I skip this action, everythings goes fine, but my CODESYS application can't work as it needs to access some folders on controller's file system. Process - Before the procedure: the licenses are OK (see attached file lic-01.png) - After the procedure: the new CODESYS runtime version is correctly installed, but the software container with v1.19 and all licences disappear (see attached file lic-02.png) This is the synthetic content of bash script I'm using. # Stop runtime sudo service codesyscontrol stop sudo service codesysedge stop # Move the new CODESYSControl_User.cfg file # New configuraton with folders declared sudo mv -f CODESYSControl_User.cfg /etc # Install runtime package echo N | sudo apt-get install -y --allow-downgrades codesyscontrol_raspberry_4.9.0.0_armhf.deb # Install edge gateway package echo N | sudo apt-get install -y --allow-downgrades codesysedge_edgearmhf_4.9.0.0_armhf.deb # Reboot controller sudo reboot Thanks in advance
Last updated: 2023-09-19

Post by mubeta on Some 'pathetic' errors in SoftMotion program CODESYS Forge talk (Post)
Thank you for your interest. Your answers are in line with what I knew, so at least it comforts me that I did not misinterpret the situation. However, I don't have an exact match as, for this project over the past few days I have: 1) I have gone back to leaving the various FBs of the motion always called, all of them, and in the state machine I use a boolean to activate the various useful Execute. (But in the future I want to go back and try the programming technique with which I wanted to develop this project); 2) For the occasional error: SMC_FB_WASNT_CALLED_DURING_MOTION perhaps it was due to the fact that I had set the Ethercat bus synchronism only at the CAN master level, but not at the level of individual drives. I have now also activated it for the individual drives and it does indeed seem to have been resolved, but having also adopted the programming technique mentioned in point 1), I cannot say whether this was the solution to the problem, or instead the previous point. Is there an error ‘regulator or start not set’ in the device log before the error ‘motion generating FB wasn't called for at least one cycle’? I can't answer that right now. By now the machine is running and I am no longer there, at this one. Also, I seem to remember that the 'fbeFBerror' drive structure (5-element array), does not cycle, BUT ONCE THE 5 EVENTS AFTER SWITCHING ON, IT DOES NOT UPDATE ANYMORE (but that's another issue), so diagnostics were not easy.
Last updated: 2024-07-24

Post by jeffg on ERROR: GetNetLinkSockAndInfoByMac(): could not open netlink socket: Too many open files CODESYS Forge talk (Post)
I just installed codesys runtime on a raspberry pi Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz (Compute Module 4) I am running on Codesys control for raspberry pi 64 SL ver 4.13.0 and I keep getting a crash after about five to ten minutes. This program was running fine on a 32bit system with runtime 4.8 previously but they upgraded the panel PC cause it got smashed. Looking at the logs I see this error "ERROR: GetNetLinkSockAndInfoByMac(): could not open netlink socket: Too many open files" at the time of crash. I do have a UDP socket open for a serial to ethernet adapter and im wondering if maybe its opening a bunch of sockets and while receiving messages, Im not sending anything to the device only receiving. Below is the code used for the UDP VAR // Scale Comm fbPeerServer : NBS.UDP_Peer; ipAddress : NBS.IPv4Address; fbReceive : NBS.UDP_Receive; xPeerActiv : BOOL := TRUE; abyReceive : ARRAY [0..255] OF BYTE; sLastValidReceive : STRING(255); udiIndex : UDINT; END_VAR IF xPeerActiv AND NOT fbPeerServer.xBusy THEN ipAddress.SetInitialValue(ipAddress := gvlSettings.sIPAddres); fbPeerServer(xEnable := TRUE, itfIPAddress := ipAddress, uiPort := gvlSettings.uiPort); END_IF fbPeerServer(); fbReceive(xEnable := fbPeerServer.xBusy, itfPeer := fbPeerServer, pData := ADR(abyReceive), udiSize := SIZEOF(abyReceive)); IF fbReceive.udiCount > 0 THEN IF fbReceive.udiCount < SIZEOF(sLastValidReceive) THEN SysMem.SysMemCpy(pDest := ADR(sLastValidReceive), pSrc := ADR(abyReceive), udiCount := fbReceive.udiCount); // Set End of String sLastValidReceive[fbReceive.udiCount] := 0; END_IF END_IF If anyone as seen this I could really use some help figuring it out. I included the Log report
Last updated: 2024-09-19

<< < 1 .. 26 27 28 29 30 > >> (Page 28 of 30)

Showing results of 747

Sort by relevance or date