INTERN ASSIGN nicht bei Arrays!?

Sara
2009-05-20
2009-05-26
  • Sara - 2009-05-20

    Hallo ihr,

    ich möchte einen Button implementieren, der, sobald er gedrückt wird, ein Array zurücksetzt.

    Dazu habe ich beim Element Konfigurieren von dieser Schaltfläche unter Eingabe -> Programm ausführen folgendes geschrieben:

    INTERN ASSIGN PLC_PRG.array1 := (PLC_PRG.array2)

    (array1 : ARRAY[1..7] OF BOOL; (array 2 ebenso) )

    Sobald ich das teste, läuft es aber nicht (egal ob simuliert oder über die PLCWinNT).

    Wieso?

    Probier ich folgendes:

    INTERN ASSIGN PLC_PRG.array1[1] := (PLC_PRG.array2[1])

    so läuft es - halt nur für die erste Stelle.

    Geht INTERN ASSIGN generell nicht für komplette Arrays? Das wäre sehr schade. Wie könnte man das vielleicht anders implementieren?

    Danke für eure Hilfe.

    Grüße

    Sara

     

    Related

    Talk.ru: 1

  • Erik Böhm - 2009-05-25

    Hallo

    Da hast du wohl Recht, das geht nicht für komplette Arrays.

    Im Quellcode übrigens auch nicht.

    Die Lösung sieht so aus:

    INTERN ASSIGN PLC_PRG.array1[1] := (PLC_PRG.array2[1])

    INTERN ASSIGN PLC_PRG.array1[2] := (PLC_PRG.array2[2])

    INTERN ASSIGN PLC_PRG.array1[3] := (PLC_PRG.array2[3])

    usw...

    Gruß Erik

     

    Related

    Talk.ru: 1
    Talk.ru: 2
    Talk.ru: 3

  • Erik Böhm - 2009-05-25

    oder eben per Button ein Flag setzen, das dann eine Schleife startet.

    if bClearArray then

    FOR i:=1 to 7 do

      PLC_PRG.array1[i] := (PLC_PRG.array2[i])
    

    END_FOR

    bClearArray := false;

    end_if

     
  • Sara - 2009-05-25

    Hi Erik,

    schade schade. Das wäre mal ein schönes feature...

    Danke!

     
  • Erik Böhm - 2009-05-26

    Hi Sara

    Ob das schön wäre sei mal dahingestellt...

    Was wäre denn, wenn deine beiden Arrays nicht die selbe Größe haben ???

    Ich kenne keine Programmiersprache in der so was zugelassen ist.

    Gruß

    Erik

     
  • Sara - 2009-05-26

    na, die müssen schon dieselbe Größe haben!

    so was würde ja auch nicht in einem CoDeSys-Baustein gehen.

    Aber mir ist auch schon aufgefallen, dass Anweisungen in der Visu nicht syntaktisch geprüft werden, was ich auch schade finde.

    Stellt das Prüfen denn ein Problem dar?

    Grüße

    Sara

     
  • Erik Böhm - 2009-05-26

    Hi

    Ob das ein Problem darstellt, kann ich dir auch nicht sagen. Ich schreib ja den Compiler nicht...

    Gruß

    Erik

     

Log in to post a comment.