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

Параметры инструмента в 840D


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

В программе используется параметр $TC_DP3[$P_TOOLNO,1]. 

В Tool Table загружены инструменты с произвольными номерами. Макрос AutosetToolManLength840DVars сохраняет все длины инструментов в параметры $TC_DP3[N,1], при этом N принимает значения порядкового номера инструментов в таблице (от 1 до общего количества инструментов в таблице). А нужно, чтобы N принимала значения фактических номеров инструментов в таблице. Т.е. если в таблице есть только 3 инструмента с номерами 15, 27, 31, то на выходе нужно получить только три параметра

$TC_DP3[15,1],

$TC_DP3[27,1],

$TC_DP3[31,1],

вместо 

$TC_DP3[1,1],

$TC_DP3[2,1],

$TC_DP3[3,1].

 

Как это можно реализовать?

Можно, конечно, вставить инструменты-пустышки, чтобы инструменты с нужными номерами стояли на правильных местах, но это не выход.

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


8 часов назад, DJ Astro сказал:

В Tool Table загружены инструменты с произвольными номерами.

Так может нужен номер в магазине?

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

$P_TOOLNO разве определяется не как идентификатор инструмента текущий?

В стойке sin840d.ctl по крайней мере так.

Если у меня в УП

T11

или

T="11"

то он видит параметр $P_TOOLNO равный номеру этого инструмента.

На всякий случай попробуйте прописать в настройках стойки так, как на картинке.

Ну или проект кидайте - будет время, погляжу.



2019-03-04_121807.PNG

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

$P_TOOLNO разве определяется не как идентификатор инструмента текущий?

В стойке sin840d.ctl по крайней мере так.

Если у меня в УП

T11

или

T="11"

то он видит параметр $P_TOOLNO равный номеру этого инструмента.

На всякий случай попробуйте прописать в настройках стойки так, как на картинке.

Ну или проект кидайте - будет время, погляжу.

 

Да, всё правильно, $P_TOOLNO работает и определяется как ID текущего инструмента. Но загрузив, например, в таблицу единственный инструмент с номером "15", я ожидаю получить значение его длины в параметре $TC_DP3[15,1] (как это происходит в реальном станке), но Vericut это значение сохранит в $TC_DP3[1,1], а $TC_DP3[15,1]=0.

Если у вас будет возможность, попробуйте на стандартной 840й стойке из библиотеки vericut'a.

 

В хэлпе про макрос есть такая инфа

-2--1.thumb.jpg.51e162c4d096a268e10d5a0156037b9c.jpg

 

у меня и Tool Chain'a нету и все методы смены инструмента перепробовал в "Tool Change By..." - всё равно эти переменные нумеруются подряд не зависимо от номера инструмента.

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

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

Сделать так у меня уже не получится, у нас версия 8.2.1

 

В версии 7.4.2 появился макро, который отвечает за автоматическую расстановку оффсетов.

 

AutosetToolManOnOff

Function — VARIABLES

Status — ACTIVE

Comment — Added V7.4.2

Inputs 

Text: Not used

Value: 0 = Off, 1 = ON

 

This macro enables (ON) and disables (OFF) the AutosetToolMan macros.

 

Currently we are seeing a performance hit during load time associated with the AutosetToolMan macros.  Until the performance issue can be address, this macro can be used to disable these macros if the variables are not being used.  It should be called during the Reset event.  When performance improves, this macro will be OBSOLETE.

Может подобный есть макро в версии 7.1.3?Если его создать и присвоить значение равное единице, то в переменные $TC_DP значения будут занесены автоматически из активного инструмента. И тогда все будет работать.

В сочетании с AutosetToolManLength840DVars и значением: $TC_DP3 Z про который Вы писали это проставит значения в таблицу нужным образом (см картинку).

 

Чтобы это реализовать иначе, нужно думать, каким образом создать такую переменную. Или писать какую-нибудь подпрограмму, которая будет вызываться при смене инструмента.

2019-03-06_092907.PNG

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

вы используете версию 7.1.3.

Нет, это из хэлпа от 7.4.1.

 

Проблема в том, что в 7.4.1 нет связи между номером инструмента (ID) и номером строки (Index) в которой он находится в ToolManager'e.

В 8.2.1 это уже работает: в SetDynamicVars вместе с параметром CurTool теперь есть CurToolIndex.

 

***************

CurToolIndex # — The current tool index will be set in the specified variable. The tool index is defined as the nth tool within toolman. If the current tool is the 5th tool listed within toolman, the specified variable will be set to 5.

Example:

Override Text value = CurToolIndex $P_TOOLNO

 

CurTool # — The current tool number will be set in the specified variable. The tool number will be as defined before any tool indirection, such as can occur when a Tool List is in use.

***************

 

И я не смог в 8.2.1 добиться такого же результата, как на вашем примере. Вызываю 18-й инструмент, который стоит в 6-й строке таблицы инструментов.

AutosetToolManOnOff уже был прописан в 840й стойке, которая идёт с этой версией вериката, но почему-то в ветке Start of Processing. Хотя в мануале пишут, что должно быть в Reset. Добавил и туда - не помогло. 

 

 

2221.jpg

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

Кидайте проект. Можете в личку ссылку прислать на скачивание. Сделаю, думаю что. Только что прикрутил измеряшку для цикла CYCLE974 токарного станка, которого пока еще нет в стандартном пакете VERICUT, попа пляшет =)

Ссылка на сообщение
Поделиться на других сайтах
В 07.03.2019 в 09:17, s_liam сказал:

Кидайте проект. Можете в личку ссылку прислать на скачивание. Сделаю, думаю что.

Отправил в ЛС.

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

Поглядел проект, повозился с ним. Потом в свои поглядел - действительно расставляет просто по порядку. В описании макро написано, что если не создано механизма смены или не используется специальная смена инструмента. Макро может быть и как в Reset и как в Начале процесса. Суть не в этом. Почему-то вот таким образом у него это работает. Можно, конечно, попробовать в поддержке спросить, почему так...

Автоматически, получается, в данный момент это дело не расставить.

Тогда зайдем с другого бока. Насколько это нужно и для чего? Ну в том смысле, понятное дело, если бы это работало - было бы замечательно это использовать.

Но раз так не получается, придется пока что придумать альтернативное решение. А это уже будет зависеть от того, что нужно в итоге иметь.

Хотя, может и верное описание макро.

Сейчас еще поглядел.

Переменная системная CurToolindex равняется порядковому номеру в библиотеке инструмента.

Надо подумать, как сделать так, чтобы все было как нужно.

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

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

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

Я предлагаю Вам следующее решение.

В файл подпрограмм станка dixi_dhp80.spf в самый конец добавляете следующее:

 

PROC D_SPEC
$TC_DP3[CurrentToolNum,$P_TOOL] = $P_TOOLL[1]
RET

 

В стойку в регистр D добавляете вызов подпрограммы D_SPEC (смотри картинку).

После вызова активного корректора произойдет вызов подпрограммы, в которой параметр $TC_DP3 с индексом активного номера инструмента и номером активного корректора станет равным длине этого инструмента.

 

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



2019-03-11_153436.PNG

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

$TC_DP3[CurrentToolNum,$P_TOOL] = $P_TOOLL[1]

Я уже думал о таком, но Vericut ругается на попытку переопределения таким образом этих сименсовских параметров среди макросов в G-code processing. ("Error: Invalid array index for variable $TC_DP3").

А, вот, запихнуть это в spf стойки, как процедуру, я не сообразил. Теперь буду знать, что так тоже можно.

 

Да, конечно же, этот вариант работает.

@s_liam, Спасибо!! :clapping:

 

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

Да, тут вся сложность в том, что переменная имеет два адреса. И нужно каким-то образом их предопределить. Самый простой - взять активный ID адрес инструмента и корректора. Я сначала хотел предопределить это сразу в подпрограмме L300 после M106 - внутренней команды смены инструмента, но здесь еще неактивен корректор D. Поэтому пришлось это перенести в D регистр, после того, как определится номер активного корректора и инструмента, а вместе с этим и текущие значения соответствующих переменных.

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

Нашёл ещё более простое решение - в разделе Substitute просто заменил $TC_DP3[$P_TOOLNO,1] на $P_TOOLL[3], и всё.:biggrin:

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • malvi.dp
      Допилил. Поддерживает многолистовые чертежи Начинает работу при нажатии на кнопку макроса: -при нахождении измененных (установлена галочка "Измененное значение") размеров окрашивает их в красный цвет; -если с измененного размера снята галочка "Измененное значение", т.е. он стал обычным - цвет становится обычным; -по окончании работы в сообщении выводится статистика найденных измененных размеров, если они есть. Тестировался на sw2016 и sw2020.   ChangeColorForOverridedDimensions.zip   Да, что-то прошло не так... Уже поправил.
    • maxx2000
      Я скорее согласен с Надеждой Януарьевной
    • Koels
      Мотора 54 градуса, что на 6 градусов больше соседнего станка, вентеляторы в норме да. Ещё хочу сравнить нагрузку координаты с соседним станком, но пока не дают. У этих двух станков проблемы с охлаждением, на соседнем стоит автомобильный радиатор для охлаждения масла. xD
    • Bot
      Dassault Systèmes Reports Solid First Quarter Results And Reaffirms Full-Year Objectives Просмотр полной статьи
    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
    • Koels
      Хмм, я думал раз она вылазит даже в простое, то Z координата висит на тормозе и дело не в этом. Спасибо за мысль, щас узнаю. Вообще у нас рядом стоит точно такая же макина, точь в точь и там таким проблем нет. Много заказов и отсутствие специалистов сделало свое дело. :) @gudstartup, 58% нагрузка на координату
    • mrVladimir
      Что-то я немного засомневался. Если решим брать новое ЧПУ, то искать точно такое же необходимо по номеру сзади корпуса (пластикового пластмассового) - так? А если брать только плату (материнскую или как ее лучше назвать...), на которой установлена (запаена) микросхема 1 на моих фото выше, то искать плату необходимо по номеру, который указан на самой плате - так? В моем случае : ЧПУ : A02B-0321-B520. Код на плате : A20B-8201-0081/01A. Если, допустим, мы покупаем ЧПУ A02B-0321-B520 - будет ли это гарантией того, что в нем установлена плата A20B-8201-0081/01A. И можно ли будет его считать таким же. И с отдельно приобретаемой платой тоже самое - если номер на ней полностью совпадает с нашим, значит ли это, что она полностью идентична. P.S. : извиняюсь за , возможно, навязчивые вопросы. Просто не хотелось бы попасть впросак из-за своей некомпетентности. такой файл есть, но мне говорили, что после снятия архивов, его лучше вообще никогда нигде ни использовать. А на каком этапе он нам может понадобиться?. Если, как говорил Виктор, мы зальем архив SRAM на старый модуль (ROM-SRAM), установленный в новое ЧПУ, то и файл OPRMINF не нужен. Правильно же?
    • Slavdos
      Доброе. делюсь 1 внедренным китайцем. купили у ЛЛС MARVEL PRO 6000-3015.HGT , 2 шт , с автоматизацией. станки неплохие, интерфейс русские, достаточно дружелюбен. за автоматизацию зря переплатили, китай похоже в этом сильно уступает европе. из неожиданностей- резка воздухом дает неудаляемый грат, по сути необходимы зачистные станки.
×
×
  • Создать...