Post by trusty-squire on Display Units/Scale on Path3D visualization
CODESYS Forge
talk
(Post)
Hi, Is it possible to display the units along the X,Y axis of the Path3D element? It correctly shows the CNC path to be followed, but there's no indication of scale or size of what's being displayed. I looked at the documentation and my first inclination is that this is not possible, and the option option would be to somehow recreate the Path3D functionality into the XY Chart visu element - which is not ideal. Any suggestions or pointers would be appreciated!
Last updated: 2024-11-08
Post by mae-rex on Anzeige von gelatchten Werten im Alarmmanager in anderen Zahlenformat
CODESYS Forge
talk
(Post)
Hallo, ich möchte den Alarmmanager verwenden und dabei einen generischen Fehlereintrag für meine Subkomponenten haben. Diese haben im allgemeinen einen Fehlercode, der hexadezimal dokumentiert ist und somit für den Anwender auch in der Form am sinnvollsten ist. Daher meine Frage: Gibt es eine Möglichkeit den Fehlertext in der Alarmkonfiguration wie folgt (in der Funktionalität) anzupassen: "Komponentenfehler hex(<latch1>)" oder wie auch immer.</latch1> Grüße
Last updated: 2024-11-11
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: 2024-11-12
Post by durallymax on Access Variable Visu Dialog
CODESYS Forge
talk
(Post)
Is there a way to access the variable in the called dialog? Example: Text Field element with PLC_PRG.myVar as Text variable. OnMouseClick configured to write variable with keypad pop-up. OnValueChanged configured to Execute ST RND(PLC_PRG.myVar,2); Rather than change myVar with each copy of this Text Field, is there a way to access whatever the configured text variable is? Generally try to stay away from ST in visu, but was curious regardless.
Last updated: 2024-11-14
Post by garrian on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
Thanks for your reply. I belive it is contiguous, I'm writing to adress 0 to 4. Or, do you mean something else? Well, something is happening. If I on the client set adress 1,2,3 to true, only 1 is set to true on the server side. On the client side, the data is array of word. But on the server side, the coils are array of bool. Holding register is array of word on server side. Can this be a problem? Attached screenshot of how it looks at the server side.
Last updated: 2024-11-17
Post by garrian on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
Thanks! As far as I can see, the client can only send words. And on the server side there are an array for each of the functions: bool for coil and discrete, word for holding and input registers. I assume I can use holding register, then use bit mapping on the words instead of coils. But I really want to use the FC15/coils.
Last updated: 2024-11-17
Post by astrum on SPS Shell Commands im Projekt einbinden
CODESYS Forge
talk
(Post)
Hallo zusammen, gebe es den die Möglichkeit SPS Shell Commands wie "Cert-Import" ins Programm einzubinden? ich habe versucht meine OPC UA Zertifikate über die sysFile Bibliothek vom Quarantäne zu vertrauenswürdig zu kopieren, was auch geklappt hat, aber das Zertifikat wird erst erkannt wenn ich die Steuerung neu starte. Ich habe mitbekommen das, dass mit der cmpPlcShell Bibliothek funktionieren soll, leider blicke ich bei der Beschreibung nicht durch. Hat da jemand eine Idee ?
Last updated: 2024-11-19
Post by ph0010421 on Task time too fast?
CODESYS Forge
talk
(Post)
Hello I've made an FB which is a TCP server. It uses the excellent CAA NetServices library. If I have the FB in a task <4ms, then the RT crashes immediately at boot up. If the task >=4ms, it starts and runs perfectly. This is even if the block is not doing anything; just instantiated. Am I missing something silly? Why would a low task time cause this? 4ms is perfectly adequate, but I'm just interested why... thanks PH
Last updated: 2024-11-27
Post by selim on Need help to get RS-485 signal in Cosesys .
CODESYS Forge
talk
(Post)
Hello Mr./Ms., I invested Raspberry Pi lot of time to get the output from the raspberry PI5. But, i did not get the signal. I use a raspberry pi 5> RS485 can hat > Modbus RTU, Industrial 8-ch analog acquisition module >weight transmitter jy-s60> S-load cell. I did not able to receive the signal from Modbus RTU to Raspberry PI5 where I use the RS 485 serial connection.
Last updated: 2024-12-01
Post by amy123 on JSON Utilities ENUM to STRING
CODESYS Forge
talk
(Post)
Hello, Is it possible to get the string returned from the ENUM JSONType? I read that with regular enumerations you can add '{attribute 'to_string'}' and access it. However, this is from the compiled library, so I can not add that attribute. When I try to use TO_STRING(JSONType) it returns the integer as a string. Ex. jsonType :=TO_STRING(pJSONData^._aJSONData[i].eType); gives '8' instead of NONE Thanks!
Last updated: 2024-12-09
Post by pmanuele on Beckhoff AS1060 and EL7041 configuration
CODESYS Forge
talk
(Post)
Hello everyone, i'm having some problems commanding AS1060 step motor with EL7041 (rev22) drive. With motor i've also the incremental encoder (05.2420.1230.0200.5009). I can correctly move the motor in "Position controller" operating mode with the internal counter. The problems start when i set the Encoder in feedback type or i change the operating mode. Does anyone have experience with these two terminals and can give me some advice of main parameters to check or change? Thanks everyone
Last updated: 2024-12-11
Post by aliazzz on Runtime licenses not detected => DEMO Mode 2hour
CODESYS Forge
talk
(Post)
Hi! After upgrading all my licensed runtimes to V4.14.0.0 (= RaspberryPi SL, LinuxSL and ControlWin x64 SL) I found out via the logfiles they all defaulted back into DEMO mode while all runtimes have a USB dongle inserted. So, my main question is how I can get the Dongle license detected? I use License Server 4.14.0.0 and Edge Gateway 4.14.0.0 on all platforms Any suggestions are welcome.
Last updated: 2024-12-15
Post by bruno-roth on Read "Homed" status from EtherCAT drive
CODESYS Forge
talk
(Post)
Hello, the information if your axis is already homed you could only find out direct from your Slave. In DS402 status there is no Bit defined. But some manufacturer of Drives use some optional bits or status. E.g. if you have Schneider Electric LXM32 Servo you will find this information in Bit 15. You have to check the manual of your used Servo-Drive f this information is provided in any object and then read it out with SDO.
Last updated: 2025-01-08
Post by teichhei on The selected container ... does not fit your ticket
CODESYS Forge
talk
(Post)
Update, installed 3.5.19.70 with the same result. The error message is as useful as a chocolate fire guard. The container SN is in the 130-xxx range which should work. The Version, Chip, Rev number don't mean anything to me. There is no SD Card installed. I've also reinstalled a fresh Wago FW22 image, Deployed PFC200 SL and Edge for Linux, still the same result.
Last updated: 2025-01-09
Post by mubeta on Strange problem with the ‘MC_SetPosition’ function
CODESYS Forge
talk
(Post)
No errors in any condition. The function terminate correctly with the 'done' bit. Now I leave the machine and I don't know when I will be there again. The assumption you made I had considered. The operational limits of the axis are all fit for purpose, and this function should operate virtually without even noticing the motion limits. In fact in practice with the axis at low speed the function corrects any numerical value of the position in the range 0 ... 360° without any problem whatsoever in a single PLC scan cycle.
Last updated: 2025-01-10
Post by andrebrandt on BACnet dynamic create bacnet object
CODESYS Forge
talk
(Post)
Hi. I want to create a FB with bacnet objects. FUNCTION_BLOCK PT1000 VAR_INPUT System: STRING; In: REAL; Name:STRING; END_VAR VAR_OUTPUT Out: REAL; Out_St: Struct_PT1000; END_VAR VAR {attribute 'instance-path'} {attribute 'noinit'} Tag: STRING; Instance:DINT; //AnalogInn : WagoSysBACnet.FbAnalogInput_large(1); This works. Objectname is AnalogInn. identifier is 1 END_VAR I want to name object based on FB PT1000. In FB P1000, I want to write eUnits, Name and so on. How can i do this???
Last updated: 2025-01-15
Post by ph0010421 on Help with __SYSTEM.VAR_INFO
CODESYS Forge
talk
(Post)
hi all I have a FB with IN/OUT variable. Inside the FB, I want to get the address of the IN/OUT variable. If I use __SYSTEM.VAR_INFO, I get the address of the FB copy rather than 'external' variable. VAR_IN_OUT MyVar: bool; END_VAR VAR Info: __SYSTEM.VAR_INFO; END_VAR Info := __VARINFO(MyVar); This give me the address of MyVar but I actually want the address of the variable passed to MyVar Any clues please?? thanks, ph
Last updated: 2025-01-24
Post by andre-luis on Device diagnosis ( EtherCAT IO card )
CODESYS Forge
talk
(Post)
Hi, In our project, it is not rare to have I/O cards issues. I wanted to have a way to check their statuses ( Eg. INIT, OP, PREOP, etc.. ) I was trying to use the GetDeviceDiagnosisInfo method from the IoConfig_Globals, but there is no info available on the Web with a simple example; does someone have a link to some tutorial or anything else ? Kind Regards, Andre.
Last updated: 2025-02-06
Post by andre-luis on Device diagnosis ( EtherCAT IO card )
CODESYS Forge
talk
(Post)
Hi @TimvH, In the meantime, I did some experiments and could find a way to achieve similar result. I made some tests, removing the last card from the array, seeing the change on status. PROGRAM P_IOS_STATUSES VAR devStateInput : DEVICE_STATE; devStateOutput : DEVICE_STATE; devStateEncoder : DEVICE_STATE; END_VAR devStateInput := IoConfig_Globals.EL1819.GetDeviceState(); devStateOutput := IoConfig_Globals.EL2809.GetDeviceState(); devStateEncoder := IoConfig_Globals.EL5151.GetDeviceState(); GVL.bInputCardOK := ( devStateInput = DEVICE_STATE.RUNNING ); GVL.bOutputCardOK := ( devStateOutput = DEVICE_STATE.RUNNING ); GVL.bEncoderCardOK := ( devStateEncoder = DEVICE_STATE.RUNNING ); Many thanks for your quick and extensive reply.
Last updated: 2025-02-06
Post by dogulas on Removing a symbol from the IEC Symbols Editor grid
CODESYS Forge
talk
(Post)
Right now when I make a change to one of the tags in my code, I have to completely remove the IEC Symbol Publishing object from the tree view and re-add it. Then I have to completely re-add every symbol to the grid view by dragging them over. This can be a lot. Surely, this is not the intended behavior. Can anyone tell me how this is supposed to work?
Last updated: 2025-02-11
Post by dogulas on Removing a symbol from the IEC Symbols Editor grid
CODESYS Forge
talk
(Post)
gatto, That works. Thanks. Typically I use my mouse more than my keyboard. That's why I was looking for a delete option from the right-click context menu or a delete button on a toolbar at the top. It never occured to me to use the keyboard. It might be a little more user friendly if they allowed a mouse wise ability to remove a line from the grid as well as the DEL key. Just a suggestion. Thanks for your help.
Last updated: 2025-02-13
Post by mondinmr on Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Post)
In reality, other vendors are already moving towards integration with VS Code. B&R, for example, is likely the only one that could truly challenge Codesys in the market: they’ve overhauled their once-archaic environment (previously lacking ST OOP) and are now catching up significantly with Automation Studio Code, offering modern programming capabilities and native support for tools like Git and GitHub Copilot. The other big names in the market, frankly, are still light years behind. For smaller projects, typically handled by “wire strippers” (with all due respect!), a classic environment might be just fine. But once you’re dealing with thousands or even millions of lines of code—possibly organized in an OOP paradigm, spanning large teams, integrating third-party libraries, requiring version control, and performing comprehensive tests—a lightweight, responsive editor supercharged with AI-based features becomes essential. The real strength of something like VS Code lies in its vast ecosystem of extensions and integrations: from advanced Git support to automated build/test pipelines, and even AI-assisted autocompletion that already makes software development much more agile and productive. I understand that a PLC project involves more than just ST code (task setup, fieldbus configuration, libraries, etc.). However, there’s no technical reason not to at least provide ST files in a pure text format, making version control and collaboration far easier. B&R has clearly adopted this approach; I hope Codesys will accelerate its own efforts to offer a native, text-based integration and modern development tooling. Once you go beyond a certain level of complexity—dozens of configurations, OOP hierarchies, and distributed teams—you really do need “engineer-level” software tools, not just solutions targeting “wire strippers.” For large-scale automation projects, a more open and flexible approach is the only way to avoid chronic frustration. Let me emphasize that I truly love Codesys and consider the work done so far to be brilliant—I’d be sorry to see it overshadowed by others moving faster in this direction.
Last updated: 2025-02-18
Post by dkugler on Visualisierung: Tastatur vergrößern?
CODESYS Forge
talk
(Post)
mir ist kein Scallierungsparameter bekannt bisher. Als Workaround fällt mir folgendes ein: für keypad und numpad jeweils eine zusätzliche Visualisierungen erstellen, welche lediglich einen Frame enthält, der wiederum das originale numpad und keypad aufruft. Über die Eigenschaft relative Bewegung X & Y könnte dann der Frame sogar zur Laufzeit über eine Variable in der Größe angepasst werden. Die beiden ersellten Visualisierungen muss man dann noch im Visumanager unter Dialogeinstellugen als zu verwendende Numpad und Keypad entsprechend zuweisen. Nachteil: Visu-Scallierungen sind oft Spritfresser, sprich gönnen sich ordentlich Rechenleistung. Viel Erfolg!
Last updated: 2025-02-24
Post by wayne-riesterer on Assignment Efficiency - Repetitive Assignment vs IF statement
CODESYS Forge
talk
(Post)
Hello Can anyone see any problems with constant assignment as in the following statement: Coils[0] := Coils[0] OR (Buttons[0] AND Sensors[0] > 6); Rather than using the more verbose and vertically-larger: IF NOT Coils[0] AND Buttons[0] AND (Sensors[0] > 6) THEN Coils[0] := TRUE; END_IF Also, is the test expression short-circuited in the latter case? In other words, will the runtime move on after it sees Coils[0] = FALSE AND? Thanks
Last updated: 2025-03-07
Post by pernockham on Inheritence of struct,
CODESYS Forge
talk
(Post)
Interesting, thanks! Didnt know about ANY before, and will sure find a use-case for it. Im not sure it will help me here though, it seems to me that an ANY will not accept a string assignment? I actually think that the "ALIAS" should work, that was a hard found error. I had a fair bit of scratching my head looking for misdirected pointers before I understood what was (not) happening. I will use the work-around of individual structs instead.
Last updated: 2025-03-08
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.