Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all 49515 articles
Browse latest View live

Suche Sollwert Baustein dazu ein Zeitglied

$
0
0
Hallo ,

Bin sehr neu hier im Forum .

Seit einigen Monaten befasse ich mich mit Codesys.

Zur Zeit stecke ich bei einem Problem fest. Ich hoffe ihr könnt mir helfen.

Gibt es einen Baustein der Ausgänge so schaltet (Oder Baustein Kommbinationen), das wenn der Sollwert (Durchfluss) (HYST) unterschritten wird einen Augang A ausgibt und wenn er überschritten wird einen Ausgang B ausgibt .
Dazu möchte ich ein Schieber ansteuern der kein Istwert-Geber auch keine Endlageschalter hat,d.h. ich möchte ihn mit einem Zeitglied nehmen z.B. (BLINK o.ä.) in 3s fahren lassen (AUF o. ZU) dann 15s warten bis die Sollwerte kommen, um so näher er aber dem Vorgegeben Sollwert kommt um so langsamer sollte sollte der Schieber fahren , also das Zeitglied Takten.

Jetzt bräuchte ich jemand der mir die Gewissen verknüpfungen im Kopf bringt , etwas in die richtige Richtung leitet was ich für Bausteine benötige.


Besten Dank mal für Tips im Voraus.


Gruß Micha

Verständnisfragen zu property

$
0
0
Moin,

kann mir jemand mal einen kurzen Abriss zu properties geben? Da sind mir ein paar Kleinigkeiten noch nicht ganz klar.

Laut https://infosys.beckhoff.com/index.p...347-1.html&id= ruft TwinCAT ... diese Methoden automatisch auf, sobald ein Lese- oder Schreibzugriff auf den Funktionsbaustein erfolgt, der die Eigenschaft implementiert. Kann mir das jemand etwas genauer erkären?

Auf der verlinkten Seite ist beschrieben:

TwinCAT ruft den Set-Accessor auf, wenn auf die Eigenschaft schreibend zugegriffen wird, das bedeutet, Sie verwenden den Namen der Eigenschaft als Eingabeparameter.

TwinCAT ruft den Get-Accessor auf, wenn auf die Eigenschaft lesend zugegriffen wird, das bedeutet, Sie verwenden den Namen der Eigenschaft als Ausgabeparameter.


Gemäß des Beispiels hab ich das so verstanden. Aber was fange ich mit der property jetzt an? Mit ist der Sinn hinter dem ganzen ehrlich gesagt nicht ganz klar.

Code:

FB_Lampe
VAR
  xLichtIstAn: BOOL;
END_VAR

Code:

PROPERTY P_LichtIstAn: BOOL

GET
  P_LichtIstAn := xLichtIstAn;

SET
  xLichtIstAn := P_LichtIstAn;

Gruß
Jörn

Sonstiges Die neue Hardware - Siemens-Geniestreich

$
0
0
So, nun hatte ich die tatsächlcih auf dem Tisch liegen, die neue 1515. Ich darf sagen: "ICH BIN GESCHOCKT" Obwohl, das ist ja bei Siemens nichts Neues.

Hier mal ein paar Fotos:

Hier sieht es ja fast aus, als hätte man das Vorgängermodell.
IMG_4307.jpg

Ah, eine Klappe, dachte ich.
Und dann: Wozu ist die da????
Rechts der Schacht ist leer, vielleich soll da mal der Henkel zum wegschmeißen eingeklinkt werden?
IMG_4308.jpg

Und das ist der Hammer, wer bitte kommt auf so eine schäge Idee?
Die Profinetanschlüsse sind von unten in einem Schacht zugänglich. (Oder besser unzugänglich)
Da bekommt man ein Kabel nur rein oder raus, wenn man die SPS von der Wand nimmt.
An die Verriegelungshaken der Stecker kommt man schon gar nicht.
IMG_4309.jpg

Fazit zum Design: *ROFL*
Angehängte Grafiken

Step 7 OB81 Stromversorgungsfehler bei kommenden / gehenden Ereignis => Grundsatzfrage

$
0
0
Guten Morgen zusammen,

ich habe eine grundsätzliche Frage zum OB81 ( Step7 V5.5 an einer beliebigen 400ér Steuerung ).
Der OB81 ( Stromversorgungsfehler ) wird ja bei kommenden und gehenden Ereignis aufgerufen,
z.B. wenn die Batterie leer ist oder die 24V des PS405 / PS407 ausgefallen sind.

Meine Frage ist, wird der OB81 auch einmalig aufgerufen, wenn der Fehler permanent ansteht und
die SPS eingeschaltet wird? Also direkt z.B. vor oder nach dem OB100 Aufruf? Ich konnte in der Step7
Hilfe keinen Hinweis dazu finden und ich habe gerade keine 400ér HW hier zum probieren.

Danke :-)

WEBINAR / Von der Anlage in die Cloud in 4 Schritten

$
0
0


Der IoT-Zug nimmt Sie mit auf Fernwartungsreise!

Sie möchten über die Zustände Ihrer Maschine Bescheid wissen, um Service-Zeiten zu reduzieren? Oder Ihre Bestandsanlagen im Zuge eines Retrofits anbinden?
Dann steigen Sie in unseren IoT-Zug, der an fünf Stationen Halt macht: Am Beispiel unserer Modelleisenbahn erklären wir Ihnen Schritt für Schritt, wie Sie Ihre Anlagen anbinden und Daten sicher in eine Cloud-Umgebung bringen. Hier unser Fahrplan:



  • Start-Bahnhof: SPS
  • Zweiter Halt: VPN-Dienst
  • Zwischenstop: Routerkonfiguration
  • IoT-Bahnhof: icom Data Suite
  • Endstation: Cloud


Zur Anmeldung und weiteren Themen und Terminen geht es HIER entlang!

Step 5 WF470 Laden - wie?

$
0
0
Hallo zusammen,

bei einer unserer ältesten Anlagen ist eine WF470 eingebaut 6FM1470-3BA25 mit einem 64kb Ram Modul.


Das ganze geht per RGB an ein Farbpanel mit Tasten die über Digitaleingänge angeschlossen sind.

Anfänglich ließ sich das Bild nicht mehr umschalten, auch die Störmeldungen wurden nicht aktualisiert.
Nach Spannungslos machen der SPS kommt jetzt gar kein Bild mehr.
Am Monitor liegt es nicht.

Also dürfte die Karte den Geist aufgegeben haben!?
Eine Ersatzkarte ist am Weg, altes PG740 am Start mit WF470Win oder so ähnlich. Projekt ist auch vorhanden.


Nur keiner da der das schon mal gemacht hat. :p

Also wie gehe ich richtig vor beim laden? Gibt es da eine Step by Step Anleitung?

Danke für eure Zeit!

LG
Michael

Sondermodus in eine Sicherheitsfunktion integrieren

$
0
0
Hallo Forum Community,

nach dem ich schon eine Weile still in diesem Forum mitlese und auch schon einige sehr gute Tipps nutzen konnte, habe ich meine erste Fragestellung an die Community. Ich hoffe es kann mir geholfen werden.

Beschreibung:
- In einem hydraulischen Prüfstand werden Blöcke mit Hydrauliköl verschieden Prüfungsprozeduren unterzogen, dabei wird ein Hochdruck und Volumenstrom erzeigt. Der Prüfer stellt während der Prüfung die verschiedenen Ventile im Block ein und muss daher unmittelbar an die Prüflingsadaption hineingreifen, dazu öffnet er die Schutzhaube.

Sicherheitsfunktion Hochdrucktest aktuell:
Sensor: - Sicherheitszuhaltung mit PLe
- Zweikanaliger Druckschalter mit PLd

Logik: eine CPU mit PLe

Aktoren: Verschiedene Schütze für die E-Motoren/Pumpen mit Rückmeldekontakten

Programmierung:
Haube muss geschlossen sein, Hochdrucktest wird gefahren, wird mit Druckschalter über eine bestimmte Zeit Hochdruck sensiert, ist die Hochdruckprüfung erfolgreich und und die Haube kann im weiteren Prüflauf geöffnet werden.

Grob, mit dem erfolgreichen Hochdrucktest hat man sicher gestellt, dass alle Öffnung im Block verschlossen, die hydraulischen Adaptionen gesetzt/dicht sind. Es besteht durch Hochdruck keine Gefahr mehr.

Soweit so gut, jetzt die neue Anforderung des Betreibers!

Er möchte in der Lage sein, die Anlage in einem Sondermodus ohne den Hochdrucktest zu betreiben bzw. die eigentlich Prüfung zu starten. Der Sondermodus wird nur selten benötigt, um neue Produkte einzufahren bzw. zu parametrieren.

Idee ist,

der Bedienerkreis ist eingeschränkt auf zwei Personen, die sich in der HMI anmelden mit einem Code oder einem Magnetchip und noch dazu einen Wahlschalter umlegen müssen.

Meine Frage jetzt, wie kann ich die Sicherheitsfunktion mit der Anmeldung, dem Wahlschalter aufbauen? Ist das überhaupt eine Schutzfunktion?

Wahlschalter und HMI Bit sind meine Sensoren? Logik wäre ja klar. Aber was ist mein Aktor? Im Prinzip wird ja eine ganz andere Prozedur freigegeben.

Ich stehe da gerade auf dem Schlauch und hoffe das mir jemand einen Anstoß geben kann.

Beste Grüße
A.Kosnak

TIA ProDiag Systemmeldungen unterdrücken

$
0
0
Hallo zusammen!

Bei einer Anlage wird über Nacht ein Teil der Anlage stromlos gemacht, weshalb Profinet Teilnehmer offline sind.
Es wurden managed Switches und eine Topologie projektiert. Es wird ProDiag verwendet. TIA V16.

Wenn die Teilnehmer gewollt offline sind, würde ich diese Systemmeldungen gerne unterdrücken / sperren.

Gibt es da Standard-FB's oder kann man das irgendwo einstellen?

Danke schonmal :D
Grüße!

Log4TC - Log-Erweiterung für TwinCAT3

$
0
0
Wir möchte Ihnen die brandneue Log-Erweiterung für TwinCAT3 vorstellen.
Log4TC ist eine Erweiterung für TwinCAT3 von Beckhoff, um direkt aus der SPS Logmeldungen erzeugen zu können.
Die Meldungen können transferiert, gefiltert, ausgewertet und an verschiedene Ausgaben weitergleitet werden.

architektur.png

Features:
- Einfache API für die Integration in die SPS
- Strukturiertes Logging
- Unterstützung von Context-Eigenschaften auf verschiedenen Ebenen
- Performant und modular
- Kostenlose Testversion verfügbar
- Lizenzierung über Beckhoff-Mechanismus in Dongle, Klemme oder PC
- Unbegrenzte Ausgabemöglichkeiten (Textdatei, Datenbank, Cloud, usw.)

Log4TC implementiert Ausgaben über ein Plugin-System. Standardmässig bei der Auslieferung ist die NLog-Ausgabe aktiv. Die Ausgabeplugins werden laufend erweitert, die nächsten Plugins sind Ausgaben für Graylog und InfluxDB.
Bei Bedarf können wir auch kundenspezifische Ausgaben erstellen.

Typische Anwendungsfälle für log4TC:
- Fehlertracking und Alarmierung
- Debugging von sporadischen Fehlern ohne Breakpoints
- Ablaufanalysen bei Problemen auch im Nachhinein (Post mortem Analysen)
- Statistische Auswertungen, z.B. KPI

Mehr Infos zum Produkt

Sie können das Produkt ohne Funktionseinschränkungen für 24h nach Aktivierung testen.
Für Feedback und Anmerkungen sind wir sehr dankbar – kontaktieren Sie uns und wir sprechen unverbindlich über die Möglichkeiten von Log4TC.
Angehängte Grafiken
Angehängte Dateien

Datensatz lesen/schreiben Siemens Motorstarter M200D

$
0
0
Hallo zusammen,

ich bin derzeit am Programmaufbau für eine Motorstarteranlage mit dem Siemens M200D mittels Profinet. Bei diesem Gerät kann man mittels SFB52 die Datensätze aus dem Motorstarter auslesen, was auch sehr gut funktioniert. Mit dem SFB53 sollte man auch die Datensätze wieder zurückschreiben können und genau da liegt mein Problem. Ich habe wie im Handbuch auf Seite 209 beschrieben, den Datensatz 131 mit diversen Motorparametern ausgelesen und hatte in der HW Konfiguration einen Motor Ie von 3,2A eingetragen. Jetzt würde ich gerne das Programm so aufbauen, dass ich mittels HMI diesen Motorstrom verändern kann bei einem Tausch und somit wieder zurückspielen kann ohne ein PG zu brauchen. Ich habe den ganzen Tag damit verbracht hier eine Lösung zu finden. habe es aber nicht hinbekommen. Ich habe auch im Byte 0 die 0x21 für Schreiben über azyklischen Buskanal eingetragen vor dem Senden und trotzdem nicht hinbekommen. Der Baustein überträgt mit Rückmeldung "erledigt" und beim neuerlichen auslesen steht wieder die 3,2A drin. Vielleicht hat jemand schon einmal diesen Starter programmiert und dies hinbekommen. Über eine Lösung wäre ich dankbar.

Gruß

Jürgen

eCockpit Datalogger Visualisierung - Error C0046 Bezeichner "INDEX" nicht definiert

$
0
0
Hallo,

ich habe analog zum Wago Beispielprojekt einen Datenlogger implementiert, der in Kanal 1 die Spannung der Messkleme aufzeichnet. Dies funktioniert auch.
Sobald ich aber nun die Visualisierung einfüge und diese mit der Instanz des Datenloggers verknüpfe kommt der folgende Fehler beim kompilieren.

Woran liegt das?

10.jpg11.jpg12.jpg13.jpg

Vielen Dank schon einmal für eure Hilfe. Ich habe absolut keine Ahnung woran das liegen kann.
Angehängte Grafiken

TIA Checksum berechnen CRC16

$
0
0
Hallo,

ich habe folgendes Problem, ich bekomme von einem Teilnehmer über die gute alte RS232 Schnittstelle einen String übertragen (56 Zeichen lang) danach kommt die Checksum (2 Zeichen) und zum Schluss ein CR (1 Zeichen). Ich muss in diesem "String" ein paar Daten ändern und dann einfach weiterleiten, jedoch muss ich dazu eine neue Checksum berechnen.

Problem:
Art der Checksumberechnung ist nicht bekannt hab jedoch herausgefunden (durch testen, ...) dass es ich hierbei um ein "CRC16_XMODEM" handelt. Jedoch stimmt es nicht ganz, mir ist z.B. aufgefallen, dass bei manchen Konstellationen der Checksum die Checksum verändert wird.
z.B.

Aus Checksum[0] = '(' wird ')'

Aus Checksum[1] = '$0A' wird '$0B'
Aus Checksum[1] = '$0D' wird '$0E'
Aus Checksum[1] = '(' wird ')'

mehr Veränderungen sind mir bis jetzt noch nicht aufgefallen, ich kann jedoch nicht ausschließen, dass die alle Veränderungen sind.
Meine Frage lautet nun ob jemand eine Idee hat um welche Berechnung es sich handelt oder ob es eine Liste gibt, was sich alles Verändert?

Vielen Dank im Voraus

Mfg Florian

Micro sd karte 1 TB formatieren

$
0
0
Hallo
Ich habe mir Micro sd karte 1 TB gekauft und möchte als FAT 32 formatieren.
Leider es klappt nicht.
Ich könnte nur als exFAT formatieren. Andere Formate gehen nicht.

Hat jemand schon welche Erfahrungen damit?
Gruß

Machbarkeit eines einfachen Drehmomentschraubers mit einem Servosystem von Siemens

$
0
0
Hallo,

ich habe hier eine alte Schraubersteuerung von WEBER die in die Jahre gekommen ist und wofür es keine Ersatzteile (Steuerung und Servomotor) gibt. Da es sich um eine einfachere Anwendung handelt, hatte ich die Idee die Steuerung und Motor gegen ein Servosystem von Siemens tauschen. Haltet ihr das grundsätzlich für machbar? Welches System von Siemens wäre dafür geeignet? Hat sowas schon mal jemand gemacht und kann ein paar Tipps dazu geben? Vielleichtgibt es ja auch schon eine Applikation und ich finde sie nur nicht!
Oder doch lieber vom Hersteller alles neu kaufen?

Danke und Gruß Tommy

Struktur Twincat 5

$
0
0
Hallo zusammen

Ich möchte in meiner Steuerung Strukturen erstellen, leider fehlt mir noch etwas das verständnis dafür oder ich kann mir noch nicht ganz vorstellen wie weit ausweiten lässt.


Folgendes ist mir soweit klar, das man einen DUT erstellen kann mit verschiednen variablen enthalten und diesen danach mehrfach instanzieren kann z.B. in der GVL Liste.
Lassen sich nun auch noch Funktionen damit verknüpfen, zum Beispiel wenn ich immer das gleiche Messgerät über Modbus auslesen möchte?


Gruss

Philipp

WinCC Flex TIA V16 WinCC Advanced mit VBScript aktive Meldungen auslesen

$
0
0
Hallo zusammen,

ich bin gerade dabei etliches am HMI zu loggen.
Unter anderem möchte ich mir von einer aktiven Meldungen
(MC Alarm, Systemmeldung, Störung, Warnung) den Text speichern.
Am HMI (TP1200 Compfort) habe ich im Globalem Bild die Meldefenster angelegt,
Warnungen, Störungen, Systemmeldungen. Die Poppen je nach Meldung auf.
Wenn ein Popup angezeigt wird, möchte ich mir den angezeigten Text in ein CSV speichern.
Die Meldetexte der MC Alarme werden per Textlisten über Meldungstypen auf der CPU zusammengesetzt und dann
am HMI angezeigt.
Komm ich per Script irgendwie an den Text der angezeigten Meldung ran?

Vielen Dank im Voraus.
:-)

Typische Latenzen

$
0
0
Hallo zusammen

Ich weiss ehrlich gesagt nicht so recht, zu welchem Forum das am besten passt...
In einer Maschine haben wir eine B&R Steuerung und P3 Servor-Antriebe und einem APC 3300. Als man mich (ich komme aus der Embedded-Welt) dazu verdonnert hat, die von unseren externen Entwicklern umgesetzten Prozesse zu analysieren, hat mich beinahe der Schlag getroffen. Bevor ich den Leuten von ihrer "Leistung" berichte, möchte ich ein paar Vergleichswerte haben. Denn wie gesagt, ich kenne mich mit SPS nicht aus.

Die Zahlen und Informationen, die ich mittlerweile zusammengetragen habe:
Latenz = tin (was das auch immer sein soll) + 2 PowerLink + 1 Task + 2 PowerLink + 1 P3 + tout (auch nicht weiter bekannt)
PowerLink läuft mit 1.6ms, Task-Zeit ist 3.2ms und das P3 arbeitet mit 400us. Wenn man also die obige Kette zusammenzählt, sind das mindestens 10ms "Wartezeit", wenn eine Achse auf Position gefahren ist, und bis dann schlussendlich die nächste Achse von dieser Position "getriggert" wird.
Als ich ein paar Traces aufgezeichnet habe (ich sag nur soviel: bin ich froh, dass ich mit der Toolchain nicht arbeiten muss, denn zum State of the Art in der Embedded-Welt sind da gefühlt 30 Jahre unterschied. Aber das ist ein anderes Thema und tut nichts zur Sache) habe ich Wartezeiten zwischen solchen "Achs-auf-Achs" Aktionen im Bereich von 20-60ms gemessen (nicht einmal konstant??). Und da sind in der FSM nur 2 States (Übergangsbedingung ist das Erreichen der Position).

Da stellte sich für mich die Frage, wer da die Bremse vergessen hat zu lösen;). Über die 10ms Latenz kann man ja noch diskutieren (obwohl das schon sehr grenzwertig ist, denn eine simple TCP/IP Verbindung ohne RealtimeOS bei Millionen von Internet-Teilnehmern kann in die gleiche Region kommen), aber bei 60ms ist dann definitiv Schluss mit meinem Verständnis.
Vor allem wenn da 30ms auf der Position verharrt wird, 60ms für das kurze Verfahren benötigt werden und dann wieder 30ms gewartet wird. Über den gesammten Prozess ist die Anlage so 20-25% mit Warten "beschäftigt".

Ich sehe momentan folgende Ansätze:
- Akzeptieren, da das wohl so ist (desswegen die Frage nach Vergleichswerten)
- Die Programmierer herzitieren, sodass sie sich mit der Analyse ihrer Prozesse respektive der SPS und der kompletten Bus-Topologie, sowie den Servo-Antrieben auseinander setzen
- Die von den Programmierern geliebte FSM so umbauen, dass überall wo möglich ein ASAP Scheduling gemacht wird, respektive die Trajektorien selber rechnen und die Startpunkte selber händisch ermitteln (würde für mich nur nötig, wenn es um die letzten Millisekunden geht, aber da sind wir noch weit entfernt)

Besten Dank für eure Antworten
Gruss
P51D

Matrizen Rechnen

$
0
0
Hallo zusammen

Ich denke mal, dass Thema ist nicht wirklich neu. Nur hatten wir im Betrieb eine Frage diskutiert, die bis zum Support vom Steuerungshersteller niemand beantworten konnte (allenfalls könnte das jemand aus der Entwicklungsabteilung): Matrizen-Rechnungen werden teilweise ja mit FBs ermöglicht. Werden die dann innerhalb der FBs wieder in einzelne sequenzielle Berechnungen aufgetrennt oder über Hardwarebeschleuniger parallelisiert?
Beispielsweise bei einer Grafikkarte werden ja hunderte von Matrizen parallel verrechnet...
Konkret ging es um eine Kollisionsüberwachung bestehend aus Translations- und Rotationsmatrizen (was zudem viel verständlicher ist als 30 sin/cos-Formeln).

Besten Dank,
Gruss
P51D

Sonstiges Sinumerik MCP 466C-M IE - Daten über PC auslesen

$
0
0
Hallo,

Ich würde gerne die Daten einer Sinumerik MCP 466 Maschinentastatur über Ethernet auslesen und die Eingaben auf meinem PC weiterverarbeiten.
Leider weiß ich nicht, wie man diese Daten genau auslesen kann?..

Hat das von euch schon jemand gemacht?.. bzw gibt es diese Möglichkeit?
Habe in den Dokumentationen die Maschinentastatur leider immer direkt in Verbindung mit einer Sinumerik gefunden...

Würde mich über eine Rückmeldung freuen ;)

LG Stefan

Beckhoff EL6002 zweiter Kanal

$
0
0
Moin moin,

ich bin neu hier und habe sofort mal eine Frage an euch.
Ich möchte über ein Beckhoff inkl. EK1100 und EL6002 diverse RS232 Geräte ansteuern. Mit einem Channel aktiv klappt das schon recht gut. Nun benötige ich aber mehr als 2 Kanäle.
Mein Programm baut auf dem Beispiel 1 in von Beckhoff auf. Ich habe nur alles was mit de KL-Klemme und dem PC-Com Port zu tun hatte raus geschmissen. Wie gesagt läuft ein Kanal ohne Probleme.
Ich habe also testweise alles was mit dem Kanal 1 zu tun hat kopiert und von EL6001 auf EL6002 umbenannt. Damit ich nicht den Überblick verliere habe ich auch die Globalen Variablen (TxBufferEL und RxBufferEL in TxBufferEL6001 und RxBufferEl6001 usw...) umbenennen wollen. Ab dann beschwert sich aber mein Main Programm und die Kommunikation des ersten Kanals funktioniert auch nicht mehr:
"Internal error while object 'MAIN' is providing language model Information: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt".
Damit ich den zweiten Kanal nutzen kann wollte ich einfach neue Buffer für den zweiten Kanal anlegen. Alles weiter umbenennen und dann testen ob der zweite Kanal parallel auch funktioniert.
Kann es sein dass ich irgendwo noch eine Referenz vergessen habe zu ändern/hinzuzufügen? Langsam komme ich ans Ende von meinem Latein. Ich bin auch weit weg davon ein Profi zu sein aber die Grundlagen kenne ich eigentlich schon … zumindest denke ich das.


Beste Grüße
Angehängte Dateien
Viewing all 49515 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>