<< Click to Display Table of Contents >> Navigation: Программирование в MasterSCADA 4D > Редактор C# |
Редактор C# представляет собой текстовый редактор, в котором можно создавать программы на языке C#, которые будут работать в исполнительной системе. Если создать функциональный блок на языке C#, то его можно использовать в программах, написанных на других языках и других программах написанных на языке C#.
Важно! Для возможности работы С# программ в исполнительную систему должна входить опция MSRT4D-C#. Данная опция включена в базовый функционал лицензий Professional и Enterprise.
Возможности редактора С#:
•Работать с параметрами MasterSCADA 4D внутри программы, аналогично программам стандарта МЭК 61131-3. Можно устанавливать связи между параметрами Т.е. можно использовать те же типы данных и устанавливать те же связи параметров программ и с другими элементами проекта, а также обращаться к глобальным переменным.
•Работать со сложными типами данных.
•Внутри программ С# можно использовать только ФБ, созданные в других редакторах. Использование функций в программах C# запрещено.
•Создавать ФБ и использовать в других программах C#
•Подключать и использовать сторонние dll
Для использования этих возможностей разработчик проекта должен обладать навыками программирования на языке C#.
В проекте можно создать новую программу в дереве системы или в дереве объектов или новый ФБ в пользовательской библиотеке.
Для этого нужно выбрать соответствующий пункт контекстного меню того элемента, где планируется создавать новый элемент.
Контекстное меню объекта:
Контекстное меню библиотеки Локальная:
Добавится новый элемент. Имя элемента по умолчанию Программа 1 или ФБ 1 соответственно. Имя не будет включать название языка, т.к. в именах программ недопустимо использовать специальные символы. Имя затем можно будет сменить в панели свойств программы или ФБ. Автоматически откроется редактор.
Вид редактора:
В текстовом поле редактора создается программа.
Важно! Редактор C# регистрозависимый. В нем не используется TRUE, а только true.
По умолчанию добавлена в текст функция public override void Execute(), которая позволяет выполнять программы C# периодически, т.е. алгоритм внутри функции будет выполняться с заданным периодом задачи. По умолчанию программы C# назначены в задачу родительского объекта, т.е. в основную задачу. Место и способ исполнения программы можно поменять в панели свойств.
Важно! Программы и ФБ созданные в редакторе C# не будут работать в задаче экрана.
Функция public override void Init() - будет вызываться один раз при старте, в отличии от функции public override void Execute(). Рассмотрим другие функции, которыми можно пользоваться внутри редактора C#:
•LogMessage - производит запись сообщения в лог исполнительной системы. Пример: LogMessage("Текст сообщения");
•GetValue - получает значение параметра по имени. Пример: var value = (int)GetValue("Параметр_1");
•SetValue - устанавливает значение параметра по имени. Пример: SetValue("Параметр_1", 5);
Связь с параметрами проекта и параметрами программы создается также как и в других редакторах, через клеммники.
При создании параметров важно следить за типами данных. В таблице ниже приведено соответствие типов параметров MasterSCADA 4D и параметров C#.
Тип данных MasterSCADA 4D |
Тип данных C# |
BOOL |
|
BYTE |
|
SINT |
|
нет |
|
нет |
|
LREAL |
|
REAL |
|
DINT |
|
UDINT, DWORD |
|
LINT |
|
ULINT |
|
INT |
|
UINT, WORD |
|
нет |
|
STRING |
|
нет |
|
DATE |
DateTime date1 = new DateTime(2015, 7, 20); // год - месяц - день |
DATE_AND_TIME |
DateTime date1 = new DateTime(2015, 7, 20, 18, 30, 25); // год - месяц - день - час - минута - секунда |
TIME |
TimeSpan |
TIME_OF_DAY |
TimeSpan |
Перечисление |
enum |
Диапазон |
нет |
REF_TO |
object |
ANY |
object |
В тексте программ можно обращаться к глобальным параметрам узла, но обращение к ним будет отличаться от принятого обращения в языке ST. Подробное описание в разделе Программы C#. Использование глобальных переменных.
Порядок вызова ФБ, соответствующих стандарту МЭК 61131-3 описан в разделе Программы C#. Примеры
Смотрите также:
Программы C#. Системные требования
Программы C#. Работа со сложными типами данных
Программы C#. Использование глобальных переменных
Программы C#.Подключение сторонних dll