Post by nizrahel on OpC UA server on Raspberry Pi 64 SL runtime
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi all! I'm working on an home project using a Raspberry Pi 3 device with Codesys for Raspberry Pi 64 SL runtime. I would like to create the HMI interface with Siemens WinCC Unified (or Advanced) configuring the Raspberry as OPC UA server. I tryed everything, but I didn't find the way to let the OPC UA connection works using UaExpert. I tryed to use anonymous connection, authenticated connection and the ip address instead of the server name in the path connection. There is no way to connect to the OPC UA server and I was asking myself if this feature is really supported for the runtime version used. Another strange thing I noted, is that is not possible to quickly create an OPC UA certificate in the Security Screen, as show in any tutorials. I have correctly created the Symbol Configuration enabling the OPC UA feature. I attach to this topic some printscreen of the actual configuration (sorry for the italian language interface, but I didn't find the way to switch to english). Thank you very much in advance for your support and advices!
    
    Last updated: 2023-12-03
    
    
      
        Post by faceplant on CmpDynamicText unresolved references
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello! I am new to codesys so I am sorry if this is not the right place to ask this question. I am using codesys V3.5 SP20 Patch 1 + (64-bit) and a Groov EPIC PLC (GRV-EPIC-PR2). I am trying to build and deploy my application to the PLC, but when I log in I get 6 errors (codesys_error.png). It seems that the errors have to do with the CmpDynamicText system library which I have as version 3.5.20.0. I have tried to add CmpDynamicText to the ComponentManager section in the PLC's CODESYSControl.cfg file as described in this forum post and still hit the same error. I noticed that the library is grayed out in the library manager, which I think might be the issue. However I don't remember if it was grayed out before I encountered this issue. Please let me know if I can provide anymore info. Thank you!!!
    
    Last updated: 2024-07-19
    
    
      
        Post by julianramirez on ModbusFB write update
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello everyone, I am testing the ModbusFB library tcp server and so far I am able to create holding registers successfully, however, I am trying to identify after each write which registers got updated (i.e. function code, write value). I can even see the var udiNumWriteRequests, which increases with every write. I noticed that there is logging with the LogStatusInfo method. After I call it I am able to read in the console stuff that I want. Nevertheless, this is only available at the logs and is not easy to decode because it consists on several messages, I would like to know if there is a way for me to retrieve this information from the function itself with pointers or if there is any way to copy the logs messages (assuming that I can filter them with the LoggingOptions to only show what I need) inside the runtime code and not in the console. Thanks for your help :)
    
    Last updated: 2024-09-16
    
    
      
        Post by ricola on ERROR: CodeMAccess2: Used CmRuntime 2.61.2705.500 is too old
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      hi there , can someone tell me how to deal with this error , please? I use the Linux ARM64SL (4.11) on a bullseye distro and when I want to update or install some package, I have the following reply : pi@NanoPi-R5C:~$ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: ** codesyscontrol : Depends: codemeter but it is not installable or codemeter-lite but it is not installable** E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). and if I try apt --fix-broken install as suggested, I have a proposal to uninstall codesyscontrol ... :-D so I tried to search if there is some Codesys repo: nothing, then I tried to see if ther was something inside Codesys dev (V3.5.20) and I only found that by reading/requesting my device, i spoted that codemeter was too old . I don't see how to deal with this issue. is there a codemeter.deb somewhere ? thanks in advance for any help.
    
    Last updated: 2024-09-17
    
    
      
        Post by naps on cant install runetime on 750-8202
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello, im trying to install the 3.5 Runtime on a a fresh image on my 750-8202. Product Description: WAGO 750-8202 PFC200 CS 2ETH RS Firmware Revision: 03.10.08(22) ~~~ df -h Filesystem Size Used Available Use% Mounted on ubi0:rootfs.1 82.5M 66.5M 11.8M 85% / devtmpfs 117.8M 16.0K 117.8M 0% /dev none 118.3M 12.0K 118.3M 0% /tmp none 118.3M 0 118.3M 0% /media none 4.0M 136.0K 3.9M 3% /var/log none 118.3M 112.0K 118.2M 0% /var/run none 118.3M 0 118.3M 0% /var/lock none 118.3M 0 118.3M 0% /var/tmp none 118.3M 0 118.3M 0% /sys/fs/cgroup tmpfs 118.3M 48.0K 118.2M 0% /run /dev/ubi0_1 58.6M 3.4M 52.2M 6% /home /dev/ubi0_1 58.6M 3.4M 52.2M 6% /settings /dev/ubi0_1 58.6M 3.4M 52.2M 6% /log ~ After installation and reboot i have still the wago webinterface. No runtime on Information Tab and the Runtime button from the configuration tab is lost. iv try it with firmware 22 and 21. Same problem. What can i do?
    
    Last updated: 2024-09-29
    
    
      
        Post by hyys12 on Help understanding analog in-/outputs
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello. I am currently working on a WAGO PLC, where I am trying to wrap my head around how the analog inputs and outputs work in codesys. I have looked far and wide on the internet, for a general introduction to the whole concept, but I have not had any luck with finding anything that helped me understand it better. The whole goal is for me to be able to read an analog input from a temperature sensor, as well as using an analog output, to control a frequency inverter. I know these have nothing to do with each other, but that is all I have on hand right now. I am trying to program this using Ladder Diagram. The only thing is, that every video/guide I have seen/read using LD, just adds a whole lot of function blocks, to do all kinds of stuff they don't explain. My general question is, how would one go ahead and read the analog input, as well as transmit an analog output? Is there some kind of specific function block I would have to use for this, or some great video I can watch, to understand the inner workings. Is it somehow possible to see the values the PLC recieved/sends? Regards.
    
    Last updated: 2024-12-11
    
    
      
        Post by dominggus on FileDialog - OnDialogClosed not called anymore
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi, since the latest update it seems the OnDialogClosed is not called anymore?? using CODESYS SP20 Patch 3 with CODESYS Visualization 4.6.0.0 I am using LoadWriteRecipe to load a recipe file from disk (with some custom dialog settings), and I need to run a function (Recipes_LoadFromRecipeData()) afterwards which I execute when OnDialogClosed is closed with OK button. See attached screenshot and code below: *** OnDialogClosed : Recipes_OnLoadFileDialogClosed(pClientData): *** // the DialogManager is provided via the implicitly available VisuManager dialogMan := VisuElems.g_VisuManager.GetDialogManager(); IF dialogMan <> 0 AND pClientData <> 0 THEN FileOpenCloseDialog := dialogMan.GetDialog('VisuDialogs.FileOpenSave'); // gets the FileOpenSave dialog IF FileOpenCloseDialog <> 0 THEN result := FileOpenCloseDialog.GetResult(); // gets the result (OK, Cancel) of the dialog IF result = VisuElems.Visu_DialogResult.OK THEN Recipes_LoadFromRecipeData(); END_IF END_IF END_IF *** OnMouseClick: Execute ST-Code *** // override FileOpenSave Dialog settings // Visu_FbFileListProvider.Initialize(stDirectory, stFilter, stFileIn, stTitle, iRowCount, bBrowseDirectory, bTouch) VisuDialogs.g_FileListProvider.Initialize('./', '*.bunkerrecipe', '', 'Load recipe', 20, TRUE, FALSE); VisuDialogs.g_FileListProvider(); This used to work in CODESYS v3.5 SP20 Patch 1, but it seems it doesn't work anymore unfortunately? The OnDialogClosed just never seems to be called anymore....
    
    Last updated: 2024-12-18
    
    
      
        Post by mubeta on Strange problem with the ‘MC_SetPosition’ function
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      CoDeSys 3.5.19.7 Target Berghof MX6 In a simple SoftMotion programme with two stepperless modular axes from CMZ, one is simply controlled in speed, but a spot must perform a positioning. I use the function MC_SetPosition() both to reference the axis at power-up and also to correct the actual position to a fixed machine reference detected with proximity. The function has only one instance and I actually use a booelan variable to control the ‘Execute’ input. Well, I cannot correctly change the axis position on the fly if it is running at high speed. The servomotor works in a speed range between 0°/s and 720°/s, (gearbox output with a 1:6 ratio). As long as the servomotor is operating at speeds below about 400 °/s, the function is able to correct the position correctly even when forcing values far apart, but at high speeds, from 400 °/s upwards, the correction no longer takes place. For example, trying to correct the position of 280° into 300° with absolute mode, the axis that is moving at speed actually shifts the position by a few degrees, not the expected 20. I don't understand why with the servo drive running slowly the position shift occurs correctly, while increasing in speed it no longer works.
    
    Last updated: 2025-01-09
    
    
      
        Post by mubeta on Strange problem with the ‘MC_SetPosition’ function
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi gseidel, before moving to HW implementation, I had created the same program in simulation mode with virtual drives and, as far as I remember, everything worked fine simulating process and the few useful inputs. So it does not seem to be a SoftMotion library problem, but rather a problem with dynamics or physical axis adjustments. What escapes me, however, is the fact that this function is supposed to perform a position shift virtually, in fact without interfering with the axis itself, thus independent of its adjustments. MC_SetPosition() is not a homing function, in fact it is clearly intended to be executed on the fly with the axis moving. Now I'll see if I can reduce the program, although I don't like it very much. In my life I have learned that problem searches should be done on the part, and not in a more or less similar way.
    
    Last updated: 2025-01-10
    
    
      
        Post by carl25 on Confused about stepper spec & tips on pwm-step/dir
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello! I have asked the few I know who have knowledge of this and now turn to this one inexhaustible source of knowledge aka. the electronics forum. I was going to buy stepper motors yesterday but got so confused about the spec that I need to get an answer to this first. 2 different stepper motors, quite close in size but with very different spec. https://www.oyostepper.de/goods-40-Nema-17-Schrittmotor-Bipolar-12V-18-Grad-40Ncm-04A-12-Volt-4-Dr%C3%A4hte-Hybrid-Schrittmotor.html https://www.oyostepper.de/goods-38-Nema-17-Schrittmotor-Bipolar-18-deg-22Ncm-133A-28V-4-Dr%C3%A4hte-Hybrid-Schrittmotor.html Both Nema17 but the first 1.33A and 22Ncm and the second only 0.4A but almost double the torque. I can see that the resistance is very much higher on the latter but what's the catch? Double the torque to 1/3 the current sounds a little too good to be true so what am I missing?
    
    Last updated: 2025-02-21
    
    
      
        Post by canplum on Codesys 3.5.21 fails to copy file to USB
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Although I have set in /etc/codesyscontrol/CODESYSControl_User.cfg the [SysFile] PlaceholderFilePath.1=/media/pi, $usb$ PlaceholderFilePath.1.View=1 PlaceholderFilePath.1.Volatile=1 I am not able to copy a file to this directory defined by the placeholder. Neither SysProcess.SysProcessExecuteCommand2 nor SysFileCopy nor FileCopy is working. If I try to copy the same file to /home/pi all is working fine. I also can create and open a different file by using SysFileOpen. I don't understand why the system allows to open (create) and write files into that directory but doesn't allow to copy into it. Obviously there is a rights problem with the USB drive. I have already set the permissions to drwxr-xr-x 2 and the user to pi but without any success. With 3.5.16 I never had such an issue. Is there anybody with some hints how to solve that problem? Cheers, canplum
    
    Last updated: 2025-05-23
    
    
      
        Post by sbhaskarla on WebVisu File Transfer Error
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      I’m encountering an issue when downloading CSV files via the WebVisu button input config -> file-transfer option: • Custom directory: /plcdata/csv_logs/filename.csv o Error: Error 4 – Error during file transfer • Sandbox directory: /var/opt/codesys/PlcLogic/plcdata/csv_logs/filename.csv o Result: Download succeeds without error. Actions taken so far: 1. Added /plcdata/csv_logs to codesyscontrol.cfg (see attached). 2. Enabled file-transfer services in codesyscontrol_user.cfg (see attached). 3. Confirmed that the PLC writes CSV files correctly to /plcdata/csv_logs/. Despite these settings, WebVisu still returns Error when accessing the custom path 1. Using the placeholder file path '$$CSVLOGS$$/filename.csv' and it returns Error 6. 2. Using the literal path /plcdata/csv_logs/filename.csv and it returns Error 4 Could someone please help me determine what additional configuration or troubleshooting steps are required to serve files from /plcdata/csv_logs/? Please find screenshots attached for better understanding and I have also attached the config files
    
    Last updated: 2025-06-13
    
    
      
        Post by westcountryewe on Displaying a Target Web Page on WebVisu
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      I have a main PLC with my CODESYS project on, including Web Visu. I also have a second device used for pump monitoring, all of this is displayed on a seperate HMI. I am looking at displaying the pump monitoring HMI on WebVisu so that I can solely use 1 HMI rather than having two. I can project the pump monitoring HMI into Chrome, and log in and it works fine. When I'm using the Web Browser element in Web Visu, enter my URL (device IP) it shows me the web page, but doesn't show me all of it. It uses parts of JavaScript for the login authenticiation and various other widgets. Similarly, I cannot get Youtube or Google to display on WebVisu either (possibily because of the same reason). Does anybody have any tips on how I can display the likes of Youtube or Google onto WebVisu so I can view it on my 7inch HMI (I suspect that if I can get Youtube or Google to work, then I will also be able to get my pump montitoring web page to work too).
    
    Last updated: 2025-07-09
    
    
      
        Post by beavel on Feature Request: Text List Formatting 
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi everyone, I'm working on a multilingual help system within a CODESYS visualization project and have run into a limitation with the current text list (.tlx) functionality. Right now, text list entries only support plain text, which makes it very difficult to format longer help texts in a readable way. For example, I’d like to: Use bold headers and larger font sizes for section titles Display variable names or keywords in italics Avoid having to split content into dozens of separate entries just to apply different styles This becomes especially unmanageable when supporting multiple languages — duplicating layout logic across languages is not scalable. Would it be possible to implement a Markdown text functionality for text list entries ? For example: #Header ##Sub-header 1.ordered 2.list 3.fun 4.times Alternatively, is there any existing workaround or planned feature that allows for styled text blocks without fragmenting the content? Thank you in advance and have a nice day :)
    
    Last updated: 2025-09-23
    
    
      
        Post by e13740e on Parameterized Property syntax for array element processing
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello. I'm trying to create a Parameterized Property(CDS V3.5 SP21) to avoid copy-pasting code for processing array elements. I can't seem to get any result. Perhaps I am making a mistake with the syntax. None of the declaration options below are accepted by the compiler. If you know and use them (Parameterized Properties) in your work, please let me know. Thank you in advance. Option 1: PROPERTY <property_name> : <data_type> VAR_INPUT <index_name> : <index_type>; // One or more index parameters are declared here END_VAR</index_type></index_name></data_type></property_name> GET Code that uses <index_name> to return a value END_GET</index_name> SET Code that uses <index_name> and the implicit variable <property_name> to write a value END_SET</property_name></index_name> END_PROPERTY Option 2: PROPERTY <property_name> (<index_name> : <index_type>) : <data_type></data_type></index_type></index_name></property_name> GET Code that uses <index_name> to return a value END_GET</index_name> SET Code that uses <index_name> and the implicit variable <property_name> to write a value END_SET</property_name></index_name> END_PROPERTY
    
    Last updated: 2025-10-09
    
    
      
        Post by e13740e on Parameterized Property syntax for array element processing
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello. I'm trying to create a Parameterized Property(CDS V3.5 SP21) to avoid copy-pasting code for processing array elements. I can't seem to get any result. Perhaps I am making a mistake with the syntax. None of the declaration options below are accepted by the compiler. If you know and use them (Parameterized Properties) in your work, please let me know. Thank you in advance. Option 1: PROPERTY <property_name> : <data_type> VAR_INPUT // One or more index parameters are declared here <index_name> : <index_type>; END_VAR</index_type></index_name></data_type></property_name> // Accessor for reading GET // Code that uses <Index_Name> to return a value END_GET // Accessor for writing SET // Code that uses <Index_Name> and // the implicit variable <Property_Name> to write a value END_SET END_PROPERTY Option 2: PROPERTY <property_name> (<index_name> : <index_type>) : <data_type></data_type></index_type></index_name></property_name> // Accessor for reading GET // Code that uses <Index_Name> to return a value END_GET // Accessor for writing SET // Code that uses <Index_Name> and // the implicit variable <Property_Name> to write a value END_SET END_PROPERTY
    
    Last updated: 2025-10-09
    
    
      
        Post by mavitia on Application based license problem - Modbus TCP
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      I am running ubuntu on a raspberry pi, and installed an application based license Control Basic M on it, it runs a demo program fine, does not timeout etc. however, when I add a modbus TCP device, I start getting errors: <Entry severity="error" component="CmpApp" user="nobody" timestamp="12/18/2023 3:49:42 PM" infoId="24">Online change denied. Application Application is in exception state!</Entry> <Entry severity="error" component="CmpApp" user="nobody" timestamp="12/18/2023 3:49:42 PM" infoId="68">Download failed: Application=Application</Entry> <Entry severity="exception" component="CmpApp" user="nobody" timestamp="12/18/2023 3:49:41 PM" infoId="0">Application app=Application has invalid license metrics!</Entry> the modbus tcp slave runs, and the counter ticks up, however, when I call the variables on the %IX0.0 in my program, and try to upload the changes, I am getting the error messages which stop the program as far as I understand, the application based, M includes 2 fieldbus instances, but on the other side is fairly new, anything obvious I am missing out here?
    
    Last updated: 2023-12-18
    
    
      
        Post by giackanto on Eoe issues with Windows and Linux 
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello, I've been trying to use EoE for communication between a Windows PC and an M753 drive from Control Technique. Despite following some online guides (https://content.helpme-codesys.com/en/libs/EtherCATStack/4.3.0.0/Ethernet_over_EtherCAT/fld-Ethernet_over_EtherCAT.html) I haven’t had any success. Both are connected to a Debian device where RTE is running: The PC is connected via the Ethernet port. The drive is connected via the EtherCAT port. I'm unable to ping the drive from my Windows PC. Here is my configuration: On Debian: (See attachments 1, 2, 3) enp1s0 = Ethernet port enp2s0 = EtherCAT port tap2 = TAP device IP forwarding and routes are both configured. On Windows: (See attachments 4, 5) On Codesys: (See attachments 6, 7) Version: Windows 11 Debian GNU/Linux 11 Codesys 3.5.17 Control for Linux SL 4.7.0 EtherCAT 4.4.0 With this configuration, I can ping the TAP device, but not the drive (See attachment 8). Could someone explain how to properly configure all these settings? Thank you, GA
    
    Last updated: 2023-12-19
    
    
      
        Post by spiessli on Softmotion axis to CANopen Maxon IDX drive
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Thanks for the advise, indeed, this was somewhat, what my intention was. I tried around again with EDSes and DCFs, anyway. It appears that the DCFs end up in a subfolder in the attach device dialog. Astonishingly, when attaching the DCF version I get a device in the device tree, where I can add a SoftMotion axis, whereas when I attach the device not in the subfolder, then I cannot. Further astonishingly, when looking in the CANopen parameters in supported profiles, "402" is listed in the case of the DCF variant, whereas in the EDS variant "0" is shown. Comparing EDS and DCF files I cannot guess, where the difference is coming from. I cannot tell either why I have always attached the EDS variant and apparantly never the DCF variant. As I am not in the lab right now, I cannot test if the connection actually is working. Thanks again, spiessli
    
    Last updated: 2024-01-07
    
    
      
        Post by levih on DocScripting
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello I'm trying to use the DocScripting collection in Codesys. I've made it work on one PC(1) for the 3.5.16.4 version of the script collection. But when I try the same setup on another PC(2), I get an error message: Error loading Python DLL: D:\SCRIPTING\3.5.16.40\python27.dll (error code 14001) My setup on both PC's is thus: 1. Downloaded and installed Python 2. Copied the folder with the scripting collection to C: (because of admin rights) 3. Placed my .library file in the same folder as the scripting collection Only difference is that Python is v3.12.0 on PC1 and v3.12.1 on PC2. I thought maybe it was something with Python, but then I have tried using the scripting collection from 3.5.16.1, and that seems to work. Just not for scripting collection 3.5.16.4. I also can't seem to find any scripting collections on newer versions of Codesys? (e.g. 3.5.19.10) Thanks in advance!
    
    Last updated: 2024-01-22
    
    
      
        Post by toby on Ethernet/IP communication with Omron NX1P2
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hey guys, I'm very much a noob with networking, it's my achillies heel, and this is my first networking project using Ethernet/IP. Any help offered is GREATLY appreciated. I'm trying to network a Codesys Project with an Omron NX1P2 PLC. I'm using EIP due to hardware restrains. I've added the fieldbus, EIP scanner (as the master), and made a Network Variable List. On the Sysmac Studio end, I've made the variables and set them to network inputs/outputs, registered them in EIP settings, but when I try to set the target device (the Codesys project), I suspect I need to import an EDS file for the EIP mapping. Back in the Codesys project, I'm not sure how to: - Make an EDS file to share with Sysmac Studio - How to link the target device (Omron PLC) to the EIP fieldbus - How to map the inputs from the Omron PLC. Im sorry for my very open request for help, i'm kind of lost looking through the various forums/video/tutorials as many of them dont match what im trying to do. Any help, or sample programs would be so so greatly appreciated. If you need any further clarifications, please feel free to ask. Thanks in advance, Toby
    
    Last updated: 2024-01-24
    
    
      
        Post by zoronoa on J1939.ReceiveWatchdog & J1939.ReceiveParameterGroup
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi, I'm trying to monitor a specific PGN which I have it sending a pulse every 500mS Problem: Using the Watchdog for the ECU does not really help me as I have multiple instances with separate PGNs, if a PGN goes ghost, the ECU watchdog won't be flagged as the others will be running. I found the J1939.ReceiveWatchdog & J1939.ReceiveParameterGroup function blocks and they seem like a good solution for my problem, I just can't get them to work from my understanding you just build the J1939.ReceiveParameterGroup once and then connect it's output to the J1939.ReceiveWatchdog, here's my CODE for the setup HEARTBEAT_TIMER(IN:= TRUE, PT:= T#1000MS); //turn-on delay because of initialization race IF HEARTBEAT_TIMER.Q= TRUE THEN Glob_Var.DisplayReceive.xExecute:= TRUE; Glob_Var.DisplayReceive.itfECU:= Valve_X; Glob_Var.DisplayReceive.dwPGN:= 65511; Glob_Var.DisplayWatchdog.xEnable:= TRUE; Glob_Var.DisplayWatchdog.itfParameterGroup:= Glob_Var.DisplayReceive.itfParameterGroup; Glob_Var.DisplayWatchdog.tTimeout:= T#1500MS; END_IF Notes: Glob_Var.DisplayReceive is of type J1939.ReceiveParameterGroup Glob_Var.DisplayWatchdog is of type J1939.ReceiveWatchdog The above code is done once and not cyclically I'm monitoring Glob_Var.DisplayWatchdog.xError cyclically
    
    Last updated: 2024-03-13
    
    
      
        Post by jrsantab on Remote connection to ifm PLC & HMI
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      We have finally solved the problem. The version of the Gateway in the computer that worked (3.5.11.0) and the one that didn't (3.5.17.30) was different. We have three different Codesys 3.5 versions installed because we work with different controllers. I believe that, depending on the sequence you follow to install the versions you get a different Gateway version. To solve the problem you first have to disable the "obsolete" services. Open services, serach for (in our case) CODESYS Gateway V3 Version 3.5.11.0 CODESYS ServiceControl Version 3.5.11.0 I stopped the services and changed to Manual Start. Then you have to create the new services. In our case, from a Command Prompt session (cmd): SC CREATE "Codesys GatewayService Rigual" binpath="C:\Program Files\CODESYS 3.5.17.30\GatewayPLC\GatewayService.exe" and then SC CREATE "CODESYS ServiceControl Version 3.5.17.30" binpath="C:\Program Files\CODESYS 3.5.17.30\GatewayPLC\CODESYSControlService.exe" remember also to set them as Automatic Start!
    
    Last updated: 2024-04-22
    
    
      
        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 mp9876 on Problem using MeasureFrequence FB
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi everyone, new at Codesys and PLC programming in general. I am using Codesys Win V3.5 SP20 I would like to measure an encoder's frequency output (obtaining that pulse train from Factory IO) and intended to use the MeasureFrequence FB (Intern/CAA/Utilities/CAA Mathematics/3.5.19.0). As mentioned in the title what I need to measure is low frequency, such as lower than 40hz (a cycle every 25mS) or so; I could even go lower frequency if required as this is for test purposes) therefore I am not expecting problem measuring a low frequency with that FB The library in question appears to be installed as I can retrieve it from the Library Repository. I can also see it from the Device's Library Manager. Problem arises when I am trying to instantiate this particular FB. I go like this: VAR MeasF:MeasureFrequence; END_VAR Please note that as soon as I start typing the "MeasureFrequence", the MeasureFrequence comes out as a viable option in auto-typing; seems to indicate that the FB is recognized somehow. But there is no way I can compile this as it comes back with the following: C0046: Identifier 'MeasureFrequence' not defined. Tried to rename that to ABC instead of MeasF; same issue. Possibly that the library is not properly installed ? Placeholder ? I would greatly appreciate a bit of guidance if possible. Thank you and regards, Mike
    
    Last updated: 2024-06-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.