Search talk: declaration of variables

 
<< < 1 .. 20 21 22 23 24 .. 110 > >> (Page 22 of 110)

Post by snhatton on Integer with comma in visualization CODESYS Forge talk (Post)
Here is some information about formatting different variables types: https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_placeholder_with_formatting_sequence_in_a_string.html I hope this helps!
Last updated: 2023-09-20

Post by pietrobalint on Persistent variables are not read after initialization CODESYS Forge talk (Post)
I updated to 4.13.0.0 and now it works. Thank you!
Last updated: 2024-09-04

Post by talhaali on Persistent variables lost CODESYS Forge talk (Post)
Hi, did you get any solution. I am facing similar problem. I lost all the values
Last updated: 2024-09-10

Post by totorovic on Persistent variables lost CODESYS Forge talk (Post)
IDK why you lost values but about the limit, when you compile, you should have the information about the memory remaining.
Last updated: 2024-09-13

Post by nz-dave on Modbus TCP/IP having problems with global variables CODESYS Forge talk (Post)
IN THE MAPPING COLUMN, TRY CLICKING THE ICON TO "MAP TO EXISTING VAR"
Last updated: 2025-05-21

Post by vipul on Multicast udp CODESYS Forge talk (Post)
Hi, Good afternoon can anybody help me with UDP Multicast code. I am not able to send or recieve data when code is dumped on linux device. Below is my code. Declaration: PROGRAM udp_multicast VAR oneTimeFlag :UINT :=0; state: INT:=0; driver: UDP.UDPDriver; //port : UDP.Port;//moved to GVL src_ipAddr_ud: UDINT; src_ipAddr_st:STRING := '192.168.127.155';//'192.168.1.155';//ipms ip address dst_ipAddr_ud:UDINT; group_ipAddr_st:STRING := '239.1.5.10'; //group_ipAddr_ud:UDINT; result: SysTypes.RTS_IEC_RESULT; //result of recieve function. bind: UDINT; //result of binding. resultCreate:SysTypes.RTS_IEC_RESULT;//result of port creation. timer:BLINK; temFlag :INT:= 0; post:INT :=0; checksumFunc:checksumXor; localStringBuf:STRING[500]; chksum:BYTE; dataBuffer:POINTER TO BYTE; checksumString:ARRAY[0..5] OF BYTE; recvSize:__XINT; errorCode:UDINT; joinGroupErrorCode:UDINT; END_VAR ************8 Implementation: IF oneTimeFlag <> 1 THEN oneTimeFlag:=1; resultCreate := driver.CreatePort(ADR(GVL.port)); src_ipAddr_ud := UDP.IPSTRING_TO_UDINT(sIPAddress:= src_ipAddr_st); GVL.group_ipAddr_ud := UDP.IPSTRING_TO_UDINT(sIpAddress:= group_ipAddr_st); GVL.port.IPAddress := src_ipAddr_ud; GVl.port.ReceivePort:= GVL.src_port;//port on which messages are expected. GVl.port.SendPort := GVL.dest_port; GVl.port.OperatingSystem := 0; //0- any system GVL.port.Socket :=3; //3- socket type is multicast bind := GVL.port.Bind(udiIPAddress:=src_ipAddr_ud,); GVl.port.JoinGroup(udiGroupAddress:= GVL.group_ipAddr_ud,udiInterfaceAddress:= src_ipAddr_ud,eLogCode=>joinGroupErrorCode); END_IF timer(ENABLE:=TRUE,TIMELOW:=T#100MS,TIMEHIGH:=T#100MS); IF timer.OUT = TRUE THEN GVL.port.Send(udiIPTo:=GVL.group_ipAddr_ud,GVL.dest_port,pbyData:=ADR(GVL.writeData),diDataSize:=SIZEOF(GVL.writeData)); ELSE SysMemSet(ADR(GVL.readData[0]),0,SIZEOF(GVL.readData)); result := GVl.port.Receive(ADR(GVL.readData),diDataSize:=SIZEOF(GVL.readData),udiIPFrom=>dst_ipAddr_ud,diRecvSize=>recvSize,eLogCode=>errorCode); SysMemMove(ADR(GVL.readDataBuf[0]),ADR(GVL.readData[0]),SIZEOF(GVL.readData)); END_IF post:=LEN(GVL.readDataBuf);
Last updated: 2024-01-14

Post by manuknecht on Opening a Dialog on a specific Client from ST CODESYS Forge talk (Post)
I managed to find a solution that seems to work reliably. As the VU.Globals.CurrentClient-filter accesses the CURRENTCLIENTID or at least a similar, internal variable it can only be used if called from a certain client (e.g. from a button in a visualization). My solution works by implementing a new client filter that compares the client ID of all clients to the ID of the last client that was used. The variable containing the data of the last client is defined as: G_LastClient : VU.IVisualizationClient; // Copy of last client that detected click This last client is then updated every time a button is pressed using the Execute ST-Code input configuration of the button: G_LastClient := VU.PublicVariables.Clients.Current; Next, I created a function block that implements the client filter interface as so: FUNCTION_BLOCK FB_LastClientFilter IMPLEMENTS VU.IVisualizationClientFilter VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR END_VAR Then i added a method to the FB called IsAccepted which is used to filter out the client. When creating the method, it should automatically be filled with the according variable declaration, as it is defined in the interface: (* For every client can be desided, if it is accepted. ``TRUE``: Client is accepted*) METHOD IsAccepted : BOOL VAR_INPUT (* The client, to check*) itfClient : VU.IVisualizationClient; END_VAR Now the client can be compared to the last used client as such: // check if clientID corresponds to clientID of last recorderd client IF itfCLient.ClientId = G_LastClient.ClientId THEN IsAccepted := TRUE; ELSE IsAccepted := FALSE; END_IF To make use of this custom client filter, initialize a variable with the client filter: LastClient : FB_LastClientFilter; // Client filter to find last used client Then use this client filter when opening or closing a dialog from ST: fbOpenMyDialog(itfClientFilter:=LastClient,xExecute:=TRUE,sDialogName:='VIS_MyDialog_DLG');
Last updated: 2023-09-27

Post by clarenced on Multiple applications on one device sharing variables. CODESYS Forge talk (Post)
I am looking for an example of how to run 2 applications on 1 device that would have global variables shared between the two apps. In this case what I am trying to do is to have the main program logic run as one application and then have the visualization run as a second application. I find this https://us.store.codesys.com/media/n98_media_assets/files/000013-F/0/Multiple%20Applications_en.pdf, that talks about exactly what I want to do, but I can't find the download. The main reason I want to do this is for download speed. Right now it takes at least a minute to download our application to the PLC. A simple program downloads to the PLC in a very short time, but add visualization and the download time gets much longer. If I could download the program separately from the visualization I think that a simple program change would take very little time to download. I have tried create a GVL in the POUs view. This partly works in that both applications can see the GVL, but they each create their own instance of it and the variables are not shared between the two apps. There are ideas of using OPCUA but this raises problems with licensing and having to move any variable that needs to be shared into the Symbol Configuration. This adds a lot of management to keep this up to date. Any ideas would be appreciated thanks.
Last updated: 2025-02-20

Post by r-niedermayer on Issue with WebVisu on Raspberry PI CODESYS Forge talk (Post)
Regarding to your application: When clicking in the web visualization, the boolean variable will be tapped for both buttons. The LED in the web visualization lights up as long as the variable is true The used variables should come from the GVL, ad/or thePLC_Prg. We see no difference or problem in both projects: You have created a visuelement Push button a a tapper, that is supposed to control the variable in this way as expected. This is also reflected (switching Bool from false to true) in the program code, as well as in the (GVL declared) variables. Wherever the misunderstanding comes from: no, this is not memory or license related. Our best guess: it is probably more of an applicative/conceptual implementation.
Last updated: 2024-04-11

Post by micik on Start Codesys project and then execute python script from command line CODESYS Forge talk (Post)
Hello, by searching the forum, I have found an example of batch script that can be used to start codesys projct by temporarily setting env variables. However, I'm not sure how to modify this to start Codesys 3.5.20 and whether or not I need to specify "profile" with Codesys version at all. @echo off SET PROJECT=D:\TestScripts\Data\OnlineTest.project SET VARIABLES=POU.testint,POU.testoutput start /wait CoDeSys.exe --profile="CoDeSys V3.4 SP3" --noUI --runscript="D:\TestScripts\Forum_Environment.py" I have tried the following just to open the test project: SET PROJECT=C:\TEST\Example.project start CODESYS.exe --profile="CODESYS V3.5 SP20 Patch 2" But I'm not sure how to specify this project to be open after py script is executed. The py script should first add required library to the project and then project should be open.
Last updated: 2024-09-30

Post by jerry-sorrells on Find Function: Object reference not set to an instance of an object. CODESYS Forge talk (Post)
Build: CODESYS 3.5 SP19 Patch 1 (64-bit) Host OS: Windows 10 Target: Linux SL I have a project with programs in Structured Text and Ladder Diagram. When I try to use the Find function, it works for the Active Editor; however, when I try to use Find for the Entire Project, I get the error "Object reference not set to the instance of an object." I know what this error means in the context of the program, but I have no idea why the find function is returning this error. The variable I am searching does not matter: it happens with all variables. Any help with this will be greatly appreciated. I generally use the Find function quite often as I am developing and not having it is really slowing me down.
Last updated: 2023-10-23

Post by pascaljt on Function block for Ethernet/IP CODESYS Forge talk (Post)
Hello, I program a function for an Ethernet/IP controller. I made a structure with input and output corresponding with the map of my controller for the function block. My problem is that I don't know how to do the link between the controller and my PLC (CC 100 from Wago). The addresses declare in Codesys are illogic, The first addresses are 12 and 13 then 7 then 4. How to do corresponding the addresses of the controller and the input / output structure ? IP adress ? Does I must create the all variables of controller with the controller adresses to use with the function block ? Thanks for your help. (I hope I'm clear, I'm not english)
Last updated: 2023-10-26

Post by alexgooi on Function Blocks and arrays of function blocks CODESYS Forge talk (Post)
Hi Jack, I think you have to look at a FB in a different way. A Function block (Class) can contain its own data. In other words don't define loose data in your GVL, but define a instance of a FB (Object) in your GVL: Example: Function_Block Basic_Class VAR_INPUT Open_Command: BOOL; END_VAR VAR_OUTPUT Opened: BOOL; END_VAR if Open_Command then Opened := TRUE; ELSE Opened := FALSE; END_IF Global Variables Objects: ARRAY[1..100] OF Basic_Class; //Here you ar defining you objects END_VAR In your code you can directly acces the data and couple it to the IO: GVL.Objects[1].Open_Command := %IX0.0; %QX0.0 := GVL.Objects[1].Opened; //To call the code itself use: GVL.Objects[1](); If you want to take this a step further you are also able to add methods and properties to the FB/Class end thereby creating a OOIP program
Last updated: 2024-02-15

Post by davidmic on Struct Literal CODESYS Forge talk (Post)
Hi all I want to pass a struct into a function without declaring the struct in a VAR/END_VAR. Is this possible? I think this would be called a struct literal It would look something like this someFB.write(structArgument := MyStruct#(a := 1, b := 1.2), otherArgument := TRUE); With this struct declaration TYPE MyStruct : STRUCT a : INT; b : REAL; END_STRUCT END_TYPE
Last updated: 2025-03-28

Post by sean-barton on Function block method default arguments CODESYS Forge talk (Post)
I have default arguments specified for function block methods but when calling a method, an error is produced requiring me to supply all the arguments despite there being default values. According to the online documentation, under section "Calling a Method" and subsection "argument passing" of the following link: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_obj_method.html "Passing an argument for an input ... can be omitted ... for which a default or initial value was specified in the declaration..." I have found this to be the case for all Codesys IDEs I've used, 3.5.11, 3.5.16, 3.5.17, 3.5.19. Am I missing something?
Last updated: 2023-12-21

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

Post by alex00 on DCS / Central Engineering with Codesys support CODESYS Forge talk (Post)
Hello together I'm currently investing in possibilities to have a central engineering software / system for Codesys based controllers. Something like a DCS / SCADA depending on where you see the functionality. We plan to use more or less vanilla codesys. The tool should support the following: - Connect to multiple PLC's in a project to see its variables and debug it. - Central Engineering capabilities (for example shared libraries in a project). - Download the new code / binaries to the plc. - Maybe have functionality to combine visualization elements and logic together. - See the live status variables on all the systems (crosscommunication). I see that codesys theoretically supports engineering of multiple PLC's, but I couldnt find to much functionality for a DCS type of operation, but that could be lack of knowledge. Any tips from you? Is Codesys good enough for this and maybe there are some manufacturers which build around it? Or are there good tools on the market with Codesys support (and the engineering is separate, but download to codesys possible). The use case is distributed energy installations like Heating pumps, Photovoltaics, etc. All these installations should have a PLC with codesys installed and run in one larger network, the PLC's are connected via VPN. Thanks for your inputs Greetings
Last updated: 2024-02-19

Post by alex00 on DCS / Central Engineering for Codesys CODESYS Forge talk (Post)
Hello together I'm currently investing in possibilities to have a central engineering software / system for Codesys based controllers. Something like a DCS / SCADA depending on where you see the functionality. We plan to use more or less vanilla codesys. The tool should support the following: - Connect to multiple PLC's in a project to see its variables and debug it. - Central Engineering capabilities (for example shared libraries in a project). - Download the new code / binaries to the plc. - Maybe have functionality to combine visualization elements and logic together. - See the live status variables on all the systems (crosscommunication). I see that codesys theoretically supports engineering of multiple PLC's, but I couldnt find to much functionality for a DCS type of operation, but that could be lack of knowledge. Any tips from you? Is Codesys good enough for this and maybe there are some manufacturers which build around it? Or are there good tools on the market with Codesys support (and the engineering is separate, but download to codesys possible). The use case is distributed energy installations like Heating pumps, Photovoltaics, etc. All these installations should have a PLC with codesys installed and run in one larger network, the PLC's are connected via VPN. Thanks for your inputs Greetings
Last updated: 2024-02-19

Post by macman on Codesys 3.5 OPC UA Client to Kepware OPC UA Server CODESYS Forge talk (Post)
Hi, I have problem with connecting Wago PLC WAGO 750-8212/0025-0002 configured as OPC UA client to Kepware OPC UA Server. I am using Codesys 3.5.19.70. What I did so far. To the Codesys project I added object Data Source Manager and configured connection OPC UA like below: pic 1 Then I can browse the OPC server tags in “Variables” tab after prior trust on the server side of the client certificate created in the “Communication” tab: pic 2 Additionally second certificate has been created in Codesys for runtime process in “Security screen” as well as the server certificate was approved here: pic 3 But when I compiled project, downloaded it to PLC and go to RUN I can’t read selected in “Variables” tab, OPC Server tags. I am getting such error (ID: 7001): pic 4 All two PLC certificates has been trusted in OPC server (Kepware) side: pic 5 and Kepware server configuration look like this: pic 6 I can easily connect using third party OPC UA client UaExpert to Kepware server without problem. In attachment I added also log from Kepware OPC UA server. pic # - this specifies the number of a concrete graphic from one of the collective in attachment
Last updated: 2025-04-02

Post by eaglealex on Length of string and Array of bytes CODESYS Forge talk (Post)
Thank you for your answer! I know that 0 will be the end of the string. I checked it. There is no 0 in array of bytes. I made screenshots. There is array of bytes, aborted string and the result of my test via online converter.
Last updated: 2025-04-02

Post by sukrit on What licenses are required for runtime on raspberry pi cm4 CODESYS Forge talk (Post)
We have developed a project for 2 servo motors using raspberry pi computemodule 4 on ethercat master. we are using web visualization for display different screens. project is running well in demo. we want to implement it in production envoirment. being new still wondering which licences i need. Can We get this information in codesys devlopment software. code size is approx 5 mb, 1 instance of etharcat master and aproox 100 variables in visaualization.
Last updated: 2023-10-17

Post by stuartjr on Disabling forcing of specific variables CODESYS Forge talk (Post)
Is there a way that I can create a variable in a GVL that I can control with logic but a user can not put a force on this variable. I have looked at the access rights but this seems to only limit editing the GVL or POU. This variable will only be assigned a value in one POU but it will be used throughout many other POUs.
Last updated: 2024-03-15

Post by valenting on Problem with Licenced Software Metrics CODESYS Forge talk (Post)
Hi, When I try to install my codesys program with the new application-based licensing, I have an error "it exceeds the scope of the license agreement. See Device > Licensed Software Metrics" In the Licensed Software Metrics section, I see a code size < 3MB and less than 2700 variables in visualiaztions. I'm using a license "Control Basic L" with "Codesys Visualization L" option, so it should be enough with these metrics. What can I do ?
Last updated: 2024-04-22

Post by varshag on Trying to pull Logged In user details and certain other variable values and in turn log to a database CODESYS Forge talk (Post)
Hello All, I am new to Codesys and am trying to create a simple project which would let me log to a 6 column database table. I can use a push button on Visualization to initiate the logging. Column 1:Timestamp Column 2:Full name or Initials of Logged in operator Column 3,4,5,6: Certain variables Any help is highly appreciated. Thank you.
Last updated: 2024-11-07

Ranges, Lambdas, on Fixed arrays of structs CODESYS Forge talk (Thread)
Ranges, Lambdas, on Fixed arrays of structs
Last updated: 2023-08-31

<< < 1 .. 20 21 22 23 24 .. 110 > >> (Page 22 of 110)

Showing results of 2737

Sort by relevance or date