Post by remcoborghuis on C0032 Error to type Pointer to IoConfigParameter
CODESYS Forge
talk
(Post)
Hi All, I'm using codesys on a raspberry PI. I use V3.5 SP18 Patch 2 development system and codesys for raspberry pi 4.8.0.0. Sometimes when I build the project I get error messages C0007: Expression expected instead of ',' and C0032: Cannot convert type 'Unknow type: '!!!'ERROR'!!!" to type 'POINTER TO IoConfigParameter'. I can't click on the message to bring me to the fault. After I do a "Clean all" the build finishes successful. Anyone who can help me with this problem? Thanks! Remco Borghuis
Last updated: 2024-03-25
Post by abauza on Type mappings in Datasource
CODESYS Forge
talk
(Post)
Hi I have the same problem, any solution for this? Thanks
Last updated: 2024-09-12
Post by davidbo on I want to convert a WORD to a hex string like 15.432 to '3C48'
CODESYS Forge
talk
(Post)
I try with BYTE_TO_HEXinASCII but I cant get it right. How do I convert a word value like 15432 to the HEX text string '3C48'
Last updated: 2024-04-19
Post by tvm on Timer On Vijeo
CODESYS Forge
talk
(Post)
Vijeo doesn't support TIME variables, so the easiest thing to do is convert to a STRING in your program, and use that variable. You could use TimeAsString:= TIME_TO_STRING(TimeVar) to get a string that looks like this: T#5h10m45s200ms
Last updated: 2024-05-07
Post by drml on Array to String
CODESYS Forge
talk
(Post)
If a size is not specified, CODESYS allocates 80 characters by default for a string. After 7 seconds, does your Json_string contain all of your 20000 key/values? Or is the result truncated to 80 characters?
Last updated: 2024-07-19
Post by mmpl on Array to String
CODESYS Forge
talk
(Post)
Hi Thank you for you reply. Yes I can concatenat longer string. I am using string_Util_Intern libraray for concat. The issue is abot plc performance. It takes 7 second. I am looking to improve time.
Last updated: 2024-07-23
Post by peterned on Array to String
CODESYS Forge
talk
(Post)
max. string length in Codesys is 255 chars. It's not possible to cram 20,000 things in a string. If you need to send the data to another device, send the whole data[] array (as byte array, without doing anything to it) and extract the information on the other end. As each struct member has a fixed size (81 bytes, as per you declaration), this will be easy. To save some resources, consider declaring string lengths - e.g. if the max possible length for key is 10 chars, declare it key: STRING(10); and it will occupy 11 bytes instead of 81
Last updated: 2024-07-20
[ERROR] The PLCopenXML import is not possible because Device not found. Type: 89, Id: 0000 0005, Version: 3.5.10.0
CODESYS Forge
talk
(Thread)
[ERROR] The PLCopenXML import is not possible because Device not found. Type: 89, Id: 0000 0005, Version: 3.5.10.0
Last updated: 2024-02-15
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 simover on TCP/IP client
CODESYS Forge
talk
(Post)
I want to send a string to a tics TCP/IP server. I got i working with the Net Base lib. for communication good with this tcis i need to by array of byte I want to include a string in the third position of the array TCIS_Send[1] :=254; //this valus is fix for evry communication TCIS_Send[2] :=80; //this valus is fix for evry communication TCIS_Send[3] := ; here I put my and my string is lik this 5806509-DRAP10#AB#3452302073 TCIS_Send[4] :=252; //this valus is fix for evry communication
Last updated: 2023-12-18
Post by ihatemaryfisher on Sorting array of any-sized structure
CODESYS Forge
talk
(Post)
With that I could make an array of varying size, but would still have to define the array type in the function's declaration VAR_IN_OUT stArray: array [*..*] of <pre-defined data type> END_VAR I wanted a function that could take an array of any type (e.g., a structured VAR) as an input. That way I could call it in multiple POUs to handle different arrays structures.
Last updated: 2023-08-18
Post by simotion on Inheritance of axis
CODESYS Forge
talk
(Post)
I have developped a function block 'Axis' the inherits from 'AXIS_REF_SM3' -> FUNCTION_BLOCK Axis EXTENDS AXIS_REF_SM3 In my global variable list I define a variable MasterDrive of type Axis and assign Axis1. Axis1 is a virtual drive (AXIS_REF_VIRTUAL_SM3). This type should inherit from AXIS_REF_VIRTUAL. VAR_GLOBAL MasterDrive : Axis := Axis1; However I get the error 'Cannot convert type'. What is the way to obtain what I want : function block inheriting AXIS_REF_SM3 and initialising this function block with a Softmotion virtual or real axis?
Last updated: 2023-12-07
Post by timvh on Device logon problem following fresh install
CODESYS Forge
talk
(Post)
In your project you selected the "CODESYS Control Win V3" as device, but the device you want to connect to is a "CODESYS Control Win V3 x64". Those are not the same. If you double click on the device during the network scan, you will get information that these are not the same, but that you can change the type in your project to the x64 bit type. Another option is to "right-click" on the device in the device tree of your project and select "update device" then select the x64 type.
Last updated: 2024-03-19
Post by i-campbell on FILE_OPERATION_DENIED
CODESYS Forge
talk
(Post)
in your project, to access /var/opt/codesys/PlcLogic/my.file, use the string 'my.file' or '$$PlcLogic$$/my.file'
Last updated: 2023-10-17
Post by goki on Problem mit String in Globaler Variable
CODESYS Forge
talk
(Post)
Hallo Zusammen Gibt es ein Beispiel wie ich dies so im Codesys 3.5 umsetzen kann?
Last updated: 2024-02-09
Post by installwhat on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_operator_string_to/ Something like this?
Last updated: 2024-06-13
Post by installwhat on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_operator_string_to/ Something like this?
Last updated: 2024-06-13
Post by vladimirsmall on Send data to USB
CODESYS Forge
talk
(Post)
Hello/ Need send some file ( for example Array of string) to USB. Which library need used for this. Thank you
Last updated: 2024-07-20
Post by macros8 on Alarm Management - latched variable represented as Text list
CODESYS Forge
talk
(Post)
Hi, I haven´t noticed you put the comment here. I thing it´s a bit different. What I want is to have detail errors of technology in data type e.g. INT. This variable I would latch to the corresponding error msg but I would like to get it convert to text from the text list and not keep it in INT form. Example. Main error Valve Error: SubErrors 1 - Both sensors 2 - Not retracted in time 3 - Not pulled out in time In HMI Main error + latch SubErrors => "Valve Error: Both sensors" The benefit is that text lists are part of translation and can be easily manipulated. I know I can create whole string msg in PLC but then, it lose advantage of Alarm management. Thanks. M.
Last updated: 2023-11-07
Post by ph0010421 on TCP/IP client
CODESYS Forge
talk
(Post)
Hello TCIS_Send needs to be longer than 4 bytes because idata is 28 bytes long. There may be other ways, but I would make a UNION with string/array of bytes. Write your STRING into the AsString part then copy the AsBytes part into TCIS_Send (Elements [3] to [30]) then 252 would be in [31] (I've assumed the idata is always the same length)
Last updated: 2023-12-19
Post by bertcom on Converting each character to a string into ASCII
CODESYS Forge
talk
(Post)
@TimvH, Thank you, i think this way i can seperate the complete string to characters. Next part of the topic is converting the characters to an ASCII code. Is there an standerd function in Codesys for this? I alredy searched a few hours for it on the internet. no succes.
Last updated: 2024-11-11
Post by simotion on Property
CODESYS Forge
talk
(Post)
Why can't a property be of type REFERENCE TO? Plc goes to stop if I try that.
Last updated: 2023-12-14
Post by athuum on Error 'Library not found' and 'Unkown type'
CODESYS Forge
talk
(Post)
I have found the solution, the CmpEventMgr version has to correspond with the 3sLicense version.
Last updated: 2024-10-10
Post by ph0010421 on How to create a stopwatch?
CODESYS Forge
talk
(Post)
Do you need an 'hours-run' counter? And 1 second resolution is ok? I think you're over-thinking it. (The task time needs to be < 1second) Have a look at the LAD... Then, the time in seconds can be made into hh:mm:ss with this FUNction Declarations: FUNCTION funSecondsToStringTime: string VAR_INPUT InSeconds: UDINT; END_VAR VAR AsString: STRING; Minutes: UDINT; Hours: UDINT; Seconds: UDINT; MinutesAsString: STRING(2); HoursAsString: STRING(2); SecondsAsString: STRING(2); END_VAR and the code: Hours := InSeconds / 60 / 60; //Derive hours Minutes := (InSeconds - (Hours * 60 * 60)) / 60; //Derive minutes Seconds := InSeconds - ((Hours * 60 * 60) + (Minutes * 60));//Derive seconds HoursAsString := UDINT_TO_STRING(Hours); MinutesAsString := UDINT_TO_STRING(Minutes); SecondsAsString := UDINT_TO_STRING(Seconds); IF LEN(HoursAsString) = 1 THEN HoursAsString := CONCAT('0',HoursAsString); END_IF; IF LEN(MinutesAsString) = 1 THEN MinutesAsString := CONCAT('0',MinutesAsString); END_IF; IF LEN(SecondsAsString) = 1 THEN SecondsAsString := CONCAT('0',SecondsAsString); END_IF; AsString := CONCAT(HoursAsString, ':'); //assemble string AsString := CONCAT(AsString,MinutesAsString); AsString := CONCAT(AsString,':'); AsString := CONCAT(AsString, SecondsAsString); funSecondsToStringTime := AsString;
Last updated: 2023-12-08
Post by eschwellinger on License problem gateway
CODESYS Forge
talk
(Post)
most important information are missing: Which CODESYS Version? Which runtime version? Which plc type (manufacturere).. Not all plc manufacturer already support application based licenses. From your pictures I see you have activated 4 axis Motion (which is an applications based license type) does only work on plc's which do support this.
Last updated: 2024-04-25
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
.