aufruf von FC

awl-scl

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo Leute,ich habe ein probleme und zwar in diese programme :

a:=DWORD_TO_REAL(Data_block_DB.DD94);
b:=DWORD_TO_REAL(Data_block_DB.DD98);
"RAMP_GENERATOR" (
Master := DWORD_TO_REAL (Data_block_DB.DD70),// Leitsollwert
Enable := Data_block_DB.DX5.1,// Enable signal
Start_value:= DWORD_TO_REAL (Data_block_DB.DD74),// Startsollwert
Set_start := Data_block_DB.DX5.2,// setze Startsollwert
Grad_accel_max:= DWORD_TO_REAL (Data_block_DB.DD78),// Gradient ...
Grad_accel_min:= DWORD_TO_REAL (Data_block_DB.DD78),//Gradient .
Grad_decel_max:= DWORD_TO_REAL(Data_block_DB.DD82),// Gradient
Grad_decel_min:= DWORD_TO_REAL(Data_block_DB.DD82),// Gradient
Start_smooth:= DWORD_TO_REAL (Data_block_DB.DD86),// Wert der
End_smooth:= DWORD_TO_REAL(Data_block_DB.DD90),// Wert der
Adaption:= 0.000000e+000,// Adaption wird nicht benutzt
Adaption_max:= 1.000000e+002,// Adaption wird nicht benutzt
Adaption_min:= 0.000000e+000,// Adaption wird nicht benutzt
Scan_time:= Scan_time,// Abtastzeit

Slave := Line_speed,// Anlagen-V
Equal := Data_block_DB.DX5.3,// Leitsollwert erreicht
Gradient := Gradient,// aktueller Rampenwert
Old_Master := a,// alter Leitsollwert
Act_End_smooth := b);// Aktuelle Endverrundung

Dieses Programme ist jetzt fehlerfrei, aber wenn ich zum beispiel (DWORD_TO_REAL(Data_block_DB.DD94) statt (a) an (Old_Master ) zuweisen, zeigt der Compiler ein Fehler, und zwar die Zuweisung ist ungültig. Die letzten 5 variablen sind von FC "RAMP_GENERATOR" als var_in_out deklarieret und sie wurde hier aufgerufen .
Wenn ich den Programme so lassen wird kein zugriff auf DD94 und DD98 geben.


hat vielleicht jemand ein bessere Idee.
danke im voraus.
 
Zuletzt bearbeitet:
Also an dem Programmausschnitt ist für mich jetzt nicht ersichtlich um was es sich bei der Variaben a handelt. Natürlich muss eine Variable bei IN_OUT auch beschreibbar sein. Und die Variablen müssen Symbolisch sein nicht absolut.

auf die Schnell fällt mir jetzt nur ein die DB gschichte Symbolisch zu machen.

oder eine andere Hässliche Lösung wäre es einfach:

DWORD_TO_REAL(Data_block_DB.DD94) := a;

Hinter den Ausruf des FCs zu setzen.
 
Zurück
Oben