Step 7 Schnittstelle PLC NC Tastenabfrage als Anwenderzyklus

weigi

Level-1
Beiträge
34
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
mal wieder möchte ich die Hilfe des Forums und der Profis hier in Anspruch nehmen.
Ich möchte in einem Anwenderzyklus eine Taste (Also einen Ein oder Ausgang) abfragen.

Da dies nicht direkt geht habe ich es wie folgt über einen Datenbaustein versucht.
Ich würde zunächst die ´den Tastendruck in eine DB Schreiben DB10 DX 0.4
und dann wie folgt abfragen??

Code:
;******Abfrage ob Taste gesetzt******
N11720 IF $_IN[5]==1
N11730  MSG("Laserabwahl aktiv") 
N11740 GOTOF WARTEN5 
N11750 ENDIF
;******Ende Abfrage******

Über den Befehl $_IN[5]==1 wollte ich die Taste die Taste aufrufen? ist das möglich? Ich bin mir auch nicht wirklich sicher welche Nummer es sein müsste $_IN[???]==1
Ach ja ich habe eine 840D verbaut und eine S7 315-2 DP falls dies noch hier wichtig ist.

vielen Dank

Gruß
Tobias

Hier mal noch der Auszug aus dem Listenhandbuch 2 von Siemens vielleicht kann mir dann hier jemand Gewissheit verschaffen.
Unbenannt.JPG
 
Ich verstehe nicht was du woher einlesen und wohnin du was schreiben willst.
Ist der Eingang von der MSST? Wohin soll die Meldung, auf ein OP oder?
Wenn es eine Werkzuegmaschine denke daran, dass du wenn du das PLC Programm zu sehr vergrößerst, es zu Problemen kommen kann.
Wir testen alle, auch die kleinsten, Änderungen, um Fehlfunktionen zu erkennen.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
ich möchte einfach bei der Anwendung einen Tastenzustand einlesen
Quasi nach dem Prinzip:

IF Taste 3 gedrückt
Überspringe einen Teil des Programmes

Da die Taste der Maschienensteuertafel nicht direkt an der NC abgefragt werden kann muss man hier ja den Weg über die PLC gehen. Deshalb schreib ich den Zustand in einen Datenbaustein und will diesen Datenbaustein dann auslesen ich habe gehört dass es so in der Art funktionieren würde aber wollte jetzt nochmal hier nachfragen damit es dann auch wirklich funktioniert.

vielen Dank für jede Antwort. Ich freue mich auch über andere Lösungsvorschläge

Gruß
Tobias
 
Wenn die Taste von der MSSt kommt, dann kannst du doch im OB100 nachschauen, welche E / A am FB1 anparametriert sind.
Dann kannst du direkt daruf zugreifen.
Brauchst also keinen Umweg über die NC.

Ich weiß noch immer nicht welche Taste und wohin was geschrieben werden soll. :confused:


bike
 
Hallo

Code:
;******Abfrage ob Taste gesetzt******
 N11720 IF $_IN[5]==1
 N11730  MSG("Laserabwahl aktiv") 
 N11740 GOTOF WARTEN5 
 N11750 ENDIF
 ;******Ende Abfrage******

Über den Befehl $_IN[5]==1 wollte ich die Taste die Taste aufrufen?


als erstes must dir mal eine überblick über die Verwendeten NC Eingänge verschaffen.
ich würde auch keine $A_IN aus dem ersten Byte verwenden damit werden meist irgendwelche Asups ausgelöst

in diesem MD gibt man an wie viel schnelle NCK eingangs Byte man verwenden kann.
MD10350 $MN_FASTIO_DIG_NUM_INPUTS

als nachscheuen was da steht.
schreibst du dort eine 5 rein sind das 5 Byte Hardware muss nicht vorhanden sein.
DB10.dbx129.7 entspricht dann $A_IN[40]

Das lesen von $A_IN[] erzeugt zwar eine Vorlaufstop aber ich bezweifle das
du mit diese abfrage im NC Programm das erreichst was Du willst
zumindest nicht wenn du im PLC Programm nur die Taste dem Ausgang zuweist

u E x.x
= DB10.DBX129.7

aber versuch macht klug.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es ist ja schön, wenn du ein Signal der MSST im NC Programm lesen willst.
Doch ist es das was du willst?
Wer sagt denn, dass der Laser ein ist, wenn die Taste gedrückt wird?
z.B. Trumpf Laser haben eine Schnittstelle wo du sehen kannst was das Teil mcht.

Darüber solltest du nachdenken, bevor du dich auf das NC Programm stürztst.


bike
 
Bike was ist eigentlich dein Problem ?
Im ersten Beitrag schreibst Du schon das du nicht verstehst warum es geht.
Warum hältst Du dich dann nicht einfach raus.



Der TE möchte scheinbar eine Taste des MCP ( MSST nannte man das früher)
im NC Programm abfragen.


Wenn man keinen konstruktiven Beitrag leisten will ,dann lass es doch sein.
Darübersolltest Du mal nachdenken, wenn es Dir überhaupt möglich ist.
 
Zuletzt bearbeitet:
Hi Weigi

Vorab sind deine Angaben zur genauen Anwendung ziemlich rar.
Du könntest etwas mehr schreiben was gemacht werden soll.


Frage:
Ist es dir vorgegeben, eine Taste hierfür verwenden zu müßen ?


Grundsätzlich:
Wenn du nur einen "Eingang" abfrägst, muß dieser ein "1"-Signale bei der Abfrage des CNC-Codes haben.
D.h. Der Bedienmann muß die Taste dauerhaft festhalten, bis der Eingang im NC-Programm abgefragt wird !
Ist das so gewollt ?


Ich würde, ohne die genaue Aufgabe zu kennen eine Eingabemaske erzeugen. (BE1 , Bedienoberfläche ergänzen)
Hier könnte eine z.b. GUD-Variable verändert werden.
Z.b.
"Bearbeitung mit Laser" Ja/Nein ( Diese könnte im Eingabemenü an/abgewählt werden)

Kurzum, beschreibe uns deine Anwendung/Vorgaben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bike was ist eigentlich dein Problem ?
Im ersten Beitrag schreibst Du schon das du nicht verstehst warum es geht.
Warum hältst Du dich dann nicht einfach raus.ich.

Dadurch dass ich Maschinensteuerungen entwickle, kenne ich die Problematik von Änderungen und Erweiterungen
Und mit meinen Fragen und Hinweisen möchte ich dem TE aufzeigen, worauf er achten sollte.

Es macht keinerlei Sinn im NC Programm auf eine Taste zu warten, denn wenn der Bediener gerade Kaffee sich holt, dann steht der Hobel.
Das hat Karl ganz gut beschrieben.

Man muss nicht alles in denglisch schreiben, daher ist MSST nach wie vor richtig. :ROFLMAO:


bike
 
Ich denke nicht dass du in die Entwicklungder 840D in irgendeiner Weise involviert bist.
Du schreibst vielleicht PLC / NC Programme die auf einer 840D laufen mehr wohl nicht.


Möglicher weise macht es Sinn in einem NC Programm auf eine Aktion des Bedienerszu warten,
diese Entscheidung liegt hier wohl beim TE und nicht bei Dir

Und wenn der TE es so entscheiden hat, und es zum Maschinenstillstand kommt weil der Maschinenbediener nicht verfügbar ist werden
die entsprechenden Leute reagieren.

Und in keinem deiner Beiträge zu diesem Thema konnte ich etwas Sinnvollesfür den TE entdecken, das einzige was Du mit deinen Beiträgen geschafft hast ist scheinbarden TE zu verschrecken.
 
Ich denke nicht dass du in die Entwicklungder 840D in irgendeiner Weise involviert bist.
Du schreibst vielleicht PLC / NC Programme die auf einer 840D laufen mehr wohl nicht.


Möglicher weise macht es Sinn in einem NC Programm auf eine Aktion des Bedienerszu warten,
diese Entscheidung liegt hier wohl beim TE und nicht bei Dir

Und wenn der TE es so entscheiden hat, und es zum Maschinenstillstand kommt weil der Maschinenbediener nicht verfügbar ist werden
die entsprechenden Leute reagieren.

Und in keinem deiner Beiträge zu diesem Thema konnte ich etwas Sinnvollesfür den TE entdecken, das einzige was Du mit deinen Beiträgen geschafft hast ist scheinbarden TE zu verschrecken.

Wie toll und informativ für den TE ist das denn?
Nur weil du nicht verstehst was und wie ich schreibe, ist das nicht falsch.

Ein Frage noch:
Hast du etwas persönlich gegen DMG?
Haben sie die nicht eingestellt?
Stimmt, wir nehmen nicht jeden.


bike

btw: hast du die Leertaste immer noch nicht bezahlt und darfst diese nicht immer nutzen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich muss zugeben dass außer in demersten Beitrag von mir keine Informationen für den TE enthalten waren,
oder vielleicht doch, dann aber nur das er sich von dir nicht einschüchtern lassen sollte.


Und zu deinen Fragen.
Warum sollte ich irgendwelche Ressentiments gegenüber deinem Arbeitgeberhaben, was magst Du mir hier unterstellen?
Und nein ich habe noch nicht mit deinem Arbeitgeber bezüglich eines Arbeitsplatzes in Verhandlung gestanden,
sähe dort aber auch kein Problem, Dich haben sie ja auch genommen.




Bezüglich der Leertaste erwarteich immer noch eine Lieferung von Dir, ich kann dich immer wieder auf dein Angebot hinweisen aber da kommt einfach nix.
 
Es würde natürlich auch über die NC selbst bzw. die Bedienoberfläche gehen.
Stichwort wäre hier ""Bedienoberfläche ergänzen (BE1)"
Hier könnte man sich auf der Oberfläche ne Maske / Dialog erzeugen und entsprechend ein Variable in der NC setzen und dann wie bisher auch bedingt verzweigen!

Ganz banal würde es auch via einer GUD Variable oder einem R-Parameter gehen welcher man halt entsprechend setzt.
Dann müsste man halt nix in der PLC ändern ;)

Also Möglichkeiten gibt es so viele wie Wege nach Rom :cool:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
wenn das auch direkt als R Parameter geht wollte ich einfach mal frech fragen ob mir jemand verraten kann was ich dafür anpassen muss?

vielen Dank
Gruß
Tobias
 
Hallo
ich habe folgendes im Internet gefunden:

CALL FB 88 , DB 88 (
Read := E 7.7, // Start Leseauftrag
Write := E 7.6, // Start Schreibauftrag
Anz := 40, //Anzahl R-Parameter
R_Nr := 5, //erster R-Parameter
Unit := B#16#1, // KanalNr
Activ := A 5.7, //LED T1
State := MW 200, //StatusWort
Error := A 5.6); //Fehler von FB2/3


Funktioniert so etwas wenn ja könnte mir jemand sagen warum hier gelesen und geschrieben wird?

Danke
Gruß
Tobias
 
Hi Weigi

Der FB88 --> Wird im PLC geschrieben/aufgerufen.
Ich denke, den hat sich jemand selbst geschrieben.

Willst du das PLC-Programm verändern ?
Falls wir dir eine Lösung vorschlagen können sollten wir Infos bekommen !

Info wie z.b.
Bediener hält eine Taste fest --> Grüne Lampe rechts an der Maschine geht an.

. . .
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich freue mich über jede Antwort und jede Hilfe bzw. jeden Lösungsvorschlag.

Der Benutzer soll die Tasten drücken (aber nicht gedrückt halten) dadurch wird bereits ein Ausgang gesetzt (Ausgang für die Anzeige-LED). Im NC Programm soll nun der Zustand dieses Ausganges weiter verwendet werden (also entweder Zustand 1 oder 0) die weitere Verwendung über eine If Abfrage bekomme ich hin. Nur weis ich eben nicht genau wie ich den Zustand des Ausganges in ein NC Programm bekomme.

Nach dem ich jetzt hier einige gute Antworten bekommen habe wollte ich jetzt versuchen einen R-Parameter zu verwenden aber wie bekomme ich den Zustand eines Ausganges in den R-Parameter?

vielen Dank

Gruß
Tobias


P.S.: natürlich kann auch das PLC Programm angepasst werden.
 
Zuletzt bearbeitet:
Zurück
Oben