Post by bahrt on Mapping GPIO and adding GPIO configurations
CODESYS Forge
talk
(Post)
Hi I am about to configure ALL GPIOs on a Raspberry Pi 3 model B V1.2. It seems that I have limited understanding of why not all the IO’s become available with the corresponding mapped IO’s – the 'dwInUse' contains mapping of the inputs from GPIO0 to GPIO27. But 'dwInputs' are only showing GPIO0 to GPIO8 and GPIO15 as available inputs. These mentioned inputs work fine You will be able to watch the limited mapped IO activity here: https://drive.google.com/file/d/1zz4PBNBfRZBF2YkiJ2VQxw6L9MBVji7R/view?usp=sharing Can you please bring your best idea on why GPIO09 to GPIO14 and GPIO16 to GPIO27 state are zero in the dwInputs register? Thanks in advance. Best regards Andreas Bahrt
Last updated: 2023-11-16
Post by bahrt on Raspberry Pi GPIO mapping
CODESYS Forge
talk
(Post)
Hi I am about to configure ALL GPIOs on a Raspberry Pi 3 model B V1.2. It seems that I have limited understanding of why not all the IO’s become available with the corresponding mapped IO’s – the 'dwInUse' contains mapping of the inputs from GPIO0 to GPIO27. But 'dwInputs' are only showing GPIO0 to GPIO8 and GPIO15 as available inputs. These mentioned inputs work fine You will be able to watch the limited mapped IO activity here: https://drive.google.com/file/d/1zz4PBNBfRZBF2YkiJ2VQxw6L9MBVji7R/view?usp=sharing Can you please bring your best idea on why GPIO09 to GPIO14 and GPIO16 to GPIO27 state are not active (at a fixed zero state) in the dwInputs register? Thanks in advance. Best regards Andreas Bahrt
Last updated: 2023-11-21
Post by dkugler on Management of a PLC network from a remote station
CODESYS Forge
talk
(Post)
I would figure out, how to create a simple html webpage with 2 frames. One frame with buttons to select the plc. A second frame with hyperlink to the webvisu of the plc ("XXX.XXX.XXX.XXX:8080/webvisu.htm"). Selecting other PLC Button has to change the hyperlink in 2. frame. Costs only some time to figure out :-) Or setup a raspberry Pi with small visualization. Set up a button for each plc and add one browser element. Each button writes the URL of the depending plc to the URL setting of the browserelement. Costs 55€ for runtime licence and a Raspberry Pi.
Last updated: 2023-12-04
Post by macros8 on Translation - How to get text as reference in Frames translated?
CODESYS Forge
talk
(Post)
Hi, thanks for the link. Maybe I create elements in incorrect way. I always use Interface Editor to create variables which are used inside element (see pics). After that I place element in my visu and use Reference property to link variable or set the value. In that case the value of string is not transferred to general text list for translation as I mentioned before. Do I have to all properties which influence behavior of my element create in Frame configuration instead? What´s the difference to the Interface editor? Thanks a lot. M.
Last updated: 2024-01-02
Post by anderson on function block output
CODESYS Forge
talk
(Post)
I'm trying to make a CNC machine, but I'm having problems because the drive I'm using only has the option of communicating through digital inputs. In this case, I should use the CLP's digital outputs to communicate with it, correct? However, in the function blocks it seems that they are already pre-programmed and I didn't find the pulse output options, for example, so that I could associate a digital output from the PLC to connect this to the drive's pulse input. My question is: is it possible to associate the pulse output of the function block with a digital output of the PLC? and how to do this?
Last updated: 2024-01-05
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 struccc on Release SP20 - Changes in behaviour?
CODESYS Forge
talk
(Post)
This... is not very practical for me - as I have a bunch of different classes - it's just doesn't seems to be very practical to define a NULL for each of them... Something like this I use in parameter definitions. For example: VAR_INPUT refVFD_Drive : REFERENCE TO FB_VFD_Drive := GVL_DUMMY.Dummy_VFD; END_VAR I use this to prepare objects for code I don't control: Typycally visualizations - had many troubles with references set on the fly, right before opening a corresponding visualization... And yes, the instance in GVL_Dummy reports itself as "Fake", so it does not influence the actual application at all. Actually this way I could invalidate a reference, just to set it to a "Dummy" instance.
Last updated: 2024-03-25
Post by valec on Connect local Asem HMI runtime to local Codesys Control Win V3 x64
CODESYS Forge
talk
(Post)
I have a project made on a PL700 PLC with Codesys and an Asem Premium HMI panel. I don't have access to the physical PLC right now, so I'm trying to use Codesys Control Win V3 x64. I created the application and loaded "Codesys Control Win V3 x64" without errors, then I activate "Start PLC" from the tray. Asem cannot connect. I tried to use "localhost" or the local IP address and it doesn't work (it's the "CoDeSys Soft PLC Communication Driver"). I need to connect my local Asem runtime to a virtual Codesys application on my PC. How can I do it?
Last updated: 2024-03-26
Post by alexgooi on Modbus writing on value change
CODESYS Forge
talk
(Post)
The way I usally tackle this is by syncing only words (then you are able to use the FB above). If you then want to write a Boolean simply type it like this. Value[1].0 := Bool1; Value[1].1 := Bool2; Value[1].2 := Bool3; Uints have the same number of bits than a INT/WORD so these ones will work as well (they are only represented diffrently). A Real will work but you will loose some infomration in the conversion. If you want to keep the information you can convert 2 words to a float with a function (for example with the IEEE-754 standard) . In this way the syncing to the server is very simple and in the Codesys Program you decide what part of the word you want to use.
Last updated: 2024-04-03
Post by tecnocons on Trouble Writing Files to External Paths in CODESYS
CODESYS Forge
talk
(Post)
Hello everyone, I'm encountering an issue in CODESYS regarding writing files to external paths. Despite correctly configuring the placeholder in the CODESYSControl_User.cfg file to allow access to an external folder, CODESYS doesn't seem to write any files, and no errors are reported. The issue on the older versions was absent with no placeholders. I've checked the operating system permissions, and they seem to be in order, but the issue remains. Has anyone faced a similar situation or has any suggestions on how I might resolve this problem? Any help would be greatly appreciated. Thank you in advance for your support. I'm using raspberry PI as a logger. RPI3 Buster Codesys 32bit SL V4.11 Codesys Win64 3.5.20 [SysFile] PlaceholderFilePath.1=/home/pi/scan, $SCAN$
Last updated: 2024-04-09
Post by sachem on Problem retain values Weidmuller UC20-WL2000
CODESYS Forge
talk
(Post)
Good afternoon. I am working with a weidmuller uc20-wl2000 controller, using a codesys license. We made a ladder code to control a process, and it works well, but we want some variables to remain stored even when the controller is turned off. We tried to use retain variables, but at the time of loading the program, when we went offline from the controller, the program was deleted, it did not remain in the controller, and in the same way if we turned off the controller. In addition to this, when we tried to program it again, the program would not stay loaded and began to present errors with the opc-ua communication. What could be causing this problem? How can we maintain the values of the variables without damaging the program or affecting the controller? thank you
Last updated: 2024-04-10
Post by valenting on Can't use new licensing with Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I'm using Codesys control for Raspberry Pi in the latest version (4.11.0.0) When I try to install a license with the new application-based licensing, I have an error "returncode 403046401" (using codesys SP18) I updated to codesys SP20, and now I get the following error: "The selected conainer [0]: SN=..., Version=1.18, Chip=0, Rev=0 does not fit to your ticket. Please select a suitable one." The license I'm trying to install is a Codesys Control Basic L license, with a Codesys Visualization L option, according to the needs of my application. What can I do to activate my license ?
Last updated: 2024-04-22
Post by gseidel on CNC / G01 Speed is very slow (or go-stop motion) in Continuous short segment .
CODESYS Forge
talk
(Post)
Hi k2saki, I would recommend to have a look at SMC_SmoothMerge, followed by SMC_SmoothPath. SmoothMerge will combine the small G1 elements to longer splines, SmoothPath will avoid stops between the splines. https://content.helpme-codesys.com/en/libs/SM3_CNC/Current/SM_CNC_POUs/SoftMotion-CNC/SoftMotion-Function-Blocks/SMC_SmoothMerge.html For SmoothMerge to work, you have to configure a tolerance, i.e. by how much it may deviate from the lines. To graph the output of the interpolator, you can use the trace. (Add a trace object below the application, and add the variables you are interested in to the trace.) Best regards, Georg
Last updated: 2024-04-30
Post by garrian on How to sort JSON object in codesys
CODESYS Forge
talk
(Post)
Hi there, I'm testing out MQTT from my Wago PLC using JSON object. I have managed to publish this {"Temperature":15.6,"Setpoint":38.0} to my broker. Now I', trying to subscribe to the same message. The result is this: '{"Temperature":15.6,"Setpoint":38.0}95}ê$10šå$04$Nå$08²Ÿå$0B` á$08@šå' First, why do I see 95}ê$10šå$04$Nå$08²Ÿå$0B` á$08@šå' at the end of the message? Second, how Can i sort out this data to use it in my program? I followed a youtube tutorial which gave me the attached result, which works. But I need some other smart way of doing this when the object gets even more data in it. Any help is very appreciated :)
Last updated: 2024-05-04
Post by k2saki on CNC Open Source Project / Can I convert my project to text-files ?
CODESYS Forge
talk
(Post)
Hi. I published My CODESYS-CNC Project to GitHub and I set it Open Source Software. Here https://github.com/k-s-saki/RPi_CODESYS_CNC My CNC Project is binary file , using FBD for IPO , so I found it is a little bit hard to work with people on GitHub. (diff / merge ) My question is 1) Is it possible to convert my project ( only POUs is also fine ) into text file ? How? 2) Would it be better to rewrite all FBD/LD into ST and copy them manually to text files? Thanks.
Last updated: 2024-05-16
Post by rafael on Wbm/runtime and visualization login
CODESYS Forge
talk
(Post)
Hello everyone, I’m trying to understand if it is this way or I can change it. I’m making a PLC code and visualization screens, the ideia is to operate via webvisu some controls. So i made a code, made some screens and when i try it in my web browser, first it asks me to insert te user and password of the wbm/runtime of the plc (user: admin, password: wago by default), then i can acess my screens but I have to login again with the user and password that i created in the visualization user managment. My question is: is there a way to disable this first login to the visualization screens (webvisu)? Or create another user/password for this first screen? I have a PFC200 and a Edge Controller, both are working the same way. Thanks in advance Thanks
Last updated: 2024-06-25
Post by orbis-tertius on 3.5 P20 hangs - no response
CODESYS Forge
talk
(Post)
Is there anybody can help me with the same problem? I have to migrate created project in ver.3.5.17.0 32BIT with runtime 4.7.0 to ver.3.5.20.0 64BIT with runtime 4.7.11.0 due to the new license. All the libraries and dependencies are updaded and there are no any errors. The first compilation and loading to the controller is being compleated well. After this being done and if I am forced to change any values or change any code in the current project, another compilation will be freezed. This problem can be solved if pressed Build/cleen or cleen all. There is another method to solve this; if project is loaded with excluded object (Alarm Configuration), repeated compilations will be done well.
Last updated: 2024-06-27
Post by rcanfield on Code Coverage and Test Manager
CODESYS Forge
talk
(Post)
I am exploring the possibility of measuring test coverage using the Test Manager and Profiler tools. It appears there are some significant limitations. Has anyone been successful trying to use these tools? Here are my observed limitations. Am I misunderstanding anything? * Profiler only works for one "run cycle". Even warm resets will clear the coverage calculations. Thus, all tests would have to manually reset values when complete to prevent contamination to other tests. * It is not possible to see which statements were/weren't executed. One would have to use the flow control tool which cannot be used in conjunction with the Profiler, and must be viewed in realtime. * The profiler control cannot be automated and therefore must be executed through a manual procedure. Thank you!
Last updated: 2024-07-11
Post by rcanfield on Code Coverage and Test Manager
CODESYS Forge
talk
(Post)
I am exploring the possibility of measuring test coverage using the Test Manager and Profiler tools. It appears there are some significant limitations. Has anyone been successful trying to use these tools? Here are my observed limitations. Am I misunderstanding anything? * Profiler only works for one "run cycle". Even warm resets will clear the coverage calculations. Thus, all tests would have to manually reset values when complete to prevent contamination to other tests. * It is not possible to see which statements were/weren't executed. One would have to use the flow control tool which cannot be used in conjunction with the Profiler, and must be viewed in realtime. * The profiler control cannot be automated and therefore must be executed through a manual procedure. Thank you!
Last updated: 2024-07-11
Post by shrikantp007 on help to get codesys understand
CODESYS Forge
talk
(Post)
Hello , I need some help on how to start with , 1) how to get test license to test codesys , 2) how to take a configuration backup or running process back and post file on fourm so people can understand and deploy same file and get idea what is missing or configure wrong 3) where i can get pdf for codesys admin or programmer 4) what is hardware recommand ,i am running on windows guest on kvm server .is it ok ? 5) i am trying to get ardunio porject working ,using ardunio board as a modbus slave but its not working some how https://forge.codesys.com/forge/talk/Engineering/thread/bf832569b8/ Thanks in advance . shrikant pune -india
Last updated: 2024-07-22
Post by paulg on Converting hex bytes to float
CODESYS Forge
talk
(Post)
I'll be capturing a hex stream over serial into a RasPi and I'd like to convert a group of bytes into a float. I see this is available (https://content.helpme-codesys.com/en/CODESYS%20Development%20System/cdsoperatorrealto.html) but not its inverse (i.e. BYTE_TO_REAL). The packets will be 18 bytes but I'll be selecting 4 byte segments from the middle, swapping byte endianness (i.e. changing 0x51847641 to 0x41768451), and converting to float; I believe they adhere to IEEE 754. Is there a pre-built function for some or all of this, or do I need to follow (https://forge.codesys.com/forge/talk/Engineering/thread/dc5829c7ea/)? Thanks!
Last updated: 2024-08-02
Post by paulpotat on Exclude traces when searching with ctrl+F
CODESYS Forge
talk
(Post)
Hello, I was wondering if there is a way in codesys to exclude the traces from the search when using the "ctrl+F" window ? That would be nice to improve the search functionnality when looking for a specific variable. Sometimes when I iterate through all occurences with the "find next" button, it opens the trace configuration window. I would expect to be able to close it and go to the next occurence with the "find next" button, but after closing the trace configuration window the search says it has reached the end of the scope (even if in reality there are other occurences of the variable elsewhere). I tried to enable / disable the "search up" checkbox but it's not changing anything. I hope somebody have insight on this, BR
Last updated: 2024-08-06
Post by expertplas on No connection to opc server from codesys opc client
CODESYS Forge
talk
(Post)
Hello, we have aproblen to connect our CODESYS OPC Client to the OPC Server. We installed the client according the CODESYS manual. We can browse the server and variables can be linked to the PLC. I created a self signed certificate for the CmpOPCUAClent as described. The server has a cerificate also. I copied the certificates to the trusted zone of server and client. But when it comes to data exchange we get an error message. "Communication error in data source OPC UA Library. Error ID : 7001 German : "Kommunikatinsfehler inder Datenquelle OPC UA -Bibiothek. Es wurde kein genauer Fehler angegeben. Fehler ID : 7001" It semms that there is no cerificate exchange. We are working with CODESYS 3.5 SP19 Patch 5. Can anyone here say something about this error or has an idea for a solution? Thanks.
Last updated: 2024-08-19
Post by andrebrandt on FB string and naming
CODESYS Forge
talk
(Post)
Thank you so much. This worked. Waht im trying to do here is to automatically tag each sensors, valves and so on. There is a preatty nasty tag system i working on. "_320" is not alloved. I can have a tag "+4f=320.004-RT001V" In codesys I want to build the FB in folders. -4f | --320 | --001 This is the system structure. Inside here is all of the sensors and so on. But with Codesys, I cannot tag this like this. So what I'm trying to do now is to Make a folder for the building "4f" and one for the system "320", and a POU _001. Is there a way in init to get folder names?
Last updated: 2024-10-01
Post by phoward131 on Alarm Table Filtering
CODESYS Forge
talk
(Post)
I am having trouble getting the alarm table filtering to work. I downloaded the alarm filter latch example project and ran it on the local Codesys Control Win and the filters worked fine. I am trying to replicate it in my project and everything seems to be set up the exact same way and every time I turn on the filter, it shows no alarms. I even started a blank project and just copied in elements from the example project so that it is exactly the same and when I attempt to filter, it again shows no alarms. Could there be some project settings I need to adjust to make this work? I have attached my project with elements copied from the example project and filtering is not working.
Last updated: 2024-10-28
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
.