Post by bruceae on Ethernet/IP Scan
CODESYS Forge
talk
(Post)
Hello, I have a robot configured as a Generic Ethernet Module under Ethernet/IP Scanner. I can not see the change of state of the outputs coming from the robot on the codesys side in real-time. (The robot has it's own internal program that would changes the values of remote outputs 0-3 off and on). Also when I send data down to the inputs of the robot it doesn't transfer over as expected. As an example I'll send to the robot's input bit 0 a value of 1. It doesn't see that value change. However, when I write that input bit 0 back to a value of 0, the robot changes state and shows a value of 1. And if I change the state of a different bit, the other bits update properly, except for the bit that I changed. Any advice would be greatly appreciated, and if anything else is needed let me know.
Last updated: 2024-09-10
Post by nz-dave on Bool turning on in case stament in wrong state?
CODESYS Forge
talk
(Post)
I had the FB called via a for loop to call a few instances of my FB I have removed it the for loop and just called them 1 by 1. Seems to have sorted the problem. tho, i have other FB's and for loops doing the same thing but they are all fine. below is basically what was happening. var: mVibrator : ARRAY[1..GVL_Settings.Number_Of_Products] OF Main_Vibrator; end_var Controller(PRG) call: FOR v := 1 TO GVL_Settings.Number_Of_Products BY 1 DO; mVibrator[v] (); END_FOR So at state 30: the mVibrator[1].start was turning on 30: Main_Mixer.Start := TRUE; Process_State := 2; IF Main_mixer.Done THEN Main_Mixer.Start := FALSE; Control_State := 40; END_IF but its not till state 50: that it is actual in the code. 50: Main_Suction_valve.Open_Input := TRUE; mVibrator[1].Start := TRUE; Process_State := 4; IF GVL_Weigh_hopper.LoadCell_Weight = 0 THEN Main_Suction_valve.Open_Input := FALSE; mVibrator1.Start := FALSE; Control_State := 60; END_IF Thanks for your input.
Last updated: 2023-12-16
Post by mubeta on Some 'pathetic' errors in SoftMotion program
CODESYS Forge
talk
(Post)
Hello everyone, I have a very simple program for the process, but it's driving me crazy and I can't see the problems I'm left with: Short topological description: Dual Core Berghof controller with softmotion runtime version 3.5.19.30; Two axes with servodrive on canopen bus, clocked distributed from master; Ethercat I/O node; 2 ms ethercat task, 2 ms canopen bus cycle time; I/O objects of the canopen master and canopen drives connected to the ethercat task cycle; Problem 1: Two separate programs each manage their own axis and drive, with separate state machines. A first axis moves primarily in velocity, except having to position itself absolutely at a predetermined point at the end of the job; the second axis, on the other hand, is a paper unwinder that changes, for each job cycle, from actions in absolute, relative, and cam displacement with the master axis. Well, the state machine of both axes was written in such a way as to call running the useful FB and change it on state change in this way: CASE i_stateMachine OF 0: o_Power(Enable := TRUE, bRegulatorOn := FALSE, bDriveStart := FALSE, Axis := o_PaperUnwinderAxis); o_MoveAbs(Execute := FALSE, Axis := o_PaperUnwinderAxis); o_MoveRel(Execute := FALSE, Axis := o_PaperUnwinderAxis); o_CamSelect(Execute := FALSE, Master := o_MachineAxis, Slave := o_PaperUnwinderAxis, CamTable := cam_PaperUnwinder); o_CamIn(Execute := FALSE, Master := MachineEncoder, Slave := o_PaperUnwinderAxis); o_CamOut(Execute := FALSE, Slave := o_PaperUnwinderAxis); o_SetPosition(Execute := FALSE, Axis := o_PaperUnwinderAxis); IF ... THEN i_StateMachine := 10; END_IF; 10: o_Power( Enable := TRUE, bRegulatorOn := TRUE, bDriveStart := TRUE, Axis := o_PaperUnwinderAxis ); IF o_Power.Status THEN i_StateMachine := 20; END_IF; 20: (* Avanzamento carta *) o_MoveAbs( Execute := TRUE, Position := o_Somewhere, Velocity := 25.0, Acceleration := 3666.7, Deceleration := 3666.7, Jerk := 48000.0, Direction := MC_DIRECTION.positive, Axis := o_PaperUnwinderAxis ); IF o_MoveAbs.Done THEN o_MoveAbs(Execute := FALSE, Axis := o_PaperUnwinderAxis); i_StateMachine := 30; END_IF 30: d_HomingPosition := ...; o_SetPosition( Execute := TRUE, Position := d_HomingPosition, Mode := FALSE, Axis := o_PaperUnwinderAxis ); (* ... *) IF o_SetPosition.Done = TRUE THEN o_SetPosition(Execute := FALSE, Axis := o_PaperUnwinderAxis ); o_LogServer.Append(sMessage := '...', lscClass := LOGSERVER_CLASS.ALWAYS, sdt := o_CommonsMgrData.systime.sdtLocal); i_StateMachine := 40; END_IF; 50: ... The code above is a sketchy example of what I wanted to write. But it gives me a spot problem: in some, the state change results in a drive error, which is unrecoverable except with a reinitialization via SM3_ReinitDrive(). Things are improved a little if in the program I always run the call of all softmotion blocks in this way: o_Power(Axis := o_PaperUnwinderAxis); o_Jog(Axis := o_PaperUnwinderAxis); o_Halt(Axis := o_PaperUnwinderAxis); o_MoveAbs(Axis := o_PaperUnwinderAxis); o_MoveRel(Axis := o_PaperUnwinderAxis); o_CamIn(Master := MachineEncoder, Slave := o_PaperUnwinderAxis); o_CamOut(Slave := o_PaperUnwinderAxis); If I don't execute all the calls of all the motion FBs used, when exchanging machine state often (but not always), the axis goes into error with event id THE_FB_WASNT_CALL... Done a little diagnostics it seems that the FBs return the bDone, before they are completely terminated. I tried doing the machine state exchange not with the bDone bit of the FBs, but with the 'standstill' state of the axis. It didn't seem to change anything. Problem 2: During the use SM3_ReinitDrive() I get the erro in the log: "NetID 0: SDO read error for object 16#607C..." Assuming that the device involved it's one of the two servodrive, (no others device are present in the network), I don't found any object 0x607C in the 'possible object list in/out' of the two drive, and I don't understand where this object can be listed. So any ideas and suggestions regarding these two issues will be very, very welcome. If you need the source project, I am willing to send it.
Last updated: 2024-07-17
Post by e60newbie on Alarmtabelle Historie
CODESYS Forge
talk
(Post)
Hallo Forumsgemeinde, ich stehe vor einem Problemchen wo ich keine Lösung finde. Folgendes: wir haben ein HMI an einer Mobilen Arbeitsmaschine wo sämtliche Fehler in der SPS (nicht im HMI) resettiert werden und im HMI alle als "REP" definiert sind, also selbstresetierend wenn das "Auslösesignal" entfernt wird. Soweit so gut. Nun wenn der Kunde die Maschine mit einem Aktiven Alarm ausschaltet, auch das HMI, bleiben die Fehler in der Historie als aktiv hinterlegt. Es gibt hierzu keine möglichkeit diese zu Quittieren? Sieht eben etwas unschön aus wenn da Fehler als aktiv anzgezeigt werden die uralt sind.
Last updated: 2024-07-17
Post by critcho on WebVisu Numpad dialog - Dialogtitle not accepting string variable
CODESYS Forge
talk
(Post)
I have a WebVisu page which is re-used for multiple types of gas; it displays the alarm thresholds etc. for one gas at a time. I have an array of structures holding the set-points for each of the gasses. I'm trying to change the dialog title for the value input pop-up (VisuDialogs.Numpad). The Dialogtitle is set to Gas_Alarms.HighAlarmActivationLevelDialog, which is a string(50): When the gas type is changed (page first loaded, or prev/next buttons), METHOD Gas_Alarms.Update_Display_Variables is called, to update the strings used for the dialog titles so it shows GasName High Alarm Activation Level (EngineeringUnits), e.g. CO2 High Alarm Activation Level (PPM): HighAlarmActivationLevelDialog := Insert(' High Alarm Activation Level ()', EngineeringUnits, 30); HighAlarmActivationLevelDialog := Insert(HighAlarmActivationLevelDialog, GasName, 0); (That's not where the problem is, I'm just explaining why I'm using a variable dialogue title.) The variables used are definitely strings, but i'm always getting the error: "The type of the dialog title must be either STRING or WSTRING". I've tried moving HighAlarmActivationLevelDialog etc. to the GVL and also changing them to WSTRING, I even tried adding them to the structure array, but I always get the same error. Clearing the dialog title for that element removes the error - so I'm confident it's not a phantom error caused by something else. But I should be able to add these titles, can't just nuke them all to make it work. The MinVal and MaxVal for the Numpad are called from the array, e.g. GVL.Gas_Alarm_Configs[0].ScaledValueMIN, they are not getting an error. I am using array indexes 1 - 5 for the gasses, when I load the form or change gas, I copy the selected index to index 0 of the array, and values from Gas_Alarm_Configs[0].[ALL] are displayed on the page. When they hit save, I copy Gas_Alarm_Configs[0].[ALL] to Gas_Alarm_Configs[CurrentGasIndex].[ALL]. (ALL just means every element, I can't figure out how to display an asterix in this question... :) ) I've searched online for variable title dialog, but not found anything to help. Thanks for your help!
Last updated: 2025-05-29
Post by tk096 on Some 'pathetic' errors in SoftMotion program
CODESYS Forge
talk
(Post)
Meanwhile, I would like to understand why the motion FB instances must still be called even after the Execute is set to FALSE, especially in view of the fact that the next instruction is programmed to abort the previous one, with BufferMode set to 'Aborting'. All these unnecessary FB calls are an unnecessary overhead on the CPU anyway. Is there any precise rule about when to cease calling the various instances? (It should precisely be the 'done' status that says this one has finished its work). In general: - Motion function blocks have to be called until they report 'Done', 'Error', 'CommandAborted' or a subsequent motion FB with BufferMode=Aborting is started in the current cycle. - Setting the Execute input to FALSE will not abort any ongoing motion of the motion function block. For example, one case that is often problematic is the execution of the Axis Halt instruction. When, after a MoveAbosulte instruction this returns the event as 'done' and indeed the axis is in standstill, the state machine first sets the move instruction to FALSE, and the next cycle sets the Halt request to TRUE. Some of the time everything works out fine. Occasionally, however, in this exchange, the axis goes into fault, also losing the OPERATIONAL state. I think the error SMC_FB_WASNT_CALLED_DURING_MOTION is only a follow-up (and misleading) error that results from the axis not being in operational state anymore (bus problems). 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'? Which error does the respective function block (Halt.ErrorId) report?
Last updated: 2024-07-22
Post by mrbartpawlowski on OMAC PackML library 1.0.04
CODESYS Forge
talk
(Post)
Hello all, Can someone point me to the OMAC PackML State Machine library documentation, I can't find any description of the block functionality ? I was looking into https://content.helpme-codesys.com/en/libs/index.html but there's no PackML there. I'm new to Codesys and don't know if I'm doing something wrong here ? In library tab in codesys whenever I want to see documentation I'm getting an error. Regards Bart
Last updated: 2024-08-15
Post by mrbartpawlowski on OMAC PackML library 1.0.04
CODESYS Forge
talk
(Post)
Hello all, Can someone point me to the OMAC PackML State Machine library documentation, I can't find any description of the block functionality ? I was looking into https://content.helpme-codesys.com/en/libs/index.html but there's no PackML there. I'm new to Codesys and don't know if I'm doing something wrong here ? In library tab in codesys whenever I want to see documentation I'm getting an error. Regards Bart
Last updated: 2024-08-15
Post by imdatatas on Use MC_Home without enabling the drive for homing method 35
CODESYS Forge
talk
(Post)
Hello, As far as I know, no matter which home mode is selected, the axis must be in Standstill mode to run MC_Home according to PLCopen state machine. However, if the function you want can already be done from a parameter in the driver of the vendor you are using, you can try to perform the same function by sending the required value to that parameter via communication with the SDO write command. Regards, Imdat
Last updated: 2025-06-25
Post by astutoski on MCP23017: inputs OK, but outputs won’t switch (CODESYS on Raspberry Pi)
CODESYS Forge
talk
(Post)
Hi everyone, I’ve connected and configured an MCP23017 over I²C on a Raspberry Pi using the available CODESYS/RPi library. Input reading works fine (I can reliably read a digital input). However, I can’t get any output pin to change state. Example: when I try to drive PB0, the watch shows MCP23017.Out_B.0 = TRUE (1), but there is no actual output on the pin (no voltage change). Anyone solved this?
Last updated: 2025-09-17
Post by nz-dave on Bool turning on in case stament in wrong state?
CODESYS Forge
talk
(Post)
I have a case statement running a process. during one of the steps it has started calling a bool var that is 2 steps further on in the case? i have even tried //commenting it out but it still turns on at the same point in the case. i have also run a trace but cant see anything that would trigger it. Any Ideas? Cheers
Last updated: 2023-12-15
Post by nathant on Some visualization objects disappear when user is logged in?
CODESYS Forge
talk
(Post)
I am deploying a webvisu on Codesys 3.5 SP 19.2 with legacy user management. I noticed that when a user logs in, some text and a rectangle I have (for aesthetics) both disappear. I made sure that none of the objects in question are linked to a state variable. Anyone know the cause/solution to this? Nothing crucial to the machine's function is lost, but it is a little annoying.
Last updated: 2023-12-15
Post by wiresplus on Cannot get INT_TO_TIME working
CODESYS Forge
talk
(Post)
Hello, I have a simple TON timer. It is watching prime loss for a pump. The operator can set the delay via the HMI, it is an integer (seconds) As the TON uses milliseconds, we then multiply the entry by 1000 to get seconds. Seems simple, but... VAR PrimeTimer : TON; primetime : INT; END_VAR PrimeTimer(in:=State>0 AND FlowRate<MinimumFlow,pt:=INT_TO_TIME(primetime *1000)); For an entered 15 seconds (VAR primetime:=15;) the timer reads 49d17h2m26s760ms !!!! What am I doing wrong?
Last updated: 2024-01-26
Post by joep on Custom robotics kinematics model debugging
CODESYS Forge
talk
(Post)
When trying to move my axis using any group move instruction I get the following error: SMC_CP_INVALID_PATH_ELEM and axisgroup goes into errorstop state. I tested my methods thoroughly which makes it hard for me to debug. Are there some hidden rules I need to abide to? How would one go about debugging a custom robotics model, since the information inside isn't accesible. Is it possible to find the source of where the function breaks? Any hint in the right direction would be appreciated. Best regards
Last updated: 2024-06-08
Post by seler on Custom button with output status
CODESYS Forge
talk
(Post)
Just to clarify. Output for lamp will have two inputs: from plc IN (wall switch) and from visu button. Until now I had separate object for visu button and separate for visu lamp. Now I want it to be one object, bulb icone which will change color on lamp status and yet by touching it will change visu button state. Tried "Switch Image" object but there is no way to assign switch var.
Last updated: 7 days ago
Post by sturmghost on Mimic behavior of the visualization button element with a custom button
CODESYS Forge
talk
(Post)
Im wondering how Codesys is doing the mouse event capturing with their visualization button element? If you add such a button without configuring any input configuration event (like OnMouseDown) or button state variable and then click on the button, the button changes to the visual pressed state and back if you release the button (so they must react to an OnMouseDown event). But how? If I try to mimic this behavior with my custom button visualization element (like a basic rectangle) I need to use an input configuration event to change the color of the button (to make it look like the button was pressed on OnMouseDown event). When I try to add this button via a Frame-Element to my main visualization page I'm unable to use an input configuration event on the Frame-Element because the input configuration event on the button element won't be evaluated anymore (it seems like you can't stack input fields, e.g. invisible input elements, onto each other). Hence the button is not shown pressed anymore. How they do it?
Last updated: 2024-08-04
Post by marsmaennchen on MQTT,mehrere Topics publish/subscribe
CODESYS Forge
talk
(Post)
Hallo zusammen, ich habe im Grunde dieselbe Frage wie in diesem Thread: https://forge.codesys.com/forge/talk/Deutsch/thread/85372a6daf/ Leider hat der Threadersteller das Problem selbst gelöst, ohne seine Lösung zu teilen. Mein Setup: Ich möchte von einer WAGO PFC200 Daten per MQTT an HomeAssistant übertragen. Die Grundkommunikation steht bereits. Angenommen, man hat 50 Lichtschalter und 50 Lampen. Wie ist das übliche Vorgehen, um 50 einzelne Bool-Werte (Lichtschalter ein/aus) effizient zu übertragen? Ich finde einfach kein Beispiel, das ich als Vorlage nutzen könnte. Muss wirklich für jeden Lichtschalter ein eigenes MQTT-Topic und somit ein eigener Baustein in CODESYS angelegt werden? Also z. B. Topic/LS1/state, Topic/LS2/state usw.? Oder gibt es eine gängige, professionellere Methode, mehrere Schalter effizient zu übertragen? Zur Eingrenzung: Ich nutze die CODESYS IIoT Libraries, da die Janz Tec MQTT Library für mich bisher zu komplex ist. Kann mir jemand bitte erklären, wie Profis so etwas lösen? Vielen Dank schon mal für eure Tipps! Gruß Patrick
Last updated: 2025-10-10
Post by orbis-tertius on 3.5 P20 hangs - no response
CODESYS Forge
talk
(Post)
Is there anybody can help me with the same problem? I have to migrate created project in ver.3.5.17.0 32BIT with runtime 4.7.0 to ver.3.5.20.0 64BIT with runtime 4.7.11.0 due to the new license. All the libraries and dependencies are updaded and there are no any errors. The first compilation and loading to the controller is being compleated well. After this being done and if I am forced to change any values or change any code in the current project, another compilation will be freezed. This problem can be solved if pressed Build/cleen or cleen all. There is another method to solve this; if project is loaded with excluded object (Alarm Configuration), repeated compilations will be done well.
Last updated: 2024-06-27
Post by malie on 3.5.19.7 Alarme importieren in Gruppe funktioniert nicht
CODESYS Forge
talk
(Post)
Hallo, ich hab das Problem eine Alarmliste nachdem exportieren mit oder ohne Eweiterung der Liste wird nicht wieder importiert. Unter Meldungen "Import von Alarmen" steht: "Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.(Zeile 0, Spalte 0)" "Import der Alarme erfolgreich abgeschlossen" Es erscheinen aber nirgends die Alarme, in vorherigen Versionen hat das immer ohne Probleme geklappt. Auch ein ändern der ID und der anderen Spalten, hinzufügen und entfernen von Spalten hat leider nicht geklappt. Selbst wenn ich eine Zeile in der Alarmgruppe erstelle die Funktioniert, diese exportiere, die Zeile lösche und wieder importiere kommen immer die gleichen Meldungen und kein Alarm wird importiert. Ich hab die Funktion schon länger nicht mehr gebraucht, deshalb kann ich nicht sagen seit welcher CoDeSys Version die Funktion nicht mehr funktioniert. Hat hier jemand eine Lösung? Gruß Max
Last updated: 2025-02-06
Post by bschraud on runtime received SIGABRT
CODESYS Forge
talk
(Post)
Hallo, seit der Umstellung meines Projektes auf die aktuelle Codesys Version mit aktuellen Bibliotheken und Aktualisierung der Runtimer Version bekomme ich im Zeitraum 15min bis 1h nach Neustart des Target Systems folgende Fehlermeldung: runtime received SIGABRT - system may be in an inconsistent state Der Fehler kommt auch nach dem Start des Systems ohne eine Benutzeraktion zuverlässig, aber in unterschiedlichen Zeiträumern. Hier sind die Logs und Daten, die ich dazu ermitteln konnte: $ tail -f /var/opt/codesys/codesyscontrol.log 2025-04-03T06:54:37.659Z, 0x0000100c, 1, 0, 0, Visu_PRG: Creating Client for Extern-ID: 594337835 2025-04-03T06:54:37.660Z, 0x0000100c, 1, 0, 0, Visu_PRG: Creating Client successful for Extern-ID: 594337835 Returned IEC-ID: 0 2025-04-03T07:01:38.135Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state * We recommend a reboot of the controller now! 2025-04-03T07:01:38.135Z, 0x00000111, 8, 260, 3, #### Exception: HANDLED EXCPT* <excpt>NonContinuable</excpt> in CH_COMM_CYCLE 2025-04-03T07:02:18.181Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state * We recommend a reboot of the controller now! 2025-04-03T07:02:18.181Z, 0x00000111, 8, 260, 3, #### Exception: HANDLED EXCPT* <excpt>NonContinuable</excpt> in CH_COMM_CYCLE $ vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 271120 33976 342284 0 0 135 2 2387 4751 10 7 82 1 0 1 0 0 271024 33976 342380 0 0 0 0 10163 20427 10 9 81 0 0 1 0 0 271056 33976 342380 0 0 0 0 8455 16869 9 5 86 0 0 0 0 0 271040 33976 342380 0 0 0 0 8674 17484 9 4 87 0 0 0 0 0 271072 33976 342380 0 0 0 0 10070 20350 7 7 87 0 0 1 0 0 271040 33976 342380 0 0 0 0 10354 20802 10 6 84 0 0 0 0 0 271072 33976 342380 0 0 0 0 8401 16923 8 6 86 0 0 $ vcgencmd measure_temp temp=56.9'C $ uname -a Linux PAC4 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux CODESYS V3.5 SP21 Runtime: Codesys control for Raspberry Pi MC SL V 4.13.0.0 Hinweise auf ein instabiles OS oder instabile Netzwerkverbindungen konnte ich keine finden. In dmesg und im syslog gibt es keine Auffälligkeiten. Die anderen Posts zu diesem Thema wurden nicht beantwortet. Hat jemand einen Tip, wie man an das Problem herangehen kann? Vielen Dank
Last updated: 2025-04-03
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 bahrt on Mapping GPIO and adding GPIO configurations
CODESYS Forge
talk
(Post)
Hi I am about to configure ALL GPIOs on a Raspberry Pi 3 model B V1.2. It seems that I have limited understanding of why not all the IO’s become available with the corresponding mapped IO’s – the 'dwInUse' contains mapping of the inputs from GPIO0 to GPIO27. But 'dwInputs' are only showing GPIO0 to GPIO8 and GPIO15 as available inputs. These mentioned inputs work fine You will be able to watch the limited mapped IO activity here: https://drive.google.com/file/d/1zz4PBNBfRZBF2YkiJ2VQxw6L9MBVji7R/view?usp=sharing Can you please bring your best idea on why GPIO09 to GPIO14 and GPIO16 to GPIO27 state are zero in the dwInputs register? Thanks in advance. Best regards Andreas Bahrt
Last updated: 2023-11-16
Post by dsa28 on OPC UA subscriber not operational
CODESYS Forge
talk
(Post)
Hello All, Hopefully I can get some help configuring an OPC UA subscriber in a CODESYS runtime in a Raspberry Pi 5 that tries to retrieve data from an OPC UA publisher (in this case running in a TwinCAT system). I tried to follow the steps described in the page to implement the OPC UA subscriber: https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_opcua_pubsub.html Seems that the example provided was created with version 3.5.16.0. Now with version 3.5.20.20 is not possible to open the complete project neither convert it. Anyway, after configuring all IPs and ports used in the OPC UA connection function block but the connection state always shows DISABLED. Can someone help me to do the proper configuration of the OPC UA subscriber? Many thanks in advance.
Last updated: 2024-10-22
Post by trent on Automation server - trends stop recording - need to manually reconnect
CODESYS Forge
talk
(Post)
Hi All, I use the analysis page in automation server to capture historical trends from my PLC - i only sample one point per hour but it does the job (for now) One issue I have is I often log on to analysis page to find the system has stopped recording trends from my PLC. To fix this, I need to choose "state information" in the "List view" under PLC and click "Reconnect" When I do this I see my variables listed under "parameters" under "PLC Details" start updating again and the trend in Data analyzer continues to update. My Question, Why do I need to manually reconnect? Is there a way to get automation server to automatically reconnect to the PLC so I continue to capture data from the PLC? Regards, Trent
Last updated: 2024-10-22
Post by eozupek on File Transfer Error 4
CODESYS Forge
talk
(Post)
I couldn't exactly solve the file transfer when I wanted to do multiple transfers while the compiler was open in a way that I couldn't understand. Notification from target: runtime received SIGABRT - system may be in an inconsistent state * We recommend a reboot of the controller now! * details of the target component that sent this notification: [CmpName=SysExcept, CmpId=0x00000103, ClassID=0X0001008, ErrorID=0X00000001, InfoID= 0X0000000j] I see the warning. I couldn't find out why error code 4 is coming or what kind of measures I need to take to prevent it from coming within the application. Can you help me? regards Emre OZUPEK
Last updated: 2024-11-24
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.