hey, jetzt nochmal genaueres vom überbezahlten Studenten
Mein Projekt besteht aus 2 Teilen, (1) dem Programm zur Steuerung einer Eismaschine und (2) einem Testprogramm, das das Steuerprogramm (1) auf richtigkeit überprüft. Genauer frage ich Zustände ab die ich von der Eismaschine erwarte und kontrolliere desweiteren globale Variablen, Sensoren- und Aktorenaktivitäten. Dieses Testprogramm soll dem Programmierer bei späteren Veränderungen am Steuerprogramm unerwartete Zustände mitteilen und somit zur Qualitätskontrolle beitragen.
Problem: Beim Testen der FUN-Bausteine, die das Steuerprogramm zur Laufzeit benutzt, entstehen Fehler im Testprogramm!
D.H. das ich das Steuerprogramm zum testen der FUN-Bausteine stoppen oder pausieren muss >>> So eine TaskStop() - Funktion gibt es für manche Zielsysteme, aber da ich das Testprogramm für alle zukünftigen Steuerprogramme einsetzen möchte bräuchte ich eine allgemeine Funktion oder eine für jedes Zielsystem!!!!
Alle Zielsysteme programmiere ich mit CoDeSys! Die Bibliothek SysLibTasks.lib bietet ähnliches an doch muss ich dort erst einen Task erzeugen um eine TaskID zu bekommen, mit der ich dann "suspend oder resume" auf die ID ausführen kann. Unten mal ein Beispiel wie ich es bräuchte
Oder evtl. andere Ideen?
??
Codeauszug:
IF StopTasks THEN (* Test mit TaskStop(), abhängig von Zielsystem *)
TaskStop(pszTaskName := '', bSelf := FALSE);
IF TaskStopGet('Task_Main') = 1 THEN
StopTasks := FALSE;
TasksStopped := TRUE;
END_IF;