Перейти к публикации

macros


rusinas

Рекомендованные сообщения

Здравствуйте.

Во вложенном:1) две фотки с переменными ,которые работают в программе O9001(смена Т) перемещения трёх линеек инструментов к заготовке(остальные=0)

2)программа О9001

3)macro.txt из сделанного ранее full backup

Никак не могу сопоставить цифры на фотках с пунктом3. Простой перевод из Hex в Dec и наоборот этих значений не пляшет .

Связан ли macro.txt с перемеными на скриншотах? Если ДА то какие манипуляции нужно сделать с ним при восстановлении данных после какого нибудь слёта?

Подскажите пожалуйста.

https://cloud.mail.ru/public/8Mi7/k8usJTSFp

 

O9001.txt

MACRO.TXT

Ссылка на сообщение
Поделиться на других сайтах


Вот вам калькулятор для перевода 16-ричных значений в десятичный формат с плавающей точкой

http://floatingpoint.ru/online/double2dec.php

А вот обратная процедура

http://floatingpoint.ru/online/dec2double.php

Подставляем туда значение из MACRO номер 517  C063FDFBE76C8B44

Получаем -159.9370000000000118234311230480670928955078125

Совпадает?

 

Снимок экрана от 2019-02-21 23-24-51.png

Изменено пользователем Viktor2004
Ссылка на сообщение
Поделиться на других сайтах
  • 2 года спустя...
5 часов назад, Viktor2004 сказал:

Вот спасибочки. Ещё бы знать что это и где применить )))

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, boomeeeer сказал:

Ещё бы знать что это и где применить

Значит Вам этого не надо

А мне вот иногда приходится сравнивать макропеременные на станке с переменными из старого бэкапа

Ссылка на сообщение
Поделиться на других сайтах
20 часов назад, Viktor2004 сказал:

сначала подумал что компилятор скнул )

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, Soprin сказал:

сначала подумал что компилятор скнул )

Какой компилятор? Все компиляторы и так в открытом доступе. Если платные, есть бесплатные

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Viktor2004 сказал:

Какой компилятор? Все компиляторы и так в открытом доступе. Если платные, есть бесплатные

фануковские ))) который в мем формат переводит

Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, Soprin сказал:

фануковские ))) который в мем формат переводит

Нет никакого mem формата. Это просто расширение, которое ничего не значит. Фануку пофиг на имя файла и расширение которое в него хотят залить. Он смотрит сам файл и определяет свой он или чужой

Фануковские файлы бывают разные. Те, которые может заливать пользователь.

Это PMC, MACRO, C-Exe, Picture

Конкретно компилятор C-Exe есть на диске A08B-9010-J555 в папке C Language Library

Вернее не сам компилятор, а набор инструментов. Там и скрипт линковки и все файлы которые должны быть скомпилированы вместе с программой юзера, включая таблицу функций. Компилятор там используется действительно редкий, Diab-compiller, но программист может вполне отредактировать Makefile под бесплатный компилятор GCC который отлично работает

MINGW это виндовая версия GCC Бесплатная, скачивается с официального сайта

https://mingw.ru/

Кросскомпилирование под процессор фанука PowerPC 604

Изменено пользователем Viktor2004
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Viktor2004 сказал:

Нет никакого mem формата. Это просто расширение, которое ничего не значит. Фануку пофиг на имя файла и расширение которое в него хотят залить. Он смотрит сам файл и определяет свой он или чужой

Фануковские файлы бывают разные. Те, которые может заливать пользователь.

Это PMC, MACRO, C-Exe, Picture

Конкретно компилятор C-Exe есть на диске A08B-9010-J555 в папке C Language Library

Вернее не сам компилятор, а набор инструментов. Там и скрипт линковки и все файлы которые должны быть скомпилированы вместе с программой юзера, включая таблицу функций. Компилятор там используется действительно редкий, Diab-compiller, но программист может вполне отредактировать Makefile под бесплатный компилятор GCC который отлично работает

MINGW это виндовая версия GCC Бесплатная, скачивается с официального сайта

https://mingw.ru/

Кросскомпилирование под процессор фанука PowerPC 604

да по мануалу ROM можно только через какойто флопик который компилирует в память. а если в mem перекомпелировать то можно с карты через пользовательские файлы залить

Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, Soprin сказал:

да по мануалу ROM можно только через какойто флопик который компилирует в память. а если в mem перекомпелировать то можно с карты через пользовательские файлы залить

это мануал на MACRO COMPILLER

.ROM это промежуточный файл

Он в систему не загрузится.

Ссылка на сообщение
Поделиться на других сайтах

Вот из мануала

 

The ROM format file is executed on the CNC
using the following methods:
· The file is transferred to CNC through
RS-232-C to execute RAM operation (Series
16/18/20/21-TA).
· The file is transferred to FANUC PMC Writer/
FA Writer, written in macro cassetter or ROM,
then executed (Series 0/15-A/16-A/18-A).
· The file is converted in Memory card format,
transferred to CNC from memory card, then
executed (Series 15-B/16-B/18-B/16-C/18-C
/20/21–B/16i–A/18i–A/21i–A).

Screenshot_2021-12-22-12-05-03-813_cn.wps.moffice_eng.xiaomi.lite.jpg

Он в ПЗУ пишется напрямую

Через rs232 C

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Soprin сказал:

Он в ПЗУ пишется напрямую

Через rs232 C

Это документация от 16-го фанука, а у меня 30

Файл ROM образуется в процессе компиляции как промежуточный.

Его если пытаться загружать с карточки, не получится. Он не имеет специального заголовка. А если этот заголовок добавить, получится файл который загрузится в систему с карточки. В самой памяти заголовок отбрасывается и в системе он хранится без заголовка. А если через бутлоадер этот файл скачать на карточку, система сама припишет ему заголовок.

Вот я прикрепляю два файла которые получаются в процессе компиляции

 

PD01256K.MEM PD01256K.ROM

Ссылка на сообщение
Поделиться на других сайтах

 

 

Это сигнатура FANUCROM так можно ее добавить и в двоичном редакторе?

image.png

Изменено пользователем gudstartup
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



  • Сообщения

    • Viktor2004
      Много способов. Самый простой это анализируйте куда переходит выполнение вашей программы. Другой, допишите перед проверкой IF WHILE выше строчку #100 = #1000 #101 = #1001 и наблюдайте уже #100 #101 Можно в PMC STATUS смотреть сигналы G54.0 G54.1
    • A_1
      Как? В OFFSET индицируются только до #999
    • Viktor2004
      Надо выяснить что у вас означают переменные #1000 и #1001 Это надо смотреть в ладдере сигналы G54.0 и G54.1 Могу только гадать. Возможно один из них показывает что заданный инструмент перемещен в позицию смены. Другой сигнал возможно означает что заданный инструмент уже находится в шпинделе. Попробуйте выполнить команду смены через сингл-блок. Только параметр надо какой-то поставить что бы сингл блок и на подпрограммы действовал Попробуйте вызывать инструмент который уже в шпинделе. Наблюдайте за макропеременными #1000 и #1001 что бы выяснить их функцию Единичный блок это SINGL BLOK
    • IGor2D
      Забыл спросить... Кто может поделиться настройками технологий для резки профилей из стали от 1.5мм до 8.0 мм под азот? Мощность 3-6kw лазера (от "китайца" не желательно).  
    • A_1
      предполагаю, что ложь в первом кадре, истина во втором во всех случаях)
    • gudstartup
      так поставьте SBK режим отмените NE9 в 3202 и смотрите как оно выполняется у вас
    • andrey2147
    • A_1
      Мне нужно, чтобы при смене на новый инструмент программа выполняла кадры G91G30Z0 G30X0Y0 а при вызове текущего шла на кадр N200 N200G91G30Z0 M28 Для этого, вроде, и есть проверки IF[#1000EQ1]GOTO100  IF[#1001EQ1]GOTO200 но они или не работают или не то (новый или старый инструмент вызывается) проверяют.
    • Viktor2004
      смена инструмента это по сути две процедуры. Первая это поиск инструмента. Выполняется по команде Tx Вторая это смена инструмента. Выполняется по команде M6 Если в программе в разных строчках пишутся эти команды, там все нормально Но принято их писать в одной строке. Тогда обе они будут выполняться одновременно. Но одновременно их выполнять нельзя. Сначала магазин должен найти инструмент и только потом его менять Для этого команда М6 обычно вызывает программу O9001 и уже в этой программе организуют ожидание завершения поиска инструмента. Контролируют это через макропеременные #1000 или #1001 или им подобные. Именно этот цикл ожидания я не вижу в программе автора вопроса. Что бы этот цикл ожидания крутился сам в себе и вышел из него когда макропеременная приняла нужное значение
    • maxx2000
      @Viktor2004 а разве сменщик это не отдельная  (пусть и виртуальная) ось и станок ждёт пока закончится движение? Может быть тупо ждёт пока придёт определенное число импульсов с датчика. Типа  каждый раз уменьшает счётчик на 1 и ждёт пока не получится нужное число? Ну и как бы может быть тупо задано время смены инструмента? Тогда и переходит к следующей строке.
×
×
  • Создать...