Search talk: adding a device

 
<< < 1 .. 170 171 172 173 > >> (Page 172 of 173)

Post by ryandmg on Web Client (HMI) Disconnects from Webvisu (Weidmuller u-OS) CODESYS Forge talk (Post)
Thanks So Much for the reply! Were using the Weidmuller UV66-ADV-10-CAP-W The HMI is pointed to the URL which is assigned through u-OS. Basically when you log into the controller's webserver via browser you can view the installed apps. One of which is the Codesys runtime. When you click on that it takes you to the visualization. That corresponding url is what the HMI is looking for. I apologize I don't have that on hand as I'm in the office right now. I don't think I tried connecting using the port you mentioned and https in lieu of the u_OS URL. I can certainly try. Out of the box the u-OS is set for HTTP. Since we're isolated I havent changed that yet. When this has happened while logged on via chrome on my laptop, simply refreshing brings the visualization right back. In the case of the HMI in kiosk mode, we power cycle the HMI to force a reconnect, log back in u-OS and the visualization is back.
Last updated: 2023-09-06

Post by danwoodlock on RPI Zero w - Edge gateway cant install CODESYS Forge talk (Post)
Hello all, First post. I recently acquired an RPI zero W from amazon, and have been using it with Codesys v3.5 SP19 patch 2. I first got it working yesterday, and after installing the runtime on the Pi, I was prompted to install the edge gateway. Installation of the edge gateway failed because of unsupported architecture, undeterred I was able to connect to the pi and program as I wanted. The issue I've noticed is that if I do not load anything to the pi overnight, I can then no longer connect to the pi and download, although I can still ping it from my pc. I found that if I power cycle the PI, I am then able to connect again, and it works as normal. I did some googling and found instances where people recommended downloading the newest edge gateway, which brings me here. Wondering if there are any suggestions, or if this is a known issue. I actually tried installing all 3 versions of edge gateway for science, but all fail with the same message. Thanks -Dan
Last updated: 2023-09-13

Post by manuknecht on Persistence Manager does not save alphabetically first value CODESYS Forge talk (Post)
After some more digging I realized that I get an error on the PLC Logger saying PersistenceChannel: 150 (invalid type in data: SimpleLibrary). I suppose the issue could be found in the ConfigData, which is automatically generated and which looks like this: 1 9##83 SimpleLibrary#GVL.aMoreZeros.[1]#0#64512#15#0 <[2]#0#64520#15#0 <[3]#0#64528#15#0 <[4]#0#64536#15#0 <#0#64544#15#0 <[6]#0#64552#15#0 <<lrVar#0#64560#15#0 <strVar#0#64428#16#80 <uiDummy#0#64370#11#0 Perhaps the fact that the variable is stored within a library confused the compiler? I tried changing the PersistenceChannel parameters to xCompressTags := FALSE which changed the entry in the data file from _xCompressTags BOOL:TRUE _xCompressTags BOOL:FALSE but the actual content of the data file and also the config data did not change.
Last updated: 2023-10-17

Post by riccardo on VisuElems.CurrentUserGroupId is not stable CODESYS Forge talk (Post)
Goodmorning TimvH, Thanks for the reply. I don't know if your solution solve my trouble yet, I am going to see the link you sent me. In the mean time I try to explane better what I need to do. I have a turbine system that get in alarm under some condition (E.g low speed of turbine) and block the itself. When the system is stoped there is no speed turbine and the system cannot start. To give to the operetor the possibility to bypass the alarms, there is an acknoledgement alarm pushbutton. This bypass must not work for everyone but only for those client that perform the login by (User Management). Furthermore, if the user perform the (manual or automatic) logout in alarm conditions, the acknowlegment must be annulled and block the system again. To do this, I need to know if an operator is logged in the page and is working to fix the problem; otherwise the syste must autoturn off again. Now I go to study your solution, if I have explaned better and you have another idea tell me please.
Last updated: 2023-11-16

Post by annd on Migration von "CODESYS Control for PFC200 SL" zu WAGO FW26 "CODESYS V3.5.19.2" CODESYS Forge talk (Post)
Hallo, da Wago nun von eCockpit zum offenen "CODESYS Development System V3" wechselt, möchte ich meinen bestehenden 750-8212 von der PFC200 SL auf die Wago Firmware umstellen. Welche Schritte sind dabei notwendig? Den Controller würde ich auf die aktuelle FW 26 updaten und die 3.5.19.2 von Wago mit den Descriptions verwenden. Reicht es im Codesys Projektbaum mit "Gerät aktualisieren" auf den Wago Controller zu wechseln? Es wird dann statt dem "Pfc200Bus"ein leerer K-Bus und ein leerer Com-Port angezeigt. Müssen die einzelnen Module dann darunter neu angelegt und alle E/A Variablen manuell neu eingetragen werden? Das exportieren und danach wieder importieren funktioniert nicht, weil die Namen bzw. Adressen unterschiedlich sind. Ist das so richtig? Kann der Block "Modbus_COM_Port - Modbus_Master_COM_Port - Modbus_Slave" so bleiben wie bisher oder muss das auch unter dem neuen COM-Port neu angelegt werden? Für ein paar Hinweise wäre ich dankbar. Schöne Grüße, annD
Last updated: 2023-11-17

Post by annd on Migration von "CODESYS Control for PFC200 SL" zu WAGO FW26 "CODESYS V3.5.19.2" CODESYS Forge talk (Post)
Ich hab's hinbekommen: Nach dem Controller Update hab ich ein neues Projekt gemacht und nur den PFC200(8212) eingefügt (es erscheint dann ein leerer Kbus und eine serielle Schnittstelle COM1). Dann hab ich mich am Controller eingeloggt und den Kbus (Rechtsklick: Geräte suchen) mit allen Modulen automatisch ergänzen lassen. Bei den leeren Modulen hab ich dann das E/A-Abbild in csv exportiert. Dasselbe hab ich bei meinem alten "PFC200 SL" Projekt gemacht. Und dann in Excel alle Variablennamen in die leeren csv kopiert und danach wieder im neuen Projekt importiert. Dann hab ich noch alle Programmblöcke, Tasks, Visualisierungen und auch Modbus TCP Master u. Slave und auch Modbus COM Port Master und Slave in das neue Projekt kopiert. Weiters hab ich alle notwendigen Bibliotheken im Bibliotheksverwalter eingefügt. Dann noch ein paar kleine Fehler korrigiert (ich musst einen anderen Block zum Lesen der Uhrzeit nehmen) bis ich das neue Projekt fehlerfrei übersetzen konnte. Dann konnte ich es auf den Wago Controller übertragen und direkt starten. Es sieht so aus, dass alles läuft. Gruß annD
Last updated: 2023-11-18

Post by xgongx on What is the insights of IoDrvEtherCAT.DCInSyncWindow? CODESYS Forge talk (Post)
It is well known that you need to increase the value of IoDrvEtherCAT.DCInSyncWindow to solve the "Fieldbus lost synchronicity" issue. In the official document, IoDrvEtherCAT.DCInSyncWindow is explained as the toleration of a certain jitter. But the official document doesn't explain what kind of the jitter is. Is it the jitter of DC sync deviation, master timer or something else? It is very important to know the insights of IoDrvEtherCAT.DCInSyncWindow. For example, if it is the toleration of DC sync deviation, and the official recommending value is 200us for CODESYS SoftMotion. It means maximum of DC sync deviation is 200us. It is unacceptable for some high precision motion control tasks, for example high speed gear task, etc. Increasing the value of IoDrvEtherCAT.DCInSyncWindow will increase the deviation of motor rotation sync if it is the toleration of DC sync deviation. So, would anyone tell me what the insights of IoDrvEtherCAT.DCInSyncWindow is? Thanks.
Last updated: 2024-07-09

Post by simone on Cannot connect to webvisu on localhost CODESYS Forge talk (Post)
As I wrote before on the title, I have difficulties to connect to see webvisu from localhost. The story: while waiting for the plc+hmi to arrive, I'm preparing the software, mainly the visual parts trough the control Win3 x64 (same version as the ide 3.5.20.10). The problem is that I can't see the webvisu with the installed webbrowser. I don't know if this is a problem, but I changed the port to 9001 (randomly "free") because 80, 8000, 8080, 8088, 3000 are all occupied by other projects (all on the Apache server). Is there something wrong with the config file? This is the url: localhost:9001/webvisu_app.htm and here the config file part "CmpWebServer". [CmpWebServer] ;The handling of startup/shutdown of the webserver: ;0->automatically start, shutdown only on shutdown of the runtime;1->automatically start, could be shutdown on demand ;2(default)->start/shutdown on demand;3->start on demand, shutdown only on shutdown of the runtime StartupType=0 ;The TCP port the webserver listens on WebServerPortNr=9001 LocalAddress=localhost ;LocalAdapterName=LAN-Connection LocalAdapterName=EthernetPCPLC ;LocalAdapterNameUnicode=L\00A\00N\00-\00C\00o\00n\00n\00e\00c\00t\00i\00o\00n\00 LocalAdapterNameUnicode=E\00t\00h\00e\00r\00n\00e\00t\00P\00C\00P\00L\00C\00 Thanks for all the help!
Last updated: 2024-07-11

Post by faceplant on CmpDynamicText unresolved references CODESYS Forge talk (Post)
Hello! I am new to codesys so I am sorry if this is not the right place to ask this question. I am using codesys V3.5 SP20 Patch 1 + (64-bit) and a Groov EPIC PLC (GRV-EPIC-PR2). I am trying to build and deploy my application to the PLC, but when I log in I get 6 errors (codesys_error.png). It seems that the errors have to do with the CmpDynamicText system library which I have as version 3.5.20.0. I have tried to add CmpDynamicText to the ComponentManager section in the PLC's CODESYSControl.cfg file as described in this forum post and still hit the same error. I noticed that the library is grayed out in the library manager, which I think might be the issue. However I don't remember if it was grayed out before I encountered this issue. Please let me know if I can provide anymore info. Thank you!!!
Last updated: 2024-07-19

Post by timvh on How to implement an interface (IElement)? CODESYS Forge talk (Post)
See: https://forge.codesys.com/prj/codesys-example/element-collect/home/Home/ This contains an application "OnlineChangeSafeLinkedListExample". What you should do is create a new interface which has your "Priority" property. Then your FB should extend the base element function block and implement your own interface: E.g. FUNCTION_BLOCK MyElement EXTENDS COL.LinkedListElementBase IMPLEMENTS I_MyInterface Then the __QUERYINTERFACE does the magic to check if your "element" also implements your interface. Something like this: // Compares this element with itfElement. // Returns 0 if the elements are equal, < 0 if the element is less than itfElement, // > 0 if the element is greater than itfElement. // This method will be called from sorted collections (e.g. |COL.SortedList|) to sort the elements. // IMPORTANT: The underlying value to be compared with MUST NOT be changed during the lifecycle of the object. METHOD ElementCompareTo : INT VAR_INPUT (* The element to compare*) itfElement : COL.IElement; END_VAR VAR itfIntElement : I_MyInterface; xResult : BOOL; END_VAR // We use integer iInt1 for sorting. xResult := __QUERYINTERFACE(itfElement, itfIntElement); IF xResult THEN IF iInt1 < itfIntElement.Priority THEN ElementCompareTo := -1; ELSIF iInt1 > itfIntElement.Priority THEN ElementCompareTo := 1; ELSE ElementCompareTo := 0; END_IF ELSE ElementCompareTo := -1; END_IF
Last updated: 2024-07-22

Post by trusty-squire on CNC - How to manipulate SMC_GeoInfo objects CODESYS Forge talk (Post)
I have an application using CNC GCode interpolation, but I need to modify the GCode provided to the PLC based on certain parameters. I am currently attempting to modify the SMC_GeoInfo objects in the SMC_OutQueue using the code below. Note that all the other code is pretty standard and works fine, but when I add the below it errors. PROGRAM TEST VAR fbReadCncFile : SMC_ReadNCFile2; fbCncInterpreter : SMC_NCInterpreter; arrCncInterpreter : ARRAY[1..99] OF SMC_GeoInfo; pGeoInfo: POINTER TO SMC_GeoInfo; giGeoInfo: SMC_GeoInfo; // ... END_VAR // ... Some code here in order to read CNC file using SMC_ReadNCFile2 and provide to SMC_NCInterpreter pGeoInfo := SMC_GetObj(poq:=ADR(fbCncInterpreter.poqDataOut), n:=1); IF pGeoInfo <> 0 THEN giGeoInfo := pGeoInfo^; // Do some manipulation here, then update the queue at the same position MC_SetObj(poq:=ADR(fbCncInterpreter.poqDataOut) , n:=0 , pgi:=ADR(giGeoInfo) ); END_IF It throws an error when I get to the line giGeoInfo := pGeoInfo^; Error: EXCEPTION [AccessViolation] occured: App=[Sim.Device.Application], Task=[PathTask] How do I use SMC_GetObj and access the data? It creates a pointer with the value as shown in the photo, but all the dereferenced values say dereference of invalid pointer.
Last updated: 2024-07-26

Post by julianramirez on ModbusFB write update CODESYS Forge talk (Post)
Hello everyone, I am testing the ModbusFB library tcp server and so far I am able to create holding registers successfully, however, I am trying to identify after each write which registers got updated (i.e. function code, write value). I can even see the var udiNumWriteRequests, which increases with every write. I noticed that there is logging with the LogStatusInfo method. After I call it I am able to read in the console stuff that I want. Nevertheless, this is only available at the logs and is not easy to decode because it consists on several messages, I would like to know if there is a way for me to retrieve this information from the function itself with pointers or if there is any way to copy the logs messages (assuming that I can filter them with the LoggingOptions to only show what I need) inside the runtime code and not in the console. Thanks for your help :)
Last updated: 2024-09-16

Post by karel-bas on Loosing connection to emulation running on Linux CODESYS Forge talk (Post)
Hello, I am trying to emulate my code but for some reason my Codesys IDE keeps loosing connection to the emulator. I am constantly pinging virtual machine on which its running and its running fine, but codesys refuses to reconect to it, and is not able to rediscover it. Codesys 3.5 SP20 Patch 1 I have linux installed like image in attachment.(using version 4.12) Linux VM is set up to use up to 4 cores and 8gb of ram, with nothing else runing on it. I dont have a license so I am aware that the emulation shouldnt run for more then 120 minutes I am able to, login, get sysinfo, reboot etc from codesys IDE for certain period of time (5minutes) then my connection gets lost, sometimes I can login again, but sometimes i have to reboot the VM. Any suggestions what might be the issue ?
Last updated: 2024-09-19

Post by z870623 on About CPU Loading CODESYS Forge talk (Post)
I am running a runtime environment on an ARM A35 dual-core processor (1.5GHz) and have encountered some issues. The CPU load (both CPU0 and CPU1) occasionally spikes above 50% before returning to normal, and this happens around 2-3 times per minute. At the same time, I’ve noticed that the Max Cycle Time in the Codesys monitoring screen shows much worse performance compared to the A53 (1.2GHz), with nearly double the cycle time. The optimizations I have made so far are as follows: Set the CPU to performance mode. Isolated CPUs: CPU0 is dedicated to running Linux services and the runtime itself, while CPU1 runs the EtherCAT task and the MainTask. Despite CPU1 only running these two tasks, the utilization still increases above 50%, which I find unreasonable. Additionally, I performed tests using cyclictest both without and with the runtime running. The performance is shown in the following image: From the results, I believe the CPU performance should be fine, but I am unsure why the monitoring results are not as expected. The testing outcomes should ideally be as close as possible to the cyclictest results. Does anyone have related solutions to this issue?
Last updated: 2024-10-14

Post by andrax on CodeSys Raspberry pi I2C driver not found CODESYS Forge talk (Post)
Hi, Communication with the ADS1115 is actually simple. 1. write config 2. write address pointer 3. read conversation register The ADS1115 works like a multiplexer. This means that you do this individually for each channel that you want to read. e.g: Channel 1: write config > write address pointer > read conversation register Channel 2: write config > write address pointer > read conversation register Channel 3: write config > write address pointer > read conversation register Channel 4: write config > write address pointer > read conversation register then you start again from the beginning You can also omit individual channels or read only one. It doesn't matter. I have written the driver so that I can also use it on the TCA9548. The driver is from Stefan Dreyer. In your case, the driver works and communication with the ADS1115 is running. As you can see, the cfgWrong:=FALSE If you could not write or read data, cfgWrong:=TRUE; This means that either something is wrong with your ADS1115 or you have connected something incorrectly. Question: what voltage do you want to measure?
Last updated: 2024-11-08

Post by faceplant on Comparison via CLI is broken CODESYS Forge talk (Post)
Hello! I am trying to compare 2 projects via the --compare CLI option. In the docs for the --compare option, it describes the usage as .\CODESYS.exe --compare "project path 1" "project path 2". I store my projects in WSL2 on my windows machine. Since CODESYS is happy to open those projects via a path like \\wsl.localhost\home\project.project. So, to compare, I use the command .\CODESYS.exe --compare "\\wsl.localhost\home\prog1.project" "\\wsl.localhost\home\prog2.project". This results in CODESYS just opening the project and starting, not comparing the two projects. No errors are thrown, and I know the paths are correct since I can open both independently in CODESYS, and I can compare them manually through the CODESYS UI. I have also tried moving my projects to the Windows 11 OS and still have the same issue. CODESYS opens the project and does not actually compare them. I am using CODESYS profile v3.5 sp20 patch 1. What is the correct way to compare 2 projects using the --compare CLI option?
Last updated: 2024-12-18

Post by mubeta on Profibus DP master with EL6731 and automatic restart of slaves CODESYS Forge talk (Post)
WHEREAS, I have already searched various posts and forums, where mostly there are few references and mostly geared toward integration in TwinCAT. I am looking for how to properly configure the EL6731 board as a DP master, (where I have its 3S license), with CoDeSys 3.5.19.x. I have three types of slaves, all integrated with their GSD descriptors. In the tab for the various slaves, I don't see options related to node restart on 'station return'. On the card manual, I read that for each slave I should be able to configure parameter 8000:2C: “8000:2C Restart behavior after DP fault Reserve, must be 0 BIT1 RW 0x00 (0dec)” However, in the project I see no way to configure this parameter, in any of the boards; and the arrays do not always have such an extensive size; most of the time they are only two or three words in size. The problem is that, after the hot reset of CoDeSys, the master restarts by starting all slave nodes, but if one or more get lost and go offline, there is then no automatic restart upon their return. I would need to figure out any solution, even via software, how to figure out that this one is back available and restart it.
Last updated: 2025-02-02

Post by carl25 on Confused about stepper spec & tips on pwm-step/dir CODESYS Forge talk (Post)
Hello! I have asked the few I know who have knowledge of this and now turn to this one inexhaustible source of knowledge aka. the electronics forum. I was going to buy stepper motors yesterday but got so confused about the spec that I need to get an answer to this first. 2 different stepper motors, quite close in size but with very different spec. https://www.oyostepper.de/goods-40-Nema-17-Schrittmotor-Bipolar-12V-18-Grad-40Ncm-04A-12-Volt-4-Dr%C3%A4hte-Hybrid-Schrittmotor.html https://www.oyostepper.de/goods-38-Nema-17-Schrittmotor-Bipolar-18-deg-22Ncm-133A-28V-4-Dr%C3%A4hte-Hybrid-Schrittmotor.html Both Nema17 but the first 1.33A and 22Ncm and the second only 0.4A but almost double the torque. I can see that the resistance is very much higher on the latter but what's the catch? Double the torque to 1/3 the current sounds a little too good to be true so what am I missing?
Last updated: 2025-02-21

Post by amani on PN Controller auf Raspberry Pi 4 CODESYS Forge talk (Post)
Hallo zusammen, Ich mache +/- erste Schritte mit RaspberryPi und Codesys: tolle Sache! Ich habe Codesys V3.5 auf einem Raspberry Pi 4 am laufen. Ich würde damit gerne einen Profinet-Slave bedienen. Die Kommunikation läuft, nun habe ich das Problem dass ich nicht verstehe wie ich den PN-Task mit dem PLC task synchron halte: Ich muss dem Slave eine Parameter-ID übergeben und beim nächsten Zyklus die Antwort auslesen. Da es dann mehrere Parameter gibt die ich nur sequentiell auslesen kann benutze ich also einen Zähler der mir die ID's durchstept. Aktuell sieht es aus als ob dieser Zähler schneller inkrementiert als der Slave antwortet (ich habe z.Bsp. 5 Parameter, diese zeigen dann alle das gleiche oder springen zwischen den Parametern). Also kurz gesagt ich muss sicherstellen dass die Datenbytes vom Slave zur gesetzten Parameter-ID passen... Ich wäre froh um ein paar Tipps! Herzlichen Dank! Grüsse, Stephan A. Wicki
Last updated: 2025-02-26

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 jeroenaero on Problem with CodeSys Control SL Deploy Tool 4.15.0.0 CODESYS Forge talk (Post)
Hello, We just installed the new version of CodeSys Control SL Deploy Tool 4.15.0.0 but we get the following error when we try to add a VPLC. Can someone of the CodeSys team fix this issue? the object reference is not set to an instance of the object Zie het einde van dit bericht voor meer informatie over het aanroepen van JIT-foutopsporing (Just In Time) in plaats van dit dialoogvenster. ** Tekst van uitzondering ** System.NullReferenceException: De objectverwijzing is niet op een exemplaar van een object ingesteld. bij _3S.CoDeSys.RuntimeDeployTool.Views.AddNewInstanceForm.ShowAllImages() bij _3S.CoDeSys.RuntimeDeployTool.Views.AddNewInstanceForm..ctor(List1 virtualControls, List1 existingNames) bij _3S.CoDeSys.RuntimeDeployTool.Views.MainEditorTab_Operation.OnAddInstanceClick() bij _3S.CoDeSys.RuntimeDeployTool.Views.MainEditorTab_Operation.bt_add_Click(Object sender, EventArgs e) bij System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) bij System.Windows.Forms.ToolStripButton.OnClick(EventArgs e) bij System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) bij System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) bij System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) bij System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) bij System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) bij System.Windows.Forms.Control.WndProc(Message& m) bij System.Windows.Forms.ScrollableControl.WndProc(Message& m) bij System.Windows.Forms.ToolStrip.WndProc(Message& m) bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ** Geladen assembly's ** mscorlib Assembly-versie: 4.0.0.0 Win32-versie: 4.8.9300.0 built by: NET481REL1LAST_C
Last updated: 2025-04-24

Post by bmatlove on Variable Length Array - Cannot mix variable and fixed length dimensions? CODESYS Forge talk (Post)
Using Codesys 3.5.18.30 I am trying to work with an array of variable length in one dimension, but known in the other dimension. For example, using an array that represents a list of items, each with an attribute profile. I do not know how many items will be in the list, but I know that every item has 5 attributes, like size, weight, etc. Codesys does not seem to be able to accept this. I have referenced Data Type: ARRAY OF documentation page, which is not explicit if variable & fixed length array dimensions can be mixed. In the VAR_IN_OUT scope, I initially tried MY_ARRAY : ARRAY [*, *] OF REAL; which was no problem, of course. I then modified it to MY_ARRAY : ARRAY [*, 1..5] OF REAL; which throws C0006: ', or ]' expected instead of '..' among consequent downstream errors. I then used the Auto Declare -> Array Wizard, which accepted (asterisk)-(asterisk) and 1-5 for 2-dimensional lower and upper bounds. It output: MY_ARRAY: ARRAY[*..*, 1..6] OF INT; which throws the same error stream. What's the deal here? Is this possible?
Last updated: 2025-05-23

Post by laurits on Max lines of code, codesys CNC ? CODESYS Forge talk (Post)
Hi, okay here's the project, it's a modified version of "CNC Example 10: Programming Dynamic CNC Paths", no need for G Code text file (i have also tried with G code text file, same problem) in "PROGRAM PLC_PRG" you can set bStart to true, and the program should start running, go to "PROGRAM CNC" and you can see axis moving. lrXpos := IoConfig_Globals.XAixs.fSetPosition; lrYpos := IoConfig_Globals.YAxis.fSetPosition; Now you can can change the number of movements in the the "PROGRAM PLC_PRG" From this number of movements in "program PLC_PRG" BUF : ARRAY[0..32010] OF SMC_GEOINFO; xp : ARRAY[1..32000] OF REAL; yp : ARRAY[1..32000] OF REAL; to this number to this number of movements BUF : ARRAY[0..132010] OF SMC_GEOINFO; xp : ARRAY[1..132000] OF REAL; yp : ARRAY[1..132000] OF REAL; Now if you start the program again you should see an error in the "sMC_Interpolator: SM3_CNC.SMC_Interpolator;" function block Let me know if you can not get it running.
Last updated: 2025-06-03

Post by timvh on Current Visu name without Current Visu Variable CODESYS Forge talk (Post)
To get the current visu for all your individual web clients, you could iterate over them, using the same library 1) Create a new function block which implements VU.IVisualizationClientIteration 2) Create an instance of this function block + add an instance of the "iterate" function block fbIterateCallBack : FB_IterateOverClients; // this implements VU.IVisualizationClientIteration fbVuIterate : VU.FbIterateClients; // this FB iterates over all clients 3) Call the fbVuIterate and set the reference to the call back FB. Then it will automatically call the method "HandleClient" of this function block. fbVuIterate( xExecute:= NOT fbVuIterate.xDone, xDone=> , xBusy=> , xError=> , itfClientFilter:= VU.Globals.OnlyWebVisu, eError=> , itfIterationCallback:= fbIterateCallBack); In the HandleClients method you can use the property of the interface of your webclient to which page it is currently on: sCurrentVisuOfClient := itfClient.CurrentVisuName; 4) Optionally from here you could also set the visu for the webclient, but this might be obsolete, because the other function block is now available... xQueryOK : BOOL; xChangePage : BOOL; itfVisuClientRawData : VU.IVisualizationClientRaw; xQueryOK := __QUERYINTERFACE(itfClient, itfVisuClientRawData); IF xQueryOK AND xChangePage THEN VisuElems.g_VisuManager.SetMainVisu(pClientData := itfVisuClientRawData.ClientDataPointer, stVisu := 'Visu2'); xChangePage := FALSE; END_IF
Last updated: 2025-08-13

Post by antonz on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers CODESYS Forge talk (Post)
Looking for thoughts on creating libraries that can be used on both 32-bit and 64-bit controllers. We are currently writing software in CoDeSys for both target types and will continu to do so for the near future. Projects are always unique, no straight forward copy/paste, yet there is enough similarity between them to use libraries for recurring logic. I do not want to create and maintain twice for both platforms if this is not absolutely necessary. I am aware of useful datatypes like __XWORD, __XINT, __UXINT. Still looking for more information and/or sample code for portable pointer arithmetic. In addition to that: how should one go about when creating and working with compiled libraries? Would I need to compile the same lib twice, once for 32-bit targets once for 64-bit targets? I would end up with two different libs with the same namespace, which does not sound elegant to me. Note: I did not intentionally make the previous paragraph bold. The forge forum software seems to do this automatically upon insertion of a word which starts with two underscores, e.g. __XWORD (yeah, here we go again :) )
Last updated: 2025-08-25

<< < 1 .. 170 171 172 173 > >> (Page 172 of 173)

Showing results of 4320

Sort by relevance or date