Post by tdaf on Codesys KNX Demo limitations
CODESYS Forge
talk
(Post)
Hello to all. I am testing the Codesys KNX package using a raspberry pi to determine if it fits my needs. Does anyone know the limitations of the package when you use it without a license? I searched for it myself but couldn't find any information on the matter. Thank you all for your help.
Last updated: 2024-10-05
Post by pietrobalint on Persistent variables are not read after initialization
CODESYS Forge
talk
(Post)
Hi, I realized that if I replug the power supply the persistent variables lost their value with the new software too. Cold reset do not affect the variables value but hardware reboot still reset the values. Application Composer can't be activated. What is the solution?
Last updated: 2024-10-11
Post by janber on REFERENCE TO in an array
CODESYS Forge
talk
(Post)
Hi all, in the online help it written, that array of reference to data type is not possible. Ok... but if I create array of struct of reference to - everything works fine - please see the screenshots: and it works this way OK. Is it intention or error in compiler 3.5.18.20 and we should avoid it? Thanks a lot, Jan.
Last updated: 2024-10-14
Post by mrbartpawlowski on Codesys Crash
CODESYS Forge
talk
(Post)
Hi all, I’m new to codesys and working on some project. Codesy 3.5 V20 patch 3 Every time I try to use refactor codesys hang and not respond. I was trying to use repair function in installer but this is not helping at all. Wonder if anyone experience this behaviour? Sometimes I have Popup saying : Cannot insert ‘CreateTextFile’ bellow ‘<root>’</root>
Last updated: 2024-10-14
Post by daniel on SysFileOpen not working
CODESYS Forge
talk
(Post)
Hello, I have the same problem now with 3.5.20 Patch 3. Normally it works if I ad in CODESYSControl.cfg: [SysFile] ForceIecFilePath=0 (This told me codesys last time) I try to use the placeholders but without success. Something special is that the Files are not in C:. The Plc Configuration Path is not as usual C:\ProgrammData\CODESYS\CODESYSControlRTEV3\, it's E:\Control.
Last updated: 2024-10-23
Post by eschwellinger on RS485 CAN HAT to Cosesys
CODESYS Forge
talk
(Post)
Hi if you add in (ttyAMA0 should fit to your HAT's device [SysCom] Linux.Devicefile.1=/dev/ttyAMA0 to /etc/CODESYSControl_Usr.cfg since 4.12.0.0 version /etc/codesyscontrol/CODESYSControl_Usr.cfg then access in CODESYS with Com1 should do it. Keep in mind that only adapters work (for RS485) which do determine the send/receive direction in hardware
Last updated: 2024-10-28
Post by phoward131 on Alarm Table Filtering
CODESYS Forge
talk
(Post)
I actually just found the solution maybe. If anyone else is running into this, go to your Project Settings > Visualization > Advanced (check 'Visible' to see advanced settings) > UNCHECK 'Activate property handling in all element properties.' I am not sure what else unchecking this might affect but it seems to allow the alarm table to be filtered as expected.
Last updated: 2024-10-28
Post by phoward131 on Alarm filtering latch variables
CODESYS Forge
talk
(Post)
I am having the exact same issue and was wondering if you ever found the problem? The sample program does exactly what it's supposed to with filtering but when I implement it the exact same way in my program, the alarm list just goes blank when I attempt to apply a filter.
Last updated: 2024-10-28
Post by phoward131 on Alarm filtering latch variables
CODESYS Forge
talk
(Post)
I actually just found the solution maybe. If anyone else is running into this, go to your Project Settings > Visualization > Advanced (check 'Visible' to see advanced settings) > UNCHECK 'Activate property handling in all element properties.' I am not sure what else unchecking this might affect but it seems to allow the alarm table to be filtered as expected.
Last updated: 2024-10-28
Post by timvh on CAN Open Manager - varible of SYNC
CODESYS Forge
talk
(Post)
You can enable "Sync Producing" in the configuration of the CANopen Manager. Then this manager will send a SYNC message every interval you set. Depending on your PDO configuration, the CAN nodes can send a PDO on every Sync (cyclic-synchronous). If this is not possible, then as alternative you can send a low level CAN message with COB-ID 16#80.
Last updated: 2024-11-05
Post by andrax on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
Ok, this is a test programme with ADS1115. It is currently configured for the TCA9548 muxboard. If you want to run the ADS1115 single, then change the settings to the default values: ‘Is Multiplex:’ False ‘Stage mux channel numbers:’ [0,0,0,0,0,0,0,0,0] It is also important that the libraries are installed correctly here. But should be in this project
Last updated: 2024-11-07
Post by jeroenaero on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
okay, the weird thing is the driver is only continuous running when i enable debug output. if debug is not enabled it's continuous switching from running to not running. i will check again and download the libraries Which versions of libraries do you use, can you send a screenshot?
Last updated: 2024-11-08
Post by timvh on Converting each character to a string into ASCII
CODESYS Forge
talk
(Post)
Nice puzzle for a Saturday afternoon :-). Here my suggestion: VAR sInput : STRING := 'R123'; byChar : BYTE; sOutput : STRING; i: INT; END_VAR sOutput := ''; IF LEN(sInput) = 0 THEN RETURN; END_IF FOR i := 0 TO LEN(sInput) - 1 DO byChar := sInput[i]; sOutput := Concat(sOutput, TO_STRING(byChar)); END_FOR
Last updated: 2024-11-09
Post by andrax on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
I took a look at your project. First of all, a Raspbery Pi4 is installed. You must use the GPIOs_A_B(GPIOs B+/Pi2). The error ULINT can't be set to IDINT.... with your project as well. If I change your project to ‘CODESYS_Control_for_Raspberry_Pi_SL’ the error is gone.
Last updated: 2024-11-09
Post by jeroenaero on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
I don't have a multiplexer so it very weird that it connects with that multiplexer. If i do a I2C scan on the PI terminal, i only get the device addresses 0x48 and 0x51. One for the ADC and one for RTC. I will try again with your libraries
Last updated: 2024-11-12
Post by dkugler on EtherCAT Master: How many error frames till bus error
CODESYS Forge
talk
(Post)
The story behind: I have had a EhterCAT fieldbus system where sometimes error frames occured. I noticed that the master is tolerant for some error frames, but if there are very much error frames the bus goes in error state. Does somebody know the limit of error frames above the bus changes to error state?
Last updated: 2024-12-03
Post by reinier-geers on Energie price
CODESYS Forge
talk
(Post)
On a website i can get the energie price. But how does that work in codesys? There is a video of Rest client. But i can find the HTTP library. If i type on my browser : https://enever.nl/api/stroomprijs_vandaag.php?token=ANWB i get {"status":"true","data":"Please provide a valid API token. More information at https:\/\/enever.nl\/prijzenfeeds\/","code":"2"}
Last updated: 2024-12-03
Post by reinier-geers on Energie price
CODESYS Forge
talk
(Post)
On a website i can get the energie price. But how does that work in codesys? There is a video of Rest client. But i can find the HTTP library. If i type on my browser : https://enever.nl/api/stroomprijs_vandaag.php?token=ANWB i get {"status":"true","data":"Please provide a valid API token. More information at https:\/\/enever.nl\/prijzenfeeds\/","code":"2"}
Last updated: 2024-12-03
Post by xabier on Kinematics Robot Delta 2 Axis
CODESYS Forge
talk
(Post)
Hi, I have a customer and this customer design this robot...The customer need move ...I would like if Codesys has this Kinemtaics I attached photo of the robot.(this robot has 2 Axis) I have checked all kinematics has Codesys but not has the same....Someone help me Please?? Thanks XABI
Last updated: 2024-12-11
Post by gorditron on I2C Communication with
CODESYS Forge
talk
(Post)
Hello, I have problems with the I2C communication to an ADS7828 AD converter. I don't get any value back from the chip. I use a Kontron chip (ARM 32SC) with Linux as the operating system. I also use the CmpCharDevice library. ADS7828 parameters Address: A1 = 0 / A0 = 0 = SD = 1 = Single End C2 = 0 / C1= 0 / C0= 0 / Channel 0 PD1 = Internal Reference and PD0 = AD Converter ON Here is my code: VAR b_i2cAdr : BYTE := 16#48; (* Standard I2C-Adresse des ADS7828 *) x_Init: BOOL;(* Flag für die Initialisierung *) b_config_byte: BYTE;(* Konfigurationsbyte für den ADS7828 *) ab_cmd_buffer : ARRAY [0..0] OF BYTE; (* Buffer für den Befehl *) ab_data_buffer : ARRAY [0..1] OF BYTE; (* Buffer für die empfangenen Daten *) ui_adc_value_1 : UINT; (* Ausgelesener ADC-Wert *) I2C_Handle: RTS_IEC_HANDLE; (* Handle für das I2C-Device *) di_result_open: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_adr: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_wr_cmd: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_rd_cmd: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_close: DINT;(* Ergebnis der Funktionsaufrufe *) END_VAR //*** Init from the I2C communication port *** IF NOT x_Init THEN I2C_Handle := CDOpen(szFile:= '/dev/i2c-0', dFlags:= O_RDWR, pResult:= ADR(di_result_open)); //* I2C opening * //*** set of the I2C address *** CDIoctl(hFile:=I2C_Handle , dRequest:=1795 , dParameter:=b_i2cAdr , pResult:=ADR(di_result_adr) ); x_Init := TRUE; END_IF (* Hauptlogik *) IF I2C_Handle <> 0 THEN (* Konfigurationsbyte setzen: Single-Ended Kanal 0, interne Referenz *) b_config_byte := 16#8C; (* 10001100b: AIN0, interne Referenz, Single-Ended *) ab_cmd_buffer[0] := b_config_byte; (* Schreiboperation zum Konfigurieren des Chips *) CDWrite(hFile:= I2C_Handle, pbyBuffer:= ADR(ab_cmd_buffer), udCount:= SIZEOF(ab_cmd_buffer), pResult:= ADR(di_result_wr_cmd)); IF di_result_wr_cmd = 0 THEN (* Leseoperation, um den ADC-Wert zu erhalten *) CDRead(hFile:= I2C_Handle, pbyBuffer:= ADR(ab_data_buffer), udCount:= SIZEOF(ab_data_buffer), pResult:= ADR(di_result_rd_cmd)); IF di_result_rd_cmd = 0 THEN (* ADC-Wert aus den Daten extrahieren *) ui_adc_value_1 := SHL(TO_UINT(ab_data_buffer[0]), 8) OR TO_UINT(ab_data_buffer[1]); ELSE (* Fehler beim Lesen der Daten *) ui_adc_value_1 := 0; (* ADC-Wert auf 0 setzen *) END_IF ELSE (* Fehler beim Schreiben der Konfiguration *) ui_adc_value_1 := 0; END_IF END_IF
Last updated: 2024-12-13
Post by totorovic on Project loses 'Download time' information
CODESYS Forge
talk
(Post)
I continue this topic by myself, I'm very happy with the Codesys support / community ;-) This information (Download time) should be stored in the compileinfo : https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_cmd_load.html But the file is not text-readable (see attached file) so how to solve if download time is empty?
Last updated: 2024-12-19
Post by gseidel on Strange problem with the ‘MC_SetPosition’ function
CODESYS Forge
talk
(Post)
Hi Gustavo, can you reduce the problem to a project that reproduces the issue without the real servo drives? (You could set the servo drives to virtual and strip away as much as possible from the application.) If you can attach a project, we will have a look. Best regards, Georg
Last updated: 2025-01-10
Post by timo on String nach erlaubten/unerlaubten Zeichen durchsuchen
CODESYS Forge
talk
(Post)
Hallo, Ich bastele gerade an einer möglichst einfachen Möglichkeit mit der ich prüfen kann ob ein String Sonderzeichen enthält. Mein Ansatz ist ein ST FB mit einer Case Schrittkette. Ich vergleiche jedes Zeichen des Strings mit allen Zeichen eines vorher definierten Strings erlaubter Zeichen, der A-Z, a-z und 0-9 enthält und ggf angepasst werden kann, wenn ich weitere Zeichen erlaube. Leider wird meine j Zählervariable nicht richtig ausgeführt. Hat da jemand eine Idee? Oder gibt es eine einfachere Lösung/einen fertigen FB den ich mir anschauen kann? FUNCTION_BLOCK Sonderzeichen_Check VAR_INPUT inputString : STRING; // Zu prüfender String startCheck : BOOL; // Startsignal END_VAR VAR_OUTPUT ok : BOOL; // TRUE, wenn keine ungültigen Zeichen END_VAR VAR i : INT := 1; // Input-String Zähler j : INT := 1; // erlaubte Zeichen Zähler allowedChars: STRING := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; // Erlaubte Zeichen currentChar : STRING[1]; // Aktuelles Zeichen step : INT := 0; // Schritt END_VAR CASE step OF 0: // Warten auf Start IF startCheck THEN step := 10; END_IF 10: // Initialisierungen i := 1; j := 1; ok := TRUE; // Standard: ok step := 20; 20: // Durchgehen des Eingangs-Strings IF i <= LEN(inputString) THEN currentChar := MID(inputString, i, 1); // Aktuelles Zeichen step := 30; ELSE step := 70; // Alle Zeichen ok END_IF 30: // Durchgehen der erlaubten Zeichen IF j <= LEN(allowedChars) THEN step := 40; // Zu Schritt 40 ELSE step := 60; // Ungültiges Zeichen END_IF 40: // Vergleich IF currentChar = MID(allowedChars, j, 1) THEN i := i + 1; // Nächstes Zeichen im Input step := 20; ELSE j := j + 1; // Nächstes erlaubtes Zeichen step := 30; END_IF 60: // Ungültiges Zeichen ok := FALSE; // Setze auf FALSE step := 0; 70: // Alle Zeichen ok step := 0; END_CASE
Last updated: 2025-01-20
Post by trusty-squire on Help with __SYSTEM.VAR_INFO
CODESYS Forge
talk
(Post)
Not knowing exactly what you want to accomplish, you can try to use VAR_INPUT MyVar: POINTER TO BOOL; END_VAR MyVar contains the address of your referenced variable, and MyVar^ dereferences it allowing you to access the value. If this doesn't meet your needs, could you add more detail on what you are trying to accomplish?
Last updated: 2025-01-26
Post by gatto on Removing a symbol from the IEC Symbols Editor grid
CODESYS Forge
talk
(Post)
Hi, I've never used Communication Manager, but I tried it and I saw that I can drag tags from left to right. If I click on a line on the right, it turns light blue. By pressing the DEL or CANC key (It depends on your keyboard language) I can delete the line
Last updated: 2025-02-12
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.