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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: S7 Programm zur Signalverarbeitung

  1. #1
    Registriert seit
    17.08.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen, ich bin ein neues und total unerfahrenes Mitglied und würde mich freuen hier support zu bekommen.

    Also ich will mal kurz mein Problemchen schildern.

    Eine Neuentwicklung in unserer Firma ist es den Massenstrom (g/s oder g/min) in Abhängigkeit der Schwingweite eínes Motors zu regeln.
    Dazu haben wir einen Motor an einem Transportband befstigt und danach eine Waage, die befüllt wird.

    Meine Vorstellung der Lösung ist, dass ich von der Waage (Serielle Schnittstelle) auf eine RS232 Schnittstelle bei der z.B. S7 300 mit Zusatz gehe, dann die Daten verarbeite, auf einen PID Regler gebe und damit den Motor ansteueren.

    Wenn jemand fragen zum Aufbau etc. hat bitte schreiben, ich werde dann ggbf. noch Bilder hochladen.

    Das Ziel ist nachher in der Software den Massenstrom einstellen zu können und zudem ein Maximalgewicht bis zu dem gefüllt werden soll.

    Jetzt kommen meine vielen kleinen Problemen:
    Von der Waage kommt alle 100ms das Gewicht als Zeichenkette.
    Beispiel wäre so für +1225,5g:
    12345678910111213141516
    +***1255.7*g**CRLF

    Ich denke dieses Code wird in der SPS als Hex/Decimal Zahl auftauchen. Wie kann ich jetzt nur die Stellen herausfiltern die ich benötige also z.B. Stelle 5-10?
    Wie bekomme ich dann daraus eine Zeichenkette, wie geht sowas?
    Anschließend muss ich, so denke ich, bevor ich auf den Istwerteingang des Reglers gehe eine Umrechnung/Normierung druchführen, wie mache ich so etwas?
    Das gleiche muss ich für den Sollwert machen, oder?
    Dann werden die Parameter eingestellt.
    Zu guter letzt muss das Ausgangssignal nocheinmal umgerechnbet werden auf ein analog Signal von 0-10V, wie geht das?

    Wie schon gesagt ich bin ganz neu auf dem Gebiet der S7 Programmierung aber bereit sehr schnell zu lernen.
    Zitieren Zitieren S7 Programm zur Signalverarbeitung  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Das sind viele Fragen auf einmal.

    Also, für die Normierung analoger Ein- und Ausgänge gibt es in der Standard-Library im Simatic-Manager die Bausteine Scale und Unscale. Ich denke mal, dein Text mit dem Gewicht liegt in einem Datenbaustein, nachdem du ihn von der seriellen Baugruppe abgeholt hast. Auch dafür liefert Siemens einen (bzw. mehrere) Baustein/e inkl. Beispiel zur Baugruppe (CP340/341) mit, so du diese nutzt. Die Daten liegen dann in einzelnen Bytes vor. Wenn die Formatierung fest ist, wie du es schreibst, würde ich das wirklich von Hand in einen DInt umrechnen (natürlich dann um einen Kommastelle verschobenm denn Int haben keine).

    Du nimmst also das 5. Byte, die 1, da steht wohl eine 31 Hex (49 dez) drin, das sollte der Hexcode für das Zeichen "1" sein.

    Davon ziehst du also 30 Hex ab, dann hast du deine 1 diese mal 10000 und in Zwischenvariable_Wert abspeichern.

    Dannn nimmst du das 6. Byte, die 2 , da steht eine 32 hex (50 dez) drin.

    Davon ziehst du also 30 Hex ab, dann hast du deine 2 diese mal 1000 und zu Zwischenvariable_Wert dazuaddieren.

    Weiter so mit Byte 7, 8 und 10

    Byte 7 --> 35 hex --> 5*100
    Byte 8 --> 35 hex --> 5*10
    Byte 9 --> Komma (nix tun)
    Byte 10 --> 37 hex --> 7

    Zum Schluß steht in deiner Zwischenvariable_Wert --> 12557

    Das kannst du nun z.Bsp. mit dem Befehl DTR in eine Real wandeln, danach durch 10 dividieren, fertig.

    Ich würde sagen, du fängst mal an und bei Problemen meldest du dich hier, dann wird so nach und nach der Code korrigiert und du bekommst Tips und Hilfen.
    Geändert von Ralle (17.08.2009 um 17:17 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    18.03.2008
    Beiträge
    267
    Danke
    3
    Erhielt 26 Danke für 26 Beiträge

    Standard

    Wenn du bereits erfahrung in Hochsprachenprogrammierung hast, würde ich dir für dieses Problem die Programmierung in SCL ans Herz legen, dann musst du dich nicht in AWL einarbeiten.

    Berechnungen kannst du da sehr einfach ausführen (Pascal syntax).

    Auch die Stringverarbeitung ist ganz simpel. Du kannst den CP (Serielle Schnittstelle) so konfigurieren, dass er auf CRLF reagiert und du die Daten dann in einem String abholen kannst. Anschliessend kannste mit MID(...) die benötigten Stellen aus deinem String rausfiltern.

  4. #4
    Registriert seit
    17.08.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für eure Infos.
    Ich hatte bisher noch keine Erfahrung mit anderen Programmiersprachen.

    Wir sind im Moment dabei uns eine SPS anzuschaffen. Wahrscheinlich werden wir uns die S7 300 314SDP zulegen und dabei noch eine RS232 udn eine Analog Ein/Ausgangskarte, ich denke das müsste reichen.

    Oder kann mir jemand davon abraten? Das Problem ist, dass die Software so teuer ist, oder gibt es da auch nicht indusrielle Versionen.

    Na ja also zum Problem kann ich sagen, dass es immer noch ein Problem ist, so ist es halt immer wenn man etwas neues macht.

    Nachdem ich die Daten in die SPS RS232 eingelesen habe kommt der Inhalt in einen DB (wie bekomme ich das hin)?
    Wie bekomme ich genau die Umwandlung hin und wie kann ich dann den Wert in einer Zwischenvariablen abspeichern?
    Denke das sind erst mal genug Fragen?

    Vielen Dank für jede Info!
    Zitieren Zitieren ..  

  5. #5
    Registriert seit
    16.11.2007
    Beiträge
    179
    Danke
    11
    Erhielt 53 Danke für 39 Beiträge

    Standard

    Hallo misterelektro,


    muß es denn Siemens sein? Vielleicht darf es auch ein CoDeSys basierendes System sein, da wären die Softwarekosten bestimmt geringer.


    mfG Jan

  6. #6
    Registriert seit
    17.08.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wir haben uns schon ereits für Siemens entschieden, ich dachte villeicht gibt es eine günstige Software, die nicht für industrielle Zwecke verwendet werden kann oder so etwas.
    Zitieren Zitieren ...  

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Hallo MisterE,
    da willst du ja etwas anfangen ...

    Also vorab - die Problemstellung ist lösbar, erfordert aber einiges an SPS-Grundwissen und etwas Erfahrung wäre auch schon hilfreich ...

    Ich kann mich grundsätzlich hier nur Ralle anschliessen : du solltest nicht zu viele Fragen auf einmal stellen - nicht dass es dazu keine Antworten gäbe - ich fürchte nur, dass dann irgendwann der Thread (und auch du) vollkommen durcheinander kommt.

    Nehmen wir einmal das Daten abholen :
    Von der SPS her gibt es da einen Funktionsbaustein, der die serielle Schnittstelle abfragt und empfangenen Daten in einen Datenbaustein der SPS schreibt. Damit solltest du erstmal anfangen und das zum Laufen bringen. Ob es allerdings machbar ist, alle 100ms einen neuen Datensatz real zu erhalten, halte ich für ein bißchen fragwürdig (ich glaube nicht, dass das klappt). Es käme aber auf den Versuch an.

    Hast du dann deinen Daten in der SPS und kannst sinnvoll darauf reagieren dann käme die Auswertung und Weiterverarbeitung.
    Bis dem nicht so ist würde ich alle weiteren Fragen erstmal zurückstellen ...
    Ich würde also zunächst erstmal das System aufbauen ...

    Gruß
    LL

  8. #8
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Zitat Zitat von misterelektro1981 Beitrag anzeigen
    Wir haben uns schon ereits für Siemens entschieden, ich dachte villeicht gibt es eine günstige Software, die nicht für industrielle Zwecke verwendet werden kann oder so etwas.
    Gibt es doch z.B. WinPLC7 von MHJ (oben rechts bei der Werbung) funktioniert wie Step7.
    Man kann auch Step7 Projekte im- und exportieren.
    Oder von IBH.

  9. #9
    Registriert seit
    17.08.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja vielen dank, ich denke das wird der beste Weg sein.

    Kann mir jemand eine Firma empfehlen die ich mir in die Firma einladen kann um mich zu informieren über eine S7 300. Unsere Firma sitzt in Remscheid.

    Danke!
    Zitieren Zitieren ..  

  10. #10
    Registriert seit
    18.03.2008
    Beiträge
    267
    Danke
    3
    Erhielt 26 Danke für 26 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ob es allerdings machbar ist, alle 100ms einen neuen Datensatz real zu erhalten, halte ich für ein bißchen fragwürdig (ich glaube nicht, dass das klappt). Es käme aber auf den Versuch an.

    Gruß
    LL
    Ich denke schon. Bei 9.6 kBaud kannst du etwa 1000 Byte pro Sekunde übertragen, vielleicht auch etwas weniger. Bei 100ms kannst du also max. 100 Zeichen einlesen.

Ähnliche Themen

  1. S5 Programm überschreiben zu S7 Programm
    Von Tabler im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 29.03.2011, 22:37
  2. Antworten: 8
    Letzter Beitrag: 09.12.2010, 18:08
  3. Signalverarbeitung in WinCC flexible
    Von andpfeifer im Forum HMI
    Antworten: 15
    Letzter Beitrag: 07.10.2010, 12:10
  4. Antworten: 0
    Letzter Beitrag: 05.10.2006, 13:56
  5. S5 Programm in ein S7 Programm umwandeln
    Von 1schilcher im Forum HMI
    Antworten: 3
    Letzter Beitrag: 15.01.2006, 11:53

Lesezeichen

Berechtigungen

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