Activity for paulpotat

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Update : The solution I mentionned in a previous post does not always work. Some Raspberry Pi CM4 still won't create the license container. I will open a support ticket.

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Because we bought several raspberry pi licenses that can only be activated with a raspberry pi runtime.

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello eschwellinger, Thanks for your answer, with this I was finally able to make it work by doing the following : install CODESYS Control for Linux ARM SL v4.13.0 uninstall CODESYS Control for Linux ARM SL v4.13.0 and make sure to select "yes" when prompted to uninstall WIBU CodeMeter Lite Runtime (v8.10.6230.501) re-install "CODESYS Control for Raspberry Pi SL" v4.13.0 It looks like the issue was probably related to the CodeMeter Runtime ? Best regards

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Do someone have any information on this topic ? We tried several different CM4 boards without success, and we cannot install the licenses we bought anymore... Isn't CodeSys supposed to support CM4 Raspberry pi ?

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello, I have a problem when opening the license manager for my raspberry pi (CM4 model) with runtime 4.13.0.0. I select "Device" --> "Soft Container" and click on my device in the scan window but I get this error message : Licensing info not available. There is no dongle attached to this device. I can't install licenses anymore, and I don't understand why is CodeSys looking for a dongle when I specified I wanted to use a Soft Container. Can somebody help me please ? Best regards

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello again, After looking into it, I noticed that the release note of "CODESYS Control for Raspberry PI 4.13.0.0" mentions a bug fix titled "Support Compute module 4". Is it possible to have more details about this fix from the CodeSys team please ? Because I have several CM4 boards with the same hardware revision / OS but some of them works with the 4.10 runtime and others only works with the 4.13 runtime...

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    It looks like it works with 4.13.0.0 indeed. However when installing the runtime, it's not possible to select the multicore option (see attachment). But once the 4.13.0.0 runtime is installed, the logs seems to indicate that the runtime is running in multicore mode. Looking at "htop" output, it seems like it actually is running on multiple CPU. This is very misleading, is it normal or is this a bug ? Thank you for your answer @eschwellinger, BR

  • paulpotat paulpotat modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello, I have exactly the same issue, with the following configuration : Hardware version >>> cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 processor : 1 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3...

  • paulpotat paulpotat posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello, I have exactly the same issue, with the following configuration : Hardware version >>> cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 processor : 1 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 108.00 Features : half thumb fastmult vfp edsp neon vfpv3...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I was wondering if there is a way in codesys to exclude the traces from the search when using the "ctrl+F" window ? That would be nice to improve the search functionnality when looking for a specific variable. Sometimes when I iterate through all occurences with the "find next" button, it opens the trace configuration window. I would expect to be able to close it and go to the next occurence with the "find next" button, but after closing the trace configuration window the search says it has...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I still have the same problem with Codesys 3.5 SP18. Initially, my project is ~5 Mo. I work on it for like 3-4 days and it goes up to ~10Mo. If I make an export of the project and import it in a new empty project, it goes back to approximately 5 Mo. Why is it doing this ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Thanks for your reply ! I'm not sure I understand exactly what you mean, what would "myArray" be in that case ? Also with what value is "x" supposed to be initialized with ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, Is there a way to iterate over enum members in CodeSys ? For example, if I have the following enumeration definition : TYPE E_REQUEST_TYPE : ( A := 0, B := 1, B := 2, D := 3, X := 42, Y := 85 )BYTE := NONE; END_TYPE Is it possible to iterate over each enum member in a for loop for example ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I want to know how many connections I can add to a profinet device in CodeSys. So far, it looks like I can only add 64 variables to a Profinet device in CodeSys. I can't find this value in the documentation for the CodeSys Profinet Device. However it says in the documentation for the CodeSys Profinet Controller that the maximal number of connections is 64 by default but can go up to 1024. How can I increase the number of connection of a Profinet Device ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Sadly, I did not :( I was able to get the type of the node (I could know that a node was a "Bus controller" for example), but not much more...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    up

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, Is there a library in CodeSys that can be used to parse a yaml file ? I know there is one for xml, but I can't find anything about yaml.

  • paulpotat paulpotat posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Hello, I don't understand how CodeSys automically scale my visualization. I have a simple visualization with one element on the page : When I check the web page from a web browser, I get this result : Why does it scale like this ? How can I get rid of the scroll bars ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I have a problem with the CAA File library : every file created using the Open FB is read-only for everyone but the root user. For example, when i do this to create the file : (*#-#-#-#-#-#-#-#-#-#---Declaration---#-#-#-#-#-#-#-#-#-#-#-#-#*) file_op : FILE.Open; (*#-#-#-#-#-#-#-#-#---Implementation---#-#-#-#-#-#-#-#-#-#-#-#*) file_op.sFileName := 'path/to/my_file'; file_op.eFileMode := FILE.MODE.MWRITE; file_op.xExclusive := FALSE; file_op(xExecute:=TRUE); IF file_op.xDone THEN file_handler...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm trying to setup a data logging mechanism to capture some bugs. What i want to do : - Save a variable value in a buffer periodically - If a certain event occur, save the entire buffer in a csv file I'm trying to use the Datalog Manager module to do this, but I'm not sure how to configure it. It looks like I can only configure the module to save the csv file periodically : Can I do this using this module ? Or do I have to do it by hand ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I would create a type like this : TYPE LREAL_WORD : UNION value : LREAL; // Needs 8 Bytes in memory regs : ARRAY [0..3] OF WORD; END_UNION END_TYPE Then in your program you can declare your variables like this : my_var : LREAL_WORD; reg_1 : WORD; reg_2 : WORD; reg_3 : WORD; reg_4 : WORD; // ... // Maybe you'll have to change the order here... my_var.regs[0] := reg_1; my_var.regs[1] := reg_2; my_var.regs[2] := reg_3; my_var.regs[3] := reg_4; Then it will automatically update my_var.value to the corresponding...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I would love a dark mode ! You can already change the theme to dark I think, but it only changes the text edition window, not the rest of the UI...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, You can check the export.py file of this github repo, it generates text files for every POU in a project (and more). To do so, it iterates over every object in a project recursively, starting with the tree returned by projects.primary.get_children(). I hope this can help you, BR

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Easiest way to do this is to create a type like this : TYPE uWordBytes : UNION rValue : WORD; // Needs 2 Bytes in memory abValue: ARRAY [0..1] OF BYTE; END_UNION END_TYPE Then in your program you can declare your variables like this : my_var : uWordBytes; my_var_as_word : WORD; // ... my_var.rValue := my_var_as_word; Then it will automatically fill the array my_var.abValue with the corresponding bytes ! You can access those bytes the same way : x[0] := my_var.abValue[0]; // First byte x[1] := my_var.abValue[1];...

  • paulpotat paulpotat modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Okay I finally understood this ! The 9th byte is the last part of my IP address : for example if my ip is 192.168.1.42 then the 9th byte has to be equal to 42 (0x2A). So in case anybody needs this one day (who knows), to perform the same type of network scan CodeSys uses you have to send a UDP broadcast frame containing the following data : # WIFI c5 74 40 03 00 20 00 00 03 xx 83 01 02 c2 00 04 00 00 00 00 # ETH c5 74 40 03 00 10 00 00 03 xx 00 00 02 c2 00 04 00 00 00 00 Where "xx" is the last byte...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Okay I finally understood this ! The 9th byte is the last part of my IP address : for example if my ip is 192.168.1.42 then the 9th byte has to be equal to 42 (0x2A). So in case anybody needs this one day (who knows), to perform the same type of network scan CodeSys use you have to send a UDP broadcast frame containing the following data : # WIFI c5 74 40 03 00 20 00 00 03 xx 83 01 02 c2 00 04 00 00 00 00 # ETH c5 74 40 03 00 10 00 00 03 xx 00 00 02 c2 00 04 00 00 00 00 Where "xx" is the last byte...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I was wondering if it was possible to create a custom CLI for CodeSys applications ? For example I would have an application "my_app" running on a PLC, and if I connect to this PLC I could run commands in the terminal like this : my_app [Options] Do someone know if it's possible ? BR

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    After some investigation, it looks like the 9th byte changes depending on the network IP. For example on the same WiFI network : - if network ip is 192.168.100.xxx then byte 9 is "05" - if network ip is 192.168.99.xxx then byte 9 is "03" - if network ip is 192.168.43.xxx then byte 9 is "8A" - if network ip is 192.168.1.xxx then byte 9 is "34" I tried some math operations on the ip to get those values as results but I can't figure out how it's calculated...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Ok so far I understood this : - Byte[0:4] = Some sort of header (it never changes) - Byte 5 = Change depending on the interface type (10 for ethernet and 20 for WiFi) - Byte[6:7] = ? (can be set to 0 without issues) - Byte 8 = Always equals to 03 - Byte 9 = ??? (can't be set to 0 otherwise devices won't answer the broadcast message) - Byte[10:11] = Changes depending on the interface type (0000 for ethernet and 8301 for WiFi) - Byte[12:15] = Always equals to 02c20004 - Byte[16:19] = Count of UDP broadcast...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm trying to understand how the "Scan Network" function of CodeSys operates. I looked at the packets using wireshark and it looks like it sends an UDP frame on the broadcast address of the network and wait for answers: This broadcasted packet contains 20 bytes of data and looks like this : c5 74 40 03 00 20 b7 8b 03 8a 83 01 02 c2 00 04 01 dc 7d 06 I tried to send this frame using a python script and I was able to get some answers from devices on the network ! However if the network switch...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Thank you very much, I missed a step indeed !

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I've been trying to disable user management without success. It says in the documentation that you just need to perform a reset origin on the device. When I do that user management seems to be disabled at first, but after a few reboot / flashs the credentials popup comes back. How can I really disable it ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Well if you want something similar, you can create a union type like so : TYPE DWORD_BYTES : UNION value : DWORD; bytes : ARRAY[0..3] OF BYTE; END_UNION END_TYPE Then in your program you define varD as a DWORD_BYTES object and you can access its bytes like this : varD.bytes[byte_position] := varB; Where byte_position can be 0, 1, 2 or 3. And if you need to change varD value you can do this for example : varD.value := 16#FFFFFFFF;

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I would do this : varD := (varD AND 16#00FFFFFF) + SHL(TO_DWORD(varB), 3*8); However there might be better ways to do this, I'm not sure...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I just found how to do it and it's actually very simple to do. You just right click on any .project file and choose Open With > Choose Another App then you have to check the box titled Always use this app to open .project files. and select the other CodeSys. Sorry for the dumb question, BR

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I have installed both CodeSys 3.5.16 and 3.5.18 on my computer. When I double click on a .project file, the version used to open the project is CodeSys 3.5.16 by default. I would like to change it to CodeSys 3.5.18, how can I do that ?

  • paulpotat paulpotat modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, I would like to know if it's possible to get the names of the nodes in the device tree of my project. So far I managed to get a list of nodes (of type INode) but I can't get their name out of this. For example in my project I have the following architecture : I used this to get the nodes of my project : nodes := IoConfig_Globals.DeviceNodes; And I correctly get an array with every node : Now I want to get the names of the node in my program (the values highlighted in the previous...

  • paulpotat paulpotat modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, I would like to know if it's possible to get the names of the nodes in the device tree of my project. So far I managed to get a list of nodes (of type INode) but I can't get their name out of this. For example in my project I have the following architecture : I used this to get the nodes of my project : nodes := IoConfig_Globals.DeviceNodes; And I correctly get an array with every node : Now I want to get the names of the node in my program (the values highlighted in the previous...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, I would like to know if it's possible to get the names of the nodes in the device tree of my project. So far I managed to get a list of nodes (of type INode) but I can get their name out of this. For example in my project I have the following architecture : I used this to get the nodes of my project : nodes := IoConfig_Globals.DeviceNodes; And I correctly get an array with every node : Now I want to get the names of the node in my program (the values highlighted in the previous picture)...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, Thank you very much for your answer ! We ended-up re-installing the OS on the PLC that was bugged and it worked but your solution is way better (and faster) ! I'll try it if we stumble upon this bug again :) Thanks again for such a detailed answer, have a good day ! BR

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Could'nt you just change this line : iState:= 6; To : iState:= 0; So your state machine goes back to state 0 and it loops infinitely ? If you want to time it you can just add a wait state with a timer.

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Try to run the following command in a terminal : htop Then you can monitor CPU usage and identify which process is eating all the CPU.

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hi, You should check for an infinite / very long loop in your code that could be blocking the execution. What kind of PLC are you using ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, One solution to make CodeSys and Python to exchange data could be to use a Shared Memory (see this example). This allows you to dedicate a space in the memory where both Codesys and Python are able to read/write. You can also use the OPCUA functionnality of CodeSys to Exchange data if you want, but I have not tried it yet. However if you just use CodeSys for building the interface I think it would be easier to go full python. Hope this helps, BR

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, Were you able to fix this issue ? We are having the same kind of problem using CodeSys 3.5.18...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I think it would be easier for you to use the CAAFile library instead of Sysfile. The File.Open FB of the CAA_File library will directly return a string with the content of your file. You can find examples here.

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I don't know what device you're using but sometimes there is an "Expert Settings" checkbox to select in one of the configuration tab of the device. Once this is checked you may be able to add PDOs ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, In the documentation for the Persistent Manager module, it says that "the writing of a big amount of persistent variables may take a lot of time and can block the respective task very long". How much is "a big amount" ? For example if it's running on a raspberry Pi 3 with 1GB of RAM and a writing speed of around 15 MB/s ? Also there is an indication of a size limitation in the documentation, but what is the limitation on the updating speed ? For example if I want to store one REAL...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, What is the difference between helpme-codesys.com and help.codesys.com ? It looks like both websites contains almost the same information but not exactly...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Thank you for your answer, it works perfectly fine now ! I think I also made a mistake by using a 11 bit driver while some of the IDs on the bus are 29 bits. However the 11 bit driver works with 29 bits ID somehow ? How is this possible ? Also I didn't know the website helpme-codesys.com, what's the difference with help.codesys.com ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, I'm trying to use the CANBus API I found in the CodeSys Store (documentation here) but I can't figure out how the filtering process works. I have a CAN bus with 2 devices and I want to only receive the messages containing a specific ID (10614061). I thought it was possible using the receiver mask object of the CANBus API but I don't understand what I'm supposed to write in the parameters values... FYI I'm running the base example given in the CANBus API and I only tried modifying...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, You can use the SysProcess library to run commands from CodeSys. You can use the SysProcessExecuteCommand2 to run a command and get its output in a string. For example if you wanted to wrap this function in your programm you could do the following : FUNCTION Run_Command VAR_OUTPUT Command_Output : STRING; END_VAR VAR command : STRING := 'ls -al /media/pi'; res : RTS_IEC_RESULT; END_VAR SysProcessExecuteCommand2( pszCommand := command, pszStdOut := Command_Output, udiStdOutLen := SIZEOF(Command_Output),...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm currently experimenting with the CodeSys Persistent Manager and I was wondering if it was possible to change the location of the code generated by the Persistent Manager module ? For example, I have this project structure : And after generating the project from the module tree I get this : I want to be able to put any file generated by the Persistent Manager in a dedicated folder like so : Is there a good way of doing that ? Because moving the files manually will be tedious and raises...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    up

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello everyone, I have a setup with a very slow internet connection between my PC and the PLC, and most of the time when I try to set the active path with the IP address of the PLC the scan times out and CodeSys raise an error "No device is responding to the scan request". Sometimes I get lucky and the scan and login works but it's very rare. Do someone know what is the timeout value used by CodeSys when trying to set the active path ? And is it possible to change this value ? Thank you for your...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I'm glad it helped ! Also you should check out this post, there are other (maybe better) solutions for managing persistant variables :)

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I had problems with that too, what you can do is use the AppRestoreRetainsFromFile and AppStoreRetainsInFile functions from the CmpApp library. Basically, you can use them like so : application_ptr : POINTER TO CmpApp.APPLICATION; res : DINT; // Get application pointer application_ptr := CmpApp.AppFindApplicationByName('Application', ADR(res)); IF application_ptr <> 0 THEN // Restore the variables CmpApp.AppRestoreRetainsFromFile(application_ptr, '/home/pi/retains.ret'); // ... // Store the...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I don't know if it's good practice, but I simply do this to manage the persistant variables in my program: application_ptr : POINTER TO CmpApp.APPLICATION; res : DINT; // Get application pointer application_ptr := CmpApp.AppFindApplicationByName('Application', ADR(res)); // Restore the variables CmpApp.AppRestoreRetainsFromFile(application_ptr, '/home/pi/retains.ret'); // ... // Store the variables CmpApp.AppStoreRetainsInFile(application_ptr, '/home/pi/retains.ret'); To answer your questions, sFilename...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    It looks really useful, thank you ! If I understand correctly, this block monitors every array of my program simultaneously ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I have a question about how CodeSys deals with out of bound accesses. For example if I define an array like so : test_array : ARRAY[0..9] OF BYTE; And in my code if I do : i := 10; test_array[i] := 12; Surprisingly, no exception is raised and the value is written in the memory at the corresponding address. I can even modifiy the values of other variables in the programm by doing that. So my question is : is there a way to detect an out of bound exception ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Thank you very much !

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm trying to use the CodeSys UML package to create diagrams of my CodeSys application. I installed the package but can't find anything related to it in CodeSys. I couldn't find any documentation either on the CodeSys store (https://store.codesys.com/en/codesys-uml.html). Does anyone have ever used this package and could help me find documentation please ?

  • paulpotat paulpotat modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm facing an issue with CodeSys 3.5 SP16 about the size of .project files. What I did : - Create a new empty project - Add a random device (here I added "CODESYS Control Win V3 x64") (Initial size : 114 KB) - Create 50 new empty POUs - Save project (New size : 149 KB) - Remove all previously created POUs - Save project & run Clean All (New size : 118 KB) Why doesn't the size go back to 114 KB ? Repeating this process will make my project size grow to very high values which is not desirable....

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Because after removing what I added, I expected it to be actually removed. It's not actually a mutation if you go back to the initial state of the project. To make an analogy if I create a file on my computer and then delete it, I don't want this file to keep taking storage on my hard drive for no reason...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Can someone try to reproduce the issue please ?

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm facing an issue with CodeSys 3.5 SP16 about the size of .project files. What I did : - Create a new empty project - Add a random device (here I added "CODESYS Control Win V3 x64") (Initial size : 114 KB) - Create 50 new empty POUs - Save project (New size : 149 KB) - Remove all previously created POUs - Save project & run Clean All (New size : 118 KB) Why doesn't the size go back to 114 KB ? Repeating this process will make my project size grow to very high values which is not desirable....

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Please any help is appreciated, even if it's not a full solution to my issue (;-;)

  • paulpotat paulpotat modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm trying to scan an ethercat network to compute the number of slaves on it with CodeSys. My ethercat configuration look like this : Ethercat Master β”œβ”€ Ethercat Slave A β”œβ”€ Ethercat Slave B └─ Ethercat Slave C I'm using a function called "ReadNbrSlaves" from the EtherCATStackLibrary (documentation here). I tried with the provided code example from the documentation which is : PROGRAM PLC_PRG VAR readnbr : ReadNbrSlaves; xRead : BOOL := TRUE; wNbrSlaves : WORD; END_VAR IF xRead THEN readnbr.usiCom...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I'm trying to scan an ethercat network to compute the number of slaves on it with CodeSys. My ethercat configuration look like this : Ethercat Master β”œβ”€ Ethercat Slave A β”œβ”€ Ethercat Slave B └─ Ethercat Slave C I'm using a function called "ReadNbrSlaves" from the EtherCATStackLibrary (documentation here). I tried with the provided code example from the documentation which is : PROGRAM PLC_PRG VAR readnbr : ReadNbrSlaves; xRead : BOOL := TRUE; wNbrSlaves : WORD; END_VAR IF xRead THEN readnbr.usiCom...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I had some similar issues once, and I fixed it by deleting the SysShm library and adding it back with the library manager. Maybe you can try that ?

  • paulpotat paulpotat modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I have a project with one ethercat master device and several ethercat slave devices. I mapped some variables in the "EtherCAT I/O Mapping" Tab of each slave device to use them in my code. My project compile without errors on its own, but when I try to run it on my PLC I get some errors : <device>: The address %IW640 is already used. I'm having a hard time understanding how Codesys maps addresses for each variable. For example here it says the address IW640 is already used but I don't see any...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I have a project with one ethercat master device and several ethercat slave devices. I mapped some variables in the "EtherCAT I/O Mapping" Tab of each slave device to use them in my code. My project compile without errors on its own, but when I try to run it on my PLC I get some errors : <device>: The address %IW640 is already used. I'm having a hard time understanding how Codesys maps addresses for each variable. For example here it says the address IW640 is already used but I don't see any...

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    It works fine, thank you very much !

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I was wondering if multi-line editing was implemented in CodeSys ? I looked for it in the documentation but couldn't find anything. I'm talking about multi-line editing as it's done in VS Code for instance (see this website). Thanks for your help Regards

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Thank you very much !

  • paulpotat paulpotat posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hello, I would like to check for the validity of a pointer in CodeSys but I can't find how to do that anywhere... How could I do that ? I would like to be able to do something like that : IF myPointer = NULL THEN ... I found this (https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_obj_pou_checkpointer/) in the documentation but I don't understand how I'm supposed to use that. Hoping somebody can help me, have a good day !

1