An overview of ZPL Обзор ZPL

ZEMAX PROGRAMMING LANGUAGE

ЯЗЫК ПРОГРАММИРОВАНИЯ ZEMAX

Introduction Введение

ЭТОТ ВИД АНАЛИЗА ДОСТУПЕН ТОЛЬКО ДЛЯ РЕДАКЦИИ ZEMAX-EE          

Язык программирования ZEMAX (Zemax Programming Language, ZPL) - это довольно простой макроязык, специально разработанный для использования с программой ZEMAX. ZPL сильно расширяет возможности пользователя. Это означает, что, если Вам необходимо выполнить особые вычисления, которые не встроены в ZEMAX, Вы можете написать свою собственную ZPL-программу. ZPL-программы могут быть записаны на диск и вызываться с него при работе в ZEMAX. Вы можете создать библиотеку ZPL-программ и обмениваться программами с другими пользователями ZEMAX.

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

Creating ZPL programs Создание ZPL программ

Для создания ZPL программ проще всего начать с уже существующих программ, которые решают задачи, аналогичные тем, которые вы хотите решить. Если вы хотите попытаться написать вашу первую ZPL программу, вы можете прочитать раздел с примерами, данными в конце этой главы. Некоторые примеры макросов ZPL можно найти также в директории \MACROS, они описаны в главе "ZEMAX example files".

Используйте любой редактор ASCII файлов для создания ZPL файла (такой как редактор NOTEPAD.EXE). Вы можете дать любое имя файлу, но оно должно иметь расширение.ZPL.

Running ZPL program Выполнение ZPL программ

Для выполнения ZPL программ выберите из главного меню команды Macros, Edit/Run ZPL Macros. На экране появится диалоговое окно "ZEMAX Programming Language", имеющее следующие опции:

Active File: Список доступных макросов. Все перечисленные макросы - это ASCII файлы с расширением.ZPL. Файлы должны быть записаны в директорий,

Глава 24: ЯЗЫК ПРОГРАММИРОВАНИЯ ZEMAX                                                         24-1


созданный для макросов ZPL; смотри в главе "File Menu" разделы Environment, Directories.

Close After Execution: Если активизировать эту команду, то ZPL диалоговое окно будет автоматически закрываться после выполнения макроса.

Status: Во время выполнения макросов ZEMAX использует это место для вывода сообщений о том, какая строка программы в данный момент выполняется. Нумерация строк производится без учета каких-либо пустых строк или строк с комментариями. Сообщение обновляется каждую четверть секунды.

Terminate: Эта электронная клавиша служит для остановки выполнения программы.

Cancel: Эта электронная клавиша служит для остановки текущего макроса, если он выполняется. Если макрос не выполняется, то нажатие на клавишу закрывает диалоговое окно ZPL.

Edit: Эта клавиша служит для вызова редактора Windows NOTEPAD. EXE, который должен находиться в главном директории Windows. Редактор может быть использован для модификации или переименования макроса.

View: Нажатие на эту клавишу выводит на экран текстовое окно, в котором показано содержание файла с записью макроса. Текст может быть просмотрен или напечатан. Это окно не позволяет редактировать файлы, а служит только для их просмотра.

Выберите нужный макрос из списка "Active File" и нажмите на электронную клавишу Execute.

ZEMAX начнет выполнять программу. Выбранная программа будет выполнена, и какой-либо выходной текст, заданный оператором PRINT, или сообщение об ошибках будут помещены в текстовый файл. Когда выполнение макроса ограничивается, текстовый файл все равно появится на экране. Запретить появление на экране текстового окна можно с помощью оператора CLOSEWINDOW.


An overview of ZPL Обзор ZPL

ZPL программа содержит ряд команд (называемых операторами), которые хранятся в текстовом ASCII-файле. Вы можете создать ZPL программу с любым текстовым редактором вне ZEMAX (вы можете также редактировать программу внутри ZEMAX;

это будет обсуждаться в следующем разделе). ZPL язык использует синтаксис, подобный языку BASIC для большинства (но не для всех) команд. Например, оператор

x=5

является одним из типов действующего оператор ZPL. В записи этого простого оператора есть несколько важных вещей, на которые следует обратить внимание. Во-первых, нет необходимости в назначении переменных величин. Это означает, что переменная величина "X" не должна быть определена заранее, до присвоения ей значения 5. Если переменной "X" уже было присвоено какое-либо значение ранее, то теперь ей будет присвоено новое значение. Другими словами, нет необходимости объявлять переменные до тех пор, пока они не станут использоваться. Во-вторых, не

24 -2                                                                 Chapter 24: ZEMAX PROGRAMMINGLANGUAGE


требуется применять специальные символы для указания конца записи оператора, такие, например, как символ ";" в языке С. Вследствие этого каждый оператор должен быть записан в своей собственной строке!

ZPL поддерживает "последовательный" вызов функций. Это позволяет использовать следующие формы записи:

Функции SQRT (корень квадратный) и SINE (синус) встроены в ZPL; есть много таких функциональных операторов, которые все описаны в следующем разделе. Заметьте, что ZPL не чувствителен к буквенному регистру; SQRT() и sqrt() - одна и та же функция! В этом руководстве мы условимся использовать условно заглавные буквы для функций и ключевых слов, а прописные буквы - для всего остального.

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

Один из примеров ключевого слова - это "PRINT". За ключевым словом "PRINT" следует список позиций, разделенных запятой, которые должны быть напечатаны (в выходном файле). Например, ZPL программа

на экране напечатает:

Заметьте, что в ZPL соблюдается старшинство операторов. В пределах каждой пары скобок операции выполняются в особом порядке. В ZPL используется следующий порядок старшинства от наивысшего к наинизшему: функции (такие как SQRT), логические операторы (такие как ==), умножение и деление, и затем сложение и вычитание. Скобки всегда "берут верх" в старшинстве; в этом смысле они имеют наивысший приоритет.

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


ZPL variables

Переменные ZPL ________________________________

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

Глава 24: ЯЗЫК ПРОГРАММИРОВАНИЯ ZEMAX                                                             24-3


представленный ранее, вынуждает ZEMAX зарезервировать память для новой переменной "х" и хранить все данные, связанные с ней. Как только переменная определена, она может быть использована в любом последующем выражении. Имеется, однако, несколько правил, относящихся kzpl переменным.

Во-первых, имена переменных не должны содержать каких-либо "специальных" знаков, которые ZPL использует для обозначения логических операций или определения границ, таких как (,), =, +, -, *, /,!, >, <, ^, &, |, #, ", а также пропусков. Во-вторых, переменные не могут иметь такие же имена, как у ключевых слов и функций, таких как ТН1С или RAYX. Так как ZPL не чувствителен к буквенному регистру, вы не можете использовать для переменных названия rауХ или Thick, чтобы обойти это правило. В-третьих, имя каждой переменной должно быть ограничено 28 знаками. Нарушение этих правил может привести к синтаксическим ошибкам; однако может оказаться, что программа выполнена без ошибок, но она просто вычислит не то, что вы хотели. Максимальное число ZPL переменных в программе - 200. Все переменные хранятся внутри программы как 64-битные (двойной точности) числа.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: