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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Array?????

  1. #11
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Adenauer
    @ afk
    könntest du deinen Vorschlag vieleicht ein bisschen näher beschreiben??
    In AWL kann ich leider kein Beispiel liefern, da

    Zitat Zitat von afk
    Als Programmierer aus der Hochsprachenwelt ...
    ... heißt, das ich Software-Entwickler für PC-Programme bin, und was die SPS-Programmierung angeht, da kann ich den Spezialisten hier im Forum höchstens bei SCL noch einigermaßen folgen.

    Aber mit meinem begrenzten Wissen kann ich es zumindest soweit erklären:

    1. Du mußt einen UDT (z.B. UDT 1, symb. "Rezept") erzeugen, der ein Feld für die Rezeptnummer, ein Feld für die Breite, ein Feld für das Gewicht, usw. (genau wie bisher die Definition Deines DBs, nur eben zusätzlich mit der Rezeptnummer).

    2. Dann erzeugst Du einen DB, in dem Du dann ein Array [1..30] vom Datentyp "Rezept" anlegst.

    In SCL kann man dann auf die einzelnen Elemente des Arrays einfach über den Index zugreifen, wie das mit AWL funktioniert weiß ich nicht, das muß Dir einer von den SPS-Profis hier erklären.

    Beim Anlegen eines neuen Rezepts fängst Du dann mit Index 1 an zu kontrollieren, ob die Rezeptnummer von Element[Index] = 0 ist, wenn ja, dann Rezept in dem Element speichern, wenn nein, dann Index erhöhen und weiter suchen.

    Beim Rezeptwechsel fängst Du auch mit Index 1 an, und kontrollierst, ob die Rezeptnummer von Element[Index] die gesuchte Nummer ist, wenn ja, dann Werte des Elements übernehmen, wenn nein, dann Index erhöhen und weiter suchen.

    In beiden Fällen mußt Du die Suche am Ende des Arrays (Index = 30) abbrechen und eine Störmeldung erzeugen.

    Ich hoffe, das hilft Dir ein wenig weiter.


    Gruß Axel
    Man muß sparn wo mn knn!

  2. #12
    Registriert seit
    02.02.2006
    Ort
    Hessen
    Beiträge
    429
    Danke
    16
    Erhielt 28 Danke für 22 Beiträge

    Standard

    Hallo Adenauer,

    um irgendwelchen Zahlen wieder definierte Werte zuzuordnen, gibt's unter -> Bibliotheken
    -> Standard Library
    -> TI-S7 converting Blocks
    einen fertigen Baustein, dessen Nummer ich gerade nicht weiß.
    mfG Werner
    Hoch lebe die Suchfunktion!
    Zitieren Zitieren Data Tables  

  3. #13
    Registriert seit
    26.07.2004
    Beiträge
    87
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Es wäre auch möglich für jedes Benötigte Element einen DB anlegen.
    Z.B. DBRezeptNr, DBBreite, DBHöhe usw. Beim neu anlegen eib leeres Feld im DBRezeptNr suchen und die neue Nr am gefundenen Index eintragen. In den anderen DB's dann einfach am gleichen Index die benötigten Werte eintragen. Somit brauchst du ledigklich ein paar DB's für die benötigten Daten und wenns ganz nobel sein soll noch nen Transfer DB in dem du dann einen UDT oder was auch immer aus den gefunden Daten füllst und weiter verarbeitest.

  4. #14
    Registriert seit
    02.02.2006
    Ort
    Hessen
    Beiträge
    429
    Danke
    16
    Erhielt 28 Danke für 22 Beiträge

    Standard

    Hallo Adenauer,

    manchmal hilft auch mir etwas Nachdenken.
    Schau Dir doch mal den SPL-Befehl in der Online-Hilfe an. Eigentlich ist ein Sprungverteiler doch genau das Richtige.
    mfG Werner
    Hoch lebe die Suchfunktion!
    Zitieren Zitieren Sprungverteiler  

  5. #15
    Adenauer ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.09.2005
    Beiträge
    108
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Mal ne frage zu SCL


    Wie kann ich Ein MW in SCl weiterverarbeiten?
    Sprich ich gebe über ein OP ein MW ein und will es in meinem SCL Programm auswerten.

  6. #16
    Longbow Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von commander
    AFAIK ist die max. Länge eines DB bei der S7 300 8KByte. Selbst wenn er jeden Wert als Dword ablegt, kann er 2000 Werte in einem DB spaichern, oder?

    Wo liegen denn bei den Vipas die Grenzen?
    Hallo

    Bei allen VIPA Speed7 CPUs liegt die maximale DB-Größe (nutzbare Größe) bei 64kB. Bei allen SIEMENS S7-400 und bei SIEMENS S7-318, 317 und 319 ist sie auch 64kB!


    Gruß

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 21.12.2016, 17:03
  2. Array in Nov Ram
    Von COOLT im Forum CODESYS und IEC61131
    Antworten: 41
    Letzter Beitrag: 22.09.2009, 20:19
  3. In: Array ???
    Von husox81 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 15.12.2008, 07:07
  4. Array
    Von rainer-step5 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 31.10.2006, 19:46
  5. Bool-Array in Byte-Array
    Von Techniker im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 13.01.2006, 19:12

Lesezeichen

Berechtigungen

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