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

Lüfter-Drehzahlsteuerung über Einphasen-Stufentrafo

$
0
0
Hallo Miteinander,
Irgendwie stehe ich auf der „Leitung“ und erhoffe Hilfe bei folgendem Thema:

Es geht um einen Einphasen-Stufentrafo 2,1A, mit mehreren Abgriffen (7) auf der Sekundärseite, für die Drehzahlregelung eines Lüfters. Im einfachsten Fall werden die Abgänge über einen mechanischen Stufenschalter nacheinander an den Lüfter geschaltet. Dadurch wird die Ausgangsverbindung getrennt und dann mit dem nächsten Abgriff auf die neue Ausgangsspannung verbunden.


In meinem Fall wird der Stufentrafo nur zur Luftmengenanpassung genutzt. Die Stufen werden mittels SPS angesteuertWenn ich anstatt dem Stufenschalter zwei Relais zur zweistufigen Drehzahlsteuerung verwenden möchte kann es ja im Fehlerfall passieren, dass unbeabsichtigt durch Kontaktfehler beide Relaiskontakte (Beispiel 80V/150V) eingeschaltet sind. Dadurch gibt es ja eine Verbindung zwischen den beiden Trafoausgängen und der Ventilator läuft erst einmal mit der höheren Spannung weiter.

Vermeiden lässt sich das ja mit Sicherheit wenn man die beiden Trafo-Ausgangsspannungen mittels Wechselkontakten verriegelt ansteuert. Das machen aber viele Gerätehersteller nicht, da alle Relaiskontakte hardwareseitig Motorseitig verbunden sind.

Meine Frage ist, hat das irgendwelche negativen Auswirkungen auf den Stufentrafo (z.B. Windungsschluss, Überlastung, Rückspeisung über die niedrigere Ausgangsstufe) oder eben nicht?

Vorab Vielen Dank
Michael

Step 7 Schrittkette in AWL programmieren

$
0
0
Hallo zusammen,

ich bin gerade so ein wenig am Üben und wollte nun eine Taktkette in AWL programmieren. Ich habe mir schon Videos auf Youtube angeschaut, aber irgendwas übersehe ich noch bei mir. Vielleicht würde mir ja hier jemand auf die Sprünge helfen, das wäre nett.

Also zu meiner Übung:


  • der Initialschritt (Schritt 0) wird im OB100, oder durch den Eingang E124.4 (Stopp) gesetzt (dort lasse ich dann alle Schritte, 1-8, zurücksetzen)
  • dann möchte ich das der Schritt 1 erst startet, wenn Schritt 0 gesetzt ist und ich E124.3 (Start) drücke, oder durch Schritt 8


Mein Problem ist aber, dass die Schritte immer bei Schritt 8 stehen bleibt. Wenn ich Online gucke, sieht es so aus, als setzt sich auch kein anderer Schritt zurück.
Der Initialschritt ist im FC 5 und die Schrittkette im FC 3. Die Ansteuerung der Ausgänge ist wiederum im FC 6. In der HW-Konfig. habe ich eine CPU 315-2 PN/DP konfiguriert und übe über PLCSIM. Mein Programm habe ich mal als PDF angehangen.

Mfg
Angehängte Dateien

Hilfe für PI-Regler benötigt / Anfänger

$
0
0
Hallo zusammen,


ich möchte gern zum ersten mal einen PI-Regler einsetzten (codesys2.3+Oscat-basic-333) und bekomme folgende Fehlermeldung:


Muss ich noch mehr deklarieren?
Könnt ihr mir evtl. eure Variablendeklarationen dazu zeigen?
Ich möchte "nur" eine Temperatur regeln.

Das ganze läuft auf einer Wago 750-889

Wenn es einen "besseren" Baustein als Alternative gibt, wäre das auch okay.

Danke für eure Hilfe!
Philipp

Siemens CU320 Port defekt?

$
0
0
Hallo Leute,

ich bin bei der Inbetriebnahme (Duplizierung) einer Maschine. Vor 2 Wochen habe ich fertige Projekte auf 2 CUs gespielt.
Die CUs hängen hintereinander in einem Profinet-Strang.
Beide waren über Profinet erreichbar.
Gestern sollte es weiter gehen. Leider war CU2 nicht mehr erreichbar.
Dem Anschein nach ist der Profinet-Port 2 der ersten CU defekt.
Über diesen Port lässt sich die CU nicht anpingen,
ist mit dem Starter nicht erreichbar,
wird mit dem primary setup tool nicht gefunden.
Die LEDs am Steckverbinder deuten auf eine funktionierende Verbindung.

Kann es sein, dass ich etwas verkonfiguriert habe? Oder ist der Port einfach Tod?

Bin für alle Hinweise dankbar.

Wünsche allen ein schönes 3.-Advents-WE ;)
Holger

Timerfunktion Beckhoff ST

$
0
0
Hallo,

ich möchte mit meinem Programm eine Rechteckkurve ausgeben.

Folgendes Programm habe ich geschrieben, funktioniert aber nicht:

PauseTimer : TON;
SprungTimer : TON;
_____________________________


PauseTimer(IN := TRUE, PT := t#10s);

IF NOT PauseTimer.Q & NOT SprungTimer.Q THEN
ausgaenge.AO_1 := 0;
END_IF

IF PauseTimer.Q & NOT SprungTimer.Q THEN
ausgaenge.AO_1 := 15504;
SprungTimer(IN := TRUE, PT := t#12s);
END_IF


IF SprungTimer.Q THEN
PauseTimer(IN := False);
SprungTimer(IN := False);
END_IF

Das Problem ist das die Timer nicht richtig starten und sich nicht richtig verhalten.
Ist es ein Problem das die Timer mehrmals initialisiert werden? Starten diese dann immer neu?

MFG

MB connect line Anwenderkonferenz

$
0
0
Hallo,

am 1. und 2. Februar 2018 findet in der Nähe von Dinkelsbühl die zweite Anwenderkonferenz von MB connect line statt. An zwei Tagen dreht sich alles um Fernwartung, Digitalisierung und Industrial Security. Die Themen werden aus verschiedenen Blickrichtungen vorgestellt und diskutiert. Anwender aus unterschiedlichen Branchen stellen ihre Applikation in Fachvorträgen und Erfahrungsberichten vor.

Expertenvorträge zu Themen wie Cybersecurity, rechtlichen Aspekten und Geschäftsmodellen für neue Services bieten Ihnen wertvolle Informationen zu aktuellen Fragestellungen. Nicht zuletzt wird den Diskussionsrunden und dem direkten Austausch genügend Raum gegeben. An moderierten Thementischen diskutieren Sie praxisnah die neuesten Entwicklungen und Trends für eine sichere industrielle Kommunikation.

Nicht zu kurz kommt der persönliche Austausch zwischen den Anwendern verschiedener Branchen, externen Experten und den Spezialisten von MB connect line. Weitere Informationen und ein Formular zur Anmeldung finden Sie auf der Webseite:

https://conference.mbconnectline.com/

MSB's Geburtstag

$
0
0
Alles Gute zum Geburtstag sowie Gesundheit und Erfolg, junger Mann ;)

TIA TIA indirekter Zugriff auf Teile von UDT's

$
0
0
habe Programm von 300er auf 1500er zu konvertieren.

Problem habe ich bei einem Status UDT
bestehend aus 8Bits und einem Byte

UDT Status
Flag0 :BOOL;
Flag1: BOOL;
...
Flag7: BOOL;

FLAGs: BYTE;
END UDT

Es soll das Gleiche in den 8 Einzelflags stehen, wie in dem zusammengefassten Byte. (Byte und Bit hat den Grund: Bits für prgrammintere Verarbeitung; zusammengefasstes Byte für Visu Anzeige)

mit der 300er war das jetzt kein Problem. Man kopierte einfach die Bits per absoluter Adresse auf das Flag.

L DB10.DBB0
T DB10."My_Status.FLAGs"
NOP 0

Wie bekomme ich in der 1500er die Bits in einem rutsch auf das FLAGs Byte oder umgekehrt (das FLAGs Byte auf die Bits)

(ich habs mit absoluter Adresse des DB hinbekommen, aber das ist bei automatischer Nummerierung wohl nicht die Lösung.
My_Status%B0 erzeugt leider einen Fehler)

Codesys für raspberry auch auf Debian lauffähig?

$
0
0
Hi,
ich überlege, meine Hausautomatisierung auf Wago 750-881 aufzuteilen in einen Wago-Teil und einen Linux-Teil.
Auf Wago bliebe die reine Hausautomatisierung (Licht, rollos usw.) und mein Debian-Server, auf dem alles was mit Multimedia zu tun hat, würde die Visu und weitere Integration mit z.B. der Heizung übernehmen.
Auf dem Debian laufen (nur für meine eigenen Zwecke) Apache und node-red, mit dem ich schon heute http-put Befehle aus der Wago weiterverarbeite.

Soweit ich das beurteilen kann, müsste dazu:
1. Die Codesys Entwicklungsumgebung 3.xy unter Debian laufen
2. Codesys soft-SPS dito.
3. Diese mit der Wago reden können (Modbus?)
Logisch, daß die Wago weiterhin mit Codesys 2.3 programmiert wird.

Stimmt das so?
Hat das schon wer gemacht?
Was muß ich in der Wago für Modbus alles ändern/vorbereiten?
Kann ich das vorab testen?
Grüße

TwinCAT Achse bei aktiven MoveAbsolut die Geschwindigkeit ändern

$
0
0
mit der MC2 nutze ich schon viele Jahre den Move_Absolute Befehl (99% meiner Achsbewegungen) .. möchte ich "on the fly" die Geschwindigkeit ändern -> habe ich es bisher mit dem Override realisiert, jetzt sagte mir ein Fachmann: wenn die Override-Funktion gerade am "bremsen" ist akzeptiert diese dann einen höheren Wert nicht mehr ?? ich hatte eigentlich nie Probleme damit -> nur das bedeutet ja nicht das ich es immer richtig gemacht habe :D .. welche Möglichkeiten gibt es denn noch?? .. mit einer 2. Instanz die Velocity umtriggern scheint nicht zu klappen (da steht ja auch die gleiche Zielposition drin) .. die Zielposition mit zwei Instanzen "nachladen" nutze ich ja schon ewig

ST Ausgang blinkt nicht

$
0
0
Hallo,
ich verstehe nicht warum xQ1 nicht anfängt zu blinken so wie xz2warnung.
Angehängte Grafiken

Atvise mit Beckhoff

$
0
0
Hallo
bin noch Neuling mit dem Atvise Tool
ich habe eine Beckhoffsteuerung C6905 auf der die SPS läuft
Atvise läuft auch auf der C6905, konnte auch eine Testvisu runterladen und kann auch von irgendeinem PC da drauf schauen.

Wie kann ich aber nun von Atvise auf die Beckhoffe Variabeln zugreifen.
Ich vermute, dass ich die Variablen von der SPS exportieren muss und ins Advise importieren.
Aber konnte keine Doku finde, wie das geht. ( Ev. habe ich vor lauter suchen auch Tomaten auf den Augen)
Kann mir hier irgendjemand Hilfestellung dazu geben.

Vielen Dank

TIA TIA V14.1 Modbus/TCP richtig parametrieren

$
0
0
Hallo Leute,

ein Kollege und ich haben für die Schule ein Projekt am laufen. In diesem Projekt müssen wir eine HMI-Software mit WinCC OA auf dem Raspberry Pi zum laufen bringen, die auf eine S7-1500 per Modbus/TCP zugreift und Daten lesen bzw. schreiben kann (Tanksteuerung mit 2 Tanks, Ventilen, Pumpen und Füllständen).

Die HMI-Software greift auf ein Projekt auf der SPS zu, dass wir selber schreiben müssen. Dazu haben wir erstmal eine Verbindung per Modbus mit den Bausteinen von der Siemens Seite hergestellt, die vorprogrammiert und parametriert sind (der Beitrag heißt: "Wie programmieren und parametrieren Sie die Modbus/TCP-Kommunikation zwischen S7-1500 CPU und S7-1200 CPU?").

Von diesem Bausteinen verwenden wir nur den "MB_SERVER" und die dazugehörigen DB´s. Dieser reicht anscheinend um mit der HMI Daten auszulesen und zu schreiben.
Der MB_SERVER-Baustein verwendet ein Holding Register (Array of ...), dass bei uns z.B als Array of Bool festgelegt ist. Die Verbindung ist da und zwei in WinCC OA erstellte Schalter können einen Ausgang von der SPS lesen und schreiben (0/I) (in WinCC OA: Referenz M.1.3.0, read multiple registers, Eingang, Polling). Der Status im MB-SERVER ist auf 7006 - Data is being received.

Es gibt ja verschiedene Funktionscodes in Modbus und wir denken, dass wir das soweit verstanden haben, allerdings verstehen wir dass mit den Adressbereichen nicht und wo man diese parametrieren kann.



Jetzt hab ich ein paar Fragen:

Wo stellt man die Adressbereiche mit den verschiedenen Datentypen ein?
Oder
Wie kriegen wir ein weiteres "Holding Register", indem wir andere Datentypen (Uint, Real) schreiben können? In der vorgefertigten DB ist ein Register in dem Arrays von 0 bis .... erstellt werden können (
holdingRegister[0] ....[1]... usw.) und alle diese Arrays haben dann den gleichen Datentyp wie oben eingestellt (bei und Bool).

Dann gibt es noch ein Problem mit den Daten in den Arrays. Schalter_1 z.B. wird in das holdingRegister[8] geschrieben und Schalter_2 in das holdingRegister[9]. Ist Schalter_1 auf "1", steht eine "1" im Register. Schaltet man Schalter_2 noch dazu auf "1", wird das Array [8] wieder auf 0 gesetzt und das Array [9] geht auf 1. Genauso ist es andersrum - es können also nicht 2 Arrays gleichzeitig auf "1" sein. Gibt es da eine Möglichkeit das mehrere Arrays auf "high" geschrieben werden können?


Ahnung von dem Ganzem haben wir so gut wie gar nicht und bis Mitte Januar müssten wir von der Schule aus zumindest mehrere Datentypen schreiben bzw. lesen können.
Nach schon etlichen unnötigen Stunden die wir für das Projekt investiert haben, hoffen wir dass uns hier jemand zur Seite stehen kann der sowas in der Art schon einmal gemacht hat.
Jede Hilfe und Verweise auf hilfreiche Seiten nehmen wir gerne an - Gruß :)

Softwareverwaltung mit ENI Server

$
0
0
Hallo,

ich plane für unsere Codesys 2.3 Projekte eine revisionssichere Softwareverwaltung einzuführen.
Habe gesehen, dass Codesys bereits mit einer ENI Schnittstelle ausgeliefert wird.
Da die interne Dokumentation für den ENI Server recht dürftig ist, wollte ich mal nachfragen wer einen ENI Server laufen hat und
für die Ersteinrichtung mir ein paar Tipps und Leitfäden an die Hand geben kann.

Alternativ bin ich natürlich auch für andere Konzepte offen, mit denen revisionssicher Codesys Projekte abgelegt werden kann.
Mit SVN und Git habe ich auch schon bisschen rumprobiert, jedoch stört mich, dass ich nicht direkt sehen kann welche Änderungen zu den vorherigen Revisionen eingetragen wurden.

Vielen Dank im Voraus
Gruß
Julian

TIA Matrix Programmierung Efftient

$
0
0
Hi Leute,

ich habe mal eine Frage:

Wie löst ihr Matrix Aufgabe?
Ich habe immer wieder Automatisierungsaufgaben die aufeiner Cause& Effect Matrix basieren wobei die Anzahl immer wieder variert: Also

Projekt A:
5Causes -> 3 Strategien ->12 Effects


Projekt B:
82 Causes -> 13 Strategien -> 137 Effects

Projekt C:
...


Bis jetzt habe ich immer (sehr) große ODER mit den Causes auf die Strategie und dann die Strategien mittels oder an die Aktoren(Effekts).

Ich habe schon über Array Funktionen und Forschleifen nachgedacht, allerdings glaube ich das meine Zykluszeit sehr stark fordern würde. Hab ihr noch eine Idee?

Danke Gruß ROB

Panasonic FPWINPro Programmiersoftware

$
0
0
Hallo Forum,

ich suche Forumsmitglieder die bereits Erfahrung haben mit der Panasonic Programmiersoftware FPWINPro. Ist meiner Meinung nach ne tolle Software mit einem enormen Leistungsumfang. Die Hilfe-Funktionen sind super und das alles auch in deutscher Sprache. Ich finde auch klasse dass es eine kostenlose Version davon gibt mit der man auch mittelgroße SPS-Programme erstellen kann.

TIA S7-1500 mit X2X von B&R Aufbau

$
0
0
Hallo,

Kann mir hier jemand ein Tipp geben wie man mit einer S7-1500 mit einem X2X (von B&R) eine Verbindung zustande bekommt bzw. wie der Hardwareaufbau zu gestalten ist.
Es werden eine S7-1500, ein Buscontroller X20BC00E3 und einen X2X Link Bussender verwendet.

Die GSD Dateien wurden schon heruntergeladen und installiert. Die HW Konfiguration lässt sich somit in der SW einstellen.
Nach mehrmaligen nachlesen kam ich jetzt darauf dass es reicht am Buscontroller von B&R von der S7-1500 einfach anzuschließen und die IP Adresse in der SW zu vergeben. Der Buscontroller adressiert dann die IO selber bzw. den Bussender.

Lieg ich mit der Annahme richtig?

Vielen Dank im Voraus.

Weihnachtsrätsel 2017

$
0
0
Für ein einfaches SPS-Projekt wurde eine kleine SPS eingesetzt die von der Funktionalität her jedoch "etwas" eingeschränkt ist.
Sie beherrscht keine arithmetischen Rechenoperationen und nur die Negation als Bitoperation.

Wie es so ist, kommt der Kunde aber auf die Idee schnell noch eine kleine Berechnung in der Steuerung vornehmen zu sollen.
Dabei sollen zwei 4-Bit Integerzahlen addiert werden.
"Kann doch nicht sein, dass es mit der Steuerung die ihr uns verkauft hat nicht möglich ist!"

Was haben wir da:
Zwei digitale Ausgangskarten mit je 32 Ausgängen, und eine digitale Eingangskarte mit 32 Eingängen.
Die Ausgangskarten sind jedoch Relaiskarten mit nur einem einzigen potenzialfreien Schließerkontakt pro Ausgang.

Verdrahtungsmaterial ist da - da lässt sich doch bestimmt mit einer passenden Beschaltung etwas realisieren.

Operand A liegt in den 4 Bits von MW0 (M0.0, M0.1, M0.2, M0.3)
Operand B liegt in den 4 Bits von MW2 (M2.0, M2.1, M2.2, M2.3)

Das Ergebnis von A+B soll nach der "Berechnung" in den 5 Bits von MW4 (M4.0, M4.1, M4.2, M4.3, M4.4) vorliegen.

Das Programm kann in einer beliebigen Programmiersprache (z.B. AWL oder SCL/ST) geschrieben werden.
Die Programmiersprache erlaubt jedoch nur Bit-Zuweisungen und die Negation. Beispiele:

Code:

// AWL
U M0.0
= A0.0

U M1.0
NOT
= A1.0

// SCL / ST
A0.0 := M0.0;
A1.0 := NOT M1.0;

Logische Verknüpfungen wie UND / ODER (falls notwendig) müssen über eine entsprechende Verschaltung der Relaiskontakte vorgenommen werden.
Ziel ist das Verwenden von möglichst wenigen Ein- und Ausgängen.

Wie viele Ein- und wie viele Ausgänge werden für die Hilfsschaltung bei der 4-Bit Addition benötigt?

Als Antworten vorerst nur euer Endergebnis (Anzahl Ausgänge: x, Eingänge y) posten.

ForumRaetsel2017.jpg
Angehängte Grafiken

Swap LOBYTE und HIBYTE in TC 2

$
0
0
Hallo Zuammen,

ich habe eine frage bzgl. dem Anfügen von ProfiNet Slaves im TC 2 System Manager..


Ich füge ein Gerät (EL6631-0010) an, und füge meine Klemme (Box) an. Danach füge ich bei den API meine Module hinzu...

soweit so gut ich wähle z.b ein Wort aus, und hab dan in dem Subterm die möglichkeit bei dem Reiter Flags ( Swap LOBYTE und HIBYTE )


Die dazugehörige erklärung bei Beckhoff Infosys ist :

Bei Verwendung von Variablen, die 2 Byte groß sind, kann man die das niederwertige Byte und das höherwertige Byte im Wort tauschen (Swap LOBYTE und HIBYTE).


Anbei der link dazu :

https://infosys.beckhoff.com/index.p...705419.html&id=



nun zu meiner frage.... wann tauscht man das das niederwertige mit dem höherwertigen, und warum ?


würde mich interessieren wann in der praxis den Swap einsetzt..

grüße an alle
Angehängte Grafiken

Wahl zum Forum-User 2017

$
0
0
An dieser Stelle, die Wahl des User 2017.
Wie im jeden Jahr, ist dies eine offene Wahl wo für die Nominierten je nur eine Stimme abgegeben werden kann.
Der Gewinner erhält für ein Jahr einen Wanderpokal, in dem sein Name eingraviert wird.
Viewing all 49301 articles
Browse latest View live


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