daten aus einem DB in FB einlesen

MAVI

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

Habe folgendes problem ich habe mehere DB mit Daten (Char) diese daten möchte ich im FB bearbeiten

jetzt meine frage wie kann ich daten z.B DB10 im FB1 einlesen und verarbeiten.

(Habe ca. 20 DB´s und habe ein FB und pro durchgang ist ein andderer DB dran zur weiterverarbeitung brauche hilfe für die konfig: für den FB z.B: DB_NO , DBB, LEN (int))

mfg
MV
 
Zuletzt bearbeitet:
Hallo

Habe folgendes problem ich habe mehere DB mit Daten (Char) diese daten möchte ich im FB bearbeiten

jetzt meine frage wie kann ich daten z.B DB10 im FB1 einlesen und verarbeiten.

mfg
MV


"Char" enstpricht einem Byte

L DB10.DBBx mit (x=0,..,DB_Länge-1)

johnij
 
Zuviel Werbung?
-> Hier kostenlos registrieren
CHAR hat eine länge von 8 bit, entspricht also einem BYTE kann also mit z.b. DB10.DBB0 adressiert werden ... aber das wird wahrscheinlich nicht das sein, was du suchst, da du sicher einen FB für verschiedene DBs machen willst also ein AUF DBxx brauchst, aber das kannst du dann ja indirekt adressieren, bist ja sicher schon am forum durchsuchen und hast hier erstmal nur nen schnellschuß abgegeben
 
Habe ca. 20 DB´s und habe ein FB und pro durchgang ist ein andderer DB dran zur weiterverarbeitung brauche hilfe für die konfig: für den FB z.B: DB_NO , DBB, LEN (int)
 
Habe ca. 20 DB´s und habe ein FB und pro durchgang ist ein andderer DB dran zur weiterverarbeitung brauche hilfe für die konfig: für den FB z.B: DB_NO , DBB, LEN (int)

aha, so bißchen indirekte adressierung also ... vielleicht noch ne schleife? willst du aus den chars am ende einen string basteln?

was sagt denn die forensuche zu dem thema?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
habe noch CP-340 schnittstelle und werde die Char/Byte über die RS232C ASCII-Verschlüsselt an eine drucker senden .

Möchte nur wissen die Konfig. des FB sein muss

b.z.w.

IN DB_NO //Datenbaustein Nr.
IN DBB //Von 0
IN LEN //Bis 20
 
Möchte nur wissen die Konfig. des FB sein muss

langsam kommen wir einer richtigen fragestellung näher...

IN DB_NO //Datenbaustein Nr.
IN DBB //Von 0
IN LEN //Bis 20

die DB_NO kannst du als INT oder BYTE oder WORD oder DINT übergeben, mußt dann allerdings in ein TEMP DINT umkopieren, also ist hier vielleicht der datentyp Block_DB von interesse

DBB soll sicher die startadresse sein, die kann ebenso wie oben die DB_NO als INT oder BYTE oder WORD oder DINT übergeben werden
 
ja das geht aber nur mit einem ich habe aber in jeden DB ca. 20 Char/Byte stehen es muss doch sowas wie bein FC3 P_Send baustein geben wo ich links diese drei sachen habe

DB_Nr ------int // DB nummer x

DBB --------int // Datenbereich X

LEN --------int // Datenbereich Y
 
fertig gibts das nicht, da solltest du dir mal schleifenkonstruktionen anschauen und ausführlicher mit indirekter adressierung beschäftigen, benutze zum beispiel mal den FAQ-bereich dieses forums hier

...das ist dem bäcker nicht mal eben zwischen ofen und theke erklärt :rolleyes:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde wie folgt vorgehen (Grob):
L DB_NR // DB_Nummer: INT als INput
T DB_NR_temp //Temp_Variable
Auf DB[DB_NR_temp]



//Du sollst ein Anstoßbit einsetzen (bei jeder Positiven Flanke---> Char an den Ausgang
//schieben) d.h.

LOOP:
U Anstoss_Bit
FP M10.0
=FP m10.1
SPBN end

L DB_Länge
L Aktelle_Position
<I
SPB END1
L Aktelle_Position
SLD 3
LAR1
L DBB[AR1,p#0.0]
T Ausgang // Ausgang:Char
L Aktelle_Position
L 1
+I
T Aktelle_Position
SPA LOOP

END1: L 0 // Wieder von vorne an
T Aktelle_Position

end: nop 1


//******************************************

Noch mal: Das ist ein grober Quellcode

Ich habe leider keine Zeit das zu überprüfen
Vielleicht morgen

Gruß johnij
 
Zuletzt bearbeitet:
@johnij: woher weißt du, was er vor hat :confused:[/quote]

@4l;

Ich bin davon ausgegangen mit jedem Bitanstoss schickt er ein "Char" an den Ausgang (Aktuelle Position om DB inkrementeieren) bis alle Chars vom DB gesendet sind.


MFG

johnij
 
Ich bin davon ausgegangen mit jedem Bitanstoss schickt er ein "Char" an den Ausgang (Aktuelle Position om DB inkrementeieren) bis alle Chars vom DB gesendet sind.

und du meinst dein schleifenkonstrukt funktioniert dafür? das möchte ich bezweifeln! dazu kommt, dass man, wenn man nur den bitanstoß berücksicht, gar keine schleife braucht, leider :rolleyes:
 
Zurück
Oben