Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyk_AS_programmirovania.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.69 Mб
Скачать

Value case number 1,....

program instructions

Value case number 2,....

program instructions

.......

.......

Value case number n,....

program instructions

ANY :

program instructions

END

Назначение

Выполняет программу в соответствии с особенным случайным числом.

Параметры

1.Индексная переменная

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

2.Программные инструкции

Выполняет программные инструкции, когда значение индексной переменной равняется одному из значений после VALUE состояния.

Пояснение

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

1.Проверяет значение индексной переменной, введенной после CASE состояния.

2.Проверяет поочередно все VALUE шаги и находит первый шаг, который содержит в себе значение равное значению индексной переменной.

3.Выполняет инструкции после VALUE шага.

4.Переходит на инструкции после END состояния.

Если нет никакого значения, которое соответствует индексной переменной, выполняются программные инструкции после ANY состояния. Если нет состояния ANY, ни один из шагов в CASE структуре не выполняется.

(ПРИМЕЧАНИЕ)

ANY состояние может быть пропущено

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

Знак «:» после ANY состояния может быть пропущен. Когда знак вводится, всегда отделяйте его пробелом. Без пробела ANY: считается меткой.

И ANY и AND состояния должны вводиться по одному в линии

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

  1. Если число четное в пределах от 0 до 10

  2. Если число нечетное в пределах от 1 до 9

  3. Если число больше 10

6.7.Программные инструкции двоичных сигналов

RESET Выключает все внешние сигналы вывода.

SIGNAL Включает ON/OFF внешних сигналов ввода - вывода и внутренних сигналов.

PULSE Включает сигнал выхода для указанного времени.

DLYSIG Устанавливает сигнал после того, как указанное время прошло.

RUNMASK Задает маску сигналов.

BITS Устанавливают группу сигналов, равным указанному значению.

SWAIT Выполнение программы останавливается, пока указанное состояние не установится

.

EXTCALL Вызывает программу, выбранную внешним сигналом.

ON Устанавливает условия прерывания.

ONI Устанавливает условия прерывания .

IGNORE Отменяет ON или команду ONI.

SCNT Выводит сигнал счетчика после прочтения заданного значения (опция)

SCNTRESET Очищает номер сигнала счетчика. (Опция)

SFLK Устанавливает ON/OFF сигнала мерцания. (Опция)

SFLP Устанавливает ON/OFF сигналов с SET/RESET сигналов (опция)

SOUT Выводит сигнал, когда встречается определенное состояние. (опция)

STIM Включает сигнал таймера, когда заданный сигнал становится ON (опция)

SETPICK Устанавливает время для начала управления закрытием схвата. (опция)

SETPLACE Устанавливает время для начала управления открытием схвата. (опция)

CLAMP Управляет сигналами открытия/закрытия фиксаторов.

RESET

Назначение

Выключает все внешние выходные сигналы. Эта команда неэффективна для приоритетных сигналов, сигналов зажимных устройств и парадоксальных многофункциональных OX/WX.

При использовании дополнительной установки, сигналы, задействованные для экрана интерфейсной панели не затрагиваются этой инструкцией. (опция)

SIGNAL signal number, ....

Назначение

Включает или выключает заданные внешние выходные или внутренние сигналы.

Параметр

Сигнальный номер

Выбирает номер внешнего выходного или внутреннего сигнала. Выборка приоритетного сигнала приведет к ошибке.

Внешние выходные сигнальные номера – 1-32

Внутренние сигнальные номера – 2001-2256

Является мониторной командой. См. 5.7

PULSE signal number, time

Назначение

Включает заданный внешний выходной или внутренний сигнал на данный период времени.

Параметр

1.Сигнальный номер

Задает номер внешнего выходного или внутреннего сигнала. Задание приоритетного сигнала приведет к ошибке.

Внешние выходные сигнальные номера – 1-32

Внутренние сигнальные номера – 2001-2256

2.Время

Устанавливает, как долго сигнал включен (в секундах). Если параметр не задан, автоматически устанавливает 0.2 секунды.

Является мониторной командой. См. 5.7

DLYSIG signal number, time

Назначение

Выводит определенный сигнал после истечение заданного промежутка времени.

Параметры

1.Сигнальный номер

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

Внешние выходные сигнальные номера – 1-32

Внутренние сигнальные номера – 2001-2256

2.Время

Задает время для задержки вывода сигнала в секундах.

Является мониторной командой. См. 5.7

RUNMASK starting signal number, number of signal

Назначение

Следующие сигналы будут включены только при выполнении программы. Сигналы могут быть включены, используя SIGNAL, PULSE, DLYSIG инструкции, но они выключаются, когда происходит останов программного выполнения. При продолжении выполнения программы состояние каналов выхода восстанавливается таким, каким оно было до останова.

Параметры

1.Начальный стартовый номер

Задает номер первого внешнего выходного или внутреннего сигнала в группе сигналов для наложения маски. Введение отрицательного числа отменяет маску, и сигнал не будет отключаться при программном останове.

Внешние выходные сигнальные номера – 1-32

Внутренние сигнальные номера – 2001-2256

2.Число сигналов

Задает, как много сигналов входит в маску. Если параметр не задан, устанавливается 1.

Для приоритетных сигналов команда неэффективна.

Пояснение

Сигналы, заданные этой инструкцией, устанавливаются в состояние OFF, когда программное выполнение останавливается. Однако для приоритетных сигналов данная инструкция не эффективна. Когда программа продолжается, при использовании команды CONTINUE, сигналы восстанавливают состояние, которое было до останова. Аналогично происходит с DO или STEP командами. Рестарт программы посредством EXECUTE команды аннулирует RUNMASK инструкцию.

Пример

Накладывает маску на 5 и 6 выходные сигналы, заданных при помощи 2 бит. Во время выполнения программы эти сигналы могут быть включены при помощи инструкции SIGNAL, PULSE, DLSIG. Обнуление сигналов происходит при останове программы.

BITS starting signal number, number of signal=decimal value

Назначение

Классифицирует группу внешних выходных или внутренних сигналов в соответствии с двоичным выражением десятичного числа.

Параметры

1.Начальный сигнальный номер

Выбирает первый сигнал для установки сигнального состояния.

Внешние выходные сигнальные номера – 1-32

Внутренние сигнальные номера – 2001-2256

2.Количество сигналов

Задает количество сигналов для установки состояний ON/OFF. Максимальное разрешенное количество 16.

3.Десятичное значение

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

Является мониторной командой. См. 5.7

SWAIT signal number, ....

Назначение

Ожидает пока внешний I/O или внутренний сигнал приобретет заданное состояние.

Параметр

Сигнальный номер

Задает сигнальный номер для контроля состояния. Отрицательные числа указывают, что состояние удовлетворяется, когда сигналы выключены.

Внешние выходные сигнальные номера – 1-32

Внешние входные сигнальные номера – 1001 - 1032

Внутренние сигнальные номера – 2001-2256

SWAIT инструкция может быть прервана командой CONTINUE NEXT.

Тот же самый результат может быть получен, используя инструкцию WAIT.

Пример

Ожидает до тех пор, пока входные сигналы 1001 и 1002 не включатся.

Ожидает до тех пор, пока внешний выходной сигнал 1 не включится, внутренний сигнал 2001 не выключится

EXTCALL

Назначение

Вызывает программу, выбранную при помощи внешнего входного сигнала.

Пояснение

EXTCALL инструкция обработана в следующих процедурах:

  1. Выводится JUMP-ST сигнал, позволяющий вход во внешнюю программу.

  2. Ожидает для JUMP-ON сигнала ввода.

  3. Когда JUMP-ON вводится, программный номер вводится при помощи считывания RPS-CODE. Если число есть 100 или выше, вызывается программа pgxxx, если число есть 99-10, вызывается программа pgxx, если число меньше равно 9, вызывается программа pg9.

Примечание

Эта инструкция может быть пропущена введением CONTINUE NEXT командой, в процессе ожидания JUMP-ON сигнала.

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

Если RPS режим запрещен, инструкция игнорируется.

EXTCALL используется, чтобы вызвать подпрограмму. После завершения этой подпрограммы (или когда в подпрограмме была обработана инструкция RETURN), выполнение возвращается в первоначальную программу.

ON mode signal number CALL program name, priotity

ON mode signal number GOTO label, priority

ONI mode signal number CALL program name, priotity

ONI mode signal number GOTO label, priority

Назначение

Контролирует определенный внешний входной или внутренний сигнал и при появлении сигнала переходит к выполнению подпрограммы, или перепрыгивает на заданную метку.

ONI прерывает текущую инструкцию движения, ON ожидает завершения текущей инструкции движения, только после этого переходит к подпрограмме или метке.

Параметры

1.Режим

/ERR – выдает ошибку, если состояние сигнала уже установлено до начала контроля

/LVL – немедленно переходит к подпрограмме или метке, если состояние сигнала уже установлено до начала контроля.

2.Сигнальный номер

Задает номер сигнала для контроля.

Если номер положительный, контролируется нарастающий фронт сигнала или изменение с OFF на ON.

Если номер отрицательный, контролируется затухающий фронт сигнала или изменение с ON на OFF.

Внешние входные сигнальные номера – 1001-1032

Внутренние сигнальные номера – 2001-2256

3.Программное имя

Задает имя подпрограммы для выполнения при получении заданного сигнала. Если параметр пропущен, программа переходит на следующий шаг и не переходит к подпрограмме.

4.Метка

Задает метку для перехода.

5.Приоритет

Выбирает приоритет программы, установленные рамки 1-127. Если параметр пропущен, устанавливается 1. Приоритет игнорируется, когда происходит переход к метке.

Пояснение

Если изменение обнаруживается в контролируемом сигнале, ON...CALL инструкция прерывает выполнение программы и переходит на выполнение подпрограммы. Если RETURN инструкция выполняется в вызванной подпрограмме, происходит возврат в основную программу на шаг, следующий за шагом, выполнявшимся в момент прерывания.

ONI инструкция может быть использована только в программах движения робота, но не может использоваться в РС программах.

Контролирование заданного сигнала отменяется в следующих случаях:

  1. IGNORE инструкция, выполняемая для сигнала, заданного в ON или ONI инструкциях.

  2. ON, ONI выполнились и произошел переход в подпрограмму.

  3. Новые инструкции задают тот же сигнал, что и более ранние инструкции.

(ПРИМЕЧАНИЕ)

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

2. Чтобы обнаружить изменение сигнала достаточно точно, необходима устойчивость сигнала в течение 50 мсек.

3. Контролирование начинается, как только инструкция ON (ONI) выполнена. Т.к. в AS системе, инструкции, не выполняющие движение, читаются и выполняются вместе с предыдущим движением, контролирование начинается в одно и тоже время с движением до выполнения инструкции ON (ONI).

4. Контроль сигналов не осуществляется, если программа не выполняется.

Пример

Контролирует внешний входной сигнал 1001. Как только этот сигнал изменяется от ON к OFF, движение останавливается и программа переходит к выполнению подпрограммы “alarm”.

Контролирует сигнал, установленный в переменной “test”. Если сигнал изменяется как желательно, программа переходит к подпрограмме “delay” после выполнения текущего шага движения полностью. Возврат в головную программу осуществляется после полного выполнения подпрограммы “delay”.