# drehzahl vorgabe



## prinz1978 (27 März 2008)

hallo 

ich habe vor kurzem die prüfung zum geprüften sps programmierer abgeschlossen , da in dieser lehrgang zum sps programmierer kein wincc flex dabei war stehe ich vor einem problem und brauche bitte ein wenig hilfe. ich mus bei uns in der firma folgende aufgabe lösen ( es ist ein bestehendes projet ) ein bediener gibt am op eine drehzahl vor max 1199 umdrehungen in der minute diese wird über paw der simatic an den fu übertragen 4-20 ma wenn der bediener über diesen max wert eingibt wird der wert mit nuller überschrieben er kann weniger aber nicht mehr eingeben, dann bekomme ich von fu 4-20 ma zurrück damit muss ich am op die aktuelle drehzahl ausgeben.


danke im vorraus


----------



## Kai (27 März 2008)

Was für ein OP hast Du?

Gruß Kai


----------



## prinz1978 (27 März 2008)

hallo 

ein op 170


----------



## vierlagig (27 März 2008)

Kai schrieb:


> Was für ein OP hast Du?



das ist doch eigentlich wurscht, wichtig ist eigentlich nur zu wissen, wie man die bestehende kommunikation um die beiden werte erweitern kann, also mal in nem Kommunikations-DB nach reserven suchen. da dann den soll-wert zur PLC und den ist-wert zum Panel einfügen ...

skalierung und ausgabe auf PAW stellt dann eigentlich kein problem mehr da, einlesen und skalieren auch nicht ... als format für die werte würd ich INT nehmen, das rechnet sich ganz gut...


----------



## prinz1978 (27 März 2008)

mal was anderes ich würde gerne mein programm hochladen aber wie bekomme ich die fc als pdf ???


----------



## marlob (27 März 2008)

prinz1978 schrieb:


> mal was anderes ich würde gerne mein programm hochladen aber wie bekomme ich die fc als pdf ???


 freepdf
 pdf-creator


----------



## prinz1978 (27 März 2008)

hallo 
was haltet ih von dem code ?? für verbesserungs vorschläge bin ich sehr dankbar . 



[L DB200.DBW 0 // eingabe von op
L 1199 
>I 
= M 200.0 

L DB200.DBW 0
L 1199
<=I 
= M 200.1

U M 200.0
SPBN adr1
L 300
T DB200.DBW 0
adr1: NOP 0

U M 200.1
SPBN adr2
L DB200.DBW 0
T DB200.DBW 0
adr2: NOP 0

L DB200.DBW 0
ITD 
DTR 
L 1.199000e+003
/R 
L 2.764800e+004
*R 
RND 
T paw 290 // für den Fu

L 1.199000e+003
L 2.764800e+004
/R 
L PEW 288 // von fu 
ITD 
DTR 
*R 
T DB200.DBW 4 // zu anzeige op]


mfg


----------



## vierlagig (27 März 2008)

zum dritten mal heut:

nutze doch bitte die [code ] und [/code ] tags (jeweils ohne space)

ansonsten ist der code in ordnung, wenn er funktioniert und noch symbole und kommentare eingepflegt werden


----------



## marlob (27 März 2008)

vierlagig schrieb:


> zum dritten mal heut:
> 
> nutze doch bitte die [code ] und [/code ] tags (jeweils ohne space)


*ACK*



vierlagig schrieb:


> ansonsten ist der code in ordnung, wenn er funktioniert und noch symbole und kommentare eingepflegt werden


Herr vierlagig, schon müde vom langem Arbeitstag. Ich sehe da noch eine Menge Verbesserungspotential, ganz abgesehen von den Kommentaren und Symbolen


----------



## prinz1978 (27 März 2008)

na dann mal los je mehr desto besser


----------



## marlob (27 März 2008)

Was ist das


```
U     M    200.1
      SPBN  adr2
[COLOR=Red]      L     DB200.DBW    0
      T     DB200.DBW    0[/COLOR]
adr2: NOP   0
```
oder das. Da kommt man auch ohne Merker aus.

```
L DB200.DBW 0 // eingabe von op
     L 1199 
     >I 
     = M 200.0 
 
      L DB200.DBW 0
      L 1199
      <=I 
      = M 200.1
 
      U M 200.0
      SPBN adr1
      L 300
      T DB200.DBW 0
adr1: NOP 0
 
      U M 200.1
      SPBN adr2
      L DB200.DBW 0
      T DB200.DBW 0
adr2: NOP 0
```


----------



## prinz1978 (27 März 2008)

naja ich hab mir das so überlegt wenn die eingabe kleiner oder gleich  max wert ist dann wird der eingegebene wert einfach übernommen . wie würdest du es machen ??


----------



## marlob (27 März 2008)

prinz1978 schrieb:


> naja ich hab mir das so überlegt wenn die eingabe kleiner oder gleich  max wert ist dann wird der eingegebene wert einfach übernommen . wie würdest du es machen ??



So sollte es auch gehen

```
L DB200.DBW 0 // eingabe von op
      L 1199 
      >I 
      SPBN adr1
      L 300
      T DB200.DBW 0
adr1: NOP 0
```

danach skalieren


----------



## prinz1978 (27 März 2008)

danke für deine lösung ich hätte da noch eine frage wenn der bediener mitten drinnen die drehzahl über max eingeben würde dan ist in dem fall ja so das der fu auf 300 runterregelt wie könnte ich am besten die drehzahl beibehalten und nur den wert auf null stellen ??


mfg


----------



## vierlagig (27 März 2008)

marlob schrieb:


> Herr vierlagig, schon müde vom langem Arbeitstag.



jopp, nix mehr zu holen, is ja aber auch echt schlecht zu lesen so in verdana


----------



## McMeta (27 März 2008)

prinz1978 schrieb:


> danke für deine lösung ich hätte da noch eine frage wenn der bediener mitten drinnen die drehzahl über max eingeben würde dan ist in dem fall ja so das der fu auf 300 runterregelt wie könnte ich am besten die drehzahl beibehalten und nur den wert auf null stellen ??
> 
> 
> mfg



Mit welchem Programm wurde denn das OP170 projektiert? Bei WinCCflex kannst du max- und min-Werte definieren die eingegeben werden dürfen. Dann brauchst du das nicht mehr in der CPU lösen, sondern die Eingabe wird direkt verweigert. Ob es in Protool auch geht weiß ich nicht, dafür bin ich wohl zu jung......


----------



## prinz1978 (27 März 2008)

nun ja ich habe zwar die ausbildung vor kurzem abgeschlossen bin ein sps programmierer aber eben theorie ich brauche noch viel praxis glaube ich bis ich mich als programmierer bezeichnen darf bin eben noch ein frischling .



mfg


----------



## prinz1978 (27 März 2008)

es sind genaugenommen 2 anlagen die ich aufrüsten mus eine mit protool das will der kunde haben und die andere ist in wcc flex.


----------



## crash (27 März 2008)

prinz1978 schrieb:


> danke für deine lösung ich hätte da noch eine frage wenn der bediener mitten drinnen die drehzahl über max eingeben würde dan ist in dem fall ja so das der fu auf 300 runterregelt wie könnte ich am besten die drehzahl beibehalten und nur den wert auf null stellen ??
> 
> 
> mfg



bei einer ungültigen eingabe kannst doch den aktuellen(letzten) wert wieder zurück schreiben.
dann bleibt bei einer falschen eingabe alles beim alten.


----------



## prinz1978 (27 März 2008)

danke genau das wolte ich wissen somit ist die ganze sache schon etwas leichter bleibt nur die einarbeitung in die software übrig .


mfg


----------



## Kai (28 März 2008)

prinz1978 schrieb:


> ein bediener gibt am op eine drehzahl vor max 1199 umdrehungen in der minute diese wird über paw der simatic an den fu übertragen 4-20 ma wenn der bediener über diesen max wert eingibt wird der wert mit nuller überschrieben er kann weniger aber nicht mehr eingeben, dann bekomme ich von fu 4-20 ma zurrück damit muss ich am op die aktuelle drehzahl ausgeben.


 
Ich würde die Skalierung und Grenzwertüberwachung der Werte mit WinCC flexible im OP170 projektieren.

Im SPS-Programm muss dann nur noch der Sollwert aus dem OP170 auf das PAW und der Istwert aus dem PEW in das OP170 transferiert werden.


```
L     DB200.DBW    0              // Drehzahl Sollwert
      T     PAW  290
 
      L     PEW  288
      L     DB200.DBW    2              // Drehzahl Istwert
```
 
Gruß Kai


----------



## vierlagig (28 März 2008)

Kai schrieb:


> Ich würde die Skalierung und Grenzwertüberwachung der Werte mit WinCC flexible im OP170 projektieren.



und irgendwann wird aus dem OP170 ein TD und zum stellen ist nur noch ein poti da oder zwei taster, einer für schneller, einer für langsamer... nee, nee, nee, skalierung und grenzwertüberwachung gehört in die steuerung! ...was nicht ausschließt, dass der eingabewert im OP auf ein mini- und ein maximum begrenzt werden sollte! ...


----------



## prinz1978 (28 März 2008)

hallo 

danke für die bemühungen wenn wir schon dabei sind wie könte ich z.bsp den sollwert zusätzlich noch per tasten druck am op stufenweis hochstellen ??


mfg


----------



## marlob (28 März 2008)

prinz1978 schrieb:


> hallo
> 
> danke für die bemühungen wenn wir schon dabei sind wie könte ich z.bsp den sollwert zusätzlich noch per tasten druck am op stufenweis hochstellen ??
> 
> ...


Stelle doch mal deinen eigenen Lösungsansatz hier rein. Dann geben wir dir schon Tips wie es besser gehen könnte.


----------



## prinz1978 (28 März 2008)

hallo

ok hier meine ide.


----------



## prinz1978 (28 März 2008)

uuupppss

da fehlt im program die flanken.


----------

