Страница 2 из 3

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 17 июл 2012, 08:11
Rubin
Задал вопрос на официальном форумепо ошибке скрипта. Разработчик мне ответил "Check if you have Microsoft script controll installed and registered (MSScriptControl.ScriptControl)." А где проверить установлен ли он и зареген?

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 17 июл 2012, 12:16
Nick
Первое что выдал гугл: http://www.microsoft.com/en-us/download ... px?id=1949

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 17 июл 2012, 16:39
Rubin
У товарища скрипты установленные с программой на хр не вызывывают ошибки. на win 7 вываливаются с ошибкой. Сегодня дома проверю бибилиотеку, заново ее зарегистрирую и попробую работу скрипта

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 18 июл 2012, 20:27
Rubin
Сегодня создал файл 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.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 18 июл 2012, 20:54
Nick
Скинь test целиком...

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 18 июл 2012, 22:24
Rubin
вот

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 18 июл 2012, 22:25
Rubin
Я думал у меня в винде скрипты блокируются, написал скрипт создания файла, все путем, файл создался.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 18 июл 2012, 22:33
Nick
даже не знаю попробуй перед MsgBox поставить отступ, т.е. чтобы было так:

Код: Выделить всё

Sub OnOpen()
  MsgBox "OnOpen: Units=" & State.Units & " X=" & State.X & " Y=" & State.Y & " Z=" & State.Z
End Sub
Или вообще тупо скопируй весь sub из скрипта из примеров. Или сотри строчку с MsgBox, попробуй запустить, если запуститься по частям добавляй строчку, пока не найдешь ошибку, т.е.
MsgBox "OnOpen: "...

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 18 июл 2012, 22:39
Rubin
Таак, после танцев с бубном начали работать скриптовые скобки 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.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 07:36
Rubin
Разработчик на офиц. форуме ответил что нет возможности через скрипт получать состояния концевиков. Тупик.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 08:44
Nick
Нам надо не состояние концевиков, в возможность через скрипт запускать пробу.

Т.е. выглядеть все будет так:
в цикле
запускаем пробу
вешаем обработчик на конец перемещения (там такой был) в нем пишем текущие координаты в файл
едем к следующей точке
конец цикла

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 10:32
Rubin
Задал вопрос на офиц форуме по запуску измерения длины инструмента. Посмотрим что ответят.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 12:19
Rubin
Ответ с офиц. форума. 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.
Не утешительно.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 13:02
Nick
Попробуй уточнить, мы не имеем в виду контроль триггеров, нам нужна команда на запуск обнуления длинны инструмента, той самой процедуры, которая встроена в их контроллер.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 14:13
Rubin
Только что глянул код измерения инструмента. в MDI окне пишешь /466 и прога понимает что нужно ехать вниз до сработки датчика. Может в G код можно эту команду прилепить. Еще друг посоветовал через хендл окна данные цеплять...

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 14:58
Nick
Во, спроси у них, можно ли из скрипта выполнять MDI команды?

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 15:06
Rubin
Вот чего нашел на офиц. форуме
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?

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 15:08
Nick
По идее да....
Попробуй, при запущенной программе выполни тоже самое.
Если получится, то все будет заметно проще :)

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 16:55
Rubin
Написал в свойсве ярлыка "C:\Program Files\CNC USB Controller\CNCUSBController.exe" -mdi /101. Программа запустилась и тут же выскочило окно открытия файла. (MDI /101 - открыть файл, /102 - закрыть файл). Теперь можно попробовать через хендл организовать передачу параметров.

Re: Скрипт Planet CNC для гравировки на криволинейной пов-ти

Добавлено: 20 июл 2012, 17:29
Nick
А зачем нам параметры? Можно прост из VB все запускать. Главное определить конец перемещения, и записать координаты.

Попробуй раскомментируй этот MsgBox, и запусти поиск нуля.
Function OnCommand(LineNo, Line, CommandType, AxisDir)
'MsgBox "OnCommand LineNo: " & LineNo & " Line: '" & Line & "' CmdType: " & CommandType & " AxisDir: " & AxisDir