Перейти к содержимому


Фотография

Каким образом ПК передает программу на плк Mitsubishi Fx1N ?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 OFFLINE   Phantom_shade

Phantom_shade

    Абитуриент

  • Пользователи
  • Pip
  • 3 сообщений
  • Из:Челябинск

Отправлено 09 Август 2016 - 09:34

Здравствуйте! Имеется сверлильный станок с плк Mitsubishi Fx1N. Плк подключен к ПК по rs-232. На ПК имеется китайская программа, которая работает с файлами dxf или с g-code напрямую. Может кто подсказать каким образом ПК передает программу на плк, Плк ведь не может напрямую принимать g-code, значит софт посылает уже какие-то управляющие сигналы?


  • 0

#2 OFFLINE   3D-BiG

3D-BiG

    Абсолем CNC:)

  • Модератор
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 14 427 сообщений
  • Пол:Мужчина
  • Город:Ареал обитания - вся страна, но обычно встречаюсь в Новосибирске...
  • Интересы:Полежать на диване, пофлудить на форуме....
  • Из:СССР

Отправлено 09 Август 2016 - 09:55

Как конкретно ваш станок работает НЕ знаю, но обычно станки, управляемые через PS232 порт, получали задание или G-кодах, или в кодах другой системы управления станками (например Роланды в виде кодировки CAMM-2 - специально разработанная кодировка для этих станков)через программу-спулер (DROPOUT или ArtSpool, или иную другую), которые всего-то и делали, что в режиме подкачки данных  с определенными настройками порта копировали файл обработки на данный порт, так что с DOC-овских машин или под древними W-95 и W-98 просто в коммандоре копировал на порт: COPY [ИМЯ_ФАЙЛА.РАСШИРЕНИЕ] СОМ1 или иной номер порта...

Поэтому смею предположить, что ваша программа формирует файл в понятном для вашего станка формате, и далее через спулер, или сразу является еще и спулером, как это бывает с программами управления китайскими плоттерами через последовательный порт 


  • 1

Лужу, паяю, станки ЧПУ починяю....
Еще частенько здесь болтаю: Телеграм сообщество ЧПУшников: t.me/cncunion

 

 


#3 OFFLINE   T-Rex

T-Rex

    Реаниматор CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 3 989 сообщений
  • Пол:Мужчина
  • Из:Йошкар-Ола

Отправлено 09 Август 2016 - 12:19

Плк ведь не может напрямую принимать g-code

Под этим утверждением я бы не подписался. Ничего не скажу насчет вычислительной мощности FX1N (не доводилось мне писать программы для Mitsubishi FX, чтобы ее оценивать), но для многих современных ПЛК состряпать простенький интерпретатор урезанного набора G-кодов (много ли их сверлилке надо? это ж не фрезер)  - вполне разрешимая задача, без особой виртуозности в программировании. Так что главные задачи софтины на компе - понятный для оператора "human-machine interface" и спулер.

 

значит софт посылает уже какие-то управляющие сигналы?

Наиболее вероятно - читает исходный файл и посылает через RS232 управляющие команды в каком-то внутреннем формате, специфичном для данного станка. Этим и "мультиформатность" (DXF, G-code, Excellon) решается - DXF средствами любого, даже самого мощного ПЛК, я бы не взялся обрабатывать...

 

Если вам стало очень любопытно - можете попытаться навесить на порт "шпиончика" (какую-нибудь подходящую программу мониторинга портов, либо даже отдельный комп, который будет прослушивать весь обмен по шнурку RS232 и записывать его), записать протокол обмена и поизучать/поанализировать его. Предполагаю, что формат будет текстовым, не особо сложным для анализа. Но даже если бинарным - это несущественное усложнение (смотрим записанные файлы в любом hex-viewer'е вместо "Блокнота", только и всего).


  • 0

#4 OFFLINE   Phantom_shade

Phantom_shade

    Абитуриент

  • Пользователи
  • Pip
  • 3 сообщений
  • Из:Челябинск

Отправлено 09 Август 2016 - 12:32

Спасибо большое за разъяснения. Уже запустил логгер, попробую ещё в китайской программке поковыряться.


Сообщение отредактировал Phantom_shade: 09 Август 2016 - 12:34

  • 0

#5 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 526 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 09 Август 2016 - 12:34

Спасибо за разъяснения. А каким-нибудь образом можно узнать формат команд передаваемых на станок?

Сначала перехватите данные, там видно будет.


  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#6 OFFLINE   T-Rex

T-Rex

    Реаниматор CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 3 989 сообщений
  • Пол:Мужчина
  • Из:Йошкар-Ола

Отправлено 09 Август 2016 - 14:12

Уже запустил логгер

Ну и замечательно. Теперь кормите станок вручную написанными маленькими (всего на несколько операций) простыми программами в G-коде и анализируйте логи обмена. Почти наверняка в начале каждого лога будет типовая "шапка" (инициализация станка и приведение его механизмов в некое исходное положение), а затем уже "машинные коды", полученные преобразованием исходной программы. При известной усидчивости сможете довести этот реверс-инжиниринг до завершения, получив более-менее вменяемое описание всех команд непосредственного управления станком.

 

попробую ещё в китайской программке поковыряться

Этот путь, скорее всего, трудоемок и малоперспективен. Увязнете, потратите много времени, а полезной информации очень мало извлечете.

 

Вот если сумеете как-то добраться до прошивки ПЛК и прочесть ее в виде исходного текста программы - станок полностью в ваших руках будет, без всяких "темных мест". Хорошо, если это удастся - почти наверняка прошивка защищена от чтения паролем. Да и не знаю, можно ли в FX1N "провернуть фарш назад, восстановив мясо из котлет" (прочесть исходный текст прошивки из памяти ПЛК), или туда заливается скомпилированный бинарный код, который невозможно декомпилировать обратно в исходный текст (как это в CODESYS сделано). 


  • 0

#7 OFFLINE   Phantom_shade

Phantom_shade

    Абитуриент

  • Пользователи
  • Pip
  • 3 сообщений
  • Из:Челябинск

Отправлено 16 Август 2016 - 14:18

Немного разобрался. ПЛК фирмы mitsubishi прошиваются с помощью программы GX Developer. Она зашивает в плк как бинарный код, так и исходник. К сожалению не было схемы подключения станка и комментариев в прошивке, поэтому было затруднительно разбираться с прошивкой (если честно, то до конца так и не разобрался, но главное нашел то что нужно). Далее нашел в мануале формат команд посылаемых по rs232. Считанные с помощью логгера команды никак не согласовывались с мануалом. Оказывается сначала я считывал команды от ПК к высокочастотному преобразователю отправляемые по протоколу Modbus. Когда наконец считал команды к ПЛК выяснилось, что используются только 2 команды: считывание и запись в ячейки памяти контроллера. В память плк записываются координаты отверстий, их количество и ещё 2 каких-то значения (одно из которых плк не использует или я не нашел факт его использования в прошивке). И во время выполнения вшитой программы ПЛК сам управляет сервоприводами, координируя их по считанным значениям из памяти. Из плк на ПК идет поток информации в которой содержатся текущие координаты, состояние всех входов и выходов (без схемы пока не знаю как определить к каким входам что подключено). Как кодируются координаты тоже пока не разобрался - какие-то большие числа, может количество импульсов, если кто-то сталкивался с похожим подскажите.


  • 0

#8 OFFLINE   T-Rex

T-Rex

    Реаниматор CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 3 989 сообщений
  • Пол:Мужчина
  • Из:Йошкар-Ола

Отправлено 16 Август 2016 - 16:43

Как кодируются координаты тоже пока не разобрался - какие-то большие числа, может количество импульсов,

Судя по вашему описанию, протокол - чисто китайское изобретение, не похожее ни на один типовой стандарт. Остается только изучать его дальше.

Для начала определите, в какой системе в память ПЛК передаются координаты - в "абсолютной" (координаты каждой точки сверления задаются от "машинного нуля", либо от "нуля заготовки"), или же в "инкрементальной" (для каждой следующей точки указывается смещение от предыдущей). Ну а когда с этим разберетесь, вычислить коэффициент для пересчета миллиметров в станочные "попугаи" не составит большого труда.


  • 0




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных