Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство NL5.pdf
Скачиваний:
84
Добавлен:
15.03.2016
Размер:
6.44 Mб
Скачать

NL5 circuit simulator

Руководство Пользователя

HTTP link

HTTP link позволяет установить связь («линк») NL5 с внешними программами. NL5 выступает в роли «сервера» - в ней работает встроенный HTTP сервер. Внешние программы являются «клиентами». NL5 и программа-«клиент» могут работать на одно и том же компьютере или на разных компьютерах, общающихся друг с другом через локальную сеть или Интернет.

Запуск HTTP сервера

Выберите команду Tools | HTTP Link Основного Меню, чтобы открыть окно HTTP Link:

Значение параметра Port по умолчанию - 80, что является стандартным номером порта для HTTP протокола. Если этот порт уже используется другой программой (скорее всего HTTP сервером), выберите любой другой номер порта в диапазоне, допустимом для TCP портов. Удостоверьтесь, что программа-«клиент» использует такой же номер в команде URL запроса. Заметьте, что номер порта может быть изменен только до того, как HTTP сервер был запущен. Чтобы изменить номер порта после того, как HTTP сервер был запущен, необходимо закрыть NL5 и запустить ее снова. Если NL5 и программа-«клиент» работают на разных компьютерах, удостоверьтесь, что используемый порт разрешен для TCP обмена всевозможными антивирусами, файерволами, роутерами и т.д.

Чтобы запустить HTTP сервер, щелкните по кнопке Start. Когда сервер запущен, в текстовом окне будет показываться IP адрес «клиента», полученная команда и результат, посланный «клиенту»:

296

NL5 circuit simulator

Руководство Пользователя

Чтобы выключить HTTP лог, выключите опцию Show log на странице HTTP server окна Preferences. Чтобы стереть HTTP лог, нажмите на правую кнопку мыши на окне текста и выберите Clear log.

Окно HTTP link может быть закрыто в любой момент, не влияя при этом на работоспособность сервера. Чтобы остановить сервер, щелкните по кнопке Stop.

HTTP сервер может также быть автоматически запущен при старте NL5 из командной строки с ключом ―-http‖:

>nl5.exe -http

Посылка URL запроса

Программа-«клиент» может посылать команды и получать данные из NL5, посылая URL запрос с параметрами и получая в ответ данные в текстовом формате. Имя, формат и параметры команды URL запроса (URL чтения) могут быть разными в разных программах. Например, в системе MATLAB используется функция urlread:

s = urlread('url')

Для других программ ищите информацию о командах URL запроса с параметрами в Руководстве или Помощи.

Параметр URL запроса (URL строка) имеет следующий формат:

http://host_name:port/?cmd=command

где:

host_name – имя или IP адрес компьютера, на котором запущена программа NL5 с HTTP сервером. Если программа-«клиент» работает на том же самом компьютере, host_name может принимать значение ―127.0.0.1‖ или ―localhost‖.

297

NL5 circuit simulator

Руководство Пользователя

port - номер порта. Должен быть таким же, как номер порта, определенный в конфигурации HTTP сервера в NL5. Если используется стандартный HTTP порт 80, номер порта можно опустить, так что URL строка будет выглядеть так:

http://host_namet/?cmd=command

command – команда скрипта или выражение.

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

текст ―OK‖,

результат вычисленного выражения в текстовом виде (число),

строка чисел, разделенных запятыми, для запроса данных кривой,

сообщение об ошибке.

Например:

 

Запрос:

Ответ:

http://localhost/?cmd=open rc.nl5

“OK”

http://127.0.0.l/?cmd=R1

“100”

http://192.168.0.l/?cmd=C1=2n2

“2.2e-9”

http://public025:2119/?cmd=V(C1)%200,1,.2

“0,9.99999424754,9.9999944731,…”

http://localhost/?cmd=open test.nl5

“Error opening file test.nl5”

Если позволяет программа-«клиент», к URL строке могут быть применены следующие упрощения, делающие ее проще и легче читаемой:

Текст ―http://‖ может быть опущен.

Текст ―cmd=‖ может быть опущен.

Например:

 

Запрос:

Ответ:

127.0.0.l/?open rc

“OK”

192.168.0.l01/?R1

“100e+3”

http://public025:222/?store R1

“OK”

localhost/?V(C1).mean

“1.27978684602”

Имейте ввиду, что не все символы могут переданы через Интернет в URL строке. некоторые символы являются «зарезервированными» и имеют специальное назначение. Если использовать такие символы в команде NL5, они могут быть неправильно «поняты» и приведут к неправильному результату. Например, символ ‗+‘ обычно используется для обозначения «пробела». Если использовать этот символ для обозначения знака «плюс», то, например, число “1.23E+6” будет воспринято как “1.23E 6”, что приведет к ошибке.

Для использования в командах NL5 зарезервированные символы должны быть преобразованы в формат, позволяющий передавать их в URL строке (―URL safe‖). В этом формате символ представляется символом ‗%‘, за которым следует двузначное шестнадцатиричное число – ASCII код данного символа.

298

“1.23E%2B6”

NL5 circuit simulator Руководство Пользователя

Скорее всего Вам могут понадобиться только два символа, требующие такую замену: пробел и ‗+‘. Пробел может быть заменен кодом %20, ‗+‘ – кодом %2B. Например: “1.23E+6” должно быть представлено как .

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

Запуск симуляция

Если через HTTP линк запрошена команда анализа переходного процесса tran (или cont) или AC анализа аc, NL5 посылает ответ ―OK‖ немедленно, без ожидания окончания анализа. Это сделано для того, чтобы избежать возможных тайм-аутов в случае долгого процесса симуляции. Программа-«клиент» должна сама проверять, окончена ли симуляция, периодически посылая команду ready и проверяя ответ NL5. Ответ ―0‖ означает, что симуляция еще не окончена, ―1‖ – симуляция окончена и может быть послана следующая команда. Если во время симуляции произошла ошибка, NL5 возвратит сообщение об ошибке.

299