Post by lsislsis on Alarms Placeholder
CODESYS Forge
talk
(Post)
Hello. When i put placeholders at "/etc/codesyscontrol/CODESYSControl.cfg" : [SysFile] FilePath.1=/etc/codesyscontrol/, 3S.dat IecFilePath.1=/proc/, cpuinfo IecFilePath.2=/proc/, iomem PlaceholderFilePath.1=/sys/devices/w1_bus_master1, $OneWire$ PlcLogicPrefix=1 PlaceholderFilePath.2=/data/persistence, $ac_persistence$ PlaceholderFilePath.2.Volatile=1 PlaceholderFilePath.2.View=1 PlaceholderFilePath.3=/data/alarms, $alarms$ PlaceholderFilePath.3.Volatile=1 PlaceholderFilePath.3.View=1 Where "Data" are my USB Flash. I take these attachment errors at run time. What i am doing wrong.
Last updated: 2024-10-15
Post by derpaul on Lizenz ausversehen für WORKSTATION statt für GERÄT installiert - wie kann ich diese verschieben?
CODESYS Forge
talk
(Post)
Hallo, ich hatte heute gestern Probleme mit mit Aktivierung der Lizenz (der Softcontainer auf dem Raspberry hatte sich nicht geöffnet) und dann habe ich hin und her probiert und dann irgendwann ging es, bis ich festgestellt hatte, dass die Lizenz auf der Workstation liegt (es geht um eine IIoT Library SL Lizenz). Ich habe versucht, die Lizenz irgendwie zu verschieben, habe es aber nicht hinbekommen - kann mir da jemand helfen?
Last updated: 2024-10-18
Post by mtnkyr on Ethercat Master
CODESYS Forge
talk
(Post)
Hi everyone, I am working on a 3 axes Cartesian robot. I take control of all the axes. In the Ethercat connection, the drive sequence is the same as in the program. For example, in the current program the order is as follows. 1. Axis_Z 2. Axis_X 3. Axis_Y Communication Diagram PLC->Drive_Z->Drive_X->Drive_Y When I try to change the order in the program while keeping the communication diagram the same, there is an axis drive mismatch. How can I fix this?
Last updated: 2024-10-22
Post by pernockham on Is there a pragma for init/instantiation of local variables in FB (like in Methods)
CODESYS Forge
talk
(Post)
Im using a pointer as input for a FB and for convenience I like to use 'referenced' variable internally. I use this setup in methods which works because internal variables are instantiated for each call. In a FB these variables are instantiated and initiated for the first call only. Is there a pragma/attribute available that changes this behaviour to mirror a 'method'-call?
Last updated: 2024-10-31
Post by warrumungi on Opening a Dialog on a specific Client from ST
CODESYS Forge
talk
(Post)
Hi Thanks, Manuel, for providing this solution and insight. I too had exactly the same problem as you did. While I did implement a custom filter, I'd also like to point out what jinlee mentioned above...I see no reference to VU.PublicVariables.Clients.Current anywhere?? In my case I only needed to show a dialog on a "master" client, not all the clients, so I filtered by IP address to do this.
Last updated: 2024-11-05
Post by trusty-squire on Display Units/Scale on Path3D visualization
CODESYS Forge
talk
(Post)
Hi, Is it possible to display the units along the X,Y axis of the Path3D element? It correctly shows the CNC path to be followed, but there's no indication of scale or size of what's being displayed. I looked at the documentation and my first inclination is that this is not possible, and the option option would be to somehow recreate the Path3D functionality into the XY Chart visu element - which is not ideal. Any suggestions or pointers would be appreciated!
Last updated: 7 days ago
Post by mae-rex on Anzeige von gelatchten Werten im Alarmmanager in anderen Zahlenformat
CODESYS Forge
talk
(Post)
Hallo, ich möchte den Alarmmanager verwenden und dabei einen generischen Fehlereintrag für meine Subkomponenten haben. Diese haben im allgemeinen einen Fehlercode, der hexadezimal dokumentiert ist und somit für den Anwender auch in der Form am sinnvollsten ist. Daher meine Frage: Gibt es eine Möglichkeit den Fehlertext in der Alarmkonfiguration wie folgt (in der Funktionalität) anzupassen: "Komponentenfehler hex(<latch1>)" oder wie auch immer.</latch1> Grüße
Last updated: 4 days ago
Post by rcaponi on Codesys Control RTE V3. Remote Control
CODESYS Forge
talk
(Post)
Hello, I would like to have, if possible, some clarification on this function. That is, I would like to understand if it is useful for managing, fom my development PC, the RTE runtime executed on a remote control. This is what the help says: Remote PLC: Opens the Remote Configuration dialog. By enabling or disabling the Control remote PC, not local option, you determine whether a PLC is used that is on a remote or local PC. Accordingly, the menu commands Start PLC, Stop PLC, and PLC Configuration refer to the local PC or a PC reached on the network. For the remote PC, specify the Target PC address, Port number, and a Timeout value (in ms) for the connection (Remote Timeout [ms]). But does this mean that I also need to install the RTE runtime on my development PC? Is it possible to have some more information? Best regards Roberto Caponi
Last updated: 2023-09-22
Post by markusef3 on Verhalten bei zu kurz gesetzter Task-Zyklus-Zeit
CODESYS Forge
talk
(Post)
Hallo zusammen, ich habe eine Frage bezüglich dem Verhalten der Tasks. In der Hilfe und hier im Forum sowei im Internet konnte ich diesbezüglich leider nichts finden. Wie genau verhält sich Codesys wenn mehrere zyklische Task eingestellt sind und bei einem ab und zu die Abarbeitung des angehängten Programmes länger dauert als das Aufrufintervall eingestellt ist. D.H. der nächste Aufruf würde "theoretisch" erfolgen bevor alles im Program abgearbeitet ist. Z.B. Intervall ist 1ms, Abarbeitung dauert manchmel 1,1ms oder länger. (Watchdog ist zwar eingeschaltet, aber größer gewählt als das Zyklische Intervall zum Aufruf. Watchdog soll jetzt auch nicht das Thema sein). Was passiert in so einem Fall? - Wird das Programm zuerst zu Ende abgearbeitet und dann der nächste Aufruf gestartet? - Wird das Programm "mittendrin" unterbrochen und dann neu gestartet? - wie genau muss ich mir das vorstellen wenn dem so ist? - ...... - ...... Ich konnte überall nur Anleitungen finden wie die Tasks zu konfigurieren sind, jedoch nichts dazu was im oben genannten Fall genau passieren wird. Gruss Markus
Last updated: 2023-10-19
Post by mm-sceg on Runtime geht sporadisch in Störung -> RaspiPi4 reagiert nicht mehr
CODESYS Forge
talk
(Post)
Guten Tag, ich hab seit längerem das Problem, dass mein Raspberry Pi4 durch die PLC in Störung geht. Auf dem Raspi läuft eine einfache Software mit OPC UA server, InfluxDB und ein NodeRed-Server. (Und MQTT-Server) Daten werden von der PLC über OPC-UA an NodeRed übergeben. Es kann sein, dass der Raspi 2 Wochen läuft, dann geht die PLC in Stopp. Manchmal nur 2-3 Tage. Ein Neustart über Spannung aus & wieder an schafft Abhilfe. NodeRed wirft extrem viele Fehlermeldungen in kurzer Zeit. Wenn die PLC in Störung ist, kann man sich nicht mal mehr über SSH beim Raspi einloggen. Der Raspi ist aktiv gekühlt und im Normalbetrieb nicht überlastet. Ich hab einige logfiles mit vielen Einträgen die mir nichts sagen, eventuell hat hier jemand eine Idee wie ich dem Problem Herr werden kann :) Der letzte Datenbankeintrag von der SPS war am 11.11.2023 um 5:55:50 Uhr. D.h. danach muss die SPS gestorben sein. Siehe Raspi-Log im Anhang. Das LogFile von Codesys startet leider erst um 11 Uhr, weshalb weiß ich leider nicht. Vielen Dank schonmal
Last updated: 2023-11-11
Post by tomast on Codesys and Siemens SINAMICS 20 modbus RTU "Response CRC Fail"
CODESYS Forge
talk
(Post)
Hi everyone, I'm currently working on a project involving the control of 5 VFDs via Modbus RTU, this time using the WAGO 750-8212 CPU. So far, I've managed to make progress, but I've encountered an issue. While I can successfully read and write to all the registers I need, I consistently encounter a "Response CRC Fail" error when attempting to write the value 1151 to the STW register at address 40100. I'm able to set the frequency via register 40101 and adjust all other parameters using different registers. Setting STW to 1150 results in the drive ready boolean from the ZSW-bit being received instantly. However, the moment I attempt to send 1151 to register 40100, I immediately receive the "Response CRC Fail" error for all channels. I've also attempted to use combined control, employing Modbus for frequency control and starting from a digital input. Everything seems to function properly until I send the start command to the VFD. Interestingly, I consistently encounter the same error the moment I send the start command, regardless of whether I use register 40006 (high) or 40100 (1151). Could someone please assist me in resolving this issue?
Last updated: 2024-03-21
Post by joshskellig on Publish a JSON payload via MQTT Publish (using IIot Libraries)
CODESYS Forge
talk
(Post)
I am trying to figure out how to get a JSON payload to properly publish to my MQTT Broker. I am able to generate JSON using the examples from Codesys, but when I send that payload via MQTT there are characters that are extra or not recognized by my MQTT client. Any idea what could be causing it? PROGRAM PLC_PRG VAR hostname: STRING := 'localhost'; port: UINT := 1883; topic: WSTRING(1024) := "testing/"; payload: BYTE; factory : JSON.JSONDataFactory; eDataFactoryError : FBF.ERROR; pJsonData : POINTER TO JSON.JSONData := factory.Create(eError => eDataFactoryError); fb_JBuilder : JSON.JSONBuilder; wsValue : WSTRING := "Value1"; diRootIndex, diObject1Index : DINT; iValue : INT := 1234; jsonArrayWriter : JSON.JSONByteArrayWriter; wsJsonData : WSTRING(1000); xFirst : BOOL := TRUE; mqttClient: MQTT.MQTTClient; mqttPublish: MQTT.MQTTPublish; mqttPublishProperties: MQTT.MQTTPublishProperties := (bPayloadFormatIndicator := 1, wsContentType := "application/json"); END_VAR // Json Functionality IF xFirst THEN fb_JBuilder(pJsonData := pJsonData, diRootObj => diRootIndex); fb_JBuilder.SetKeyWithValue("Key1", wsValue, diParentIndex := diRootIndex); diObject1Index := fb_JBuilder.SetKeyWithObject("Key2", diParentIndex := diRootIndex); fb_JBuilder.SetKeyWithValue("Key3", iValue, diParentIndex := diObject1Index); xFirst := FALSE; END_IF jsonArrayWriter(pwData := ADR(wsJsonData), udiSize := SIZEOF(wsJsonData), jsonData := pJsonData^, xAsyncMode := FALSE); MSU.StrTrimW(pString:= ADR(wsJsonData)); // MQTT Functionality mqttClient( sHostname:=hostname, uiPort:=port, eMQTTVersion:=MQTT.MQTT_VERSION.V5 ); mqttPublish( mqttClient:=mqttClient, pbPayload:=ADR(wsJsonData), udiPayloadSize:=SIZEOF(wsJsonData), wsTopicName:=topic, mQTTPublishProperties:=mqttPublishProperties );
Last updated: 2024-04-10
Post by hanoues on setting date and time on CPX-E
CODESYS Forge
talk
(Post)
Hello, Can anybody here tell me how to modify the time and date on my CPX-E? I used the code I found on CODESYS online help, but it doesn't work. What am I missing? FUNCTION current_date_time : STRING VAR stUTC_Timestamp : SysTime; //utc time // ULINT#1528280694913 stLocal_TimeStamp : SysTime; //local time but is in general equal // ULINT#1528280694913 stdNow : SysTimeDate; //local time in an object to access each number (day, month...) dtNow : DATE_AND_TIME;//DT#2018-6-6-10:24:54 todNow : TIME_OF_DAY; // TOD#10:24:54.913 datNow : DATE; // D#2018-6-6 END_VAR SysTimeRtcHighResGet(stUTC_Timestamp); // ULINT#1528273494913 SysTimeRtcConvertHighResToLocal(stUTC_Timestamp, stdNow); //convert UTC ULINT to Local SysTime // stdNow.wYear = UINT#2018 // stdNow.wMonth = UINT#6 // stdNowy.wDay = UINT#6 // stdNow.wHour = UINT#10 // stdNow.wMinute = UINT#24 // stdNow.wSecond = UINT#54 // stdNow.wMilliseconds = UINT#913 // stdNow.wDayOfWeek = UINT#3 // stdNow.wYday = UINT#157 SysTimeRtcConvertDateToHighRes(stdNow, stLocal_TimeStamp); // ULINT#1528280694913 dtNow := TO_DT(stLocal_TimeStamp / 1000 ( ms )); // DT#2018-6-6-10:24:54 todNow := TO_TOD(stLocal_TimeStamp MOD TO_ULINT(T#1D)); // TOD#10:24:54.913 datNow := TO_DATE(dtNow); // D#2018-6-6 (convert to appropriate string) current_date_time := concat('$N[', TO_STRING(dtNow)); current_date_time:= concat(current_date_time,'.'); current_date_time:= concat(current_date_time, TO_STRING(stdNow.wMilliseconds)); current_date_time:= concat(current_date_time,'] - '); RETURN;
Last updated: 2024-05-21
Post by greenwood on CODESYS Control Raspberry Pi mit Servotreiber T6 von StepperOnline
CODESYS Forge
talk
(Post)
Hallo, Ich scheine den Grund gefunden zu haben, das Kabel mit dem RJ45 Stecker ist für RS232 verdrahtet (am anderen Ende des Kabels ist ein 9-poliger SUB-D Stecker, nicht wie von mir im Eingangspost behauptet ein USB Stecker). In der Anleitung des Treibers ist immer nur von RS 485 die Rede. Alerdings habe ich es gestern abend noch geschafft eine funktionierende Version der setup-software herunterzuladen, und die verbindet sich offenbar über RS232. Daraufhin habe ich mir in der Anleitung des Treibers das Pinout der RJ45 Buchse nochmal angesehen, und die hat Kontakte für RS232 und für RS485. (Die liegen jeweils ganz am Rand, so ist mir das vorher nicht aufgefallen). Ich muss also als Nächstes ein richtig verdrahtetes Kabel auftreiben, und dann sehen ob das mit dem Adapter den ich habe funktioniert. An einen Abschlusswiderstand habe ich auch schon gedacht, nur weiss ich nicht wo ich den an einem RJ45 Stecker / Buchse - Paar anbringen soll... Ich bitte um Entschuldigung für die Verwirrung, ich mache das alles zum ersten Mal und es ist ganz schön viel auf einmal für mich. Nochmal vielen Dank für die Unterstützung!
Last updated: 2024-06-01
Post by brubingh on Download Missing Libraries not working
CODESYS Forge
talk
(Post)
We are working on a project and the customer required 3.5.16 BF4. After working on the project for a few weeks I opened it the next morning and it could not access libraries. IecVarAccess could not be accessed. I checked if windows updated - it did not. So no explanation for why it lost access other than that I shut down the computer for the night. Note that I am using a demo license. I still haven't figured out any reason to purchase a license. So I spent the next hour reinstalling CodeSys. Note that I did NOT uninstall first. After install I waited another 5 minutes for it to open the first time. I clicked File->Open to open the project. Previously I had selected File->Recent Projects - not sure if that makes and difference. But after this process it did open the project and compile it just fine. This is miserable. If this had happened when I went on site to a customer I would have lost hours of work doing the reinstall. Is there a different and quicker fix?
Last updated: 2024-06-13
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 trusty-squire on Confused by dwIpoTime input for SMC_Interpolator
CODESYS Forge
talk
(Post)
Hi, Learning Codesys CNC, and I am confused by the dwIpoTime parameter. I have a basic demo application, using SMC_Interpolator feeding into SMC_TRAFO_Gantry2Tool2, which then sets the position of the x/y SM_Drive_Virtual axis. I also have a C axis which revolves the tool, which is controlled using a simple tangential angle calculation SMC_CalcDirectionFromVector. The GCode I'm using has feed/accel set at 500. The axis configuration limits are well above that (2000). What's strange is that, when I run the simulation, the feed speed changes drastically when I update the variable dwIpoTime. The larger the number, the faster it moves. What's going on here? The documentation only says "This variable has to be set for each call. It represents the cycle time in μsec." Why does it change the feed speed I'm seeing the in simulation? What is a good number to use? The example I was looking at set it at 5000. Screenshot attached.
Last updated: 2024-07-18
Post by c3po on Von SNMP auf IIoT wechseln
CODESYS Forge
talk
(Post)
Hallo, 1. ich bin komplett NEU was Codesys angeht 2. ich muss direkt ein Retrofit machen von V2 auf V3 3. Neue Steuerung: WAGO 750-8211 PFC200. 4. das Projekt in V2 hat über SNMP daten im Netzwerk zur Verfügung gestellt, oder diese gelesen 5. das Projekt in V3 kann SNMP nur noch eingeschränkt nutzen, deswegen wurde mir vom WAGO Support nahegelegt die IIoT Lib zu verwenden. Frage: Wie mach ich das? Konkret: Ich habe die WagoAppSNMP Bibliothek installiert, damit kann ich schon mal Set und Get nutzen (hoffentlich, hab es ja noch nicht getestet, sondern nur programmiert). Ist das ein schlauer Weg, das über diese Lib zu machen? Denn: was macht der SNMP_SET_PLCDATA_WRITEAREA ? Den kann ich über die Wago Lib nicht nutzen und weiß auch nicht, was dieser Baustein konkret tut (Bild im Anhang). Es scheint mir, hier werden Daten auf ein Word im Netzwerk geschrieben? Aber geht das nicht auch einfacher? Es ist ja keine Adresse hinterlegt, wo das hin gehen soll oder? Also, ich verstehe den Baustein nicht so ganz und konnte bisher auch keine Erklärung dazu finden. Vielen Dank schon mal für eure Unterstützung, K.
Last updated: 2024-08-19
Post by otbeka on CmpCrypto CryptoGenerateHash Not Outputting
CODESYS Forge
talk
(Post)
Hi, I have been trying to use CryptoGenerateHash from the CmpCrypto Implementation library. My code is taken almost directly from the CryptoDemo.project example provided on Codesys Forge, yet the CryptoGenerateHash function does not write to the address listed in pHash. RTS_IEC_RESULT is OK, but I am getting nothing out of the function. No errors either, all my libraries are up to date. Any help would be appreicated! PROGRAM PLC_PRG VAR sMessage : MESSAGE := 'The red fox runs across the ice'; abyHashCode : HASH_CODE := [ 16#52, 16#ED, 16#87, 16#9E, 16#70, 16#F7, 16#1D, 16#92, 16#6E, 16#B6, 16#95, 16#70, 16#08, 16#E0, 16#3C, 16#E4, 16#CA, 16#69, 16#45, 16#D3 ]; xMessageOK : BOOL; END_VAR xMessageOK := CheckMessage(sMessage, abyHashCode); FUNCTION CheckMessage : BOOL VAR_INPUT sMessage : REFERENCE TO MESSAGE; abyHashCode : REFERENCE TO HASH_CODE; END_VAR VAR _hHASH : RTS_IEC_HANDLE := CryptoGetAlgorithmById(ui32CryptoID:=RtsCryptoID.HASH_SHA1, pResult:=0); Result : RTS_IEC_RESULT; bsMessage : RtsByteString := (ui32MaxLen:=SIZEOF(sMessage), pByData:=ADR(sMessage), ui32Len:=TO_UDINT(LEN(sMessage))); abyNewHashCode : HASH_CODE; bsNewHashCode : RtsByteString := (ui32MaxLen:=SIZEOF(abyNewHashCode), pByData:=ADR(abyNewHashCode)); diCmpResult : DINT; END_VAR Result := CryptoGenerateHash(hAlgo:=_hHASH, pData:=ADR(bsMessage), pHash:=ADR(bsNewHashCode)); diCmpResult := SysMemCmp(pBuffer1:=ADR(abyHashCode), pBuffer2:=ADR(abyNewHashCode), udiCount:=SIZEOF(HASH_CODE)); CheckMessage := diCmpResult = 0;
Last updated: 2024-09-06
Post by bruceae on Ethernet/IP Scan
CODESYS Forge
talk
(Post)
Hello, I have a robot configured as a Generic Ethernet Module under Ethernet/IP Scanner. I can not see the change of state of the outputs coming from the robot on the codesys side in real-time. (The robot has it's own internal program that would changes the values of remote outputs 0-3 off and on). Also when I send data down to the inputs of the robot it doesn't transfer over as expected. As an example I'll send to the robot's input bit 0 a value of 1. It doesn't see that value change. However, when I write that input bit 0 back to a value of 0, the robot changes state and shows a value of 1. And if I change the state of a different bit, the other bits update properly, except for the bit that I changed. Any advice would be greatly appreciated, and if anything else is needed let me know.
Last updated: 2024-09-10
Post by breiter on Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Post)
Hi, supporting a text based storage format is on our roadmap, see https://www.codesys.com/the-system/releases-updates-lifecycle/release-plan-roadmap.html It will be an Add-On feature called "File Based Storage" for the professional developer edition. Structured text POUs will be stored as plain text. Other graphical languages will remain in an xml format. You will be able to switch the storage type for projects. Certain workflows will become easier this way. Nevertheless restrictions will remain because of CODESYS specific storage logic (for example how methods below function blocks are stored as file). So merging using our Git Integration Add-On remains the recommended workflow. A workflow involving Visual Studio Code as the main IDE is not supported. Simply because many topics like library management, task configuration or fieldbus configurators are not available for VS Code. A PLC project is a lot more than just some ST POUs. Best Regards
Last updated: 2024-10-16
Post by jackbrady on Function Blocks and arrays of function blocks
CODESYS Forge
talk
(Post)
Hello, I am new to Codesys and PLC programming in general (please go easy ha!) I'm not looking for code to be written for me just some help and pointing in the right direction. I am writing some code to send commands to a relay based on input values (to put it simply). Quite basic stuff. I have wrote a function block that takes a global variable (Open_command:BOOL) and outputs to another global variable (Opened : BOOL). The function block is simulating a device so I'll eventually get the globals from that. I now need to create multiple versions of this function block/ device (lets say 100) but I need each iteration of that function block to reference it's own relevant global variable. I think that the best way of doing this would be to use arrays, although I could be wrong. I am aware that for up to 100 instances I could very well manually assign everything but that seems rather time consuming and I want a fancier way of doing it. Here is a very basic example of what I am looking to do, please note I have not written this in proper code it's just to show what I mean. Global Variables V[0-100] int Open_command [0-100] Bool Opened [0-100] Bool Function Block var input x : BOOL Var output y : BOOL if x then y = TRUE ELSE y = FALSE The input to my function block will be Open_command, output will be Opened Example code. If V[x] > 10 then Open_command [x] = TRUE ELSE Open_command [x] = FALSE (So when V1 goes above 10 I need Open_command1 = TRUE therefore initiating FB1 output. V2 > 10, open_command2 = True > FB2 output V3 > 10, open_command3 = True > FB3 output ... ... ) What I can't seem to figure out is how to tie all this together, I have read through the codesys documentation and if anything it has confused me more! ha. Apologies for the poorly written post but hopefully you understand what I am trying to get at. Thanks, Jack
Last updated: 2024-02-14
Post by thommy54 on Lizenz wiederherstellen SP20
CODESYS Forge
talk
(Post)
Hallo Edwin, ich bräuchte mal eine schnelle Hilfe. ich testete einen zweiten Raspberry Pi 4 mit meinem Lizenzdongle eines laufenden Raspberry. Der 2. Raspberry ist als Redundanzlösung bei einem Crash gedacht. DIe Schwierigkeiten begannen, als ich mit dem Raspberry 4 V1.5 nicht mehr mit SP16 weiterarbeiten konnte. Ich updatede auf SP20.1. und die Schwerstarbeit begann. Das Image wurde rübergeschoben und alles auf dem zweiten Rechner soweit zum Laufen gebracht. Der Dongle wurde ebenfalls am 2. Rechner eingesteckt. Ob er überhaupt wirkte, kann ich nicht sagen, da für diesen Testfall Codesys so oft rauf und runter gefahren wurde, das die 2h-Grenze kaum erreicht wurde. Problem: Beim Zurückstecken des Dongles in den ursprücnglichen Rechner ist alles an Lizenzen weg. Der Lizenzmanager hat keinen Container mehr und der Befehl "lsusb" bringt nichts zurück. ich war der Meinung, das der Dongle genau für diesen Zweck gedacht war - die Lizenz von einem Rechner zum anderen mitzunehmen. Liege ich da falsch ? Wie komme ich nun wieder zu einem funktionfähigen Dongle ?? Weitere Versuche unternahm ich mit dem Wiederherstellen des Dongels. Dabei steckte ich ihn in meinen PC (Workstation) und siehe da, es werden noch 3 von ehemals (2020) 6 Lizenzzeilen angezeigt: (siehe Bild Problem_Lizenzen_Raspberry.jpg) Dann versuchte ich das Wiederherstellen über eine Lizenzaktualisierungsdatei vom Lizenzserver. Da kommt aber eine Datei mit anderem Dateityp (..WibuCmRaC) als im Lizenzmanager gesucht (WibuCmRaU). Die Datei ist dem Lizenzmanager auch nicht genehm (Bild Problem_Lizenzen_Raspberry_2.jpg). Nun steht Codesys auf besagtem Raspberry alle 2h still. Das soll die Lizenz doch verhindern. Angeblich soll seit SP13 auch kein eigenes Backup mehr nötig sein. Bis zum Erhalt des nicht brauchbaren Linzenzfiles hat da sja geklappt. Ich kann auch im Lizenzmanager keinen Punkt "Lizenz wiederherstellen" finden. Hat sich da mit SP20 etwas geändert? Wenn ich mir eine neue Lizenz hole - wie bringe ich sie auf den Dongle (der ja jetzt nicht "nagelneu" ist). Ich fürchte, das geht auch bloß schief. Im Voraus vielen Dank Thomas
Last updated: 2024-07-02
Post by janderson on OPC UA Server limitations, large array crashes runtime
CODESYS Forge
talk
(Post)
What are the limitations of the OPC UA Server? I am trying to get data off my PLC that is acquired at high rates (~50k samples/s) so I am storing them in arrays and trying to get the arrays off the PLC. When I attempt to read a ~200k element array through OPC UA the server and runtime crashes (requiring tools -> update linux arm64 -> start runtime). Is there a better way to get highspeed data off? The ACDatalog library seems a bit irritating to use so I would prefer to go through OPC UA.
Last updated: 2023-08-23
Post by arnaud on eCockpit - unable to start simulation
CODESYS Forge
talk
(Post)
Hi there! I'm using eCockpit WAGO software to develop HMI's for multiple projects. As I recently starting this, my knowledge on the software is somewhat limited (so maybe my question is a simple one). For most of my projects I can simulate the application and start it to test the code and HMI. However for two projects, I can initiate the "simulation activation" but I cannot start it. Nothing happens when I press start and the visualization shows "The online visualization is waiting for connection. please start the application". - I don't see any errors in the messages - Initially the project are made by a colleague, which moved on. I guess I'm forgetting something, like missing a setting. I appreciate any help I can get. If you need more information to help me out, let me know. Thanks!
Last updated: 2023-08-25
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
.