A_1

Текст управляющей программы

61 сообщение в этой теме

Скажите, пожалуйста, как сделать, чтобы в тексте УП выводились пробелы между словами?

И почему у меня пропадает/подавляется модальность.

В ADEM.

Заранее спасибо.

G2X1=104.232Z1=-60.656I2.75

G1Z1=-93.906

G2X1=109.732Z1=-96.656I2.75

G1X1=111.268Z1=-96.656

Поделиться сообщением


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

Скажите, пожалуйста, как сделать, чтобы в тексте УП выводились пробелы между словами?

И почему у меня пропадает/подавляется модальность.

В ADEM.

Заранее спасибо.

G2X1=104.232Z1=-60.656I2.75

G1Z1=-93.906

G2X1=109.732Z1=-96.656I2.75

G1X1=111.268Z1=-96.656
Надо править постпроцессор

Поделиться сообщением


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

Надо править постпроцессор

Я знаю. Не могу найти где это делается. Оставлю пока вопрос с модальностью. Пробелы хочется вставить. Изменено пользователем A_1

Поделиться сообщением


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

Если есть доступ к модулю ADEM GPP, то заходишь и там в первом алгоритме пишешь такую строку:

INT/ON ;

Запускаешь трансляцию. Радуешься.

По модальности: там же в GPP заходишь в Параметры, закладка Структура кадра и снимаешь/ставишь галочку "Признак модальности" на интересующем тебя параметре.

Более гибко можно регулировать модальность в самом тексте постпроцессора, командами MODOFF(_G1) , для пользовательской переменной _G1.

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

Поделиться сообщением


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

Если есть доступ к модулю ADEM GPP, то заходишь и там в первом алгоритме пишешь такую строку:

INT/ON ;

Запускаешь трансляцию. Радуешься.

По модальности: там же в GPP заходишь в Параметры, закладка Структура кадра и снимаешь/ставишь галочку "Признак модальности" на интересующем тебя параметре.

Более гибко можно регулировать модальность в самом тексте постпроцессора, командами MODOFF(_G1) , для пользовательской переменной _G1.

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

За INT/ON спасибо, получилось!

Модальность мне нужна для X и Z. Ставлю галочки "Признак модальности" на этих параметрах, а она то есть, то её нет:

N100 G1 X1=94.93 Z1=-102.175

N110 G2 X1=100.43 Z1=-104.925 I2.75

N120 G1 X1=101.966 Z1=-104.925

N130 X1=105.43 Z1=-107.925

N140 X1=105.43 Z1=-154.925

N150 M1=5

Решил это через строку, IF (YT!=YC) X->YT*2;

Только зачем тогда галочки?

Поделиться сообщением


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

Решил это через строку, IF (YT!=YC) X->YT*2;

Только зачем тогда галочки?

Это тоже вариант, только проверять можно проще- через DX!=0 или DY!=0.

Попробуйте, там где ставили галочки Модальность изменить Номер группы окна, например поставить для координат 1 группу окна.

Поделиться сообщением


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

Решил это через строку, IF (YT!=YC) X->YT*2;

Только зачем тогда галочки?

Это тоже вариант, только проверять можно проще- через DX!=0 или DY!=0.

Попробуйте, там где ставили галочки Модальность изменить Номер группы окна, например поставить для координат 1 группу окна.

Изменение Номера группы окна не помогло, остановился на варианте IF DY!=0... хорошо работает.

Ещё вопросы:

-- Как можно вывести не номер, а имя инструмента (у нас смена инструмента программируется Tlch1("M15",0,0) , где M15- имя инструмента)

-- Почему-то у меня в модуле GPP (ADEM 9.0) в отличии от ADEM 8.2 не активны Адаптер и Отладка

post-27796-1300972853_thumb.jpg

Поделиться сообщением


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

Если модальность всё ещё напрягает, то высылай постпроцессор и ADEMовский файл, будем уже предметно разбираться, на конкретном примере.

По имени инструмента: заводишь в паспорет оборудования в макете кадра Текстовое окно, и в 35-м алгоритме выводишь в него всё что вздумается. Проблема останется только в том- как в ADEMе указать это самое имя инструмента :) Не предусмотрено в переходах обработки на закладке Инструмент поля "Имя инструмента", а те что есть, они предназначены для формирования документации и данные из них никак не взять в постпроцессоре :( Как выход- вставка в маршрут перед переходом обработки комментария с названием инструмента. А уже в постпроцессоре отлавливаешь его в 582 алгоритме и выводишь куда надо.

По GPP в ADEM 9.0.

Это скорее всего связано с тем, что ключ защиты у тебя прошит под версию 8.2, а в версии 9.0 поменялся порядок кодов защиты и соответственно какие-то могли пропасть. Выход- перепрошить ключ защиты для работы в версии ADEM 9.0 (читай- провести апгрейд до последней версии ADEM. А как это сделать- уже обращайся официально. Дать контакты отдела маркетинга, который продажами и обновлениями ведает?)

Поделиться сообщением


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

Спасибо, And86, за ответы.

С модальностью OK.

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

Ещё есть очень важные вопросы:

1. Как отловить конец перехода, чтобы дописать выключения СОЖ, шпинделя, отвод инструмента перед сменой инструмента.

2. Как вывести пустую строку для обзорности УП?

Пока вывожу пробел, но мне он не нравится)

NBL/OFF;

_TXT->' ';

BLOCK;

3. В первом алгоритме нужно вывести 2 строки: имя файла и имя папки в качестве инструкций для ввода программы в станок.

%_N_УСТАНОВ1_MPF

;$PATH=/_N_WKS_DIR/_N_РАСПРЕДВАЛ_WPD

Как передать эти данные в постпроцессор?

Имеется одна(?) переменная имя_программы в операции, можно её как то обработать в постпроцессоре, чтобы получить 2 строки?

Изменено пользователем A_1

Поделиться сообщением


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

1. Как отловить конец перехода, чтобы дописать выключения СОЖ, шпинделя, отвод инструмента перед сменой инструмента.

2. Как вывести пустую строку для обзорности УП?

Пока вывожу пробел, но мне он не нравится)

NBL/OFF;

_TXT->' ';

BLOCK;

3. В первом алгоритме нужно вывести 2 строки: имя файла и имя папки в качестве инструкций для ввода программы в станок.

%_N_УСТАНОВ1_MPF

;$PATH=/_N_WKS_DIR/_N_РАСПРЕДВАЛ_WPD

Как передать эти данные в постпроцессор?

Имеется одна(?) переменная имя_программы в операции, можно её как то обработать в постпроцессоре, чтобы получить 2 строки?

1. Конец перехода можно отловить по 10 алгоритму, но чаще всего выключение СОЖ и шпинделя осуществляются в соответствующих алгоритмах (700 и 701). А так же в макрокомандах (в Параметрах) можно прописать например: для 35алгоитма выполнять 28, 700, 701, 35 алгоритмы, таким образом, когда в CLData придёт 35 алгоритм (смена инструмента), то постпроцессор сначала отведёт инструмент, выключит СОЖ и шпиндель и только после этого будет отрабатываться непосредственно 35 алгоритм.

2. Мы тоже так пустые строки выводим: отключаем номерацию, в текстовое окно выводим пробел и блок. Вроде не напрягает :) Можешь попробовать выводить через символьное окно, с пустым значением, но потом всё равно блок вставлять надо будет. Я сам не пробовал ещё так делать))

3. Во 2 или 3 алгоритмах выводишь всё это (имя программы, обозначение детали и т.п.) в текстовые окна, используя системные переменные N/PROG, NAMEPROG, N/PART и NAMEPART. Подробнее кто за что отвечает расписано в разделе хелпа ADEM GPP -> Системные переменные -> Учётные параметры программы, детали и станка.

Поделиться сообщением


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

Спасибо, And86, за консультации по постпроцессированию. Сегодня испытал первую токарную программу, выданную моим постом. И сразу новый вопрос: а как в Адеме задать ломку стружки, т.е. небольшие отводы в процессе резания резцом. Если это решать постом, то как сообщить посту ломать или не ломать стружку и длины проходов и отходов?

Поделиться сообщением


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

эээээ, слишком мало входных данных :)

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

Обычно проблема ломания стружки решается на стадии указания параметров обработки, и никак не зависит от постпроцессора.

Поделиться сообщением


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

Не нашел параметров ломки стружки. У меня точение, черновая, многопроходная обработка.KANAVKA2L.rar

Поделиться сообщением


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

При прорезке можно установить стружколом, а при обычном точении пока не получится. Функция такая уже проработана, но не включена в интерфейс. Соответственно задать её пока что не получится. Придётся пока ждать.

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

Поделиться сообщением


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

1.

Подскажите, пожалуйста, что делать, когда в сгенерированную постпроцессором УП необходимо вставить готовый код УП, например такой:

DEF INT ANZAHL

MCZSHIFT(57,"","CLR")

Tlch1("Probe",0,0)

Tlprep1(,,1)

Prcalib(1)

McmillS1

M74

G0 G53 Y1=0 Z1=520? C1=0

G0 X1=102

M3=9

G0 G53 Z1=448?

PRSEARCH("X1",-20,"C1",8,45,0)

G500

PRORIENT("C1",50,57,"TR")

G0 X1=102

FOR ANZAHL=1 TO 6

G57

G0 C1=(ANZAHL-1)*60

Prtest("X1",-20,0)

G0 X1=82

G500

Probe("Z1",10,,3)

R[ANZAHL]=MC_P[0]+0.161

G0 X1=102

ENDFOR

G0 X1=200

R7=R1; MIN

R8=R1; MAX

FOR ANZAHL=2 TO 6

IF R[ANZAHL]<R7

R7=R[ANZAHL]

ENDIF

IF R[ANZAHL]>R8

R8=R[ANZAHL]

ENDIF

ENDFOR

IF (R8-R7)>0.05

M0; BIENIE > 0.05 PROGRAMMA BUDET PRERVANA!

Tlch1

Tlprep1

Tlch1

M74

G4 F10

M30

ENDIF

R9=(R7+R8)/2; SREDNEE

MC_P[0]=R9+3.575

Przshift(57,"Z1","TR")

G0 X1=200

Home
Я пытался вставить его как комментарий, но вставились почему то только первые 6 строчек

2.

Хочу при точении контура в УП указывать (комментарием) радиус скругления резца, для которого была рассчитана программа. Но посту недоступна эта системная переменная (R скругл.)?

Поделиться сообщением


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

1. Если не секрет, то можно уточнить- что за текст вы хотите вставить? Это измерения/ параметрическая программа/подпрограмма или ещё что-то. Этот код нужен для всех УП формируемых постпроцессором или только для каких-то конкретных деталей? Текст кода будет всегда одинаковый или может изменяться?

2. А через системную переменную RAD/TOOL пробовали достать?

Поделиться сообщением


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

1. Если не секрет, то можно уточнить- что за текст вы хотите вставить? Это измерения/ параметрическая программа/подпрограмма или ещё что-то. Этот код нужен для всех УП формируемых постпроцессором или только для каких-то конкретных деталей? Текст кода будет всегда одинаковый или может изменяться?

2. А через системную переменную RAD/TOOL пробовали достать?

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

Радиус скругления через RAD/TOOL пробовал достать! Не получается:

post-27796-1304521034_thumb.jpg

35 ;

NBL/OFF;

_TXT->' ';

BLOCK;

IF CURTOOL<10 _TXT->'Tlch1("T0@[CURTOOL]",0,0)';

ELSE _TXT->'Tlch1("T@[CURTOOL]",0,0)';

BLOCK;

_TXT->'R_instr=@[RAD/TOOL]';

BLOCK;

END ;

N10 Tlch1("T09",0,0)

N20 R_instr=0

Поделиться сообщением


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

1. Если кусок кода нужен только для одной детали, тогда, наверное, действительно самое простое- вставлять его вручную в уже готовый текстовый файл УП. Если же есть необходимость вставлять этот кусок кода для многих деталей, то тогда разумнее осуществлять это при помощи постпроцессора. Например командой copyfile.

2. Действительно- не для всех типов токарного инструмента работает, прошу прощения, за дезу)) Тогда можно воспользоваться системной переменной FR[22]. Она точно работает. Вот пример части кода постпроцессора:

ELSE IF COD/TOOL=7 DO;

IF FR[31]=700 _TXT1->'(CUTTER R@[RAD/TOOL])';

IF FR[31]=701 _TXT1->'(DIAMOND CUTTER R@[FR[22]] D@[L/GEOM])';

IF FR[31]=702 _TXT1->'(SQUARE CUTTER R@[FR[22]] D@[L/GEOM])';

IF FR[31]=703 _TXT1->'(TRIANGLE CUTTER R@[FR[22]] D@[L/GEOM])';

IF FR[31]=704 _TXT1->'(GROOVE CUTTER R@[FR[22]] B@[L/GEOM])';

IF FR[31]=705 _TXT1->'(CIRCLE CUTTER R@[FR[22]])';

ENDDO;

Поделиться сообщением


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

Здравствуйте. Постпроцессор был создан с использованием постпроцессора-аналога, и теперь я хочу убрать первую строчку из текста УП. Не могу найти место, откуда она подставляется. В файле постпроцессора её, естественно, нет.

FANK0250.ANK

N10 G59 Z1=140.

N20 T1 M6

N30 G54 G90

N40 G0 X1=0. Y1=0. Z1=100. S500 M3 EA3=0. EB3=0. EC3=1.

N50 X1=186.745 Y1=69.282 Z1=100. EA3=0.713 EB3=0. EC3=0.701

N60 X1=91.175 Y1=69.282 Z1=100. EA3=0.713 EB3=0. EC3=0.701

Поделиться сообщением


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

Постпроцессор был создан с использованием постпроцессора-аналога, и теперь я хочу убрать первую строчку из текста УП. Не могу найти место, откуда она подставляется. В файле постпроцессора её, естественно, нет.

FANK0250.ANK

N10 G59 Z1=140.

В "Модуле GPP" нужно зайти в "Постпроцессор" -> "Параметры..." вкладка "Паспорт" пункт "Параметры управляющей программы" изменить "Код формирования ленты" с той, которая у тебя, на ASCII.

Поделиться сообщением


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

В "Модуле GPP" нужно зайти в "Постпроцессор" -> "Параметры..." вкладка "Паспорт" пункт "Параметры управляющей программы" изменить "Код формирования ленты" с той, которая у тебя, на ASCII.

Спасибо

Поделиться сообщением


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

Как в GPP бастро перевести градусы в радианы и обратно? Искал в справочной литературе, ничего не нашел.

Где можно посмотреть пример постпроцессора на 4х координатную обработку фрезерную?

Шпиндель вертикальный, 4я координата горизонтальная (по оси х).

Изменено пользователем Forest

Поделиться сообщением


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

радианы (в которых ведутся все расчёты!) переводятся в градусы и обратно по правилам школьного курса геометрии, тут ничего нового не выдумано: град.=180:__CHP , где __CHP - это число Пи, для обьлшей точности непринимаемое просто 3,14, а считаемое как __CHP=ACOS(-1)

Если не очень понятно написал, скаж - подробнее распишу.

Примеры постпроцессоров на 4х должны быть в стандартной поставке системы. Либо 5х можно взять и лиишнее просто выкинуть.

А вообще - я бы рекомендовал всё-таки пройти обучение ADEM GPP и тогда можно будет с чистой совестью обращаться к диллерам/разработчикам с просьбой дать пример поста.

Поделиться сообщением


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

And86, спасибо, разобрался. Еще такой вопрос, с какой точностью (число знаков после запятой) сохраняются пользовательские переменные в GPP, можно ли её изменить ? С какой точностью идет определение косинусов, синусов и числа Пи.

Поделиться сообщением


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

насколько помню - по умолчанию все расчёты ведутся с точностью до трёх знаков после запятой. Если в алгоритмах расчётов углов и т.п. требуется повысить точность (а это обычно требуется), то в ход идёт сравнение величин умноженых на 10 в 6 или большей степени. Т.е. сравниваются не просто (Угол1) и (Угол2), а (Угол1)*10**6 и (Угол2)*10**6. Таким образом вытаскиваются ещё 6 значащих цифр после запятой.

А с какой точностью вообще ведутся расчёты (внутри алгоритмов), не вспомню. Могу уточниться, если для вас это критично...

Поделиться сообщением


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

Как не бился координаты пляшут при повороте на величину +-1 микрон. Возведение в степень не помогло. :wallbash:

Добавил округление на +-1,5 микрона, стало приличнее.

Текст нубского алгоритма прилагаю, там же и возведение в степень не стал убирать.

DATAORT VSP/X VSP/Y VSP/Z;

_XT=XT*10**6;

_YT=YT*10**6;

_ZT=ZT*10**6;

RPOINT _XT _YT _ZT A PARV(9);

_XT2=_XT;

_YT2=_YT;

_ZT2=_ZT;



IF ABS(_XT2-_XT1)>3000 X->_XT2*10**(-6);

IF ABS(_YT2-_YT1)>3000 Y->_YT2*10**(-6);

IF ABS(_ZT2-_ZT1)>3000 Z->_ZT2*10**(-6);



_XT1=_XT2;

_YT1=_YT2;

_ZT1=_ZT2;

Поделиться сообщением


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

не, координаты можн оне трогать. Возведение в степень надо толкать в расчёты и сравнения углов. Там самая маленькая десятитысячная градуса может вылезти в приличную погрешность.

Поделиться сообщением


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

Если не секрет, как это провернуть?

RPOINT _XT _YT _ZT A PARV(9);

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

Поделиться сообщением


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

например при выводе углов сделай так:

IF DEV(_EXP*DA)!=0 DO;

	IF _AROTE=0 _A1->0;

	ELSE _A->_AROTE;

	ENDDO;

где _EXP=10**6

_AROTE - рассчитанный угол

остальное думаю ясно.

Смысел в том, что обычно выводятся числа с 3 значащими цифрами после запятой, а если изменение было где-то дальше после запятой, то это уже отбрасывается. А если вставить таоке условие, то будет идти сравнение уже до 6 знаков после запятой.

Поделиться сообщением


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

Добрый день, уважаемые! 
Подскажите пожалуйста как можно выловить значение переменной, отвечающей за номер операции?

 

post-32197-0-46778300-1381986239.jpg

Поделиться сообщением


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

Добрый день, уважаемые! 

Подскажите пожалуйста как можно выловить значение переменной, отвечающей за номер операции?

В 1 алгоритме определяешь номер операции _NOPER=STRTONUM(FR[8]).

 

Из Help:

Структура команды «Учетные данные программы» (код 1)

FR[0]    длина внутренней структуры фразы

FR[1]    код фразы=1

FR[2]    порядковый номер объекта в маршруте обработки

FR[3]    имя программы

FR[4]    Ф.И.О. разработчика

FR[5]    дата

FR[6]    цех

FR[7]    участок

FR[8]    номер операции

Поделиться сообщением


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

Добрый день, уважаемые! 

Подскажите пожалуйста как можно выловить значение переменной, отвечающей за номер операции?

В 1 алгоритме определяешь номер операции _NOPER=STRTONUM(FR[8])

 

Спасибо за ответ! Сделал как Вы написали, выводимый результат "0", при введенном значении "070".

Подскажите пожалуйста в чем может быть ошибка?

 

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

1 ;

GNBL/OFF;
_CORRM=0;
_NAME=4;
_TXT=5;
_G=6;
_G1=7;
_G2=8;
_G3=9;
_G4=10;
_G5=11;
_G6=12;
_G7=13;
_X=14;
_Y=15;
_Z=16;
_U=17;
_V=18;
_W=19;
_A=20;
_B=21;
_C=22;
_I=23;
_J=24;
_K=25;
_R=26;
_H=27;
_F=28;
_S=29;
_T=30;
_P=31;
_Q=32;
_PP=33;
_PP1=34;
_PP2=35;
_M=36;
_M1=37;
INT/ON;
AUTOTIME=OFF;
_NPROG=FR[3];
_TXT->'@[_NPROG]';
_NOP=STRTONUM(FR[8]); 
END ;
 
2 ;
_TXT1->'(@[N/PART]-@[_NOP])';
BLOCK;
END ;
 
Выводимый результат:
O0777 (ХХХ.ХХ.ХХ.056-0
(Leadwell T-6M) 
(21.10.2013 11:12:00)
 
Подскажите пожалуйста, за что отвечает команда STRTONUM? Без неё результат тот же, при этом номер программы и индекс детали выводит без вопросов...

Поделиться сообщением


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

Сделал как Вы написали, выводимый результат "0", при введенном значении "070".

Подскажите пожалуйста, за что отвечает команда STRTONUM? Без неё результат тот же, при этом номер программы и индекс детали выводит без вопросов...

 

STRTONUM - это функция перевода строки, содержащей число, в число. Число преобразовывается до тех пор, пока содержит символы числа. Если в строке нет символов числа, возвращается 0.

 

Неуспех может заключаться в содержимом массива FR[]. Не мог бы ты скопировать его содержимое в алгоритме 1 сюда или сказать номер версии АДЕМа?

Поделиться сообщением


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

 

Сделал как Вы написали, выводимый результат "0", при введенном значении "070".

Подскажите пожалуйста, за что отвечает команда STRTONUM? Без неё результат тот же, при этом номер программы и индекс детали выводит без вопросов...

 

STRTONUM - это функция перевода строки, содержащей число, в число. Число преобразовывается до тех пор, пока содержит символы числа. Если в строке нет символов числа, возвращается 0.

 

Неуспех может заключаться в содержимом массива FR[]. Не мог бы ты скопировать его содержимое в алгоритме 1 сюда или сказать номер версии АДЕМа?

 

ADEM 9.0 Mar 27 2012

Поделиться сообщением


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

 

Можно ли скопировать содержимое FR[] в алгоритме 1? Похоже, что в этом массиве нет номера операции, т.к. эти изменения прошли 17 апреля 2012 года. Но вдруг!..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Можно ли скопировать содержимое FR[] в алгоритме 1? Похоже, что в этом массиве нет номера операции, т.к. эти изменения прошли 17 апреля 2012 года. Но вдруг!..

 

Извините, вопрос наверняка глупый, но как посмотреть содержимое массива в алгоритме? 

Поделиться сообщением


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

В отладчике (кнопка "Отладка" в модуле AdemGPP) в окне "Values" нажать клавишу Insert и ввести имя интересующей переменной (пример _NPROG или N/PART), имя интересующего массива с квадратными скобками (пример, _ARR[] или FR[]) или даже сложное выражение.

 

PS

Есть текст справки в АДЕМе: ADEM GPP -> Этапы создания постпроцессора -> Отладка постпроцессора

Поделиться сообщением


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

Спасибо за консультацию.

Содержимое массива прилагаю...

 

Как я понимаю, используемая версия, не позволяет выловить номер операции?!

post-32197-0-92079500-1382502833.jpg

Изменено пользователем I'm true

Поделиться сообщением


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

Спасибо за консультацию.

Содержимое массива прилагаю...

 

Как я понимаю, используемая версия, не позволяет выловить номер операции?!

 

Да, твоя версия не позволяет напрямую получить номер операции. Придётся сделать действия:

  1. Обновить версию;
  2. Как-то искуственным образом передать этот номер через другие механизмы: комментарий, юзерфункцию или другим "силовым" способом***;
  3. Вызвать внешнюю программу, которая вернёт этот номер операции (не получается сделать просто, но если интересует, то можно выслать текст обработки алгоритма 1, реализующий эту методу);
  4. Отказаться от определения номера операции.

*** Предлагается почитать "Adem GPP -> Пользовательские команды и циклы обработки", чтобы сделать это красиво. Можно задействовать стандартную команду пользователя, в которой задать номер операции, и получить его при обработке алгоритма 459.

Поделиться сообщением


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

 

Спасибо за консультацию.

Содержимое массива прилагаю...

 

Как я понимаю, используемая версия, не позволяет выловить номер операции?!

 

Да, твоя версия не позволяет напрямую получить номер операции. Придётся сделать действия:

  1. Обновить версию;
  2. Как-то искуственным образом передать этот номер через другие механизмы: комментарий, юзерфункцию или другим "силовым" способом***;
  3. Вызвать внешнюю программу, которая вернёт этот номер операции (не получается сделать просто, но если интересует, то можно выслать текст обработки алгоритма 1, реализующий эту методу);
  4. Отказаться от определения номера операции.

*** Предлагается почитать "Adem GPP -> Пользовательские команды и циклы обработки", чтобы сделать это красиво. Можно задействовать стандартную команду пользователя, в которой задать номер операции, и получить его при обработке алгоритма 459.

 

Спасибо за консультацию!

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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

  • реклама

  • Реклама

  • Ближайшие события

    Предстоящих событий не найдено
  • Дни рождения сегодня

    1. Cronanene
      Cronanene
      (38 лет)
    2. edgecrusher
      edgecrusher
      (32 года)
    3. Robertsn
      Robertsn
      (38 лет)
    4. saxalinec95
      saxalinec95
      (36 лет)
    5. xXRuNXx
      xXRuNXx
      (35 лет)