 Использование редактора словаря

Словарь ISaGRAF - это средство для редактирования внутренних переменных, переменных ввода/вывода, функциональных блоков и макросов приложения. Словарь группирует все объявления переменных и функциональных блоков приложения и макросов в текстовой форме.

Основы

Главное окно словаря

Управление переменными

Описание объектов

Быстрое объявление

Карта адресов Modbus SCADA

Обмен информацией с другим приложением

Связь с другими средствами ISaGRAF

Установка индивидуальных защит


Основы

Переменные, функциональные блоки и макросы должны быть объявлены в словаре перед использованием. Переменные и макросы могут использоваться в любом автоматическом языке : SFC, FBD, LD, ST, и IL. Функциональные блоки, используемые в FBD, объявлять не обязательно, так как редакторы FBD и Quick LD автоматически объявляют используемые блоки.

Переменные

Предопределенные слова

Экземпляры функциональных блоков

Сетевые адреса


Переменные

Переменные сортируются в соответствии со своей областью действия и типом. Только переменные с одинаковыми областями действия и типами могут быть введены в одну решётку ввода. Вот основные типы области видимости переменных :

 ГЛОБАЛЬНАЯ	может быть использована любой программой текущего проекта

 ЛОКАЛЬНАЯ	может быть использована только одной программой

Ниже приведены основные типы переменных :

 БУЛЕВСКАЯ	true/false двоичные величины

 АНАЛОГ	действительные или целые величины

 ТАЙМЕР	временные величины

 СООБЩЕНИЕ	символьные строки

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

ВНУТРЕННЯЯ	переменная в памяти (внутренняя)

ВХОД	переменная, связанная с устройством ввода

ВЫХОД	переменная, связанная с устройством вывода

КОНСТАНТА	внутренняя переменная только для чтения (с начальным значением)

Замечание: Таймеры всегда являются внутренними переменными. Переменные ввода и вывода всегда имеют глобальную область видимости.


Макросы

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

 ОБЩАЯ	может быть использована любой программой любого проекта

 ГЛОБАЛЬНАЯ	может быть использована любой программой текущего проекта

 ЛОКАЛЬНАЯ	может быть использована только одной программой

Макросы идентифицируются именем, блоком описания на ST и комментарием.


Экземпляры функциональных блоков

Функциональные блоки, используемые в языках ST и IL, должны быть объявлены в словаре. Так как функциональный блок содержит внутренние спрятанные данные, то каждая копия блока должна быть идентифицирована. Следующий пример показывает функциональный блок R_TRIG ( определение поднятой грани ), определённый в библиотеке, который используется для определения фронта различных переменных. Каждая копия блока должна быть идентифицирована уникальным именем. Определение типа блока и его параметров производится при помощи менеджера библиотек :

Имя блока:	R_TRIG

Параметры:	Input=CLK

Output=Q

При помощи редактора словаря образуется имя :

Instance name:	TRIG_B1	Block name:	R_TRIG

Instance name:	TRIG_B2	Block name:	R_TRIG

Объявленные блоки могут быть использованы в ST программе :

TRIG_B1 (b1);

edge_b1 := TRIG_B1.Q;	(* b1 определение фронта переменной *)

TRIG_B2 (b2);

edge_b2 := TRIG_B2.Q;	(* b2 определение фронта переменной *)

Объявленные экземпляры функциональных блоков могут быть ГЛОБАЛЬНЫМИ ( доступные в любой программе проекта ) или ЛОКАЛЬНЫМИ, для одной программы. Функциональные блоки, используемые в языках FBD и LD, объявлять не нужно, так как это делает редактор FBD.

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

Экземпляры функциональных блоков, автоматически объявленные редакторами FBD и LD, всегда локальны для редактируемой программы.


Сетевые адреса

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


Главное окно словаря

Окно редактирования словаря показывает список переменных с одинаковым типом и областью действия. Тип и область действия всегда указаны в заголовке.

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

ОБЩАЯ	может быть использована любой программой любого проекта

ГЛОБАЛЬНАЯ	может быть использована любой программой текущего проекта

ЛОКАЛЬНАЯ	может быть использована только одной программой

Используйте "Tab" управление в полосе заголовка, для выбора типа объекта редактирования:

Используйте поле ввода текста слева от панели для поиска префикса имени переменной. В данном случае поиск производится по всему списку от начала. Кроме этого, для поиска доступны команды меню Найти. Поиск не различает регистров. Поиск может проводится вперёд или назад по отношению к выделенной переменной.


Управление переменными

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

Печать переменных

Создание новых переменных

Изменение существующих переменных

 	Вырезать и вставить

Сохранение переменных

Установка сетевых адресов

Импортирование булевских строк "true/false"


Печать переменных

Используйте команду Файл / Печать для того, чтобы распечатать список редактируемых объектов на стандартном принтере Windows. Распечатка включает в себя полное описание каждого объекта текущей редактируемой группы.


Создание новых переменных

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


Изменение существующей переменной

Команда Редактор меню Редактор позволяет пользователю изменить описание текущей переменной. При запуске команды открывается окно ввода для изменения описания текущей переменной. При нажатии кнопки Сохранить изменения сохраняются. Кроме того, можно нажать кнопки Следующ или Предыдущ для распространения изменений на другие переменные. Нажатие кнопки Отказ останавливает процесс создания переменной.


 	Удаление и вставка

Инструменты редактирования словаря ISaGRAF содержат выделение нескольких линий. Многие команды могут оперировать со списком выделенных переменных. Ниже приведены доступные команды меню Редактор :

КОПИРОВАТЬ	Копировать выделенную группу переменных в буфер словаря

ВЫРЕЗАТЬ	Копировать выделенную группу переменных в буфер словаря и удалить её из списка

УДАЛИТЬ	Удалить выбранную группу переменных из редактируемого списка

ВСТАВИТЬ	Вставить буфер словаря перед выделенной переменной

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


Сортировка переменных

Команда Инструменты / Сортировка сортирует переменные или макросы текущего списка редактирования. Порядок сортировки определяется атрибутами переменных :

•	сначала внутренние переменные

•	затем переменные ввода

•	наконец, переменные вывода

Переменные с одинаковыми атрибутами сортируются в алфавитном порядке. Макросы всегда сортируются в алфавитном порядке.


Установка сетевых адресов

Сетевой адрес не является обязательным. Переменная с ненулевым сетевым адресом может быть прослежена внешней системой ( например, процессом визуализации системы ) в процессе выполнения. Сетевой адрес может быть определён для каждой переменной, в том числе при её создании или изменении. Команда Редактор / Перенумеровать позволяет пользователю установить сетевой адрес для текущей группы переменных. Ввод шестнадцатеричного базового адреса ( адреса первой переменной группы ) приводит к тому, что для переменных группы устанавливаются последовательные сетевые адреса. При вводе нулевого базового адреса всех выделенных переменных сбрасываются на ноль.


Импорт булевых строк true/false

При редактировании макросов команда Инструменты / Импорт определений true/false " позволяет пользователю автоматически определить строки, присоединённые к булевым переменным, в качестве ключевых слов языка. Они должны быть объявлены как макросы. Эта команда ищет булевы истинностные строки в объявлениях той же области, что и редактируемый, для изменения макросов.


Описание объектов

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

Имя	Имя переменной; первый символ должен быть буквой, остальные - буквы, цифры или символы подчёркивания.

Сетевой адрес	Шестнадцатеричный сетевой адрес ( не является необходимым ). Переменная с ненулевым сетевым адресом может быть прослежена внешней системой.

Коммент	комментарий описания переменной

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

Это описание полей для булевых переменных :

Атрибут	определяет, является переменная внутренней, константой, ввода/вывода

"False" строка	строка, используемая в качестве ложного значения во время отладки

"True" строка	строка, используемая в качестве истинного значения во время отладки

Нач. знач. true	если эта опция установлена, то начальное значение истинно, иначе - ложно

Это описание полей для целых или вещественных аналоговых переменных :

Атрибут	определяет, является переменная внутренней, константой, ввода/вывода

Формат	определяет целую или вещественную переменную. Формат может быть    выбран во время отладки.

Единицы	строка, используемая для определения физического цикла отладки

Преобраз	Имя таблицы или функции преобразования, присоединённой к переменной ( только для ввода/вывода )

Нач. знач.	Начальное значение переменной. По умолчанию 0.

Это описание полей для переменных времени :

Атрибут	определяет, является переменная внутренней, константой

Нач. знач.	Начальное значение переменной. По умолчанию 0.

Это описание полей для переменных типа сообщение :

Атрибут	определяет, является переменная внутренней, константой, ввода/вывода

Макс. длина	максимальное количество символов, которое может храниться в строке сообщения

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

Это описание полей для макросов :

Имя	Имя, используемое в ST; первый символ должен быть буквой, остальные - буквы, цифры или символы подчёркивания.

Определ	Строка, подчиняющаяся правилам синтаксиса ST, которая заменяется макросом при компиляции. Пример : Name = PI-Equivalence = 3.1459

Коммент	Произвольный Комментарий для макроса

Это описание остальных полей для реализаций функциональных блоков :

Имя	Имя экземпляра, используемое в ST; первый символ должен быть буквой, остальные - буквы, цифры или символы подчёркивания.

Тип	имя соответствующего функционального блока в библиотеке

Коммент	Произвольный Комментарий для функционального блока


Обмен информацией с другим приложением

Редактор словаря ISaGRAF поддерживает функции импорта/экспорта для обмена информацией с другим приложением, таким как текстовый процессор, таблицы или база данных. Эти команды сгруппированы в меню Редактор. Команда Экспортировать текст генерирует текстовое ASCII описание полей, описывающих группу редактируемых объектов и сохраняет это описание в Буфере Обмена Windows или в файле. Такая информация может быть использована в другом приложении. Команда Импортировать текст импортирует поля описания объявления переменной в формате ASCII, которые находятся в Буфере Обмена Windows или в файле. Эта команда обновляет список содержимым импортируемых полей. Как правило, это информация, созданная другим приложением.

Экспортирование данных

Импортирование данных

Имеющиеся текстовые форматы

Ключевые слова


Экспортирование данных

Следующее окно диалога появляется при запуске команды Экспортировать текст. Оно позволяет пользователю управлять экспортированием.

 Полный список экспортируется весь редактируемый список. Выделенные элементы игнорируются. При выборе Выбранные переменные экспортируются только выделенные переменные.

При установке опции Клипборд экспортируемая информация сохраняется в формате ASCII в Буфере Обмена Windows. В дальнейшем к этому тексту можно применить команду Вставить. При установке опции Файл экспортируемый текст сохраняется в ASCII файле. Для определения имени этого файла используется команда Смотреть.

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

Все поля выделенных объектов экспортируются в виде текста в стандартном порядке. Первая строка экспортируемого текста содержит имя поля . Каждый объект описывается на одной строке текста. Конец строки - в стандартном формате MS-DOS 0d-0a. Идентификаторы полей в первой экспортируемой строке могут быть изменены при помощи кнопки Ключевые слова. Эта команда описана далее.


Импорт данных

Следующее окно диалога появляется при запуске команды Импорт текст. Оно позволяет пользователю управлять импортированием .

При выборе опции  "Клипборд" импортируемая информация берётся из буфера обмена  в формате  . При выборе опции "Файл"  информация берётся из  файла. В этом случае нужно ввести имя файла, для чего может быть использована команда  "Смотреть" .

Импортирующая функция автоматически распознаёт формат, используемый в тексте. Возможные форматы описаны в последующих разделах. Нажатие кнопки Принять запускает экспортирование, кнопки Отказ отменяет его. Идентификаторы полей в первой экспортируемой строке могут быть изменены при помощи кнопки Ключевые слова. Эта команда описана далее.

Первая строка текста должна содержать имя поля в соответствии с порядком использования следующих линий. Каждый объект описывается на одной строке текста. Конец строки - в стандартном формате MS-DOS 0d-0a. Поля могут следовать в любом порядке. Если некоторые поля опущены, то они автоматически заполняются значениями по умолчанию. Если импортируемый объект уже существует в списке, то пользователь должен подтвердить необходимость замены его на импортируемый. Описание объектов обновляется импортированными значениями.


Возможные текстовые форматы

Ниже приведён список возможных текстовых форматов для экспортирования. Команда импортирования автоматически распознаёт эти форматы :

•	tab separators	( разделение табуляцией )

Описание :	поля разделены символом табуляции

Пример:	Name	Attribute	Comment

level	internal	internal calculated water level

alrm1	output	main 	выход основной тревоги

•	comma separator	( разделение запятой )

Описание :	поля разделены запятой

Пример:	Name,Attribute,Comment

level,internal,internal calculated water level

alrm1,output,main alarm output

•	semicolon separators (разделение точкой с запятой)

Описание :	поля разделены точкой с запятой

Пример:	Name;Attribute;Comment

level;internal;internal calculated water level

alrm1;output;main alarm output

•	commas commas and quotes	(запятые и кавычки)

Описание :	поля разделены запятыми.

Каждое поле взято в кавычки.

Пример:	"Name","Attribute","Comment"

"level","internal","internal calculated water level"

"alrm1","output","main alarm output"


Ключевые слова

Имена, используемые для идентификации полей в первой строке импортируемого или экспортируемого текста можно изменить нажатием кнопки Ключевые слова.

В окне показан список полей объектов и соответствующие им ключевые слова. Для изменения ключевого слова пользователь должен выбрать поле в списке и нажать кнопку Изменить. Нажатие кнопки Умолчания восстанавливает изначальные значения списка ключевых слов. Синтаксис ключевых слов должен подчиняться следующим правилам :

•	имени не должна превышать 16 символов

•	символ должен быть буквой

•	символы могут быть буквой, цифрой или символом подчёркивания

•	одинаковые имена не могут быть использованы для разных ключевых слов

Ниже приведены стандартные ключевые слова ISaGRAF :

Имя объекта	Name

Комментарий	Comment

Сетевой адрес	Address

Attributes (internal, input, output)	Attribute

БУЛЕВСКАЯ 'False' string	False

БУЛЕВСКАЯ 'True' string	True

Analog format (real or integer)	Format

Analog unit string	Unit

Analog conversion name	Conversion

Message maximum length	MaxLength

Function block library type	Library

Defined word equivalence	Equivalence

Internal attribute	Internal

Input attribute	Input

Output attribute	Output

Constant attribute	Constant

Real analog format	Real

Integer analog format	Integer


Связь с другими инструментами ISaGRAF

Меню "Инструменты" содержит команды для запуска других полезных инструментов ISaGRAF для управления переменными:

Команда "Соединение В/В " позволяет пользователю запускать редактор соединений В/В ISaGRAF для the открытого проекта. Если переменные В/В в данный момент выбранные в Словаре уже соединены, соответствующая плата В/В отображается при открытии окна соединений В/В.

Команда "Таблицы преобразований " запускает редактор таблиц преобразований. Таблицы могут быть приписаны к действительной или целой переменной В /В в словаре.

Команда "перекрестные ссылки" запускает редактор перекрестных ссылок для открытого проекта.


Быстрое объявление

Команда "Инструменты / Быстрое объявление " позволяет вам объявить несколько переменных одновременно. Переменным, созданным с помощью быстрого объявления, присваиваются имена в соответствии с числовым соглашением. Для этого, вы должны определить:

- индекс (число) первой и последней переменной,

- текст, который должен быть добавлен перед или после числа в символе переменной

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

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

Вы всегда должны определять текст, который нужно вводить перед номером переменной так, как символ переменной не может начинаться с цифры. Если "количество переменных" установлено в "Auto", ISaGRAF форматирует количество переменных к минимальному необходимому количеству цифр. Когда определено количество цифр, ISaGRAF форматирует все числа, к определенной длине добавляя спереди символы '0'. Установка фиксированного количества цифр для номеров переменных может быть полезна для предотвращения неправильной лексикографической сортировки. Ниже дан пример.

Пример:	Это установка для быстрого объявления:

будут созданы три следующие переменные:

Var9xx      Var10xx      Var11xx

Пример:	Это установка для быстрого объявления:

будут созданы 100 переменных с именами от MyVar001 до MyVar100


Адресная карта Modbus для SCADA

Сетевые адреса ISaGRAF часто используются для установления связи между системой ISaGRAF и SCADA на основе Modbus. В этом случае,  SCADA является мастером Modbus, а целевая задача ISaGRAF действует как подчиненный Modbus. Сетевые адреса используются для создания виртуальной карты Modbus для всех переменных ISaGRAF, которые должны управляться из SCADA. Инструменты / Карта адресов Modbus для SCADA" создает виртуальную карту Modbus с переменными приложения.

Средства карты показывают два списка. Верхний список  это сегмент (положения 4096) карты Modbus, показывающий нанесенные на карту переменные (имеющие сетевые адреса). Нижний список показывает не нанесенные на карту переменные (без определенных сетевых адресов). Адрес "0" не может использоваться в карте для переменной.

Используйте команды "Поместить на карту выбранную переменную" и "Удалить переменную из карты" меню "Редактор", чтобы перемещать переменные из одного списка в другой, и строить, таким образом, карту. Такие же действия могут быть выполнены путем двойного щелчка на символе переменной в списке, чтобы послать ее в другой список. В любой момент вы можете использовать список "Сегмент", чтобы посмотреть другой сегмент в карте.

Команды меню "Опции" могут быть использованы для того, чтобы показать адреса в десятичном или шестнадцатеричном виде.

Команда "Редактор / Заменить" используется для поиска объявленной переменной, нанесена она на карту или нет.


Установка индивидуальных защит

Система разработки ISaGRAF обеспечивает полную систему защиту данных основанную на иерархических паролях. Соединения В/В могут быть глобально защищены паролем. Дополнительно, ISaGRAF позволяет вам установить индивидуальную защиту на любой канал В/В. Это подразумевает, что:

- пароли всегда определяются в системе определения пароля (используйте команду "Проект / Установить пароль" окна Управление Проектами) так, что имеются индивидуальные уровни защиты.

- вы используете для индивидуальной защиты уровни защиты с более высоким приоритетом по сравнению с глобальной защитой В/В.

Когда канал В/В имеет индивидуальную защиту, маленькая иконка нарисована рядом с его именем в окне соединений В/В:

Используйте команды "Установить защиту" и "Уничтожить защиту" меню "Редактор", чтобы установить или удалить индивидуальную защиту для выбранного канала. Обе команды предлагают вам ввести действительный пароль так, что уровень защиты может быть присоединен к каналу. Затем, каждый раз, когда вы хотите изменить соединение с каналом вы должны ввести пароль достаточного уровня приоритета.

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