TIA Profinet Abfrage "Teilnehmer erreichbar?" im SPS Programm.

L4s3r73k

Level-1
Beiträge
99
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

es ist wieder soweit: "Neue" Funktionalitäten von der einer Rockwell Anlage sollen irgendwie und möglichst gleich strukturiert den Weg in die Siemens Variante finden.
Die Allen Bradley SPS hat einen "DiagnosticTask" bekommen, indem die EthernetIP Teilnehmer regelmäßig auf Verbindung geprüft werden.

Das gleiche soll in Siemens nun auch passieren. Wir haben jedoch auf beiden Seiten alle denkbare Hardware projektiert, die über das SPS Programm deaktiviert wird.
Auf der Siemens Seite passiert dies über den Baustein "D_ACT_DP".
Eine Erreichbarkeitsprüfung der Teilnehmer sollte logischerweise nur dann erfolgen, wenn die Hardware nicht vorher abgestellt wurde.
Auftrag vom Chef war wörtlich "Alles, was eine Netzwerkverbindung hat und Profinet spricht, soll von der SPS auf Anwesenheit geprüft werden".

Sofern es solch einen Baustein gibt, wäre ich über einen Tipp dankbar.

Gruß und vielen Dank wünscht,

Dennis
 
Mit D_ACT_DP aktiviert oder deaktivierst du DP oder PNIO Devices, und checkt den Zustand aktiviert/deaktiviert.
Das ist nicht dasselbe als checken von den aktuellen Erreichbarkeit.

Die Allen Bradley SPS hat einen "DiagnosticTask" bekommen, indem die EthernetIP Teilnehmer regelmäßig auf Verbindung geprüft werden.
Es gibt meines Wissens kein DiagnosticTask in ControlLogix. Kannst du untersuchen was genau damit gemeint ist.

Und genau was mit "Ethernet/IP Teilnehmer" gemeint ist ?
Wenn "Ethernet/IP teilnehmer" entspricht "Profinet IO Devices die von CPU gesteuert werden".: Dann PNIODiag (FB126), oder DeviceStates oder ModuleStates

"Alles, was eine Netzwerkverbindung hat und Profinet spricht, soll von der SPS auf Anwesenheit geprüft werden"
Und was meint er dann mit "Profinet spricht" ?
Zwischen ein Profinet IO Controller und ein Profinet IO Device gibt es ein Profinet Verbindung.
Zwischen ein Siemens CPU und ein Siemens Panel gibt es ein HMI Verbindung.
Zwischen zwei Siemens CPUs gibt es z.B. ein S7-Verbindung, ein TCP-Verbindung oder vielleicht ein Profinet Verbindung (i-device).
Streng genommen meint man mit "Profinet spricht" nur die Verbindungen zwischen PN IO Controller und PN IO Devices.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also es gibt die Funktion „DeviseStates“ bei den erweiterten Anweisungen/Diagnose. Dort kannst du den Modus einstellen, was du Abfragen möchtest. Für „Vorhanden“ wäre Modus 4 einzustellen. Dann legst du ein Array[1..1024] of Bool an den Baustein an. Das Bit n entspricht dann bei Profinet IO jeweils der Gerätenummer des IO-device. Ist das IO-Device vorhanden, ist das Bit TRUE. Das gleiche geht auch bei Profibus, da halt nur bis 128.

Hoffe das hilft dir weiter.

-chris
 
Also es gibt die Funktion „DeviseStates“ bei den erweiterten Anweisungen/Diagnose. Dort kannst du den Modus einstellen, was du Abfragen möchtest. Für „Vorhanden“ wäre Modus 4 einzustellen. Dann legst du ein Array[1..1024] of Bool an den Baustein an. Das Bit n entspricht dann bei Profinet IO jeweils der Gerätenummer des IO-device. Ist das IO-Device vorhanden, ist das Bit TRUE. Das gleiche geht auch bei Profibus, da halt nur bis 128.

Hoffe das hilft dir weiter.

-chris

Vielen Dank. Ich sehe mir das gleich mal an. Wichtig bei uns ist immer die Programme so gleich zu halten, wie es geht.
Auch wenn das Systembedingt nicht immer möglich ist.


Mit D_ACT_DP aktiviert oder deaktivierst du DP oder PNIO Devices, und checkt den Zustand aktiviert/deaktiviert.
Das ist nicht dasselbe als checken von den aktuellen Erreichbarkeit.


Es gibt meines Wissens kein DiagnosticTask in ControlLogix. Kannst du untersuchen was genau damit gemeint ist.

Und genau was mit "Ethernet/IP Teilnehmer" gemeint ist ?
Wenn "Ethernet/IP teilnehmer" entspricht "Profinet IO Devices die von CPU gesteuert werden".: Dann PNIODiag (FB126), oder DeviceStates oder ModuleStates

Und was meint er dann mit "Profinet spricht" ?
Zwischen ein Profinet IO Controller und ein Profinet IO Device gibt es ein Profinet Verbindung.
Zwischen ein Siemens CPU und ein Siemens Panel gibt es ein HMI Verbindung.
Zwischen zwei Siemens CPUs gibt es z.B. ein S7-Verbindung, ein TCP-Verbindung oder vielleicht ein Profinet Verbindung (i-device).
Streng genommen meint man mit "Profinet spricht" nur die Verbindungen zwischen PN IO Controller und PN IO Devices.

Vielleicht oder Wahrscheinlich, habe ich mich etwas schludrig ausgedrückt.
Wir haben nur eine SPS in unserer Anlage, die der PN Master ist (PN IO Controller).
Alle anderen Teilnehmer, wie Field IOs, ET200 und die Antriebe CU320/S120 sind folglich die Slaves (PN IO Devices).
Die Slaves sollen vom Master regelmäßig auf Anwesenheit geprüft werden.
 
Wir haben nur eine SPS in unserer Anlage, die der PN Master ist (PN IO Controller).
Alle anderen Teilnehmer, wie Field IOs, ET200 und die Antriebe CU320/S120 sind folglich die Slaves (PN IO Devices).
Die Slaves sollen vom Master regelmäßig auf Anwesenheit geprüft werden.
In den Fall ist PNIODiag (für S7-300/STEP7 Classic, es gibt ein aufwendiges Beispielprojekt von Siemens) oder DeviceStates (für S7-1500/TIA, einfacher als PNIODiag) die Lösung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber wenn die Verbindung zu FieldIO oder FU abreist, kommt dann nicht eh eine "Anwesenheitsmeldung" in der Systemsteuerung weil der IO plötzlich fehlt? kann man sowas nicht auswerten?
 
Wir haben uns eben beraten und beschlossen mit "ModuleStates" zu arbeiten.
Und sind die HWIDs der rund 10 Teilnehmer ja bekannt.
Das Bit 0 oder 1 sollte bei Angabe eines Arrays dann die entsprechend gewünschte Info liefern, oder sofern man nur einen Bool angibt, der Sammelfehler ausgelesen werden.
 
Aber wenn die Verbindung zu FieldIO oder FU abreist, kommt dann nicht eh eine "Anwesenheitsmeldung" in der Systemsteuerung weil der IO plötzlich fehlt? kann man sowas nicht auswerten?

Ich bin noch auf der Suche wie ich die der CU320 untergeordneten Antriebe frage, ob sie da sind. Sowas ähnliches muss es da doch auch geben.

Es geht sich eher darum, Kunden und Service Personal auf unserer Nicht-Siemens HMI einen Fehler anzeigen zu können, ohne dass ein Blick in TIA oder den Schaltschrank notwendig ist.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt meines Wissens kein DiagnosticTask in ControlLogix. Kannst du untersuchen was genau damit gemeint ist.

Ich vergaß ganz, diese Frage zu beantworten:
Der Task heißt nur so. Es ist quasi ein Task, der nicht jeden Zyklus durchlaufen wird, sondern immer nach X Zeit. Bei Siemens heißt das mMn "Cyclic Interrupt".

Ich bin noch auf der Suche nach einer Funktion, die die einzelnen Achsen auf Anwesenheit prüft. Oder ist das vielleicht sogar auch mit dem "ModuleState" Baustein möglich?
 
Zurück
Oben