Что такое плагин?
Уже давно была добавлена возможность написания своих плагинов для WLMill. Сейчас был создан пример плагина для работы с серийным портом. Давайте разберёмся что с ними делать.
Например у нас есть задача принимать данные с COM порта и производить управление станком удалённо, например позиционировать что либо.
Как организовать работу плагина:
- Создаём папку plugins рядом с программой WLMill (если её нет).
- Копируем туда файл WLSerialPortPlugin.dll
- Запускаем WLMill. У нас должен появится новый объект SERIALPORT в скриптах LSCRIPT и MSCRIPT. С помощью него мы будем работать с портом.
- Организуем работу с портом. При нажатии на кнопку вкл/выключения мы будем открывать и закрывать порт. Для этого добавим строки в MScript, в функции функции ON() и OFF(). Открываем редактор скрипта.
Находим эти функции (если они переопределены) или вставляем их в удобное место.
Для этого за пределами других функций (например в самом верху нажимаем Ctrl+Пробел и выбираем “wek ON()”.
function ON()
{
SCRIPT.console("ON()")
SCRIPT.console("OPEN COM "+ SERIALPORT.open("COM182"));
}
function OFF()
{
SCRIPT.clearInterval()
SCRIPT.clearTimeout()
SERIALPORT.close();
}
Если всё верно, то SERIALPORT – должен быть зелёного цвета.
По умолчанию скорость передачи 9600бит/с. Её можно переопределить с помощью SERIALPORT.setBaudRate(4800) – установили скорость 4800бит/с
В функции ON мы открывaем порт COM182 и выводим сообщение в консоль MSCRIPT.
Номер ком порта можно найти в диспетчере устройств.
При выключении мы закроем порт.
- Теперь нужно организовать приём сообщений от ком порта. При приёме сообщений вызывается функция readDataSerialPort() скрипa LScript (фоновый скрипт). Определим её
function readDataSerialPort()
{
var data = SERIALPORT.readAll()
SCRIPT.console(data)
//MACHINE.runGCode(data) //если раскомментировать, то выполнится полученная строка как G код
}
В данной функции мы читаем все данные и просто выводим их в консоль LScript.
Внимание!!! Если мы уберём // то у нас будет выполняться строка которую мы приняли.
- Для отправки сообщений используется функция
SERIALPORT.sendStr(“X45 Y123.5”)
PS. Также можно будет написать свои плагины. Как это делать? скоро…