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

TIA WinCC Prof RT - Autostart RT auf einer PC-Station

$
0
0
Guten Morgen,

ich hoffe ihr könnt mir weiterhelfen, google konnte es leider nicht :(

Ich habe hier eine TIA WinCC Prof. PC-Station, angebunden an eine 300er Steuerung via Profinet und möchte das die RT nach dem PC Start automatisch hochläuft.
Wenn ich das Tool "WinCC RT Start" öffne und auf den Reiter Autostart gehe, wird nach einer *.MCX Datei verlangt, die ich nicht auffinden kann.. (Screenshot)
Hinzu kommt, dass der RT Button in TIA ausgegraut ist und ich jediglich die Simulation starten kann. (Screenshot)

Kann mir das jemand erklären?? Ich bin gespannt auf die Lösung.. :)

Vielen Dank schonmal!
Gruß DP
Angehängte Grafiken

TIA Parameter Änderungsverfolgung

$
0
0
Hallo zusammen,
hat schonmal jemand eine Änderungsverfolgung (mit speichern in Datei wer hat was/wann geändert) in einem Panel realisiert und kann mir mal mit ein paar Denkansätzen aushelfen?

Viele Grüße
R.

Haustechniker /-in

$
0
0
Wir sind ein modernes, sehr erfolgreiches Braunschweiger Unternehmen mit langer Tradition. Wir versorgen Apotheken
„just-in-time“ aus einem Sortiment von 100.000 verschiedenen Pharmazeutika und weiteren Artikeln.

Möchten Sie unserem Team in Braunschweig angehören?

Zur Verstärkung suchen wir sofort eine /-n

Haustechniker /-in


in Vollzeit.

Ihre Funktionen
  • Wartungs- und Instandhaltungsarbeiten an anspruchsvollen technischen Anlagen und Einrichtungen (Förder-
    und Kommissionieranlage, Haus- und Gebäudetechnik, Aussenanlagen)
  • Sicherstellung der optimalen Einsatzbereitschaft aller Anlagen
  • Selbstständige Fehlerdiagnose und Störungsbeseitigung
  • Führen und Pflegen von Fehler-, Prüf-, Wartungs- und Inspektionsberichten
  • Begleitung und Durchführung von Neuinstallationen und Umbauten
  • Unterstützung und Koordination von Fremdfirmen sowie behördlicher Prüfungen
  • Kosten- und Anlagenoptimierung in Zusammenarbeit mit der Betriebsleitung
  • Teilnahme an Rufbereitschaft und Notdienst

Ihr Profil
  • erfolgreich abgeschlossene Ausbildung zur/-m Mechatroniker/-in und/oder Elektriker/-in mit Begabung
    in Mechanik und/oder Elektrotechniker/-in mit fundierten Kenntnissen im Bereich Mechanik
  • Kenntnisse in SPS, Druckluft sowie Gewerke übergreifender Technik runden optimalerweise Ihr Fachwissen ab
  • hohes Maß an handwerklichem Geschick und gutem technischen Verständnis
  • mehrjährige Berufserfahrung in verantwortlicher Position
  • Berücksichtigung der geltenden Gesetze, Vorschriften und Regeln für Arbeitssicherheit und Umweltschutz
  • strukturierte, sorgfältige und selbstständige Arbeitsweise sowie hohe Einsatz- und Verantwortungsbereitschaft
  • Teamfähigkeit, Zuverlässigkeit und Belastbarkeit

Jeder Tag ist anders, bedeutet neue Herausforderungen und verlangt Flexibilität.

Sie erfüllen das Profil, sind mit Leidenschaft dabei, lieben hohes Tempo und stehen ungern still?! Worauf warten Sie?
Senden Sie uns Ihre aussagekräftigen Bewerbungsunterlagen mit Angaben zum frühestmöglichen Einstiegstermin und
Ihrer Gehaltsvorstellung an die

Richard Kehr GmbH & Co. KG
Pharmazeutische Großhandlung
z. Hd. Frau Anke Hilliger
Sudetenstraße 8
38114 Braunschweig
e-mail: bewerbung@kehr.de
http://www.kehr.bs

ELEKTROINGENIEUR / TECHNIKER (m/w) AUTOMATISIERUNGSTECHNIK

$
0
0
Die Blumenbecker Gruppe beschäftigt heute rund 1.300 Mitarbeiter/innen an zahlreichen in- und ausländischen Standorten.
Für die Blumenbecker Automatisierungstechnik GmbH in Beckum, die sich auf die Umsetzung industrieller Automatisierungs-
projekte, mit den Schwerpunkten Anlagen- und Maschinenautomation, Schaltanlagenproduktion, Montage, Inbetriebnahme
und Elektrofachhandel konzentriert, suchen wir zum nächstmöglichen Zeitpunkt Sie als

ELEKTROINGENIEUR / TECHNIKER (m/w) AUTOMATISIERUNGSTECHNIK

Standort: Beckum

Ihre Aufgaben:
  • Sie erstellen selbstständig Lösungen für die komplexen Automatisierungssysteme unserer Kunden.
  • Als kompetenter Ansprechpartner nehmen Sie im Projektverlauf Kundenwünsche auf, klären technische Details ab und
    unterstützen den Kunden bei der Lösungsfindung für seine Automatisierungsaufgabe. Kosten und Termine haben Sie
    dabei fest im Blick.
  • Flexibel und offen für gelegentliche Dienstreisen begleiten Sie zudem die Inbetriebnahmen der Anlagen vor Ort bei
    unseren Kunden weltweit und integrieren die entwickelte Software.
  • Mit Freude am team- und kundenorientierten Arbeiten auf internationaler Ebene tragen Sie zu einem Ausbau der
    Kundenbeziehungen in Zusammenarbeit mit Ihren Kollegen/Kolleginnen bei.
  • Die Aufgabe wird abgerundet durch die Erfassung und Dokumentation der softwarespezifischen Anforderungen.

Ihr Profil:
  • Sie haben ein Studium in der Fachrichtung Elektrotechnik, Automatisierungstechnik o. ä. erfolgreich abgeschlossen.
    Alternativ haben Sie eine elektrotechnische Berufsausbildung und anschließend die Technikerschule absolviert.
  • Mehrjährige Berufserfahrung in der Abwicklung von Automatisierungsprojekten für Industrieanlagen, Kenntnisse in der
    Softwareerstellung und Erfahrungen im Umgang mit Steuerungssystemen, Visualisierungen sowie Leit- und Antriebs-
    technik (u. a. Siemens) bringen Sie mit.
  • Wünschenswert sind weiterhin Kenntnisse in der Programmierung mit C++, VBA oder .Net.
  • Sie sind eine Persönlichkeit, die sich durch Teamfähigkeit, Kommunikationsstärke, Organisationsgeschick und hohe
    Kundenorientierung auszeichnet. Gute Deutsch- und Englischkenntnisse sowie ein sicherer Umgang mit MS Office runden
    Ihr Profil ab.

Unser Angebot:
  • Einen interessanten und langfristigen Arbeitsplatz in einer internationalen Unternehmensgruppe mit Kurs auf Wachstum
    sowie eine intensive Einarbeitung.
  • Herausfordernde Aufgaben in einer vertrauensvollen Arbeitsumgebung, ein engagiertes Team und eine leistungsgerechte
    Bezahlung.
  • Individuelle Angebote zur persönlichen Weiterentwicklung.
  • Renommierte Markenunternehmen auf Kundenseite.

Gestalten Sie gemeinsam mit uns die Zukunft!

Weitere Informationen finden Sie auf www.wir-liefern-zukunft.de.

Wir freuen uns auf Ihre Bewerbungsunterlagen mit Angabe der Kennziffer 16/224 und Ihrem frühestmöglichen Eintrittstermin.

JETZT ONLINE BEWERBEN

https://www.karriere.blumenbecker.co...030907238fae77

Kontakt:
B+M Blumenbecker GmbH
Tina Falkenberg
Sudhoferweg 99–1075
9269 Beckum
karriere@blumenbecker.com

20160824_B+M Blumenbecker_Elektroingenieur.pdf
Angehängte Dateien

Betriebsingenieur (m/w) Maschinenbau / Mechatronik / Elektrotechnik

$
0
0
RENK bewegt - Menschen, Unternehmen und Märkte

Das Unternehmen
Die RENK AG ist ein Unternehmen der MAN Gruppe. Wir sind weltweit ein führender Hersteller von Spezialgetrieben,
Antriebselementen und Prüfsystemen mit höchster Präzision, Zuverlässigkeit und hervorragender Qualität. Insgesamt
beschäftigen wir über 2.200 Mitarbeiter, davon mehr als 1.100 Mitarbeiter in Augsburg.

Zum nächstmöglichen Termin suchen wir für unseren Standort Augsburg im Bereich Instandhaltung, Sicherheitswesen
und Umwelt einen

Betriebsingenieur (m/w)
Maschinenbau / Mechatronik / Elektrotechnik


Die Aufgabe
  • Erstellen und aktualisieren von Wartungsplänen für Werkzeugmaschinen
  • Auswerten der Instandsetzungs- und Wartungsberichte und Ableiten von Maßnahmen
  • Bestellen von Ersatzteilen und Optimieren der Ersatzteilhaltung
  • Projektleitung bei Umbauten und der Neuaufstellung von Produktionsanlagen
  • Vor- und Endabnahme von Produktionsanlagen sowie deren Betreuung über den Life-Cycle
  • Projektabwicklung von Infrastrukturmaßnahmen

Ihre Qualifikation
  • Studium des Maschinenbaus, der Mechatronik oder Elektrotechnik
  • 1 bis 2 Jahre Berufserfahrung im Bereich Werkzeugmaschinen oder in der Instandhaltung; wir geben aber auch
    ambitionierten Hochschulabsolventen mit vorheriger Berufsausbildung zum Metall-Facharbeiter eine Chance
  • Grundkenntnisse in Autocad sind wünschenswert
  • Möglicherweise Grundkenntnisse in Italienisch

Interessiert?

Dann senden Sie uns bitte Ihre Bewerbungsunterlagen - bevorzugt über unser Onlinebewerbungsformular auf www.renk.de
unter Angabe des frühestmöglichen Eintrittstermins und Ihrer Gehaltsvorstellung.

Ansprechpartner
Herr Sebastian Schrott
Gögginger Straße 73
D-86159 Augsburg
Telefon : +49 (0) 821 5700-1427
www.renk.de


Anhang 33764

Step 7 Serielle Kopplung CP341 RS232C, gespiegelte Telegramme

$
0
0
Hallo,

Ich versuche gerade eine Kopplung zwischen einer S7 mit CP341 RS232C und einem Leitrechner aufzubauen.
Kopplung: ASCII, 9600 Bits/s, 8 Datenbits, 1 Stopbit, keine Parität. Keine Datenflußkontrolle.
Teste ich die Kopplung des CP mit einem Terminalprogramm auf meinem Rechner, so funktioniert alles einwandfrei.
Versuche ich mit dem Leitrechner zu kommunizieren, so erhalte ich auf ein gesendetes Telegramm das gespiegelte zurück.
Versucht wurde bereits, die Adern 2 und drei zu tauschen (1:1 Verbindung <--> Nullmodem).
Verdrahte ich auf Nullmodem, zeigt mein CP Systemfehler an...
Kennt jemand das Problem der gespiegelten Telegramme oder hat jemand eine Idee? :confused:

WinCC Prüfen ob externes Programm läuft

$
0
0
Hejj Leute!

Mal ne kurze Frage, da ich mit google nicht wirklich was gefunden habe.(bzw. war ich wohl zu blöd um es anzuwenden)
Ich habe in meiner Visu einen Button, welcher uvnc öffnet. Das Problem dabei ist, dass wenn der User dieses Fenster nicht ordnungsgemäß schließt, es im hintergrund weiterläuft und beim nächsten Aufruf von uvnc startet uvnc erneut..
Nun habe ich zwar 3 Lösungsansätze, weiß aber nicht, wie ich diese in c/vb umsetzen soll.
1. Wenn ich den "uvnc öffnen" drücke, killt er erst den prozess uvnc.exe und öffnet ihn erneut.
2. Ich drücke "uvnc öffnen" - es wird geprüft ob das Programm bereits läuft. Falls nein, wird es neu gestartet. Falls ja, wird das programm in den Vordergrund geholt.
3. Ich binde uvnc irgendwie in ein WINCC Fenster ein. (Dies funktioniert laut meiner bisherigen Recherchen jedoch nicht)

Im grunde ist auch Variante 1 vollkommen ausreichend, da uvnc nicht minütlich gestartet wird und der bisschen Rechenaufwand egal ist.

Das Starten des Programmes erledige ich bisher erfolgreich mit "ProgramExecute("C:.......");
Doch wie kille ich einen Prozess?

mfg LuZi

Step 7 Strecken finden aus Coordinaten eines LaserScanners

$
0
0
Guten Tag,
Ich habe die ehrvolle Aufgabe bekommen einen Lichtschnittsensor in eine Produktionslinie einzubinden. Hierbei handelt es sich um das Fabrikat: "Leuze LPS 36/EN".
Von dem Sensor bekomme ich 760 Punkte mit X und Y Coordinaten. Meine Aufgabe ist es Objekte(Bretter mit Waldkante) zu vermessen. Es wäre ansich kein Problem wenn das Objekt immer eben daliegen würde(Siehe Bild 1)
Unbenannt.pngBild 1
Ich habe mir gedacht ich könnte das Problem Lösen indem ich nach geraden Strecken suche und die ungerade Waldkante über einfache Division ausrechnen könnte.

Jetzt kommt mein Problem:
Ich brauche einen Algorithmus mit welchen ich Strecken rein aus Coordinaten bestimmen kann.

Ich hatte bereits eine Idee, jedoch ist sie soo rechenintensiv, dass mir meine 319-3pn/dp mit einer Zykluszeit von über 70ms das leben schwer macht.

Hat irgendjemand eine idee?
Danke schonmal im Vorraus :-)


Info:
Ich habe alle Messpunkt in einem DB(DB_Messdaten) abgelegt



STRUCT
Messpunkt : ARRAY [1 .. 750 ] OF //vorläufige Platzhaltervariable
"Messpunkt";
END_STRUCT ;
BEGIN
Messpunkt[1].YWert := 0;
Messpunkt[1].XWert := 0;
Messpunkt[2].YWert := 0;
Messpunkt[2].XWert := 0;
Messpunkt[3].YWert := 0;
Messpunkt[3].XWert := 0;
Messpunkt[4].YWert := 0;
Messpunkt[4].XWert := 0;

etc.


Hier mein Testprogramm:

[code]

FUNCTION "StraightFinder" : VOID
TITLE =Straight Finder
//
//
//Dieses Programm dient zum erkennen von Geraden, aus der Datenwolke des LPS
//
//
//
AUTHOR : Oberm
VERSION : 0.1


VAR_INPUT
Extern_mode : BOOL ;
IN_Aufloes : INT ;
IN_min_laenge : INT ;
END_VAR
VAR_TEMP
Aufloesung : INT ;
Pointer_01 : DWORD ; //Wird mehrmals für verschiedenes verwendet!!!!!
step01 : INT ;
Pointer_02 : DWORD ; //Wird mehrmals für verschiedenes verwendet!!!!!
Punkt_A1_Pointer : DWORD ;
step2 : INT ;
Punkt_B1_Pointer : DWORD ;
Hoehendiff : INT ;
Laengendiff : INT ;
Steigung : REAL ;
min_laenge : INT ;
step3 : DINT ;
Pointer_03 : DINT ;
Temp_distance : INT ;
Vergl_wert : INT ;
Pointer_04 : DINT ;
Anz_Punkt : INT ;
theo_anz_Punkt : DINT ;
step4 : INT ;
END_VAR
BEGIN
NETWORK
TITLE =Grundparameter

//Auflösung festlegen (zwischen 0 - 20 empfohlen) 0 = max
UN #Extern_mode;
SPBN m01;
L 450;
T #min_laenge;

L 10;
T #Aufloesung;

SPA m02;
m01: NOP 0;
L #IN_min_laenge;
T #min_laenge;


L #IN_Aufloes;
T #Aufloesung;
m02: NOP 0;


NETWORK
TITLE =Anfang Suchen
//
//Den ersten relevanten Messpunkt suchen
AUF "Messdaten";
L P#36.0;
T #Pointer_01;

L 365;
next: T #step01;
L DBW [#Pointer_01];
L 0;
<>I ;
SPB m03; //Escape

L #Pointer_01;
L P#4.0;
+D ;
T #Pointer_01;

L #step01;
LOOP next;
m03: NOP 0;



NETWORK
TITLE =Straight Finder Main Programm
//Von einem festen Punkt(A1) wird versucht eine Strecke zu finden, welche
//möglichst lang ist. Hierzu wird am Anfang die kleinstmöglich Strecke gesucht und
//dann Stück für Stück verlängert. Strecke A1->B1
//
//Das Programm soll nun überprüfen, anhand der Punkte die auf dieser Strecke
//liegen, ob diese Gerade ist! Hierzu wird vorher definiert, wie viele Punkt auf
//dieser Strecke liegen müssten (minus Fehlertoleranz). Sind nun deutlich weniger
//Punkte auf dieser Strecke als zuvor, ist die geradheit der Strecke nichtmehr
//gewährleistet!!! Die letzte gültige Strecke soll in einem DB Abgespeichert
//werden und der Punkt A1 wird auf die Position des Punktes B1 gesetzt! Nun
//beginnt das Prozedere von vorn mit einem neuen Punkt A1!!!
//
//Vorbereiten
AUF DI 2;

L P#0.0;
T #Pointer_02;


L #Pointer_01;
T #Punkt_A1_Pointer;


L #Pointer_01;
L P#4.0;
+D ;
T #Punkt_B1_Pointer;



// Hier Beginnt es !!!
L 1000; //Dient als obergrenze falls fehler im Programm sind
nex3: T #step4;

L DBW [#Punkt_B1_Pointer];
L DBW [#Punkt_A1_Pointer];
-I ;
T #Hoehendiff;


L #Punkt_A1_Pointer;
L P#2.0;
+D ;
T #Pointer_01;

L #Punkt_B1_Pointer;
L P#2.0;
+D ;
T #Pointer_02;


L DBW [#Pointer_02];
L DBW [#Pointer_01];
-I ;
T #Laengendiff;

L #Hoehendiff;
ITD ;
DTR ;
L #Laengendiff;
ITD ;
DTR ;
/R ;
T #Steigung;

//Vorbereitung für 2. Loop

L #Punkt_A1_Pointer;
L P#6.0;
+D ;
T #Pointer_03;
L 0;
T #Temp_distance;
L 0;
T #Anz_Punkt;






L #Punkt_B1_Pointer;
L #Punkt_A1_Pointer;
-D ;
SRD 3;
L 4;
/D ;
T #theo_anz_Punkt;

nex2: T #step3;
L DBW [#Pointer_03];
L DBW [#Pointer_01];

-I ;
T #Temp_distance;


L #Temp_distance;
DTR ;
L #Steigung;

*R ;
L DBW [#Punkt_A1_Pointer];
DTR ;
+R ;
RND ;
T #Vergl_wert;


L #Pointer_03;
L P#2.0;
-D ;
T #Pointer_04;

//Überprüfen ob Punkt auf der Strecke liegt
U( ;
L #Vergl_wert;
L #Aufloesung;
-I ;
L DBW [#Pointer_04];

<=I ;
) ;
U( ;
L #Vergl_wert;
L #Aufloesung;
+I ;
L DBW [#Pointer_04];

>=I ;
) ;
//falls der Punkt auf der Strecke liegt wird dieser Gewertet
SPBN m001;
L #Anz_Punkt;
L 1;
+I ;
T #Anz_Punkt;
m001: NOP 0;

//nächsten Punkt auf der Strecke vorbreiten

L #Pointer_03;
L P#4.0;
+D ;
T #Pointer_03;


L #step3;
LOOP nex2;

//Überprüfen ob es sich um eine Strecke Handelt

L #Anz_Punkt;
L 3; //Fehlertolleranz
+I ;
L #theo_anz_Punkt;
<I ;
SPB m002; //Loop beenden falls die Strecke nichtmehr gewährleistet ist

//Strecke verlängern
L #Punkt_B1_Pointer;
L P#4.0;
+D ;
T #Punkt_B1_Pointer;

L #step4;

LOOP nex3;

m002: NOP 0;

//--Die Arbeit am Programm habe ich ab hier Pausiert um zu Testen ob er überhaupt die Erste Strecke findet--//

L #Anz_Punkt;


L #Temp_distance;
[code]
Angehängte Grafiken

TIA Baustein exportieren

$
0
0
Sagt mal, kann man bei diesem TIA-Sch...haufen wirklich keinen KOP/FUP-Baustein als Quelle exportieren?
Man kann das ja nicht in AWL umschalten, also geht das wirklich nicht?
Ich arbeite jetzt über ein Jahr mit TIA-V13, das ist noch immer der größte Softwaremüllhaufen, den ich je gesehen habe. Das kann man eigentlich nur einstampfen! :icon_mrgreen:

Sicherheitseinrichtungen überbrücken?!

$
0
0
Hallo,

habe gerade einen heiklen Fall. Eine zusätzliche Sicherheitseinrichtung (Transpondersystem an einem Steigband zu einer Presse) ist defekt. Das gesamte Transpondersystem wurde abgebaut und muss ins Werk zur Überprüfung und Reparatur geschickt werden (Dauer ca. 2 Wochen). An dem Band ist noch ein Not-Aus und ein Seilzug als Sicherheitseinrichtung angebracht. Kann die Anlage auch ohne Transpondersystem betrieben werden? Bisher kann hier keiner eine richtige Aussage machen. Vielleicht hatte jemand schon einen ähnlichen Fall.

Grüße
Jürgen

TIA Temperaturproblem bei Safety-Modulen der 1500er CPU in ET200-SP

$
0
0
Moin habe bei den F-DI 8x und F-DO 4x der ET200-SP Gruppen die Temperatur gemessen weil sie mir vom Gefühl zu warm waren, es wurden ca. 50 Grad gemessen !
Sicherlich, die neuen Module sind kompakter,aber trotzdem 50Grad scheint mir viel zu sein. Un das ohne Last !!!!!!!!!!!!!!!!
Nun stelle ich mir vor ich ordne von solchen Modulen mehrere nebeneinander an.
Könnte auf die Lebensdauer schlagen.
Gruß

@Forum-Admin
Habe leider das selbe Thema vorher schon unter Step 7 gestellt ! Bitte dort entfernen!
Sorry

WinCC Flex Wincc flexible 2008 CSV Datei schreiben per Script

$
0
0
Hallo Forum,

bitte um Hilfe zur Erzeugung einer CSV Datei.
Ich scheitere am Weiterschreiben einer hier exemplarischen Temperatur ( kommen noch andere Werte hinzu ).
Der Header soll bleiben und dann immer in einer neuen Zeile den Wert alle Sekunde aufgenommen.

Vielen Dank für Tipps

Hier mein Script

Code:

'Deklaration von lokalen Variablen
Dim fso, f, ts, path, file, myfile, Trigger, Shut

Shut = SmartTags("AM: Prf running")
Trigger = SmartTags("M :Trigger")
myfile = Dateiname
path = "C:\test\"
file = path & myfile & ".csv"

'Abfrage ob Dateinamen eingegeben wurde
If myfile = "" Then
    Error_Dateiname = 1
Else
    Error_Dateiname = 0   
End If

'Objekt erstellen
Set fso = CreateObject("Scripting.FileSystemObject")

'Abfrage Ordner vorhanden, wenn nicht dann erzeugen
If Not fso.FolderExists("c:\test") Then
    fso.CreateFolder("c:\test")
End If

'Abfrage Datei vorhanden, wenn nicht dann erzeugen
If Not fso.FileExists(file) Then 
    fso.CreateTextFile(file)             
End If

Set f = fso.GetFile(file)   
Set ts = f.OpenAsTextStream(2, -2)   

'Werte in die Datei schreiben
ts.WriteLine("Schritt Nr; " & SmartTags("DB: DATA TEMP SEQ 1 W.Step_Nr") & ";")
ts.WriteLine("Solldruck; " & SmartTags("DB: DATA TEMP SEQ 2 W.Sollwert_PropVentil_PRF") & ";")


If Trigger = True Then
SmartTags("DB: BUTTON HMI.Test121") = 1
ts.WriteLine("Schritt Nr; " & SmartTags("DB: INST ANALOG IN.ACTUAL_VALUES.TEMP_SCHRANK") & ";")
Else
   
SmartTags("DB: BUTTON HMI.Test121") = 0

End If

If Shut = True Then

'Close file - Datei schließen
ts.Close

Set ts  = Nothing
Set f  = Nothing
Set fso = Nothing

End If

Datenaustausch über Modbus TCP

$
0
0
Hallo,

ich versuche einen Datenaustausch zwischen zwei Raspberry über Modbus/TCP herzustellen.
Dazu habe ich in meinem Projekt eine Steuerung als Modbus/TCP Slave mit zwei Holding und zwei Input Register konfiguriert.
In dem Ausgangswort lasse ich Bit 0 mit einer Frequenz von 1 Hz blinken (habe auch schon einen statischen Wert 16xFFFF versucht).

Frage:
Warum ist das Holding Register auf ein Eingangswort und das Input Register auf ein Ausgangswort gemapt?

Modbus1.JPGModbus3.JPGModbus2.JPGModbus4.JPG

Bei der Unit-ID habe ich 255 eigestellt, weil der Slave über Modbus/TCP angesprochen wird (hat in anderen Projekten mit Energiemonitoringgeräten so funktioniert).
Im Modbus Master versuche ich mit dem Funktionscode 3 (Read Holding Register) Offset 0x000 das Ausgangswort des Modbus Slaves zu lesen.
Gelingt mir aber leider mit!
Wo kann der Fehler liegen?

mfG
Mario
Angehängte Grafiken

Ablaufsprache - Aktion zurücksetzen oder gezielt bei Init starten lassen

$
0
0
Hallo zusammen,

Ich wollte ein neuen thread eröffnen, weil sich das Teil-Problem etwas verschoben hat.

Und Zwar möchte ich eine Aktion in einem Schritt aufrufen, in der eine Schrittkette definiert ist. Diese Aktion soll entweder gezielt jedes mal bei ihrem Init Starten lassen oder außerhalb der Aktion in Programm zurücksetzbar sein, ist das irgendwie möglich?

Ich hab es teilweise schon mit dem SFCInit Flag flag versucht, doch wie setz ich den innnerhalb eines Schrittes? "N -> Aktionname.SFCInit" ?

Versucht die Aktion mit Initialschritt aufzurufen schlug ebenfalls Fehl. Ich dachte dabei an sowas wie "N-> Aktionsname.Init" dem Schritt angehangen, evtl ist es einfach nur die falsche Syntax?

Weiß jemand eine Lösung? Ich bräuchte nur eine der beiden Realisierungen.

Step 7 SPS-Man

$
0
0
Hallo zusammen,

oft ist es nicht so einfach sich als Programmierer/Entwickler über den PC mit der SPS zu verbinden.
Ich habe ein Softwarewerkzeug gefunden mit dem man sogar über Excel oder der eigenen Anwendung
via DLL direkt als PG Gerät über den TCP Slot die Datenbausteine Lesen und beschreiben kann.
Normalerweise wird diese Schnittstelle in einem Vision-System für die Industrielle Bildverarbeitung verwendet.

http://visiongrid.de/spsman-kommunikation.html

Grüße aus dem sonnigen Berlin
Karsten

Step 7 Probleme mit FDO Karte

$
0
0
Guten Abend zusammen,

also ich habe folgendes Problem. An 3 Anlagen funktionier die FDO10xDC24V/2A Karte nicht. Immer wenn ein mindestens ein Kanal der Karte eingeschaltet wird, passiviert die Karte nach Zeit x .
Es spielt auch keine Rolle ob an dem Kanal ein Aktor angeschlossen ist oder nicht.
An der Karte selbst liegt es höchstwahrscheinlich nicht weil an dieser Stelle schon 6 verschiedenen Karten unterschiedlicher Chargen getestet wurden.
Habt ihr noch eine Idee was man ausprobieren könnte oder woran es liegen könnte?

dazu die Diagnose der Karte und der CPU
FullSizeRender (1).jpgFullSizeRender.jpg

Danke im Voraus
Angehängte Grafiken

Arraywerte löschen

$
0
0
Guten Tag,
Ich habe ein Histogramm programmiert, dass mV Werte anzeigt.
Dies hab ich mit einem ARRAY hinbekommen.
Nun will ich aber bei drücken eines Tasters das Histogramm wieder löschen, bzw. die Werte im Array löschen oder auf 0 setzen.
Ich habe bereits herausgefunden wie ich einen enzelnen Wert des Arrays mit 0 überschreiben kann, würde jedoch gerne den gesammten Array überschreiben, da ich sonst 200 zeilen Bräuchte.
Der Code sieht wie folgt aus:

PROGRAM Histogramm1PRG
VAR
Timer01: TON;
tMessZeit : TIME :=t#2s; (*Zeitabstand zwischen den messungen*)
arHistogrammWerteFortlaufend : ARRAY [0..maxHistogrammWerte] OF REAL; (*Array für die Anzeige im fortlaufendes Histogramm*)
iX : INT; (*Laufvariabel für FOR Schleiffe*)
iActualWert : REAL; (*zu Speichernder Wert*)
iZaehler : INT;
END_VAR
VAR CONSTANT
maxHistogrammWerte : WORD := 200; (*Anzaht Messwerte welche gespeichert werden*)
END_VAR

(*werte auf 0 setzen*)
IF x_allgemeinstart THEN
arHistogrammWerteFortlaufend[5]:=0;
END_IF

(*Timer zum Speichern der Messwerte*)
Timer01(
IN := (NOT Timer01.Q),
PT := tMessZeit );

(*Zuweisen des Messwetes*)
iACtualWert:= rmVgefiltert1VISU;


(*Wenn der Timer01 beim Anschluss Q eine 1 hat, wird der Messwert im Array geschoben.*)
IF Timer01.Q AND xkalibrierung_aktiv THEN
(*Schieben der Werte im Array*)
FOR iX :=0 TO maxHistogrammWerte-1 DO
arHistogrammWerteFortlaufend[iX]:=arHistogrammWerteFortlaufend[iX+1];
END_FOR
(*Speichern des aktuellen Messwertes*)
arHistogrammWerteFortlaufend[maxHistogrammWerte]:=rmVgefiltert1visu;
END_IF

Schnittstelle CompactLogix und KRC4 ohne Sicherheit

$
0
0
Hallo,

ich habe eine CompactLogix von Rockwell und ein KRC4 KUKA Roboter mit Sicherheit. Ich wurde gerne den Roboter über die SPS in Automatik anfahren und ein Programm anwählen lassen. Nur zu Test zwecken. Nun habe ich ein Problem mit den Fehlersicheren Signalen, die ich nicht bräuchte für mein Programm. Deshalb habe ich folgende Fragen:confused::

- Kann ich die beiden überhaupt zusammen hernehmen?
- Kann ich die sicheren Signale irgendwie überbrücken, z.B X11 Schnittstelle, und trozdem in Automatik fahren?
- Oder kann ich in der Roboter Konfiguration über Work Visual, den sicheren Teil wegschalten ?
- Wenn eine der Varianten oder eine andere möglich ist, kann mir jemand kurz beschreiben wie?

Vielen Dank für die Hilfe im Voraus :smile:.

Aktuelle Leistung von S0-Schnittstelle auf Logo 8 darstellen für WW-Aufbereitung

$
0
0
Hallo Forengemeinde,


da ich recht neu in der Logo-Welt bin, hoffe ich, dass mir von euch Profis jemand ein paar Informationen zu meinem Vorhaben mitteilen kann.


Zu meinem Projekt,
ich fange im Frühjahr 2017 mit meinem Hausbau an, und möchte gerne mit meinem überschüssigen PV-Strom den Wasserspeicher 800L (für Heizung & Warmwasser)
über einen Heizstab mit drei Leistungen aufheizen/dazu heizen (z.B. 1KW, 2KW, 3KW).


Angedacht war die Steuerung so,
- ich erfasse die Leistung wo ins öffentliche Netz geht mit einem 2-Richtungszähler 1000imp/KWh (mit S0-Schnittstelle). Zähler wird direkt nach dem EVU Zähler eingebaut.
- sobald die abgehende Leistung z.B. 1,2KW übersteigt, soll die erste Stufe des Heizstabes angehen mit 1KW. Wenn z.B. 2,3 KW zur Verfügung stehen, soll die zweite Stufe hinzukommen, usw.
- für die Abschaltung der einzelnen Heizstufen werde ich ein Hysterese hinterlegen, sowie über Temperaturfühler im Speicher.



Zu meinen Fragen ;-)


1. Welche Logo Bauteile benötige ich für dieses Vorhaben, bzw. ist dies überhaupt mit der Logo zu realisieren?
2. Wie wird das S0-Signal in die Logo übersetzt (extra Bauteil? bzw. über welche Funktionen)


Vielen Dank schon mal für Eure Hilfe.

Grüße aus dem Allgäu

TIA Tänzerregelung

$
0
0
Hallo Zusammen,

ich habe ein regelungstechnisches Problem: Es soll ein Tänzer optimal geregelt werden.
Die eingesetzte Hardware ist eine 1214C und ein S120 mit CU320.
Den Istwert von dem Tänzer bekomm ich über einen analogen Messwert. Den Istwert verschalte ich dann in der SPS mit dem PID-Regler (PID_Compact), lass den dann (noch) als PD-Regler laufen und schreibe den Stellwert des Reglers als Parameter Override in den Antrieb. Ich regel also mit dem Istwert und dem PID-Regler die Drehzahl von dem Antrieb.
Problem mit dem P- bzw. PD-Regler ist nun, dass ich immer eine bleibende Regeldifferenz habe. Schön wäre natürlich einen I-Anteil zu verwenden und diese Regeldifferenz damit auszuregeln. Prinzipiell funktioniert das auch, ich habe dann nur hin und wieder den Fall, dass die Folgemaschine (diese zieht immer wieder Material aus dem Tänzer) zum Stillstand kommt. Ohne I-Anteil gar kein Problem, da der P-Regler dann bis auf den Sollwert regelt und dann abschaltet. Mit I-Anteil habe ich, je nach größe des I-Anteils, einen Überschwinger. Diesen Überschwinger darf ich auf keinen Fall haben, maximal könnte man sich mit einem Überschwinger von 1% Punkt anfreunden, mehr Spielraum habe ich aber nicht.

Die Frage lautet nun, wie man den Tänzer als Regelstrecke interpretieren kann? Wenn die Folgemaschine nicht fördert, wäre er ja eine reine I-Strecke. Wenn ich das Wissen aus dem Studium rauskrame, würde da ja eine reiner P-Regler völlig ausreichen. Fördert aber die Folgemaschine so wird der Tänzer zu einer P-Tn-Strecke (???), diese kann man dann wunderbar mit einem PI-/PID-Regler regeln.

Habt ihr eine Idee, wie ich dieses Problem lösen könnte? Bin für jede Idee dankbar.


Gruß
Viewing all 49412 articles
Browse latest View live


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