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

Codesys 3 Raspberry Uhrzeit Auslesen und im Programm verwenden

$
0
0
Hallo zusammen,

meine Steuerung auf TwinCat3 läuft einwandfrei (Beckhoff Controller).
Habe gerade ein Projekt mit nem Raspberry am laufen, wo ich eine "Kopie" von meinem TC3 mal testen möchte.

Habe soweit alles hinbekommen, nur scheitere ich gerade an der Uhrzeit.
Da ich alles in FUB Programmiere, ist es für mich extrem schwer, nur irgendetwas in ST zu verstehen/kapieren.

Im TC3 hatte ich nen Baustein "NT_GetTime". In Codesys für Raspberry funtkioniert das nicht.
Hab mir natürlich die "DateAndTime" Beispiel runtergeladen im Codesys Store und auch angeschaut. Die Uhrzeit in dieser Funktion (Funktionbaustein) wird ausgelesen
und in der Test Visu wird auch mit %t die Zeit und das Datum ausgegeben.

Wenn ich mir nun die Funktion/-en anschaue, werd ich überhaupt nicht schlau daraus. Hier wird (denk ich zumindest) der Zyklische abruf von der Raspberry Zeit und Datum
abgerufen.
OK, das funktioniert ja, aber wie bekomme ich nun z.B. die Stunden im Programm zur Verarbeitung?

IM TC3 Baustein (FUB) hatte ich den TIMESTRUCT Ausgang wo ich dann die Stunde holen konnte (.wHour).

Teste und grüble seit nun 4 Stunden, wie ich die Zeit im Codesys V3 lesen kann aus der Funktion (mit %t funktioniert das ja auch...).

ODER kann man in FUB wie in TC3 ein Uhrzeit Programm schreiben wo alles mit abdeckt? (Zeit, Datum?)...



Danke im Voraus

Grüße

Codesys: Time to Real

$
0
0
Guten Tag, ich möchte mit Codesys v3.5 drei Zeiten vergleichen. Soweit ich weiß kann man dies nicht direkt machen, deshalb möchte ich diese in Real umwandeln. Den Baustein habe ich in ST geschrieben und dort die Anweisung Time_To_Real verwendet, leider funktioniert diese nicht. Die Zeit wird angezeigt, aber nicht mehr in Real umgewandelt.
Auf dem Bild seht ihr meine Idee wie ich das umsetzten wollte.
Ich bekomme keine Fehlermeldung, aber das Konvertieren klappt nicht und die Zeiten direkt zu vergleichen hat auch nicht funktioniert.

Bin grad sehr ratlos und habe keine Idee mehr woran es liegen könnte - vielen Dank schonmal für eure Hilfe :)
Codesys_v3.5_zeitvergleich.JPG
Angehängte Grafiken

TIA Safety Eingang ET200

$
0
0
Hallo Zusammen,
Ich hab seid heute früh folgendes Problem bei einer Erweiterung...
Es ist eine 1500 CPU verbaut mit einigen ET200 Peripherie Anschaltungen. Bei einer davon wird eine Safety Eingang hinzugefügt. (1v1 Auswertung, Kanal 0). Die restlichen Eingänge werden nicht verwendet. Karte ist bei der Diagnose auf „Grün“.
Profisafe Adresse etc. Übergeben.
Nun zu meinem Problem... die LED an der Klemme leuchtet, jedoch ist der Eingang in der Beobachtungstabelle false.
Der Eingang wird auch schon verwendet im Safe-Bereich.
Wenn ich den Draht des Sensors auf einen anderen Kanal einer anderen Safebaugruppe tausche, kommt diesen an. (Sensor Verkabelung somit IO...)
Kanal O ist aktiv mit externen Geberversorgung parametriert...
Habt ihr noch nen Tipp für mich????
Grüße,
Tobi

TIA Hilfe zur Kommunikation mit einem Keyence MD X1000 C - Laser via Profinet

$
0
0
Hallo an alle,
erst mal ein großes danke an das Forum, speziell an Larry und Ralle die mir (unwissentlich) schon zu Techniker Schulzeiten mehr beigebracht haben als die Lehrer :D


Ich arbeite aktuell mit einem MDX-1000C der über ein Portal Positioniert werden kann.
Gesteuert wird das ganze von einer 1515F via Profinet, der bisherige Code ist in SCL und funktioniert recht zuverlässig.

Aufgabenstellung ist wie folgt:

Teil wird eingelegt, per Handscanner eingescannt und anhand der Typennummer wird in einer Datenbank nach den Passenden Positionsdaten und DMC einstellungen gesucht. Mittels des Höhenlasers wird die Bauteilhöhe auf Plausibilität geprüft, im Anschluss positioniere ich den Laseran der Markierungsstelle, dann Laser ich den DMC/Klartext und prüfe ihn mittels des Onboard 2D Codereaders auf Lesequalität B.

Falls das Ergebnis unter Lesequalität B fällt (aufgrund von ölresten und nassen Bauteilen oft der Fall) lösche ich den Barcode, grundiere mehrmals und Laser ihn nochmal.

Was funktioniert ist:
- Layout setzen
- Block anwählen
- String übertragen
- Pilotlaser zuschalten
- Abstandszeiger zuschalten
- 2D Codereader mit Auswertung

Was nicht funktioniert ist ein abwählen bzw nicht markieren spezifischer Blöcke, laut Anleitung soll das funktionieren aber mir gehen die Ideen aus.

Aktuell handhabe ich das etwas unschön indem ich in der Schritt kette sage "wenn Barcode löschen aktiv wähle letztes Programm + 100" dort ist das löschen hinterlegt.

Ich möchte in Zukunft aber vermeiden das das ganze Unübersichtlich wird und möchte Pro Teil ein Programm mit X-blöcken die ich je nach bedarf zu und abschalten kann.


Ich hoffe einer von euch kann mir da weiterhelfen, zur not muss ich eben auf TCP/IP wechseln das scheint mir ausgereifter zu sein vielleicht hat ja einer ne Idee oder hat das ding schon ma mit via TCP/IP betrieben



Grüße

Prozessleitsysteme heute

$
0
0
Hallo zusammen

ich erstelle gerade eine Unterrichtseinheit zum Thema EMSR-Systeme und stelle mir die Frage inwiefern dedizierte PLS wie z.B. ABB Freelance heute noch eine Rolle spielen.

Als ich vor 10 Jahren in der chemischen Industrie meine Ausbildung gemacht habe war das (soweit ich das damals umrissen hatte) der Standard für die kontinuierlichen Prozesse.
Damals hieß es für die vielen Analogwerte und Regelungsaufgaben ist eine SPS nicht gut geeignet.

Ist das heute noch aktuell? Ich denke mittlerweile sind SPSen so leistungsfähig dass das kein Problem mehr ist. Und dort wo die Rechenleistung dennoch nicht ausreicht setzt man eben PCs mit entsprechender Software ein.

Die Ex-Thematik betrifft ja ohnehin die Peripherie, also für die "Zentrale" unbedeutend.

Da ich schon lange nichts mehr in der Prozessindustrie zu tun hatte sondern im "klassischen" Maschinenbau unterwegs bin, würde ich mich über einen Einblick freuen!

Viele Grüße!

Canopen konfigurieren mit e!Cockpit an PFC200 8206 aber wie?

$
0
0
Hallo,

ich habe einen Wago 8206 mit CANopen und Can Layer2. Nun möchte ich in der Konfiguration (Einstellungen) einen CanOpen-Master einbinden. Aber wie?



Mein Problem ist, dass ich den Button im e!Cockpit nicht finde mit dem ich dem CanOpen Manager erstelle.
Im Wago-Handbuch von e!Cockpit in Abschnitt 7.2.3.6.6 sieht die Maske unter Einstellungen CAN ganz anderst aus.
Wie kann ich die CAN-Schnittstelle aktivieren? Kann mir jemand das zeigen? Ich nutze die Firmware 14 von e!Cockpit Runtime. Gruß Peter Götz

So siehts im Handbuch aus unter Einstellungen. (Auch wenn ich Can-Layer2 verwende, was ich nicht will, sehe ich nur die Baudrate und nicht mehr).
Angehängte Grafiken

Hersteller müssen Geräte reparierbar halten

$
0
0
Hallo Ihr,

hab da mal wieder einen schönen Artikel gefunden:
https://www.golem.de/news/eu-kommiss...10-144225.html

Bin mal gespannt, wie viele Ausnahme-Regelungen da wieder gefunden werden. Die Ausnahme für IT-Geräte wird ja bereits erwähnt.
Vermutlich wäre mit einer Gesetzlichen Gewährleistung von 10 Jahren für Großgeräte schon viel erreicht. ;)

LG Cassandra

Step 7 Email-Versand mit VIPA CPU 315-2AG12 möglich?

$
0
0
Hallo liebe Forums-Kollegen (und Kolleginen :-)),

ist es möglich, mit einer VIPA CPU 315-2AG12 einen Email-Versand zu programmieren/projektieren, z. B. unter Verwendung von
den Bausteinen AG_Send / AG_Receive?
Wenn ja, vielleicht hab jemand ein Beispielprojekt, dass er mir zur Verfügung stellen könnte.
Und dass das Ganze mit einem IT-CP (z. B. 343 IT) möglich ist, das ist mir bekannt.
Also bitte keine Antworten senden, "nimm halt einen 343-IT...", auch wenn das gut gemeint ist.
Diesen CP will und werde ich nicht einsetzten.
Vielleicht gibt es auch einen Umweg, über ein parametrierbares Zusatzmodul (Hersteller divers) mit z. B. binärer Ansteuerung.
Im Voraus vielen Dank für Eure Antworten!!

Viele Grüße

Hartl

Sonstiges VB-Script For-Schleife

$
0
0
Moin,
ich suche die Syntax in VB-Script um in einer For-Schleife ein Feld ausgeben zu können.
D.h. ich möchte anstelle der {0} das aufwärtszählende {i} nutzen um Schritt für Schritt die Variablen ausgeben zu können.

Code:

For i=0 To SmartTags("Verschiedene_Sorten_Anz")-1
                f.WriteLine SmartTags("Produktion_DB_Zaehler{0}_Produkt")
Next
i=0

Ich könnte das so lösen:

Code:

'If SmartTags("Verschiedene_Sorten_Anz")>0 Then
'              f.WriteLine SmartTags("Produktion_DB_Zaehler{0}_Produkt")
'End If
'If SmartTags("Verschiedene_Sorten_Anz")>1 Then
'              f.WriteLine SmartTags("Produktion_DB_Zaehler{1}_Produkt")
'End If
'If SmartTags("Verschiedene_Sorten_Anz")>2 Then
'              f.WriteLine SmartTags("Produktion_DB_Zaehler{2}_Produkt")
'End If
……

aber da ich 20 variablen im Feld angelegt habe wäre dass ein wenig mühselig vor allem wenn man dann noch entscheiden sollte das Feld zu erweitern.


Vielen Dank für eure Unterstützung.


Grüße
estan

TIA Graph - Übersicht auf HMI in TIA 15.1

$
0
0
Hallo Leute,

Ich möchte auf der HMI eine Graph Übersicht darstellen jedoch funktioniert es nicht die Instanz DB Variable "next_step" zu benützen (siehe Bild). Ich bekomme die Fehlermeldung die zugewiesene Datenbank ist nicht vom Typ S7Graph.

Verwendete Hardware:
CPU 317F-2 PN/DP
MP277 TP2200 Comfort Panel

LG
Frozen
graph_s7.jpg
Angehängte Grafiken

Ktp 1000

$
0
0
Hallo zusammen biete hier ein neues Siemens TFT LCD HMI-Bediengerät Serie KTP 1000 6AV6647-0AE11-3AX0
Für 1200euro Festpreis!

Biete S7 ET200s AI Karten 6ES7 134-4GB01-0AB

$
0
0
Ich habe mehrere dieser Karten zu Bieten waren alle schon für kurze zeit eingbaut aber es funktionieren alle natürlich sind auch die Baseunits dabei

Bei Interesse einfach melden

Telegrammverlust bei Beckhoff KL6301 und FOR-Schleifen

$
0
0
Hallo zusammen,

ich hatte jetzt schon in mehreren Projekten das Problem, dass ich auf einen Schwung eine große Menge an Telegrammen versenden muss (zentrale GA seitens der EIB-Geräte ist u.U. nicht immer möglich, es müssen teilweise auch unterschiedliche Werte übertragen werden).

Ich habe dafür die entsprechenden EIB_BIT_SEND (bzw. deren Äquivalente für andere Datenpunkttypen) in einer FOR-Schleife drin, die ja bei Änderung der zugwiesenen Eingangsvariable automatisch senden. Das klappt einwandfrei bis ca. 30, 40 Datenpunkte. Es scheint für die Grenze, bis zu der es funktioniert, auch unerheblich zu sein, ob es sich bespielsweise um Bit- oder Float-Werte handelt. Für jedes Telegramm gibt es mindestens einen Empfänger, es geht also nichts ins Leere, so dass auf jedes Telegramm auch ein "ACK" zurückkommt und die Klemme nichts mehrfach senden muss.

Die Zykluszeiten sind bereits relativ niedrig gehalten (10-20ms); der Funktionsblock für die Kommunikation mit der KL6301 läuft im selben Task wie das Programm, in dem die Schleifen aufgerufen werden, um Probleme bei der "Übergabe" auszuschließen. Ich tippe ja drauf, dass intern in der Klemme irgendein Puffer überläuft...

Hat jemand ähnliches feststellen können, ist das ein generelles Problem bei Beckhoff <-> EIB? Oder schickt jemand von euch erfolgreich eine größere Anzahl Telegramme? Welche Infos wären meinerseits noch wichtig?

Es tritt wie gesagt bei mehreren Projekten auf, sowohl in TC2, als auch in TC3...


Gruß Stephan

WinCC VBA Skript für HMI Bild aktivierung in TIA V15.1

$
0
0
Hallo zusammen,

Ich möchte auf den Meldeindikator welcher auf dem HMI Bild Globales Bild erstellt werden kann als Ereignis ein VBA skript hinzufügen welches beim Klicken des Meldeindikators ein Sofortiges aktivieren meines HMI Bildes für Alarme durchführt. Nun gibt es eine VBA befehl der mich ein HMI Bild aktivieren lässt?

LG
Frozen

Step 7 MMC kopieren

$
0
0
Hallo

wir haben in unserem Betrieb eine Anlage die von insgesamt 7 Simatic SPS
Stationen gesteuert wird. 4 von den Stationen besitzten eine MMC
Speicherkarte. Hersteller der Anlage war ein kleines Unternehmen aus
Belgien, das es inzwischen nicht mehr gibt.

Ich möchte nun den Inhalt der Speicherkarten kopieren, sodass wir bei
Bedarf Ersatzkarten vorrätig haben.

Das Siemens Programmiergerät ist relativ teuer und die Anschaffung
rechnet sich für einen einmaligen Einsatz wohl kaum.

Kann ich über Step7 das komplette Programm der Anlage einlesen,
anschließend leere Speicherkarten in die Stationen stecken und diese dann
programmieren?


Kommunikation KSB Pump Drive 2 -> SPS1200 über Profinet

$
0
0
Hallo zusammen,

ich muss für mein Technikerprojekt einen KSB Pumdrive 2 Umrichter mit einer SPS1200 über Profinet steuern. Hat jemand dies schonmal gemacht? Verbingen sind in TIA angelegt. Ich weiß nicht mit welchen Befehlen ich den Status ausgelesen bekomme bzw allgemein weiter vorgehen muss...


Kann mir jemand helfen ?

Anzeigename bei Mailversand mit WagoAppMail

$
0
0
Hallo SPS Forum,

ich arbeite an einem Projekt E-Heizung.
Die Steuerung ist eine PFC-100 mit (FW13) und die Programmierung erfolgt unter e!Cockpit.
Im Fehlerfall oder bei bestimmten Ereignissen möchte ich eine E-Mail-Benachrichtigung an einen t-online E-Mail-Account senden.
Dafür verwende ich aus der Bibliothek WagoAppMail,1.1.1.0(WAGO) den FbSmtpSendMail.
Dies funktioniert auch soweit und ich erhalte eine E-Mail von "MeinName@t-online.de"

Nun zu meinem kleinen Problem.

Ich möchte einen Anzeigename hinzufügen so das ich die E-Mail von "E-Heizung <MeinName@t-online.de>" empfange.
So meldet sich z.B meine Synology mit dem Anzeigenamen "Syno <MeinName@t-online.de>" oder eine
mit Thunderbird an mich gesendete Nachricht mit dem Anzeigenamen "MeinName <MeinName@t-online.de>"
Auch eine E-Mail vom SPS-Forum hat einen Anzeigenamen und meldet von:
"SPS-Forum - Automatisierung und Elektrotechnik <admin@sps-forum.de>"

Für den Anzeigennamen sollte die Variable sFrom zuständig sein.
Wenn ich dort eintrage:
sFrom:= '<MeinName@t-online.de>' erhalte ich die Mail von <MeinName@t-online.de>" Status OK
sFrom:= 'E-Heizung <MeinName@t-online.de>' erhalte ich die Fehlermeldung => Status Failed sending network data
sFrom:= '<E-Heizung MeinName@t-online.de>' erhalte ich die Mali von <MeinName@t-online.de>" Status OK aber E-Heizung wird ignoriert.
sFrom:= '<E-Heizung@t-online.de>' erhalte ich die Mali von <MeinName@t-online.de>" Status OK aber E-Heizung wird ignoriert.
sFrom:= '<E-Heizung>' erhalte ich die Fehlermeldung => Status Failed sending network data

Habe noch alles Mögliche ausprobiert aber nichts funktioniert.
Entweder Fehlermeldung oder Anzeigename wird ignoriert.

Folgende Parameter werden verwendet:
sServer:= 'securesmtp.t-online.de'
wPort:= 465
sUser:='MeinName@t-online.de'
sPassword:= '*******'
eAuthentication:= eAuthentication.eLOGIN
eEncryptation:= eEncryption.eSMTPS
tTimeout:= T#30S
sFrom:= dieser Eintrag ist mein Problem
sTo:= 'MeinName@t-online.de'
sSubject:='E-Heizung Nachricht'
sMessage'Hallo dies ist ein Test'

Hat jemand eine Ahnung wie der sFrom String formatiert sein muss um das von mir gewünschte Verhalten zu erreichen oder
kann es sein das die WAGOAppMail dieses nicht unterstützt?

Grüße Peter255

Lautsprecher Industrie

$
0
0
Guten Morgen Zusammen,

ich suche einen Lautsprecher "für die Industrie".

Was genau habe ich vor?

Wir haben einen IPC dessen Ton wir abspielen wollen. Dies könnte über USB, 3,5mm Klinke, ... passieren.
Der Lautsprecher soll in einer Anlage verbaut werden. Die Umgebung der Anlage ist eine typische Industriehalle,
in der es auch mal ölig werden kann (Dreherei/Fräserei). Gibt es hier passende Lautsprecher, die man verbauen könnte?

Grüße

Marcel

Sonstiges Web Visualisierung mit Siemens

$
0
0
Hallo,

ich bin auf der Suche nach einer HMI Software, um eine Fräsanlage im Browser in 3D zu visualisieren.
Dabei soll man die Anlage drehen können und die Anlagenteile anklicken können um zum Beispiel den Durchmesser eines Trägers oder Fräsers einzustellen.

Ich bin von meinem Chef an Siemens gebunden und habe mich schon etwas schlau gemacht. Ich bin aber noch relativ neu in dem Siemens Gebiet.
Wir würden gerne auf die aktuellste SOftware setzen, die Siemens aktuell anbietet.
Es gibt wohl folgende Möglichkeiten:
WinCC : ist wohl eher für große Anlagen / Proztessindustrie
WinCC/WebUX : Funktioniert in jedem Browser und ist für Tablets/Smartphones optimiert.
WinCC/WebNavigator: Funktioniert nur im Internet Explorer
WinCC Flexible: Für kleinere Produktionsanlagen gedacht (wie in meinem Fall)
Dazu habe ich aber keine Webprodukte zu gefunden.

En 60204-1

$
0
0
Hallo zusammen,

normalerweise steht doch in der Einleitung von Normen, um welchen Typ-Norm es sich handelt (z.B. En 13849-1 ist eine B1-Norm)
warum finde ich denn dazu in der EN 60204-1 nichts? ich dachte das ist eine Typ-A-Norm, aber irgendwie finde ich nichts dazu.
Viewing all 49307 articles
Browse latest View live