Aufruf eines SFCs in AWL-Quelle geht nicht

rrauch

Level-1
Beiträge
45
Reaktionspunkte
0
Hallo,
ich bekomme den Aufruf eines SFCs aus einer AWL-Quelle nicht übersetzt!
Folgende Varianten habe ich versucht:
Code:
[LEFT][FONT=Arial][SIZE=2][COLOR=#0000ff]UC SFC 64 {
            P#L 30.0};
[/COLOR][/SIZE][/FONT]
[FONT=Arial][SIZE=2][COLOR=#0000ff]UC TIME_TCK {
            P#L 30.0};
[/COLOR][/SIZE][/FONT]
[FONT=Arial][SIZE=2][COLOR=#0000ff]UC "TIME_TCK" {
            P#L 30.0};
 [/COLOR][/SIZE][/FONT]
Der SFC ist ins Projekt kopiert und ein Symboleintrag ist auch vorhanden.
Ich bin ratlos!

Danke[/LEFT]
 
Hallo rrauch,

bei UC kannst Du keine Parameter übergeben! Versuchs mal mit CALL.

Grüße
Gebs
 
Mach ma mal wieder basteln für Anfänger?

Code:
      CALL SFC   64 (
           RET_VAL                  := #Cycletime);
 
Code:
FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1

VAR_TEMP
  retval : TIME ; 
END_VAR
BEGIN
NETWORK
TITLE =
      CALL SFC   64 (
           RET_VAL                  := #retval);
      NOP   0; 
END_FUNCTION
 
hmm, symbolisch muß es also sein???
das ist blöd für mich! innerhalb eines projektes muß ich automatisiert AWL-Quelle erzeugen, da kenn ich nur offsets.
Ich wollte das mit den SCL-Compiler von Siemens vergleichen.
(SCL compilieren->Basutein mit AWL-Editor öffnen->AWL-Quelle generieren)
Aber selbst der von Siemens erzeugte Code lässt sich nicht übersetzen!

gibt es nicht doch eine Lösung, die mit Local-Pointern arbeitet?
 
Hi,

das ist mir auch schon aufgefallen, das der rückübersetzte SCL Code mit dem AWL Editor nicht übersetzt werden kann. Grund hierfür sind die grossen Pointer und das ein UC im AWL Editor mit Systemfunktionen nicht funktioniert.

Aber so könnte man es machen:
Code:
      CALL SFC   64 (
           RET_VAL                  := LD 30);
Gruss Daniel
 
Zuletzt bearbeitet:

yepp, so kann ich das realisieren. Von den Bausteinparametern habe ich die Symbole. Herzlichen Dank
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…