Datensatz verschieben

A

Anonymous

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,

ich muß um einem Profibusteilnehmer erfolgreich Sollwerte zu übermittel den ganzen Datensatz rüberschieben. Da BLKMOV nicht mit Peripherieausgangsworten PAW arbeitet habe ich es jetzt wie folgt mit einer Schleife versucht :

AUF DB 50
LAR1 P#0.0
L 0
T DB10.DBW 472
LP1: L DBW [AR1,P#0.0]
T PAW [AR1,P#320.0]
+AR1 P#2.0
L DB10.DBW 472
+ 1
T DB10.DBW 472
L 60
<I
SPB LP1

sobald ich die Schleife so in die CPU schreibe geht diese in Störung, Versuchsweisen habe ich um die Funktion der Schleife zu testen den PAW gegen ein MW getauscht dann funktioniert die Schleife.

Hat jemand noch eine Idee oder Kann mir jemand sagen was ich falsch mache ?

Gruß

Winnie
 

Markus

Administrator
Teammitglied
Beiträge
5.192
Punkte Reaktionen
1.256
ohne das program in deinem post angeschaut zu haben, schon mal sfc14 versucht?
 
OP
A

Anonymous

Guest
Re: SFC14

Winnie schrieb:
Ja, mit dem SFC 14 geht es auch nicht !

Läßt deine CPU direktes Schreiben auf den Bus zu? Oder nur über SFC?
60 Worte! Diese können meines Wissens nach sowieso nicht in einem einzelnen BusZyklus übertragen werden (Die Anzahl konsistenter Daten kannst du au dem CPU-Handbuch entnehmen). D.h. für dich SFC14 funktioniert wahrscheinlich nicht, weil dies der SFC für konsistentes Schreiben ist und dies in der angegeben Wortzahl nicht möglich ist.


Eine Andere Fehlerursache wäre eine fehlerhafte Busparametrierung. Oft kann man bei selbst richtiger GSD-Datei noch eine Unmenge von Unterauswahlen treffen (wie z.B. die Aufteilung von Prozess und Datenkanälen mit den entsprechenden konsistenten Datenanzahlen)
 

joker

Active member
Beiträge
32
Punkte Reaktionen
0
Schreiben

zum schreiben von Daten wird eingetlich der SFC 15 verwendet !
versuch es doch bitte damit !

der SFC 14 wird zum Einlesen und aufspalten der konsistenz benützt !

call SFC 15
LADDR: = W#16#100 / 100 = PAA Ausgangsadresse 100 HEX, 256 Dec.
RECORD: = P#M 120.0 Byte 5 / ANGANGSWERT aus den Merker 120 / mit Länge 5 Byte tranferieren
RET_ VAL: = MW 60 / Kommunikation- Rückgabewert


8)
 
Oben