# TIA: S7-1200 + KTP 600 Meldungen



## B4D_Dr1ft (29 Februar 2012)

Hi,

Ich arbeite jetzt das erste mal mit der Totally Intergrated Automation Software von Siemens.

Klappt auch besser bis jetzt wie ich dachte... bis zu dem Punkt wo ich die Fehlermeldungen bearbeiten wollte.

Irgend wie kann ich keine Vernüftigen Trigger variablen aus wählen. 

Wenn ich das noch richtig im Kopf hatte war es doch so das man früher einfach z.B. über einen eigenen Datenbaustein die FM auslösen konnte also z.B. DB100.Dbx0.1 als trigger setzten konnte...

Jetzt sagt mir die Hilfe die Trigger müssen im Dateiformat Short bzw. Ushort sein.

Diese Kann ich im DB garnicht auswählen. -.-

Irgendwie bin ich grade total auf dem Holzweg und leicht verzweifelt....

Ich danke euch aber schon im vorfeld für eure Hilfe!

Verwendete Komponenten:
S7-1200 
KTP600 Monocrom

Mfg
Chris


----------



## MSB (29 Februar 2012)

Bei der S7-1200 habe ich mich für Merker entschieden, weil man die Bit und Wortweise in die Symboltabelle schreiben kann.
Du kannst aber natürlich auch DBs verwenden ...

P.S. Bits beschreibst du im DB mit "meinDB".meinWort.x0 für Bit 0 usw.

Ein paar Infos findest du auch hier:
http://www.sps-forum.de/showthread.php/51052-Siemens-TIA-Portal-Bitmeldungen

Short = INT bzw. UShort = WORD

Mfg
Manuel


----------



## B4D_Dr1ft (29 Februar 2012)

Kann ich einen INT setzten wie einen Bool oder gibt das probleme?


----------



## rheumakay (1 März 2012)

Einen Trigger kannst du nur als Bit verwenden.
Oder meintest du INT Variable anlegen Name:z.B. Stoerung und dann dessen Bits verwenden ? Dann Stoerung.0  Stoerung.1 Stoerung.2 usw.


----------



## B4D_Dr1ft (1 März 2012)

Hi Rheumakay,

Ich meine wie kann ich einen INT wert in mein Programm einbinden? Also im prinzip wie muss ich den INT wert einbauen damit wenn z.B. E0.1 = 1 eine Fehlermeldung aufpoppt?!

Weil Bool Werte kann ich ja z.B. wie Merkerverwenden auf z.B. = u. SR bausteinen


----------



## MSB (1 März 2012)

Habe ich doch geschrieben!

"MeinDB".MeinWort.*x1* das wäre nun also das Bit 1 im Wort "MeinWort" im DB "MeinDB".

Was du mit diesem Bit nun machst, ob Setzen/Rücksetzen oder Zuweisen ist dem Bit vollkommen egal.

Mfg
Manuel


----------



## Sinix (1 März 2012)

*Andere Lösung?*

Hi,

ich lege ein array[] of bool und ein gleichgroßes array[] of word in einem DB an (kein optimierter Zugriff)
die bool-Elemente beschreibe ich in der Steuerung.
mit dem tollen Swap-Befehl schreibe ich wordweise die bool-elemente ins word-array
in der HMI ziehe ich das word-array per drag and drop in die Variablentab und gebe diese nun als triggervar in den HMI Meldungen an.

Vorteil: bit-array-element-nr = Meldenummer HMI

für S7-300er nehme ich statt swap eine loop in AWL, aber 1200er kann kein AWL

MfG MK


----------



## B4D_Dr1ft (15 März 2012)

hat jemand evt nen beispiel Programm?

weil bei siemens finde ich keins... 

mfg
Chris


----------



## Sinix (16 März 2012)

Hi Chris,
sorry war im Ausland und per PN irgendwie keine Anhänge anwählbar.

MfG


----------



## B4D_Dr1ft (23 März 2012)

Hi,
Danke für das beispiel rogramm werd es mir gleich mal anschauen.
Heute morgen habe ich mich noch mal mit MSB's lösung beschäftigt. dabei hatte ich folgendes problem (siehe bilder) 
Als info kam Der Operrand "HMI Meldungen".Meinwort.x0 ist nicht definiert


----------



## Sinix (23 März 2012)

bin auch gerade erst am rumprobieren mit den überlappenden Zugriffen.
Stichworte "optimierter bausteinzugriff" , Firmware CPU (v2.2), TIA Version (V11 SP2?)
wie siehts damit aus?


----------



## B4D_Dr1ft (23 März 2012)

Firmware V1.0

TIA Vers. 10.5 lad aber grade die Updates für V11 SP2

"optimierter bausteinzugriff" ....... ? was is das hab ich noch nicht gehört...


----------



## MSB (23 März 2012)

B4D_Dr1ft schrieb:


> Hi,
> Danke für das beispiel rogramm werd es mir gleich mal anschauen.
> Heute morgen habe ich mich noch mal mit MSB's lösung beschäftigt. dabei hatte ich folgendes problem (siehe bilder)
> Als info kam Der Operrand "HMI Meldungen".Meinwort.x0 ist nicht definiert



In deinem speziellen Fall muss ich das nun leider revidieren ...

Mit der Firmware 1.0 und somit Step7 Basic V10.5 funktioniert die Einzeladressierung mit x0 etc. leider nicht.
Dieses Feature existiert also scheinbar erst ab FW V2.0 aufwärts.

Also Möglichkeit 2 um mit DBs zu Arbeiten, den DB mit nicht optimierten Bausteinzugriff anlegen (in der Hoffnung das es das bei V10.5 schon gab),
und dann mit DBx.DBXy.z zugreifen, wobei x für die DB-Nummer steht, y für den Offset, z für die Bitnummer.

Mfg
Manuel


----------



## Sinix (26 März 2012)

Optimierter Bausteinzugriff -> siehe online Hilfe / Handbuch
Firmware 1.0 -> Update machen, dazu nötig 12MB MemoryCard


Empfehle hier, im Gegensatz zu Manuel, mit dem AT-Befehl zu arbeiten.
z.B.:

Meldewoerter          array[0..4] of word
Meldebits         AT   array[0..64] of bool

beim Schreiben werden jeweils beide array's gleich beschrieben:

U x.y
= Meldebits[1]  //Meldewoerter[0] = 2

So kannst du in der Visualisierung auch das Meldewort-Array anlegen und in der PLC die Bits beschreiben.


MfG


----------



## B4D_Dr1ft (27 März 2012)

Also Versteh ich das richtig, in meiner Aktuellen Versions konstellation habe ich keine vernüftige möglichkeit um mit den meldungen zu arbeiten?!

Weil ich die meldungen weder über merker noch über DBs setzten kann?!


----------



## elibastianst (28 März 2012)

Hi, habe das gleiche Problem wie B4D_Dr1ft.
Gibts dazu schon eine Lösung?

Gruß Elibastianst


----------



## B4D_Dr1ft (29 März 2012)

Hi Basti ich glaube das es irgendwie fast nicht möglich ist in der Versions konstellation, daher kann ich dir nur raten es anders zu machen und statt mit der Meldungs liste fehler mit Bildern auszugeben.

z.B. in der Vorlage/dem Globalen bild eine Butten einzubauen der bei einer Sammelstörung erscheint und in ein Störungsmenü führt.

So werde ich das jetzt lösen nur leider sind auf diesem wege die störungen nicht zeitlich nachvollziehbar.


----------



## elibastianst (29 März 2012)

Hallo B4D_Dr1ft,

danke für die Info. Bei mir handelt es sich um Zustandsmeldungen der Anlage die nur dann erscheinen sollen, wenn ein Schritt der Schrittkette aktiv ist. In einem separaten Bild "Meldungen" sollen diese dann angezeigt werden. Ich werde mal noch ein wenig rumprobieren.
Meinst Du mit Versionskonstallation die Version der Software?


----------



## B4D_Dr1ft (31 März 2012)

Also so wie ich das hier verstanden habe geht das ohne probleme ab Firmware 2.0 und TIA V11

Sonst machs so mach nen button der dich in ein meldungsfenster bewegt und über Animation -> Sichtbarkeit lässt du dort ein butten mit der meldung erscheinen sobald die kette aktiv ist... wäre eine Alternative


----------



## elibastianst (31 März 2012)

Hi, also ich denke ich werde es dann mit nen Button realisieren. Danke für den Tip.
Ich teste das ganze dann ma in ner ruhigen Minute mit V11.

Grüße und Danke Sebastian


----------



## MSB (1 April 2012)

Bevor jetzt hier ein falscher Eindruck entsteht,
mit Merkern kannst du jederzeit und problemlos arbeiten, egal in welcher Version.

Du musst nur ein Merkerwort deklarieren:
Meldewort1 = MW30
Meldung_1 = M30.0
Meldung_2 = M30.1
Meldung_16 = M31.7

Meldung1 - x verwendest du im Programm,
und Meldewort1 als Trigger auf dem Panel.

Mfg
Manuel


----------



## elibastianst (1 April 2012)

Hi,

also ich habe jetzt die Variablen in der Symboltabelle deklariert. Bei mir MW 60 = Meldewort1.
Dann habe ich im HMI das Meldewort 1 als Triggervariable und Bit 1 als Triggerbit ausgewählt.
Anschließend habe ich eine FC Meldungen angelegt und mit dem Eingabe Notstop eine Zuweisung angesteuert.
Die Zuweisung spricht den Merker 60.0 an. Was genau meinst Du den mit Meldung1 - x? Und brauche ich dann überhaupt noch einen DB Meldungen?

Gruß Sebastian


----------



## MSB (1 April 2012)

elibastianst schrieb:


> also ich habe jetzt die Variablen in der Symboltabelle deklariert. Bei mir MW 60 = Meldewort1.
> Dann habe ich im HMI das Meldewort 1 als Triggervariable und Bit 1 als Triggerbit ausgewählt.
> Anschließend habe ich eine FC Meldungen angelegt und mit dem Eingabe Notstop eine Zuweisung angesteuert.
> Die Zuweisung spricht den Merker 60.0 an. Was genau meinst Du den mit Meldung1 - x? Und brauche ich dann überhaupt noch einen DB Meldungen?



Du brauchst keinen DB.
Mit Meldung 1 - x meine ich einfach die Symbole die ich den M30.0 - M31.7 bzw. bei dir halt dann M60.0 - M61.7 gegeben habe.
Sinnvoller wäre natürlich auch eine "aussagekräftige" Symbolik, z.B. STG_Motor_1 oder so ...

Mfg
Manuel


----------



## elibastianst (2 April 2012)

Hallo Manuel,

ich habs jetzt doch mit Merkern realisiert. 
Habe das Programm heute auf die Anlage geschoben und alle Meldungen funktionieren bestens.
Du hast mir echt geholfen. Vielen Dank nochmal dafür!!

Gruß Sebastian


----------



## nichtswisser (4 April 2012)

Hallo!
ich bin totaler anfänger im bereich Visualisierung und möchte  mir das ganze selber etwas beibringen. Ich scheitere auch an dem  problem. Ich möchte, daß ein Bild(z.B.Störung) nur erscheint, wenn z.b.  ein Eingang  oder Merker aktiv ist. hab schon ewig rumprobiert, klappt  aber irgendwie nicht. 
Das kann doch nicht so schwer sein, oder? kann mir jemand helfen oder sogar nen screenshot von der lösung schicken?

Verwende  TIA V10.5 SP1

Danke für euere Tips


----------



## elibastianst (4 April 2012)

Hallo,

also ich habe ja an gleichem Problem lange rumprobiert.
Habe es mit Hilfe des Forums wie folgt hinbekommen:

Zuerst muss in der Variabletabelle ein Merkerwort und die Merker deklariert werden. Das sieht folgendermaßen aus.

*Name                       Datemtyp                    Adresse
*Meldewort_1             UInt            z.B.      MW50
Meldung_1               Bool                        M50.0
-
-
-
-
Meldung_8               Bool                        M50.7

Anschließend kann in einem FC eine Zuweisung angesprochen werden.
Die Zuweisung bekommt dann die Variable M60.0 (Meldung_1) zugewiesen und wird mit z.B. E0.0 angesteuert. 
Wird der Eingang 1 wird der Merker 60.0 ebenfalls auf 1 gesetzt.
Der FC muss natürlich im OB ein eingefügt werden.

Anschließend kann unter HMI Meldungen die Bitmeldung angelegt werden.
Die ID wird automatisch vergeben. Der Ereignistext ist beliebig.
Meldeklasse      = z.B. Warnung


----------



## elibastianst (4 April 2012)

Hallo,

also ich habe ja an gleichem Problem lange rumprobiert.
Habe es mit Hilfe des Forums wie folgt hinbekommen:

Zuerst muss in der Variabletabelle ein Merkerwort und die Merker deklariert werden. Das sieht folgendermaßen aus.

*Name                       Datemtyp                    Adresse
*Meldewort_1             UInt            z.B.      MW50
Meldung_1               Bool                        M50.0
-
-
-
-
Meldung_8               Bool                        M50.7

Anschließend kann in einem FC eine Zuweisung angesprochen werden.
Die Zuweisung bekommt dann die Variable M60.0 (Meldung_1) zugewiesen und wird mit z.B. E0.0 angesteuert. 
Wird der Eingang 1 wird der Merker 60.0 ebenfalls auf 1 gesetzt.
Der FC muss natürlich im OB ein eingefügt werden.

Anschließend kann unter HMI Meldungen die Bitmeldung angelegt werden.
Die ID wird automatisch vergeben. Der Ereignistext ist beliebig.
Meldeklasse      = z.B. Warnung
Triggervariable   =  MW50
Triggerbit          = 8

Nun kann über eine Meldeanzeige in einem HMI Bild der Ereignistext beim angesteuertem E0.0 angezeigt werden.

Hoffe Du kommst so klar.
Ansonsten einfach nochmal melden.

Gruß


----------



## nichtswisser (4 April 2012)

servus und danke für die hilfe. 

Habs mal versucht, hat bisher noch nicht geklappt. 
Allerdings möchte ich nicht einen meldetext in einem HMI Bild anzeigen lassen sondern einen Bildwechsel erzeugen.
D.H. Wenn z.B. ein Eingang oder Merker gesetzt wird soll  das Display auf ein anderes Bild springen.

Brings einfach nicht hin...
Hilfe!!!!!!


----------



## elibastianst (4 April 2012)

Hi, 

also wie man einen Bildwechsel erzeugt ist mir auch nicht klar.
Das halte ich aber auch nicht für sinnvoll.
Du kannst aber ein Bild oder einen Button o.ä. als Meldung über Animation oder Sichtbarkeit 
erscheinen lassen wenn eine Zustandsänderung am Eingang eintritt.
Wo genau liegt  denn dein Problem.
Für eine klassische Meldung könnte ich versuchen Dir ein paar Sreenshots zu machen.

Gruß


----------



## elibastianst (4 April 2012)

Hi hier mal die Screenshots dazu...
.


----------



## nichtswisser (5 April 2012)

danke elibastianst für deine hilfe.
das funktionert inzwischen auch einwandfrei.

Trotzdem hätte ich gerne gewusst, wie ich bei einer Anstehenden Meldung(Fehlermeldung auf einem Merker oder Eingang) einen automatischen Bildwechsel erzeugen kann.
Ich habe mehrere Bilder, zwischen denen ich auswählen kann. Sollte ein Fehler anstehen, möchte ich, dass automatisch das Bild"Störmeldungen" erscheint, damit der Benutzer(Maschinenbediener/Hilfsarbeiter) SOFORT auf dem Display erkennen kann, daß ein Fehler ansteht, ohne daß er erst durch umschalten der Bilder in das Bild "Störmeldungen" kommt.
Ich hoffe, hier kann mir jemand weiterhelfen.

D
A
N
K
E


----------



## elibastianst (5 April 2012)

Hi, also bei dem Bildwechsel kann ich Dir leider nicht helfen.
Um den Benutzer auf eine Störmeldung aufmerksam zu machen ohne erst einen Bildwechsel durchführen zu müssen
wird üblicher Weise der Meldeindikator verwendet der bei anstehenden Störungen duch das gelbe Warndreieck anzeigt,
das Störungen anstehen. Das Warnzeichen wird immer auf der Seite angezeigt, auf der Ich gerade arbeite.
Der Meldeindikator bleibt angezeigt, bis die Stöhrungen beseitigt und die Meldungen quittiert werden.
Hier müstest Du dann aber doch wieder mit Meldungen, Meldeklassen und einem Quittierkonzept arbeiten.


----------



## Sinix (10 April 2012)

nichtswisser schrieb:


> danke elibastianst für deine hilfe.
> das funktionert inzwischen auch einwandfrei.
> 
> Trotzdem hätte ich gerne gewusst, wie ich bei einer Anstehenden Meldung(Fehlermeldung auf einem Merker oder Eingang) einen automatischen Bildwechsel erzeugen kann.
> ...



Das was du meinst solltest du mal in der online-Hilfe unter LOOP-IN-ALARM recherchieren, kann das KTP aber wahrscheinlich nicht, da brauchst du ein Windows CE-HMI.

Hier mal 3 Alternativen, die ich alle schon benutzt habe:

1) Eine in der Vorlage verankerte Meldetaste, diese per Sammelmerker einblenden bzw. blinken lassen
2) Eine Einzeilige Meldeanzeige, die immer die neueste Meldung anzeigt, ebenfalls in der Vorlage verankert
3) Stichwort: Meldeindikator, aber kann sein, dass das KTP600 das auch nicht kann

MfG
MK


----------



## B4D_Dr1ft (10 April 2012)

Moin! 
Bei mir Klappt es auch 

ergänzend wäre nur noch zu sagen das 
M50.0 = MW50 Bit 8 
M50.1 = MW50 Bit 9 
M50.2 = MW50 Bit 10
usw.

Das war nen punkt wos bei mir geharkt hatte weil ich mit Bit 0,1,2, usw. rum probiert hatte...


----------



## Verpolt (10 April 2012)

nichtswisser schrieb:


> Trotzdem hätte ich gerne gewusst, wie ich bei einer Anstehenden Meldung(Fehlermeldung auf einem Merker oder Eingang) einen automatischen Bildwechsel erzeugen kann.
> Ich habe mehrere Bilder, zwischen denen ich auswählen kann. Sollte ein Fehler anstehen, möchte ich, dass automatisch das Bild"Störmeldungen" erscheint, damit der Benutzer(Maschinenbediener/Hilfsarbeiter) SOFORT auf dem Display erkennen kann, daß ein Fehler ansteht, ohne daß er erst durch umschalten der Bilder in das Bild "Störmeldungen" kommt.
> Ich hoffe, hier kann mir jemand weiterhelfen.



Man kann den Steuerungsauftrag 51 (Bildanwahl) dafür benutzen.


----------



## B4D_Dr1ft (11 April 2012)

Bei mir hat sich jetzt noch folgendes Problem ergeben. 

Ich habe als Uhr und Datums anzeige die Systemzeit lesen lassen (PLC) nun ist aber in den meldungen die Uhrzeit und das Datum der HMI verzeichnet kann ich diese auch noch irgendwie so ändern das dort die system zeit genommen wird?


----------



## Verpolt (11 April 2012)

Hallo,

Bereichszeiger Datum/Uhrzeit anlegen.

SFC0/1 benutzen.


----------

