Category Archives: ОВЕН ПЛК

Работа ОВЕН ПЛК с модемом одновременно и в режиме передачи данных и с СМС сообщениями

В данном примере будет показано, как опрашивать удаленный объект при помощи канала CSD и одновременно при необходимости отправлять СМС сообщения.

В данном примере ПЛК будет инициировать связь с удаленным объектом (ПК-оператора),  куда будет передавать текущее значение «var1»- контролируемый параметр, и откуда будет считывать значение переменной «var1_Alarm»- аварийный уровень. При этом если текущее значение переменной превысит аварийный уровень (далее авария) отправить СМС сообщение и обнулить ее.

Настройка связи с удаленным объектом настраивается в конфигурации ПЛК.

Алгоритм работы следующий: В фоновом режиме  происходит периодический обмен между ПЛК и ПК. В случае аварии выставляется флаг о необходимости отправить СМС «Start», блоку «FB_SMS_SR» подается команда на отправку, номер абонента и текст сообщения. Далее если в текущий момент модем не занят (переменная «LineStatus» равна нулю), то захватываем порт, при необходимости производим настройку модема, после чего происходит непосредственно отправка сообщения. После отправки флаг снимается (при помощи выхода «SmsSend» блока «FB_SMS_SR»)и происходит освобождение порта.

Программа в CoDeSys 2.3

Список переменных:

PROGRAM PLC_PRG

VAR

                Com                      :OpenPort;

                cfg                         :FB_SMS_CFG;

                sms                        :FB_SMS_SR;

DevNum             :WORD;

                Start                      : BOOL  :=FALSE;

                cfg_ok                  :BOOL;

                 var1                                      AT%QW12.1.1.0               :WORD;

                 var1_Alarm                       AT%IW12.1.0.0 :WORD :=8000;

                LineStatus          AT%QB12.0.0    : BYTE;

                SmsNum             :STRING               := ‘79012345678’;

END_VAR

 

Конфигурация ПЛК задачи

Мой блог находят по следующим фразам

Запрос баланса из программы ОВЕН ПЛК

В данном примере будет показано, как осуществлять запрос баланса.

Программа запроса баланса из ОВЕН ПЛК

Список переменных:

PROGRAM PLC_PRG

VAR

                Com                      :OpenPort;

                cfg                         :FB_SMS_CFG;

                sms                        :FB_SMS_SR;

                DevNum             :WORD;

                cfg_ok                  :BOOL;

                 var1                      :WORD;

                 var1_Alarm       :WORD :=5000;

                CheckListNum: STRING                :=»;

                ComSend            :BOOL;

                smsText              :STRING               := »;

                BalaseOk             :BOOL;

END_VAR

Данный пример отличается от предыдущего (http://plc24.ru/zadanie-ustavki-pri-pomoshhi-sms-iz-programmy-oven-plk/)только настраиваемыми параметрами. В качестве номера используется короткий номер запроса баланса, у каждого оператора он свой, здесь используется номер МТС. У некоторых операторов несколько номеров: для запроса на русском языке и запроса на латинице – рекомендуется использовать номер запроса на латинице. Так как запрос баланса по своей сути является USSD запросом, то внутри блока имеет несколько другую обработку, поэтому в данном случае блок игнорирует значения на входах «CheckNum» и «CheckNumList» (считает что «CheckNum» имеет значение False). Поле текста отправляемого сообщения нужно оставлять пустым.

Мой блог находят по следующим фразам

Задание уставки при помощи СМС из программы ОВЕН ПЛК

В данном примере будет показано, как одновременно отправлять и получать СМС сообщения.

Программа ПЛК. Задание уставки с помощью СМС

 Список переменных:

PROGRAM PLC_PRG

VAR

                Com                      :OpenPort;

                cfg                         :FB_SMS_CFG;

                sms                       :FB_SMS_SR;

                DevNum             :WORD;

                cfg_ok                  :BOOL;

                 var1                      :WORD;

                 var1_Alarm       :WORD :=5000;

                CheckListNum: STRING:=’79012345678;79876543210′;

                ComSend            :BOOL;

                smsText              :STRING               := ‘Set alarm 8000’;

                smsNum             :STRING               := ‘79012345678’;

END_VAR

Как и в предыдущих примерах (http://plc24.ru/priem-sms-soobshhenij-v-programme-oven-plk/) необходимо добавить в конфигурацию ПЛК модуль Universal Network Module, произвести его настройку. Также необходимо в программе открыть порт и произвести настройку модема. (Можно взять за основу http://plc24.ru/otkrytie-porta-i-nastrojka-modema-dlya-oven-plk/)

Необходимо понимать, что модем одновременно может выполнять только одно действие: или читать входящие сообщения или отправлять, при этом на выполнение любого действия необходимо время. Поэтому работа с модемом осуществляется в асинхронном режиме. В среднем необходимо не более 20 сек. на отправку одного СМС сообщения. Как следствие необходимо использовать флаг, который бы показывал готовность блока к отправке нового сообщения. В данном примере в качестве такого флага можно использовать переменную «ComSend», которая так же является командой на отправку, Новое сообщение можно отправлять, только когда она равна False, если же она равна True, то при попытке отправить еще одно сообщение оно будет потеряно.

Мой блог находят по следующим фразам

Прием СМС сообщений в программе ОВЕН ПЛК

В данном примере будет показано, как организовать удаленное управление при помощи СМС сообщений.

Программа ПЛК

Список переменных:

PROGRAM PLC_PRG

VAR

                Com                      :OpenPort;

                cfg                         :FB_SMS_CFG;

                sms                        :FB_SMS_SR;

                DevNum             :WORD;

                cfg_ok: BOOL;

                 var1                      :WORD;

                 var1_Alarm       :WORD :=5000;

                CheckListNum: STRING                :=’79012345678;7987654321′;

END_VAR

Как и в предыдущих примерах необходимо добавить в конфигурацию ПЛК модуль Universal Network Module, произвести его настройку. Также необходимо в программе открыть порт и произвести настройку модема. (Можно взять за основу пример http://plc24.ru/otkrytie-porta-i-nastrojka-modema-dlya-oven-plk/)

Зависимость поведения ФБ от значений на входах «CheckNum» и «CheckNumList» представлена в следующей таблице:

Вход «CheckNum» Вход «CheckNumList» Результат
1 Flase любое Принимает все входящие СМС
2 True Пустая строка (‘’) Не принимает входящие СМС
3 True Номер или список номеров (‘79012345678;7987654321’) Принимает СМС только с указанных номеров

Блоки 9-16 нужны для расшифровки текста сообщения: блоки 9,10,13 выделяют командное слово, блоки 11,12 выделяют значение переменной из текста.

Как только сообщение будет принято на выход «NewInRing» будет подан единичный импульс (одновременно с этим будут обновлены значения на выходах «NewInSmsText», «NewInSmsTime» и «NewInSmsNum»), что совместно с блоками 14,15 позволяет осуществить однократную запись нового значения в переменную «var1_Alarm». Это может быть полезно, если значение этой переменной задается несколькими способами, например, еще и с панели оператора.

Выход «NewInSmsNum» позволяет организовать разделение абонентов по уровням доступа.

Мой блог находят по следующим фразам

Отправка СМС сообщений нескольким получателям из программы ОВЕН ПЛК.

Пример аналогичен предыдущему (http://plc24.ru/otpravka-sms-soobshhenij-iz-programmy-oven-plk/) с той разницей, что сообщение с одним и тем же текстом надо отправить нескольким получателям сразу. Для этого можно использовать ФБ «FB_SMS_SL», входящий в состав  библиотеки SmsOwenLib.

Программа ПЛК

 

Список переменных

PROGRAM PLC_PRG

VAR

Com                      :OpenPort;

cfg                         :FB_SMS_CFG;

sms                        :FB_SMS_SR;

 

cfg_ok                  :BOOL;

DevNum             :WORD :=0;

 

var1                      :WORD;

var1_Alarm       :WORD :=5000;

 

sl                            :FB_SMS_SL; (*дополнительный блок для отправки группе получателей*)

listNum                :ARRAY [0..2] OF STRING(10):=3(‘79012345678’); (*массив номеров получателей, обязательно с начинаться должен с нуля*)

END_VAR

 

Мой блог находят по следующим фразам

Отправка СМС сообщений из программы ОВЕН ПЛК

Добавим к предыдущему примеру (http://plc24.ru/otkrytie-porta-i-nastrojka-modema-dlya-oven-plk/) переменную (var1), которая будет постоянно расти и по достижению ею определенного уровня (var1_Alarm) необходимо отправить сообщение. Текстом сообщения будет служить значение этой переменной, номер получателя заранее жестко задан.

Программа ПЛК

Алгоритм работы программы.

Список переменных

PROGRAM PLC_PRG

VAR

Com                      : OpenPort;

cfg                         :FB_SMS_CFG;

sms                       :FB_SMS_SR;

 

cfg_ok                  :BOOL;

DevNum             :WORD :=0;

 

var1                      :WORD; (*переменная, которая будет расти*)

var1_Alarm       :WORD :=5000; (*ее аварийный уровень*)

END_VAR

 

После открытия порта и конфигурирования модема начинает работать блок отправки и получения СМС. Так как режим CSD передачи данных в данном примере не используется на вход «CsdClose» подается сигнал False (все входящие вызовы будут сброшены). Входящие СМС сообщения так же не используются, поэтому на входа «CheckNumList» и «CheckNum» можно ничего не подавать.

На вход «SendSmsNum» подается десятизначный номер получателя в формате строки (String). На вход «SendSmsText» подается преобразованной к типу String значение переменной  «var1». По приходу на вход «SendSms» значения True, значения на двух предыдущих входах будут зафиксированы внутри ФБ. Как только сообщение будет отправлено на выход «SmsSend» будет подан единичный импульс (значение True будет установлено на один цикл).

Мой блог находят по следующим фразам

Открытие порта и настройка модема для ОВЕН ПЛК

Вначале необходимо добавить в конфигурацию ПЛК модуль Universal Network Module, указать к какому интерфейсу будет подключен модем.  Затем произвести настройку порта (указать скорость, число стоп-битов и т.д.), рис.1. Режим можно указывать любой, как ASCII так и RTU.

Рис.1. Настройка модуля Universal Network Module.

Программа:

Рис.2. Алгоритм работы программы.

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

PROGRAM PLC_PRG

VAR

Com                      : OpenPort;

cfg                         :FB_SMS_CFG;

cfg_ok                  :BOOL;

DevNum             :WORD :=0;

END_VAR

В данном примере порт будет открыт всегда, при необходимости освободить его достаточно подать на вход «Enable» ФБ «com» значение False.

ФБ «cfg» по окончанию конфигурации модема установит на выходе «Done» значение True в не зависимости от того, были ли ошибки или нет, поэтому необходимо проверять значение на выходе «ErrCode». В данном примере в случае возникновения ошибки блок будет перезапущен и конфигурация модема будет произведена повторно.

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

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

 

Мой блог находят по следующим фразам

Состав библиотеки SmsOwenLib.

Данная библиотека предназначена для работы на контроллерах ОВЕН с внешним модемом: для отправки и получения СМС сообщений, фиксации входящего вызова и первоначальной конфигурации самого модема.

Блок «OpenPort» захвата/освобождения интерфейса

Рисунок 1 – Структурная схема

Таблица 1

Имя программного компонента OpenPort
Тип программного компонента

Функциональный блок  

Функция 

Программа

Особенности работы Для работы требуется установка в проекте библиотеки UNM
Применение на контроллерах ПЛК100, ПЛК150, ПЛК154, ПЛК110, ПЛК160.

 

Входная переменная:

Тип данных

Пояснения

Enable

BOOL

разрешение на работу
DeviceNumber

WORD

номер модуля UNM – нумерация идет с 0 по порядку сверху вниз как расположены модули UNM в конфигурации, первый сверху модуль UNM имеет номер 0, следующий номер UNM – 1, и так далее
Выходная переменная:

Тип данных

Пояснения

Out

BOOL

состояние открытия порта, после окончания включен постоянно

 

Описание

До начала передачи/приема в интерфейс данных из программы CoDeSys нужно «захватить» интерфейс и приостановить работу с этим интерфейсом модулей протоколов, подключенных в PLC Configuration. Для использования нужно создать в конфигурации контроллера один (или несколько)  модулей Universal Network Module. Внутри каждого модуля нужно настроить параметры порта передачи данных (для последовательных портов это скорость, четность, биты данных, биты стопа, время задержки).

Блок «FB_SMS_CFG» конфигурирования модема

Рисунок 2 – Структурная схема

Таблица 2

Имя программного компонента FB_SMS_CFG
Тип программного компонента

Функциональный блок  

Функция 

Программа

Особенности работы Для работы требуется установка в проекте библиотеки UNM
Применение на контроллерах ПЛК100, ПЛК150, ПЛК154, ПЛК110, ПЛК160.

 

Входная переменная:

Тип данных

Пояснения

Enable

BOOL

разрешение на работу
Handle

WORD

номер модуля UNM, порт открывается с помощью ФБ «OpenPort»
PortCfg

BOOL

разрешение на настройку порта модема, по умолчанию False (выкл.)
SaveCfg

BOOL

сохранение параметров в модеме после конфигурирования, по умолчанию False (не сохранять)
ModemART

BOOL

включение/отключение автоподъема трубки, по умолчанию False (выкл.),
PortBaudrate

STRING(6)

параметр настройки порта — скорость, по умолчанию ‘0’
PortParity

BYTE

параметр настройки порта — четность, 0- нет 1-нечет 2-чет, по умолчанию 0-нет
PortStopBits

BYTE

параметр настройки порта – число стоп-бит, 1-1бит, 3-2бита, по умолчанию1-1бит
PortByteSize

BYTE

параметр настройки порта — Биты данных, по умолчанию 8-8 бит
PortFlowCtrl

BYTE

параметр настройки порта — управление потоком, 0 – отключено, 1-XON/XOFF, 2-аппаратный, по умолчанию 0-отключено
Выходная переменная:

Тип данных

Пояснения

Done

BOOL

флаг окончания настройки, после окончания включен постоянно
ErrCode

BYTE

код ошибки

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

Необходим для конфигурирования модема. Должен вызываться до блока FB_SMS_SR. Если модем уже был настроен ранее (вручную или с помощью данного ФБ с SaveCfg:=TRUE) и в ходе работы настройки модема меняться не будут, то разрешается не использовать данный ФБ в программе.

Блок «FB_SMS_SR» отправки/ получения СМС

Рисунок 3 – Структурная схема

Таблица 3

Имя программного компонента FB_SMS_SR
Тип программного компонента

Функциональный блок  

Функция 

Программа

Особенности работы Для работы требуется установка в проекте библиотеки UNM
Применение на контроллерах ПЛК100, ПЛК150, ПЛК154, ПЛК110, ПЛК160.

 

Входная переменная:

Тип данных

Пояснения

Enable

BOOL

разрешение на работу
Handle

WORD

номер модуля UNM, порт открывается с помощью ФБ «OpenPort»
CsdClose

BOOL

запрет входящих вызовов: определяет поведение при входящем звонке, если True(вкл.), то всегда вешает трубку, если False(выкл.), то выставляет флаг NewInRing, по умолчанию True (вкл.)
SendSms

BOOL

команда на отправку SMS сообщения, срабатывает по фронту
SendSmsText

STRING

текст отправляемого сообщения (на русском макс 70 символов, на латинице макс 140 символов)
SendSmsNum

STRING

номер абонента, кому отправить СМС, пишется целиком с кодом страны без скобок и «+», например «79012345678»
CheckNum

BOOL

включить/отключить проверку номера отправителя СМС (для входящих сообщений), по умолчанию False (выкл)
CheckNumList

STRING

список разрешенных номеров, фомат: «ххххххххххх;ххххххххххх;» номер пишется целиком без скобок и «+», через точку с запятой, если функция выключена то не используется, по умолчанию ‘’
Выходная переменная:

Тип данных

Пояснения

Busy

BOOL

флаг указывающий, что блок выполняет в данный момент какие либо операции
ErrCode

BYTE

код ошибки
SmsSend

BOOL

флаг успешной отправки СМС сообщения, включается на 1н цикл
NewInSms

BOOL

флаг наличия нового входящего СМС сообщения, включается на 1н цикл
NewInRing

BOOL

флаг наличия входящего вызова
NewInSmsText

STRING

текст последнего принятого СМС сообщения
NewInSmsTime

STRING

время отправки последнего входящего СМС сообщения
NewInSmsNum

STRING

номер отправителя последнего входящего СМС сообщения, 10 цифр

 

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

Необходим для отправки/получения СМС сообщений и индикации входящих вызовов

Блок «FB_SMS_SL» вспомогательный для отправки сообщения группе абонентов

Рисунок 4 – Структурная схема

Таблица 4

Имя программного компонента FB_SMS_SL
Тип программного компонента

Функциональный блок  

Функция 

Программа

Особенности работы Для работы не требуется установка в проекте дополнительных библиотек
Применение на контроллерах ПЛК63, ПЛК73, ПЛК410

 

Входная переменная:

Тип данных

Пояснения

SendGroup

BOOL

команда на отправку группе
NumCount

BYTE

количество адресатов
SmsTextIn

STRING

текст отправляемого сообщения
SmsSend

BOOL

контроль за отправкой сообщений
Выходная переменная:

Тип данных

Пояснения

SendSms

BOOL

команда на отправку сообщения
NumCur

BYTE

текущий номер адресата
SmsTextOut

STRING

текст отправляемого сообщения
Done

BOOL

флаг завершения работы, включается на 1н цикл

 

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

По фронту сигнала на входе «SendGroup» БФ запоминает текст отправляемого сообщения, который подается на вход «SmsTextIn», и выдает его на выход «SmsTextOut» (после этого значение на входе «SmsTextIn» может меняться – на работу блока это никак не повлияет). Вход «SmsSend» и выход «SendSms» необходимо соединить с одноименными входами и выходами ФБ «FB_SMS_SR» — с их помощью будет осуществляться управление отправкой сообщений. Выход «NumCur» определяет порядковый номер текущего адресата, нумерация начинается с нуля. Когда сообщение будет разослано, на выход «Done» будет подан единичный импульс.

 

Мой блог находят по следующим фразам

Работа с подменю ПЛК63,73

Подмодули (подэлементы) пользовательских параметров могут добавляться или удаляться пользователем в модулях (элементах) конфигурации «SubMenu (Ветки пользовательского меню)». Настройка пользовательских параметров производится аналогично настройке фиксированных модулей. Процедура добавления параметров проиллюстрирована на рисунке 1.

Рисунок 1 – Подключение нового уровня вложенности либо нового пользовательского параметра

При добавлении пользовательских параметров требуется задавать их тип – «Конфигурационный» либо «Оперативный» (см. рисунок 2). Конфигурационные пользовательские параметры – значение этих параметров считывается из EEPROM при запуске контроллера. Конфигурационные пользовательские параметры доступны для редактирования с передней панели и для чтения / записи по сети (при условии установленных атрибутов). Введенные в ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») новые значения этих параметров не сохраняются в EEPROM и не доступны по сети RS.

Введенные с передней панели ПЛК или по сети значения конфигурационных параметров сохраняются в EEPROM, и при выключении питания будут сохранены. Оперативные пользовательские параметры доступны для редактирования с передней панели, по сети (при условии установленных атрибутов) и из ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») при редактировании значения канала в рамках установленных минимального и максимального значения. Значения оперативных параметров сохраняются в ОЗУ, и при выключении питания последнее значение параметра не будет сохранено. При включении питания значение параметра примет значение, установленное по умолчанию.

Рисунок 2 – Задание типа пользовательского параметра

 Подэлемент «SubMenu (Ветка)»

В модули «SubMenu (Ветки)» можно добавлять подмодули (подэлементы) «SubMenu» (Ветка), представляющие собой вложенные ветви меню для объединения параметров по группам (веткам). Вложенность Submenu может достигать четырех уровней.

Пользовательские параметры

В модули «SubMenu (Ветки)» можно добавлять подэлементы (пользовательские параметры) типов (см. рисунок 7.20), перечисленных ниже.

Параметры типа «DateTimeP», «DateP», «TimeP» не влияют на задание значений часов реального времени ПЛК, а служат для передачи в пользовательскую программу информации об определенном времени, например – о времени включения какого-то устройства или о времени и дате перехода в специальный режим.

«FloatP» – подэлемент, задающий число с плавающей точкой типа Real (IEEE Float 32); имеет канал типа «Real». Для задания номера регистра по протоколу Modbus следует учитывать, что значение должно быть четным, т.к. параметр занимает 2 регистра (4 байта).

«IntP» – подэлемент, задающий целое число в диапазоне от 0 до 65535; имеет канал типа «Int».

«ByteP» – подэлемент, задающий значение стандартного типа Byte.

«DateTimeP» – подэлемент, содержащий дату и время; имеет канал типа DWord, в котором хранится значение времени и даты в специальном формате.

Значение параметра задается в формате ДД.ММ.ГГГГ ЧЧ:ММ:СС, см. рисунок 3. Максимальное и минимальное значение для данного параметра не устанавливается.

Для преобразования данных подэлемента «DateTimeP» в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

Рисунок 3 – Формат значения параметра «DateTimeP»

 − «DateP» – подэлемент, устанавливающий дату; имеет канал типа DWord, в котором хранится значение даты в специальном формате.

Значение параметра задается в формате ДД.ММ.ГГГГ. Максимальное и минимальное значение для данного параметра не устанавливаются. Для преобразования данных параметра «DataP» в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

«TimeP» – подэлемент, задающий время; имеет канал типа DWord, в котором хранится значение времени в специальном формате. Значение параметра задается в формате ЧЧ:ММ:СС. В аналогичном формате задается минимальное и максимальное значение.

Для преобразования данных параметра TimeP в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

«BoolP» – подэлемент, задающий булевский параметр: состояние «Вкл.» (Включено) или «Выкл.» (Выключено); имеет канал типа Bool. Максимальное и минимальное значение для данного параметра не устанавливается.

«StringP» – подэлемент, задающий строку; имеет канал типа String 16. Параметр может использоваться для передачи в программу ПЛК строковой информации по сети. Параметр не доступен для изменения с передней панели.

Если установлен флажок переключателя «Разрешить изменения значения по сети», то параметр доступен для изменения его по сети и из программы ПЛК.

Если флажок не установлен, то в параметр можно записывать только значения из программы ПЛК.

Если для параметра задан тип «Конфигурационный», то параметр будет отображать статическую строку, недоступную для редактирования ни с передней панели ПЛК, ни по сети.

«EnumP» – подэлемент, имеющий вид списка с набором заранее определенных значений; при редактировании параметра с передней панели на ЖКИ отображаются строки из списка. Список изначально определен в ПО контроллера и не может быть изменен пользователем. Модуль имеет канал типа Byte, в котором содержится позиционный номер выбранного элемента списка.

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

Рисунок 4 – Формат значения параметра «EnumP»

«PointP» – подэлемент задает точку графика – соотношение значений переменных (X и Y). Добавив требуемое количество подэлементов, можно определить зависимость (график) Y=f(X). Значение вводится в поле «Значение /По умолчанию» в формате: «Координата Х; Координата Y». Диапазон задания координат Х и У от минус 3276.7 до 3276.7. Модуль имеет канал типа DWord имеющий формат: 4-х байтовое поле, в котором первые 2 байта – это значение координаты Y, вторые два байта – координаты X, значения которых умножено на 10 в степени, заданной параметром «Знаков после запятой»(см. рисунок 5).

Значение параметра «Знаков после запятой» (0, 1, 2 или 3) задается для обеих координат. На ЖКИ будет отображаться столько знаков после запятой, сколько указанно в этом параметре. Например, если в поле «По умолчанию» указаны значения 11; 12.5 , а параметру «Знаков после запятой» задано значение 2, то на ЖКИ отобразятся значения 11.00 и 12.50.

Для преобразования координаты точки графика в стандартный формат используется специальная функция «DWORD_TO_POINT» из библиотеки «Owen_specific_tools». Для преобразования из стандартного формата в фор-мат «DWORD» используется функция «POINT_TO_DWORD» из библиотеки «Owen_specific_tools».

Рисунок 5 – Формат значения параметра «PointP»

 − «Graph8P», «Graph5P», и «Graph3P» – подэлемент задает совокупность точек графика – соотношения значений переменных (X и Y) в точках, количество которых определяется наименованием выбранного подэлемента – 8, 5 или 3,. Добавив требуемое количество подэлементов, можно определить зависимость (график) Y=f(X). Каждый подмодуль представляет из себя «ветку» конфигурации, содержащую группу параметров (каналов) и параметр – количество точек.

Рисунок 6 – Формат значения параметра «Graph8»

 Число одновременно отображаемых переменных в окнах отладки и/или визуализации сокращено. Точное количество переменных для отладки зависит от их типа и от частоты их обновления, но в среднем количество переменных для отладки и визуализации не должно превышать 30-50 штук. Это ограничение не относится к общему количеству переменных, используемых в проекте.

Использование OPC-драйверов «ОВЕН»

OPC-драйверы, разработанные компанией ОВЕН, предназначены для подключения приборов фирмы ОВЕН к системам SCADA.

Драйверы реализованы в виде двух модулей: OWEN-RS232 и OWEN-RS485.

Они применяются для приборов фирмы ОВЕН, поддерживающих сетевой интерфейс «токовая петля» (для преобразования в сеть RS-232 используется адаптер АС2) и поддерживающих сетевой интерфейс RS-485.

Для преобразования в сеть RS232 или USB можно использовать адаптеры фирмы ОВЕН – АС3, АС3-М, АС4,– или других производителей.

При работе могут быть использованы протоколы OWEN, ModBus-RTU или ModBus-ASCII.

Перед началом работы пользователь должен задать конфигурацию своих приборов и режим работы порта. К адаптеру AC-2 можно подключить до 8 приборов. К одной сети RS485 подключается до тридцати двух приборов (шлейфом, без применения репитера). Список приборов, которые можно подключить к серверам:

1) OWEN-RS232:

− Задатчик-регулятор МПР51

− Измеритель ТРМ0 PiC

− Измеритель УКТ38-В

− Измеритель УКТ38-Щ4

− Измеритель регулятор ТРМ1 PiC

− Измеритель регулятор ТРМ10 PiC

− Измеритель регулятор ТРМ12 PiC

− Измеритель регулятор ТРМ5 PiC

− Многоканальный регулятор ТРМ32

− Многоканальный регулятор ТРМ33

− Многоканальный регулятор ТРМ34

− Многоканальный регулятор ТРМ38

2) OWEN-RS485:

− Многоканальный регулятор ТРМ138

− Универсальный двухканальный программный ПИД-регулятор ОВЕН ТРМ151

− Счетчик импульсов СИ8

− Прибор контроля положения ПКП1

− Модуль ввода аналоговый ОВЕН МВА8

− Модуль вывода управляющий ОВЕН МВУ8

− ПИД регулятор с универсальным входом ТРМ101

− Измеритель двухканальный с универсальными входами ОВЕН ТРМ200

− Измеритель-регулятор одноканальный с универсальным входом ОВЕН ТРМ201

− Измеритель-регулятор двухканальный с универсальными входами ОВЕН ТРМ202

− Контроллер приточной вентиляции ОВЕН ТРМ133

Для установки модулей OWEN-RS232 и OWEN-RS485 требуется запустить программу-инсталлятор (файл OwenOPC-setup.exe), содержащуюся на дистрибутивном диске.

Начиная с версии 1.0.0.5, OPC-сервера OWEN-RS232 добавлен тег, управляющий обменом на внешней шине (флаг активности OPC-сервера).

Имя тега «Status/active», тип BOOL. Запись в этот тег 1 (единицы) разрешает обмен по внешней шине, запись 0 (нуля) запрещает обмен.

Установка OPC-драйверов фирмы ОВЕН

Для установки модулей OWEN-RS232 и OWEN-RS485 требуется:

1) Запустить программу-инсталлятор (файл OwenOPC-setup.exe).

2) В открывшемся окне программы-инсталлятора – нажать кнопку «Далее». В последовательно открывающихся окнах мастера установки –выполнять инструкции, отображаемые в окне.

Рисунок 1 – Окно 1 программы – инсталлятора ОРС-сервера для приборов ОВЕН