Смекни!
smekni.com

Техтран - система программирования оборудования с ЧПУ (стр. 14 из 16)

После этого оператора выполняется не следующий по порядку оператор, а тот, который помечен указанной меткой. Например:

ИЗ ТЧ8

НАМЕТКУ К2

ИДИ НА ПРХ

К2: В ТОЧКУ ТЧА

ПРИРАЩ 20

В приведенном фрагменте программы после оператора ИЗ будет выполнен не оператор

ИДИ, а помеченный оператор ВТОЧКУ- Оператор ЕСЛИ имеет следующий формат:

ЕСЛИ (логическое выражение) оператор1[; оператор2; …; операторn] где оператор1, оператор2, ... и т. д.− операторы языка Техтран.

В том случае, если логическое выражение, заключенное в скобки, имеет значение ИСТИНА, то последовательно выполняются оператор1, оператор2 и т. д. Если значение логического выражения − ЛОЖЬ, то выполняется оператор2, а если он отсутствует, то выполняется оператор, находящийся в следующей строке программы. Оператор1, оператор2, ... и т. д. могут быть только простыми операторами входного языка. Применение составных операторов типа ПОВТОР, КОНТУР, МАКРО недопустимо. Например: ЕСЛИ (А>0.5 ИЛИ А<0) НАМЕТКУ М24

Переход на метку М24 выполняется, если значение переменной А больше 0.5 или меньше 0.

Если значения переменной К меньше 10, то будут выполнены операторы присваивания для ТЧ1 и ТЧ2:

ЕСЛИ (К МНШ 10) ТЧ1=0, 0, 5; ТЧ2 = ПРЗ, ПР4

ТЧ6 = ЦЕНТР, КР2

При других значениях переменной К логическое выражение принимает значение ЛОЖЬ, геометрическое определение точки ТЧ1 опускается и выполняются операторы ТЧ2= . . . и ТЧ6= . . .

Оператор ЕСЛИ−ТО−ИНАЧЕ−КОНЕСЛИ имеет следующий формат:

ЕСЛИ (логическое выражение) ТО

[список операторов1] ÈÍÀ×Å ñïèñîê îïåðàòîðîâ 2

КОНЕСЛИ

Если логическое выражение имеет значение ИСТИНА, то последовательно выполняются операторы списка, расположенного после слова ТО. Если же значение логического выражения − ЛОЖЬ, то выполняются операторы списка, стоящего за словом ИНАЧЕ. Любой из этих списков может быть пустым − в этом случае будет выполняться оператор, следующий за ограничителем КОНЕСЛИ. При отсутствии слова КОНЕСЛИ выдается предупреждение и ошибка корректируется. Например:

1) ЕСЛИ (А> =0) ТО

А = А

ИНАЧЕ А = - А

КОНЕСЛИ

В результате будет вычислено абсолютное значение А.

2) ЕСЛИ (Х> =0) ТО У = КВКОР (X)

ИНАЧЕ

КОНЕСЛИ

В этом примере отсутствует второй список. Оператор аналогичен оператору ЕСЛИ (X БРВ 0) У = КВКОР (X).

3) ВПЕРЕД ПРХ НА ПРУ

ПР1=ПАРЛЕЛ, ПРХ, А

ЕСЛИ (А>0) ТО

ВЛЕВО ПРУ НА ПР1

ИНАЧЕ

ВПРАВО ПРУ НА ПР1

КОНЕСЛИ

В этом примере выбирается оператор движения ВПРАВО или ВЛЕВО в зависимости от положения прямой ПР1 относительно оси х.

Оператор ПОВТОР предназначен для многократного повторения участка программы, называемого телом цикла. Существуют две модификации оператора ПОВТОР: 1) цикл со счетчиком и 2) цикл ПОКА.

Формат 1-го варианта оператора: ПОВТОР перем = нач, кон [, шаг]

оператор1 оператор2

.

.

.

операторn

КОНЦИКЛ [перем]

где перем − идентификатор вещественной переменной, являющейся управляющей переменной цикла; нач − число, переменная или арифметическое выражение, задающие начальное значение управляющей переменной цикла; кон − число, переменная или арифметическое выражение, задающие конечное значение управляющей переменной цикла; шаг − число, переменная, или арифметическое выражение, задающие приращение управляющей переменной; по умолчанию приращение равно 1; оператор1, оператор2, ..., операторn− операторы входного языка, составляющие тело

цикла.

При первом исполнении цикла перем = нач, при втором − перем = нач + шаг и т. д. до тех пор, пока удовлетворяется условие: перем*шаг≤кон*шаг. После последнего исполнения цикла управление передается оператору, следующему за оператором КОНЦИКЛ, а управляющая переменная цикла перем принимает первое значение, не удовлетворяющее этому условию. Значение управляющей переменной цикла перем может быть использовано при вычислениях так же, как значение любой другой вещественной переменной, например: ПОВТОР И = 1, 10

А (И)=0

КОНЦИКЛ И

В результате выполнения этого цикла первым десяти элементам массива А присваиваются нулевые значения, например:

Т = 6,5

ПОВТОР И =1,7

Т = Т-И

ЕСЛИ (Т МНШ 0) НАМЕТКУ Ml

Т = Т + 2.0

КОНЦИКЛ И

М1:Р = Т Т

В процессе выполнения цикла переменная Т последовательно принимает следующие значения: 6,5; 5,5; 7,5; 5,5; 7,5; 4,5; 6,5; 2,5, 4,5; −0,5. Затем оператор ЕСЛИ передает управление на оператор с меткой Ml, при этом И = 5.

Если начальное значение переменной Т принять равным 26,5, то последующие ее значения, вычисленные в цикле, будут равны: 27,5; 27,5; 26,5; 24,5; 21,5; 17,5; 12,5. Затем произойдет нормальный выход из цикла; при этом И = 8, так как это первое значение переменной И, при котором перестает выполняться условие И*1^7*1.

Формат 2-го варианта оператора:

ПОВТОР ПОКА (логическое выражение) оператор1 оператор2

.

.

.

операторт

КОНЦИКЛ

Такая конструкция позволяет повторять выполнение операторов, составляющих тело цикла, до тех пор, пока логическое выражение, находящееся в заголовке цикла, сохраняет значение ИСТИНА. Для нормального завершения такого цикла необходимо, чтобы в теле цикла имелись операторы присваивания, изменяющие значения переменных, которые входят в логическое выражение. Если перед очередным повторением цикла обнаруживается, что логическое выражение имеет значение ЛОЖЬ, то управление передается оператору, следующему за оператором КОНЦИКЛ. Если значение выражения оказывается ложным с самого начала, то операторы, составляющие цикл, не выполняются.

В качестве примера приведем программу вычисления значения корня кубического с использованием метода Ньютона. Полагаем хо=1 и затем вычисляем, A

x1,

3

где А − число, из которого необходимо извлечь корень кубический.

Далее полагаем хо = х1 и вычисляем новое значение х2. Процесс вычислений продолжается до тех пор, пока разница между двумя последовательными значениями х не окажется в пределах допустимой ошибки. Например, процесс вычисления корня кубического из числа 4 можно представить следующим образом: А = 4; хо=1; х1= (2 + 4/1)/3 = 2; х2=(4 + 4/4) 3=1.667; х3= (3.333 + 4/2.778)/3= 1.591.

Если продолжить процесс вычислений, то значения х будут приближаться к 1,5874 − корню кубическому из 4. Программа на Техтране будет иметь вид:

ХСТАР = 0

ХНОВ = 1

ПОВТОР ПОКА ( АБС ( ХНОВ-ХСТАР) БЛШ 0.0001)

ХСТАР = ХНОВ

ХНОВ = (2*ХСТАР + 4/ХСТАР**2)/3

КОНЦИКЛ

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

Глубина вложений должна быть не больше 10. Рассмотрим случай вложения двух циклов:

ВЕЩ А (50,6)

ПОВТОР Н=1,50

ПОВТОР И = 2,6

ХК = И

А (Н,И) = (1.0 + 0,01*ХК)**И

КОНЦИКЛ И

КОНЦИКЛ Н

Эта программа вычисляет значения А(Н,И) = (1 +И)Н для И = 0.01; 0.02; 0.03; ... . . . ; 0,06 и И=1, 2, .... 50.

Не допускается применять операторы, лежащие вне тела цикла и передающие управление внутрь цикла. Варианты допустимых передач управления показаны на рис. 2.114.

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

Управление печатью. Каждая фаза процессора системы Техтран осуществляет вывод информации на печать. Для управления объемом выводимой информации в языке имеются специальные операторы: ПЕЧТЕКСТ, ПЕЧТР, СЛЕД и ПЧТ1.

Оператор ПЕЧТЕКСТ предназначен для управления распечаткой исходного текста программы на Техтране (результат работы первой фазы процессора). Оператор имеет следующий формат:

ÂÊË

ПЕЧТЕКСТ ÂÑÅ

ÂÛÊË

где ВКЛ − распечатка всей вводимой информации кроме расшифровок операторов ВЫЗОВ; ВСЕ − полная распечатка, включая расшифровки операторов ВЫЗОВ; ВЫКЛ − подавление печати вводимой информации.

Отсутствие оператора ПЕЧТЕКСТ эквивалентно применению оператора ПЕЧТЕКСТ ВКЛ. Операторы ДЕТАЛЬ и КОНЕЦ, а также строки, содержащие ошибки, выводятся на печать всегда.

Оператор ПЕЧТР устанавливает режим распечатки траектории движения инструмента и имеет формат: ÂÊË

ПЕЧТР ÂÑÅ

ÂÛÊË

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

При наличии в программе таблично заданных кривых и контуров формируются сообщения «НАЧАЛО КОНТУРА», «КОНЕЦ КОНТУРА», а также параметры геометрических элементов и координаты точек пересечения этих элементов.