Post by chir on SMC_REGULATOR_OR_START_NOT_SET issue
CODESYS Forge
talk
(Post)
Hello everyone! I faced the error SMC_REGULATOR_OR_START_NOT_SET using InoProShop (Inovance IDE). This error occured then I enable MC_Power block. The output BUSY is TRUE constantly.. The description of this error in documentation - "Controller enable not done or brake applied". Maybe someone know how to solve this problem
Last updated: 2024-04-19
Post by donm on Regarding trend storage access error
CODESYS Forge
talk
(Post)
i have created a project which contain 30 trend and suddenly trend recording is not working. its showing an error 30437."Determination of root pages for recording did not work for 'screen', error:30437" how to solve this issue?
Last updated: 2024-05-27
Post by donm on trend storage access error
CODESYS Forge
talk
(Post)
i have created a project which contain 30 trend and suddenly trend recording is not working. its showing an error 30437."Determination of root pages for recording did not work for 'screen', error:30437" how to solve this issue?
Last updated: 2024-05-27
Post by otbeka on CAA File Handling: "Read only" error
CODESYS Forge
talk
(Post)
Hi, On CODESYS V3.5.19.50 I am using the latest 3S File Access library (CAA File & CAA Types) to save and retrieve configuration data from the User Data section of an SD card, via file called config.txt. The application reads the file to memory once upon initialisation, and then the only other operation is overwriting the file with the updated configuration whenever the user changes the settings. An issue is ocurring, seemingly randomly, where the config.txt file, and all surrounding directories, cannot be written to by the unit, returning a READ_ONLY_CAA error upon file open. This sometimes does not clear even after power-cycling the PLC several times, yet checking the file permissions with ls -l shows normal read, write, and execute access. I am wondering if this is caused by the PLC itself or by an issue in my application. I have included my CAA File handler function block (SD_Card_Bin(FB).txt) and any associated types/calls below: TYPE ConfigData : STRUCT Config : ARRAY[0..256] OF STRING(64); NumberOfStrings : UDINT; END_STRUCT END_TYPE TYPE Buffer : STRUCT Data : ARRAY[0..SIZEOF(ConfigData)] OF BYTE; DataLength : UDINT; END_STRUCT END_TYPE A case within my MAIN PRG: mode.WriteConfigDataToFile: VisuElems.CURRENTVISU := 'Screen_Write'; IF xModeHasChanged THEN iErrorCount := 0; iRoute := 0; END_IF CASE iRoute OF 0: inBuffer := ConfigData_To_Buffer(GVL.UnitData); xConfigError := FALSE; xDataConfigured := FALSE; iRoute := 1; 1 : //Read Data from Card SD_Card_Bin.strFileName :=FileName; SD_Card_Bin.iFileOperation := 2; SD_Card_Bin(xExecute :=TRUE, WriteBuffer := inBuffer, xDone =>xDataConfigured, xError=>xConfigError, strErrorCodes=>strError); IF xDataConfigured THEN SD_Card_Bin(xExecute :=FALSE); IF xConfigError THEN iRoute := 32767; ELSE iRoute :=100; END_IF END_IF 100: // The end bCurMode := mode.DisplayProcessVariables; 32767: // Config error iErrorCount := iErrorCount + 1; IF iErrorCount > 2 THEN // Repeats 3 times, if no progress abandons and returns error bCurMode := mode.WriteError; ELSE iRoute := 0; // Try again END_IF END_CASE I'd like to rule out my application as the cause of this bug - help via comments or criticism would be greatly appreciated.
Last updated: 2025-03-19
Post by bolopg on MODBUS TCP REGISTERS CODESYS V3.5
CODESYS Forge
talk
(Post)
Hi. I have a problem with MODBUS TCP MASTER. I treid to read HR in range 3027-3037 but I cannot read them. I have modbus slave chanel with offset 0x3037. I checked what I read and it looks like I am reading HR in range 1-10. What I am doing wrong.
Last updated: 2024-10-11
Post by jvfred on CodesysHMI.exe: Start Error
CODESYS Forge
talk
(Post)
I have used Codesys HMI SL on several projects. Today I turned my PC on to start building another project and received the following error message when I tried to start my device: "CodesysHMI.exe: Start Error One of the following licenses is required: CodeMeter 101597:13 Failure reason: CmContainer Entry not found, Error 200 CodeMeterAct 5000304:13 Failure reasons: CmContainer Entry not found, Error 200" I have tried reloading HMI SL and even updated to the current version with no success. I am using HMI SL version V3.5.20.10. Any help would be greatly appreciated.
Last updated: 2024-11-01
Post by jvfred on CodesysHMI.exe: Start Error
CODESYS Forge
talk
(Post)
I have used Codesys HMI SL on several projects. Today I turned my PC on to start building another project and received the following error message when I tried to start my device: "CodesysHMI.exe: Start Error One of the following licenses is required: CodeMeter 101597:13 Failure reason: CmContainer Entry not found, Error 200 CodeMeterAct 5000304:13 Failure reasons: CmContainer Entry not found, Error 200" I have tried reloading HMI SL and even updated to the current version with no success. I am using HMI SL version V3.5.20.10. Any help would be greatly appreciated.
Last updated: 2024-11-01
Post by eschwellinger on Persistent variables are not read after initialization
CODESYS Forge
talk
(Post)
which version of the runtime do you use?
Last updated: 2024-09-02
Post by wollvieh on SFC Reset Codesys 2.3?
CODESYS Forge
talk
(Post)
yes, read AS Flags in Dokumentation.
Last updated: 2024-11-26
Post by voffi on Excel to Codesys 3.5
CODESYS Forge
talk
(Post)
Export excel file into csv format and then read into CODESYS.
Last updated: 2023-12-12
Post by mejak on USB HID RFID - read ID in plc program
CODESYS Forge
talk
(Post)
pleas delete this topic
Last updated: 2024-01-25
Post by pazderai on CanOpen write issue
CODESYS Forge
talk
(Post)
Thank you for an answer. Unfortunatelly, it doesn't work. The slave needs command byte as follows 0x22. It means expedited transfer where s-bit is not set, therefore data length is not specified. If I use segmented mode by CiA405.SDO_WRITE_DATA it produce command byte as follows 0x21 which is unfortunately supported by the slave and it returns with error 0x05040001 - SDO Abort Code -Client/server command specifier not valid or unknown. I can use CAN API low level to overcome this problem where it is possible to set 0x22 as a command byte, but than I can use user interface to set the communication probably, because I thing that machine expert uses library CiA405.SDO_WRITE for setting the slave. Or am I wrong?
Last updated: 2024-07-16
Post by pazderai on CanOpen write issue
CODESYS Forge
talk
(Post)
Hi,is there any canopen library where is implemented sdo write with unspecified datalength (command byte 0x22)? I tried caa cia405 canopen library but it doesnt support this, but my slave device accept only 0x22. Thank you for any help.
Last updated: 2024-07-16
Post by pazderai on CanOpen write issue
CODESYS Forge
talk
(Post)
Hi,is there any canopen library where is implemented sdo write with unspecified datalength (command byte 0x22)? I tried caa cia405 canopen library but it doesnt support this, but my slave device accept only 0x22. Thank you for any help.
Last updated: 2024-07-16
Post by ph0010421 on Axis EtherCAT address
CODESYS Forge
talk
(Post)
Hello SDO will write to the drive, not the axis, so you need to pass in the ethercat slave: VAR_IN_OUT Axis: IoDrvEthercatLib.ETCSlave; END_VAR Then you can get the address with: Axis.PhysSlaveAddr (as UINT)
Last updated: 2025-03-07
Post by esave on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Hello @ph0010421 Thanks for you answer. I dont really get the state machine that you sent me. Is that only for enabling the drive? How can i make movement? Is this with these SDO's? What is SDO exactly? Sorry but i am a little lost (:|)
Last updated: 2024-03-28
Post by ellcap on Did a library update and now can't open project
CODESYS Forge
talk
(Post)
EDIT: Title was a mistake. Should say now I can't compile / download project. Codesys V3.5SP19 Patch 2. Updated the libraries/packages using the Codesys Installer. I'm hit with this error ------ Build started: Application: ------- Typify code... [ERROR] iecvaraccess, 4.4.0.0 (system): IecVarAccess: C0086: No definition found for interface 'IIecVarAccess17' [ERROR] iecvaraccess, 4.4.0.0 (system): IecVarAccess: C0077: Unknown type: 'IIecVarAccess17' [ERROR] iecvaraccess, 4.4.0.0 (system): Initialize [IecVarAccess]: C0032: Cannot convert type 'IECVARACCESS(iecvaraccess, 4.4.0.0 (system))' to type 'IIecVarAccess17' [ERROR] iecvaraccess, 4.4.0.0 (system): QueryInterface [IecVarAccess]: C0231: Expression of type 'BOOL' expected in this place [ERROR] iecvaraccess, 4.4.0.0 (system): QueryInterface [IecVarAccess]: C0077: Unknown type: 'ITFID_IIecVarAccess17' [ERROR] iecvaraccess, 4.4.0.0 (system): QueryInterface [IecVarAccess]: C0046: Identifier 'ITFID_IIecVarAccess17' not defined Compile complete -- 6 errors, 101 warnings Build complete -- 6 errors, 101 warnings : No download possible
Last updated: 2023-09-25
Post by gunstr on CODESYS control on RPi starts, shortly runs, then exits
CODESYS Forge
talk
(Post)
I now tried to install 4.17.0.0 on a fully clean installations: A brand new RPi 4B Install latest Raspberry Pi OS Lite, Release date 13 May 2025, 64bit run sudo apt update && sudo apt full-upgrade When asked - Select to install the updated version of '/etc/initramfs-tools/initramfs.conf' Install CODESYS Control for Raspberry Pi SL. version 4.17.0.0 Log output: [INFORMATION] Connected successfully! [INFORMATION] Successfully connected to target (192.168.0.197) [WARNING] No supported container engine found on device. You have to install a supported container engine to use Virtual Control. Please contact the Administrator of the device. [WARNING] Error detecting container architecture [INFORMATION] Finished reading device information [ERROR] Error output: /var/lib/dpkg/info/codesyscontrol.postinst: 88: check_legacy_extensionapi_folder: not found [INFORMATION] Standard output: Selecting previously unselected package codesyscontrol. [INFORMATION] Standard output: (Reading database ... 76772 files and directories currently installed.) [INFORMATION] Standard output: Preparing to unpack .../codesyscontrol_raspberry_4.17.0.0_all.deb ... [INFORMATION] Standard output: Unpacking codesyscontrol (4.17.0.0) ... [INFORMATION] Standard output: Setting up codesyscontrol (4.17.0.0) ... [INFORMATION] Standard output: make config rw [INFORMATION] Standard output: set folder permissions [INFORMATION] Standard output: prepare permissions [INFORMATION] Standard output: check legacy extension api folder [INFORMATION] Standard output: create and install daemon [INFORMATION] Standard output: codesyscontrol started [WARNING] Unable to detect Raspberry Pi Architecture. Setting armv6l as default, you can change this through the settings panel. [INFORMATION] Standard output: codesyscontrol stopped [ERROR] Expected exit value of command failed: expected 0, received 1 [WARNING] Error setting the Raspberry Pi Architecture [ERROR] Error installing codesyscontrol If I read the log correctly the control is actually installed but cannot start. I'm running out of ideas how to proceeed now, any suggestions are welcome.
Last updated: 2025-09-03
Post by mondinmr on Direct Pointers in IOMapping for EtherCAT with IoDrvEthercatLib.ETCSlave_Dia
CODESYS Forge
talk
(Post)
Using SDO, I can read the EtherCAT mappings and offsets from various registers like 0x1c12, 0x1c13, etc. When I obtain registers mapped in the PDOs and various offsets, I could technically access directly to the statusword, controlword, etc., if they are mapped. I have noticed that on IoDrvEthercatLib.ETCSlave_Diag I can find pointers to the input and output buffers. However, although the input buffer can be easily read by referring to what has been obtained from the SDOs, it is not possible to write to the output buffer, as it is overwritten in each cycle by the data from the IOMapping task. Is there a way, knowing an instance of IoDrvEthercatLib.ETCSlave_Diag, to obtain the pointer to the first data in the IOMapping? The offsets are identical to those of the PDOs, but obviously the data is a copy. For me, the cleanest thing would be to access the pointers on IOMapping, for DS402a devices to retrieve the key data and point them to internal references. I need to know this as, having developed our own motion library, I would like to simplify the initial setup by eliminating unnecessary and nonsensical mappings that can lead users to unnecessary errors. In the current version that we have been using for years, we have to map everything manually. I would like to pass only the slave reference to the FB_init constructors and eliminate the mapping.
Last updated: 2024-02-12
Post by trusty-squire on Read "Homed" status from EtherCAT drive
CODESYS Forge
talk
(Post)
Hi, Is there a way to read the homed status from the EtherCAT drive directly? I am currently flagging the homed status on the succesful completion of the MC_Home function block, but I have had false triggers where the drive didn't actually execute the homing procedure but the MC_Home FB is marked as complete without error. I looked at other MC/SMC function blocks but the closest I can find is the "Homing" bit from MC_ReadStatus FB, but this doesn't show if the drive is succesfully homed, only that it's homing. Any guidance is welcome. Thanks!
Last updated: 2025-01-07
Post by transmin01 on PCAN serial "No CAN driver found"
CODESYS Forge
talk
(Post)
Hi, I am using a PCAN mini CAN board which has the Windows drivers installed on the target PLC. PCAN board can be seen in device manager. However, I am getting "No CAN driver found" error. I have read the post https://forge.codesys.com/forge/talk/CODESYS-V2/thread/44aae19318/ and have uncommented the CmpPCANBasicDrv driver in the CodesysControl.cfg file in development PC and have copied it to the target PC. Current CodesysControl.cfg file attached. Is there anything else I am missing? Regards
Last updated: 2023-09-14
Post by atone on Set DeviceID of an IO-Link Sensor at Runtime
CODESYS Forge
talk
(Post)
I need to be able to change (set) the DeviceID of an IO-Link sensor (see DeviceID.png) at runtime. I tried with both ProfinetCommon.PN_PortConfiguration and ProfinetCommon.IOL_PortConfiguration, but I get an error for both when I try to read the port configuration (see PN_PortConfiguration.png). Does one of those FBs is the right one for my purpose? Do I possibly make a mistake when assigning the parameter IOLD_ID/IOLM_ID?
Last updated: 2025-03-19
Post by marek71 on Ambiguous use of name - CO136
CODESYS Forge
talk
(Post)
My PLC is WAGO PFC200 Firmware Revision 26. target After updating WAGO_Devices_and_Libraries with newer Firmware 27, CODESYS wants to update all libraries to new versions. I will only add that I did not update the Firmware in the PLC. After compiling the program, I received the following errors: ------ Build started: Application: Device.Application ------- Typify code... [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): FbSerialInterface_internal: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): FbSerialInterface_internal: C0136: Ambiguous use of name 'RTS_IEC_RESULT' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0032: Cannot convert type 'Unknown type: 'RTS_INVALID_HANDLE'' to type 'POINTER TO BYTE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0136: Ambiguous use of name 'RTS_INVALID_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0046: Identifier 'RTS_INVALID_HANDLE' not defined [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_is_tx_empty: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_get_line_state: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_is_line_available: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): COMSW_SET_MODE: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_set_line_state: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' Compile complete -- 10 errors, 0 warnings Build complete -- 10 errors, 0 warnings : No download possible The problem was caused by the WagoSysPlainMem(WAGO) library in the original version 1.5.3.0 after updating to 1.5.3.1. After returning to version 1.5.3.0, the problems disappeared. Probably the version number of this library is responsible for supporting the appropriate Firmware Revision. Can anyone confirm or deny my suspicions?
Last updated: 2024-07-06
Post by taywinkel on Virtual Runtime CSV Utility Error
CODESYS Forge
talk
(Post)
Hello, I am having trouble figuring out the proper location for my virtual runtime to create a .CSV file. No matter the file location I set, I get error 14 (CANNOT_OPEN_DIRECTORY). I have tried multiple different file paths ('/', '/var/opt/codesysvcontrol/PlcLogic', '/var/opt/codesys/'). I understand that there is only certain places that Codesys can read/write. I am also running this virtual runtime in a Podman container. Does anyone know what the location should be? I attached the archive I was using, a project that tests CSV capability that I borrowed from someone else. Thanks!
Last updated: 2025-09-03
Post by abinvest579 on TCP Client
CODESYS Forge
talk
(Post)
Hi All, I am using codesys based plc to read and control magna power DC supply over LXI protocol using SCPI command. To connect device required socket programming for that i am using Net base service library function block TCP_Client to establish connection over TCP/IP , TCP_Write to write SCPI commands and TCP_Read to read data from Magna power DC supply. I have attached screenshot for logic developed. I am able to connect and write commands to device but i not receiving any information from device. For writing Commands i also tried various end of line character like \n,<nl>, A, D, 10, 13, 0x0A, 0x0D but not received any status from device. For testing purpose i am using simple command '*IDN?' to read data. Also if tried to check on hercules software what data actually plc read, first it read correct data after that is read wrong data as see in screen shot. 'Hello World' was correct read and after that Codesys in replaced with 'Codesysorld' that is not correct way. Same issue also appeared for send data. Any one have face same issue how i can read data directly from device correctly and send data please suggest solution on this.</nl>
Last updated: 2024-07-01
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.