Главная страница

 For english reader

 Новости (01/01/2002)

 САПР-ЧПУ/2000

 APTIPP для CAD/CAM

 Верификатор УП

 Постпроцессоры

 Прайс-лист

 Ответы на вопросы

 Небольшие секреты

 Демоверсия

 Рассылка новостей

 Форум о САПР

 Гостевая книга

 Об "Евразии Лтд"

 CAD/CAM портал

 Наша библиотека

 О вебмастере









Наша библиотека

Об одном подходе к проектированию паспортов в САПР-ЧПУ/2000
Фаголь Игорь, ведущий инженер ТО МСЗ ОАО "Курганмашзавод"

          Информация может быть полезной для тех, у кого в цехе в одной линии "столпились" станки 65А80Ф4 и ГФ2171С6(или ГФ2171С5), C500/4 и 2206ПМФ4, 65А80ПМФ4 и СВМ-1. Или другими словами оборудование, которое выпускалось доблестными станкостроителями СССР и СЭВ, и которое, как обычно, оснащено самыми разными стойками ЧПУ. Раньше, когда десятки станков были загружены изготовлением одних и тех же деталей, технолог в процессе подготовки управляющей программы (УП) мало задумывался о мобильности как УП, так и исходной программы. То, как технолог кодировал вызов цикла сверления в "старенькой" САП-ПК(путем вызова команды СВЕРЛ или при помощи обращения на стандартный цикл с помощью []-фразы) было "делом вкуса". Однако, при переводе УП c одного станка на другой менять все эти строки было достаточно нудно и к тому же приходилось помнить значение всех параметров автоцикла каждой стойки.

Ведь одно дело запись в исходной программе для 65А80Ф4 c 2C42-61:

          ТК1;[G81R25000Z15000Q50000F70]; TK2;

для 65А90ПМФ4 c 2C42-65 немного не так:

          ТК1;[G81R25Z15F70]; TK2;

для C-500/4 с CNC-600 уже сложнее:

          ТК1;[P1`25P2`-10P3`50P70`0P71`1P72`1F70L81]; TK2;

а для ГФ2171С5 с первой версией 2С42-65 еще интересней:

          ТК1;[G81Z15000W50000F70];КЦ;TK2;ZA/25; [G81Z15000W50000F70];КЦ;

          Кроме большого разнообразия нотации записей, был очевиден еще один недостаток - кадр в [ ] не рассматривается Инвариантным Постпроцессором САП-ПК как движение, а значит и не учитывался в расчете времени (т.е. не нормировался). Стало быть, информация о суммарном времени отработки управляющей программы получалась не полной. Хорошо, если отверстий немного, тогда корректировка небольшая и погрешность нормирования тоже. Затраты перерасчета возрастают пропорционально количеству отверстий, а уж когда речь идет о корпусе, где отверстий десятки! Расчет цикла сверления через повторение участка с перемещением по координатам Z в каждой точке более универсален, но объем УП может оказаться просто катастрофичным для "куцых" размеров ОЗУ станков. А в случае десятков станков с ЧПУ соединение их в сеть дело достаточно дорогое и трудоемкое.

          В нынешних рыночных условиях, когда все заказы должны быть сделаны "еще вчера" и начальник цеха не знает, какой станок будет свободен завтра для выполнения заказа, деньги для расширения памяти стойки ЧПУ никак не находятся и борьба идет за каждый лишний байт в УП, наконец, технологов не так уж много, чтобы они занимались постоянной корректировкой УП под освободившиеся станки, вот тогда то без новых возможностей, предоставляемых технологу в системе САПР-ЧПУ/2000 обойтись достаточно сложно.

          Описание станочных подпрограмм (СП) в САПР-ЧПУ/2000 просто и удобно. Для начала стоит выбрать универсальный цикл какой либо стойки ЧПУ - наиболее распространенной в цехах, самой "легко запоминаемой" вашими технологами и позволяющей описать все параметры цикла (быстрый подход - рабочая подача в цикле -быстрый отход) . Так получилось, что у нас на предприятии для многих технологов производственная практика начиналось с ЧПУ 2С42-61 для станков 65А80Ф4 и 2В623ПМФ4. Напомню, что цикл сверления описывается для этих стоек кадром вида:

N…G81R…- параметр подхода на безопасный уровень
Z… - параметр определяющий глубину сверления
Q…- параметр отскока по Z на Б/Х
F… - рабочая подача

В паспорте станка это будет выглядеть первоначально так, как вы договоритесь с технологами (за исключением одного - глубина сверления обязательно L):

G81=СП,G81@L(0.001,7, ,-,Z,БH)@ZC(0.001,7, ,-,R,БH)
@ZF(0.001,7, ,-,Q,БH) @SP(1,4, , ,F,БН);
где:

L- имя параметра на языке САПР, а символы в скобках - это описание параметра СП на языке паспорта конкретного станка, который будет выдан под адресом Z.
ZC- координата Z начала сверления (Z "старт"),
ZF- координата Z отскока после сверления (Z "финиш"),
SP- рабочая подача.

Тогда в исходной программе вызов цикла описывается всего одной строкой, например, так:

G81(L=15;ZС=25;ZF=50;SР=70);

,что позволяет получить в УП кадр вида

N…G81Z15000R25000Q50000F70

          Для того, чтобы учесть реальное время отработки программы на станке и иметь возможность графической верификации УП(в том числе и автоциклов) необходимо создать в директории библиотека имитационных процедур САПР-ЧПУ/2000 макропроцедуру с именем G81.m следующего вида:
МАКРО=G81;
******************************************************************;
* Обязательные параметры:;
* L-координата дна отверстия;
* ZC-координата точки начала сверления;
* ZF-координата точки отвода после сверления;
* SP-значение рабочей подачи;
******************************************************************;
L=10;ZC=10;ZF=10;SP=10;
!
HM;
S/8000;ZA/ZC;S/SP;ZA/L;
S/8000;ZA/ZF;
KM;
!

          Используя макроаппарат имитационных макропроцедур САПР-ЧПУ/2000, вы получаете возможность достаточно близко к реальности нормировать всю программу обработки.

          После того, как убедитесь, что назначение циклов G81-G86 технологи помнят хорошо и встроите вызов этих циклов в GRAFCAM(модуль графического проектирования программ САПР-ЧПУ/2000), у вас может срочно появиться заказ на новую программу для станков 2C150ПМФ4 или 65А80ПМФ4 с системой 2С42-65. В этих стойках автоцикл практически тот же, но имеет более лаконичный формат координат и уровень подхода(ZC) определяется координатой Z перед циклом и выбором G98/G99(можно договориться об обязательности G98). Тогда в паспорте на эти станки появятся строки

G81=СП,G81@L(0.001,73, ,-,Z,БH)@ZC(0.001,73, ,-,R,БH) @ZF() @SP(1,4, , ,F,БН);

,а после трансляции с этим паспортом того же исходника получается вполне правдоподобный кадр

N… G81Z15R25F70

          Таким образом, можно единообразно описать станочные подпрограммы для всех стоек ЧПУ, где присутствуют все три параметра автоцикла и все они задаются в абсолютных координатах.

          Проблемы начинаются при срочном переводе программы со станка 65А80Ф4 на станок C-500/4(c системой CNC-600), где глубина обработки на рабочей подаче(P2`) задается в приращениях. Конечно, если программа в два кадра, то это легко считается вручную. Можно пойти и путем изменения и перезаписи стандартных подпрограмм на самих станках. Но ведь так велик соблазн получить нужный кадр все из той же строки в исходном тексте программы, т.е. фразы G81(L=15;ZС=25;ZF=50;SР=70);, где все для расчета уже имеется (арифметически P2=ZC-L).

          Но поначалу появляется запись в паспорте для С-500/4(205.p)

L81=СП,@P1(0.001,73, ,-,P1`,БН)@P2(0.001,73, ,-,P2`,БН)@P3(0.001,73, ,-,P3`,БН) @P71(1,2, , ,P71`,БН)@P72(1,2, , ,P72`,БН)@P70(0.1,21, , ,P70`,ПН,БН) @SP(1,4, , ,F,БН)#L81;

,где:
P1- все тот же безопасный уровень,
P2- глубина сверления в приращениях,
Р3- величина отскока на Б/Х,
P71,P72- номера корректоров по Z,
P70- пауза,
SP- рабочая подача.

          В директории bim создается еще одна макро с именем L81.m МАКРО=L81;
******************************************************************;
*Цикл сверления для паспорта 205(станокC-500/4 c сист-ой CNC-600) ;
* Обязательные параметры: ;
* P2-координата дна отверстия ;
* P1-координата точки начала сверлениия ;
* P3-координата отхода ;
* SP-значение рабочей подачи ;
* P70-пауза на дне отверстия ;
******************************************************************;
L=10;ZC=10;ZF=10;SP=10;
Z1=ZC-ZC+1;
Z2=ZC-L;
X=0;Y=0;X1=0;Y1=0;E1=0;П=0;
!
HM;
E1=P70;
S/8000;ZA/P1;S/SP;Z/P2;
ЕСЛИE1=10;TOЦЫЦ10;ИHАЧЕЕСЛИE1=20;TOЦЫЦ20;ИHАЧЕЕСЛИE1=30;TOЦЫЦ30;ИHАЧЕЕСЛИE1=40;TOЦЫЦ40;
ИHАЧЕEСЛИE1#0;TOЦЫЦ5;KE;KE;KE;KE;KE;
*ЦЫЦ- это название, данное нами, команде ПАУЗА;
S/8000;ZA/P3;
KM;
!

которую можно вызывать командой в исходной программе:

L81(P1=25;P2=-10;P3=50;P70=0;P71=1;P72=1;SP=70);

При генерации управляющей программы мы имеем:

N…P1`25P2`-10P3`50P70`0P71`1P72`1F70L81- но ведь это только после расчета команды L81, а не искомой G81!

После недолгих размышлений G81 модернизируется в вид МАКРО=G81;
******************************************************************;
*Объединенный цикл сверления для паспортов 205,2710-2723 ;
* Обязательные параметры: ;
* L-координата дна отверстия ;
* ZC-координата точки начала сверления ;
* ZF-координата точки отвода после сверления ;
* SP-значение рабочей подачи ;
*Hеобязательные параметры(необходимы для отдельных станков) ;
* E-величина паузы ;
* KZ-номер корректора на длину инструмента ;
******************************************************************;
L=10;ZC=10;ZF=10;SP=10;
Z1=ZC-ZC+1;
Z2=ZC-L;
X=0;Y=0;X1=0;Y1=0;E=0;E1=0;П=0;Z3=0;Z4=0;Z5=0;K2=0;
!
HM;
П=ПАСП();-команда определяющая номер работающего в данный момент паспорта станка
E1=E;X1=X;Y1=Y;Z3=ZC;Z4=ZF;K2=KZ;
ЕСЛИZC>0'И'L>0;TO Z2=ZC-L;ИHАЧЕ ECЛИZC>0'И'L<0;TOZ2=ZC-L;ИHАЧЕ
ECЛИ ZC<0'И'L<0;TO
Z2=L-ZC;KE;KE;KE;
Z5=-Z2;- считаем значение P2
ECЛИ П=205;- если это паспорт 205.p(для C-500/4),то вызываем L81 вместо G81
TO L81(P1=ZC;P2=Z5;P3=ZF;P70=E1;P71=K2;P72=K2;SP=SP);
ИHАЧЕS/8000;ZA/ZC;S/SP;ZA/L;-если не C-500/4 то как обычно
ЕСЛИE1=10;TOЦЫЦ10;ИHАЧЕЕСЛИE1=20;TOЦЫЦ20;ИHАЧЕЕСЛИE1=30;TOЦЫЦ30;ИHАЧЕ ЕСЛИ
E1=40;TOЦЫЦ40;ИHАЧЕ EСЛИE1#0;TOЦЫЦ50;KE;KE;KE;KE;KE;КЕ;КЕ;
S/8000;ZA/ZF;KE;
KM;
!

,а в паспортах для 65А80 и всех других со стойками 2С42-61 и 2С42-65 описание СП приходится изменять до вида

G81=СП,G81@L(0.001,7, ,-,Z,БH)@ZC(0.001,7, ,-,R,БH)@ZF(0.001,7, ,-,Q,БH)

@E()- т.к. пауза в этом цикле для 65А80 отсутствует
@KZ()- т.к. значение корректора на длину требуется только для C-500 @SP(1,4, , ,F,БН);


Итак что же мы добились? В исходной программе, независимо от номера паспорта(т.е. фактически системы с ЧПУ)вы используете команду

G81(L=15;ZС=25;ZF=50;Е=50;КZ=1;SР=70);

вы получаете либо N…G81Z15000R25000Q50000F70- для 65А80Ф4,

либо N… G81Z15R25F70 - для 65А90ПМФ4 или 2С150ПМФ4,

либо N…P1`25P2`-10P3`50P70`0P71`1P72`1F70L81- для С-500/4 или CW800 со стойкой CNC-600.