-> Hier kostenlos registrieren
Hallo,
erstmal zusammenfassend stehe ich vor dem Problem, dass ich ganz gerne einen ganzen Datenbaustein von einer CPU auf eine andere projektieren bzw. verschicken möchte. Hierbei meine ich nicht Einzelaufrufe einzelner Variablen innerhalb eines DB's, sondern es soll ein identisches DB, mit allen beinhaltenden Variablen auf einer anderen CPU dauerhaft projektiert werden oder zyklisch oder mit einem bestimmten eingangssignal einmalig geschrieben werden.
Zur genaueren Erklärung:
Im Rahmen einer Bachelorarbeit an der Hochschule muss ich ein bestehendes modulares Produktionssystem von Siemens Step7 in TIA-Portal übertragen. Nach anfänglichen Schwierigkeiten durch veraltete Hardware etc. habe ich mittlerweile das komplette Projekt in TIA-Portal migrieren können. Jetzt geht es an die Optimierung.
Die Anlage besteht aus 4x CPU 315F-2 DP/PN, jeweiligen Baugruppen und einen Leitrechner. die Kommunikation der CPU's ist über ein Master/Slave geregelt, wobei die erste Station der Master ist, und die anderen drei die Slaves. Eine Ethernetverbindung besteht noch zwischen allen Baugruppen und dem Leitrechner
In der Dritten Station gibt es einen Rundschalttisch mit 5 Positionen und je nach Werkstückeigenschaften der auf der jeweiligen Postition befindlichen Werkstüvke wird ein bestimmter Bearbeitungsschritt durchgeführt oder nicht. Die Informationen werden allerdings in der zweiten Station geprüft.
In der Aktuellen Version ist die Kommunikation wie folgt umgesetzt. Die Informationen werden in der zweiten Station in zwei Schritten erfasst. Zuerst die Farbe/Material und im Anschluss die Höhe des Bauteils. Diese Informationen werden jeweils in das selbe Wort codiert wobei die letzten beiden BITS für die Farbe stehen und die vorletzten beiden Bits für die Höhe stehen. Dieses Wort wird nun an den Master geschickt und an die erste Position eines Arrays geschrieben. Wenn der Rundschalttisch sich dreht wird dann der Inhalt des Arrays jeweils um eine Position verschoben. Somit beschreibt jede der 5 Positionen des Arrays direkt eine Position des Rundschalttischs. Wenn also der Tisch sich dreht und das Werkstück von Position 1 zu 2 transportiert wird werden auch die Daten der ersten Position des Arrays an Position 2 des Arrays geschrieben. Die Werte werden dann direkt im Master ausgewertet und es werden wiederum die Information ob an einer Position ein Bearbeitungsschritt durchgeführt wird oder nicht als Bool an den Slave geschickt.
Wahrscheinlich ist es schwer mit der Beschreibung die Funktionsweise nachzuvollziehen, aber das ist auch das Problem, ich möchte diese Schritte vereinfachen und ganz gerne die Codierung in ein Wort und der Anschließenden Rotation der Array-Positionen weglassen und dafür nicht nur jeweils ein einzelnes Wort vom Slave zum Master schicken sondern einen ganzen Datenbaustein, um die jeweiligen Werkstückeigenschaften uncodiert verschicken zu können.
Gibt es so eine Möglichkeit?
Danke schonmal fürs bis hierhin lesen
LG
Mcmastur
erstmal zusammenfassend stehe ich vor dem Problem, dass ich ganz gerne einen ganzen Datenbaustein von einer CPU auf eine andere projektieren bzw. verschicken möchte. Hierbei meine ich nicht Einzelaufrufe einzelner Variablen innerhalb eines DB's, sondern es soll ein identisches DB, mit allen beinhaltenden Variablen auf einer anderen CPU dauerhaft projektiert werden oder zyklisch oder mit einem bestimmten eingangssignal einmalig geschrieben werden.
Zur genaueren Erklärung:
Im Rahmen einer Bachelorarbeit an der Hochschule muss ich ein bestehendes modulares Produktionssystem von Siemens Step7 in TIA-Portal übertragen. Nach anfänglichen Schwierigkeiten durch veraltete Hardware etc. habe ich mittlerweile das komplette Projekt in TIA-Portal migrieren können. Jetzt geht es an die Optimierung.
Die Anlage besteht aus 4x CPU 315F-2 DP/PN, jeweiligen Baugruppen und einen Leitrechner. die Kommunikation der CPU's ist über ein Master/Slave geregelt, wobei die erste Station der Master ist, und die anderen drei die Slaves. Eine Ethernetverbindung besteht noch zwischen allen Baugruppen und dem Leitrechner
In der Dritten Station gibt es einen Rundschalttisch mit 5 Positionen und je nach Werkstückeigenschaften der auf der jeweiligen Postition befindlichen Werkstüvke wird ein bestimmter Bearbeitungsschritt durchgeführt oder nicht. Die Informationen werden allerdings in der zweiten Station geprüft.
In der Aktuellen Version ist die Kommunikation wie folgt umgesetzt. Die Informationen werden in der zweiten Station in zwei Schritten erfasst. Zuerst die Farbe/Material und im Anschluss die Höhe des Bauteils. Diese Informationen werden jeweils in das selbe Wort codiert wobei die letzten beiden BITS für die Farbe stehen und die vorletzten beiden Bits für die Höhe stehen. Dieses Wort wird nun an den Master geschickt und an die erste Position eines Arrays geschrieben. Wenn der Rundschalttisch sich dreht wird dann der Inhalt des Arrays jeweils um eine Position verschoben. Somit beschreibt jede der 5 Positionen des Arrays direkt eine Position des Rundschalttischs. Wenn also der Tisch sich dreht und das Werkstück von Position 1 zu 2 transportiert wird werden auch die Daten der ersten Position des Arrays an Position 2 des Arrays geschrieben. Die Werte werden dann direkt im Master ausgewertet und es werden wiederum die Information ob an einer Position ein Bearbeitungsschritt durchgeführt wird oder nicht als Bool an den Slave geschickt.
Wahrscheinlich ist es schwer mit der Beschreibung die Funktionsweise nachzuvollziehen, aber das ist auch das Problem, ich möchte diese Schritte vereinfachen und ganz gerne die Codierung in ein Wort und der Anschließenden Rotation der Array-Positionen weglassen und dafür nicht nur jeweils ein einzelnes Wort vom Slave zum Master schicken sondern einen ganzen Datenbaustein, um die jeweiligen Werkstückeigenschaften uncodiert verschicken zu können.
Gibt es so eine Möglichkeit?
Danke schonmal fürs bis hierhin lesen
LG
Mcmastur