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

Пара вопросов по синтаксису поста


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

Приветствую вас, уважаемые форумчане!

Парочка (пока три штучки) вопросов про устройство поста

1. Что делает процедура pbld - создаёт новую запись в файле программы?

2. Возьмём, к примеру, процедуру pretract в посте MPFAN.PST (несущественные строки удалил)

pretract #End of tool path, toolchange

sav_absinc = absinc$

absinc$ = one

#cc_pos is reset in the toolchange here

cc_pos$ = zero

gcode$ = zero

pbld, n$, sccomp, *sm05, psub_end_mny, e$

pbld, n$, sgabsinc, sgcode, *sg28ref, "Z0.", scoolant, e$

if nextop$ = 1003 | tlchg_home, pbld, n$, *sg28ref, "X0.", "Y0.", protretinc, e$

else, pbld, n$, protretinc, e$

absinc$ = sav_absinc

Вот смотрите: делаем absinc$ = one, а выводим sgabsinc - и ведь действительно выводит G91. Откуда такое соответствие между переменными absinc$ и sgabsinc?

3. Что делает звёздочка?

Почему в строчке

pbld, n$, sgabsinc, sgcode, *sg28ref, "Z0.", scoolant, e$

со звёздочкой только *sg28ref?

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


Добрый день,

1)

pbld #Canned text - block delete

if bld, '/'

Это процедура удаления блока (кадра)

2)

# Select incremental or absolute G code

sg90 : "G90" #Absolute code

sg91 : "G91" #Incremental code

sgabsinc : "" #Target string

fstrsel sg90 absinc$ sgabsinc 2 -1

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

если переменная absinc$ = 0 то в строковую константу sgabsinc записывается "G90",

если переменная absinc$ = 1 то в строковую константу sgabsinc записывается "G91"

3) * - звёздочка - это форсированный вывод. т.е. без звёздочки переменные будут выводиться в УП только, если будет меняется их значение, со звёздочкой - будут всегда выводиться.

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

Александр, спасибо!

Ещё парочка вопросов, если не сложно :)

1. Да, чего-то не заметил этой процедуры (pbld) в файле поста. Но вопрос, что она удаляет, почему практически в каждом выводе в строку её вызов присутствует?

2. fstrsel sg90 absinc$ sgabsinc 2 -1

-1 здесь - это что?

Функция fstrsel вызывается сама при изменении переменной absinc?

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

Александр, спасибо!

Ещё парочка вопросов, если не сложно :)

1. Да, чего-то не заметил этой процедуры (pbld) в файле поста. Но вопрос, что она удаляет, почему практически в каждом выводе в строку её вызов присутствует?

2. fstrsel sg90 absinc$ sgabsinc 2 -1

-1 здесь - это что?

Функция fstrsel вызывается сама при изменении переменной absinc?

Да вообщем не сложно, просто на форуме вы не научитесь писать посты.

1) Эта процедура есть в фануковском посте, ищите лучше.

если вы заметили там стоит условие если переменная bld не равно нулю, то будет записан символ "/" - этот символ как раз и

разпознаётся Фануком, как исключить кадр из обработки. Если вы перед какой-либо строкой поставите bld = 1, то процедура pbld

выведет эту строку с символом "/"

2) "-1" - это значение, которое будет возвращать функция fstrsel в случае если индекс будет вне диапазона, а индексом у вас в данном случае служит переменная absinc$, а диапазон от 0 до 2 (не включая 2), т.е. 0 и 1.

3) Нет, функция fstrsel вызывается, когда вы хотите вывести строковую переменную sgabsinc, при этом, если вы выводите просто как sgabsinc, то в УП будет выводиться только первая запись или в случае изменения значения индекса (absinc$), а если вы выводите со звёздочкой впереди *sgabsinc, то выводиться будет всегда.

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

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

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...