Post by anlebr on Codesys Communication Manger - Required information model version exists in the model repository but is not found
CODESYS Forge
talk
(Post)
Hi I am trying use the Codesys Communication Manager to set up an Opc ua server with a custom information model. As a start I am using the Boiler model available on Opc foundations github page. I am testing with a Wago CC100 and using Codesys V3.5 SP19 Patch 6. I get the following error: Communication Manager [Device: PLC Logic: Application]: The information model http://opcfoundation.org/UA/ is required by http://opcfoundation.org/UA/Boiler/ with a minimal publication date from 15/12/2023 but the device has only a model from 15/09/2021 installed. Probably the information model from 15/09/2021 is missing in the information model repository. The error message does not make sense to me. Should it not be “Probably the information model from 15/12/2023 is missing in the information model repository”? Anyway, both versions are available in the repository. How can I solve this?
Last updated: 2024-03-13
Post by squiggleypuff on RemoteTargetVisu creates Unresolved Reference
CODESYS Forge
talk
(Post)
I have a project with a Festo CPX-E-CEC-C1-PN PLC (Run-time version 3.5.12.50) that I have been developing on just fine using Codesys V3.5 SP19 Patch 5 (64bit). I am at the stage where I wanted to use the Festo HMI screen, and have added a RemoteTargetVisu object to my application. After adding this object, I am no longer able to log in to the PLC as I get an Unresolved Reference warning for 'USERMGRUSERGETPROPERTY' towards the end of the download process. I was able to find this post (https://forge.codesys.com/forge/talk/Visualization/thread/fc686a6cb2/) where the two possible solutions are to "set the placeholder to emtpy" or update the runtime. Problem is, I don't know how to do either of these things, as I'm still very green in Codesys land. I'd be happy to update the Festo PLC runtime, as that seems like the better option, but have not had any luck in finding a tutorial for this online. If anyone could point me in the right direction I'd appreciate it.
Last updated: 2024-03-19
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 caprez95 on Trace Restart Visuelement
CODESYS Forge
talk
(Post)
Hallo zusammen. Ich habe schon länger mit dem Problem zu kämpfen, dass ich einen Trend (Visuelement) nicht resetten (neustarten) kann. Ich habe es jetzt mit dem Beispiel hinbekommen, die Trace-Aufzeichnung über die CmpTraceMgr Bibliothek zu steuern. Aber wie bekomme ich diese Trace-Aufzeichnung in ein Visuelement? Der Code sieht wie folgt aus: // Configure trace IF xInit THEN // Create a trace packet PacketConfig.pszName := ADR('IECTraceConfiguration.Trace1'); // Name of trace PacketConfig.pszApplicationName := ADR('IECTraceConfiguration'); // Name of the application PacketConfig.pszIecTaskName := ADR('Task'); // Name of the task PacketConfig.pszComment := ADR('Demo packet'); PacketConfig.ulEveryNCycles := 1; PacketConfig.ulBufferEntries := 1000; PacketConfig.ulFlags := TRACE_PACKET_FLAGS.TRACE_PACKET_FLAGS_TIMESTAMP_MS AND TRACE_PACKET_FLAGS.TRACE_PACKET_FLAGS_AUTOSTART; IF (NOT fbTraceManager.CreatePacket(PacketConfig := PacketConfig, hPacket=>hPacket1)) THEN xError := TRUE; END_IF // Create a trace record RecordConfig.pszVariable := ADR('iSignal'); // This is the name of variable to record RecordConfig.tcClass := INT_TO_UDINT(TypeClass.TYPE_INT); // Type of the recording variable RecordConfig.ulSize := SIZEOF(iSignal); // Size of the recording variable pApp := AppFindApplicationByName('IECTraceConfiguration', 0); AppGetAreaOffsetByAddress(pApp, ADR(iSignal), ADR(RecordConfig.tvaAddress.taAddress.Area.usArea), ADR(RecordConfig.tvaAddress.taAddress.Area.ulOffset)); // Get and set area offsets RecordConfig.tvaAddress.ulAddressFlags := TRACE_VAR_ADDRESS_FLAGS_IEC OR TRACE_VAR_ADDRESS_FLAGS_AREA_OFFSET; RecordConfig.ulGraphColor := 16#FF00FF00; // green RecordConfig.ulGraphType := 1; // Line with points IF (NOT fbTraceManager.AddRecord(RecordConfig := RecordConfig, hPacket := hPacket1, hRecord => hRecord1)) THEN xError := TRUE; END_IF xInit := FALSE; END_IF // Starts the recording IF xStart THEN IF (NOT fbTraceManager.StartPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xStart := FALSE; END_IF // Stop the recording IF xStop THEN IF (NOT fbTraceManager.StopPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xStop := FALSE; END_IF // Reset the recording IF xReset THEN IF (NOT fbTraceManager.ResetPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xReset := FALSE; END_IF
Last updated: 2024-06-04
Post by bertus on Can't get SMC_SmoothPath to work
CODESYS Forge
talk
(Post)
Hi Georg, thanks for your time. What is the value of D_ANGLE_TOL? It is set to 0.01. Do you need the assignment bAbort := NOT bDecoder? Does it help to leave it out? This seems to make no difference. Any errors (e.g. SMC_SmoothPath.Error/ErrorID) or PLC log messages? No errors or log messages. What if you comment out SMC_SmoothMerge and SMC_LimtiDynamics, is corner smoothing still not working? Indeed. Is bDecode written from a different task (e.g. visu)? Then I would recommend to assign to a local variable (bDecodeLocal := bDecode) and use that for all FBs. Otherwise, FBs might see different values of bDecode in a single cycle, which will cause problems. It is a local variable, written from a state machine inside this program. But there is new information: During some trial and error, I tried skipping "stage 2: merge short linear segments" (SMC_SmoothMerge). And suddenly it rounds the corners, see attached image. Looking a bit closer, I noticed that (with the original program) after a download (cold start?), it in fact did round the corners, but only once. Ever next cycle in which the NC program was executed, the corners where not rounded. Not sure if there is any relation, but SMC_SmoothMerge is also the only FB which has no bAbort input. Perhaps I need to reset it (or any buffers) by other means?
Last updated: 2025-12-18
Post by risele on Modbus connection via Qronox PCD3 M6893
CODESYS Forge
talk
(Post)
First, if you don't need to change conversion rules in runtime, take a look at "Unit conversion" module (Application -> add object -> UnitConversion). You can specify there biderectional conversion with different units, limits and so on. Second, since MODBUS don't have "real" types but only general 16-bit registers and Real is 32-bit, generally you need a byte-was conversion Real <> two Words. Note, that depending on the devices on both sides, there are two options: Real-> Word1, Word2 or Real-> Word2, Word1, where Word1 is minor register in Modbus register pair and Word2 is major. You can use simple union: TYPE u_Real : UNION rVal:REAL; wVal:ARRAY[0..1] OF WORD; dwVAL:DWORD; //same as previous, may be easier to specify the MB register END_UNION END_TYPE and convert it as following: VAR myUnion:u_Real; rValue_TO_SEND:REAL; rValue_TO_GET:REAL; END_VAR myUnion.rVal:=rValue_TO_SEND; rValue_TO_GET:=myUnion.rVal; Note, that WORD-order should be properly set in MODBUS registers, otherwise you will get strange values. This tool is helpful: https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Alternative, you can use functions as REAL_TO_DW and DW_TO_REAL from OSCAT_BASIC, for example.
Last updated: 2026-02-19
Post by roundex on CSVReaderInit returns error : INVALID_HANDLE
CODESYS Forge
talk
(Post)
I got same issue but managed to get it to work again by downgrading the Runtime. Here's my specs: CODESYS V3.5.19.0 Runtime Linux SL 4.7.0.0. CSV Utility SL 1.1.0.0 (Licensed IIoT libraries SL) I tried Runtime 4.8.0.0. and 4.9.0.0 but both result in INVALID_HANDLE error.
Last updated: 2023-08-30
Post by aguado on Setting up the "Visual Studio Code" debugging environment (using .NET debugging) for use with the ScriptEngine API in Python.
CODESYS Forge
talk
(Post)
Hi, did you ever get this to run? Best Till
Last updated: 2023-09-12
Post by transmin01 on CANbus issue
CODESYS Forge
talk
(Post)
Hi, I have been trying to get a CANbus device working with Codesys 3.5SP19 patch1 via a Beckhoff EL6751 gateway without success. I have the CANOpen_Manager and CANopen device configured but this will not run. Is there any code required to kickstart the CANbus comms into action? Regards Trevor
Last updated: 2023-09-13
Post by fleaplc on FILE_OPERATION_DENIED
CODESYS Forge
talk
(Post)
By using the CAA FILE library (FB FILE.Open) (raspberry pi, codesys 3.5.19.0) I always get the error FILE_OPERATION_DENIED The file exist, it has r/w/x access and path is correct... Some idea to fix it?
Last updated: 2023-09-25
Post by derpaul on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
Thank you very much so far - As I finaly decided to make an update on the PFC200 - as I've to get it up and running again. But something failed there and no I'm having an other Problem :-( I'll come back to this, when the error comes back!
Last updated: 2023-09-28
Post by armall on USB <-> CAN, CANfox, Component CmpCANFoxDrv NOT loaded
CODESYS Forge
talk
(Post)
@eschwellinger, I don't understand what you mean by 'CANfox must also go' (English translation). Do you mean that the support for the CANfox must go? Have you any guidance as to get this working?
Last updated: 2023-10-16
Post by chris12345 on FILE_OPERATION_DENIED
CODESYS Forge
talk
(Post)
Hello everyone, I am using SP19 patch 2 on a Kunbus device with runtime package 4.9.0.0. I am having the same problem as mentioned above. With the FB File.open I get the FILE_OPERATION_DENIED error. I have also tried the path /var/opt/codesys/PlcLogic. Any advice? Chris
Last updated: 2023-10-17
Post by fabian on Trace commands via Test Manager
CODESYS Forge
talk
(Post)
Hello Yuridnb, Did you get any further with this project? I'm standing at a similar point and would like to hear from any experiences made so far. :-) Best regards, Fabian
Last updated: 2023-12-05
Post by lhohmann on EtherNet_IP_Scanner - No driver found
CODESYS Forge
talk
(Post)
I've managed to run Ladder logic code on a virtual PLC running on my laptop. Now, I want to connect to a device over EthernetIP, but I always get the "No driver found" message. Can anyone shed me some light?
Last updated: 2024-07-02
Post by pwedel84 on Wago PLC Crashing and Cant Reconnect
CODESYS Forge
talk
(Post)
Hi happychappy, Did you ever get figured out what your problem was or how to solve it? I am running into the same issues with the 750-880...
Last updated: 2024-07-30
Post by ruzickajan on WAGO RS485 (753-652) on a 750-362
CODESYS Forge
talk
(Post)
Hi I will be dealing with the same issue soon. I would appreciate any advice and i will try to help after I get on the Issue.
Last updated: 2024-08-02
Post by robert-o on Converting hex bytes to float
CODESYS Forge
talk
(Post)
Try OSCAT_BASIC and Function DW_TO_REAL. DWORD_OF_BYTE my although help. The Lib is open and free. It is not necessary to add this Lib, you can use/copy the source code just to get an idea.
Last updated: 2024-08-05
Post by elayaraj on Codesys Soft PLC OPC UA server
CODESYS Forge
talk
(Post)
Hi, You may refer to this below video link to get some idea.. hopefully it works https://www.youtube.com/watch?v=RBMff-IlPA4
Last updated: 2024-08-30
Post by timvh on Help with DynamicTextGetTextW
CODESYS Forge
talk
(Post)
First of all you need to enable "Use unicodestrings" in the Visualization Manager. This function returns a pointer to a WSTRING (not STRING). To get this wstring value, do something like this: VAR myWstringVariable : WSTRING(255); END_VAR myWstringVariable := myResult^; // this is dereferencing the pointer to the WSTRING.
Last updated: 2024-09-03
Post by thedertom on Help with DynamicTextGetTextW
CODESYS Forge
talk
(Post)
Hi TimvH, thanks for your reply. Yes I got that figured out now. However: in "myWstringVariable" it will only store the first character of the text. How do I get the full text?
Last updated: 2024-09-03
Post by jobtc on Count alarms within a Class or Group
CODESYS Forge
talk
(Post)
Is it possible within codesys 3.5 SP16 Patch 5, to get some data from the alarm manager? For example: i want to know how many alarms i have within a class Thx for the help
Last updated: 2024-09-13
Post by jari-koivuluoma on Get text from textlist
CODESYS Forge
talk
(Post)
Are your texts WSTRING? maybe you should try WSTRING versions. I have a vague memory of having to switch to TextListUtils library also.
Last updated: 2024-09-19
Post by karel-bas on Loosing connection to emulation running on Linux
CODESYS Forge
talk
(Post)
Ok. I ran the vm twice until it failed and from log it seems like my OPC UA fails becouse I am not able to get HTTPs certificate ? I dont really see any other reason.
Last updated: 2024-09-20
Post by tobthi on Ethernet/IP
CODESYS Forge
talk
(Post)
Hello, I have a Cognex camera that I would like to add to my Codesys program. Communication should work via Ethernet/IP. However, I always get the following error message, which is why I can't add the camera.
Last updated: 2024-09-23
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.