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 dnordenberg on BOOL variable in OPC UA and modbus simultaneously
CODESYS Forge
talk
(Post)
How can I have an BOOL variable that is read/write in both modbus TCP server and from OPC UA at the same time? Variables with %MX.n %QX.n addressing which is used for BOOL/coils in modbus server is not allowed in OPC UA symbol list on Schneider M251 controllers. I have already asked on Schneiders forum but there are not a lot of codesys experts over there :( So OPC symbols can't have a address and the modbus TCP server needs a address. So how should I do it then? It seems like an impossible combination. Since I want read/write access from both ways I can't just simply make a second variable and assign it the value of another since it would be a one way assignment. I also tried using VAR_CONFIG which then makes the address syntax %Q or %M in my main variable list and that fools OPC UA Symbol Configuration to allow it and then I add the complete %MX.n address of it in the VAR_CONFIG list. This semi works, I can toggle the BOOL from modbus but the OPC UA symbol seems to be read only. It displays symbol status but nothing happens when I toogle it. I think I need another way to have the variables and symbols pointing to the same bits in memory... My plan B is to write a BOOL array compare FB that saves a history bit from previous cycle and if that does not match current status at next cycle for either the OPC symbol or the modbus variable then it copies the new status over to the other. Maybe ugly but it's like my last alternative. Kind regards David
Last updated: 2025-07-14
Post by m83coding on Raspberry Pi Codesys SPI Master
CODESYS Forge
talk
(Post)
Hello, I am trying to control shift registers 74HC596 and 74HC165 via Raspberry PI with SPI interface. So far I did it with a Microcontroller and now I wanna upgrade my Projekt with Raspberry Pi and Codesys Software to be more flexible. I tried to adapt PiFace Function Block to just send or recive a 8 bit via SPI interface of the my Raspberry Pi. With following code (see attached screenshots) * PLC_PRG * PiFaceDigital * PiFaceDigital.write8 * PiFaceDigital.read8 I have a signal at SCK and MOSI pin of the PI, so far so good. But I really struggle with the unterstanding of the code. Is there some detailed description of each line of code? Or is there somebody in the community who can explain each line of code? Or is there a more simple way to send / recive 8 bit via SPI? Manuel
Last updated: 2024-04-23
Post by i-campbell on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
I can't answer why it's not resetting, but from the description of g_udiMaxReceiveBufferSize, I would guess the sum of sizes of the mqtt packets received in one cycle exceeded this value. So the answer may be to increase that parameter. https://content.helpme-codesys.com/en/libs/MQTT%20Client%20SL/Current/MQTT-Client/Common/Params/MQTTParam.html https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_dlg_library_parameter.html
Last updated: 2023-09-26
Post by jmfernandes on OpenDir always in error
CODESYS Forge
talk
(Post)
Hello just to give more feedback the error I get is "ERROR_UNKNOWN :represents raw value of 5110" in File.DirOpen. The xDone never gets true, and I never get the listing of files (csv files in this case). In the hDir i get the value of 0 for a DWord!?
Last updated: 2024-07-31
Post by jarnok on How to know if output if function block is used
CODESYS Forge
talk
(Post)
Hi, Is it possible to know of an output of a function block is used? I've found there is a way to find unused inputs of a fb, through the attribute: is_connected. But I'm wondering if the same can be done for an output. Thanks in advance!
Last updated: 2024-10-15
Post by tyronnosaurus on SysLibMem.lib Where To Download?
CODESYS Forge
talk
(Post)
It should come by default on a normal install of Codesys 2.3, but it's a bit hidden: Like for any other library, go to Resources > library Manager > Right click on list of libraries > Additional library. On the browser that opens, instead of looking in the default folder, use the dropdown menu at the bottom to change the folder (SysLibMem should be on the 3rd folder).
Last updated: 2024-11-11
Post by aufwindsh on Visualization Scaling the Keypad
CODESYS Forge
talk
(Post)
Hello everyone, is there an option to change the Scaling of the Keypad? I have an 15inch HMI with a resolution of 1920x1080p and the Keypad for the Login of the usermanagement is still to smals to have a great user Experiance. I really appriciate any feedback. Thanks.
Last updated: 2025-08-02
Post by beavel on Opening and saving files with fileOpenSave dialog
CODESYS Forge
talk
(Post)
1 + Replying in hopes of getting an answer here. I would also like to modify the look of the FileOpenSave Dialog. I have successfully adjusted the looks of the User management Dialogs but can not find a library file to adjust this particular one. Any help would be helpful. @thk @eschwellinger @sheberle .
Last updated: 2025-09-08
Post by snhatton on Testing of Codesys program
CODESYS Forge
talk
(Post)
There is a tool called test manager that is part of the Professional Developer's Edition of CODESYS. I would take a look at this tool for your testing purposes. There is a free 30-day trial so you can evaluate if the tool will meet your needs before investing in the license.
Last updated: 2023-12-08
Post by kirsipr on Color of empty table and table header
CODESYS Forge
talk
(Post)
I have managed to change my dynamic visu table colors with the template for each column to dark like my rest of the webvisu background is. How ever the empty table (when not populated) and the table header stays white / gray. Is there same way to modify the colors of header and empty table?
Last updated: 2024-03-13
Post by stuartjr on Disabling forcing of specific variables
CODESYS Forge
talk
(Post)
So I think I've found a way to do what I want, but its a not as simple as I thought it would be. Essentially I've got to put my "logic" that decides what the GVL variable should be at the start of every task (rung 1). Then regardless of what the force is the variable will be set to what the logic decides.
Last updated: 2024-03-15
Post by stuartjr on Disabling forcing of specific variables
CODESYS Forge
talk
(Post)
I also thought that if I had logic writing a value to this variable, then it would override the force anyway, since I thought that the force request was only applied at the beginning and end of the PLC scan. But this doesn't seem to be the case, the force persists throughout the logic regardless of what I write to the variable with logic
Last updated: 2024-03-15
Post by nano on Map in Codesys
CODESYS Forge
talk
(Post)
There are several versions, u can use an recipt, shm, perstance variables, persistsnce manager. all these ways has some pro's and con's and some of them depending on preparation of the controller byself. others depending on your functionalies and dependencies on project. for all of these ways, you can find the informations on the onlinehelp or from controller-oem
Last updated: 2024-04-04
Post by vincentd on Datasource OPC UA Client error ID:7012
CODESYS Forge
talk
(Post)
I have not used this client / server OPC UA combination since. We were only making some kind of proof of concept. I did understand that there could be some kind of bug. I do not know if the supposed bug has been resoved since. Perhaps you could try what piautomation is suggesting
Last updated: 2024-04-05
Post by thieulam on Codesys access to DICTIONARY OBJECTS of ethercat (CoE ) Servo Drive
CODESYS Forge
talk
(Post)
Hello to all! How can I read or write, via my main code (ST), to the registers present in the DO of my ethercat CoE servo drive? These objects appear in the list of the INITIALIZATION page, and from here I can only access them at startup. How do I access it in run time from my main PLC_PROGRAM?
Last updated: 2024-06-19
Post by mariapaola on Port instantiation of serial interface in WAGO PLC using Modb_L05.lib in CoDeSys v2.3
CODESYS Forge
talk
(Post)
Hi, Would really appreciate your insights in this issue I have. I am currently using a WAGO 750-881 with multiple IO devices. For one of them I already occupied the MODBUS Master configuration tool so I cannot overwrite it for my other devices. I have a total of two serial interfaces WAGO 750-652. The first one is instantiated in COM2 and doesn't need any protocol since the information comes in an specific formatting that need little code to differentiate between needed info. This one is working just fine. The second one is where I have an issue. I have tried to instantiate the port using MODBUS library modb_L05.lib to properly receive the data from an ARDUINO and I am absolutely unable to open the port: Signal DEVICE2.fbModbus.MODBUS_EXT_MASTER.Interface.Com_Port_Ist_Offen is never TRUE, among with all other signals from that interface, while signal DEVICE1.COM2.Com_Port_Ist_Offen is TRUE, and the other signals also read as TRUE or FALSE. I have tried instantiating the second one as the first one, changing COM3 to COM4, I've tried a lot of things but it wont ever open the channel. I don't know if you have any recommendations for me. For both physical modules, both witness LEDs A and E are on. First one is instantiated like this: PROGRAM DEVICE1 VAR wBaudRate : WORD := BAUD_9600; bDataBits : BYTE := 8; bParity : BYTE := 0; bFlowControl : BYTE := 3; (RS422 FullDuplex with continous send) i : INT; COM2 : SERIAL_INTERFACE; xOpenPort2 : BOOL := TRUE; ( Flag to open the Port ) xInitPort2 : BOOL; ( Flag to initiallize the Port ) ReceiveBuffer2 : typRing_Buffer; END_VAR COM2( bCOM_PORT_NR := 2, cbBAUDRATE := wBaudRate, cbsBYTESIZE := bDataBits, cpPARITY := bParity, csSTOPBITS := STOPBITS_1, cfFLOW_CONTROL := bFlowControl, utRECEIVE_BUFFER := ReceiveBuffer2, ptSEND_BUFFER := ADR(SendString2), xINIT := xInitPort2, xOPEN_COM_PORT := xOpenPort2, iBYTES_TO_SEND := LEN(SendString2)+1, xSTART_SEND := xSendActive2 ); Second one like this: PROGRAM DEVICE2 VAR COM4 : SERIAL_INTERFACE; xInitPort4 : BOOL := TRUE; xOpenPort4 : BOOL := TRUE; ReceiveBuffer4 : typRing_Buffer; fbModbus : MODBUS_EXTENDED_MASTER_RTU; fbError : enumMB_ERROR; stQuery : typModbusExtendedQuery; stResponse : typModbusResponse; au16Data : ARRAY[0..14] OF WORD; i : INT; tPoll : TON; END_VAR COM4( bCOM_PORT_NR := 4, cbBAUDRATE := BAUD_9600, cbsBYTESIZE := 8, cpPARITY := 0, csSTOPBITS := STOPBITS_1, cfFLOW_CONTROL := 2, ( RS-485 half-duplex ) utRECEIVE_BUFFER := ReceiveBuffer4, xINIT := xInitPort4, xOPEN_COM_PORT := xOpenPort4, xSTART_SEND := xSendActive4, ); stQuery.SlaveAddress := 1; stQuery.FunctionCode := 3; stQuery.Read_StartAddress := 0; stQuery.Read_Quantity := 15; (Poll code) fbModbus( ENABLE := TRUE, bCOM_PORT := 4, ( COM4=> 750-652 port ) cbCOM_BAUDRATE := BAUD_9600, cpCOM_PARITY := 0, csCOM_STOPBITS := 1, cbsCOM_BYTESIZE := 8, cfCOM_FLOW_CONTROL := 2, TimeOut := T#500ms, StartFunction := xStart, ExtQuery := stQuery, Response := stResponse, MB_Error => fbError ); FOR i := 0 TO 14 DO au16Data[i] := stResponse.Data[i]; END_FOR;
Last updated: 2025-11-28
Post by timvh on gateway problem
CODESYS Forge
talk
(Post)
Maybe select the local gateway instead of the gateway on the remote device?
Last updated: 2023-08-31
Post by helcioburd on Async Manager
CODESYS Forge
talk
(Post)
Do you have an example of that uses Async Manager?
Last updated: 2023-09-06
Post by eschwellinger on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
...and reduce the load of the plc
Last updated: 2023-09-26
Post by martinlithlith on Raspberry Pi: List of available drivers / libraries
CODESYS Forge
talk
(Post)
As most of the posts are moved here around 2015, what would be the right version of codesys to run? Would it be better to install a older version of codesys or should i keep on downgrading libraries? Is there any work done to update theses libraries? It´s been a few years since the last update in this post, are there new libraries/devices for raspberry being added/posted somewhere else? Thanks, Martin
Last updated: 2023-10-17
Post by simotion on Axis_Ref_SM3.perfTimers
CODESYS Forge
talk
(Post)
Yes but what exactly does each of them stand for?
Last updated: 2023-11-24
Post by tk096 on SoftMotion SML
CODESYS Forge
talk
(Post)
Hi, can you post a screenshot of your drive configuration?
Last updated: 2024-07-08
Post by gatto on Comparing Arrays of structure
CODESYS Forge
talk
(Post)
Hi, something like this ?
Last updated: 2024-08-23
Post by eschwellinger on Persistent variables are not read after initialization
CODESYS Forge
talk
(Post)
which version of the runtime do you use?
Last updated: 2024-09-02
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.