# WinCC Schaltfläche funktioniert nicht



## Michi187 (4 Januar 2012)

Hallo,
da ich neu in diesem Forum bin, möchte ich mich erstmal vorstellen.... Ich bin 24 und mache zur Zeit meinen staatl. gepr. Elektrotechniker. 
Wir müssen dieses Jahr ein Projekt machen, welches entweder Mikrokontroller programmieren oder SPS programmieren beinhaltet. Ich habe mir gedacht, da ich von Mikrokontrollern gar keine Ahnung habe, versuche ich es mit dem SPS programmieren. Jetzt habe ich hier eine Pick & Place Anlage, die ich programmieren muss. Ich habe das C7 Touchpanel und natürlich auch die C7 CPU dazu. Die Visualisierung soll mittels WinCC flexible SP2 realisiert werden. Die Verbindung von meinem Laptop zur CPU besteht mittels USB-MPI-Adapter. Ich stehe jetzt vor dem Problem, dass ich in WinCC eine Schaltfläche habe, die mir aber kein Signal an die CPU sendet. Die Verbindung von der CPU zum Touchpanel ist, glaube ich, intern verdrahtet. Ich habe es mit den DB-Bausteinen probiert.... nix... kein Signal beim beobachten des SPS-Programms... mit Merkern auch kein Signal.... jetzt ist meine Frage: Was zum Teufel mache ich falsch??? Bitte um Support 

Schonmal danke im Vorraus

Michi


----------



## bike (4 Januar 2012)

Michi187 schrieb:


> Ich stehe jetzt vor dem Problem, dass ich in WinCC eine Schaltfläche habe, die mir aber kein Signal an die CPU sendet. Die Verbindung von der CPU zum Touchpanel ist, glaube ich, intern verdrahtet. Ich habe es mit den DB-Bausteinen probiert.... nix... kein Signal beim beobachten des SPS-Programms... mit Merkern auch kein Signal.... jetzt ist meine Frage: Was zum Teufel mache ich falsch???



Zunächst solltest du beschreiben, was du Parametriert hast. Also interessant wäre, was du wie hinter der Schaltfläche versteckt hast. 



Michi187 schrieb:


> Bitte um Support




Support, gerne, kostet 105€ die Stunde

bike


----------



## saarlaender (5 Januar 2012)

C7 sagt mir nicht  viel, aber bei S7 brauchts zwischen CPU und Touchpanel eine S7-Verbindung - die kannst du in NetPro anlegen. Ich hatte bisher auch nur Profinet (Ethernet)-Verbindungen (hardware-mäßig), sollte bei Profibus/MPI aber nicht anders sein.

Nachdem die Verbindung in NetPro angelegt ist und du WinCC neu geöffnet hast, kannst du die Datenbausteine der SPS auch als zB. Aktion beim Klicken auswählen und machst dann dort z.B. SetzeBit oder SetzeBitWährendTasteGedrückt.
Dann wird auch das ausgewählte Bit im ausgewählten Datenbaustein gesetzt.

Wenn der Button nicht bedienbar ist (kein Effekt in der Visu beim Drücken), dann hilft Copy&Paste ... also den Button kopieren und neu Einfügen...


ps: Support kostet bei mir nur 104,99 :-D


----------



## Schnick und Schnack (5 Januar 2012)

saarlaender schrieb:


> C7 sagt mir nicht  viel, aber bei S7 brauchts zwischen CPU und Touchpanel eine S7-Verbindung -
> :-D



Ist bei den C7 etwas anders. Wies bei den aktuellen Versionen ausschaut weis ich nicht. Bei den älteren C7-Text-Dingern wurde noch in
DB's definiert was aufem Panel angezeigt werden soll. Von daher gehe ich davon aus, dass die Verbindung zwischen CPU und Panel 
 bei den neueren Versionen auch bereits vorhanden ist (Ist ja das selbe Gerät). Aber auf jeden Fall müssen wohl SPS-Programm und Visu *im selben Projekt* erstellt werden. 

Ansonsten wie saarlaender sagt einfach mal ins NetPro schauen. 

Hoffe das hilft.

Gruss


----------



## Worm (5 Januar 2012)

Das gleiche Problem habe ich auch.

Ich habe hier eine CPU314 und ein TP177B vor mir.

Ich hab allerdings keine Ahnung wie ich das hinbekomme das wenn ich auf dem TP eine Schaltfläche reinkopiere und diese dann auch dazu bringe einen Ausgang anzusteuern (In diesem Fall soll nur eine LED anfangen zu leuchten). 

Ich hab einfach nur ein FB1 mit  Eingang : ein E0.0 und lampe A4.0 

Nu is die Frage was muss ich machen damit es endlich klappt =).

In der Hilfe von WINCC Flex. 2005 habe ich bisher nichts gefunden. Allerdings gabs dort eine super Anleitung für OP.  

Eingänge und Ausgänge abfragen funktioniert soweit z.B das der Kreis sich dann rot färbt wenn der A oder E angesprochen wird.

Und wenn ich bei NetPro und co. schaue finde ich auch bei Einfügen - Station   - HMI Stationen nicht. Ist gar nicht vorhanden. Ist das zwingend notwendig?


----------



## Schnick und Schnack (5 Januar 2012)

Worm schrieb:


> Ich hab einfach nur ein FB1 mit  Eingang : ein E0.0 und lampe A4.0



Nur damit ich dich richtig verstehe.....

Du willst wirklich mit der Visu den E0.0 setzen damit die Lampe A4.0 leuchtet???


----------



## Worm (5 Januar 2012)

Joa! ;D... muss nich der E0.0 sein.

Wenn ich auf meine Schaltfläche auf dem TP drücke möchte ich das der Ausgang A4.0  kommt.

Was muss ich machen? =)


----------



## Sprungmarke (5 Januar 2012)

Schwierig das zu erklären aber ich versuchs mal. Besser wärs sich das von jemand zeigen zu lassen oder für viel Geld nen Kurs bei Siemens oder der örtlichen HWK zu machen.

Unter Kommunikation\Variablen in Flex Variable anlegen, am besten Symbolisch auf einen DB oder zur Not auch Merker (Einen Eingang, z.B. E0.0 beschreibt man nicht direkt, würde zwar gehen wenn der Eingang nicht verwendet wird aber sowas macht man einfach nicht!). Schön ist es z.B. sich einen Schnittstellen-DB anzulegen auf den man die Signale legt, ist übersichtlich und effektiv.

Wenn Variable angelegt ist Schaltfläche in gewünschtes Bild einfügen. In den Eigenschaften der Schaltfläche unter Ereignisse gewünschte Funktion einfügen, z.B. Bei Drücken Funktion Setzte Bit. Dann vorher angelegt Variable dafür Verwenden. Einspielen und sollte gehen.

Hoffe hat ein wenig geholfen...


----------



## bike (5 Januar 2012)

Worm schrieb:


> Joa! ;D... muss nich der E0.0 sein.
> 
> Wenn ich auf meine Schaltfläche auf dem TP drücke möchte ich das der Ausgang A4.0  kommt.
> 
> Was muss ich machen? =)



Vielleicht zuerst einmal die Grundlagen lernen?
Wie willst du einen Eingang schreiben, der im PAE leigt?
Also ich würde es mit einem Merker bzw mit einem DBX versuchen.


bike


----------



## Worm (5 Januar 2012)

Das mit dem Zeigen lassen ist so eine Sache. Hier ist leider niemand in meiner Firma der sowas kann. 
Und als Lehrling bekomme ich keine Lehrgänge für S7 und co. Ich weiß total bescheuert. Also heißt es Lesen im I.net,Bücher und rum probieren.

Aber hier hänge ich echt fest was das angeht mit der Schaltfläche.


----------



## Schnick und Schnack (5 Januar 2012)

Worm schrieb:


> Das mit dem Zeigen lassen ist so eine Sache. Hier ist leider niemand in meiner Firma der sowas kann.
> Und als Lehrling bekomme ich keine Lehrgänge für S7 und co. Ich weiß total bescheuert. Also heißt es Lesen im I.net,Bücher und rum probieren.
> 
> Aber hier hänge ich echt fest was das angeht mit der Schaltfläche.



Okay. Folgendes.

*Lies nochmals die Posts von sprungmarke und bike. 
*Fakt ist, einen Hardware-Eingang kann man nicht beschreiben. Die Ausnahme die sprungmarke beschrieben hat weis ich nicht obs geht (theoretisch sollte es), macht man aber nicht!
Also nicht den E0.0 verwenden. 

Du solltest wie die Jungs schon richtig geschrieben haben einen Speicherbereich verwenden. Sei es nun einen Merker (bsp. M1.0) oder ein Bit aus einem DB.
Dazu legst Du einen DB an (gleiche Vorgehensweise wie bei einem FB), darin erstellst du eine neue boolsche Deklaration. Dieses Bit kannst Du dann mit dem symbolischen Namen
ansprechen (bsp. DB_Versuch.Lampenbit) oder über die physikalische Adresse (bsp. DB5.DBX0.0).

Ein solches Bit kannst Du problemlos von der Visu steuern. Einfach den Merker oder das DB-Bit noch anstelle von E0.0 an den FB hänken und dann sollte es klappen. 


Gruzz


----------



## repök (5 Januar 2012)

zunächst sollte die verbindung zwischen cpu und visu stehen. dann kann man über alles weitere sprechen. ich weiss nämlich immer noch nicht was er da genau benutzt, und wie er/sie es parametriert hat. dann kann gerne über speicherbereiche und alles andere gesprochen werden.



bike schrieb:


> ...
> Support, gerne, kostet 105€ die Stunde
> 
> bike



und ich machs dir für 80€/h. bin halt ne billige drecksau..


----------



## Schnick und Schnack (5 Januar 2012)

repök schrieb:


> zunächst sollte die verbindung zwischen cpu und visu stehen. dann kann man über alles weitere sprechen. ich weiss nämlich immer noch nicht was er da genau benutzt, und wie er/sie es parametriert hat. dann kann gerne über speicherbereiche und alles andere gesprochen werden.



Jap hast recht, 

War gedanklich noch bei der C7.
dachte bei ihm gehts, trotzdem, is schonmal gut wenn er weiss dass Eingänge nichnt beschrieben werden.



repök schrieb:


> und ich machs dir für 80€/h. bin halt ne billige drecksau..




Er war Jung und brauchte das Geld


----------



## Worm (5 Januar 2012)

Seeeehr schön! 

Also jetzt geht es.

Wie habe ich es jetzt gemacht? Erst mal mit Merkern.

Direkt im OB1: 

Netzwerk 1

```
U     M      5.0
      S     M      7.0
      U     M      6.0
      R     M      7.0
      U     M      7.0
      =     "A 4.0"
```
Netzwerk 2

```
U     "E 0.0"
      =     M      5.0
```
Netzwerk 3

```
U     E      0.1
      =     M      6.0
```


Nun will ich noch mal die Eleganteste Variante mit dem DB versuchen .

Gut das es klappt sonst hätte ich heut nich schlafen können


----------



## Schnick und Schnack (5 Januar 2012)

Dein Code bleibt mir zwar ein Rätsel aber gut dass es funktioniert

Edit....
Okay sorry, stand aufm Schlauch


----------



## Sprungmarke (5 Januar 2012)

Tipps zur Verständlichkeit:
- Mit Strg + q kann man die symbolische Darstellung ein und ausschalten
- symbolische Namen für alle merker, Eingänge und Ausgänge vergeben
- in awl kann man Kommentare einfügen durch anfügen von: //beispielkommentar


----------



## Michi187 (6 Januar 2012)

bike schrieb:


> Zunächst solltest du beschreiben, was du Parametriert hast. Also interessant wäre, was du wie hinter der Schaltfläche versteckt hast.
> 
> Wie meinst du das hinter der Schaltfläche versteckt?? Ich habe in WinCC eine schaltfläche hinzugefügt, im SPS Programm habe ich einen DB Baustein erstellt und den dazugehörigen DBX zugewiesen. Müsste funktionieren, tut es aber nicht


----------



## Michi187 (6 Januar 2012)

Ansonsten wie saarlaender sagt einfach mal ins NetPro schauen. 

Also im NetPro passt alles. Die Verbindung besteht... aber nix tut sich


----------



## Michi187 (6 Januar 2012)

Wenn Variable angelegt ist Schaltfläche in gewünschtes Bild einfügen. In den Eigenschaften der Schaltfläche unter Ereignisse gewünschte Funktion einfügen, z.B. Bei Drücken Funktion Setzte Bit. Dann vorher angelegt Variable dafür Verwenden. Einspielen und sollte gehen.

Bei mir geht das eben nicht... ich weiß nicht was ich noch tun soll :sad: aber ich programmier jetzt erstmal und mit diesem Problem befasse ich mich später, obwohl ich ganz genau weiß, dass ich alles dann nochmal von vorne programmieren darf


----------



## Michi187 (6 Januar 2012)

Danke nochmal an alle für die Hilfe aber es funktioniert einfach nicht :sad: da bleibt mir nix anderes übrig als los zu programmieren und mich dem Problem später zu stellen. Also einfach  bleiben 

Mfg Michi


----------



## bike (7 Januar 2012)

Also egal wie viel und wie resignierst du schreibst, so wird nicht besser.
Außer dass es keinen Spaß macht zu lesen und helfen zu wollen.

Ich würde auf einem E/A Feld die Taktmerker legen und schauen, ob die Kommunikation funktioniert.
Dann weißt du mehr.


bike


----------



## Michi187 (7 Januar 2012)

Danke nochmal für die Hilfe, hat aber alles nix gebracht. Ich habe alles ausprobiert, aber nichts funktioniert. Ich habe außerdem schon mindestens 5 mal geantwortet, und mein Beitrag ist nicht da???? Keine Ahnung warum, aber mir bleibt jetzt nichts anderes übrig, als einfach mal los zu programmieren  mit dem Problem befasse ich mich dann wenn ich mein Programm fertig habe. Es ist wahrscheinlich nur eine kleine Einstellungssache, wie bei den meisten Softwareproblemen...

Mfg Michi

Ps.: Bankleitzahl und Kontonummer dann überweise ich den Support


----------



## Tigerente1974 (8 Januar 2012)

Du solltest Dir eine Störmeldeanzeige auf das Startbild legen und den Haken bei Systemmeldungen setzen.
Dann kannst Du nach dem Hochfahren des Panels im Meldefenster ablesen, ob die Verbindung aufgebaut wurde.


----------



## Worm (10 Januar 2012)

Hey, also mit Merkern bekomme ich das Touchpanel einigermaßen in Griff..

Könnte mir jemand vllt. mal ein Pic machen wie man es mit Datenbausteinen macht? Einmal ausm S7 Programm Screenen ? =D Mit OB1,Komplett Übersicht.. 

Wäre sehr schön 

Ansich muss ich ja nur Datenbausteine (Global) erstellen und dann kann ich dort drin ja verschiedene Variabeln eingeben.

dann steht da ha z.B  Addresse: +0.0 .. das wäre dann DB1 DBX 0.0  , ja?

Und dann erstelle ich für jede Funktion ein neuen DB  ?  Oder wie ist das am besten ?


----------

