S7 in Programmteile splitten

Servernexus

Level-1
Beiträge
260
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,
ein Kollege hat mir diese Frage gestellt und ich gebe sie an Euch Profis weiter.
Eine Anlage soll mit einer Steuerung laufen aber die Anlagenteile einzeln im Programm sauber und sicher von einander getrennt sein, do daß man die einzelnen Programme der Anlagenteile bei Bedarf oder Erweiterung auch einzeln später in Steuerungen übertragen kann. Also angefangen von Ein- und Ausgängen, Störungen Datenbausteinen usw.
Ich hoffe Ihr wisst was ich meine.
Hat jemand eine Idee dieses sachgemäß zu händeln
Ich und mein Kollege wären dankbar über jeden Vorschlag.
 
IM OB1:

CALL FC100

CALL FC200

Für den Bereich 1 nur noch hunderter Nummern FB/FC/DB verwenden
Alle Aufrufe in den FC100!

Für den Bereich 2 nur noch zweihunderter Nummern FB/FC/DB verwenden
Alle Aufrufe in den FC200!

Eure Basisbausteine, die in beiden CPU dann identisch wären
alle im Bereich von 1-99 anlegen.

Doof wird es bei Störmeldungen, die zu Panels gehen.
Da mußt man sich eine gesonderte Strategie überlegen.
Aber das für hier jetzt zu weit.

Bei EA-Karten dafür sorgen, das du pro Karte immer nur EAs von
genau einem Anlagenteil angeklemmt werden - also schön Lücken lassen.

usw..

..


Frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
IM OB1:

CALL FC100

CALL FC200

Für den Bereich 1 nur noch hunderter Nummern FB/FC/DB verwenden
Alle Aufrufe in den FC100!

Für den Bereich 2 nur noch zweihunderter Nummern FB/FC/DB verwenden
Alle Aufrufe in den FC200!

Eure Basisbausteine, die in beiden CPU dann identisch wären
alle im Bereich von 1-99 anlegen.

Doof wird es bei Störmeldungen, die zu Panels gehen.
Da mußt man sich eine gesonderte Strategie überlegen.
Aber das für hier jetzt zu weit.

Bei EA-Karten dafür sorgen, das du pro Karte immer nur EAs von
genau einem Anlagenteil angeklemmt werden - also schön Lücken lassen.

usw..

..


Frank

So ungefähr hab ichs mir auch gedacht, Danke
 
Bei EA-Karten dafür sorgen, das du pro Karte immer nur EAs von
genau einem Anlagenteil angeklemmt werden - also schön Lücken lassen.

Hier würde ich einen anderen Weg vorschlagen, den ich auch bei unseren Anlagen praktiziere:

Schiebe alle E/A's (von den digitalen Karten) bitweise (analoge Signale natürlich wortweise), so wie Du die für die einzelnen Anlagenteile benötigst in separate Merker- oder Datenbausteinbereiche und arbeite im Programm nur mit diesen Signalen. Auf diese Weise kannst Du ohne die Verschwendung von Geld, Platz und Karten mit der voller Ausnutzung der vorhandenen E/A-Karten arbeiten.

Z.B.:

Code:
CALL FC 1
CALL FC 2

FC 1 - Eingänge Anlage 1

U E 0.0
= DB101.DBX0.0

FC 2 - Ausgänge Anlage 1

U DB 102.DBX0.0
= A0.0

...
Vorteil, bei Trennung der Anlagenteile bist Du nicht auf bestimmte Karten und Adressen angewiesen, vielleicht wird die 2. Anlage ja auch mal mit dezentralen Baugruppen laufen.
 
Doof wird es bei Störmeldungen, die zu Panels gehen.
Da mußt man sich eine gesonderte Strategie überlegen.
Aber das für hier jetzt zu weit.

Wenn du WinCC-Flex als HMI verwendest fällt mir spontan ein pro Anlageteil Variablen für Bitmeldungen anzulegen - in der CPU dann jeweils einen DB. Und schon ist das auch getrennt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du WinCC-Flex als HMI verwendest fällt mir spontan ein pro Anlageteil Variablen für Bitmeldungen anzulegen - in der CPU dann jeweils einen DB. Und schon ist das auch getrennt.

Es ist immer die Frage, ob man das Projekt später in zwei separate Panels auftrennen will.
Idealerweise nimmt man von vornherein gleich zwei Panels - sofern das Geld reicht.

Frank
 
Zurück
Oben