На один из входов OEMTRIG заведена кнопка. В настройка System Hotkey можно присвоить каждому OEMTRIG какую нибудь функцию. Мне необходима функция № 301, которая (гипотетически) запускает макрос. Но какой и от куда, и как сконфигурить ???. Инет подсказывает, что №301 запускает функцию SetTriggerMacro(num), которая выполнит макрос num, но опять таки какой OEMtrig и какой num???
Одним словом - проясните о чем речь с этими OEMTrig.
Запуск макроса посредством OEMTRIG-gera
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Запуск макроса посредством OEMTRIG-gera
Т.е. насколько я понял пишешь SetTriggerMacro(<номер>)
Re: Attaching a macro to OEM input trigger OEM code 301?
« Reply #7 on: January 28, 2009, 10:20:10 AM »
Thank all of you for your help. I’ve found a way that will work for the time being. With the help from “Mach specific Subroutines / Functions grouped by purpose” from MachCustomizeWiki I used the following:
“Sub SetTriggerMacro (MacroNo as Integer)
Defines the number of a macro to be executed when an OEMTrigger is set (slightly unexpectedly on the Config>Set System Hotkeys dialog) to generate OEM code 301. This provides script execution without the requirement for a screen button as intermediary.
For example if SetTriggerMacro 456 has been executed then a signal on any OEMTrigger configured to 301 will run the code in the file M456.M1S when activated.”
I wrote a script with VB Script Editor and saved it as Msetup.m1s. When I first start Mach3 I run the script from VB Script Editor. The script reads “ SetTriggerMacro 35”. M35 is my test routine. As mentioned before I’ve set up an OMETrigger #1 with code 301. When I hit the switch associated with OEM Triggger # 1 the M35 code executes. It all needs some tweaking but I’m on the right tract.
One problem I see with this is that I can only run one script with code 301. If I wanted to run another from a different Trigger I’d have to run a different “SetTriggerMacro” before hitting the new switch because they are all called from code 301. I wonder if there is such a thing as 301-2, 301-3 etc. Or maybe there is “SetTriggerMacro#1,M---”, “SetTriggerMacro#2,M---”, Something to think about.
Tony
И тогда при замыкании триггера OEMTrigger (с настройкой OEM code 301), выполнится макрос M<номер>.M1S
-
cnc-00
- Новичок
- Сообщения: 22
- Зарегистрирован: 13 авг 2012, 23:56
- Репутация: 0
- Контактная информация:
Re: Запуск макроса посредством OEMTRIG-gera
"пишешь SetTriggerMacro(<номер>)"
Пишешь куда, - в макрос, который я не знаю как вызвать ?
Я бы понял, если-бы SetTriggerMacro прописывался для каждого триггера индивидуально, т.е. первый триггер запускал бы к примеру макрос М100, второй - М105, и т.д.
Но так, как любой из триггеров запустит (не знаю откуда) функцию, которая запустит конкретно один макрос, то вообще не понятно, зачем такой функционал в принципе?
Пишешь куда, - в макрос, который я не знаю как вызвать ?
Я бы понял, если-бы SetTriggerMacro прописывался для каждого триггера индивидуально, т.е. первый триггер запускал бы к примеру макрос М100, второй - М105, и т.д.
Но так, как любой из триггеров запустит (не знаю откуда) функцию, которая запустит конкретно один макрос, то вообще не понятно, зачем такой функционал в принципе?
