Скрипт Planet CNC для гравировки на криволинейной пов-ти.
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Задал вопрос на официальном форумепо ошибке скрипта. Разработчик мне ответил "Check if you have Microsoft script controll installed and registered (MSScriptControl.ScriptControl)." А где проверить установлен ли он и зареген?
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
У товарища скрипты установленные с программой на хр не вызывывают ошибки. на win 7 вываливаются с ошибкой. Сегодня дома проверю бибилиотеку, заново ее зарегистрирую и попробую работу скрипта
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Сегодня создал файл test.txt в котором написал MsgBox "OnOpen: Units=" & State.Units & " X=" & State.X & " Y=" & State.Y & " Z=" & State.Z
И скрипт успешно выполнился. Определил эту конструкцию в скобки Sub OnOpen() End Sub и вписал в программе test.txt; OnOpen и получил Script Error. Method OnOpen.
И скрипт успешно выполнился. Определил эту конструкцию в скобки Sub OnOpen() End Sub и вписал в программе test.txt; OnOpen и получил Script Error. Method OnOpen.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Скинь test целиком...
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
вот
- Вложения
-
- test.txt
- (149 байт) 1127 скачиваний
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Я думал у меня в винде скрипты блокируются, написал скрипт создания файла, все путем, файл создался.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
даже не знаю попробуй перед MsgBox поставить отступ, т.е. чтобы было так:
Или вообще тупо скопируй весь sub из скрипта из примеров. Или сотри строчку с MsgBox, попробуй запустить, если запуститься по частям добавляй строчку, пока не найдешь ошибку, т.е.
MsgBox "OnOpen: "...
Код: Выделить всё
Sub OnOpen()
MsgBox "OnOpen: Units=" & State.Units & " X=" & State.X & " Y=" & State.Y & " Z=" & State.Z
End Sub
MsgBox "OnOpen: "...
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Таак, после танцев с бубном начали работать скриптовые скобки Sub.... end.
С помощью этой связки получилось создать файл через planet cnc
Sub Open()
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
end sub
а при добавлении такой строки f1.write("TEST")
выскакивает ошибка в программе. Если запускать скрипт отдельно от программы, в файл пишется слово TEST.
С помощью этой связки получилось создать файл через planet cnc
Sub Open()
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
end sub
а при добавлении такой строки f1.write("TEST")
выскакивает ошибка в программе. Если запускать скрипт отдельно от программы, в файл пишется слово TEST.
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Разработчик на офиц. форуме ответил что нет возможности через скрипт получать состояния концевиков. Тупик.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Нам надо не состояние концевиков, в возможность через скрипт запускать пробу.
Т.е. выглядеть все будет так:
в цикле
запускаем пробу
вешаем обработчик на конец перемещения (там такой был) в нем пишем текущие координаты в файл
едем к следующей точке
конец цикла
Т.е. выглядеть все будет так:
в цикле
запускаем пробу
вешаем обработчик на конец перемещения (там такой был) в нем пишем текущие координаты в файл
едем к следующей точке
конец цикла
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Задал вопрос на офиц форуме по запуску измерения длины инструмента. Посмотрим что ответят.
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Ответ с офиц. форума. You can not. Controller buffers moves and it is not possible to have script that will do something based on external trigger. By the time such script would execute, controller will be way forward execution buffered commands.
Не утешительно.
Не утешительно.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Попробуй уточнить, мы не имеем в виду контроль триггеров, нам нужна команда на запуск обнуления длинны инструмента, той самой процедуры, которая встроена в их контроллер.
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Только что глянул код измерения инструмента. в MDI окне пишешь /466 и прога понимает что нужно ехать вниз до сработки датчика. Может в G код можно эту команду прилепить. Еще друг посоветовал через хендл окна данные цеплять...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Во, спроси у них, можно ли из скрипта выполнять MDI команды?
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Вот чего нашел на офиц. форуме
Can I use MDI with Python?
import subprocess
subprocess.Popen(['C:\\Program Files\\CNC USB Controller\\CNCUSBController.exe', '-mdi G91 G00 X10 Y10'])
получается что можно и из командной строки передать в mdi /466?
Can I use MDI with Python?
import subprocess
subprocess.Popen(['C:\\Program Files\\CNC USB Controller\\CNCUSBController.exe', '-mdi G91 G00 X10 Y10'])
получается что можно и из командной строки передать в mdi /466?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
По идее да....
Попробуй, при запущенной программе выполни тоже самое.
Если получится, то все будет заметно проще
Попробуй, при запущенной программе выполни тоже самое.
Если получится, то все будет заметно проще
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
Написал в свойсве ярлыка "C:\Program Files\CNC USB Controller\CNCUSBController.exe" -mdi /101. Программа запустилась и тут же выскочило окно открытия файла. (MDI /101 - открыть файл, /102 - закрыть файл). Теперь можно попробовать через хендл организовать передачу параметров.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти
А зачем нам параметры? Можно прост из VB все запускать. Главное определить конец перемещения, и записать координаты.
Попробуй раскомментируй этот MsgBox, и запусти поиск нуля.
Function OnCommand(LineNo, Line, CommandType, AxisDir)
'MsgBox "OnCommand LineNo: " & LineNo & " Line: '" & Line & "' CmdType: " & CommandType & " AxisDir: " & AxisDir
Попробуй раскомментируй этот MsgBox, и запусти поиск нуля.
Function OnCommand(LineNo, Line, CommandType, AxisDir)
'MsgBox "OnCommand LineNo: " & LineNo & " Line: '" & Line & "' CmdType: " & CommandType & " AxisDir: " & AxisDir