Problem Transitionsschaltung Ablaufsprache Raspberry PI - Horter Komponente

Trafel

Level-1
Beiträge
26
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich hab ein kleines Problem und kann die Lösung nicht finden. Es handelt sich um eine Soft-SPS auf der Basis des Raspberry Pis und bin noch dabei die Eingänge und Ausgänge zu testen und genau daran scheitert es momentan.

Unbenannt.PNG

E3_1 ist dabei der Eingang des Start- Tasters

test.jpg


Die LED der Eingangskarte und des I²C-Reapers an dem Raspberryy Pi leuchtet bei der Tätigung des Tasters, also sollte das Signal ankommen. Die SPI, I²C und 1-Wire Devices sind ebenfalls beim Raspberry PI aktiviert.

Die Jumper Einstellungen für die Adressierung hab ich auch 3x nachgeprüft.

Jumpereinstellung: unten oben oben -> Adresse 59 in 7bit Dezimal

et.jpg

Mein Problem ist, die Transition schaltet nicht. Obwohl E3_1 als BOOL und false deklariert ist, bei der Betätigung müsste er den Wert True annehmen und die Transition müsste schalten, oder versteh ich das falsch?
 
Zuletzt bearbeitet:
Die Variablen sind in der Steuerungskonfiguration schon deklariert. Du musst sie nicht extra nochmal im Programm deklarieren.
Das kannst du löschen.

Wenn du die Variablen Online beobachtest, tut sich dann was wenn du den Taster drückst?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich hab es als Lösungsmöglichkeit im Programm noch einmal extra definiert.

Mit online meinen Sie, wenn das Programm kompiliert und die variablen im oberen bereich stehen mit ihrem Wert. (der false ist)
Nein, da tut sich bei Tastbetätigung nichts.
 
Hallo,

wenn ich das richtig verstanden habe sind die Variablen ja doppelt deklariert (global auf der Steuerungskonfiuguration, lokal noch einmal in dem Programm). Wenn Variablen zweimal unter dem gleichen Bezeichner vorhanden sind, hat die lokale Vorrang und die globale wird nicht ausgeführt.

VIele Grüße
 
Hallo,

ich hab es als Lösungsmöglichkeit im Programm noch einmal extra definiert.

Mit online meinen Sie, wenn das Programm kompiliert und die variablen im oberen bereich stehen mit ihrem Wert. (der false ist)
Nein, da tut sich bei Tastbetätigung nichts.

Variablen nicht nochmal extra definieren. Es reicht wenn sie einmal in der Steuerungskonfiguration hinterlegt sind.

Online = Eingeloggt auf der SPS...

Läuft die SPS überhaupt?

Man muss auch einmal auf -> Start (o.ä.) drücken ;)



Das Programm würde ich erstmal löschen. Erstmal versuchen, dass wenn der Taster gedrückt wird, man was sieht an den Digitalen Eingängen. Es müsste dann von False auf True wechseln. True=blaue Farbe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den einzelnen Bit Ausgängen konnte ich in der Steuerungskonfiguration keine variablen zuordnen, das musste ich extra im Programm machen. Die Eingangsvariablenen hingegen konnte ich in den Steuerungskonfigurationen (i²c -> I²C-Master) deklarieren und bestimmen.

Ich hab jetzt jegliche Variablen deklarierung in den Steuerungskonfigurationen herausgenommen und alles im Programm deklariert.

sdfsd.jpgesrfs.PNGesrs.PNG

Das Programm kompiliert und gestartet:

komp.PNG

Eigentlich... sollte alles stimmen. Der I²C Bus sendet das INT-Signal an den I²C Repeater am Raspberry PI weiter, durch das Rote LED-Aufblinken bei der Eingangskarte und des Repeaters sehe ich das.
Die SPS läuft, auf Start ist geklickt, jegliche devices im Raspberry PI (SPI,1-wire, I²C) sind aktiviert... das ist wirklich frustrierend. :sb8:
 
Du musst als erstes mal schauen ob du bei den Digitalen Eingängen eine Änderung siehst wenn du den Taster drückst. Vorher brauchst du nicht weiter machen.

Ob man den Ausgängen auf diese Weise Namen zuordnen darf, glaube ich nicht. Versuch es doch erstmal ohne.


Ganz einfach erstmal beginnen!
 
Also... das die Transitionsbedingung nicht geschalten hat, war ein Fehler der Adressierung. Das Schalten der Transition funktioniert nun endlich... ich dachte es sei ein PCF8574A verbaut und kein PCF8574N...

Die Ausgänge werden bei mir automatisch von Codesys im Programm angelegt, wenn ich einer Aktion benennen möchte.

123.PNG

Die LED leuchtet trotzdem immernoch nicht. :-?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Nochmal:
Die Variablen der Steuerungskonfiguration sollten nicht im Programm "noch einmal" deklariert werden. Die sind jetzt wieder doppelt in deinem Programm.

Als "Output" sollte man die Variablen im PLC_PRG auch nicht deklarieren....



Wenn du Symbole willst, mach es doch so:

Neues Programm, in dem du Globale Variablen zu Ausgänge zu Rangierst. Dazu musst du vorher natürlcih eine Globale Variablenliste anlegen.

QX0.0 := LED1;
QX0.1 := LED2;
QX0.2 := LED3;
usw...



LED_1 benennt er bei dir automatisch, weil es die Variable in deinem Programm noch nicht gibt. Kann man auch abbrechen.
 
Ich melde mich mal zurück und glaube das Problem gefunden zu haben:

Die Digitale Ausgangskarte hat einen 74HC540 3 State Octal Buffer integriert, welches das Ausgangssignal invertiert. Theoretisch müsste ich doch eine umgekehrte Schaltlogik verwenden?
Aber auch mit einen Rücksetzen kann ich die Ausgänge nicht ansprechen.
 
Zurück
Oben