Языки программирования scada систем

13. Встроенные языки программирования.

Встроенные технологические языки программирования – это инструмент, который предназначен для решения новых задач на базе уже существующей системы контроля и управления технологическими процессами. Такими задачами являются:

— программно-логическое управление технологическим оборудованием;

— алгоритмы оптимального (рационального) управления;

— расчет значений переменных по формулам;

— визуализация значений трендов целевой обработки (т.е. построение каких-либо расчетных трендов на базе полученных в результате измерений); в качестве исходных трендов могут быть использованы тренды реального времени и/или исторические тренды;

— архивирование дат и времени определенных событий;

— создание сценариев динамики экрана;

— интегрирование мгновенных значений расхода в задачах дозирования;

— создание альтернативных фильтров входных переменных.

В каждой SCADA-системе имеется встроенный набор стандартных алгоритмов, однако для решения уникальных задач приходится прибегать к созданию собственных алгоритмов на встроенных языках. Большинство SCADA-систем имеют встроенные языки высокого уровня, подобные языку Visual Basic. Эти языки позволяют задать адекватную реакцию приложения на события, связанные с изменением значений переменных, с выполнением некоторого логического условия, с нажатием комбинации клавиш. Также возможно создание программных фрагментов, циклически выполняемых с заданной частотой.

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

1) ориентация языка программирования на потребности и задачи технолога;

2) ориентация языка программирования на потребности и задачи системного интегратора.

Ориентация встроенного языка на потребности и задачи технолога.

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

Ориентация встроенного языка на потребности и задачи системного интегратора.

В этом случае в качестве языков чаще всего используются Visual Basic-подобные языки. В некоторых системах также используются языки на основе С++. Такой подход является наиболее универсальным, однако разработка программ для SCADA-систем на таких языках подчас весьма трудоемка.

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

Разработка новых функций при втором подходе выполняется обычно разработчиками приложений (как и в традиционных языках программирования).

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

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

В разрабатываемом приложении создаются программные фрагменты, состоящие из операторов и функций языка, которые выполняют некоторую последовательность действий. Эти программные фрагменты связываются с разнообразными событиями в приложении, такими как нажатие кнопки, открытие окна, выполнение некоторого логического условия. Каждое из событий ассоциируется с графическим объектом, окном, таймером, открытием/ закрытием приложения. Когда приложение содержит сотни окон, тысячи различных графических объектов, а с каждым из них связано несколько событий, в приложении может «работать» огромное количество отдельных программных фрагментов. Велика вероятность их одновременной активизации.

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

В связи с этим возникает несколько вопросов. С каким приоритетом исполняется каждый из фрагментов, допускается ли рекурсия при обработке событий и если да, то каков уровень вложенности? В SCADA-системах уровень вложенности пока не стандартизован, но оговаривается особо в рамках каждой из них.

Разработанные программные фрагменты (часто их называют «скрипты») могут выполняться в режиме интерпретации, могут быть скомпилированы в исполняемый код, и выполняться, например, как вызовы функций из библиотеки DLL.

Необходимо отметить, что в том и другом случае скрипты могут выполняться в том же потоке, что и основная часть программы, либо могут выполняться в отдельном потоке. Это зависит, в частности, от типа используемой SCADA – системы.

В SCADA различают следующие типы скриптов:

— глобальные (выполняются при запуске АРМ, либо вручную, при помощи менеджера скриптов);

— периодические (выполняются периодически, через заданный интервал времени);

— «условные» (выполняются при наступлении определенного условия, т.е. когда некоторое логическое выражение становится истинным);

— по алармам (выполняются при возникновении аларма, после подтверждения аларма, после неподтверждения аларма, и т.д.).

Источник

Вопрос 31. Языки программирования в SCADA-системах. Основные типы языков программирования.

Встроенные технологические языки программирования – это инструмент, который предназначен для решения новых задач на базе уже существующей системы контроля и управления технологическими процессами. Такими задачами являются:

— программно-логическое управление технологическим оборудованием;

— алгоритмы оптимального (рационального) управления;

— расчет значений переменных по формулам;

— визуализация значений трендов целевой обработки (т.е. построение каких-либо расчетных трендов на базе полученных в результате измерений); в качестве исходных трендов могут быть использованы тренды реального времени и/или исторические тренды;

— архивирование дат и времени определенных событий;

— создание сценариев динамики экрана;

— интегрирование мгновенных значений расхода в задачах дозирования;

— создание альтернативных фильтров входных переменных.

В каждой SCADA-системе имеется встроенный набор стандартных алгоритмов, однако для решения уникальных задач приходится прибегать к созданию собственных алгоритмов на встроенных языках. Большинство SCADA-систем имеют встроенные языки высокого уровня, подобные языку VisualBasic. Эти языки позволяют задать адекватную реакцию приложения на события, связанные с изменением значений переменных, с выполнением некоторого логического условия, с нажатием комбинации клавиш. Также возможно создание программных фрагментов, циклически выполняемых с заданной частотой.

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

1) ориентация языка программирования на потребности и задачи технолога;

2) ориентация языка программирования на потребности и задачи системного интегратора.

Ориентация встроенного языка на потребности и задачи технолога.

Вопрос 32. Базы данных в SCADA. Основные понятия БД. Краткая история развития БД. Особенности промышленных баз данных.

В настоящее время ни одна АСУТП, выполняющая функции веденияархива параметров ТП, не может обойтись без базы данных.

В самом общем смысле база данных (БД) — это система храненияинформации, обращение к которой осуществляется через средствоуправления базой данных (СУБД). На практике БД — это данные,рассортированные по уникальным идентификаторам и организованные ввиде таблиц. Основное назначение БД — предоставить пользователюнужную информацию в нужном месте и в нужное время. И надо сказать,что по мере своего развития БД справляются с этой задачей все лучше илучше. Тем не менее, первые БД не вполне соответствовали ожиданиямпользователей. Организации и предприятия должны были бороться согромными объемами дублированной и иногда противоречивойинформации, предоставляемой, к тому же, различными и, зачастую,несовместимыми друг с другом способами.

Можно сказать, что путь развития БД — это путь все большего ибольшего отстранения программного обеспечения от физических структурданных. До появления БД информация хранилась в отдельных файлах.Самые первые системы управления файлами позволяли программистамсоздавать, записывать, обновлять и читать эти файлы. Файловая системаимеет органический недостаток: программы должны точно «знать», гдерасположены данные. Как следствие — для определения адресов в развитыхсистемах хранения данных необходимо применение довольно сложных,трудно оптимизируемых и модифицируемых алгоритмов.

Вопрос 33. Microsoft SQL-сервер. Основные характеристики.

Microsoft SQL Server– законченное предложение в области баз данных и анализа данных для быстрого создания масштабируемыхрешений электронной коммерции, бизнес-приложений и хранилищданных. Таким образом, Microsoft SQL Server – это многофункциональнаяразвитая СУБД. Microsoft SQL Server обеспечивает связь междуклиентским приложением и базой данных при помощи различныхпротоколов связи:

1) NamedPipes (именованные каналы) – особый протокол передачиданных в Windows NT/2000;

3) Multiprotocol – сетевой протокол, основанный на DCOM;

4) SharedMemory – локальный (несетевой) протокол, основанныйна DDE.

Microsoft SQL Server может выполняться на любых аппаратныхплатформах, поддерживающих Windows NT/2000.

Как показано на рисунке 20, Microsoft SQL Server обрабатывает SQL-запросы, поступающие от одного либо нескольких клиентскихприложений, обращается к базам данных, передает полученные данные вклиентское приложение, т.о., Microsoft SQL Server представляет собой«средний уровень» между клиентским приложением и собственно базойданных (таблицей).

Перечислим основные возможности, предоставляемые MS SQLServer:

1. стандартный способ обращения – SQL – запрос;

2. независимость клиентского приложения от типа базы данных;

3. возможность поддержки распределенных баз данных;

4. возможность получения данных на одной ЭВМ, по локальнойсети и по Интернет;

5. автоматическое выполнение функций резервирования, защитыданных.

В основу Microsoft SQL Server положена распределеннаямногокомпонентная модель. При этом для работы с каждым клиентомиспользуется свой отдельный поток. Всего одновременно может бытьподключено 32767 клиентов.

В состав пакета Microsoft SQL Server входят более 20 утилит,выполняющих следующие функции:

— создание и администрирование БД;

— резервирование и поддержка целостности БД;

— средства построения запросов SQL;

— средства обеспечения безопасности;

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

Дата добавления: 2018-08-06 ; просмотров: 1517 ; Мы поможем в написании вашей работы!

© 2014-2023 — Студопедия.Нет — Информационный студенческий ресурс. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав (0.019)

Источник

Читайте также:  Интеграл бро 4 gsm программирование
Оцените статью