Verknüpfung zwischen DB39 und DB46

Guitarrero

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen Ihr,

ich habe eine Aufgabe. Und habe hier auch schon etliches über Pointer und so gelesen. Sicher bin ich mir jedoch nicht, ob das die richtige Lösung ist.
Zur Aufgabe:
Im ProTool kann man Zahlen (DEZ) eingeben, diese landen in DB39, dies ist der Baustein, der die gesamte Kommunikation zwischen CPU und ProTool darstellt und ist 58 Wörter lang. Also zählt ein Zähler von 1 bis 30. Diese Daten, abhängig von dem vorgewählten Programm (1-38) werden in den DB 46 geschrieben. Für Programm 1 sind die Wörter 0 bis 58 vorgesehen, für Programm 2 die Wörter 60 bis 118 und so weiter. Also immer in einem Bereich von diesen 58 Worten oder 30 Schritten. Meiner Meinung brauche ich doch 2 Pointer, einen für den DB39 und einen für DB46, weil es hier sein kann, dass ich auf eine andere Stelle zugreifen muss. Ist das richtig?
Meine Überlegung ist folgende:
Code:
[FONT=Times New Roman][SIZE=3]L 1[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]T  MW486 //Zähler: Wie oft soll er lesen und schreiben[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]P001: NOP 0[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]AUF DB38[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]L MB488 //Eingabe für den Pointer im ZwischenDB/Programmabhängig[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]SLD 3 [/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]LAR1                                       [/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]L DBW [B][AR1,P#0.0][/B] [/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Auf DB46[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]L MB490 //Eingabe für den Pointer im ArbeitsDB/Programmabhängig[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]SLD 3[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]LAR1[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]T DBW [B][AR1,P#0.0]     [/B][B]//[COLOR=red]?PROBLEM:[/COLOR][COLOR=red]Pointer das 2te Mal benutzt?[/COLOR][/B][/FONT][/SIZE]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][SIZE=3][FONT=Times New Roman]L MB488 //Jeder Wert von 0 bis 58 in binären Schritten[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L ? //Wert, damit MB488 die Werte 2,4,8,…58 annimmt[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]T MB488 //Neuer Wert[/FONT][/SIZE][/B]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][SIZE=3][FONT=Times New Roman]L MB490 //Jeder Wert von 0-1680 in binären Schritten die 58 Schritte groß sind[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L ? //Wert, damit MB490 um den Wert 2,4,8,… 58 erhöht wird[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]T MB490 //Neuer Wert[/FONT][/SIZE][/B]
[B][FONT=Times New Roman][SIZE=3] [/SIZE][/FONT][/B]
[B][SIZE=3][FONT=Times New Roman]L MW486[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L 1[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]+I[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]T MW486[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]L30[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]<=I[/FONT][/SIZE][/B]
[B][SIZE=3][FONT=Times New Roman]SPB P001[/FONT][/SIZE][/B]

Gruß
Chris
 
Alles klar,

und der Tip?

Chris


L MB488 //Eingabe für den Pointer im ZwischenDB/Programmabhängig
SLD 3
LAR1
L DBW [AR1,P#0.0]

Auf DB46

L MB490 //Eingabe für den Pointer im ArbeitsDB/Programmabhängig
SLD 3
LAR1
TAK
T DBW [AR1,P#0.0] //?PROBLEM:pointer das 2te Mal benutzt?


Sowas in der Art vielleicht.

hast Glück, faulen gebe ich normal keine Tips.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Faulheit am Steuer

Hey Leute,

@UG:
ich danke dir trotzdem, habe mir sowas schon gedacht, aber faul würde ich mich nicht unbedingt nennen, ich sitze schon den ganzen Tag vor diesen Zeilen.. ich habe einfach noch nicht so viel Ahnung von SPS... Aber was noch nicht ist, kann mit euere Hilfe ja noch werden..

Herzlichen Dank auf jeden Fall..

meine Überlegung zu dem "TAK" war nur, ob das klappt. Denn wenn ursprünglich aus DB39.DBW4 in DB46.DBW64 geschrieben von DB39.DBW64 herausgenommen wird und dann in DB46.DBW64 geschrieben wird.

@Ralle:
wenn ich das verstehe, dann versuche ich das mal mit einzubinden.

Chris
 
Standardbaustein

Nochmal...
ha... ich bin halt jemand, der sich das alles mehr oder weniger selbst beibringt. Gerade mit den Standardbausteinen ist niemand in meinem Umfeld, der sich damit auskennt.

Dann gleich eine Frage, wo kann ich mehr über diese Standardbausteine lernen?

Das ist ja mal ne feine Sache!!

Der Chris
 
Zurück
Oben