TIA V13: Ist das HW-I/O-Mapping nur via Variablentabelle möglich?

Automatinator

Level-1
Beiträge
115
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ist das HW-I/O-Mapping nur via Variablentabelle möglich? oder kann man auch Variablen, welche im einem FB deklariert sind direkt mit der HW-Adresse verknüpfen?

Ich frage mich Ernsthaft wieso sie das Prinzip mit der Variablentabelle für die I/O-Adresszuweisung beibehalten haben...


Danke im Vorraus und Gruss
 
Du meinst womöglich Symboltabelle anstatt Variablentabelle.

Symbolische Adressierung geht bei Siemens über die Tabelle.

A0.0 = "MeinAusgangsSymbol"

Am Ausgang eines FB darfst doch direkt A0.0 ranschreiben (Absolut)

Oder meinst du sowas wie = A [AR1, P#0.0] , das zur Laufzeit änderbar ist?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@verpolt
Bei TIA heißt das jetzt in der Tat Variablentabelle ...
Symboltabelle ist Oldschool :ROFLMAO:

Nun ja, ich kann daran jetzt zwar nichts verwerfliches finden, aber das ist wie ich finde:
a) für die meisten kein wirkliches Problem
b) wenn dann maximal ein hübsches Zusatzfeature gegenüber einem ganzen Haufen echter Probleme

Mfg
Manuel
 
@verpolt
Bei TIA heißt das jetzt in der Tat Variablentabelle ...
Symboltabelle ist Oldschool :ROFLMAO:

Nun ja, ich kann daran jetzt zwar nichts verwerfliches finden, aber das ist wie ich finde:
a) für die meisten kein wirkliches Problem
b) wenn dann maximal ein hübsches Zusatzfeature gegenüber einem ganzen Haufen echter Probleme

Mfg
Manuel

Naja der Grundgedanke war, wieso muss ein eine neue Variable erstellen, wenn es schon eine gibt, welche auch noch strukturiert aufzeigt, woher sie ist.

Bsp.: Ich habe die FB Inputvariable uLine2.uZufuehrung.uFoerderband.fbMotor1.I_bSensor3
und diese möchte ich direkt mit einer Adresse (Baugruppe) logisch Verbinden und nicht mittels := E0.0 zuweisen. Und auch nicht mit einer zusätzlichen Variablen mit Namen "I_Line2ZufFoerdbMot1Sensor3"...
 
Hallo

zur Zeit kann man globale Variablen/Symbole definieren und diesen Adressen zuordnen. Für E und A muss man sogar. Bei FB und FC definiert lokale Variablen und das System kümmert sich selbst um die Adressen. DB sind Siemens Missgeburten. Einerseits stellen sie den Speicher für die lokale Variablen der FB, andererseits sind sie auch als Speicher für globale Variable zu verwenden.

Was fehlt ist ein Mapping von strukturierter Peripherie auf Variablen. In der Hardwarekonfiguration werden nur Adressen vergeben. Hier sollte Siemens mal besser integrieren. Ich will einen UDT deklarieren und den für ein Modul verweden können.

Kann man aber nicht :-(

'n schön' Tach auch
HB
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja der Grundgedanke war, wieso muss ein eine neue Variable erstellen, wenn es schon eine gibt, welche auch noch strukturiert aufzeigt, woher sie ist.

Bsp.: Ich habe die FB Inputvariable uLine2.uZufuehrung.uFoerderband.fbMotor1.I_bSensor3
und diese möchte ich direkt mit einer Adresse (Baugruppe) logisch Verbinden und nicht mittels := E0.0 zuweisen. Und auch nicht mit einer zusätzlichen Variablen mit Namen "I_Line2ZufFoerdbMot1Sensor3"...

Dann frage ich mich was soll der FB hier? Einen FB benutze ich wenn ich ihn mehrmals mit neuen Instanzen aufrufe und mit E-/A-Variablen versorge.
Wenn ich aber einer Eingangsvariablen eines FB's eine feste Hardwareadresse zuordne, macht der FB keinen Sinn mehr.

:confused::confused::confused:
 
Dann frage ich mich was soll der FB hier? Einen FB benutze ich wenn ich ihn mehrmals mit neuen Instanzen aufrufe und mit E-/A-Variablen versorge.
Wenn ich aber einer Eingangsvariablen eines FB's eine feste Hardwareadresse zuordne, macht der FB keinen Sinn mehr.

:confused::confused::confused:

fbMotor1 = Instanz von fb_Motor

Ich schreibe das fb vorne hin damit klar ist, dass es sich um eine FB-Instanz handelt.
 
Hallo

zur Zeit kann man globale Variablen/Symbole definieren und diesen Adressen zuordnen. Für E und A muss man sogar. Bei FB und FC definiert lokale Variablen und das System kümmert sich selbst um die Adressen. DB sind Siemens Missgeburten. Einerseits stellen sie den Speicher für die lokale Variablen der FB, andererseits sind sie auch als Speicher für globale Variable zu verwenden.

Was fehlt ist ein Mapping von strukturierter Peripherie auf Variablen. In der Hardwarekonfiguration werden nur Adressen vergeben. Hier sollte Siemens mal besser integrieren. Ich will einen UDT deklarieren und den für ein Modul verweden können.

Kann man aber nicht :-(

'n schön' Tach auch
HB

Meine Rede...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
fbMotor1 = Instanz von fb_Motor

Ich schreibe das fb vorne hin damit klar ist, dass es sich um eine FB-Instanz handelt.

Jetzt versteh ich Dein Problem nicht mehr.
Instanzen kann man nun mal keine Adressen zuordnen, also versorge ich den Eingang meines FB's mit einer Variablen
 
Im Sinne deines Beitrags 4 geht das ganz klar nicht.

Das zielt im Prinzip doch auf Beckhoff mit AT *I (weiß gerade nicht die genaue Schreibweise).
Und nein, sowas gibt es nicht bei Siemens und ich halte es für äußerst fraglich, das ss sowas mittelfristig geben wird.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mal ein Projekt mit B&R gemacht (Ist aber lange her) und bin mir sicher da war genau das was du suchst möglich.
Man konnte jeder beliebigen Variablen eine HW-Adresse zuordnen und musste nicht extra im Aufruf die Variable nochmal extra beschreiben.
Ist jetzt aber auch nicht so wichtig das ich das bei Siemens total vermissen würde.
 
Was fehlt ist ein Mapping von strukturierter Peripherie auf Variablen. In der Hardwarekonfiguration werden nur Adressen vergeben. Hier sollte Siemens mal besser integrieren. Ich will einen UDT deklarieren und den für ein Modul verweden können.

Das wär ja so richtig geil.
Man hätte z.B. eine Auma Klappe und einen UDT dafür definiert. Die Klappe hat in der Hardware den Namen AbsperrKlappe und in der HW hat man ihr den UDT Auma zugewisen.

Zugreifen geht dann direkt mit
Absperrklappe.Sollwert := 1000;

mfG René
 
Hallo,
ich verstehe hier die Problematik gerade nicht.
Zu irgendeinem Zeitpunkt muss man (unabhängig von der Steuerung) immer von einem globalen Symbol (egal erstmal woher es kommt) zu einer echten Speicheradresse kommen - das ist nun mal so ...
Ich kann mir natürlich einen DB oder Merkerbereich erstellen, der eine feste Symbolik in allen meinen Programmen hat - zu irgendeinem Zeitpunkt muss ich aber auch hierfür die Zuordnung zur echten Hardware schaffen - warum dann nicht an der Schnittstelle eines FB's (wo das nach meiner Meinung sowieso hingehört) ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das wär ja so richtig geil.
Man hätte z.B. eine Auma Klappe und einen UDT dafür definiert. Die Klappe hat in der Hardware den Namen AbsperrKlappe und in der HW hat man ihr den UDT Auma zugewisen.

Zugreifen geht dann direkt mit
Absperrklappe.Sollwert := 1000;

ganz genau, das wäre das einzig Richtige...
 
Ich habe mal ein Projekt mit B&R gemacht (Ist aber lange her) und bin mir sicher da war genau das was du suchst möglich.
Man konnte jeder beliebigen Variablen eine HW-Adresse zuordnen und musste nicht extra im Aufruf die Variable nochmal extra beschreiben.
Ist jetzt aber auch nicht so wichtig das ich das bei Siemens total vermissen würde.

Ja genau so wie in B&R. Dort kann man das z.B. machen.
 
Hallo,
ich verstehe hier die Problematik gerade nicht.
Zu irgendeinem Zeitpunkt muss man (unabhängig von der Steuerung) immer von einem globalen Symbol (egal erstmal woher es kommt) zu einer echten Speicheradresse kommen - das ist nun mal so ...
Ich kann mir natürlich einen DB oder Merkerbereich erstellen, der eine feste Symbolik in allen meinen Programmen hat - zu irgendeinem Zeitpunkt muss ich aber auch hierfür die Zuordnung zur echten Hardware schaffen - warum dann nicht an der Schnittstelle eines FB's (wo das nach meiner Meinung sowieso hingehört) ?

Gruß
Larry

wieso muss die speicheradresse einem "globalen symbol" zugeordnet werden? Die Verknüpfung wischen HW-IO-Adresse und variable kann die Projektierung für mich übernehmen. Ich möchte nur sagen fbBlabla5.I_rSensorB := PIW30 oder was auch immer.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Normalerweise macht man die HW ja so.
screenshot.34.jpg


Grad bei so grösseren Strukturen ist es doch immer doof dass man jede einzelne HW Adresse angeben muss. Ich mein wen interessiert die Absolutadressbereich von Steckplatz 10? Im UDT1 dazu würde da einfach z.B. istwert Messkopf2 stehen.

Ich würde das gerne so machen
screenshot.35.jpg


Die Hardwareadressen interessieren mich nicht. Da soll das system selber schauen das Steckplatz 2 im UDT auch am zweiten Byte also Byte 1 zu liegen kommt.

Ich will keine HW adressen vergeben. Ich geb dem Kopf n Namen und sag ihm von was für einer Struktur er ist.

Zugriff ist dann ST02.Heizwert := 50;
wenn man auf das Modul in steckplatz 13 den Wert 50 schreiben will. Heizwert wird durch das UDT definiert und auch der Offset zum Steckplatz 1.

mfG René
 
Hallo,
ich verstehe hier die Problematik gerade nicht.
Zu irgendeinem Zeitpunkt muss man (unabhängig von der Steuerung) immer von einem globalen Symbol (egal erstmal woher es kommt) zu einer echten Speicheradresse kommen - das ist nun mal so ...
Ich kann mir natürlich einen DB oder Merkerbereich erstellen, der eine feste Symbolik in allen meinen Programmen hat - zu irgendeinem Zeitpunkt muss ich aber auch hierfür die Zuordnung zur echten Hardware schaffen - warum dann nicht an der Schnittstelle eines FB's (wo das nach meiner Meinung sowieso hingehört) ?

Gruß
Larry

Das sehe ich genauso :D:D:D

Im allgemeinen gehören für mich alle Hardware-Adressen in die Symbolik/Variablentabelle.
Wenn sich der Bezug auf meine Hardware-Adressen irgendwo in einer Instanz befinden, möchte ich dieses Programm nicht pflegen/ändern müssen :confused::confused:
 
wieso muss die speicheradresse einem "globalen symbol" zugeordnet werden? Die Verknüpfung wischen HW-IO-Adresse und variable kann die Projektierung für mich übernehmen. Ich möchte nur sagen fbBlabla5.I_rSensorB := PIW30 oder was auch immer.
Wo ist da der Unterschied zu dem, was ich geschrieben habe ?
Auch hier wird eine Zuordnung definiert ...

Gruß
Larry
 
Zurück
Oben