Salü zusammen. Suche eine Lösung für ein ganz Spezielles Problem.
Es handelt sich um eine Siemens S7-300 Failsafe SPS Digital Eingang Karte.
Diese speziellen Karten haben eine getacktete Speisung welche Nachher an den darunter liegenden Eingängen eingelesen werden können. So wird verhindert, dass Querschlüsse Eingänge setzen die nicht gesetzt werden dürfen. Um das im EB darzustellen habe ich eine Struktur angelegt welche die je 4 getackteten Speisungen als Untergerät enthält. In diesen untergeräten sind die Speiseklemme der Karte sowie die je 6 dazugehörigen Eingänge angelegt.
Die Karte besteht also aus einem Hauptgerät mit 4 Klemmen für die 24V Stromversorgung und darunter 4 Untergeräte mit der Bezeichunung +1Vs bis +4Vs welche wiederum eine Klemme für die Speisung und 6 Eingänge besitzen.
Jetzt gebe ich der SPS Karte selbe eine Adresse ins Attribut "Adressbereich Eingänge" Beispielsweise 152 wie im Bild.
die Eingänge selber besitzen nun einen Eingang mit der Nummer 152., 153. oder 154. Und je die Endziffer 0 bis 7
Also
152.0
152.1
152.2
152.3
:
:
:
usw.
:
:
bis
154.8
Der Name der EIngänge orientiert sich an der Klemmennummer und geht von 5 bis 10 für +1Vs von 12 bis 17 für +2Vs usw. DAs ist auch immer gleich.
Man kann slo zuordnen:
Name 5 = Adresse xxx.0
Name 6 = Adresse xxx.1
dieses Adresse wird unter dem Eingang beim Attribut "Hardware Adresse" eingegeben.
Eingegeben wird das ganze manuell über ein Worksheet.
Jetzt ist das halt immer so Fehleranfällig. Ich möchte das automatisieren.
Entweder über ein Formelattribut oder über ein Makro oder Add-In.
Das schönste währe natürlich ein Formelattribut für SPS Failsafe Adresse welches sich aus dem Attribut Adressbereich und dem Namen selber zusammenbaut.
Müsste dann folgendernmassen aussehen:
Schaue nach oben was ist beim Attribut "Adressbereich Eingänge" angegeben. Schaue auf den Namen. Falls Name >4 und <11 übernehme Nummer. Falls nicht überprüfe >11 und <18 setze Adressbereich +1
Falls nicht >24 und <31 setze Adressbereich +1 sonst +2
+ Name 5=0, 6=1, 7=2, 8=3 usw.
Hat jemand eine Idee für mein Problem?
[Diese Nachricht wurde von Badger am 08. Mai. 2012 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP