Search talk: Object reference not set to an instance of an object

 
<< < 1 .. 50 51 52 53 54 .. 287 > >> (Page 52 of 287)

Post by pppn on Issue with Forward Open Connections in Ethernet/IP Protocol Stack in Codesys CODESYS Forge talk (Post)
Hello, I am facing an issue with my Ethernet-based project in Codesys. My product was functioning well until I modified the protocol stack and uploaded it to my device. Here are the details of my problem: Project Setup: I am working on an Ethernet-based project to test my product. The project was running without issues before modifying the protocol stack. Issue: After modifying the protocol stack and uploading it to my device, I am encountering an error in Codesys related to the forward open connections. Error status: connection failure, extended: connection in use or duplicate forward open. According to the Ethernet/IP protocol, there are three forward open connections that need to be established. The first two connections are opening without any issues. The third connection, which is an input-only connection, is causing problems. The error message indicates that the connection is already open. Debugging Attempts: I have extensively debugged the protocol stack and found no issues. The product works well when tested with EIP tools but not with Codesys. Exclusive owner connections are working correctly, and only the input-only connection is problematic. Wireshark Traces: Wireshark traces show that the third connection attempts to open but reports that it is already open. Steps to Reproduce: Modify the protocol stack and upload it to the device. Attempt to establish three forward open connections in Codesys. Observe the error on the third connection (input-only). Request: I would appreciate any suggestions or guidance on how to resolve this issue. If there are specific settings or configurations in Codesys that I need to check, please let me know. Additionally, if there are known issues or workarounds related to this problem, I would be grateful for the information. Attachments: Wireshark traces showing the connection attempts and errors Screenshots of the error messages in Codesys codesys version: CODESYS V3.5 SP16 Patch 3 + 64 bit
Last updated: 2024-06-25

Post by gurke258 on Codesys Safety EtherCAT with Beckhoff CODESYS Forge talk (Post)
Hello :) We are currently configuring a system with Codesys as SoftPLC on a Linux system and with Beckhoff terminals. I have already gained some experience with Codesys and also with TwinCat incl. TwinCAT Safety. What is new to me now is Codesys in conjunction with Beckhoff safety terminals. We are currently using an EL1918 & EL2904 here. I have been able to integrate both terminals into my project, but I don't know how to interconnect them so that they communicate. That's a bit easier with Twincat ^^ Can any of you help me? I would also prefer a Codesys EtherCAT Safety training or webinar if anyone knows of one. Unfortunately I can't find such an event on the internet.
Last updated: 2023-11-07

Post by eguerra on Error in ScriptingEngine Docs - create_pou() CODESYS Forge talk (Post)
In the ScriptingEngine documentation there seems to be an error (or missing information) in the ScriptIecLanguageObjectContainer part ( https://content.helpme-codesys.com/en/ScriptingEngine/ScriptIecLanguageObjectContainer.html#ScriptIecLanguageObjectContainer.ScriptIecLanguageObjectContainer ). The description of the function create_pou() doesn't specify the correct arguments requested, it only says create_pou(type: SpecialPouType) and a script using the documentation definition of the function will raise an error. I tried passing the function arguments similar to the ones specified for the create_dut() function and it seems to work fine: create_pou(name, PouType) , name : str UPDATE: The offline help has the correct definition IExtendedObject<IScriptObject> create_pou( string name, PouType type = PouType.FunctionBlock, Nullable<Guid> language = null, string return_type = null, string base_type = null, string interfaces = null )
Last updated: 2024-08-05

Post by tama00 on GPIOs not running with Raspberry Pi 4 (and SPI connection) CODESYS Forge talk (Post)
Hello everyone, I have a working SPI connection (with transferExt) between a Raspberry master with Codesys and an ESP32 slave. I would also like to use a few GPIO pins. Is there a problem with using SPI AND GPIOs? Environment: Raspberry Pi 4+ with Raspian from Oct 23 Codesys V3.4 SP19 Patch 5 with Runtime Version 4.10.0.0 Device: GPIOs B+/Pi2 My problem: The status is displayed as “GPIOs : not running”. And also during mapping the message “The bus is not running. The values shown are perhaps not actual”. However, the variable changes that I make in my program are displayed under “Current Value”. In the Logic Analyzer, the pin toggles during transmission with small intervals of +-4us (seems to be a cyclical disorder, but I don't know where exactly it could be coming from). This applies to pins that I actually use (output) but also to the other GPIOs (not used). With GPIO 4, the line remains permanently high. Attached is a screenshot from the Logic Analyzer. Channel 1,3,5 were GPIO pin 26, 22, 17 Would be very grateful for help. Best regards
Last updated: 2024-05-06

Post by brell on Automatic xExecute NBS.TCP_write CODESYS Forge talk (Post)
I've recently started experimenting with CODESYS for a project and am fairly new to it. I'm currently working with Function Block Diagrams (FBD) to set up TCP communication between a server and a client, where the client is implemented as a Python script. Once the communication is established, my connection status changes to True, which is the expected behavior. My challenge arises with the TCP write module, which requires the xEnable_write flag to toggle between True and False. If xEnable_write remains True, the module only performs a single write operation. To address this, I introduced a falling edge trigger (F_TRIG), expecting it to help in toggling xEnable_write and it does, However, I've encountered an issue where in the beginning after connxion established I need to manually set xEnable_write to True for the system to work as intended. I'm looking for a way to automate this process so that xEnable_write becomes True automatically upon establishing a connection . Initially, I tried setting xEnable_write to True from the start, but this approach didn't work well since it left the flag permanently True, preventing further toggling. I also experimented with using a TON timer, but I faced similar issues. I am seeking a solution that automatically toggles xEnable_write between True and False after a connection is established, ensuring continuous write operations without manual intervention. Any advice or guidance on how to achieve this would be greatly appreciated."
Last updated: 2024-03-05

Post by darko7417 on When running as a service, CodesysControl doesn't write log files to the disk (and other CmpLog related issuess) CODESYS Forge talk (Post)
I run CODESYS runtime as a service and use CmpLog (the LogAdd2 function) to log different events to a file. I have done this many times before on various projects and hardware, and it works fine. On this particular system, I have CODESYS 3.5.20.40 running on a Windows 11 PC. The CODESYSControlService autostarts (with Local System credentials, the default), and the application runs fine. However, the configuration file is not read (or at least not the one that should be, or not the CmpLog section), and log files are not written to the disk. I would be thankful if anyone knew why this is happening and how to fix it. A note to CODESYS people: you must provide more information on the codesys configuration file, CODESYSControlService.exe and other major components and system behaviour. You created the service and various features (i.e. logging), but haven't explained how they work, which, in my opinion, is below standard for industrial automation software. These are my observations: - When running as a service, the config file is not read (none of them), or at least the CmpLog section is not read. I checked the log using Codesys IDE, and the CmpLog parameters are not the ones I have set in any of the config files. Which CmpLog config values does the service use, and where does it read them from? I have no idea, but it's not the config files. Here are the codesys config files I located on the PC's disk: o C:\Program Files (x86)\CODESYS 3.5.20.40\GatewayPLC\CODESYSControl.cfg (only 2 lines in this config) o C:\Program Files (x86)\CODESYS 3.5.20.40\GatewayPLC\AppDataFiles\CODESYSControlWinV3\CODESYSControl.cfg o C:\Users\SRV\AppData\Roaming\CODESYS\CODESYSControlWinV3\C4DBB537\CODESYSControl.cfg o C:\Program Files (x86)\CODESYS 3.5.20.40\GatewayPLC\tempCFG\CODESYSControl.cfg - When I run codesys as an app (e.g. by clicking the icon), this config file is read C:\Users\SRV\AppData\Roaming\CODESYS\CODESYSControlWinV3\C4DBB537\CODESYSControl.cfg and log files are written ok. The icon target is "C:\Program Files (x86)\CODESYS 3.5.20.40\GatewayPLC\CODESYSControlService.exe" -d o the -d option, I think, starts a cmd-like window showing service debug output (the output shown in log in the IDE) o the -i option, again I think, means install the service - I tried adding -d to service start parameters in the registry, but it started only once and after that it refused to start. Knowing what -d does and which other options are available would be great (e.g. can I make the service read a different config file). - Syslog UDP logging works fine in any case. - These are my CmpLog parameters ~~~ [CmpLog] Logger.0.Name=PlcLog3 Logger.0.Filter=0xFFFFFFFF Logger.0.Enable=1 Logger.0.MaxEntries=10003 Logger.0.MaxFileSize=50003 Logger.0.MaxFiles=33 Logger.0.Backend.0.ClassId=0x0000010B ;sends logger messages to SysOut Logger.0.Backend.1.ClassId=0x00000104 ;writes logger messages in a file Logger.0.Backend.2.ClassId=0x00000135 ;sends logger messages as UDP syslog Logger.0.Type=0x314 ;Set the timestamp to RTC ~~~
Last updated: 2025-02-27

Post by krisj on ScriptEngine POU property Get and Set accessor. CODESYS Forge talk (Post)
Hey! I am trying to generate a function block with properties from a list with script engine. Codesys/ScriptEngine creates both the Get and the Set accessor. I cannot find a way to delete the Set method/accessor. Anyone encountered the same problem or have a solution for this? for prop_name, prop_type in list: property = pou.create_property(prop_name, prop_type) get = pou.find("Get", recursive=True)[i] get.textual_declaration.replace("") get.textual_implementation.replace(prop_name + " := " + struct_name + "." + prop_name + ";") set = pou.find("Set", recursive=True)[i] set.textual_declaration.replace("") set.textual_implementation.replace("") i += 1
Last updated: 2025-03-17

Post by madskaizer on ModbusTCP Slave Device, maximum uiClientConnections? CODESYS Forge talk (Post)
I got a Wago PFC200V2, running Codesys 3.5.16.40, 100ms scan cycle, consumes about 20ms. It will randomly crash the runtime every 10 minutes to a few hours. We suspect an overloaded ModbusTCP Slave Device, as this is work done by a 3rd party contractor, but we can not find anything in the help files or documentation, that mentions a hard limit on maximum number of clients connections. This PLC currently has 44 client connections to the Slave Device and 29 slaves configured for its own Master Device. This topic metnions a hard limit of maximum 16 connections, but where is this written? https://forge.codesys.com/forge/talk/Engineering/thread/bd95b9d6d2/
Last updated: 2025-03-26

Post by andrej on Write to File on soft PLC winV3x64 CODESYS Forge talk (Post)
Hello all, I would like to store some data in text file. I use the soft PLC Win V3x64, on Windows 10. I use the SysFile Library 3.5.17.0. If I store the file directly in the in the directory of the PLC i.e. in '/CODESYSControlWinV3x64/E1FA7ABE/PlcLogic/LogAU.txt' the file is correctly filled with the data. However, If I use an absolute path to a different directory no data is stored in the respective file. Despite the fact that the respective file exists and the Filehandler is correctly opened (see in picture _fdSysFHandle <> -1). // sFileName : STRING := 'LogAU.txt'; // STORES FILE IN ../CODESYSControlWinV3x64/../PlcLogic/LogAU.txt' sFileName : STRING := 'C/Temp/LogAU.txt'// DOES NOT WORK --------------------- // FILE DESCRIPTOR _fdSysFHandle := SysFile.SysFileOpen( szFile:= sFileName,am:= SysFile.AM_APPEND,pResult := ADR(_Result)); Does some have an idea where the problem is, resp. how I can get store a file in an arbitrary directory. Thanks a lot and kind regards Andreas
Last updated: 2023-10-24

Post by tokamk on Dynamic setting of the modbus tcp/ip slave ip address CODESYS Forge talk (Post)
Hello, I'm working on a project which includes Panel-PC which communicates with a PLC through Modbus TCP/IP. On the PLC I have a CODESYS code which has Modbus slave objects. The Modbus slave objects have to have manually set IP address in order for them to work properly and the Ip address has to be the PC-Panels's IP. This project is going to a customer and they're using their own IP address realm. So, my question is that is it possible to configure these slaves in some other way, so that the customer doesn't need to modify the CODESYS project? I was thinking that would it be possible to set the IP address of these slaves from external source?
Last updated: 2024-02-15

Post by janber0206 on Gateway doesn't come online, regarding a working internet connection CODESYS Forge talk (Post)
Solved (see comment) Setup: Kunbus RevPi Connect+ (a raspberry based PLC) Codesys runtime package: 4.5.0.0 (raspberry, armhf) based on Codesys V3.5.18.20 Edge Gateway: 4.5.0.0 (edgearmhf,armhf) EN: The edge-gateway was added over a year ago to the automation server. I now need to make a few changes to the Codesys software, but the Pi is not showing as online in the Automation Server. Internet connection is established, I have remote access to the Pi via RealVNC. Anyone have an idea how I can solve this? Some screenshots added. DE: Ich muss nun ein paar Änderungen an der Codesys-Software vornehmen, aber der Pi wird im Automation Server nicht als online angezeigt. Die Internetverbindung ist hergestellt, ich habe über RealVNC Fernzugriff auf den Pi. Hat jemand eine Idee, wie ich das Problem lösen kann?
Last updated: 2023-10-26

Post by esave on OPC UA Server with on Codesys + OPC UA Client on Labview CODESYS Forge talk (Post)
Hello everyone I want a communication between my PLC as an OPC UA Server and Labview on my PC as the OPC UA Client. I have an Festo CPX-E-CEC-C1-PN PLC and I have the OPC UA Toolkit from Labview. I created some Variables for testing (see picture 1) on Codesys. I tried to use this Labview block diagram (see picture 2) but I cant connect the PLC to it. What do I have to type in the Server Endpoint URL and what in the Node ID? Is this a good way for communication with a PLC to a PC? If not is there another way?
Last updated: 2024-04-12

Post by installwhat on C0077 on one machine but not another CODESYS Forge talk (Post)
https://forge.codesys.com/forge/talk/Engineering/thread/92c913bf7c/ Solved by changing the ethercat master version after reading the thread linked above. I think I need to read up on why this happened. I understand that placeholders should point to a particular version for obvious reasons however what has occurred in this instance is different. The example project was released as a "project archive" but it seems to load differently based on what I've got installed in my repositories. I'm going to dig into that tomorrow but any advice is welcome.
Last updated: 2024-06-11

Post by mp9876 on Problems with simulation in Window 10 CODESYS Forge talk (Post)
Hi Automa, it seems the solution you were bringing up on 2022-04-06 could really help me as I did not remember the password I initially set. My problem though is that I am using Codesys Control Win V3.5 SP19/60 (64 bit) and I cannot locate any of the files you listed up there. I have been looking inside folder: C:\Program Files\CODESYS 3.5.19.60\CODESYS\ and they appear not to be present at all neither in the CODESYS folder or any sub-folders. Uninstalling and re-installing unfortunately does not do the trick. Any idea how I could get out of the ditch on this issue ? Anyone else maybe ? Thanks
Last updated: 2024-03-18

Post by jasperclauwaert on Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS) CODESYS Forge talk (Post)
Hi everyone, I’m working on a WAGO PFC100 with CODESYS. During development everything worked fine, but in the final stage I set several variables to PERSISTENT RETAIN. When I go online, most of these persistent variables cannot be monitored. Instead, I see: <Value of the expression cannot be retrieved> Interestingly, a few variables do show their values correctly, but the majority do not. The variables are not used as pointers or in any unusual way. The application compiles and runs without errors. Has anyone experienced this before? Is this a known issue with PFC100 or CODESYS? Any ideas on what could cause this behavior? Thanks in advance! Jasper
Last updated: 2025-10-23

Post by jasperclauwaert on Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS) CODESYS Forge talk (Post)
Hi everyone, I’m working on a WAGO PFC100 with CODESYS. During development everything worked fine, but in the final stage I set several variables to PERSISTENT RETAIN. When I go online, most of these persistent variables cannot be monitored. Instead, I see: <Value of the expression cannot be retrieved> Interestingly, a few variables do show their values correctly, but the majority do not. The variables are not used as pointers or in any unusual way. The application compiles and runs without errors. Has anyone experienced this before? Is this a known issue with PFC100 or CODESYS? Any ideas on what could cause this behavior? Thanks in advance! Jasper
Last updated: 2025-10-23

Post by latassan on RaspberryPi 5 gateway problem CODESYS Forge talk (Post)
Hello, I'm trying to use a raspberryPi 5 as a PLC. I fixed its IP address, I can ping it. I've also installed the CODESYS Control for Raspberry Pi 64 SL runtime on it. So I've created a gateway (IP address of the Raspberry, TCP port 1217). I see the green dot next to this gateway. When I do a network scan, I can see my raspberry (see photo). When I try to connect to it, I have to define an administrator profile, which I do. On validation, I see a message: No device is responding to the scan request. I've checked that port 1217 is listening on the raspberry, I've uninstalled the runtime then installed it again, but I can't connect. Also, when I try to configure the user groups before connecting, I see that Offline mode is not supported by the device, even though I'm connected to it in the Deploy Control SL tab. When I try to refresh, I see: Gateway not configured properly. How can I connect to my Raspberry? Have I defined my gateway incorrectly?
Last updated: 2025-06-12

Post by tvm on Cannot pass array of constant size to a function as a reference CODESYS Forge talk (Post)
maybe this would be a better approach, then you don't have to pass the constant at all. FUNCTION fun : INT VAR_IN_OUT arr: ARRAY[*] OF INT; END_VAR VAR lower: DINT; upper: DINT; END_VAR lower:= LOWER_BOUND(arr, 1); upper:= UPPER_BOUND(arr, 1); see here as well https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_datatype_array/
Last updated: 2024-01-08

Post by paulorb on STRUCT AT %MW1000 CODESYS Forge talk (Post)
Hi I am trying to use STRUCT to parse commands from Modbus/TCP, Modbus client will fill the bytes related to a specific command (type, parameters), then PLC (Codesys) will access the command parameters. A STRUCT will simplify a lot the process of parsing the data, so I don't need to parse byte per byte, address will be mapped to a struct and I can use it for parsing the data. From what I understood, the compiler does not allow me to specify the location of the struct for a %MW register. VAR_COMMAND AT %MW1002: structGenericModbusCommand; This will throw: Bad declaration, use '%ML' for 'structGenericModbusCommand' variable But If I change it to %ML, when you go online you see that it is actually allocating the struct in another memory address. When we go online, on GVL we can see: VAR_COMMAND. structGenericModbusCommand %ML1002 commandType COMMANDTYPE %MB8016 ... %MB8020 I am not specifying a pointer or a reference it is a struct type, why is it mapping to a %MW location (random one). How can I control where it is mapping to? I need a consistent way to map STRUCT to specific modbus address. Is it possible? Thanks, Paulo Note I am using a Codesys OEM: Schneider Machine Expert Logic Builder (M241)
Last updated: 2024-08-13

Post by eschwellinger on Persistent variables are not read after initialization CODESYS Forge talk (Post)
no need to activate application composer. It is part of the licensefree part.
Last updated: 2024-10-11

Post by eschwellinger on Server not adding PLC CODESYS Forge talk (Post)
which plc type do you try to add? Unique serial numbers of the plc are mandatory too.
Last updated: 2025-02-17

Post by eschwellinger on Save Recipe on Paspberry CODESYS Forge talk (Post)
permissions, since a security related change it is not allowed to save files outside of the Plclogic directory. Use /var/opt/codesys/Plclogic/
Last updated: 2023-12-29

Post by dkugler on Toggling Visualizations using HMI Physical Buttons CODESYS Forge talk (Post)
post a screenshot of the ladder and the error message. I'm not able to have a lock at your monitor actually :-)
Last updated: 2024-02-13

Post by pistola on Visualization Size - Set Layout CODESYS Forge talk (Post)
I feel like this is a setting issue and I can't seem to find the right setting. I have a new project that I'm looking to add visualizations to however when I select my template size (1280 x 800) I make sure in my properties under the visualization tab, I have "Use specified visualization size" selected and my width set at 1280 and height set at 800. Now within my visualization editor I can't see to get the size outside of my template to grey out. I've attached a PDF showing what I'd like the visualization editor to look like and what mine currently looks like. Any help would be greatly appreciated.
Last updated: 2024-11-12

Post by rkohser on Scripted Git clone / checkout being blocked by "Project Environment" popup CODESYS Forge talk (Post)
Hi, I am trying to build a CI/CD pipeline around our codesys projects. The only entry point if the git url and branch, as we do not put our project file under source control, so we needed to find a way to git clone from the python scripting engine. This is currently how we do this : system.commands["Git", "Clone"].execute( "ProjectLocation=" + project_dir, "ProjectName=" + project_file_name, "RemoteUrl=" + project_git_remote_url, "GitProjectStoragePath=" + project_git_local_dir, ) system.commands["Git", "Checkout", "Branch"].execute( "PrimaryProjectHandle=0", "BranchName=origin/" + project_git_branch ) This works fine, except that, depending on the environment and the project, the "Project Environment" popup gets displayed to suggest for some updates, and waits for a user interaction, even with the "--noUI" flag injected as parameter. I investigated the VersionUpdateFlags, but the problem is that the git clone is an atomic operation that clones and directly opens the generated project without the possibility to inject any updateFlags argument (only used in the ScripProjects.open() function. I also tried to simulate some keyboard events acknowledge the window from script but I did not find the right location for the SendKeys statement, I think before the git clone call is too early and after is too late. So I am wondering if there would be some other way to do that. Is there some more proper scripting api for the git add on ? Is there a global configuration of the VersionUpdateFlags that would allow the popup to be disabled outside from any project context ? Is there some way to automatically acknowledge this kind of messages in a "--noUI" mode ? What do you suggest ? Thanks for your help, Roland Edit : I managed to solve my problem by following these steps in my pipeline : - create a template of a project and opt file preconfigured not to open the popup - open this project - initialize an empty git repo - add the remote, fetch and checkout the needed branch -> no popup is displayed, hourra Edit2 : The initial question was raised on a CODESYS V3.5 SP18 Patch 2 profile. Since CODESYS 3.5.19.30 a scripting API is available for Codesys Git that allows cloning a project with the support of VersionUpdateFlags https://content.helpme-codesys.com/en/CODESYS%20Git/_git_using_scripting.html
Last updated: 2024-01-19

<< < 1 .. 50 51 52 53 54 .. 287 > >> (Page 52 of 287)

Showing results of 7156

Sort by relevance or date