Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 6 von 6 ErsteErste ... 456
Ergebnis 51 bis 57 von 57

Thema: Datentypen

  1. #51
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von EMZ Beitrag anzeigen
    Was dann?


    Also mit dem Array erstelle ich einen Wertebereich z.B. 0-10
    Wenn Du Dir eine Brieftasche mit 10 Fächern zulegst, ist dann der Wert Deiner Brieftasche 10?

    Mit Wert verbinde ich persönlich den gesamten Inhalt dieser 10 Fächer und nicht die Anzahl der Fächer.

  2. #52
    EMZ ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.10.2012
    Beiträge
    202
    Danke
    25
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ok, also is Array der gesamte Wert der Felder,
    Index dann der Inhalt der Felder.


    Bekomme ich auch eine Antwort zu meinen anderen Post ?

  3. #53
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von EMZ Beitrag anzeigen
    Ok, also is Array der gesamte Wert der Felder,
    Index dann der Inhalt der Felder.
    Nein, immer noch nicht.

    Ein Array ist ein Feld mit einer bestimmten Anzahl gleichartiger Elemente.
    Der Index ist die Nummer (der Name) mit dem die einzelnen Elemente benannt und unterschieden werden.
    Der Wert eines Elements ist dessen Inhalt. Der Wert des Arrays ist der Inhalt aller Elemente zusammen.


    Eine Schulklasse ist ein eindimensionales Feld mit einer bestimmten Anzahl an Schülern.
    Mit dem Namen (Schüler[x]) kann man die einzelnen Schüler benennen und auseinanderhalten.
    Der Wert eines Schülers ist sein Wissen. Der Wert der Klasse ist das Wissen aller Schüler zusammen.

    Wenn die Schüler einzeln auf dem Schulhof stehen, musst Du sie alle mit ihrem jeweils unterschiedlichen Namen ansprechen.
    Als Liste kannst Du aber die Klasse mit Schüler[1], Schüler[2], Schüler[3] ... besser automatisiert durch recherchieren als mit Einzelnamen.


    Eine Schule ist ein eindimensionales Feld an Klassen. Die Nummer (Index) gibt die jeweilige Klasse an. Der Wert einer Klasse ist die Anzahl ihrer Schüler.
    Außerdem ist die Schule ein zweidimensionales Feld an Schülern. Die erste Dimension (1. Index) gibt die Klasse an, die 2. (2. Index) den jeweiligen Schüler dieser Klasse.

    Wenn sie wieder einzeln auf dem Schulhof stehen, musst Du sie wieder alle mit ihrem jeweils unterschiedlichen Namen ansprechen.
    Als Liste kannst Du aber die Klassen mit ihren Schülern Schüler[Klasse 1, Schüler 1], Schüler[1, 2], Schüler[1, 3] ... Schüler[2, 1], Schüler[2, 2], Schüler[2, 3] besser automatisiert durch recherchieren als mit Einzelnamen.

    Und wieder ist das Wissen der Schule nicht die Anzahl der Schüler sondern die Summe des Wissens jedes einzelnen Schülers.


    Das Verschieben der Klassen findet einmal im Jahr statt, in dem die Schüler von Klasse 10 entlassen, in die Klasse[10] die von Klasse[9] kommen, in die Klasse[9] die von Klasse[8] kommen, ....




    PS: Die FOR-Schleife macht jetzt nichts weiter , als zu sagen:
    Code:
    Die Klassen von 10 bis 1 und zwar jede einzelne
         gehen in ihren Klassenraum;
    nächste Klasse;
    anstatt
    Code:
    "Klasse[10] geht in ihren Klassenraum;
     Klasse[9] geht ..."
    (PS-Ende)



    Zitat Zitat von EMZ Beitrag anzeigen
    Bekomme ich auch eine Antwort zu meinen anderen Post ?
    Muss ich erst noch lesen. Hast Du ja schließlich nachgereicht.

    Wirklich richtig ist das auch nicht, aber für heute bin ich erst mal platt mit Vereinfachungen, abgesehen von meinem PS hier drüber.
    Geändert von hucki (12.01.2015 um 22:38 Uhr)

  4. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    PN/DP (13.01.2015)

  5. #54
    EMZ ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.10.2012
    Beiträge
    202
    Danke
    25
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke Hucki TOP Erklärung
    Danke dir dass du dir dafür soviel Zeit nimmst und so eine Geduld hast ...Nice


    Genau das habe ich damit gemein, also mit dem nachgereichten Post
    Array sind dann eine bestimmte Anzahl von der selben Elementen (z.B. 10 Container)
    Index gibt dann z.B. an Container [1]..... Container [10]
    Der Wert des Arrays was ja in dem Fall nicht relevant ist, wäre dann was in den Container von 1-10 drinne ist.
    Z.b. haben wir in jedem Container 2 Autos drinne, also wäre dann der Wert des Arrays 20 Autos.

    Noch ne Frage fällt mir grade ein:

    In welcher Form bzw. als welchen Datentyp wird denn der Wert des Arrays deklariert?
    Als INT??

    Code:
    "Klasse[10] geht in ihren Klassenraum;
    Klasse[9] geht ..."
    mit meinen vorherigen Post habe ich genau das gemeint,
    Durch die FOR-Schleife muss man dann die einzelnen Befehlszeilen bzw. Forschleifen nicht einzelnd
    eingeben, sondern kann dann Anhand des variablen Indexes eine das ganze in eine Zeile schreiben.
    In meinen vorherigen Post habe ich das einbisschen aufgeschachtelt, damit meine denkweise besser zu vermitteln ist,
    da ich es dir wahrscheinlich nicht mit fachbegriffen erklären kann wie iche s verstehen, da meine fachbegriffe wahrscheinlich nicht ausreichend sind


    Aber ich habe das prinzip verstanden.

  6. #55
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von EMZ Beitrag anzeigen
    Danke Hucki TOP Erklärung
    Einfach unten auf den Danke-Button drücken reicht vollkommen.



    Zitat Zitat von EMZ Beitrag anzeigen
    Array sind dann eine bestimmte Anzahl von der selben Elementen (z.B. 10 Container)
    Index gibt dann z.B. an Container [1]..... Container [10]
    Der Wert des Arrays was ja in dem Fall nicht relevant ist, wäre dann was in den Container von 1-10 drinne ist.
    Z.b. haben wir in jedem Container 2 Autos drinne, also wäre dann der Wert des Arrays 20 Autos.
    Jetzt hast Du's.



    Zitat Zitat von EMZ Beitrag anzeigen
    In welcher Form bzw. als welchen Datentyp wird denn der Wert des Arrays deklariert?
    Als INT??
    Nein, das hängt davon ab, was Du im Array speichern möchtest.
    In Deinem Beispiel war es ein Signal, also demzufolge Bool.
    Möchtest Du kleinere Zahlen speichern -> INT, größere -> DINT, Zeichenketten -> String, usw., usw. ... .

    Du hast ja zu Hause auch je ein Array an Messern, Gabeln und Löffeln. Welches Du zum Decken des Tisches auswählst, hängt vom Essen ab, oder?




    Zitat Zitat von EMZ Beitrag anzeigen
    Aber ich habe das prinzip verstanden.
    Na denn hat sich die Mühe ja gelohnt.

  7. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    EMZ (15.01.2015)

  8. #56
    EMZ ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.10.2012
    Beiträge
    202
    Danke
    25
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi ich habe noch einige kleine Fragen.

    muss ich beim programmieren die reihenfolge der befehlszeilen einhalten?
    Ich vermute mal ja oder ?

    und wozu ist der ausgangszaehler da ?

    Zählt er, wie viel takte der Ausgang auf true bleibt?

    Ich verstehe die zeile so:

    wenn schieberegister(array) die Position 1 erreicht hat, dann soll ausgangszaehler gleich der ausgabelänge sein.

    Der Ausgang wird gesetzt, wenn der ausgangszaehler größer als 0 ist.

    wenn der ausgang true ist, dann ist ausgangszaehler gleich ausgangszaehler -1

    also bedeutet das, dass wenn der ausgang gesetzt wird, dass der ausgangszaehler die takte der Ausgabelänge zurückzählt und dann den Ausgang wieder
    auf false setzt. Der Ausgang wird auf false gesetzt, wenn ausgangszaehler = 0 ist.

    ist meine denkweise right ?


    Code:
    IF #schieben THEN
      FOR #index := #pos_1 TO 1 BY -1 DO
        #array [#index] := #array [#index -1];
      END_FOR;
      
      #array[0] :=  #start1;
      #start1:= false;
      
      IF #array[#pos_1]
      THEN #ausgangszaehler := #Laenge_1;
      END_IF;
      
      #ausgang := #ausgangszaehler > 0;
      
      
      IF #ausgang THEN #ausgangszaehler := #ausgangszaehler-1;
          
      END_IF;
      
     
      
    END_IF;
    LG
    EMZ

  9. #57
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Deine Denkweise ist richtig.
    Also erst mal Respekt, Du machst Dich.


    Und warum das so ist? Weil Du das damals in Deiner ursprünglichen Aufgabenstellung so wolltest:
    Zitat Zitat von EMZ Beitrag anzeigen
    Wenn Sensor 1 und Sensor 2 schalten, ... , danach sollen 100 weitere Impulse gezählt werden und anschließend für 4 Impulse Ausgang Q1 geöffnet werden.
    Einige Sachen hattest Du Dir dann zwar noch anders überlegt, aber das war immer drin geblieben.

Ähnliche Themen

  1. Datentypen in Codesys V3
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 05.09.2011, 19:38
  2. Datentypen mit TSEND
    Von Papa_Bene im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.02.2011, 20:11
  3. Profibus DPV1 - Datentypen
    Von hae im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 02.02.2009, 10:38
  4. Datentypen in WinCC 6.0
    Von Elton_500 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 25.04.2008, 09:09
  5. Datentypen in Bildbaustein
    Von Vatter im Forum HMI
    Antworten: 1
    Letzter Beitrag: 28.03.2008, 18:13

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •