CODESYS - das IEC 61131-3 Programmiersystem

Willkommen im offiziellen CODESYS - Forum von 3S-Smart Software Solutions | A member of the CODESYS Group
Deutsche Version English version russian version 
Aktuelle Zeit: Mi Jan 29, 2020 7:31 am

Alle Zeiten sind UTC




Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Dez 27, 2019 8:52 pm 
Offline

Registriert: Mo Okt 13, 2014 1:53 pm
Beiträge: 4
Ich bitte um eine kurze Bestätigung, ob mein Lösungsansatz, d.h. die von Hand eingestellte Stack-Größe so richtig ist !

Bei Verwendung einer tasklokalen, globalen Variablenliste erhielt ich beim Raspberry Pi stets den Fehler: C0427

Zitat:
Der Zugriff auf Informationen über die aktuell ausgeführte Task erfordert Kenntnisse über die maximale Größe des Stacks, die vom Zielsystem unterstützt wird.


Anscheinend ist der __CURRENTTASK-Operator die Ursache, denn der

Zitat:
...wird nur auf Zielsystemen unterstützt , bei denen die Zielsystemeinstellung memory-layout\max-stack-size auf einen Wert > 0 gesetzt ist.


Derlei Einstellungen sind in der CoDeSys-IDE nirgends zu finden, wohl aber in der Gerätebeschreibungsdatei des Raspberry-Pi, und dort steht 0

Ich war so frech und habe einfach die Linux-übliche Stackgröße von 8 MB eingetragen (8388608). Jetzt scheint alles zu funktionieren.

Ist das so richtig ?


Nach oben
   
BeitragVerfasst: Sa Dez 28, 2019 8:37 pm 
Offline
Site Admin

Registriert: Mo Sep 05, 2005 8:42 am
Beiträge: 3604
Hi,
also einfacher gehts wenn du es in

/etc/CODESYSControl_User.cfg
einstellst:
Beispiel:

[SysTask]
StackSize=0x512000

Habe aber noch nicht verstanden warum du es überhaupt machen musst...
Grüße
Edwin


Nach oben
   
BeitragVerfasst: So Dez 29, 2019 11:57 pm 
Offline

Registriert: Mo Okt 13, 2014 1:53 pm
Beiträge: 4
Hallo Mr. Schwellinger,

der Fehler wird bereits beim Compilieren angezeigt - zu einem Zeitpunkt also, wo es noch gar keine Verbindung zur RTE gibt. Trotz dieser Logik habe ich Ihren Vorschlag getestet, doch es half nichts.

Das Problem ist grundsätzlicher Natur und ich habe es nicht eilig, denn ich könnte die Aufgabe wie bisher mit Semaphoren lösen. Das erscheint mir jedoch bei Variablen in Visualisierungen als recht umständlich. Tasklokale Variablenlisten werden in der F1-Hilfe für Multicore-Systeme angepriesen, um dort zykluskonsistent Variablen über mehrere Tasks hinweg auszutauschen, wobei nur eine Task das Schreibrecht hat - sofern ich das richtig verstanden habe. Und genau das möchte ich mit meinem Raspberry mit MC-Lizenz einfach mal ausprobieren.

Abgesehen von diesem Compiler-Error fehlt mir bislang das Wissen bzw. eine tiefergehende Dokumentation der Raspberry-RTE und deren Konfigurationsmöglichkeiten. Ebensowenig besitze ich das CODESYS Static Analysis Tool. Ich denke, es geht auch gar nicht um die absolute Stack-Größe, sonder um einen Maximalwert für den Compiler, richtig :?: Und warum ist diese Obergrenze nicht schon in der Gerätebeschreibungsdatei vorgegeben ? Viele interessante Fragen, aber ehrlich gesagt möchte ich Ihre freundliche Hilfe nicht überstrapazieren.

Einen Guten Rutsch in Neue Jahr wünscht Ihnen
G. Nennemann


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de