Search talk: ethercat abort on error

 
<< < 1 .. 273 274 275 276 277 .. 282 > >> (Page 275 of 282)

Post by gseidel on Can't get SMC_SmoothPath to work CODESYS Forge talk (Post)
Hi bertus, I cannot see any problem in the code you posted. Just some ideas: What is the value of D_ANGLE_TOL? - Do you need the assignment bAbort := NOT bDecoder? Does it help to leave it out? Any errors (e.g. SMC_SmoothPath.Error/ErrorID) or PLC log messages? What if you comment out SMC_SmoothMerge and SMC_LimtiDynamics, is corner smoothing still not working? Is bDecode written from a different task (e.g. visu)? Then I would recommend to assign to a local variable (bDecodeLocal := bDecode) and use that for all FBs. Otherwise, FBs might see different values of bDecode in a single cycle, which will cause problems. Regards, Georg
Last updated: 2025-12-17

Post by pernockham on Trend legend naming and access/config to/of trend/legend-variables CODESYS Forge talk (Post)
There seems to have been included an updated in the last release 4.9.0.0 or am I wrong (I think I tried out these settings previously without giving the result I wanted contrary to what I see today)? Now an empty check box for "display variable name" is effective, and will present the Variable with the "Description" instead. Perfect! Seems to be some minor formatting still that needs adjustment. See attached screenshot. The apostrophe "'" between "description" I suppose should not be there? Also I guess the same apostrophe (although not visibly shown) gives an extra space between the variable-description and the ":"?? Thanks!
Last updated: 2025-12-19

Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0" CODESYS Forge talk (Post)
The option to update "Control for Linux SL" is not shown in the "deploy control SL tool", I can see and update the gateway but not the control (3.5.21 SP4). Has the way to update control SL changed? In the process of fault finding I removed the control SL entirely from my target, then I had to revert to version 3.5.21.0 SP 1 to re-install "Control SL 4.17.0.0". So I thought it was just a matter of using SP1 to update also to 4.18.0.0, but after installing the files for 4.18.0.0 in the SP1-version, the behavior was identical to SP4, ie no Control for Linux SL shown in the deploy tool.. See screenshots.
Last updated: 2025-12-19

Post by ranadheer on Assistance for MQTT configure with external broker (Mosquitto) CODESYS Forge talk (Post)
Hi everyone Am trying to make establish MQTT connection , where am using IIOT example for this as a demo mode. where i had given IP-address of of local Linux application as a 172.31.239.67 and port number as 1883 in the PLC_PRG itself, and preparing the publish message by manually as " this is from published message", and this should receive at the subscriber side. Aim: To make communicate external publisher to the CODESYS by using MQTT protocol. By any chance having reference documents about this implementation please share here. and suggest the process to make it possible. I had uploaded reference project file after updating address in th PLG_PRG, kindly assist to configure with the broker
Last updated: 2025-12-03

Post by reinier-geers on wEBCLIENT Post data api CODESYS Forge talk (Post)
Ive got the webclient axample. If i put https://reversed.notion.site/Marktprijzen-API-89ce600a88ac4abe8c2ad89d3167a83e example to https://reqbin.com/post-online then i get data. If i do the same in Webclient example i get " not a valid graphql request. Why ? sUrl := 'https://graphql.frankenergie.nl/' Request_type_post Contenttype = 1 (json ) Postvalue := '{"query":{"query":"query MarketPrices {\n marketPrices(date:\"2025-12-25\") {\n electricityPrices {\n from\n till\n marketPrice\n marketPriceTax\n sourcingMarkupPrice\n energyTaxPrice\n perUnit\n }\n gasPrices {\n from\n till\n marketPrice\n marketPriceTax\n sourcingMarkupPrice\n energyTaxPrice\n perUnit\n }\n }\n}' I tranfer the postvalue from String to WSTRING
Last updated: 2025-12-25

Post by remlab on WebClient result empty CODESYS Forge talk (Post)
Hello, I try to read into a IPX800v4 (this is a PLC for domotic application) with a WebClient fonction I use as url http://192.168.0.250:50543/api/xdevices.json?key=XXX&Get=C XXX is replace by the correct key for sure The status code is 200, it should works correctly But the result is '{' that's my problem When I try the same url with a web browser the result is correct like { "product": "IPX800_V4", "status": "Success", "C1": 16, "C2": 2, "C3": 0, "C4": 0, "C5": 0, "C6": 0, "C7": 0, "C8": 0, "C9": 0, "C10": 0, "C11": 0, "C12": 0, "C13": 0, "C14": 0, "C15": 0, "C16": 0 } When i replace the url by a web site like google for exemple it works Can you help me please ?
Last updated: 2026-03-04

Post by timvh on EXCEPTION [watchdog] how to find position cause CODESYS Forge talk (Post)
Monitor what your current cycle time is (in the Task Configuration when you are online). If this is sometimes close to 200ms, then change your code (e.g. limit the loops, or prevent copying a lot of data between objects). Or just set the Watchdog time (or sensitivity) higher if you don't care that it sometimes takes longer than 200ms. If you want to find out which objects in your application consume the most time, then buy a PDE (Professional Developer Edition) license. With this you get a license for the Profiler. This can help you a lot to find the root cause, because it will create a nice overview of all objects, their calls and the time (percentage) it takes to execute it.
Last updated: 2026-02-09

Post by konstantin on Lenze i950 Servo and WAGO PFC200 CODESYS Forge talk (Post)
Hello, basically the i950 drive support CiA402 Basic and CiA402 Advanced modes. I attached pictures of both mode supported functions. It also support CSP, VL, CSV and CST modes. It seems the homing mode is in CiA402 Advanced mode but how can you not have the homing mode in both modes? It is a vital part of any servo system. If I use the SoftMotion standard demo mode, I can move the servo absolute and relative but cannot home it. But in SoftMotion Light mode, I cannot execute any motion function. Here is the official manual for i950 servo drive - i950 Documentation Best Regards Konstantin Kolev
Last updated: 2026-02-13

Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0" CODESYS Forge talk (Post)
And the strange thing for me is that if i connect with an older IDE version (where I only have 4.17.0.0 installed) I can see both "CODESYS Control for Linux SL" and "CODESYS Edge Gateway for linux". And that I loose (both presence and possibility to update) the first option (Control SL) if i let the updater install "Control for linux SL" vers. 4.18.0.0 or later. (Note that runtime 4.17.0.0 is installed and it is running and I can login to that system, but no apparent option available to update it to 4.19.0.0). Attached print screen where I connected the "deploy sl tool" to the same system, where the upper (IDE) one has 4.19.0.0 installed, while the lower one has 4.17.0.0 installed..
Last updated: 2026-02-17

Post by yannickasselin on Question about Demo License limitations for Modbus TCP communication and Fieldbus Instances CODESYS Forge talk (Post)
As far as I know, there is no other limitations than the 2 hours limit. The demo mode should be plenty enough for testing purposes. Regarding instances. In the device tree, 1 master = 1 instance, no matter how many slaves the master is communicating with. But it is also possible that your Codesys runtime act as a slave. In this case, each slave in the device tree is one instance. You can also use the license metric tool in the IDE. This will tell you exactly how many instances you have in your project. https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_edt_device_licensed_software_metrics.html
Last updated: 2026-02-28

Post by gordonkeller360 on Escape character behavior for hex values in string -- what gives? CODESYS Forge talk (Post)
I have a program which sequentially places byte representations of characters from a string into an array. FUNCTION_BLOCK MoveBytesFromString VAR_IN_OUT abRxBuf: ARRAY [0..79] OF BYTE; END_VAR VAR testString : STRING := '$0A$R$L$TTesting,123...$94$86$0A'; iCount: DINT; END_VAR ---------------------------------------------------------------------------------------- // clear the buffer MEM.MemFill(ADR(abRxBuf), 80, 0); FOR iCount := 0 TO LEN(testString) - 1 DO // account for undesired null terminator of string abRxBuf[iCount] := testString[iCount]; END_FOR Escaped characters, like $T, $N, etc. work just fine, and so do their hex representation counterparts ($09, $0A, etc). However, when I put something like $94, I get a set of nonsense values... see image attached after one spin of the program. Could someone explain to me what is happening here? I'll continue to investigate...
Last updated: 2026-03-09

Post by dat422 on CODESYS crashes when adding standard OPC UA Information Model to Communication Manager CODESYS Forge talk (Post)
Hi all, I am experiencing a problem when trying to add a standard OPC UA Information Model to the Communication Manager. When I try to add the following standard information models to a new or existing project http://opcfoundation.org/UA (15.07.2020) http://opcfoundation.org/UA/DI (02.06.2020) CODESYS crashes every time during the process. Adding an OPC UA Server itself works without any problem. The crash only happens when adding the standard OPC UA Information Model. CODESYS version: CODESYS V3.5 SP20 Patch 4 (64 bit) Has anyone experienced the same issue or knows a possible workaround? Thank you in advance.
Last updated: 2026-03-19

Post by husarz17 on How change Unity-ID in TCP Modbus Slave CODESYS Forge talk (Post)
My codesys is 3.5.21.30. I am using function ModbusServer from library ModbusTCP_Slave. The reason is that I need share 9000 Holding registers. By standard configuration it is only 4096. fbMbTcpDevice: ModbusTCP_Slave.ModbusServer; fbMbTcpDevice( wPort := 502, pInputData := ADR(awInputReg), pOutputData := ADR(awHoldingReg), uiInputDataSize := 10, uiOutputDataSize := 9000, xEnable := TRUE, tTimeout := 10000, InterfaceName := "eth0", xBusy => xBusy, xError => xError, byClientConnections => byConnections ); Ethernet port is cofigured: Network interface: eth0 IP address: 10.10.22.55 Subnet maskL 255.255.255.0 Default gateway: 0.0.0.0 And it only works when I am reading registers with ID 255 by Modbus Poll. Any other IDs don't work. The actual TCP client device try to read registers with ID 1 and I can't change it... Thanks in advance for your help!
Last updated: 2026-04-01

Post by rik123456 on Alarmmanagement – Dynamic Alarm List CODESYS Forge talk (Post)
Hi, I had a question about alarm management in the CODESYS visualization. I am currently investigating to what extent the alarm visualization can be built dynamically. In my program, I have developed a motor block that is used for multiple motors. When the emergency stop of one or more motors is activated, the corresponding motors are displayed in the alarm list (see image). This works quite well. I achieved this by linking variables to a latch, after which a piece of code displays the motors that are in emergency stop. My question is: do I need to create a separate latch for each motor or can I use a single latch to display multiple alarms of a motor underneath each other? This would then look like this: Time…: M1 Emergency Stop Active Time…: M4 Emergency Stop Active
Last updated: 2026-04-20

Post by cvrettacos-dse on How to reset scroll of a table element CODESYS Forge talk (Post)
Hello, I would like to use swipe/pan gestures to scroll a table visualization element (CODESYS 3.5.21.10) ona DSE M810 display. The swipe / pan gesture control works fine, however, I cannot figure out how to reset / navigate to the top of the table again with code. I have tried the Scrolling begin variable, and the visu manager is setting it to FALSE right away but the table doesn't actually scroll back to top. If I check the “Scroll elements with scrollbar” box, then the Scrolling begin variable works perfectly, but now the swipe/pan scrolling no longer works and you have to use the scrollbar. Any assitence you can provide is appreciated. Thanks.
Last updated: 2026-04-21

Post by alexgooi on Network variable stops sending CODESYS Forge talk (Post)
Hi Reinier, What usually works for me is settings it up in the following way: In the sender block make sure that the list identifier is unique for the whole installation (this is only relevant when you have multiple senders in 1 network). When you are linking the NVL to a file make sure that the path to this file doesn't change. In my experience the NVL stops working when you change the working directory and afterwards open the NVL in de Codesys IDE. If this doesn’t apply to you application, you could also try to change the port number, maybe there is an other process making use of port 1202. Kind regards Alex
Last updated: 2026-04-22

Post by timvh on library inside library CODESYS Forge talk (Post)
1) it should be possible to access the type SysTime in the project as A_Lib.SysTime. 2) you could add the SysTimeCore library to the library manager of your library (POU Pool). This might seem as a double library, but because of the placeholder resolution only one will be used. Then, in your library manager of your library, select the SysTimeCore library, right-click, select "Properties" and enable the option "Publish all IEC symbols ...." For more information about library development, you could follow our advanced training course in Ridderkerk. The next is scheduled for 24 and 25 June 2026 https://www.extendsmartcoding.nl/codesys-training/
Last updated: 2026-04-25

Post by polo on 1 Wire und i2c zeitgleich in Betrieb CODESYS Forge talk (Post)
Hallo zusammen, ich habe schon einige Zeit 16 DS18B20 am 1 Wire laufen ... auch die ganze Zeit stabil ... jetzt habe ich ein PWM Signal über i2c für eine Pumpenansteuerung zusätzlich in Betrieb genommen.. nur das Signal für die Pumpe geht über i2C ... 100Hz 10ms. Es läuft auch alles soweit ... nur fallen mir jetzt die Temperaturen in Abständen aus ... Vertragen sich die beiden Systeme zeitlich evtl. nicht so gut ... 1 wire extra task mit 200ms Prio 0 i2c task 10ms ... damit die 100Hz auch übertragen werden Prio 1 (Adafruit_PWM) Main Task 20ms Prio 5 Oder jetzt besser beides über i2c abrufen ... ist aber dann evtl. für die DS18B20 zu schnell ? Oder sind die 5V vom Pi jetzt zu schwach für beide Signale? Vielen Dank euch
Last updated: 6 days ago

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 tcarlbom on Read tag values using external program CODESYS Forge talk (Post)
This is my first time posting in this forum and I am new to codesys. I am a fullstack developer and I am trying to figure out how the following. What would be the best approach to create a own/custom tag browser? Either directly in codesys ide or using a separate custom program (perhaps a winforms application). 1.a. Shall I parse the .project xml file to get a list of all tags in the project? 1b. Shall I use python scripting in codesys ide to get a list of tags? Once one have selected some tags. These tags shall be exposed to a python program which will be acting as a edge computer. It’s fine to be able to import a file. 2a. I found a library called codesys plchandler which (as I understand) acts a rest api server. Is this correct? If so, can I query the api from a custom python script, ie can query what tags exist in project and or read tag values? My research so far. From earlier projects I know that using opc ua would be perfect for this but from my opinion it’s bloating the plc since it’s resource intensive. So opc ua is not an option. Codesys automation server is neat. But I don’t want to rely on some cloud services and subscription based pricing. There seem to be several interesting codesys libraries like mqtt, tcp server and NVL sender which would help me expose plc tags. But all have a common problem. One have to manually write what tags which will be used in these function blocks. I want a similar experience like “selecting” tags in the opc ua or the codesys tracing, ie a tag browser.
Last updated: 2024-06-28

Post by thommy54 on Raspi-Cam: CameraStream.project nicht zum Laufen zu bringen CODESYS Forge talk (Post)
Hallo, Ich bringe das CameraStream.project nicht zum Laufen. Ich sehe die Ursache darin, das das Beispielprogramm sehr sparsam mit Programm-Kommentaren umgeht (von der Hilfe gar nicht zu reden). Ich habe beide Varianten bei der zu ändernden Zielvariable getestet: //copy video.htm to the webserver; //the location of the webserver depends on the used Apache version as mentioned in online help hDirHtmlTest:=SysDirOpen( szDir:='/var/www', pDirInfo:= ADR(dirInfo), diMaxDirEntry:=iMaxDirEntry, szDirEntry:=szDirEntry, pResult:=ADR(iDirHtmlError)); IF (iDirHtmlError = 0) THEN SysDirClose(hDir:=hDirHtmlTest); SysFileCopy('/var/www/video.htm', '$$PlcLogic$$/Application/video.htm', ADR(dwCopySize)); ELSE .... als auch hDirHtmlTest:=SysDirOpen( szDir:='/var/www/html', pDirInfo:= ADR(dirInfo), diMaxDirEntry:=iMaxDirEntry, szDirEntry:=szDirEntry, pResult:=ADR(iDirHtmlError)); IF (iDirHtmlError = 0) THEN SysDirClose(hDir:=hDirHtmlTest); SysFileCopy('/var/www/html/video.htm', '$$PlcLogic$$/Application/video.htm', ADR(dwCopySize)); ELSE .... Die Url-Streams habe ich gelassen wie sie vorgegeben waren: urlStream := CONCAT('http://', CONCAT(sIPAddress, '/video.htm')); urlPicture := CONCAT('http://', CONCAT(sIPAddress, '/cam_pic.php')); In der Webvisu im Browser komme ich maximal dahin wie im Screeshot Video_Visu_1 zu sehen. Also scheint der Link zu video.htm zu klappen. Das der zu cam_pic.php nicht klappt, wundert mich nicht, denn es existiert nicht und wird auch nicht evtl. am rechten Ort angelegt. Ich bin mir vollkommen im Unklaren: muss da was auf dem Raspberry Pi im Hintergrund laufen , z.B. raspivid . Welcher Programmteil bedient die Cam ? Ich erkenne auch nicht, wo ein einzelnes picture entstehen soll. Wäre dankbar, wenn ich hier etwas Hilfe bekommen könnte. Evtl. gibt es Probleme mit der von mir verwendeten Codesys-Version 3.5.20.1 ? Ich benutze einen Raspberry 4 Rev.1.2. Grüße Thomas
Last updated: 2024-07-04

Post by maldus512 on How to adapt Codesys Control SL to custom board CODESYS Forge talk (Post)
Hello everyone, I have been given the task to develop I/O drivers for a custom made, Linux based board to allow for Codesys applications to run and control the hardware. I have successfully installed Codesys Control SL for ARM/Linux and tested it with a simple demo application. Now I should start interfacing the runtime to the actual hardware; I should be able to interact with 2 RS485 serial ports, a few GPIOs and an I2C port, all of which already have the corresponding /dev/ interface in the Linux system. I am having trouble understanding how it should be approached. I have found sporadic references that fail to lead to a really comprehensive documentation. For example: The store page (https://store.codesys.com/en/codesys-control-for-linux-arm-sl-1.html#options) mentions a "runtime package" that should allow "Integration of existing C code" and "Usage of local I/Os", which seems exactly what I need to interact with custom peripherals. I have found no further reference to Codesys-C interpop. The Codesys Help page for the runtime package has a page on the "Development of Drivers" (https://content.helpme-codesys.com/en/CODESYS%20Control/rtsllinuxrbpdriverdevelopment.html) that suggests to either "Implement a function block" or "Implement I/O drivers". Those in turn lead to this page (https://forge.codesys.com/drv/io-drivers/doc/Generic/) which describes briefly an XML schema to describe new devices; unfortunately, it doesn't mention what to do with such a description (i.e. how does the runtime know about it) or how it is in any way connected to the actual hardware. Could anyone give me some pointers? I should also mention I have no prior experience with Codesys, so maybe I'm missing an obvious answer.
Last updated: 2024-08-09

Post by gorditron on I2C Communication with CODESYS Forge talk (Post)
Hello, I have problems with the I2C communication to an ADS7828 AD converter. I don't get any value back from the chip. I use a Kontron chip (ARM 32SC) with Linux as the operating system. I also use the CmpCharDevice library. ADS7828 parameters Address: A1 = 0 / A0 = 0 = SD = 1 = Single End C2 = 0 / C1= 0 / C0= 0 / Channel 0 PD1 = Internal Reference and PD0 = AD Converter ON Here is my code: VAR b_i2cAdr : BYTE := 16#48; (* Standard I2C-Adresse des ADS7828 *) x_Init: BOOL;(* Flag für die Initialisierung *) b_config_byte: BYTE;(* Konfigurationsbyte für den ADS7828 *) ab_cmd_buffer : ARRAY [0..0] OF BYTE; (* Buffer für den Befehl *) ab_data_buffer : ARRAY [0..1] OF BYTE; (* Buffer für die empfangenen Daten *) ui_adc_value_1 : UINT; (* Ausgelesener ADC-Wert *) I2C_Handle: RTS_IEC_HANDLE; (* Handle für das I2C-Device *) di_result_open: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_adr: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_wr_cmd: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_rd_cmd: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_close: DINT;(* Ergebnis der Funktionsaufrufe *) END_VAR //*** Init from the I2C communication port *** IF NOT x_Init THEN I2C_Handle := CDOpen(szFile:= '/dev/i2c-0', dFlags:= O_RDWR, pResult:= ADR(di_result_open)); //* I2C opening * //*** set of the I2C address *** CDIoctl(hFile:=I2C_Handle , dRequest:=1795 , dParameter:=b_i2cAdr , pResult:=ADR(di_result_adr) ); x_Init := TRUE; END_IF (* Hauptlogik *) IF I2C_Handle <> 0 THEN (* Konfigurationsbyte setzen: Single-Ended Kanal 0, interne Referenz *) b_config_byte := 16#8C; (* 10001100b: AIN0, interne Referenz, Single-Ended *) ab_cmd_buffer[0] := b_config_byte; (* Schreiboperation zum Konfigurieren des Chips *) CDWrite(hFile:= I2C_Handle, pbyBuffer:= ADR(ab_cmd_buffer), udCount:= SIZEOF(ab_cmd_buffer), pResult:= ADR(di_result_wr_cmd)); IF di_result_wr_cmd = 0 THEN (* Leseoperation, um den ADC-Wert zu erhalten *) CDRead(hFile:= I2C_Handle, pbyBuffer:= ADR(ab_data_buffer), udCount:= SIZEOF(ab_data_buffer), pResult:= ADR(di_result_rd_cmd)); IF di_result_rd_cmd = 0 THEN (* ADC-Wert aus den Daten extrahieren *) ui_adc_value_1 := SHL(TO_UINT(ab_data_buffer[0]), 8) OR TO_UINT(ab_data_buffer[1]); ELSE (* Fehler beim Lesen der Daten *) ui_adc_value_1 := 0; (* ADC-Wert auf 0 setzen *) END_IF ELSE (* Fehler beim Schreiben der Konfiguration *) ui_adc_value_1 := 0; END_IF END_IF
Last updated: 2024-12-13

Post by elektron785 on GPIO mit Codesys Virtual Control for Linux ARM64 SL CODESYS Forge talk (Post)
Hallo zusammen, ich möchte an einem Entwicklungsboard auf dem der i.MX 8M Plus von NXP aufgesteckt ist die vier zur Verfügung gestellten GPIOs als Ausgänge verwenden. Ich habe mir dazu die Readme-Datei des GPIO-Beispiels von "C:\Program Files\CODESYS 3.5.20.40\CODESYS\CODESYS Control SL Extension Package\4.14.0.0\Examples\GPIO" angeschaut Die Übersicht der verfügbaren GPIOs sieht folgendermaßen aus - wobei ich das auf die reduziert habe, die für mich von Interesse sind: gpiochip0: GPIOs 0-31, parent: platform/30200000.gpio, 30200000.gpio: gpio-0 (SODIMM206 ) gpio-1 (SODIMM208 ) gpio-2 ( ) gpio-3 ( ) gpio-4 ( |sd-vsel ) out hi gpio-5 (SODIMM210 ) gpio-6 (SODIMM212 ) gpio-7 (SODIMM216 ) gpio-8 (SODIMM218 ) gpio-9 ( ) gpio-10 ( ) gpio-11 (SODIMM16 ) gpio-12 (SODIMM155 |regulator-usb1-vbus ) out lo gpio-13 (SODIMM157 ) gpio-14 (SODIMM185 |regulator-usb2-vbus ) out hi gpio-15 (SODIMM91 )** Füge ich nun das GPIO (1 Bit)-Gerät in meinem Codesys-Programm hinzu funktioniert der Bus solange bis ich die Richtung in den GPIO-Parametern von "not used" auf "Output" stelle (siehe Bild gpio_parameter). Dann funktioniert nach Download der Bus nicht mehr. Gibt es noch eine andere Möglichkeit das zu steuern oder muss ich noch Einstellungen tätigen? Für die Zeile mit dem echo (export/unexport) aus dem Beispiel fehlen mir trotz sudo die Zugriffsrechte. "The Kernel Linux has deprecated GPIO user space SysFS. However, the kernel config CONFIGGPIOSYSFS is still enabled on Toradex's BSP to support customers using it in their legacy applications. You can check the configuration by running zcat /proc/config.gz | grep CONFIGGPIOSYSFS. For GPIO access from userspace, the new char device API, also known as libgpiod, must be used." Dies steht in der Verwendung der GPIOs - eine Ausführung des zcat-Kommandos liefert ein =y zurück.
Last updated: 2025-03-17

Post by artplc on 3.5 P20 hangs - no response CODESYS Forge talk (Post)
Subject: Solution: CODESYS Freezes Linked to Large Symbol Configuration (OPC UA) Hello everyone, I was experiencing the same problem as many here: CODESYS (v3.5 SP20+) freezing during compilation and download, especially on projects that use OPC UA for SCADA. The only workaround was to run Build > Clean all before every download. I believe I have found the root cause and a permanent solution. The Problem: The issue is directly related to a large Symbol Configuration. In my project, I only need about 700 tags for OPC UA, but the Symbol Configuration list was showing over 250,000 tags. This is because it automatically includes all variables from Global Variable Lists (GVLs) and other memory areas. When any static variable is changed, the IDE tries to rebuild this enormous list, causing it to freeze for several minutes. The Solution: Instead of letting CODESYS export every variable by default, you can use a pragma to tell it which variables or GVLs to exclude from the symbol export process. Place the following pragma at the top of any GVL or data structure that you do not want to be part of the symbol configuration: 1 {attribute 'symbol' := 'none'} 2 VAR_GLOBAL 3 // All variables in this GVL will now be excluded from the 4 // Symbol Configuration by default. 5 InternalVariable1 : INT; 6 InternalVariable2 : BOOL; 7 END_VAR After adding this pragma to all the GVLs that were not needed for OPC UA, the number of tags in my Symbol Configuration dropped to the correct amount. The compilation and download process is now fast again, with no freezing. This method is much more efficient than manually managing the symbol list in the editor. I hope this helps others who are facing this frustrating issue. Best regards.
Last updated: 2025-08-10

<< < 1 .. 273 274 275 276 277 .. 282 > >> (Page 275 of 282)

Showing results of 7042

Sort by relevance or date