kostenfreier technischer Support

  kostenfreier Versand in DE

  kostenfreie Softwaredownloads

  für Geschäftskunden

Wie kann ich das gleiche SPS-Programm für Thinget SPS verschiedener Größe nutzen?


In der SPS-Programmierung kommt es bei mir hin und wieder vor, dass ich das gleiche Programm in der Thinget SPS in SPS unterschiedlicher Größe benutzen will. Die SPS gibt es ja in verschiedenen Größen, die sich vor allem in der Anzahl der Ein- und Ausgänge der Basisgeräte unterscheiden. In kleinen Projekten setze ich dann kleine SPS ein, in größeren eben größere SPS. Die Pflege des gleichen Programms für unterschiedliche SPS-Größen lässt sich dabei mit einem Trick vereinfachen.

Nun könnte man natürlich verschiedene Programmstände für die verschiedenen Modelle vorhalten, das wäre aber ein großer Pflegeaufwand. Viel einfacher ist es, einen Programmstand für alle Versionen zu pflegen. Die Thinget SPS bietet dazu eine interne Variable D8021, die den Gerätetyp enthält. Dieser ist als HEX codiert, das High-Byte enthält die Serie z.B. 03 für XC3 und das Low-Byte das Modell z.B. 01 für XC3-14, die kleinste SPS mit 8 digitalen 24V-Eingängen. Diese Information kann man in einem Vergleichsoperator abfragen und dann Modell-abhängige Anweisungen ausführen.

LD= D8021 H0301 ist also eine Bedingung, die prüft, ob das Gerät eine XC3-14 ist. H steht dabei für die Art der Konstante als Hex (im Gegensatz zu K für normale Dezimalzahlen).

Hier die Liste der möglichen Werte für Variable D8021 für die SPS bei uns im Shop:
  • H0301 = XC3-14
  • H0303 = XC3-24
  • H0304 = XC3-32
  • H0306 = XC3-60
Weiter unten findet ihr ein Beispielprogramm dazu als Download. Dort werden abhängig vom Modell die vorhanden Eingänge auf die internen Merker M0 bis Mn übertragen und der Wert D0 wird auf die Anzahl der Eingänge des Modells gesetzt. Damit kann man dann im Programm auch weiterarbeiten. Beim Erstellen von Modell-unabhängigen Programmen kann man am Anfang des Programms (also am Anfang des Zyklus) die Eingänge auf Merker übertragen. So kann man für jedes Modell eine andere Eingangskonfiguration wählen. Am Ende des Programms (Zyklus) werden dann die Ausgänge aus anderen Merkerbereichen beschrieben. So entkoppelt man die physiche Ein- und Ausgangsbelegung von der Programmlogik und spart sich viel Arbeit, wenn man später die Verdrahtung generell ändern möchte.

Informationen zu SPS-Programmen im Beispieltext nutzen

Über die Modell-abhängige Bedingung kann man zum Beispiel zum Start des Programms über den Merker für den initialen Impuls beim Programmstart M8002 bestimmte Anfangsvariablen Modell-abhängig setzen. Das macht vor allem Standardprojekte in der eingesetzten Hardware sehr flexibel.

Das SPS-Beispielprogramm für XCPpro findet ihr hier als Download.

Euer spstiger