Hallo Männer von Flake,
ich kann euch etwas neues von meinen Erlebnissen mit dem Interbus bereichten. Ich bin mir zwar nicht ganz sicher ob ich alles richtig erkannt habe, aber ich hoffe mal, dass der eine oder andere geneigte Leser mir etwas auf die Sprünge hilft. Es ist schließlich noch kein Meister vom Himmel gefallen.
Zunächst einmal habe ich herausgefunden, dass der Interbus an die S7 Welt nur „drangefukelt“ ist. Das muss näher erläutert werden.
Nehmen wir mal an ich habe einen Sensor und schließe den am Interbus an. Der Sensor hat dann eine Adresse, genau wie bei S7, z.B. E10.1
Diese Adresse hat aber nichts mit den S7 Adressen zu tun. Die Interbusadressen sind erst einmal völlig Unabhängig von der S7 Welt. Die Interbusadressen werden mittels einer Funktion umgeladen und stehen erst danach als S7 Eingang zur Verfügung.
Bei den Ausgängen ist es genau das Gleiche, aber Umgekehrt.
Dieses Funktionsprinzip hat zur Folge das Signale von Interbusanschaltungen immer asynchron sind. Es sind immer nur Blöcke von 16 Bit (1 Wort) synchron. Es kann also nicht mit Sicherheit gesagt werden ob der Zustand des Eingangs 16.7 aus demselben Zyklus stammt wie der Zustand des Eingangs 17.0 Das ist sehr dumm wenn man Signal von mehr als 16Bit verarbeiten möchte oder bis zu 16Bit lange Signal ungünstig Adressiert hat. Normalerweise sollte das aber keine Probleme bereiten.
Es gibt aber die Möglichkeit dieses Problem zu umgehen, es gibt eine Betriebsart die sich asynchron mit Synchronisationsbit nennt. Da gibt es eine zusätzliche Funktion die dann das oben genante Problem behebt. Wie das genau Funktioniert habe ich aber noch nicht herausgefunden. Wer da auf wen wartet ist mir nicht ganz klar geworden. Wird da jetzt der Interbuszyklus an den S7 Zyklus angepasst oder wird der S7 Zyklus solange Unterbrochen bis der Interbus fertig ist? Vielleicht kann mir da mal jemand helfen?
Ansonsten ist es keine große Sache den Interbus, zumindest asynchron ohne Synchronisationsbit, zum laufen zu bringen. Die Sache mit der CMD Software ist recht komfortabel. Sie ähnelt am ehesten dem Hardwaremanager. Es muss die passende Anschaltbaugruppe ausgewählt werden. Danach kann man entweder die Buskonfiguration rückwärts einlesen (habe ich nicht gemacht), oder man projektiert die Konfiguration wie gewohnt. Dabei muss man den Typ der Module angeben und die Startadresse. Die Projektierung erfolgt in der Reihenfolge der Busleitung.
Sehr gut gemacht ist dabei die Sache mit der Zuordnungsliste. In der CMD Oberfläche gibt es eine eigene Zuordnungsliste. Hat man erstmal den Modultyp ausgewählt, steht die Adresslänge fest. Wenn man dann die Staradresse eingibt steht der Adressbereich komplett fest. Eigentlich genau wie in der S7 auch, aber hier bracht man dann nur noch die Kommentare eingeben und fertig.
Ein dickes Lob an Phönix, diese Lösung ist wirklich vorbildlich. Kann mir eigentlich jemand erklären warum ich bei Siemens genau das Gleiche veranstalten muss, dann aber trotzdem mir noch die Finger in der Symboltabelle Wundtippen muss? (Wenn ich mal keine ZL von der CAD habe.)
Dumm an Sache ist nur, dass ich die ZL von CMD nicht nutze, ist aber trotzdem eine sehr gute Idee.
Da ich mit dem Projekt nochlange nicht fertig bin, erlaube ich mir hier nur ein Zwischenurteil. Die Vorteile des Interbusses liegen offensichtlich überwiegend auf der Monteursseite, für den Programmierer hat die Sache eigentlich kaum Vorteile, die Nachteile überwiegen meiner Meinung nach.