Отслеживание состояния mach3

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
vbif
Кандидат
Сообщения: 40
Зарегистрирован: 18 дек 2013, 05:58
Репутация: 8
Контактная информация:

Отслеживание состояния mach3

Сообщение vbif »

Господа, есть желание отслеживать состояние мача в СКАДА - работает станок или стоит, по умному это минимальный MDC/MDA (Machine Data Collection/Machine Data Acquisition). Теоретически, есть под винду программки, которые способны в скаду отдать список процессов, запущенных на компе, ну или бинарно отметить есть процесс/нет процесса, но мач при работе не создает новых процессов. Может можно как-нибудь макросом его заставить создать новый процесс, а по завершении работы - прибить этот процесс? Как? Может кто решал уже такую задачу?
Аватара пользователя
hmnijp
Мастер
Сообщения: 1749
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 541
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение hmnijp »

Макрос - нет, не может. макросы это интерпретируемый скрипт оперирубщий только внутренними функциями-переменными, выполняющийся во внутреннем цикле.
Плагин - да, может, это обычное компилируемое Microsoft Visual C++, то есть можете к чему угодно в винде обращаться: в api mach смотрите его внутреннее состояние (вроде те же что и в макросах IsMoving(),IsStopped(), IsEStop(), IsLoading), и далее обращаетесь к api ваших программ как нибудь, или сразу шлите инфу по com/tcp куда угодно, как угодно, подключив соответствующую библиотеку.
Сходите на оф сайт, там лежит SDK и шаблон-wizard для плагинов. и видео с примерами пояснениями.
vbif
Кандидат
Сообщения: 40
Зарегистрирован: 18 дек 2013, 05:58
Репутация: 8
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение vbif »

слаб я в программировании, не вытяну. А у мача слейва модбасового случаем нет? Может можно по TCP-modbus к нему обращаться и спрашивать как у него дела?
Аватара пользователя
hmnijp
Мастер
Сообщения: 1749
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 541
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение hmnijp »

vbif писал(а): 23 янв 2024, 10:41 слаб я в программировании, не вытяну. А у мача слейва модбасового случаем нет? Может можно по TCP-modbus к нему обращаться и спрашивать как у него дела?
слейва нет, мастер был дефолтный в плагинах
Cvazist
Мастер
Сообщения: 1149
Зарегистрирован: 16 окт 2017, 16:07
Репутация: 97
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение Cvazist »

А может сигнал с 3х осей на схему контроля , а с нее в СКАДА? Движение есть 1, оси стоят 0.
vbif
Кандидат
Сообщения: 40
Зарегистрирован: 18 дек 2013, 05:58
Репутация: 8
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение vbif »

hmnijp писал(а): слейва нет, мастер был дефолтный в плагинах
а пользовались? вот поднял я в скаде ТСР модбас слейв, слушаю. Запускаю плагин на маче, указываю адрес скады, тыкаю тест и получаю мгновенный коннекшн таймаут. Скада в другой подсети, может поэтому?
vbif
Кандидат
Сообщения: 40
Зарегистрирован: 18 дек 2013, 05:58
Репутация: 8
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение vbif »

Cvazist писал(а): А может сигнал с 3х осей на схему контроля , а с нее в СКАДА? Движение есть 1, оси стоят 0.
в смысле отдельный датчик сухого контакта с сетевым интерфейсом? Можно, можно даже тупо энергопотребление станка смотреть - у меня на больших нечпушных так сделано. Только это усложняет схему, добавляет точку отказа, жрет порт на коммутаторе и все такое. Думаю таки можно заставить мач отдать что-то в сеть.
Аватара пользователя
hmnijp
Мастер
Сообщения: 1749
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 541
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение hmnijp »

vbif писал(а): а пользовались? вот поднял я в скаде ТСР модбас слейв, слушаю. Запускаю плагин на маче, указываю адрес скады, тыкаю тест и получаю мгновенный коннекшн таймаут. Скада в другой подсети, может поэтому?
На практике только Rtu в нём использовал, проблем небыло, но мача давно нет уже. На вид плагины идентичные для rtu и tcp.

Сейчас попробовал запустить просто в локалке, (этот слейв https://github.com/ClassicDIY/ModbusTool) - Плагин без проблем читает - пишет) На столе Zlan мост tcp-rtu лежит ещё, но к нему нечего подцепить для теста. хотя думаю разницы с программным слейвом не будет)
2024-01-24 21-39-03.jpg (1213 просмотров) <a class='original' href='./download/file.php?id=210607&sid=e0bbf4577a124373e4b29a7782b51297&mode=view' target=_blank>Загрузить оригинал (209.68 КБ)</a>
Настраивайте сетку, порты открывайте, delay правильный, думаю должно работать всё)
vbif
Кандидат
Сообщения: 40
Зарегистрирован: 18 дек 2013, 05:58
Репутация: 8
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение vbif »

hmnijp писал(а): Настраивайте сетку, порты открывайте, delay правильный, думаю должно работать всё)
в той же подсети на компе поставил модбас эмулятор, достукивается. но скада в другой подсети. наверное буду баловаться с пробросом портов
vbif
Кандидат
Сообщения: 40
Зарегистрирован: 18 дек 2013, 05:58
Репутация: 8
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение vbif »

так, проблема в скада - в той подсети где она до эмулятора тоже достук идет.
или с мачем, точнее с реализацией модбаса в нем: попробовал с него повключать лампочки на ОВЕН МУ210-401, тоже не получилось. при этом и с компа и с скады ОВЕН вполне управляется
AlanDerby
Кандидат
Сообщения: 83
Зарегистрирован: 05 авг 2021, 13:37
Репутация: 14
Контактная информация:

Re: Отслеживание состояния mach3

Сообщение AlanDerby »

Решал бы задачу так:

1. Запускаем скрипт, который будет выполняться Mach3 через заданный промежуток времени, например раз в 5 секунд. Команда StartPeriodicScript. Сам не пробовал пользоваться этим, но в документации все описано и должно работать.

2. Скрипт проверяет нужные нам вещи, например, включен ли шпиндель, выполняется ли какой-то код и т.п. Возможностей для этого в Mach3 много: IsActive; IsEStop; IsLoading; IsMoving; IsOutputActive; IsStopped. Результаты записывает в текстовый файл командой OpenTeachFile.

3. Пишем внешний скрипт на VBS. После запуска он висит в процессах и постоянно проверяет наш текстовый файл на предмет изменений. Как только изменения произошли, он копирует и передает содержимое файла в нужное нам место. Если файл не меняется дольше 5 секунд, то значит с Мачем что-то не так. Скрипт шлет соответствующее сообщение куда следует.
У меня таким образом станок отправляет сообщение об окончании работы в Телеграмм. Есть соответствующая тема на форуме.
Производим принтеры: virshke.com
Запускаем производство станочной оснастки: virshketech.com
Ответить

Вернуться в «Windows / Mach»