Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все по ФБ (VS6).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
210.43 Кб
Скачать

Рекомендации к разработке Функциональных блоков в среде

Microsoft Visual Studio 6.

Содержание:

Введение 1

Создание функциональных блоков 2

Создание новой библиотеки функциональных блоков 2

Последовательность разработки функциональных блоков 3

Использование групп, набор входов которых определяется пользователем. 8

Определение группы FREE_PINGROUP_DEF в ФБ. 8

Инструкция по внедрению шаблона CFBPropPageImpl в страничку свойств функционального блока. 8

Атрибуты входов, находящихся в группе FREE_PINGROUP_DEF. 9

Проверка правильности в страничках свойств. 9

Использование таймера в функциональных блоках. 10

Получение событий от таймера 10

Получение текущего времени 11

Признаки качества в Функциональных блоках 11

Коды признака качества значения 11

Установка признаков качества выходов ФБ 12

Получение признака качества 13

Передача признаков качества входа выходу 14

Сообщения в ФБ. 14

Вывод информация об ошибках в ФБ в протокол работы. 15

Восстановление состояния ФБ при горячем рестарте. 15

Страницы свойств ФБ 16

Справка к ФБ 16

Справка к страницам свойств ФБ 17

Разработка визуальных ФБ на основе существующей библиотеки ФБ 17

1. Создание общего h-файла (подкл в файл описания ФБ и файл описания контрола) 17

2. Изменения в создании ФБ 18

3. Создание ActiveX контрола 18

4. Чтобы создать свойства нужно: 19

Введение

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

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

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

Следование данным рекомендациям позволит легко и быстро создавать функциональные блоки, для чего вам понадобятся всего лишь начальные знания по программированию на языке С++, наличие пакета Visual С++ 6.0 или более поздняя версия. Предварительно необходимо ознакомиться с MasterSCADA, прежде всего с описанием подсистемы функциональных блоков. Если вы являетесь опытным программистом, то возможно, некоторая информация окажется для вас излишней. С другой стороны, подробное описание каждого шага при создании дополнительной библиотеки дает возможность создавать объекты человеку, не знакомому с используемыми программными технологиями, что в значительной мере минимизирует требования, предъявляемые к вам как к разработчику. В случае, если, наоборот, вам не хватает какой-либо информации, то надеемся, что заданные вами вопросы помогут нам усовершенствовать данный документ.

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

  1. Количество внутренних связей тоже ограничено, поэтому сократятся возможности обработки переменных.

  2. Созданный функциональный блок-драйвер не будет соответствовать стандарту OPC, поэтому вы не сможете использовать его совместно с другими SCADA-пакетами или продать нам  и окажетесь намертво к нам привязанными .

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

Создание функциональных блоков Создание новой библиотеки функциональных блоков

Новую библиотеку следует создавать в каталоге «Work», который содержит необходимые шаблоны и поставляется с программой. Иначе – ничего не получится.

  1. С помощью ATLComWizard’а создайте DLL (устанавливается флажок поддержки MFC, либо необходимо подключить класс CString из WTL без namespace ) В дальнейшем будем предполагать, что проект имеет имя «NewLib»

  2. В файл stdafx.h добавляются следующие строчки:

#include <list>

#include <string>

#include <memory>

#include <math.h>

#include "catidconst.h"

#include "macros.h"

  1. В idl-файл добавляется следующая строка:

import "VVComObj.idl";

  1. В свойствах проекта на странице MIDL в опцию "Additional include directories" добавьте ../Common (ссылка на директорию с библиотекой VVComObj)

  2. В свойствах проекта на странице C/C++/Preprocessor в опцию "Additional include directories" добавьте ./,../Common,../VVComObj

  3. К проекту добавьте файл FB_Files.cpp из каталога VVComObj. (через Add to project -> files).