Отслеживание состояния mach3
Отслеживание состояния mach3
Господа, есть желание отслеживать состояние мача в СКАДА - работает станок или стоит, по умному это минимальный MDC/MDA (Machine Data Collection/Machine Data Acquisition). Теоретически, есть под винду программки, которые способны в скаду отдать список процессов, запущенных на компе, ну или бинарно отметить есть процесс/нет процесса, но мач при работе не создает новых процессов. Может можно как-нибудь макросом его заставить создать новый процесс, а по завершении работы - прибить этот процесс? Как? Может кто решал уже такую задачу?
- hmnijp
- Мастер
- Сообщения: 1749
- Зарегистрирован: 20 авг 2017, 15:02
- Репутация: 541
- Настоящее имя: Константин
- Откуда: Ульяновск
- Контактная информация:
Re: Отслеживание состояния mach3
Макрос - нет, не может. макросы это интерпретируемый скрипт оперирубщий только внутренними функциями-переменными, выполняющийся во внутреннем цикле.
Плагин - да, может, это обычное компилируемое Microsoft Visual C++, то есть можете к чему угодно в винде обращаться: в api mach смотрите его внутреннее состояние (вроде те же что и в макросах IsMoving(),IsStopped(), IsEStop(), IsLoading), и далее обращаетесь к api ваших программ как нибудь, или сразу шлите инфу по com/tcp куда угодно, как угодно, подключив соответствующую библиотеку.
Сходите на оф сайт, там лежит SDK и шаблон-wizard для плагинов. и видео с примерами пояснениями.
Плагин - да, может, это обычное компилируемое Microsoft Visual C++, то есть можете к чему угодно в винде обращаться: в api mach смотрите его внутреннее состояние (вроде те же что и в макросах IsMoving(),IsStopped(), IsEStop(), IsLoading), и далее обращаетесь к api ваших программ как нибудь, или сразу шлите инфу по com/tcp куда угодно, как угодно, подключив соответствующую библиотеку.
Сходите на оф сайт, там лежит SDK и шаблон-wizard для плагинов. и видео с примерами пояснениями.
Re: Отслеживание состояния mach3
слаб я в программировании, не вытяну. А у мача слейва модбасового случаем нет? Может можно по TCP-modbus к нему обращаться и спрашивать как у него дела?
-
- Мастер
- Сообщения: 1149
- Зарегистрирован: 16 окт 2017, 16:07
- Репутация: 97
- Контактная информация:
Re: Отслеживание состояния mach3
А может сигнал с 3х осей на схему контроля , а с нее в СКАДА? Движение есть 1, оси стоят 0.
Re: Отслеживание состояния mach3
в смысле отдельный датчик сухого контакта с сетевым интерфейсом? Можно, можно даже тупо энергопотребление станка смотреть - у меня на больших нечпушных так сделано. Только это усложняет схему, добавляет точку отказа, жрет порт на коммутаторе и все такое. Думаю таки можно заставить мач отдать что-то в сеть.
- hmnijp
- Мастер
- Сообщения: 1749
- Зарегистрирован: 20 авг 2017, 15:02
- Репутация: 541
- Настоящее имя: Константин
- Откуда: Ульяновск
- Контактная информация:
Re: Отслеживание состояния mach3
На практике только Rtu в нём использовал, проблем небыло, но мача давно нет уже. На вид плагины идентичные для rtu и tcp.
Сейчас попробовал запустить просто в локалке, (этот слейв https://github.com/ClassicDIY/ModbusTool) - Плагин без проблем читает - пишет) На столе Zlan мост tcp-rtu лежит ещё, но к нему нечего подцепить для теста. хотя думаю разницы с программным слейвом не будет) Настраивайте сетку, порты открывайте, delay правильный, думаю должно работать всё)
Re: Отслеживание состояния mach3
так, проблема в скада - в той подсети где она до эмулятора тоже достук идет.
или с мачем, точнее с реализацией модбаса в нем: попробовал с него повключать лампочки на ОВЕН МУ210-401, тоже не получилось. при этом и с компа и с скады ОВЕН вполне управляется
или с мачем, точнее с реализацией модбаса в нем: попробовал с него повключать лампочки на ОВЕН МУ210-401, тоже не получилось. при этом и с компа и с скады ОВЕН вполне управляется
-
- Кандидат
- Сообщения: 83
- Зарегистрирован: 05 авг 2021, 13:37
- Репутация: 14
- Контактная информация:
Re: Отслеживание состояния mach3
Решал бы задачу так:
1. Запускаем скрипт, который будет выполняться Mach3 через заданный промежуток времени, например раз в 5 секунд. Команда StartPeriodicScript. Сам не пробовал пользоваться этим, но в документации все описано и должно работать.
2. Скрипт проверяет нужные нам вещи, например, включен ли шпиндель, выполняется ли какой-то код и т.п. Возможностей для этого в Mach3 много: IsActive; IsEStop; IsLoading; IsMoving; IsOutputActive; IsStopped. Результаты записывает в текстовый файл командой OpenTeachFile.
3. Пишем внешний скрипт на VBS. После запуска он висит в процессах и постоянно проверяет наш текстовый файл на предмет изменений. Как только изменения произошли, он копирует и передает содержимое файла в нужное нам место. Если файл не меняется дольше 5 секунд, то значит с Мачем что-то не так. Скрипт шлет соответствующее сообщение куда следует.
У меня таким образом станок отправляет сообщение об окончании работы в Телеграмм. Есть соответствующая тема на форуме.
1. Запускаем скрипт, который будет выполняться Mach3 через заданный промежуток времени, например раз в 5 секунд. Команда StartPeriodicScript. Сам не пробовал пользоваться этим, но в документации все описано и должно работать.
2. Скрипт проверяет нужные нам вещи, например, включен ли шпиндель, выполняется ли какой-то код и т.п. Возможностей для этого в Mach3 много: IsActive; IsEStop; IsLoading; IsMoving; IsOutputActive; IsStopped. Результаты записывает в текстовый файл командой OpenTeachFile.
3. Пишем внешний скрипт на VBS. После запуска он висит в процессах и постоянно проверяет наш текстовый файл на предмет изменений. Как только изменения произошли, он копирует и передает содержимое файла в нужное нам место. Если файл не меняется дольше 5 секунд, то значит с Мачем что-то не так. Скрипт шлет соответствующее сообщение куда следует.
У меня таким образом станок отправляет сообщение об окончании работы в Телеграмм. Есть соответствующая тема на форуме.
Производим принтеры: virshke.com
Запускаем производство станочной оснастки: virshketech.com
Запускаем производство станочной оснастки: virshketech.com