Post by ulvis on Modbus TCP Security
CODESYS Forge
talk
(Post)
Anyone?
Last updated: 2025-02-06
Modbus TCP Security
CODESYS Forge
talk
(Thread)
Modbus TCP Security
Last updated: 2025-02-06
Post by ulvis on Modbus TCP Security
CODESYS Forge
talk
(Post)
Anyone?
Last updated: 2025-02-06
Post by malie on 3.5.19.7 Alarme importieren in Gruppe funktioniert nicht
CODESYS Forge
talk
(Post)
Hallo, ich hab das Problem eine Alarmliste nachdem exportieren mit oder ohne Eweiterung der Liste wird nicht wieder importiert. Unter Meldungen "Import von Alarmen" steht: "Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.(Zeile 0, Spalte 0)" "Import der Alarme erfolgreich abgeschlossen" Es erscheinen aber nirgends die Alarme, in vorherigen Versionen hat das immer ohne Probleme geklappt. Auch ein ändern der ID und der anderen Spalten, hinzufügen und entfernen von Spalten hat leider nicht geklappt. Selbst wenn ich eine Zeile in der Alarmgruppe erstelle die Funktioniert, diese exportiere, die Zeile lösche und wieder importiere kommen immer die gleichen Meldungen und kein Alarm wird importiert. Ich hab die Funktion schon länger nicht mehr gebraucht, deshalb kann ich nicht sagen seit welcher CoDeSys Version die Funktion nicht mehr funktioniert. Hat hier jemand eine Lösung? Gruß Max
Last updated: 2025-02-06
Post by andre-luis on Device diagnosis ( EtherCAT IO card )
CODESYS Forge
talk
(Post)
Hi, In our project, it is not rare to have I/O cards issues. I wanted to have a way to check their statuses ( Eg. INIT, OP, PREOP, etc.. ) I was trying to use the GetDeviceDiagnosisInfo method from the IoConfig_Globals, but there is no info available on the Web with a simple example; does someone have a link to some tutorial or anything else ? Kind Regards, Andre.
Last updated: 2025-02-06
Post by pernockham on Slider instance value when accessed through "execute ST-code"
CODESYS Forge
talk
(Post)
I have a time which I want to modify with a slider. I have confirmed it is possible to set the value of the slider by to_real(time) (I can see that the slider changes according to 'my_time_value's value). Slider variable: to_real(my_time_value); However I fail to access the current slider instance value when I want to write back the value as time (write to a variable will not work as I need a type-conversion before assignment). my_time_value := to_time(slider-instance-value); I tried with this^.? but could not see anything interesting and also THIS^.GEN_Instance.? but nothing resemble what could be the sliders value. Anyone that knows? Thanks!
Last updated: 2025-02-06
Post by andre-luis on Device diagnosis ( EtherCAT IO card )
CODESYS Forge
talk
(Post)
Hi @TimvH, In the meantime, I did some experiments and could find a way to achieve similar result. I made some tests, removing the last card from the array, seeing the change on status. PROGRAM P_IOS_STATUSES VAR devStateInput : DEVICE_STATE; devStateOutput : DEVICE_STATE; devStateEncoder : DEVICE_STATE; END_VAR devStateInput := IoConfig_Globals.EL1819.GetDeviceState(); devStateOutput := IoConfig_Globals.EL2809.GetDeviceState(); devStateEncoder := IoConfig_Globals.EL5151.GetDeviceState(); GVL.bInputCardOK := ( devStateInput = DEVICE_STATE.RUNNING ); GVL.bOutputCardOK := ( devStateOutput = DEVICE_STATE.RUNNING ); GVL.bEncoderCardOK := ( devStateEncoder = DEVICE_STATE.RUNNING ); Many thanks for your quick and extensive reply.
Last updated: 2025-02-06
Post by timvh on Device diagnosis ( EtherCAT IO card )
CODESYS Forge
talk
(Post)
You can get the state by just using the name of your node (same name as in device tree): VAR etcState: IoDrvEthercatDriverLib.ETC_SLAVE_STATE; END_VAR etcState := EJ1100.wState; Alternatively, you can iterate through the device tree to get the status of all (Ethercat) nodes. See here an example (no guarantee it works, just give as suggestion): PROGRAM P_IO_State VAR CONSTANT uiMAX_NR_OF_TERMINALS : UINT := 100; END_VAR VAR // general device diagnosis // can only be used when the Device - PLC Settings - Advanced settings - enable diagnosis for devices is enabled // this will add the DED library coupler: DED.INode; terminal: DED.INode; aDeviceState: ARRAY[0..uiMAX_NR_OF_TERMINALS - 1] OF DED.DEVICE_STATE; uiTerminalCount : UINT; uiIndex : UINT; // for each terminal check if it implements device diagnostics xQueryResult: BOOL; itfDevice : DED.IDevice2; xDiagAvailable: BOOL; eError: DED.ERROR; xEverythingOK: BOOL; END_VAR uiTerminalCount := 0; // start at the top of the device tree with the first EtherCAT coupler coupler := EtherCAT_Master.FirstChildNode; WHILE coupler <> 0 DO // for each coupler that is found start at the first terminal terminal := coupler.FirstChildNode; WHILE terminal <> 0 AND uiTerminalCount < uiMAX_NR_OF_TERMINALS - 1 DO // for each terminal that is found get the status through the device diagnosis interface xQueryResult := __QUERYINTERFACE(terminal, itfDevice); IF xQueryResult THEN aDeviceState[uiTerminalCount] := itfDevice.GetDeviceState(xDiagnosisInfoAvailable => xDiagAvailable, eError => eError); uiTerminalCount := uiTerminalCount + 1; END_IF terminal := terminal.NextSiblingNode; END_WHILE coupler := coupler.NextSiblingNode; END_WHILE uiIndex := 0; xEverythingOK := TRUE; WHILE uiIndex < uiTerminalCount DO IF aDeviceState[uiIndex] <> DED.DEVICE_STATE.RUNNING THEN xEverythingOK := FALSE; EXIT; END_IF uiIndex := uiIndex + 1; END_WHILE
Last updated: 2025-02-06
Post by dogulas on Removing a symbol from the IEC Symbols Editor grid
CODESYS Forge
talk
(Post)
In the CODESYS IDE I have several symbols defined and I have IEC Symbol Publishing installed. On the IEC Symbol Publishing window and under the IEC Symbols Editor tab, I have dragged symbols from the tree on the left to the grid on the right. All this works fine. Now I want to remove one of the symbols from the grid on the right and I cannot see any way to do this. How can I remove a symbol from the grid on the right once I've added it?
Last updated: 2025-02-07
Modbus Master read/write over Ethernet UDP/TCP libraries
CODESYS Forge
talk
(Thread)
Modbus Master read/write over Ethernet UDP/TCP libraries
Last updated: 2025-02-07
Post by sulzbrunn on Alte Application aktiv nach Neustart
CODESYS Forge
talk
(Post)
Hallo Zusammen, ich hab hier folgendes Phänomen seit längerer Zeit: Auf meinem Raspberry Pi wird nach einem Neustart des Gerätes immer eine 2 Jahre alte Application gestartet und die kurz zuvor Vollständig reingeladene Version wird verworfen. Selbst das zwischenzeitliche Enfernen des CODESYS Runtime package brachte die alte Version nicht weg. Zielsystemversion: 4.2.0.0 CodeSys3.5 SP17 Patch 2 Raspberry Pi 4 Model B Rev 1.4 Freu mich über Tipps. Michael
Last updated: 2025-02-07
Post by timvh on VisuElems.cmpDynamictext.DynamicTextGetTextW returns pointer to empty string
CODESYS Forge
talk
(Post)
Try this: VAR sTextList : STRING; END_VAR sTextList := 'NameOfTheTextList'; // call to the function with the address of the string variable which contains the name of the textlist : ... ADR(sTextList), ....
Last updated: 2025-02-07
VisuElems.cmpDynamictext.DynamicTextGetTextW returns pointer to empty string
CODESYS Forge
talk
(Thread)
VisuElems.cmpDynamictext.DynamicTextGetTextW returns pointer to empty string
Last updated: 2025-02-07
Post by davidbo on VisuElems.cmpDynamictext.DynamicTextGetTextW returns pointer to empty string
CODESYS Forge
talk
(Post)
I know it is old and I am using 3.5 18, but I cannot extract a txt string as seen:
Last updated: 2025-02-07
Post by pernockham on Slider instance value when accessed through "execute ST-code"
CODESYS Forge
talk
(Post)
I think this will not work. I reworked and used an int as source instead.
Last updated: 2025-02-07
Post by eschwellinger on Alte Application aktiv nach Neustart
CODESYS Forge
talk
(Post)
hattest du den Pi mal im Automationserver hinzugefügt?
Last updated: 2025-02-07
Slider instance value when accessed through "execute ST-code"
CODESYS Forge
talk
(Thread)
Slider instance value when accessed through "execute ST-code"
Last updated: 2025-02-07
Post by sulzbrunn on Alte Application aktiv nach Neustart
CODESYS Forge
talk
(Post)
nein, den Automationsever hab ich nicht hinzugefügt. Bin der Lösung aber schon etwas näher gekommen jetzt. Es betrifft nicht nur Codesys sondern alle Dateien auf dem Raspberry Pi. Hab gelesen, dass so etwas eine sterbende SD Karte bewirken kann. Ich werde weiter berichten.
Last updated: 2025-02-08
Post by gediminas on Datasource OPC UA client system failure
CODESYS Forge
talk
(Post)
I haven't actually found an answer yet. It happens quite rarely, so testing and diagnostics are complicated. I've updated the software with every SP and add-on updates released, but it's probably a Kernel driver issue.
Last updated: 2025-02-09
Post by mubeta on Profibus DP master with EL6731 and automatic restart of slaves
CODESYS Forge
talk
(Post)
Solved. The scanner don't like the default DP address 0. It wok properly with PB address different than 0.
Last updated: 2025-02-09
Profibus DP master with EL6731 and automatic restart of slaves
CODESYS Forge
talk
(Thread)
Profibus DP master with EL6731 and automatic restart of slaves
Last updated: 2025-02-09
Datasource OPC UA client system failure
CODESYS Forge
talk
(Thread)
Datasource OPC UA client system failure
Last updated: 2025-02-09
Post by totorovic on Project loses 'Download time' information
CODESYS Forge
talk
(Post)
Hi, I have a Combivis studio 6 licence. What I need is information from Codesys about how the information 'Download time' is saved and if it is possible to modify it manually.
Last updated: 2025-02-10
Post by hugob on EtherNet/IP Device - Status "Diag string: 'Configure encapsulation Layer'"
CODESYS Forge
talk
(Post)
I'm having the same issue. Did you find any solution? Thanks
Last updated: 2025-02-11
EtherNet/IP Device - Status "Diag string: 'Configure encapsulation Layer'"
CODESYS Forge
talk
(Thread)
EtherNet/IP Device - Status "Diag string: 'Configure encapsulation Layer'"
Last updated: 2025-02-11
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.