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

Переменная $P_PFRAME


Иван П.

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

Подскажите, пожалуйста, почему следующий кусок кода не работает:

DEF REAL ALPHA;

...

$P_PFRAME[Z, RT] = ALPHA;

Работает только вариант с $P_UIFR:

DEF REAL ALPHA;

...

$P_UIFR[1, Z, RT] = ALPHA;

Однако, такой способ менее удобен, ввиду того, что возникает необходимость всякий раз указывать смещение нулевой точки (в данном случае 1 соответствует G54). Поскольку в разное время могут использоваться и G55, и G56.

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


UnPinned posts

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

Что-то вроде:

 

$P_UIFR[$P_FOO, Z, RT] = ALPHA;

Где $P_FOO содержит значение, соответствующее используемому смещению нулевой точки.

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

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

 

Вот так работает, R201, надо тоже присвоить. 

 

R201=$P_UIFR[5,Y,TR]

 

$P_UIFR[5,Y,TR]=$P_UIFR[5,Y,TR]+R201

 

Пример просто из головы, но рабочий

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

Я имел в виду, что мне необходимо избежать явного задания смещения нулевой точки в $P_UIFR. В вашем случае это 5, что соответствует G505. А поскольку в разное время это может быть G54, G55 или G56, то нужно каждый раз в программе выбирать соответствующее значение. Что-то вроде:

DEF REAL NUM = 1;    1 - G54
                ;    2 - G55
                ;    3 - G56
...
$P_UIFR[NUM, Z, TR] = ...

Нашел сейчас в руководстве "Системные переменные" переменную $P_UIFRNUM. Похоже, что это то, что мне нужно. Пока не проверял.

 

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

Если вам для всех нулей (G54...G599) нужно повернуть, можно попробовать сделать так

$P_BFRAME[Z, RT] - повернуть базовое смещение.

А в целом, вроде как должен работать и  $P_PFRAME[Z, RT]  фрейм. Это вроде как тот же самый базовый, просто 0 не указан. Но могу ошибаться.

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

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

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

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

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

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

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

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

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

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

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




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