Siemens
Digital Industries, Motion Control, Machine Tool Systems
8832
Follower:innenAbfrage Vorschubpoti / Override
12.11.2009, 16:43 Uhr
An alle NC Spezi's
Lässt sich die Position des Vorschub-Override abfragen? - ggf. über die Synchronaktionen?
Konkret: Programm wird nicht weiterbearbeitet, wenn Override nicht auf 100% steht.
DANKE
Lässt sich die Position des Vorschub-Override abfragen? - ggf. über die Synchronaktionen?
Konkret: Programm wird nicht weiterbearbeitet, wenn Override nicht auf 100% steht.
DANKE
--------------------
....und immer ne handvoll Späne unter den Schuhen ..... in diesem Sinne
CNCRALLI
CNCRALLI
12.11.2009, 19:56 Uhr
Es gibt die Systemvariablen:
$AC_OVR
$AC_PLC_OVR
$AC_TOTAL_OVR
Auf den Seiten 1-103 u. 1-104 im folgendem link steht mehr darüber:
http://www.automation.siemens.com/doconweb...ultType=content
Der Beitrag wurde von CNCler bearbeitet: 12.11.2009, 19:58 Uhr
$AC_OVR
$AC_PLC_OVR
$AC_TOTAL_OVR
Auf den Seiten 1-103 u. 1-104 im folgendem link steht mehr darüber:
http://www.automation.siemens.com/doconweb...ultType=content
Der Beitrag wurde von CNCler bearbeitet: 12.11.2009, 19:58 Uhr
12.11.2009, 21:18 Uhr
CNCler, erst einmal vielen Dank für die schnelle Hilfe. Die Variablen
$AC_PLC_OVR
$AC_TOTAL_OVR
waren mir neu - da meine Doku wohl nicht auf dem neusten Stand ist.
$AC_OVR kann nur im IPO Takt abgefragt werden - sonst 100% !
Das Abfragen im IPO Takt bekomme ich nicht hin.
Die anderen zwei Variablen werde ich testen und mich melden.
Bin gespannt :-)
$AC_PLC_OVR
$AC_TOTAL_OVR
waren mir neu - da meine Doku wohl nicht auf dem neusten Stand ist.
$AC_OVR kann nur im IPO Takt abgefragt werden - sonst 100% !
Das Abfragen im IPO Takt bekomme ich nicht hin.
Die anderen zwei Variablen werde ich testen und mich melden.
Bin gespannt :-)
--------------------
....und immer ne handvoll Späne unter den Schuhen ..... in diesem Sinne
CNCRALLI
CNCRALLI
12.11.2009, 22:20 Uhr
$AC_OVR kann nur im IPO Takt abgefragt werden - sonst 100% !
Das Abfragen im IPO Takt bekomme ich nicht hin.
Das Abfragen im IPO Takt bekomme ich nicht hin.
Vielleicht gibt es da ein Mißvertändnis. Der Text sagt, dass die Variable in jedem IPO-Takt geschreiben werden muss, wenn man den Override vom Programm aus verändern will (per Synchronaktionen) und wenn ein so verändertet Wert ständig wirksam bleiben soll.
Abfragen kann man den Wert natürlich auch ganz normal nur ein Mal (muß nicht unbedingt über Synchronaktionen laufen). Man hat dann natülich keine ständige Überwachung, d.h. man bekommt nicht mit, wenn sich der OVR-Wert verändert.
Wenn es wichtig ist, den Wert permanent zu überwachen, müßte das auch mit einer modalen Synchronaktion funktionieren.
13.11.2009, 08:02 Uhr
13.11.2009, 11:52 Uhr
....wie schon befürchtet, die Variablen stehen in meinen Maschinen nicht zur Verfügung :-( !
- warum auch immer - Softwarestand, Ausführung Steuerung .... !
Bleibt mir die Frage, wie ermittele ich den aktuellen Stand des Override in einer Synchronaktion?
Wenn es geht - wie ?
- warum auch immer - Softwarestand, Ausführung Steuerung .... !
Bleibt mir die Frage, wie ermittele ich den aktuellen Stand des Override in einer Synchronaktion?
Wenn es geht - wie ?
--------------------
....und immer ne handvoll Späne unter den Schuhen ..... in diesem Sinne
CNCRALLI
CNCRALLI
13.11.2009, 15:11 Uhr
uli12us
Level 8 = Community-Ehrenmitglied
Gruppe: Mitglied
Mitglied seit: 20.04.2002
Beiträge: 5.008
Mitglied seit: 20.04.2002
Beiträge: 5.008
Gibts da nicht im Zusammenhang mit Gewindeschneiden die Möglichkeit den Vorschub auf 100% einzustellen, unabhängig davon, was am Poti eingestellt ist? Dazu solltest du dir am besten mal den Cycle84 genauer anschauen.
13.11.2009, 17:45 Uhr
Hallo Leute,
hab jetzt schon eine ganze menge probiert aber das beste ergebniss war bis jetzt,
dass ich die zahl "100" in R00 schreiben konnte.
So geschehen in MDA:
ID=1 DO $R00=$AC_OVR
STOPRE
CANCEL(1)
Nur kommt die Zahl "100"immer egal auf welcher Pos das Poti steht.
Mich würde wirklich interessieren wie man den POTI Wert lesen kann.
Kann uns den wiklich keiner helfen
hab jetzt schon eine ganze menge probiert aber das beste ergebniss war bis jetzt,
dass ich die zahl "100" in R00 schreiben konnte.
So geschehen in MDA:
ID=1 DO $R00=$AC_OVR
STOPRE
CANCEL(1)
Nur kommt die Zahl "100"immer egal auf welcher Pos das Poti steht.
Mich würde wirklich interessieren wie man den POTI Wert lesen kann.
Kann uns den wiklich keiner helfen
--------------------
Mfg MORI
“Armselig der Schüler, der seinen Meister nicht übertrifft“
“Armselig der Schüler, der seinen Meister nicht übertrifft“
13.11.2009, 19:28 Uhr
Gibts da nicht im Zusammenhang mit Gewindeschneiden die Möglichkeit den Vorschub auf 100% einzustellen, unabhängig davon, was am Poti eingestellt ist? Dazu solltest du dir am besten mal den Cycle84 genauer anschauen.
...schon passiert! Im Cycle84 wird zum Gewindeschneiden G331/G332 verwendet und zu dieser G-Funktion gibt es nur Poti 0 oder 100%
Danke
--------------------
....und immer ne handvoll Späne unter den Schuhen ..... in diesem Sinne
CNCRALLI
CNCRALLI
13.11.2009, 20:07 Uhr
Hallo Leute,
hab jetzt schon eine ganze menge probiert aber das beste ergebniss war bis jetzt,
dass ich die zahl "100" in R00 schreiben konnte.
So geschehen in MDA:
ID=1 DO $R00=$AC_OVR
STOPRE
CANCEL(1)
Nur kommt die Zahl "100"immer egal auf welcher Pos das Poti steht.
Mich würde wirklich interessieren wie man den POTI Wert lesen kann.
Kann uns den wiklich keiner helfen
hab jetzt schon eine ganze menge probiert aber das beste ergebniss war bis jetzt,
dass ich die zahl "100" in R00 schreiben konnte.
So geschehen in MDA:
ID=1 DO $R00=$AC_OVR
STOPRE
CANCEL(1)
Nur kommt die Zahl "100"immer egal auf welcher Pos das Poti steht.
Mich würde wirklich interessieren wie man den POTI Wert lesen kann.
Kann uns den wiklich keiner helfen
Ich habe auch noch mal ein bisschen geforscht: Mit $AC_OVR kann man tatsächlich nur den Override lesen, wir er gegebenfalls mit Synchronaktionen verändert wurde. Wenn man den nicht verändert, liest man eben immer 100%.
Die beiden anderen Variablen ($AC_PLC_OVR bzw. $AC_TOTAL_OVR) liefern aber den richtigen Wert.
Das Lesen mittels Synchronaktion geht noch etwas einfacher, nämlich mit
DO $R00=$AC_OVR
Die Synchronaktion ist dann nicht modal (weil das ID=1 fehlt). Damit bracht man den Befehl CANCEL(1) nicht mehr.
STOPRE ist notwendig, weil man sonst in der Regel versuchen würde das Ergebnis (hier in R0) zu lesen,m bevor es durch die Synchronaktion beschrieben wurde.
14.11.2009, 00:00 Uhr
Habe auch versucht das PLC Bit "db13.DBB[0] zu lesen. Dieses gibt den exaten Poti Wert zurück; allerdings im Bit binär Code.
Und plc Daten lassen sich wiederum nicht in NC VAriablen schreiben.
!?!?!?!?!
Und plc Daten lassen sich wiederum nicht in NC VAriablen schreiben.
!?!?!?!?!
--------------------
Mfg MORI
“Armselig der Schüler, der seinen Meister nicht übertrifft“
“Armselig der Schüler, der seinen Meister nicht übertrifft“
14.11.2009, 00:17 Uhr
uli12us
Level 8 = Community-Ehrenmitglied
Gruppe: Mitglied
Mitglied seit: 20.04.2002
Beiträge: 5.008
Mitglied seit: 20.04.2002
Beiträge: 5.008
Kann man das nicht umstellen, in dem man bei den PLC einstellungen dieses db... schreibt und als Datenart anstatt binär dezimal?
14.11.2009, 02:03 Uhr
Das mußt du mir besser erklären; bin eigentlich ein FANUC ler
--------------------
Mfg MORI
“Armselig der Schüler, der seinen Meister nicht übertrifft“
“Armselig der Schüler, der seinen Meister nicht übertrifft“
14.11.2009, 11:22 Uhr
uli12us
Level 8 = Community-Ehrenmitglied
Gruppe: Mitglied
Mitglied seit: 20.04.2002
Beiträge: 5.008
Mitglied seit: 20.04.2002
Beiträge: 5.008
Bei mir ists nur das MB20 das für den Wkzgwechsel zuständig ist. Das ist voreingestellt auf binär, da tippt man dann erstmal 1000 Nullen und dann nen Einser wenn man das zurücksetzen will. Wenn man in die Spalte wo eben die Datenart nenn ichs mal eingestellt wird statt nem B für Binär ein D für Dezimal eintippt, kann man normale Zahlen verwenden.
Ich geh jetzt einfach mal davon aus, dass das mit deinem DB13 ebenso funktioniert. Intern wird das sowieso alles in Binär gewandelt, nur nach aussen hin lässts sich bequemer handhaben. Kaputtmachen kann man damit erstmal nichts, solange man da keine anderen Werte eingibt.
Ich geh jetzt einfach mal davon aus, dass das mit deinem DB13 ebenso funktioniert. Intern wird das sowieso alles in Binär gewandelt, nur nach aussen hin lässts sich bequemer handhaben. Kaputtmachen kann man damit erstmal nichts, solange man da keine anderen Werte eingibt.
14.11.2009, 13:16 Uhr
Es gibt auch noch Maschinendaten, wo angegeben wird wie die Stellung des Potentiometers letztendlich interpretiert wird. Irgendwo um die 12000 sollten die sein.
Wenn du sicherstellen willst, dass ein Programmteil mit 100% gefahren wird könntest du auch diese Maschinendaten, es gibt für jede Stellung des Potios eines, über ein Programm ändern. Und danach wieder zurücksetzen auf "Normalwerte". Am besten mit 2 Unterprogrammen die vor und nach dem Programmteil der mit 100% gefahren werden soll, aufgerufen werden. Dann könnte man für 0% = 0 eingeben und für alle anderen Stellungen 100%. Dann wäre es egal wo das Poti steht. Die Maschinendaten sind so weit ich weiss sofort wirksam, also möglich sollte dieser Weg sein. Kommt halt drauf an was du damit bezwecken willst, ob der Ansatz für dich taugt.
Wenn du sicherstellen willst, dass ein Programmteil mit 100% gefahren wird könntest du auch diese Maschinendaten, es gibt für jede Stellung des Potios eines, über ein Programm ändern. Und danach wieder zurücksetzen auf "Normalwerte". Am besten mit 2 Unterprogrammen die vor und nach dem Programmteil der mit 100% gefahren werden soll, aufgerufen werden. Dann könnte man für 0% = 0 eingeben und für alle anderen Stellungen 100%. Dann wäre es egal wo das Poti steht. Die Maschinendaten sind so weit ich weiss sofort wirksam, also möglich sollte dieser Weg sein. Kommt halt drauf an was du damit bezwecken willst, ob der Ansatz für dich taugt.
--------------------
Gruß,
Drehpapst
Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
Drehpapst
Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
14.11.2009, 14:22 Uhr
Ich möchte eigentlich "nur" die Stellung des Poti mit "Write" dokumentieren
--------------------
Mfg MORI
“Armselig der Schüler, der seinen Meister nicht übertrifft“
“Armselig der Schüler, der seinen Meister nicht übertrifft“
19.11.2009, 14:31 Uhr
'tja Kollegen der Zunft,
so richtig bin ich dann doch noch nicht weitergekommen.
In dem DB21.DBB4 (NST Vorschubkorrektur) kann ich die Position des Override ansehen aber wie schon vorher erwähnt
lässt sich die PLC direkt nicht Abfragen. Das Signal muß auf einen speziellen Baustein geschrieben werden um mit $A_DBB
darauf zugreifen zu können.
Den Override im Maschinendatum komplett hoch setzten (100%) und nachher zurück halte ich für sehr riskant.
Wenn ich eine Störung habe .....!
Noch mal zur Aufgabe:
Ich möchte sicherstellen, dass mein Programm nur mit 100% Override läuft. Wobei ich es ausreichend finde, dass eine einmalige
Abfrage am Anfang genügt.
Vielleicht hat noch einer einen anderen Ansatz?
so richtig bin ich dann doch noch nicht weitergekommen.
In dem DB21.DBB4 (NST Vorschubkorrektur) kann ich die Position des Override ansehen aber wie schon vorher erwähnt
lässt sich die PLC direkt nicht Abfragen. Das Signal muß auf einen speziellen Baustein geschrieben werden um mit $A_DBB
darauf zugreifen zu können.
Den Override im Maschinendatum komplett hoch setzten (100%) und nachher zurück halte ich für sehr riskant.
Wenn ich eine Störung habe .....!
Noch mal zur Aufgabe:
Ich möchte sicherstellen, dass mein Programm nur mit 100% Override läuft. Wobei ich es ausreichend finde, dass eine einmalige
Abfrage am Anfang genügt.
Vielleicht hat noch einer einen anderen Ansatz?
--------------------
....und immer ne handvoll Späne unter den Schuhen ..... in diesem Sinne
CNCRALLI
CNCRALLI
19.11.2009, 17:08 Uhr
nixalsverdruss
Level 7 = Community-Professor
Gruppe: Mitglied
Mitglied seit: 16.11.2003
Beiträge: 1.511
Mitglied seit: 16.11.2003
Beiträge: 1.511
Noch mal zur Aufgabe:
Ich möchte sicherstellen, dass mein Programm nur mit 100% Override läuft. Wobei ich es ausreichend finde, dass eine einmalige
Abfrage am Anfang genügt.
Vielleicht hat noch einer einen anderen Ansatz?
Ich möchte sicherstellen, dass mein Programm nur mit 100% Override läuft. Wobei ich es ausreichend finde, dass eine einmalige
Abfrage am Anfang genügt.
Vielleicht hat noch einer einen anderen Ansatz?
es gibt die möglichkeit PLC eingänge in der NC zu lesen
über diesen weg ist es möglich die stellung des Poti abzufragen
dazu muss auch nicht die PLC geängert werden es ist aber von vorteil wenn man ins plc Programm schauen kann
das EB n+3 enthält in den bit s 0-4 das Poti allerdings im grey code
beim Standart PLC Program wärs das EB3 ist es das nicht muss man suchen oder im OB100 nachschauen
wenn dann der herstelleer der Maschine keine EB direkt liest kann man das nutzen .
nach setzen der entsprechenden MP's kann man dann mit $A_PBB_IN das Byte lesen mit B_AND bits 5-7 ausblenden
dann von gray nach dual
und fertig
--------------------
There are only 10 types of people in the world: Those who understand binary, and those who don't
Wir haben einen exponentiellen Zuwachs anDoofen Pack im Forum
Wir haben einen exponentiellen Zuwachs an
2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: