Post by eschwellinger on How to Connect / Go Online without re-downloading the project
CODESYS Forge
talk
(Post)
Which plc type is it: Either use Automationserver to do this or save the project archives instead of projects or use the source dowload function and reopen the application from plc. So you need to chose one of them.
Last updated: 2024-04-13
Post by kevinm on Data source and safety PLC
CODESYS Forge
talk
(Post)
I am having the same trouble. However, if I change the Login Configuration settings to 'Type: Login using the credentials determined at runtime' then the Connection information continues as 'Connection state: Connecting' and 'Error information: OK'. There is no User Management on the source PLC.
Last updated: 2024-05-16
Post by shabroz-gill on Data Sources Manager causing exception due to float or double type in OPC server
CODESYS Forge
talk
(Post)
Was this ever resolved? I see the same issue with the version 3.5.19.5
Last updated: 2024-07-01
Post by dekelec on Codesys 2.3 & Peak PCAN
CODESYS Forge
talk
(Post)
IF you have an USB interface type in "Peak_USB" for CAN card driver (Name of CAN card driver). No need to add libraries for communication via CoDeSys Gateway. For other card types contact PEAK support and they will help you. Regards,
Last updated: 2024-07-08
Post by dennisyhli on Ethernet IP Connection timeout
CODESYS Forge
talk
(Post)
I use ethernet ip scanner and the connection type is set to multicast. After running the PLC, the ethernet IP will have a connection timeout every 10 seconds. What is the reason for this error?
Last updated: 2024-08-16
Post by ph0010421 on How to manage variable types larger than 64 bits - Ethernet/IP
CODESYS Forge
talk
(Post)
So it's currently mapped to an array of BYTES? Can you create a UNION? TYPE sBytesString : UNION AsBytes: ARRAY[0..127] OF BYTE; AsString: STRING(128); END_UNION END_TYPE Map it to the bytes, read it in the STRING!
Last updated: 2024-09-23
Post by opineiro on How to manage variable types larger than 64 bits - Ethernet/IP
CODESYS Forge
talk
(Post)
Thanks, that's what I thought initially. The point is that I can't select a String type variable. See the attached image
Last updated: 2024-09-23
Post by timvh on Readable IO names
CODESYS Forge
talk
(Post)
IF you create an ENUM {attribute 'qualified_only'} {attribute 'strict'} TYPE E_IO : ( FIRST := 0, SECOND := 1 ); END_TYPE You should be able to access the array items like: IOCard_OUTPUT[E_IO.FIRST]
Last updated: 2024-09-28
Post by tmo21 on Automation server - trends stop recording - need to manually reconnect
CODESYS Forge
talk
(Post)
Hi Edwin, Thanks for your message. Edge controller Version: 4.4.0.0 based on 3.5.17.30 PLC version: Device Identification Name CODESYS Control for Raspberry Pi MC SL Vendor 3S - Smart Software Solutions GmbH Device type Softmotion3S Firmware version 4.4.0.0
Last updated: 2024-10-23
Post by nonstop-cat on Problem of assigning physical addresses to variables of type ARRAY OF ARRAY as MW and QW
CODESYS Forge
talk
(Post)
Array writing method error,,,<arrayname>: ARRAY [<ll1>..<ul1>, <ll2>..<ul2>, <ll3>..<ul3>]</ul3></ll3></ul2></ll2></ul1></ll1> OF <basedatatype></basedatatype></arrayname>
Last updated: 2025-03-31
Post by nonstop-cat on Problem of assigning physical addresses to variables of type ARRAY OF ARRAY as MW and QW
CODESYS Forge
talk
(Post)
Array writing method error,,,<arrayname>: ARRAY [<ll1>..<ul1>, <ll2>..<ul2>, <ll3>..<ul3>]</ul3></ll3></ul2></ll2></ul1></ll1> OF <basedatatype></basedatatype></arrayname>
Last updated: 2025-03-31
Post by eschwellinger on RaspberryPi 5 gateway problem
CODESYS Forge
talk
(Post)
Do you use the same type Raspberry PI64 SL in the device tree? Which version of the Pi package / Runtime do you use? 4.16.0.0?
Last updated: 2025-06-12
Post by svn123 on Can V3.5.19 and V2.3.9 be installed on same Windows10 PC without affecting each other?
CODESYS Forge
talk
(Post)
Hi All, Seasons Greetings! I have Codesys V3.5.19 patch 5 installed on a Windows 10 PC. I have received a program which is for Codesys V2.3.9. First I tried to convert it but had many conversion errors. I am wondering if it is possible to install Codesys V2.3.9 on same PC without affecting the V2.5.19 installations. Is this possible? SVN123
Last updated: 2023-12-28
Post by wiresplus on INT_TO_WORD function not working
CODESYS Forge
talk
(Post)
Hello, I need to take an INT input, and convert it to a WORD value. VAR DRV2Speed : WORD; //IO card takes a WORD where 16000 = full 10V output (equivalent to 50Hz) PumpFillSpeed : INT; //Users enter a value between 0 and 50 END_VAR IF <conditions> THEN DRV2Speed :=INT_TO_WORD((PumpFillSpeed/50)*16000); END_IF </conditions> According to me this should work - but it stays at 0, no matter what. What am I doing wrong?
Last updated: 2024-01-26
Post by i-campbell on Publish a JSON payload via MQTT Publish (using IIot Libraries)
CODESYS Forge
talk
(Post)
your are sending as a WSTRING which is UTF16, but your receiver is interpriting as UTF8. Change the receiver to use UTF16, or better change your sender to convert to UTF8. You publish the entire storage space (SIZEOF) Instead of the number of bytes of actual text (StrLenA) try using utf8JsonData : STRING(2000); JSON.Stu.ConvertUTF16toUTF8( ADR(wsJsonData), ADR(utf8JsonData), SIZEOF(utf8JsonData) ); and change your publish to mqttPublish( mqttClient:=mqttClient, pbPayload:=ADR(utf8JsonData), udiPayloadSize:=To_UDINT(JSON.Stu.StrLenA(ADR(utr8JsonData))), wsTopicName:=topic, mQTTPublishProperties:=mqttPublishProperties );
Last updated: 2024-04-10
Post by liamb on Converting CANbus to Decimal from signed 2's complement
CODESYS Forge
talk
(Post)
I need to combine two 8 bit CANbus messages to 16 bits signed int then convert to decimal Decimal from signed 2's complement. I've been using the below code to read for new messages, combine them then assign them to a variable What is the best way to do this for from signed 2's complement? fbRxMessage351(Data := RxMessage351Data); IF fbRxMessage351.NewMessage THEN ChargeVoltage := (WORD_TO_REAL((RxMessage351Data[0]) + ((RxMessage351Data[1]) * 256))) * 0.1; END_IF
Last updated: 2024-08-16
Post by docker on Webvisu client connection monitoring
CODESYS Forge
talk
(Post)
Hi mate, With this snippet i was able to see the lastusage variable count, but it would not iterate between clients? i was only able to access the data of the target visu. it threw an error with the array of pointers stating it was not able to convert etc. also when i tried it with the while loop it created an endless loop and crashed the program. any ideas? Thankyou
Last updated: 2024-09-10
Post by sebastianrapi on Bibliothek: floatingpointutils
CODESYS Forge
talk
(Post)
Hallo Zusammen, ich versuche die Bibliothek FloatingPointUtils.compiled-library-v3 zu benutzen. leider kommt dabei folgende Fehlermeldung: Kein Quellcode fΓΌr dieses Objekt... (siehe Anhang) Wie kann ich diese Bib einbinden? Kann ich diese irgendwo herunterladen? Mein Ziel ist es ein DWORD (float) in ein REAL umzuwandeln. ICh hoffe, dass ich dies mit der Funktion HexStrToReal machen kann. So wie hier: https://gregstoll.com/~gregstoll/floattohex/ convert to float... Oder gibt es bei Codesys einen anderen Weg? Ich verwende v3.5 SP20 Patch 1 + (32Bit) GrΓΌΓe Sebastian
Last updated: 2024-10-17
Post by garyl on Comments in arrays and assigning RST coil's to 600 outputs
CODESYS Forge
talk
(Post)
Hello all, im working on a project that requires me to convert an old automation direct DirectSoft PLC d2-250-1. One of the problems im encountering is that all of the comments are attached to members of the different addresses. When i convert the addresses (1777 "C" registers, 777 X registers, and 20,0000 V registers) im running into difficulties keeping the inputs/outputs correct since they are missing documentation. Is there a good way to retain the comments of the indexes in the array? Secondly, initially i was declaring the "C" and "V" addresses individually and this worked to retain the comments as to which register did what, however i ran into a problem when one rung reset (or set to 0) approximately 600 C Addresses. Since each tag is separately declared this proved to be nearly impossible without a literal wall of code that attempted to crash the program. So i converted all of the registers (C,X,Y,V) into separate structs, declared them as arrays and pointed all of the original call outs in the program to the newly defined structs. However i have now lost comments and the program is very hard to follow. Thanks for any help with this issue.
Last updated: 2023-08-31
Post by hanoues on setting date and time on CPX-E
CODESYS Forge
talk
(Post)
Hello, Can anybody here tell me how to modify the time and date on my CPX-E? I used the code I found on CODESYS online help, but it doesn't work. What am I missing? FUNCTION current_date_time : STRING VAR stUTC_Timestamp : SysTime; //utc time // ULINT#1528280694913 stLocal_TimeStamp : SysTime; //local time but is in general equal // ULINT#1528280694913 stdNow : SysTimeDate; //local time in an object to access each number (day, month...) dtNow : DATE_AND_TIME;//DT#2018-6-6-10:24:54 todNow : TIME_OF_DAY; // TOD#10:24:54.913 datNow : DATE; // D#2018-6-6 END_VAR SysTimeRtcHighResGet(stUTC_Timestamp); // ULINT#1528273494913 SysTimeRtcConvertHighResToLocal(stUTC_Timestamp, stdNow); //convert UTC ULINT to Local SysTime // stdNow.wYear = UINT#2018 // stdNow.wMonth = UINT#6 // stdNowy.wDay = UINT#6 // stdNow.wHour = UINT#10 // stdNow.wMinute = UINT#24 // stdNow.wSecond = UINT#54 // stdNow.wMilliseconds = UINT#913 // stdNow.wDayOfWeek = UINT#3 // stdNow.wYday = UINT#157 SysTimeRtcConvertDateToHighRes(stdNow, stLocal_TimeStamp); // ULINT#1528280694913 dtNow := TO_DT(stLocal_TimeStamp / 1000 ( ms )); // DT#2018-6-6-10:24:54 todNow := TO_TOD(stLocal_TimeStamp MOD TO_ULINT(T#1D)); // TOD#10:24:54.913 datNow := TO_DATE(dtNow); // D#2018-6-6 (convert to appropriate string) current_date_time := concat('$N[', TO_STRING(dtNow)); current_date_time:= concat(current_date_time,'.'); current_date_time:= concat(current_date_time, TO_STRING(stdNow.wMilliseconds)); current_date_time:= concat(current_date_time,'] - '); RETURN;
Last updated: 2024-05-21
Post by alimans on Hex string
CODESYS Forge
talk
(Post)
Hi kdkwhite, for Word you still can use suggested code by using a union structure and crack down your Word to two byte as bellow: TYPE CrackWordToByte : UNION InWord : WORD; OutBytes : ARRAY [0..1] OF BYTE; END_UNION END_TYPE then define your variable as this type: udInput : CrackWordToByte; now assign your Word variable input to InWord and send OutBytes[x] to the mentioned method: udInput.InWord := WordVariableInput; Input := udInput.OutBytes[x]; Regarding your question about the code: actually 48 is ascii code of "0" and while 65 is the ascii code of "A" so in above code 55 + 10 would be 65.
Last updated: 2023-09-20
Post by installwhat on C0077 on one machine but not another
CODESYS Forge
talk
(Post)
I have a version of codesys 3.5.16 on my local machine and a vm. The local machine has loads of codesys versions and libraries installed etc. I can open the FPosCR_Example_Project_SP16_patch1 project on my vm without any errors. On the local machine I get the error C0077: unknown type IoDrvEthercatLib.ETC_CO_SdoWrite. I can, on the local machine, declare a var of type IoDrvEthercatLib.ETC_CO_SdoWrite and include it in the code without adding an extra error. The problem only seems to affect the library. This is seems more an issue with my codesys set up rather than something with festo. I would like to know the possible causes. I understand most of the library manager features but it's not clear how to find the cause. Thanks
Last updated: 2024-06-11
Post by eguerra on Error in ScriptingEngine Docs - create_pou()
CODESYS Forge
talk
(Post)
In the ScriptingEngine documentation there seems to be an error (or missing information) in the ScriptIecLanguageObjectContainer part ( https://content.helpme-codesys.com/en/ScriptingEngine/ScriptIecLanguageObjectContainer.html#ScriptIecLanguageObjectContainer.ScriptIecLanguageObjectContainer ). The description of the function create_pou() doesn't specify the correct arguments requested, it only says create_pou(type: SpecialPouType) and a script using the documentation definition of the function will raise an error. I tried passing the function arguments similar to the ones specified for the create_dut() function and it seems to work fine: create_pou(name, PouType) , name : str UPDATE: The offline help has the correct definition IExtendedObject<IScriptObject> create_pou( string name, PouType type = PouType.FunctionBlock, Nullable<Guid> language = null, string return_type = null, string base_type = null, string interfaces = null )
Last updated: 2024-08-05
Post by otbeka on CmpCrypto CryptoGenerateHash Not Outputting
CODESYS Forge
talk
(Post)
Unfortunately I noticed that, and tried: * using CryptoGeteAlgorithmByID within the function call * inputting the raw byte pointer as a testByte * instantiating the _hHash handle within the function body * using a different cryptoID or the raw DINT values from the RtsCryptoID DUT ... to no avail. The pReturn value is also set to 0, which would indicate that it is OK, right? This is odd given that the function is the same within the CryptoDemo example project here, just with a newer version. Is it possible that there is something wrong with the way my bytestring is being set up? I use the following DUTs here: TYPE MESSAGE : STRING(255); END_TYPE TYPE HASH_CODE : ARRAY[0..19] OF BYTE; END_TYPE
Last updated: 2024-09-06
Post by thn-power on How to change OPC NodeId IdentifierType
CODESYS Forge
talk
(Post)
Hi Yet another OPC UA question. When setting up a OPC server using "Communcation manager" (Symbol set and information model) in Codesys the NodeId is always given as "opaque" type. At least when browsing using UAExpert. Other standard OPC objects use numeric (or string) identifier, but for some reason my variables seems to get opaque/binary type. See attached photo. How can I change this? I can't see that this is a parameter in the CodesysControl.cfg. Can this be specified in the information model nodeset? And is it possible to specify the exact numeric or string NodeId for each instance? And on a related topic, is there a way to export the OPC server nodeId's with variable name so that it can be imported in a OPC Client? The .xml files in the project folder does not seem to contain the NodeId.
Last updated: 2024-09-20
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
.