TIA Reading data from STEP 7 - > TIA Portal

lukas13

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe so ein Problem, ich schicke Daten von einer alter CPU 300 (program STEP 7) auf CPU 1500 (TIA). Die kommunikation lauft uber den Profibus. An der kommunikation von dem Slave (300) kann ich garnichst andern weill es soll auch mit einer Alten Anlage funktionieren. Mein derzeitiges Problem ist das ich dem Wert von Druck (Word) sende von dem Slave. Aber der fangt in Step auf der "Addresse 1" Und ich kann dem byte nicht richtig auslessen auf der Seite von TIA. Habt ihr eine Idea wie ich es machen soll? Bei der komunikation sende ich insgesamnt 4.
1668427291671.png
1668427408957.png
 
Nochmal von vorne.

Der DB aus dem Step7 Programm ist 1:1 auf die Adressierung des DP Mapping ?
Also unteres Bild = Rechte Tabelle vom oberen Bild? oder linke Tabelle oberes Bild?

Was ist die linke Tabelle?
Kannst du die Tabelle mal ganz darstellen ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
linke obere tabelle
beachte das bei einem typwechsel der variablen in einem db immer mit der geraden adresse begonnen wird.
du hast da also ein leerbyte drin.

wäre das mit dem typwechsel nicht dann würde dein word an adresse 43 beginnen so aber bei 44
 
linke obere tabelle
beachte das bei einem typwechsel der variablen in einem db immer mit der geraden adresse begonnen wird.
du hast da also ein leerbyte drin.

wäre das mit dem typwechsel nicht dann würde dein word an adresse 43 beginnen so aber bei 44
Ja ich weiß das da ein leerbyte ist. Das ich auch mein Problem. Ich kann die Seite von der CPU 300 nicht andern. Aber ich brauche den wechsel wenn ich es richtig verstehe. Konnte es nicht gehen wenn ich es nicht wie bool auslese sonders wie 3 bytes und mi dennen weiter arbeite?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wie kopierst du denn die 4 byte?
ist der db oben rechts der emfangs-DB?
wie kopierst du die daten aus dem empfangs-db in den db oben links?
wenn der db links oben die statusbits mit eine geraden adresse beginnen hättest du kein problem.
werden 16bit(dbw0) oder nur 8 bit(dbb1) gesendet?
die bits beginnen bei dir mit dbx41.0. schlechte wahl

falls nur 8 bit
L rechter-DB.dbb1
t linker-db.dbb42
L rechter-DB.dbw2
t linker-db.dbw44

falls 16 bit
L rechter-DB.dbw0
t linker-db.dbw41
L rechter-DB.dbw2
t linker-db.dbw44
 
Zuletzt bearbeitet:
die bits beginnen bei dir mit dbx41.0. schlechte wahl
Ich glaube dass lukas13 hat in das S7-1500 Programmfür eine andere Funktion ein Struktur mit eine Menge von BOOLs gestartet, und dann einfach die benötigte Daten von die S7-300 nach die erste frei BOOL gestartet. Daher ist die ungewünschte Verschiebung von 1 Byte entstanden, und dadurch entsteht der 'Füll-Byte' zwischen die letzte BOOL und die erste WORD.

Die Lösung ist eine neu STRUCT starten nur für die S7-300 Daten.
Mit eine passende Name für diese STRUCT werden die Daten dadurch auch lesbarer.
 
Zurück
Oben