SimCNC IO Ansteuern
SimCNC IO Ansteuern
Hallo,
Ich bin Kurt und neu hier, und so wie alle neuen einen Sack voller Fragen.
Ich habe eine Fräse mit SimCNC und CSMIO IP-S.
Nun sollte ich mehrere Aggregate vor beginn starten (Absaugung, Einschub, Klemmung).
Wie kann ich über ein Makro die Ausgänge der IP-S schalten?
Grüße Kurt
Ich bin Kurt und neu hier, und so wie alle neuen einen Sack voller Fragen.
Ich habe eine Fräse mit SimCNC und CSMIO IP-S.
Nun sollte ich mehrere Aggregate vor beginn starten (Absaugung, Einschub, Klemmung).
Wie kann ich über ein Makro die Ausgänge der IP-S schalten?
Grüße Kurt
Re: SimCNC IO Ansteuern
Moin,
du legst Dir ein oder mehrere Buttons im Screen-Editor an und hinterlegst bei dem Button ein entsprechendes Python - Script.
Einen digitalen Ausgang schaltest du so :
Steuerungen CSMIO/IP-S, CSMIO/IP-A und CSMIO/IP-M
mod_IP = d.getModule( ModuleType.IP, 0 )
# Den hohen Zustand am digitalen Ausgang Nr. 1 einstellen
mod_IP.setDigitalIO( 1, DIOPinVal.PinSet )
# Den tiefen Zustand am digitalen Ausgang Nr. 1 einstellen
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
Ich kann demnächst mal schauen, wie ich die Relais bei der IP-M angesteuert habe.
VG
Anton
du legst Dir ein oder mehrere Buttons im Screen-Editor an und hinterlegst bei dem Button ein entsprechendes Python - Script.
Einen digitalen Ausgang schaltest du so :
Steuerungen CSMIO/IP-S, CSMIO/IP-A und CSMIO/IP-M
mod_IP = d.getModule( ModuleType.IP, 0 )
# Den hohen Zustand am digitalen Ausgang Nr. 1 einstellen
mod_IP.setDigitalIO( 1, DIOPinVal.PinSet )
# Den tiefen Zustand am digitalen Ausgang Nr. 1 einstellen
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
Ich kann demnächst mal schauen, wie ich die Relais bei der IP-M angesteuert habe.
VG
Anton
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel
https://www.youtube.com/@boessi
https://www.youtube.com/@boessi
Re: SimCNC IO Ansteuern
Hallo Kurt,
ich habe auf die Schnelle ein kurzes Video für Dich erstellt:
https://youtu.be/1VwJ-CAAiXE
Vielleicht hilft es Dir weiter.
Hinweis:
Im MacroEditor bekommst Du nach dem Punkt alle möglichen Optionen (Eigenschaften und Methoden) angezeigt.
VG
Anton
ich habe auf die Schnelle ein kurzes Video für Dich erstellt:
https://youtu.be/1VwJ-CAAiXE
Vielleicht hilft es Dir weiter.
Hinweis:
Im MacroEditor bekommst Du nach dem Punkt alle möglichen Optionen (Eigenschaften und Methoden) angezeigt.
VG
Anton
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel
https://www.youtube.com/@boessi
https://www.youtube.com/@boessi
Re: SimCNC IO Ansteuern
Hallo Anton,
Danke du hast mir sehr geholfen,
Funktioniert super so wie ich es brauche, ich habe es jetzt noch mit den Reedkontakte der Zylinder verknüpft das erst der nächste Ausgang kommt
wenn der Zylinder geschlossen ist.
Danke nochmal.
Video ist auch super.
Lg Kurt
Danke du hast mir sehr geholfen,
Funktioniert super so wie ich es brauche, ich habe es jetzt noch mit den Reedkontakte der Zylinder verknüpft das erst der nächste Ausgang kommt
wenn der Zylinder geschlossen ist.
Danke nochmal.
Video ist auch super.
Lg Kurt
Re: SimCNC IO Ansteuern
Hallo Kurt,
freut mich, dass es Dir geholfen hat und alles funktioniert.
VG
Anton
freut mich, dass es Dir geholfen hat und alles funktioniert.
VG
Anton
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel
https://www.youtube.com/@boessi
https://www.youtube.com/@boessi
Re: SimCNC IO Ansteuern
Hallo,
So die Ansteuerung funktioniert gut, aber beim Saugtisch habe ich 4 Stück 5/3 Wegeventile.
Die ich jetzt über diesen Makro schalte.
mod_IP = d.getModule(ModuleType.IO, 1)
# Saugtisch 2 schalten
if gui.Saug_Tisch_2.getLedState():
gui.Saug_Tisch_2.setLedState( False )
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
else:
gui.Saug_Tisch_2.setLedState( True )
mod_IP.setDigitalIO( 1, DIOPinVal.PinSet )
und mit einen eigenen Button (Makro) ausschalte.
Jetzt möchte ich aber das ich nur einen Impuls (1Sec.) fürs einschalten bekomme das das Ventilspule nicht immer unter Spannung ist.
Ist das möglich, wenn ja würde ich mich über eine Lösung freuen.
Grüße Kurt
So die Ansteuerung funktioniert gut, aber beim Saugtisch habe ich 4 Stück 5/3 Wegeventile.
Die ich jetzt über diesen Makro schalte.
mod_IP = d.getModule(ModuleType.IO, 1)
# Saugtisch 2 schalten
if gui.Saug_Tisch_2.getLedState():
gui.Saug_Tisch_2.setLedState( False )
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
else:
gui.Saug_Tisch_2.setLedState( True )
mod_IP.setDigitalIO( 1, DIOPinVal.PinSet )
und mit einen eigenen Button (Makro) ausschalte.
Jetzt möchte ich aber das ich nur einen Impuls (1Sec.) fürs einschalten bekomme das das Ventilspule nicht immer unter Spannung ist.
Ist das möglich, wenn ja würde ich mich über eine Lösung freuen.
Grüße Kurt
Re: SimCNC IO Ansteuern
Moin Kurt,
du kannst einen Pin auf HIGH setzen, dann wartet das Programm für eine bestimmte Zeit (sleep - die Zeit in Sekunden steht in den Klammern vom sleep) und danach schaltest Du den Pin wieder auf LOW. Damit ist der PIN für eine Sekunde auf HIGH.
Dafür musst du time in dein Python-Skript importieren:
import time
mod_IP = d.getModule(ModuleType.IO, 1)
# Saugtisch 2 schalten
if gui.Saug_Tisch_2.getLedState():
gui.Saug_Tisch_2.setLedState( False )
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
else:
gui.Saug_Tisch_2.setLedState( True )
mod_IP.setDigitalIO( 1, DIOPinVal.PinSet )
time.sleep(1)
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
Im Prinzip brauchst Du das if dann nicht mehr. Du schaltest durch Klick auf den Button für eine Sekunde den PIN und die LED vom Button an und nach einer Sekunde setzt Du den Pin auf LOW und schaltest die Button-LED aus.
LG
Anton
du kannst einen Pin auf HIGH setzen, dann wartet das Programm für eine bestimmte Zeit (sleep - die Zeit in Sekunden steht in den Klammern vom sleep) und danach schaltest Du den Pin wieder auf LOW. Damit ist der PIN für eine Sekunde auf HIGH.
Dafür musst du time in dein Python-Skript importieren:
import time
mod_IP = d.getModule(ModuleType.IO, 1)
# Saugtisch 2 schalten
if gui.Saug_Tisch_2.getLedState():
gui.Saug_Tisch_2.setLedState( False )
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
else:
gui.Saug_Tisch_2.setLedState( True )
mod_IP.setDigitalIO( 1, DIOPinVal.PinSet )
time.sleep(1)
mod_IP.setDigitalIO( 1, DIOPinVal.PinReset )
Im Prinzip brauchst Du das if dann nicht mehr. Du schaltest durch Klick auf den Button für eine Sekunde den PIN und die LED vom Button an und nach einer Sekunde setzt Du den Pin auf LOW und schaltest die Button-LED aus.
LG
Anton
DIY Fräse Mineralguss-ALU / simCNC-CS-Lab / CSMIO-IP-M / JMC-Servos / GDK80-12Z-2.2 - Spindel
https://www.youtube.com/@boessi
https://www.youtube.com/@boessi
Re: SimCNC IO Ansteuern
Danke Anton
Mein Versuch (KI Google) schaut auch so aus hat aber nicht funktioniert jetzt nochmal getestet und es funktioniert.
Hast dir trotzdem ein Goldenes Sternchen verdient.
Ich kann mich nur bedanken für die super Unterstützung, ohne die ich die Fräse sicher nicht zum laufen bringen würde.
LG Kurt
Mein Versuch (KI Google) schaut auch so aus hat aber nicht funktioniert jetzt nochmal getestet und es funktioniert.
Hast dir trotzdem ein Goldenes Sternchen verdient.
Ich kann mich nur bedanken für die super Unterstützung, ohne die ich die Fräse sicher nicht zum laufen bringen würde.
LG Kurt
Re: SimCNC IO Ansteuern
Hallo,
Fehler gefunden, Makro war nur im Ordner profiles
Jetzt im Ordner profiles und screens und alles ist gut.
Grüße Kurt
Fehler gefunden, Makro war nur im Ordner profiles
Jetzt im Ordner profiles und screens und alles ist gut.
Grüße Kurt
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste