laut technischen Daten vom Siemens Katalog kann man eine 313C mit SCL programmieren
Hi!
Weiß jemand zufällig ob ich eine CPU313C in SCL programmieren
kann ?
Ich bekomme nämlich immer Fehlermeldungen wenn ich ein Programm
in die CPU lade obwohl der Compilerlauf fehlerlos ist.
By!
laut technischen Daten vom Siemens Katalog kann man eine 313C mit SCL programmieren
Wo genau hast du das gelesen?
Ich habe nämlich gehört das erst ab CPU314 eine SCL-Programmierung möglich ist.
Ich wäre natürlich froh wenn es irgend wie gehen würde.
im Siemens Katalog CA01 04/2003
kannst aber auch auf der Siemens Homepage nachschauen
Warum sollte es nicht gehen?
Wird doch "nur" in AWL umgewandelt.
Hi,
es geht definitiv, schon gemacht !
Interessant wäre aber:
Welche Fehlermeldungen kommen überhaupt ??
Programm vielleicht zu groß für Speicher ?
Bausteinnummern im erlaubten Bereich?
Merker/Zeiten/Zähler im erlaubten Bereich ?
Fehlen FC/SFC, die über den Compiler aufgerufen werden, aber die CPU nicht kann ?
Ein paar Info's wären da schon nützlich !
Gruß Jörg
Vielen Dank erst einmal für die vielen Tip's.
Ich bin noch nicht so vertraut mit der S7 und überhaupt mit der Programmierung einer SPS.
Da ich aber früher mit C und VisualBasic gearbeitet habe möchte ich schon auch mit SCL
programmieren.
Also beim Übertragen eines fehlerfrei compilierten Programmes, das einfach nur eine Eingabebyte
liest und es an einer Ausgabebaugruppe wieder aus gibt, kam die Fehlermeldung das OB1 nicht kopiert werden konnte.
Ich habe die SPS mehrmals aus und wieder ein geschalten aber die Fehlermeldung beim laden
des Programmes war immer die gleiche.
Dann dachte ich das es daran liegt das die CPU313C nicht in SCL programmiert werden kann aber das kann es ja wohl nicht gewesen sein.
Alle Programme die ich bis jetzt in AWL geschrieben habe liefen anstandslos.
Vielleicht hat noch jemand einen praktischen Hinweis was man machen könnte ?
Ich habe hier noch die präzise Fehlermeldung:
Länge der Lokaldaten oder Schreibschutzkennung ist fehlerhaft!
Vielleicht kommt das ja jemand bekannt vor!
Hi linax,
Du hast wohl den OB1 in SCL geschrieben ?!
Hast Du dabei auch daran gedacht, daß die OB's bestimmte, fest definierte Lokalvariablen brauchen ?
Für OB1:
VAR_TEMP
OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
OB1_PRIORITY : BYTE ; //1 (Priority of 1 is lowest)
OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
OB1_RESERVED_1 : BYTE ; //Reserved for system
OB1_RESERVED_2 : BYTE ; //Reserved for system
OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
END_VAR
wenn Du die nicht in Deiner SCL-Quelle definierst, gehts nicht.
Ich hab mir angewöhnt, die SCL-Programmteile nur in FB/FC zu schreiben, die OB's jedoch in AWL. Dann braucht man sich um die System-Lokalvariablen nicht zu sorgen.
Gruß Jörg
Woher weisst du das?
Vielen Dank für den Tip! Ich glaube das wird wohl der Fehler gewesen sein!
By!
Bookmarks