Post by reinier-geers on SysFileOpen does not work after update to V3.5 SP19 Patch 5
CODESYS Forge
talk
(Post)
At 19.1 the hFile_test should be RTS_IEC_HANDLE and always open-write - close in one cycle udi_handle: RTS_IEC_HANDLE; //handle-number. Is created by SysFileOpen udi_handle:=SysFileOpen(sFileName,Sysfile.AM_WRITE_PLUS, ADR(udi_ErrorCode)); udi_RetValWrite:=SysFileWrite(udi_handle, pRemBuffer, szRemBufSize, ADR(udi_ErrorCode)); //closing file IF udi_RetValWrite < szRemBufSize THEN ui_Error:=cWriteError; END_IF//error writing data udi_ErrorCode_Close:=SysFileClose(udi_handle);
Last updated: 2024-02-19
Post by landhen on Codesys HMI with a non codesys programmed controller
CODESYS Forge
talk
(Post)
Hello, I would like to know, if it is possible to use codesys for a visualization of parameters in a controller (not PLC) not programmed using Codesys. I intend to use codesys for the visualiztion, and do not know yet what I may require.
Last updated: 2024-02-21
Post by john-robinson on Limiting Memory Access of an Array to Within its Bounds
CODESYS Forge
talk
(Post)
Recently we had an issue regarding some simple code to calculate a rolling average. The code indexes from zero to 199 to properly store the current input into a circular buffer which then allows us to calculate a rolling average: VAR input_5s : REAL; outs_arr : ARRAY[0..199] OF REAL; i : USINT := 0; END_VAR ___ //this code runs every five seconds, calculating a rolling average outs_arr[i] := input_5s; i := i + 1; output := OSCAT_BASIC.ARRAY_AVG(ADR(outs_arr), SIZEOF(outs_arr)); IF i >= SIZEOF(outs_arr) THEN i := 0; END_IF There is a simple bug in this code where the index will be set to 0 when it has surpassed the length of the array in bytes (800 in this case) rather than larger than the number of reals in the array (200). The solution here is simple, replacing i >= SIZEOF(outs_arr) with i >= SIZEOF(outs_arr)/SIZEOF(outs_arr[0]). In this example when the index increased to 201 and the line outs_arr[201] := input_5s was called, codesys arbitrarily wrote to the address in memory that is where outs_arr[201] would be if the array was that long. I would like to find a way to wrap the codesys array inside of a wrapper class that checks if an input is within the bounds of an array before writing to that value. I know how I would implement that for a specific array, I could create a method or class that takes an input of an array of variable length, ie. ARRAY[*] OF REAL, but I don't know how to make this for any data type. I am wondering if anyone has ever done anything similar to this, or has any better suggestions to ensure that none of the programmers on this application accidentally create code that can arbitrarily write to other locations in memory.
Last updated: 2024-03-05
Post by stuartjr on Disabling forcing of specific variables
CODESYS Forge
talk
(Post)
I also thought that if I had logic writing a value to this variable, then it would override the force anyway, since I thought that the force request was only applied at the beginning and end of the PLC scan. But this doesn't seem to be the case, the force persists throughout the logic regardless of what I write to the variable with logic
Last updated: 2024-03-15
Post by jinlee on V3.5 SP19 patch 2. Out of retain memory
CODESYS Forge
talk
(Post)
Hi guys, I am quite new Codesys. Be patient to me. I am having a problem now. Please refer to the attached photo. Is there a way to increase the memory ? If no, what is the way to solve this problem ? My retain variable list is in one place. Please refer to the attached photo. Thank you very much.
Last updated: 2024-03-20
Post by hwopereis on Codesys Control shutdown
CODESYS Forge
talk
(Post)
Hi, I'm experiencing this problem as well. Did the suggested combination resolve your issues in the end? If not, I can stop my efforts rolling back to these versions. I'm trying to get CC for RPi 4.8.0.0 installed on the device, but I can't find it after installing it through the packet manager.
Last updated: 2024-03-25
Post by nano on Error building Extension SDK Linux code
CODESYS Forge
talk
(Post)
Hey schnepper, when i look into your c-file, i would say that only the main-function is declared with cext-addendum in your codesys-library-project. all yöur funtions in library has to be the cext-addendum when the external implementation is activ. if i remeber right, methods and other subelements dont need that, but every base-elements
Last updated: 2024-04-02
Post by kimnegw on Codesys offline license batch
CODESYS Forge
talk
(Post)
Hey guys, I'm currently developing a Codesys application for an offline Linux device. I can easily set up the license for ONE device using my Windows PC, but what happens if I need to produce a thousand devices? Is there any method to automate license insertion? I have already generated a dpkg installer for deploying the Linux control application to multiple targets. Thanks,
Last updated: 2024-04-04
Post by vincentd on Datasource OPC UA Client error ID:7012
CODESYS Forge
talk
(Post)
I have not used this client / server OPC UA combination since. We were only making some kind of proof of concept. I did understand that there could be some kind of bug. I do not know if the supposed bug has been resoved since. Perhaps you could try what piautomation is suggesting
Last updated: 2024-04-05
Post by thomaspfrimmer on Can't import enums OnlineChangeOption / ResetOption
CODESYS Forge
talk
(Post)
Hello Jusito, Can you share your final code, please ? I tried to implement a similar feature (going online, doing the reset and the start). But I get a timeout on the reset/start when I'm testing the script. If you got something working, I would appreciate to see it.
Last updated: 2024-04-11
Post by matthew on Persistence Manager Backup
CODESYS Forge
talk
(Post)
Hi @eschwellinger How does the persistent manager files work on v20? I would Like to upgrade my v19 as I'm still having issues. Sometimes if there is a power cut CodeSys won't load the Persistence Manager files and I have to redownload to the PLC and then copy my backup persistent files and then start the application. I hope it's a lot more robust in v20
Last updated: 2024-04-23
Post by xabier on What wrong with FB SMC_Interpolator?
CODESYS Forge
talk
(Post)
hi Getdone I have the same problem with you...Could resolved this problem?? Can you move with more speed??... I have cicle time 1 ms and the moment increase speed >5mm/s the FB SMC_Interpolator not fine work....Tell me plese if you resolved this problem Thanks Regards XABI
Last updated: 2024-04-30
Post by phoward131 on Numpad decimal value requires leading zero
CODESYS Forge
talk
(Post)
I have noticed on the standard numpad dialog, if a user enters a purely decimal number (ie '.6'), the numpad will not accept the value but gives no indication. One must type a leading zero (ie '0.6') in order for it to work. Is there a way to correct this so that a user can just type the decimal value?
Last updated: 2024-04-30
Post by timvh on Codesys SVN
CODESYS Forge
talk
(Post)
Minimum version is 3.5 SP19 Patch 3. See https://store.codesys.com/en/codesys-git.html But you could ask your PLC vendor if it is possible to program their PLC's which have Runtime version SP16 with development version 3.5 SP19 or higher (should normally be possible, but with Safety PLC's there could be some regulation limitations).
Last updated: 2024-05-01
Post by andrej on Channel timeout CmpChannelMgr
CODESYS Forge
talk
(Post)
Hello, I use Codesys RTE 3.5.16.5. If I connect to the PLC I often get the following message: (see printscreen) 1. Channel timeout CMpChannelMgr. 2. Closing connection CmpChannelMgr. Can you tell me, what the meaning of this is? What does the number 1250030,1220020 resp. c400:0a0a:015a:0301 refer to? I could find any information in the online help. Thanks a lot.
Last updated: 2024-05-08
Post by mehmetembedded on Linux ARM64 SL, GPIO Access
CODESYS Forge
talk
(Post)
Hello. I am using TI AM64x evaluation board TMDS64EVM. It has 8 leds connected via I2C to SoC.I wanna control them via codesys GPIO device. Is that possible? If so how I can do it. I had no problem installing codesys runtime, and running program on device. But when it comes to GPIO access, It couldn’t make it.
Last updated: 2024-05-08
Post by mehmetembedded on Linux ARM64 SL, GPIO Access
CODESYS Forge
talk
(Post)
Hello. I am using TI AM64x evaluation board TMDS64EVM. It has 8 leds connected via I2C to SoC.I wanna control them via codesys GPIO device. Is that possible? If so how I can do it. I had no problem installing codesys runtime, and running program on device. But when it comes to GPIO access, It couldn’t make it.
Last updated: 2024-05-08
Post by matthew on New Ladder Diagram conversion does not work due to missing features
CODESYS Forge
talk
(Post)
Hi @eschwellinger Just wondering if there is any update when the Expression or part of it has no effect will be fixed? Also have the ability to open an FB when online and offline. It would also be great to be able to view the ST code block when online.
Last updated: 2024-05-14
Post by felipemsgarcia on Generic EtherCAT slave
CODESYS Forge
talk
(Post)
Hello Edwin, Thank you foryour answer but, I believe I was not very clear in my question, sorry. What I wanted to know is if there is a generic EtherCAT slave object already in CODESYS that I can use for anything, remote IO, Drives, VFD's and so on, as long as I match PDO's. Is there such an object? Thank you again!
Last updated: 2024-05-16
Post by rd76065 on Opto 22 Groov PR2 Modbus TCP Master communication
CODESYS Forge
talk
(Post)
Previously, I have used ModbusEthernet_04 library for Wago for ModbusTCP Master communicational in Codesys V2.3. How to use same communication of similar UDT for Opto22 Groov PR2 PLC in Codesys V3.5 SP20. Can I use OSCAT library - Network -MB_Client or IODrvModbusTCP - ModbusRequest for this requirement? If any other please guide.
Last updated: 2024-05-31
Post by rjonker on codesys mqtt publish serialization
CODESYS Forge
talk
(Post)
pbPayload is a pointer, which it expects to point at a STRING. If you point it at an address holding a different data type, it will just assume those bytes are part of a string and likely trundle along memory until it finds a null byte (0x00) that would normally signify the end of a string PublishMessage := BOOL_TO_STRING(boolVariable);
Last updated: 2024-06-05
Post by kumareasu on Persistent variable storage
CODESYS Forge
talk
(Post)
Is there any function function block which can store the persistent variable in HDD/SSD immediatley. My observation is that the persistent variable is getting stored when we shut down or restart the system (Windows+ CoDeSys RTE SL ). the persistent variables are not stored in HDD/SSD, if I power off the system without proper shutdown. Seeking your feedback.
Last updated: 2024-06-12
Post by nano on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
this is not easily. From Point of SL-Licenses Codesys didnt provide the informations how to do. We created an own CDS-Component for that Behaviour. This Informations are available for OEM, if you are an OEM you can find the Informations in the RTS-Documentation.
Last updated: 2024-06-14
Post by matt-purcell on Which Lib to use, connect to a socket with URL instead of IP address
CODESYS Forge
talk
(Post)
I've been searching through these libraries, syssocket and net base services and they all seem to use the same structure for IP address for the connect function, SOCKADDRESS. At a glance, it doesn't look like that'll work, maybe it's just missing in the documentation somewhere?? I'm wondering if anyone has done it.
Last updated: 2024-06-17
Post by calviniscoding on Publish a JSON payload via MQTT Publish (using IIot Libraries)
CODESYS Forge
talk
(Post)
Are you able to dynamically change the JSON message? As in, if wsValue or iValue is linked to some real telemetry that varies over time, will the JSON message reflect these changes? I am only able to send the values that I initialize the JSON message to
Last updated: 2024-06-18
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.