Erzeugung mehrerer paralell laufender programme

gizmo

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo

meine frage bezieht sich auf den aufruf von programmen.Ist es möglich einen programm baustein
mehrmals zu erzeugen(50 - 100) und dann die einzelelnen programme einzeln anzusteuern bzw paralell
laufen zu lassen.Würd gern auch die adress zuteiung der einzelenen globalen variablen in einem
algorithmus vorgeben d.h. je nach anzahlt der lüfter werden die belegungen automatisch erzeugt.
Ist dies überhaupt möglich ?:confused:

hoffe auf baldige antwort MFG BOLLe
 
hallo

meine frage bezieht sich auf den aufruf von programmen.Ist es möglich einen programm baustein
mehrmals zu erzeugen(50 - 100) und dann die einzelelnen programme einzeln anzusteuern bzw paralell
laufen zu lassen.

Ja.

laufen zu lassen.Würd gern auch die adress zuteiung der einzelenen globalen variablen in einem
algorithmus vorgeben d.h. je nach anzahlt der lüfter werden die belegungen automatisch erzeugt.
Ist dies überhaupt möglich ?:confused:

hoffe auf baldige antwort MFG BOLLe

Auch ja.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke für die schnelle und ausführliche antwort=)))
du hast nich zufällig a beispielprogramm fuer sowas.theoretisch isses mir klar aber praktisch weiss ich net so ganz wie ichs anfangen soll?welche befehle benötige ich dafür???????
 
danke für die schnelle und ausführliche antwort=)))
du hast nich zufällig a beispielprogramm fuer sowas.theoretisch isses mir klar aber praktisch weiss ich net so ganz wie ichs anfangen soll?welche befehle benötige ich dafür???????

Uppss...??

Vielleichts solltest du erstmal die S7 "erste Schritte" durcharbeiten.

Stichwort ist: Parametrierbare Funktionen (FC) und Funktionsbausteine (FB).

Wenn du dich damit mal auseinander gesetzt hast (z.B. Formaloperanden versorgen), dann darfst du dich ans automatische Adressverteilen begeben.

Eins nach dem anderen.
 
Hi

Also wie man einen einzelnen baustein in ST aufruft(CALL "Bausteinname")is

klar und wie ich dem parametrier(zeit1:=t#3s) is auch klar, aber wie mach ich

des das ich sag das er vom baustein BSP1 30stck erzeugen soll, wovon 20

die parameter und die 30 anderen ,andere parameter haben sollen.

MFG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Also wie man einen einzelnen baustein in ST aufruft(CALL "Bausteinname")is

klar und wie ich dem parametrier(zeit1:=t#3s) is auch klar, aber wie mach ich

des das ich sag das er vom baustein BSP1 30stck erzeugen soll, wovon 20

die parameter und die 30 anderen ,andere parameter haben sollen.

MFG

Die Bausteien müssen über Formaloperanden verfügen.
Diese kannst du bei Aufruf versorgen.

Beispiel SCL:

Code:
FUNCTION Blutiger_Anfaenger : VOID

VAR_INPUT
    
  RealInput       : REAL ;    // Kann als Gleitpunkt bei Aufruf versorgt werden
  
END_VAR


VAR_OUTPUT

  RealOutput   : REAL ;    // Wird vom FC beschrieben
  
END_VAR
 
Also entweder ich steh auf dem Schlauch oder wir reden aneinander vorbei.

ich hab bereits ein fertiges programm das auf die globalen variablen so reagiert

wies soll. Jetzt will ich , je nach eingabe am bedienterminal( es wird die anzahl

der verschiedenen gruppen an lüftern sowie die anzahlt der lüfter innerhalb

einer gruppe angegeben)so und so viele lüfterprogramme erzeugen und mit

verschiedenen gruppenabhängigen zeitparametern ausrüsten.Wie gesagt einen Baustein zu prametrieren von wegen VAR_INPUT oder VAR_OUTPUT is klar aber

ich will ja 50 stck von denen erzeugen und dann erst parametrieren.


wer nicht fragt bleibt bloed.

MFG Blutiger Anfänger
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
das sps prog soll die angabe kriegen es gibt 2 lüfter gruppen von der die eine aus 20 und die andere aus 30 lüftern besteht.So

Jetzt soll des prog 20 mal die lueftereinheit_gr1_1.........lueftereinheit_gr1_20 und 30mal die lueftereinheiten Lueftereinheit_gr2_21.........Lueftereinheit_gr2_50
erzeugen und ,vielleicht nich den einzelnen lüftern aber zumindest den kompletten gruppen, die (einschaltzeit1_1 ,einschaltzeit1_2 ,Trudelzeit1_1 ,Trudelzeit1_2 etc.)Zeitkonstanten vorgeben

Während gruppe 2 mit den paramtern(einschaltzeit2_1 ,einschaltzeit2_2 ,Trudelzeit2_1 ,Trudelzeit2_2 etc.)versorgt werden soll.

Und jetzt will ich diese ingesamt 50 lüfter gleicht zeitig mit eingangsignalen versorgen d.h wenn von der steuerung stufe1 verlangt wird sollen alle 50 lüfter unter einhaltung der parameter(einschaltzeit1_1 für gruppe1 und einschaltzeit2_1 für gruppe2)die stufe 1 hochfahren.

ich hoffe es ist jetzt klar worauf ich raus will

übrigens benutz ich keine siemens sps sondern ein wago system mit der CoDeSys software
 
Zuletzt bearbeitet:
das geht so wie du dir das denkst nicht.
die sps kann ihren eigenen code nicht generieren.

ich sehe aus dem stand 2 möglichkeiten.
1. du rufst den baustein sooft auf wieviel maximal lüfter laufen können.
abhängig davon welche laufen sollen versorgst du die mit parametern und bearbeitest diese. die anderen baustein nicht bearbeiten.

2. du rufst den baustein in einer schleife auf und versorgst alle lüfter mit den nötigen parametern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ahoi

wenn dann ist die erste variante sinnvoll fuer mich. ist es bei variante 1 möglich die lüfterprogramme gleichzeitig laufen zu lassen, so das die einzelnen zeiten gleichzeitig ablaufen koennen???das sps programm soll nämlich alle lueftereinheiten gleichzeitig steuern

wenn ich des nämlich in einer schleife realisier können sie ja nich gleichzeitig laufen oder?

MFG gizmo
 
mal was neues

das sps programm soll nämlich alle lueftereinheiten gleichzeitig steuern... und so viele lüfterprogramme erzeugen...
Hallo,
das heißt ja wohl im Umkehrschluß: Für alle Lüfter, die ausgeschaltet werden sollen, wird der zugehörige Baustein gelöscht...
Eine interessante Methode, wäre mir aber zu stressig.
 
mal abgesehen davon ob das eine schöne lösung wäre.
klar geht das auch in einer schleife. dazu musst du aber mit pointer und evtl anyzeigern vertraut sein. für so eine lösung solltest du aber profi sein.

parametriere deine fc für jeden lüfter, also 50 stück. über copy/paste sollte das kein prob sein.
was für parameter du der fc übergibst....
nun ja. du kannst alle parameter übergeben oder nur einen zeiger auf den datenanfang im db. in der fc arbeitest du dann mit pointern.
 
mal abgesehen davon ob das eine schöne lösung wäre.

Fällt dir auf die schnelle ne bessere Lösung ein???
(bin momentan am verzweifeln)
da hab ich mir was eingebrockt.in der frima in der ich des programmieren soll bin ich der einzige Praktikant der ne ahnung von sps-programmierung hab.Ahnung is anscheinend übertrieben wie ich gerad gemerkt hab.

Also ,alle die das hier lesen ,bin für jeden vorschlag offen !!!*VERZWEIFEL*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich versteh noch nicht was ihr vorhabt

habt ihr eine variabele anzahl von lüftern die an der anlage hängen

oder sollen nur eine variable anzahl von lüftern laufen

zum 1 das wäre eine riesieger aufwand und verdrahtungsmässiger unsinn

zum 2 alle programmieren und mit freigaben die einzelen freigeben
 
das sps prog soll die angabe kriegen es gibt 2 lüfter gruppen von der die eine aus 20 und die andere aus 30 lüftern besteht.So

Jetzt soll des prog 20 mal die lueftereinheit_gr1_1.........lueftereinheit_gr1_20 und 30mal die lueftereinheiten Lueftereinheit_gr2_21.........Lueftereinheit_gr2_50
erzeugen und ,vielleicht nich den einzelnen lüftern aber zumindest den kompletten gruppen, die (einschaltzeit1_1 ,einschaltzeit1_2 ,Trudelzeit1_1 ,Trudelzeit1_2 etc.)Zeitkonstanten vorgeben

Während gruppe 2 mit den paramtern(einschaltzeit2_1 ,einschaltzeit2_2 ,Trudelzeit2_1 ,Trudelzeit2_2 etc.)versorgt werden soll.

Und jetzt will ich diese ingesamt 50 lüfter gleicht zeitig mit eingangsignalen versorgen d.h wenn von der steuerung stufe1 verlangt wird sollen alle 50 lüfter unter einhaltung der parameter(einschaltzeit1_1 für gruppe1 und einschaltzeit2_1 für gruppe2)die stufe 1 hochfahren.

ich hoffe es ist jetzt klar worauf ich raus will

übrigens benutz ich keine siemens sps sondern ein wago system mit der CoDeSys software

das soll des prog machen-
das des generiern nicht funzt hab ich verstanden
 
Zurück
Oben