TIA SCL: Direktzugriff IOs?

DerBastian

Level-2
Beiträge
7
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin zusammen,
kann man irgendwie die Ausgänge mehrfach während eines Zyklus ändern? Also ein Direktzugriff vorbei am Prozessabbild realisieren?
Das ganze in SCL. Schon mal vielen Dank!.

Gruß,
DerBastian
 
Was ist ein "Bit Banging"?
Wieviele Bits willst du wie schnell ausgeben? Muss ein Zeitrahmen eingehalten werden?
Mit welcher CPU?
Wir hatten hier mal ein Thema mit einem Soft UART mit einer S7-1200 realisiert, das ist am Ende knapp gescheitert, weil die S7-1200 jede 1ms eine Zwangspause eingelegt hat.
 
Bit Banging realisiert Transferprotokolle in Software, ohne dedizierte Hardware. Zum Beispiel USB auf einem Mikrocontroller, der keine USB-Hardware besitzt. Einfach durch normale IOs. SPI ist zeitunkritisch, da man ein Clocksignal hat. Typischerweise überträgt man ein Byte. Ich wollte das mit einer S7-1200 realisieren, ich denke aber, daß es auch für eine S7-1500 gehen könnte. Eigentlich läuft das schon, allerdings sehr langsam, da ich immer einen Zyklus warten muss, um die Ausgänge zu aktualisieren. Ich benötige ca. 1,5s um das Display mit Daten zu befüllen. By the way: Man sollte Transistorausgänge haben ;-D
 

Anhänge

  • MAX7219.scl
    MAX7219.scl
    2,9 KB · Aufrufe: 8
  • IMG_1413.JPG
    IMG_1413.JPG
    99,8 KB · Aufrufe: 20
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie groß ist die Zykluszeit der SPS-CPU?
Du könntest die Bit-Ausgabe an die Peripherie in einem zyklischen OB (z.B. OB30) programmieren.
Du könntest auch mehrere Bits in einem Programmdurchlauf an die Peripherie ausgeben mit Warte-Takt von weniger als Millisekunden.
 
Wir hatten hier mal ein Thema mit einem Soft UART mit einer S7-1200
Hier das Thema: Software UART am Digitalout einer S7-1200 ?
Da ging es darum, ohne Zusatzhardware ziemlich genau einen Ausgabetakt von 104µs einzuhalten.

Vermutlich ist mit S7-1200/1500 eine Zeitmessung der gesamten Ausgabefolge mit RUNTIME innerhalb eines OB-Durchlaufs möglich. S7-1500 kann auch TIME_TCK, da kann man die Überläufe des Systemtimers sauber herausrechnen. Bei RUNTIME gibt es (speziell bei S7-1200) noch ein Problem mit den relativ häufig auftretenden Überläufen mit negativen Werten, die man einfach "ignorieren" soll ...
 
Zuletzt bearbeitet:
Grundsätzlich mache ich auch so etwas mit einer Sieben Segment Anzeige,
bei den 24V Ausgängen musst ein wenig aufpassen, da sie Kapazitiv sind,
ohne entsprechende Last, überschliefst du die Signale. Es gibt auch 5 V Boards
für die 1200er
 
Zurück
Oben