WWW.LIB.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные материалы
 

«TECON - TECHNICS ON!® Утвержден ДАРЦ.70020-20 31 01-1-ЛУ БИБЛИОТЕКА АЛГОРИТМОВ ДЛЯ СРЕДЫ ISaGRAF TIL PRO Com v.2.0 Описание применения ДАРЦ.70020-20 31 01-1 Листов 35 МОСКВА 2007 ...»

TECON - TECHNICS ON!®

Утвержден

ДАРЦ.70020-20 31 01-1-ЛУ

БИБЛИОТЕКА АЛГОРИТМОВ

ДЛЯ СРЕДЫ ISaGRAF

TIL PRO Com v.2.0

Описание применения

ДАРЦ.70020-20 31 01-1

Листов 35

МОСКВА 2007

ДАРЦ.70020-20 31 01-1

© ЗАО ПК “Промконтроллер”, 2007

При перепечатке ссылка на ЗАО ПК “Промконтроллер” обязательна.

TECON – TECHNICS ON!®, ТЕКОНИК®, TeNIX®, TCtask® – зарегистрированные товарные знаки ЗАО

"ТеконГруп".

Все другие названия продукции и другие имена компаний использованы здесь лишь для идентификации и могут быть товарными знаками или зарегистрированными товарными знаками их соответствующих владельцев. ЗАО ПК «Промконтроллер» не претендует ни на какие права, затрагивающие эти знаки.

ЗАО ПК «Промконтроллер» является владельцем авторских прав на TIL PRO Com v.2.0 в целом, на оригинальные технические решения, примененные в данном продукте.

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

Юридический адрес: Почтовый адрес:

ул. Красноказарменная, д. 12, стр. 9, ул. Б.Семеновская, д.40, стр.18, Москва, 111250, Россия, Москва, 107023, Россия, ЗАО ПК «Промконтроллер» ЗАО ПК «Промконтроллер»

тел./факс: +7 (495) 7304112 тел./факс: +7 (495) 7304112 факс: +7 (495) 7304113 факс: +7 (495) 7304113 e-mail: support@tecon.ru e-mail: support@tecon.ru http:// www.tecon.ru http:// www.tecon.ru v 2.0.1/26.12.07 2 Библиотека алгоритмов для среды ISaGRAF TIL PRO Com v.2.0 ДАРЦ.70020-20 31 01-1 АННОТАЦИЯ В данном документе приводится описание работы и применения алгоритмов для среды исполнения и разработки пользовательских приложений ISaGRAF компании ICS Triplex ISaGRAF Inc.



Алгоритмы библиотеки TIL PRO Com, разработанные на языке программирования ANSI C, функционируют в рамках целевой задачи ISaGRAF, размещаемой в программируемых контроллерах ЗАО ПК «Промконтроллер».

Описание применения 3 ДАРЦ.70020-20 31 01-1 СОДЕРЖАНИЕ 1 НАЗНАЧЕНИЕ

2 СОСТАВ

3 УСЛОВИЯ ПРИМЕНЕНИЯ

3.1 УСТАНОВКА

3.2 ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ

3.3 ОСОБЕННОСТИ РАБОТЫ

4 ОПИСАНИЕ АЛГОРИТМОВ

4.1 T_COM - ФУНКЦИОНАЛЬНЫЙ БЛОК АСИНХРОННОГО ВВОДА-ВЫВОДА

4.1.1 Описание работы

4.2 T_COM2 - ФУНКЦИОНАЛЬНЫЙ БЛОК АСИНХРОННОГО ВВОДА-ВЫВОДА С

РАСШИРЕННЫМИ ВОЗМОЖНОСТЯМИ

4.2.1 Описание работы

4.3 T_COM_BYTES2INT – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ДВОИЧНЫЕ ДАННЫЕ В ЦЕЛОЕ

ЧИСЛО

4.3.1 Описание работы

4.4 T_COM_BYTES2REAL – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ДВОИЧНЫЕ ДАННЫЕ В ЧИСЛО С

ПЛАВАЮЩЕЙ ТОЧКОЙ (ФОРМАТ IEEE 754)

4.4.1 Описание работы

4.5 T_COM_INT2BYTES – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ЦЕЛОЕ ЧИСЛО В ДВОИЧНЫЕ

ДАННЫЕ

4.5.1 Описание работы

4.6 T_COM_REAL2BYTES – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ЧИСЛО С ПЛАВАЮЩЕЙ ТОЧКОЙ В

ДВОИЧНЫЕ ДАННЫЕ (ФОРМАТ IEEE 754)

4.6.1 Описание работы

4.7 T_COM_CHKSUM – ФУНКЦИЯ, ВЫЧИСЛЯЮЩАЯ КОНТРОЛЬНУЮ СУММУ ПО РАЗЛИЧНЫМ

АЛГОРИТМАМ

4.7.1 Описание работы

4.8 T_COM_SPRINTF – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ЦЕЛОЕ ЧИСЛО В СИМВОЛЬНОЕ

ПРЕДСТАВЛЕНИЕ В РАЗЛИЧНЫХ ФОРМАТАХ И СИСТЕМАХ СЧИСЛЕНИЯ

4.8.1 Описание работы

4.8.2 Примеры использования

4.9 T_COM_STRTOL – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ СИМВОЛЬНУЮ СТРОКУ В ЦЕЛОЕ

ЧИСЛО, С УЧЕТОМ СИСТЕМЫ СЧИСЛЕНИЯ

4.9.1 Описание работы

–  –  –

5.1 КОНФИГУРИРОВАНИЕ COM-ПОРТА КОНТРОЛЛЕРА НА РАБОТУ С БИБЛИОТЕКОЙ TIL

PRO COM

5.2 СОЗДАНИЕ АЛГОРИТМА РАБОТЫ С COM-ПОРТОМ

5.3 УСТАНОВКА СВЯЗИ С ТЕПЛОСЧЕТЧИКОМ ТЭМ-106

5.4 ЗАПРОС И ОБРАБОТКА НАСТРОЕЧНЫХ И МГНОВЕННЫХ ЗНАЧЕНИЙ

ТЕХНОЛОГИЧЕСКИХ ПАРАМЕТРОВ, ИЗМЕРЯЕМЫХ ТЕПЛОСЧЕТЧИКОМ

–  –  –

1 НАЗНАЧЕНИЕ Библиотека алгоритмов TIL PRO Com предназначена для работы в составе целевой задачи ISaGRAF, размещаемой в программируемых контроллерах ЗАО ПК «Промконтроллер». При создании пользовательских программ управления технологическими процессами алгоритмы библиотеки могут использоваться в виде стандартных функций (функциональных блоков) среды ISaGRAF, как дополнение к существующему набору алгоритмов.

Библиотека TIL PRO Com дает технологическому программисту удобные средства разработки приложений в тех проектах автоматизации, где требуется обработка и выдача информации по последовательным интерфейсам контроллеров. Например, это может потребоваться при подключении к контроллеру интеллектуальных устройств - датчиков, исполнительных механизмов и приборов учета (теплосчетчиков, электросчетчиков, расходомеров), имеющих коммуникационный интерфейс RS-232 или RS-485. Зная протокол обмена с устройством, и используя функции и функциональные блоки библиотеки TIL PRO Com, возможна реализация требуемых режимов обмена данными. При этом разработки специальных драйверов устройств на языках нижнего уровня (например, языке Си) не требуется.

Применение данной библиотеки позволяет расширить возможности целевой задачи по поддержке оборудования.

–  –  –

2 СОСТАВ В библиотеку TIL PRO Com включены алгоритмы, реализующие функцию управления и осуществления ввода-вывода данных, используя последовательные COM-порты.

Перечень алгоритмов, входящих в состав библиотеки, приведен в таблица 1.

Таблица 1 – Перечень алгоритмов и обозначения соответствующих им блоков в среде ISaGRAF Workbench

–  –  –

Преобразование целого числа в строку с использовани- t_com_sprintf ем различных форматов и систем счисления Преобразование строки в целое число с использовани- t_com_strtol ем различных систем счисления

–  –  –

3 УСЛОВИЯ ПРИМЕНЕНИЯ

3.1 УСТАНОВКА В случае оформления Пользователем заказа на покупку библиотеки TIL PRO Com алгоритмы библиотеки активируются в ядре целевой задачи ISaGRAF, которая находится в постоянной памяти контроллера и запускается при инициализации контроллера. Если при оформлении заказа на покупку контроллера библиотека не была указана в карте заказа, алгоритмы библиотеки активированы не будут.

Пользователь может самостоятельно активировать алгоритмы библиотеки TIL PRO Com при наличии у него уникального ключа активации (символьного кода), предоставляемого Производителем контроллера при дополнительном заказе соответствующей опции для каждого контроллера. Дополнительная информация по самостоятельной активации библиотеки алгоритмов TIL PRO Com указана в документации на соответствующий контроллер.

Для использования алгоритмов библиотеки TIL PRO Com при разработке прикладного проекта алгоритмы должны быть импортированы пользователем в среду разработки и отладки приложений ISaGRAF Workbench, запускаемой на инструментальном компьютере программиста автоматизации. В комплект поставки, помимо данного описания применения, входит лазерный диск (CD-ROM) с файлом импорта алгоритмов библиотеки.

Предполагается, что полное определение контроллера, поставляемое с контроллером, уже импортировано в проект. Импорт алгоритмов в среду ISaGRAF

Workbench может быть осуществлен следующими способами:

первый способ:

– открыть программой Блокнот (notepad.exe), или любым другим редактором текстовых файлов, файл импорта библиотеки «tilcom.txt», находящийся в директории «Import» на поставочном диске;

– заменить в шестой строке сверху, которая выглядит, как «[targetUpdate] MFC», название целевой задачи MFC на актуальное название использующейся целевой задачи. Сохранить измененный файл на жесткий диск;

– запустить на исполнение инструментальную среду ISaGRAF Workbench. Создать в ней новый проект (или открыть уже существующий);

– перейти в режим «Архитектура связи». В главном меню ISaGRAF Workbench выбрать «Файл»-«Импорт»-«Определение ПЛК». В открывшемся окне «Открыть»

выбрать ранее сохраненный файл импорта библиотеки и нажать кнопку «Открыть»;





– дождаться появления информационного окна с сообщением «The importation is finished», свидетельствующего об успешном завершении процесса импорта. Затем, кликнув правой клавишей мыши в поле существующего ресурса, выбрать в контекстном меню пункт «Свойства». В открывшемся окне «Ресурс: свойства» открыть вкладку «Целевая система/Код». В выпадающем списке «Целевая система» выбрать пункт с названием используемой целевой задачи и нажать кнопку «ОК»;

8 Библиотека алгоритмов для среды ISaGRAF TIL PRO Com v.2.0 ДАРЦ.70020-20 31 01-1 второй способ:

– запустить программу TDBuild.exe, расположенную в директории Bin каталога установки среды ISaGRAF Workbench;

– из пункта меню File/Open открыть файл tilcom.tdb, находящийся на поставочном диске в директории TDB;

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

– из пункта меню Build/Send to file запустить на выполнение функцию создания файла обновления определения контроллера. Следовать указаниям на экране монитора. По ходу выполнения указать имя актуальной целевой задачи;

– дождаться сообщения о создании файла обновления определения контроллера и выйти из программы TDBuild.exe. Провести все операции, описанные в первом способе, заменив поставочный файл импорта сгенерированным в программе TDBuild.exe.

После того, как все это будет проделано, в списке блоков инструментальной среды ISaGRAF появятся блоки из библиотеки TIL PRO Com.

3.2 ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ Восстановленные в ISaGRAF Workbench алгоритмы библиотеки TIL PRO Com представляют собой законченные функциональные блоки, имеющие возможность многократного вызова из программы пользователя, создаваемой при помощи редакторов языков FBD, LD, ST и IL среды разработки приложений ISaGRAF.

Функциональные блоки алгоритмов библиотеки обеспечивают вызов и возврат констант, внутренних и внешних переменных основных типов программных объектов базы данных ISaGRAF, представленных в таблица 2.

–  –  –

Наименования параметров функциональных блоков, созданных на основе указанных алгоритмов, достаточно лаконичны и отличны от идентификаторов зарезервированных ключевых слов ISaGRAF.

–  –  –

Алгоритмы библиотеки TIL PRO Com имеют некоторые особенности работы:

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

–  –  –

4 ОПИСАНИЕ АЛГОРИТМОВ

4.1 T_COM - ФУНКЦИОНАЛЬНЫЙ БЛОК АСИНХРОННОГО ВВОДА-ВЫВОДА

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

Обозначение функционального блока T_COM в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 1. Входные и выходные параметры алгоритма T_COM приведены в таблица 3.

–  –  –

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

Блок производит отсылку указанной строки в порт и производит прием ответа. В зависимости от входных параметров, может производиться только прием данных

–  –  –

Вследствие асинхронности операции передачи/приема данных, ввод-вывод может продолжаться в течение нескольких циклов целевой задачи. Для того чтобы контролировать актуальность данных, необходимо анализировать выходной параметр RES. Если он равен 0, то данные в поле READ являются наиболее актуальными. Если RES не равен 0, то в поле READ находятся последние правильно считанные данные.

Возможные коды ошибок:

–  –  –

200 - таймаут при передаче или приеме 201 - неправильный порт 202 - неправильная скорость обмена 203 - неправильное количество бит в байте 204 - неправильное количество стоп бит 205 - неправильный режим работы RTS 206 - неправильный режим бита четности 207 - неправильное количество считываемых байтов (указано число меньше 0 или больше 255) Другие коды ошибок соответствуют ошибкам операционной системы (ошибки ввода-вывода).

–  –  –

4.2 T_COM2 - ФУНКЦИОНАЛЬНЫЙ БЛОК АСИНХРОННОГО ВВОДА-ВЫВОДА

С РАСШИРЕННЫМИ ВОЗМОЖНОСТЯМИ

Единственное отличие функционального блока T_COM2 от блока T_COM - добавление двух новых параметров, которые позволяют настроить расширенные режимы приема и передачи.

Блок T_COM2 должен применяться для реализации протоколов, основанных на покадровой передаче данных. В таких протоколах основным понятием является кадр (или фрейм), то есть последовательность передаваемых байтов, начало и конец которой выделяются некоторым периодом «тишины» на линии. Два добавочных по сравнению с T_COM параметра позволяют задавать периоды «тишины» при передаче и приеме.

Обозначение функционального блока T_COM2 в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 2. Входные и выходные параметры алгоритма T_COM2 приведены в таблица 4.

–  –  –

Отличие проявляется, когда два дополнительных параметры (GAP и SPC) не равны 0. Параметр GAP используется при приеме и позволяет выделить начало и завершение кадра. Если он не равен 0, то прием не начинается, пока на линии не будет «тишины» в течение GAP битовых времен (битовое время = время на передачу одного бита). Также, прием будет завершен в случае, если зазор между двумя последовательно принимаемыми символами будет больше чем GAP.

Параметр SPC аналогичен параметру GAP, но используется при передаче данных. Если он не равен 0, то передача данных не начнется, пока на линии не будет «тишины» в SPC битовых времен. Также, после окончания передачи выдерживается «тишина» в SPC битовых времен. Таким образом, правильная настройка параметра SPC позволяет другим устройствам на линии определять начало и конец кадра.

–  –  –

4.3 T_COM_BYTES2INT – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ДВОИЧНЫЕ ДАННЫЕ

В ЦЕЛОЕ ЧИСЛО

Функция t_com_bytes2int предназначена для преобразования двоичных данных, полученных через COM-порт, в целые числа.

Обозначение функции t_com_bytes2int в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 3. Входные и выходные параметры алгоритма T_COM2 приведены в таблица 5.

–  –  –

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

Если длина входной строки равна 1, то результат работы равен результату работы встроенной в ISaGRAF функции ASCII. При этом результат будет находиться в диапазоне от -128 до 127.

–  –  –

Если длина входной строки равна 4, то преобразование также будет производиться в соответствии с указанным порядком байтов. Результат будет числом, находящимся в диапазоне типа DINT, от -2147483648 до 2147483647.

Преобразование строки в целые числа без знака функцией не поддерживается.

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

Если результат функции t_com_bytes2int больше 0, то беззнаковое значение равно результату вызова функции.

Если результат функции t_com_bytes2int меньше 0, то беззнаковое значение равно (M + результат вызова функции), где M равно 2 в степени (длина исходной строки * 8). Для строки длиной 1 M равно 256, для строки длиной 2 – 65536.

Если длина входной строки не равна 1, 2 или 4, то функция возвращает 0.

–  –  –

4.4 T_COM_BYTES2REAL – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ДВОИЧНЫЕ ДАННЫЕ В ЧИСЛО С ПЛАВАЮЩЕЙ ТОЧКОЙ (ФОРМАТ IEEE 754)

Функция t_com_bytes2real предназначена для преобразования двоичных данных в число с плавающей точкой длиной 4 или 8 байтов в формате IEEE 754 (в языке «Си» это типы float и double, в ISaGRAF это типы REAL и LREAL).

Обозначение функции t_com_bytes2real в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 4. Входные и выходные параметры алгоритма t_com_bytes2real приведены в таблица 6.

–  –  –

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

Функция требует, чтобы входные данные были в формате IEEE 754. Если длина строки равна 4 байта, то строка будет преобразована (в соответствии с указанным порядком байтов) в число с плавающей точкой типа REAL (IEEE 754 single, 4 байта) без потери точности.

–  –  –

Если длина входной строки не равна 4 или 8 байтов, или строка не является представлением числа с плавающей точкой в формате IEEE 754 с учетом порядка байтов, то функция возвратит число 0.0.

Точность формата REAL позволяет хранить приблизительно 10 знаков после запятой. Точность формата LREAL приблизительно 20 знаков после запятой. При внутреннем преобразовании из формата LREAL в формат REAL (если длина входной строки равна 8) производится отбрасывание наименее значащих разрядов. Диапазон типа LREAL равен ±1.79*10308, а диапазон типа REAL равен ±3.40*1038, поэтому значения типа LREAL, выходящие за диапазон типа REAL, будут представлены как минимальное или максимальное число из диапазона REAL, в зависимости от знака исходного числа. Если же число в формате LREAL слишком мало по модулю, чтобы быть представленным в формате REAL, то функция вернет 0.0.

–  –  –

4.5 T_COM_INT2BYTES – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ЦЕЛОЕ ЧИСЛО В

ДВОИЧНЫЕ ДАННЫЕ

Функция t_com_int2bytes предназначена для преобразования целых чисел в двоичное представление, которое затем можно выдать в COM-порт.

Обозначение функции t_com_int2bytes в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 5. Входные и выходные параметры алгоритма t_com_int2bytes приведены в таблица 7.

–  –  –

4.5.1 Описание работы Функция t_com_int2bytes преобразует целое число в его двоичное представление с заданным порядком байтов.

В зависимости от параметра SIZE длина полученной строки может составлять 1, 2 или 4 байта.

Если параметр SIZE равен 1, то в двоичное представление преобразуется только младший байт входного числа. Таким образом, вызов t_com_int2bytes с SIZE=1 аналогичен вызову CHAR(MOD(INP, 256)).

–  –  –

Если параметр SIZE равен 4, то преобразуются все байты входного числа, при этом если параметр BE равен TRUE, то первым будет следовать самый старший байт. А если BE равен FALSE, то первым будет следовать самый младший байт.

Если в качестве SIZE передано число, отличное от 1, 2 или 4, то преобразование производиться не будет, и функция вернет пустую строку.

–  –  –

4.6 T_COM_REAL2BYTES – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ ЧИСЛО С ПЛАВАЮЩЕЙ ТОЧКОЙ В ДВОИЧНЫЕ ДАННЫЕ (ФОРМАТ IEEE 754)

Функция t_com_real2bytes предназначена для преобразования чисел c плавающей точкой в двоичное представление в формате IEEE 754, которое затем можно выдать в COM-порт.

Обозначение функции t_com_real2bytes в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 6. Входные и выходные параметры алгоритма t_com_real2bytes приведены в таблица 8.

–  –  –

4.6.1 Описание работы Функция t_com_real2bytes преобразует число с плавающей точкой в его двоичное представление с заданным порядком байтов.

Поддерживается только преобразование числа типа REAL (4 байта). В зависимости от параметра BE, двоичное представление будет начинаться либо старшим байтом (BE=TRUE), либо младшим (BE=FALSE).

Результирующая строка всегда иметь длину в 4 байта.

–  –  –

Функция t_com_chksum предназначена для подсчета контрольной суммы переданной ей строки длиной до 255 символов. Подсчет может производиться по различным алгоритмам.

Обозначение функции t_com_chksum в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 7. Входные и выходные параметры алгоритма t_com_chksum приведены в таблица 9.

–  –  –

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

Если TYP=1 или TYP=2, то результат работы функции будет находиться в диапазоне от 0 до 255.

Если TYP=3, то результат будет находиться в диапазоне от 0 до 65535.

–  –  –

Обозначение функции t_com_sprintf в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 8. Входные и выходные параметры алгоритма t_com_sprintf приведены в таблица 10.

–  –  –

4.8.1 Описание работы Функция берет строку FMT и заменяет вхождение специальной группы символов, начинающейся с символа процента (%), на численное представления числа ARG.

Например, если FMT = "ARG=%d", а в качестве ARG передано число 5, то результирующая строка будет "ARG=5". Здесь '%d' обозначает целое число со знаком, записанное в десятичной системе счисления. Целое число без знака в десятичной системе обозначается как '%u'. Кроме десятичной поддерживаются также шестнадцатеричная (%x и %X) и восьмеричная (%o).

После символа % и до идентификатора преобразования (d, x, X, o, u) можно указывать необязательные параметры - ширину поля, выравнивание и заполнение нулями.

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

–  –  –

Для преобразования в восьмеричную систему используется спецификация %o.

Для преобразования в шестнадцатеричную систему предусмотрено два варианта

- %X и %x.

Отличаются они регистром букв A-F, которые присутствуют в шестнадцатеричном представлении.

Например, число 255 в формате "%x" будет выглядеть как "ff", а в формате "%X" как "FF".

Подробнее о различных форматах, которые могут использоваться в этой функции, можно прочитать в любой документации по функции printf, входящей в стандарт языка "С" (C89 или C99).

4.8.2 Примеры использования t_com_sprintf(“%d”, 12) = “12” (* обычный формат *) t_com_sprintf(“%5d”, 12) = “ 12” (* ширина поля в 5 символов, заполнение пробелами слева *) t_com_sprintf(“%-5d”, 12) = “12 “ (* ширина поля в 5 символов, заполнение пробелами справа *) t_com_sprintf(“%05d”, 12) = “00012” (* ширина поля в 5 символов, заполнение нулями слева *) t_com_sprintf(“%o”, 12) = “14” (* вывод в восьмеричном формате *) t_com_sprintf(“%x”, 12) = “c” (* вывод в шестнадцатеричном формате в нижнем регистре *) t_com_sprintf(“%X”, 12) = “C” (* вывод в шестнадцатеричном формате в верхнем регистре *) t_com_sprintf(“%04X”, 12) = “000C” (* поле шириной в 4 символа, заполнение нулями слева, вывод в шестнадцатеричном формате в верхнем регистре *)

–  –  –

4.9 T_COM_STRTOL – ФУНКЦИЯ, ПРЕОБРАЗУЮЩАЯ СИМВОЛЬНУЮ СТРОКУ

В ЦЕЛОЕ ЧИСЛО, С УЧЕТОМ СИСТЕМЫ СЧИСЛЕНИЯ

Функция t_com_strtol предназначена для перевода строкового представления числа в различных системах счисления в целое число.

Обозначение функции t_com_strtol в редакторе FBD среды разработки приложений ISaGRAF приведено на рисунок 9. Входные и выходные параметры алгоритма t_com_strtol приведены в таблица 11.

–  –  –

4.9.1 Описание работы Функция преобразует строку в число в соответствии с заданной системой счисления.

Например, t_com_strtol(“19”, 10) = 19 t_com_strtol(“19”, 16) = 25 Преобразование заканчивается, если встречается цифра, которая не может присутствовать в заданной системе счисления. Например, t_com_strtol(“208”, 10) = 208 (все цифры могут быть в записи числа с основанием 10),

–  –  –

t_com_strtol(“208”, 8) = 16, потому что последняя цифра «8» не может присутствовать в записи восьмеричного числа, из-за чего преобразовываются только первые два символа «20».

–  –  –

Если параметр BASE выходит за диапазон 2..36, или первый же символ исходной строки не является цифрой в заданной системе счисления, то функция возвращает 0.

<

–  –  –

5 ПРИМЕР РАЗРАБОТКИ ДРАЙВЕРА ДЛЯ

ТЕПЛОСЧЕТЧИКА ТЭМ-106 С ИСПОЛЬЗОВАНИЕМ

БИБЛИОТЕКИ TIL PRO COM

Теплосчетчик ТЭМ-106 является многофункциональным микропроцессорным устройством, ведущим учет потребления тепловой энергии и теплоносителя в одной или нескольких системах.

Теплосчетчик имеет стандартные последовательные интерфейсы RS-232 и RS-485, через которые возможна организация обмена данными с контроллером или персональным компьютером.

5.1 КОНФИГУРИРОВАНИЕ COM-ПОРТА КОНТРОЛЛЕРА НА РАБОТУ

С БИБЛИОТЕКОЙ TIL PRO COM

Для организации обмена как с теплосчетчиком ТЭМ-106, так и с любым другим интеллектуальным устройством по последовательному порту с использованием библиотеки TIL PRO Com, необходимо предварительно сконфигурировать соответствующий COM-порт контроллера на работу с библиотекой. Более подробная информация о конфигурировании контроллера представлена в руководстве по эксплуатации на соответствующий тип контроллера.

5.2 СОЗДАНИЕ АЛГОРИТМА РАБОТЫ С COM-ПОРТОМ

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

Для решения этих задач достаточно использовать функциональный блок T_COM библиотеки TIL PRO Com.

Ниже представлен пример применения функционального блока T_COM для создания алгоритма управления последовательным портом контроллера, см.

рисунок 10.

–  –  –

Рисунок 10 – Пример использования функционального блока T_COM

5.3 УСТАНОВКА СВЯЗИ С ТЕПЛОСЧЕТЧИКОМ ТЭМ-106 В протоколе теплосчетчика ТЭМ-106 поддержана команда установления связи (см. таблица 12), позволяющая идентифицировать тип подключенного устройства. Создадим простую программу, результатом выполнения которой будет идентификация типа подключенного устройства.

Таблица 12 – Посылка ведущего устройства (контроллера)

–  –  –

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

–  –  –

Поскольку блок T_COM передает и принимает данные в символьном формате, то непосредственно формированию запроса необходимо произвести перевод данных, представленных в виде значений байтов в символы с соответствующим ASCII-кодом.

–  –  –

Для формирования запроса используется функция t_com_strtol, преобразующая строковое значение байтов запроса (шестнадцатеричная система счисления) в число в десятичной системе счисления. Затем полученное значение преобразуется в ASCII-символ, с использованием стандартной функции ISaGRAF – CHAR.

Значение строки записи в порт WriteString складывается из преобразованных значений байтов запросов (байты с 1 по 6, см. таблица 12) – сумматор sum1 и байта рассчитанной контрольной суммы (байт 7, см таблица 12) – сумматор sum2.

В протоколе теплосчетчика ТЭМ-106 контрольная сумма рассчитывается по методу дополнения до нуля, что соответствует второму способу вычисления контрольной суммы, из перечня алгоритмов функции t_com_chksum.

На рисунок 12 представлен пример алгоритма обработки ответа теплосчетчика ТЭМ-106 на запрос идентификации устройства. Согласно протоколу теплосчетчика, в ответе на запрос идентификации значащими являются семь байтов. Значащие байты ответа начинаются с седьмого байта, см.таблица 13.

–  –  –

Стандартная функция ISaGRAF Workbench, функция MID в этом алгоритме используется для вычленения значащих байтов из ответа теплосчетчика.

После реализации описанных выше алгоритмов, и после успешной компиляции проекта, необходимо произвести загрузку проекта в контроллер, и в режиме отладки проверить правильность работы алгоритма и настроек обмена по COMпорту. В случае правильного задания значений всех настроечных параметров, результатом выполнения алгоритма будет ответ теплосчетчика указывающий на тип подключенного устройства – “TEM-106”, см. рисунок 13.

–  –  –

Рисунок 13 – Результат выполнения запроса идентификации устройства Рассмотрим пример реализации этого же алгоритма, но с использованием языка ST, введя контроль достоверности получаемых данных по совпадению значений рассчитанной и принятой контрольных сумм. Также в этом алгоритме реализуем функцию однократного выполнения запроса идентификации устройства.

–  –  –

Описание применения 33 ДАРЦ.70020-20 31 01-1

Исходный текст алгоритма запроса идентификации устройства:

(*===================== Устанавливаем связь с теплосчетчиком ======================*) (*===============================================================================*) IF RUN and not(Connection_Ok) THEN

–  –  –

5.4 ЗАПРОС И ОБРАБОТКА НАСТРОЕЧНЫХ И МГНОВЕННЫХ ЗНАЧЕНИЙ

ТЕХНОЛОГИЧЕСКИХ ПАРАМЕТРОВ, ИЗМЕРЯЕМЫХ ТЕПЛОСЧЕТЧИКОМ

Рассмотрим пример создания алгоритма опроса текущего времени теплосчетчика и серийного номера прибора с целью демонстрации принципа работы с целочисленными значениями с использованием алгоритмов библиотеки TIL PRO Com.

Дальнейшие примеры формирования запросов и обработки полученных данных будут приведены на языке ST.

–  –  –

В алгоритме решены задача последовательного формирования последующего запроса, только в случае окончания приема ответа на предыдущий запрос, и только в том случае, если принятые данные достоверны (совпали контрольные суммы).

–  –  –

Настроечные параметры теплосчетчика запрашиваются только в том случае, если взведен флаг опроса настроечных параметров (Settings_FLAG = TRUE).

Запрос различных параметров производится последовательно, причем новый запрос и обработка ответа на этот запрос происходит только в том случае, когда блок T_COM закончил прием данных (RES=0) и только в том случае, если на данный момент времени активна фаза обработки конкретного параметра. Последовательный опрос осуществляется с использованием переменной Settings_Phase, значение которой определяет ту или иную фазу опроса параметров теплосчетчика. После успешного окончания приема ответа на очередной запрос и после обработки принятых данных значение переменной Settings_Phase изменяется и алгоритм переходит к формированию и обработке последующего запроса и ответа на него.

Согласно протоколу теплосчетчика ТЭМ-106 текущее время представлено в формате BCD – двоично-десятичном коде. Для преобразования полученных данных в формат астрономического времени используется функция t_com_sprintf (см. п.

4.8),формат представления выходных данных которой – FMT равен ‘%02x’, где:

- 0 – дополнение значения нулем, в случае если размерность возвращаемой строки, меньше указанной;

- 2 – размерность поля возвращаемой строки;

- x – перевод входного параметра в число шестнадцатеричного формата.

Заводской номер теплосчетчика представлен целым четырехбайтным числом.

Для преобразования полученных байтов данных в десятичный формат используется функция t_com_bytes2int (см. п. 4.3). Все числа, занимающие более одного байта, хранятся в памяти теплосчетчика в формате «big-endian», следовательно, необходимо во входных параметрах функции указать данный порядок следования байтов.

–  –  –

(*=============================================================================*) (*=========================== Разбираем ответы =================================*) (*=============================================================================*) IF Connection_Ok and RES=0 and Settings_FLAG THEN

–  –  –

(*=========================================================================*) (*========== Считываем текущее время и дату с теплосчетчика ==================*) (*=========================================================================*) 0,1:

–  –  –

(*=========================================================================*) (*============= Считываем заводской номер прибора ==========================*) (*=========================================================================*) 2:

IF RES=0 THEN

–  –  –

(*========================== Формирование запросов ==============================*) (*===============================================================================*)

–  –  –

Алгоритм запроса и обработки мгновенных значений технологических параметров измеряемых теплосчетчиком по своей структуре не отличается от алгоритма опроса настроечных параметров, приведенного выше. Для преобразования мгновенных значений используется функция библиотеки TIL PRO Com t_com_bytes2real (см. п. 4.4).

(*===============================================================================*) (*============================= Разбираем ответы =================================*) (*===============================================================================*) IF Connection_Ok and RES=0 and Parametres_FLAG THEN CASE Parametres_Phase OF (*================================================================================*) (*================== Считываем температуру с теплосчетчика =========================*) (*================================================================================*) 1:

IF RES=0 THEN

–  –  –

(*===============================================================================*) (*====================== Считываем давление с теплосчетчика =======================*) (*===============================================================================*) 2:

IF RES=0 THEN

–  –  –

(*================================================================================*) (*========================== Формирование запросов ===============================*) (*================================================================================*)

Похожие работы:

«Materials Physics and Mechanics 8 (2009) 108-148 Received: November 20, 2009 ДЕФЕКТНЫЕ СТРУКТУРЫ НА ВНУТРЕННИХ ГРАНИЦАХ РАЗДЕЛА В НАНОКРИСТАЛЛИЧЕСКИХ И ПОЛИКРИСТАЛЛИЧЕСКИХ ПЛЕНКАХ М.Ю. Гуткин,* И.А. Овидько Институт проблем машиноведения Российской академии наук, Большой пр., В.О., 61, Санкт-Петербург, 199178, Россия *E-mail: gutkin@def.ipme.ru Аннотаци...»

«явлений внешнего и внутреннего мира (Дж. Брунер). Восприятие ситуативно-значимых элементов реальности вне целостного контекста, который сам по себе характеризуется чрезвычайно узкими границами как в пространстве, так и во времени. Короткий список номенклатуры ценностей морального ряд...»

«Руководство пользователя системы ДБО " Мобильный банкинг" для устройств с поддержкой Windows Mobile ОАО "МТС-Банк" Руководство пользователя системы ДБО "Мобильный банкинг" для устройств с поддержкой Windows Mobile Содержание 1. Общая информация о системе ДБО "Мобильный банкинг" 3 2. УСТАНОВКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ 4 3. НАЧАЛО РАБОТЫ 5...»

«Государственное бюджетное общеобразовательное учреждение средняя общеобразовательная школа № 109 Приморского района Санкт-Петербурга ПУБЛИЧНЫЙ ДОКЛАД ДИРЕКТОРА ГБОУ ШКОЛА № 109 ИСАЕВОЙ НИНЫ ИВАНОВНЫ ЗА 2015-2016 УЧЕ...»

«48 8100 ОГРАНИЧИТЕЛЬ НАГРУЗКИ БАШЕННОГО КРАНА ОНК–160Б Паспорт ЛГФИ.408844.025 ПС Астана +7(7172)727-132 Волгоград (844)278-03-48 Воронеж (473)204-51-73 Екатеринбург (343)384-55-89 Казань (843)206-01-48 Краснодар (861)203-40-90 Кра...»

«Устранение проблем, связанных с ARP или таблицами CAM в коммутаторах Catalyst 6500/6000 Содержание Введение Предварительные условия Требования Используемые компоненты Условные обозначения Общие сведения Устранение проблем, связанных с ARP и CAM Потеря д...»

«Барамзина Светлана Анатольевна ВОСПИТАНИЕ СТУДЕНТОВ НА ОСНОВЕ БАЗОВЫХ НАЦИОНАЛЬНЫХ ЦЕННОСТЕЙ, НАЦИОНАЛЬНОГО ВОСПИТАТЕЛЬНОГО ИДЕАЛА КАК МЕТОДОЛОГИЧЕСКОЙ (СОДЕРЖАТЕЛЬНОЙ) ОСНОВЫ СОВРЕМЕННОЙ ОБРАЗОВАТЕЛЬНОЙ КОНЦЕПЦИИ ВУЗА В статье расс...»










 
2017 www.lib.knigi-x.ru - «Бесплатная электронная библиотека - электронные материалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.