TIA - I-Device, IO-Controller Kommunikation (2024)

  • Steuerungssysteme
  • SIEMENS - PLC
  • ErstellerWolfgang14
  • Erstellt am21 November 2018

W

Wolfgang14

Level-1
Beiträge
175
Reaktionspunkte
5
  • 21 November 2018
  • #1
Zuviel Werbung?
-> Hier kostenlos registrieren

Ich beschäftige mich derzeit mit der Kommunikation über Profinet speziell mit der Möglichkeit IO-Controller und I-Device.

Mittlerweile habe ich meine beiden Geräter CPU´s 1200er im Reiter Geräte und Netze miteinander verbunden.

Meinem I-Device habe ich die Transferbereiche I 1..10 10 Bytes und Q 1..10 10 Bytes verpasst.

Dies funktioniert soweit auch problemlos. Jetzt geht es darum die Bytes "Auszuwerten" auf zum Beispiel Bits. Mir ist bekannt das ich mit einem Byte 8 Bits übertragen kann.

Leider verzweifle ich gerade daran die Bytes aufzuschlüsseln. Mein Lösungsansatz wäre dies über einen Globalen DB zu machen jedoch weiß ich nicht was ich dort hineinschreiben muss. Um von meinen Bytes auf Bits schließen zu können.

Könnte mir dies nochmal einer verständlich erläutern ? Ich wäre für jede Hilfe Dankbar

Mit freundlichen Grüßen

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2022

FAQ-Team

Power-User

Beiträge
23.479
Reaktionspunkte
7.370
  • 21 November 2018
  • #2

Deine Eingänge kommen doch auf %EBx ... an und die Ausgänge liegen in %ABy ... - Du kannst ganz einfach die Bits in den EB und AB adressieren: %Ex.0, %Ex.1 ... und %Ay.0, Ay.1 ...

Vermutlich kannst Du auch 2 UDT (PLC-Datentypen) mit der genauen Struktur der E-Bits und A-Bits erstellen und mit den E- bzw. A-Adressen verknüpfen.

Harald

OP

W

Wolfgang14

Level-1
Beiträge
175
Reaktionspunkte
5
  • 21 November 2018
  • #3
Zuviel Werbung?
-> Hier kostenlos registrieren

Irgendwie will das ganze nicht funktionieren.
Ich habe mal ein paar Bilder meiner Einstellungen mit angehangen.

Im DB weiß ich nicht wie ich es deklarieren muss
.

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2022

FAQ-Team

Power-User

Beiträge
23.479
Reaktionspunkte
7.370
  • 22 November 2018
  • #4

Als Transferbereiche hast Du jeweils 10 Byte festgelegt, im DB jeweils 11 Byte - das passt schon mal nicht zusammen.

Den DB brauchst Du eigentlich gar nicht, Du kannst auch direkt auf die E/A zugreifen: %IB1, %IB2 ... %IB10, %I1.0, %I1.1 ... %I10.7, %QB1, %QB2 ... %QB10, %Q1.0, %Q1.1 ... %Q10.7

Wenn Du einen DB zwischen Dein Programm und die E/A zwischenschalten willst, dann muß Du die Werte aus den Eingangsbytes in den DB und vom DB in die Ausgangsbytes kopieren, z.B. mit MOVE.

Harald

OP

W

Wolfgang14

Level-1
Beiträge
175
Reaktionspunkte
5
  • 22 November 2018
  • #5

Ok....

Ich habe jetzt mal im I-Device meinen Eingang I0.0 "Schalter EIN" angelegt. Wie bekomme ich den denn einem Byte zugewiesen ?
%I0.0=%QB1 dort bekomme ich immer die Meldung "Der Datentyp Byte des Aktualparameters passt nicht zum Datentyp BOOL der Formelparameters". Das selbe Problem habe ich beim Auswerten im Controller dort wollte ich folgendes tun %IB1=%A0.0 das geht allerdings auch nicht.

Ist eine Bezeichnung am UND Baustein Richtig ?

Zuletzt bearbeitet:

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2022

FAQ-Team

Power-User

Beiträge
23.479
Reaktionspunkte
7.370
  • 22 November 2018
  • #6
Zuviel Werbung?
-> Hier kostenlos registrieren

Ich weiß jetzt gerade nicht, wie in TIA-FUP eine einzelne Bitzuweisung genau aussieht, doch Du könntest im IO-Controller ungefähr sowas machen:

Code:

 %Q1.1 +---+%I0.0--| = | +---+

Damit würdest Du den Zustand von I0.0 "Schalter EIN" an Q1.1 ausgeben (Bit kopieren), der im Transferbereich zum I-Device liegt. Der Controller sendet die Ausgangsbytes QB1 bis QB10 inklusive dem Bit Q1.1 an das I-Device. Im I-Device werden die als IB1 bis IB10 empfangen und Du kannst das Signal vom Schalter als %I1.1 weiter verknüpfen.

Code:

 Transferbereich Transferbreich IO Controller I-Device Q1.0 \ / I1.0I0.0 ---> Q1.1 | 10 Byte | I1.1 ---> Signal des Schalters I0.0 des IO Controllers Q1.2 | QB1...QB10 | I1.2 ... > -----------> < ... Q10.5 | | I10.5 Q10.6 | | I10.6 Q10.7 / \ I10.7

PS: man kann nicht nur Inputs an das I-Device senden (und umgekehrt). Wenn Du etwas anderes als I0.0 senden willst, dann ersetze das I0.0 einfach durch Dein Signal, z.B. %M34.5 oder "MeinDB".MeinBit oder den Ausgang einer Verknüpfung.

Harald

Zuletzt bearbeitet:

OP

W

Wolfgang14

Level-1
Beiträge
175
Reaktionspunkte
5
  • 22 November 2018
  • #7

Vielen Dank ! Jetzt klappt es. Ich hatte viel zu kompliziert gedacht gehabt.

Ich hätte eigentlich nur noch eine Frage wie kann ich es machen wenn ich Analog Werte übertragen will ?

volker

Supermoderator

Teammitglied

Beiträge
5.850
Reaktionspunkte
1.047
  • 22 November 2018
  • #8

genauso.
AW9 -> EW9 im i-device.

das sind in deinem transferbereich dann ab9/10 bzw eb9/10
es ist dabei völlig egal ob im transferbereich byte oder word angegeben sind.

F

Fabpicard

Level-2
Beiträge
754
Reaktionspunkte
106
  • 22 November 2018
  • #9
Zuviel Werbung?
-> Hier kostenlos registrieren

Du musst einfach einmal Umdenken.
IB besteht aus Input und Byte
IW besteht aus Input und Word
I besteht aus einem Einzelnen Input, also ein Bool TIA - I-Device, IO-Controller Kommunikation (11)

Solange du nicht mit IW10 auf die Bytes 10 und 11 zugreifst, wobei es eben das 11te Byte ja nicht gibt,
(man sollte, kann aber, auch nicht auf IW5 zugreifen, wird später ultra kompliziert das wieder zu verstehen)

MfG Fabsi

OP

W

Wolfgang14

Level-1
Beiträge
175
Reaktionspunkte
5
  • 22 November 2018
  • #10

Vielen Dank jetzt läuft alles super

TIA - I-Device, IO-Controller Kommunikation (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Kareem Mueller DO

Last Updated:

Views: 6074

Rating: 4.6 / 5 (46 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Kareem Mueller DO

Birthday: 1997-01-04

Address: Apt. 156 12935 Runolfsdottir Mission, Greenfort, MN 74384-6749

Phone: +16704982844747

Job: Corporate Administration Planner

Hobby: Mountain biking, Jewelry making, Stone skipping, Lacemaking, Knife making, Scrapbooking, Letterboxing

Introduction: My name is Kareem Mueller DO, I am a vivacious, super, thoughtful, excited, handsome, beautiful, combative person who loves writing and wants to share my knowledge and understanding with you.