Temperaturüberwachung mit Anzeige auf TP177A

Zuviel Werbung?
-> Hier kostenlos registrieren
Danke :)

Aber komm leider noch nicht sehr weit.
Es handelt sich um 8 PT100 die eingelesen und verarbeitet werden sollen.
Wollt dann später bei best. Temperaturen Ausgänge schalten um Warnungen bzw eine Maschinenabschaltung zu realisieren.
(Bei uns brennts aufgrund überhitzter Walzen ab und zu ;)

Mag bisl dumm klingen, aber es fängt schon damit an in welche Bausteine was geschrieben wird... Wie es verarbeitet wird usw.

Hab mich damit wohl bisl übernommen...
 
Zuletzt bearbeitet:
Hab mich damit wohl bisl übernommen...

na? wer wird denn da die flinte ins korn werfen? hab mir grad im überfliegenden modus einen überblick verschafft, finde wir sollten das TP erstmal außen vor lassen und uns um die wesentlichen dinge kümmern...

ALSO:

deine hardware ist mittlerweile richtig konfiguriert und die systemdaten sind auch schon alle auf der CPU?

sehr schön, dann gilt es nun funktionsgruppen zu bilden ...

wir machen einen baustein der dir die analogwerte in realwerte wandelt um damit dann besser weiterarbeiten zu können. dieser baustein wird dann für alle Pt100 eingesetzt, eben nur mit unterschiedlicher beschaltung ... dafür reicht ein FC

dann machen wir einen baustein mit drei schaltpunkten, also einem wert-eingang und drei schaltpunkt eingängen und eben auch drei schaltpunkte, also dreimal bool out ... FC oder FB, müssen wir uns noch überlegen ...

das sollte erstmal für den anfang reichen ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also habe ich jetzt im FC 1 stehen

L PEW 272
ITD
DTR
L 1.000000e+001
/R
T MD 10


L PEW 274
ITD
DTR
L 1.000000e+001
/R
T MD 20 ///und so weiter für die einzelnen Eingänge?


Und zb im FC 2

L MD 10
L Vergleichswert????
>=D
= M 10.1 (z.b.)

????????????????
 
Zuletzt bearbeitet:
wir sind auf dem richtigen weg ...

1. code im Forum bitte mit [code ] hier der code [/code ] posten (jeweils ohne space!)

2. wir wollen einen FC machen, der für alle Pt100 funktioniert, also machen wir einen neuen, sagen wir einen FC 10

aufmachen und dann legen wir uns erstmal eine IN-OUT-Struktur an ... da gibt es oben einen Fensterteil da steht Schnittstelle, IN, OUT, TEMP bla gedöns ... wenn du das nicht siehst, mal mit der Maus bis unter die Buttonleiste gehen, bis ein Doppelpfeil erscheint, anklicken, runterziehen...

wir wollen einen Analogwert skalieren, also brauchen wir einen IN. Name: Pt100, Datentyp ist WORD, Kommentar dazu: Widerstandsthermometer

(normalerweise würde ich jetzt hier noch einen Force und einen Offset-Wert und die Skalierungsgrenzen mit angeben, macht aber bei dieser einfachen Funktion keinen Sinn, wir wollen einfach nur mal sehen, wie ein Baustein erstellt wird, den wir immer wieder aufrufen können, ohne immer wieder die selbe struktur zu schreiben)

der skalierte Wert muß ja auch irgendwo hingeschrieben werden, als brauchen wir ein OUT, Name: Temperatur. Datentyp? Richtig! REAL ... Kommentar nicht vergessen, bei mir steht "skalierter Temperaturwert"

was du jetzt noch machen mußt ist voll super pipi einfach, das könnte mein Neffe, der ist grad 6 Monate geworden :rolleyes:

im Netzwerk 1 schreibst du jetzt das, was du schon in deinem FC1 stehen hast - nur anders!

Code:
*
      L     #Pt100
      ITD   
      DTR   
      L     1.000000e+001
      /R    
      T     #Temperatur

Baustein und Netzwerkkommentare nicht vergessen, speichern, schließen.

jetz gehen wir mal in deinen FC1 zurück, da schmeißen wir die ganze Skalierung gnadenlos raus, sorry, was muß, das muß...

AWL oder KOP/FUP ... egal (ist die Übersicht links zu sehen? wenn nicht einfach mal Strg+K drücken) ... da gibt es einen Unterpunkt "FC Bausteine", da gucken wir mal was drinnen ist ... ah, der FC10, genau den brauchen wir jetzt, Doppelklick, schon sollte er im ersten Netzwerk erscheinen (bei Fehlermeldungen OK drücken, das Netzwerk anlegen und den Eingabebereich aktivieren)

da ist er, der FC10, an den IN "Pt100" schreibst du jetzt das PEW deines ersten Pt100, an den OUT "Temperatur" dein MD das du gern verwenden möchtest ... Strg+R (neues Netzwerk) ... FC10 im Baum doppelt klicken, mit dem zweiten Pt100 beschalten ... usw. usf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank!

Und nu?? :D

Nu?? Nu machen wir einen Baustein FC11, ähnlicher Aufbau, für deine Schaltpunkte! IN wäre da einmal dein REAL "tempereatur", die drei Schaltpunkte als REAL und drei OUT Schaltpunkt 1, 2 und 3 ... mach mal nen FC und bau eine Hysterese ein, also Schaltpunkt 1 ist 1 wenn Temperatur < Temp-Schaltpunkt 1 -5 und > Temp-Schaltpunkt 1 + 5 ... Viel Spaß!
 
da bin schon wieder überfordert glaub ich :confused:

wieso? wenn du deine überforderung in worte fassen würdest, könnte man dir besser helfen :rolleyes:

du meinst bestimmt, wie mach ich da jetz ne hysterese, ich hab bisher doch immer nur auf einen wert verglichen ...

ich glaub es war so < Betriebstemperatur = schaltpunkt 1 (alles i.o)

> betriebstemperatur und < schaltpunkt 2 temperatur = schaltpunkt 2

wenn dir das reicht, dann vergiss die hysterese ... is sowieso mehr was für nen FB, das machen wir dann ab post 50 :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sollte es z.B so aussehen?

Code:
NW1

L #Temperatur          // eingelesene Temperatur  
L #Betrieb                // innerhalb Betriebstemperatur
<=R
= "Alles i.O." (A1.0)    // Ausgang alles OK

NW2

L #Temperatur           // eingelesene Temperatur  
L #Hupe                   // Betriebstemperatur überschritten
>=R
= "Warnsignal" (A1.1)  // Hupe wird geschaltet

NW3

L #Temperatur           // eingelesene Temperatur  
L #Notabschaltung     // Abschalttemperatur überschritten
>=R
= "Anlage AUS" (A1.2)  // Anlage in NOT-AUS

Hast ja echt ne Geduld mit mir ;) Vielen Dank!!
 
fast! die " ersetzen wir durch # ... wir wollen ja lokal adressieren und nicht global ... ansonsten ist das schon sehr schick, sogar mit befehlskommentar - respekt! ... das ist jetzt dein FC11? den kannst du dann jetzt auch im FC1 aufrufen, anbieten würde sich, nach der Skalierung direkt die Auswertung aufzurufen
 
Ja das ist mein FC11

Hmm

Also in der IN-OUT Struktur im OUT müssten die #xxx doch stehen??
Sind aber bei mir rot unterlegt!?

Code:
NW1

L #Temperatur          // eingelesene Temperatur  
L #Betrieb             // innerhalb Betriebstemperatur
<=R
= #Betrieb_1"           // Alles OK

NW2

L #Temperatur           // eingelesene Temperatur  
L #Hupe                 // Betriebstemperatur überschritten
>=R
= #Hupe_1               // Hupe wird geschaltet

NW3

L #Temperatur           // eingelesene Temperatur  
L #Notabschaltung       // Abschalttemperatur überschritten
>=R
= #Notabschaltung_1       // Anlage in NOT-AUS
IN-OUT Struktur

IN
Temperatur
Betrieb
Hupe
Notabschaltung

OUT
Betrieb_1
Hupe_1
Notabschaltung_1

Alles als Datentyp Real!?
 
Zuletzt bearbeitet:
nee ... ein =, R, S, U, O weist uns doch immer auf eine Bitverknüpfung, also eine BOOL-Variable hin ... die Ausgänge sind alle BOOL

(das eine " im ersten vergleich ist sicher ein Flüchtigkeitsfehler)

Das war ein Flüchtigkeitsfehler ;)

Gut soweit hätte ichs auch.

Im FC 1 neues NW und dann

Code:
CALL FC11
   Temperatur        :=
   Betrieb              :=
   Hupe                 :=
   Notabschaltung   :=
   Betrieb_1           :=
   Hupe_1              :=
   Notabschaltung_1:=

Alles bis auf CALL FC11 in rot

Komm mir langsam blöd vor hier :|
 
nun gilt es den baustein zu beschalten ... bei temperatur kommt der skalierte temperaturwert dran, dann die schaltpunkte als festwerte und die ausgänge, ich würd sie vorerst auf merker legen ... und das für deine acht messungen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
bei temperatur kommt der skalierte temperaturwert dran
:confused: also zb MD10

dann die schaltpunkte als festwerte

Wie hab ich das anzugeben??


und die ausgänge, ich würd sie vorerst auf merker legen ... und das für deine acht messungen

Also das, was ich eben schon machen wollte? ;)

z.B.

Betrieb = M 10.1
Hupe = M 10.2
Notabschaltung = M10.3
 

ja, z.b. MD10 für das erste Pt100 - Temperatursignal, MD14 für das zweite usw. ...

Wie hab ich das anzugeben??

z.b. 30.00 ... wandelt der editor automatisch in 3.000000e+001



Also das, was ich eben schon machen wollte? ;)

z.B.

Betrieb = M 10.1
Hupe = M 10.2
Notabschaltung = M10.3

genau, wobei ich für betrieb, hupe und notabschaltung jeweils ein eigenes byte benutzen würde, also z.b. betrieb M20.0 bis M20.7, hupe M21.0 bis 21.7 ... dir fällt sicher auf, dass das genau 8 sind ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
der nächste schritt wäre ein FC12, der macht uns die Auswertung der einzelnen Betriebs-/Störbytes

hab da mal was vorbereitet:

Code:
*
      L     #in
      L     W#16#FF
      UW    
      L     255
      <I    
      =     #status
zwei tipps: #in ist als BYTE definiert und dein meldebyte sprechen wir mit MB an (das aber dann erst beim aufruf) ... an status dann die grüne lampe für betrieb, die hupe für "na aber - zu warm" und die abschaltung ... also dreimal aufrufen ... ich denke mal im FC1 ist das angebracht, auch wenn ich gerade mit dem gedanken liebäugle einen FC3 dafür anzulegen :rolleyes: ... dann bräuchten wir aber auch einen FC2 für die auswertungen, also den FC11 ... das wäre mal wirklich übersichtlich, vorrausgesetzt es existieren Symbole!
 
Zuletzt bearbeitet:
Also jetzt komm ich garnicht mehr mit...
FC2 also FC11??

Hmm hab jetzt Feierabend. und den Rest der Woche Urlaub... :(
Würd jetzt sehr gern weitermachen :)

Vielen lieben Dank bis jetzt!!
 

nee, natürlich nicht ... mir ging nur grad durch den kopf den FC1 als INPUT-SCAN zu nehmen, den FC2 zur auswertung und den FC3 als OUTPUT-SCAN ... darin lassen wir dann die aufrufe so, also im FC1 acht mal den FC10, im FC2 acht mal den FC11 und im FC3 drei mal den FC12 (wobei der noch anders ist, als das, was wir vorher geproggt haben, denn er reagiert auf ein fehlendes bit, nicht auf ein oder mehrere bits, die da sind ... denn dafür müßte er so aussehen:

Code:
*
      L     #in
      L     W#16#FF
      UW    
      L     0
      <>I   
      =     #alarm
... aber das nur am rande)
 
Zuletzt bearbeitet:
Zurück
Oben