Unfortunately it doesn't work. I want to read the current COM settings so I found the SysComGetSettings function in the SysCom library. "SysComGetSettings = Get the parameter of the interface specified by handle." But how do I set the hComPort RTS_IEC_HANDLE to the serial port COM1? rtsResult : RTS_IEC_RESULT; stComPortSettings : SysCom.ComSettings; hComPort : RTS_IEC_HANDLE; **hComPort := ????** rtsResult := SysComGetSettings(hCom:= hComPort, pSettings:= ADR(stComPortSettings), pSettingsEx:= 0)...
Unfortunately it doesn't work. I want to read the current COM settings so I found the SysComGetSettings function in the SysCom library. "SysComGetSettings = Get the parameter of the interface specified by handle." But do I set the hComPort RTS_IEC_HANDLE to the serial port COM1? rtsResult : RTS_IEC_RESULT; stComPortSettings : SysCom.ComSettings; hComPort : RTS_IEC_HANDLE; **hComPort := ????** rtsResult := SysComGetSettings(hCom:= hComPort, pSettings:= ADR(stComPortSettings), pSettingsEx:= 0);
Unfortunately it doesn't work. I want to read the current COM settings so I found the SysComGetSettings function in the SysCom library. But do I set the hComPort RTS_IEC_HANDLE to the serial port COM1? rtsResult : RTS_IEC_RESULT; stComPortSettings : SysCom.ComSettings; hComPort : RTS_IEC_HANDLE; **hComPort := ????** rtsResult := SysComGetSettings(hCom:= hComPort, pSettings:= ADR(stComPortSettings), pSettingsEx:= 0);
Hi E.Kislov, I had already tried this method, which is called during every PLC cycle but it doesn't seem to affect/change the COM port settings. Maybe there is something else that needs to be done first. eSmart07_RTU.UpdateComParameters( udiBaudrate:= BaudRate, usiMedium:= 1, usiParity:= 2, usiDataBits:= 8, usiStopBits:= 1, xPolarization:= FALSE, COMPORT:= 1); BTW you make great Codesys videos on YT.
Hi, I want to be able to change the baud rate of the COM port dynamically in runtime. Anyone know how to achieve it?
Thank you! For target version (3.5.16.0) I get a DWORD 50663424 how do I convert it to a readable format? *Update I get it's in HEX with every nimble corresponding to a number. There is also another way https://faq.codesys.com/display/CDSFAQ/Reading+the+Compiler+and+Runtime+Version
Thank you! For target version (3.5.16.0) I get a DWORD 50663424 how do I convert it to a readable format?
Is it possible to find out the Codesys Runtime version running on a specific target? I want to show it on the HMI.
I do something similar to what you describe. My HMI with Codesys Soft PLC doesn't have user memory to save persistent variables. So I save the value of the variable but not the name in a text file and load it when the system boots. It works great. To do this I use the CAA.File library https://help.codesys.com/webapp/idx-CAA_FILE-lib;product=CAA_FILE;version=3.5.15.0 The included code examples help a lot.
Found the problem. Had to add fileopen(xExecute:=FALSE); fileread(xExecute:=FALSE); in state 2 when file read is complete. Thanks
Hi Thomas I rewrote the sequential reading and writing code of the 3 files, implementing a simple CASE state machine and it seems that the problem is in the write and read file function block. It seems that the error always appear during state 3 when file that was read must be closed as it is shown in the attached picture. Below is the code of read file function block. IF xReadStart THEN CASE uiReadStatus OF 0: (* Start *) fileopen(xExecute:=FALSE); fileread(xExecute:=FALSE); fileclose(xExecute:=FALSE);...
I'm using Codesys 3.5.12 and File Access library 3.5.7 to read and write 3 user configuration files and 3 to read default configuration files. The files are not big with around 100 parameters each. Usually it works but many times it's randomly throwing the following error: ASM_CREATEJOB_FAILED 5113 Job creation of AsyncManager failed I read and write the files sequentially. As soon reading/writing of the first files is complete it goes to the next one. I have also tried to put time delay in between...
Not possible. I have 3 HMI devices from different manufacturers using Codesys runtime versions 3.5.12, 3.5.10 and 3.5.7. So I will have to wait for years until the manufacturers decide to update their runtime to a version that can be used with the version 3.5.14.0 of IOT library. It's real problem with many libraries available in Codesys store. My HMI doesn't not have not volatile memory to save Codesys persistent variables and I didn't knew about the Persistent manager at the time I was creating...
Not possible. I have 3 HMI devices from different manufacturers using Codesys runtime versions 3.5.12, 3.5.10 and 3.5.7. So I will have to wait for years until the manufacturers decide to update their runtime to a version that can be used with the version 3.5.14.0 of IOT library. It's real problem with many libraries available in Codesys store. My HMI doesn't not have not volatile memory to save Codesys persistent variables and I didn't new about the Persistent manager at the time. I couldn't use...
Not possible. I have 3 HMI devices from different manufacturers using Codesys runtime versions 3.5.12, 3.5.10 and 3.5.7. So I will have to wait for years until the manufacturers decide to update their runtime to a version that can be used with the version 3.5.14.0 of IOT library. It's real problem with many libraries available in Codesys store. My HMI doesn't not have volatile memory to save Codesys persistent variables and I didn't new about the Persistent manager at the time. I couldn't use the...
Not possible. I have 3 HMI devices from different manufacturers using Codesys runtime versions 3.5.12, 3.5.10 and 3.5.7. So I will have to wait for years until the manufacturers decide to update their runtime to a version that can be used with the version 3.5.14.0 of IOT library. It's real problem with many libraries available in Codesys store.
Not possible. I have 3 HMI devices from different manufacturers using Codesys runtime versions 3.5.12, 3.5.10 and 3.5.7. So I will have to wait for years until the manufactures decide to update the runtime to a version that can be used with the version 3.5.14.0 of IOT library. It's real problem with many libraries available in Codesys store.
Thank you for detailed explanation. My controller uses Codesys 3.5.12 so now that the INI file utility is part of the IOT library and requires V3.5.14.0. Can I still use the 1.0.0.1 of the INI file utility or not available anymore? What options do I have?
Thank you for detailed explanation. My controller uses Codesys 3.5.12 so now that the INI file utility is part of the IOT library and requires V3.5.14.0. Can I still use the 1.0.0.1 of the INI file utility or not available anymore?
I guess some thing like this should work IF xSavePersMan THEN PersistenceManager.INST_PersistenceChannel.ExternalSave(); xSavePersMan := FALSE; END_IF I don't understand the following part. </channelname> In Codesys help it says: In case of a shutdown of the controller or after βResetβ (warm / cold / origin) the data is stored automatically if the parameter xSaveOnChange is not set. What if don't want to save automatically? Is it possible to disable this feature?
I guess some thing like this should work IF xSavePersMan THEN PersistenceManager.INST_PersistenceChannel.ExternalSave(); xSavePersMan := FALSE; END_IF I don't understand the following part. </channelname> In Codesys help it says: In case of a shutdown of the controller or after βResetβ (warm / cold / origin) the data is stored automatically if the parameter xSaveOnChange is not set. What if don't want to save automatically? Is it possible to disable it?
I guess some thing like this should work IF xSavePersMan THEN PersistenceManager.INST_PersistenceChannel.ExternalSave(); xSavePersMan := FALSE; END_IF I don't understand the following part. </channelname> In Codesys help it says: In case of a shutdown of the controller or after βResetβ (warm / cold / origin) the data is stored automatically if the parameter xSaveOnChange is not set. What if don't want to save automatically? Is it possible to disable it?
The persistence manager allows cyclic and on change saving of the variables. Is it possible to activate saving in application instead of using the aforementioned ways?
The persistence manager allows cyclic and on change saving of the variables. Is it possible to activate saving in application instead of the aforementioned ways?
I want to be able to enable/disable the Auto-reconnect option of the ModbusTCP Master in my program but I can't find a way to access it. Normally this option is controlled by a checkbox in General settings of the ModbusTCP Master. I have this option enabled but I also have a function to change the IP of the ModbusTCP in the control program and when this function is running I want to temporally disable the Auto-reconnect option. Thanks
I want to be able to enable/disable the Auto-reconnect option of the ModbusTCP Master in my program but I can find a way to access it. Normally this option is controlled by a checkbox in General settings of the ModbusTCP Master. I have this option enabled but I also have a function to change the IP of the ModbusTCP in the control program and when this function is running I want to temporally disable the Auto-reconnect option. Thanks
I want to be able to enable/disable the Auto-reconnect option of the ModbusTCP Master in my program but I can find a way to access it. Normally this option controlled by a checkbox General settings of the ModbusTCP Master. I have this option enabled but I also have a fucntion to change the IP of the ModbusTCP in the control program and when this function is running I want to temporally disable the Auto-reconnect option. Thanks