PDA

Просмотр полной версии : ТРМ232М + ТелемеханикаЛайт



Яшина Татьяна
30.01.2017, 16:22
Вашему вниманию предлагается типовое решение для диспетчеризации прибора ТРМ 232М реализованное посредством связи через OPC-сервер «Овен OPС». При работе с другим OPC вы можете использовать данный проект в качестве примера.
2902329024
Для работы с проектом необходимо:
1. Ознакомиться с руководством.
2. Скачать и установить OPC-сервер «Овен ОPC»http://http://www.owen.ru/catalog/36242946
3. Скачать и установить ПО и обновление к нему «Телемеханика Лайт». (ссылка) (http://www.owen.ru/catalog/44039026) ( В демо-режиме работает 2 часа,после чего требуется перезапуск. Если прибор уже приобретен, то можете воспользоваться бесплатной регистрацией http://www.owen.ru/catalog/12156065 ).
4. Обеспечьте связь между устройством и АРМом, например посредством преобразователя интерфейсов Овен АС4( RS-485 – USB).

Скачайте архив «ОВЕН ТРМ232М сх.5.7z» и разархивируйте в папку на локальном диске.

Teplovik
07.02.2017, 13:31
Здравствуйте, С чтением параметров в целом все просто, даже более чем ,НО есть вопрос : В 232-м (ТРМ) состояние дискретных выходов записывается статусным словом, мне для контроля состояния выходов соответственно нужно знать состояние каждого бита. КАК в этом случае поступить?

Яшина Татьяна
08.02.2017, 09:04
В программе "Контроллеры" Телемеханики Лайт вы можете самостоятельно создать пользовательскую функцию "Побитовое считывание" (через элемент "Скрипт"), основываясь на простой логике: проверка наличия "единички" в нужном вам бите - через побитовое умножение ( побитовое логическое И). По сути сравниваете ваше статусное слово со степенями двойки.
Данная логика реализована для считывания состояния дискретных выходов ТРМ232, пример можете посмотреть в проекте ( Программа Контроллеры: Контроллер 3 - Задачи пользователя - Считывание состояния дискр_выходов). На вход подается как раз то самое статусное слово, на выходах уже - результат обработки ( Сигналы аварий насосных установок). Вы можете менять скрипт под ваши задачи, а так же использовать его и в других проектах (просто копировать-вставить и привязать ваши переменные на входы\выходы).

Яшина Татьяна
08.02.2017, 10:40
Собственно как это выглядит в программе и как до этого добраться: В дереве слева выбираете задачу Считывание состояния дискр_выходов. В правой области откроется поле с элементами программы. Выбираете показанный на рисунке скрипт. При выборе скрипта выше появится вкладка "ФБ Скрипт", пройдя по которой вы получите доступ к настройкам скрипта 29261.

Вкладка "ФБ Скрипт" выглядит следующим образом: 29262 . Здесь вы видите входы/выходы Функционального блока (ФБ), их тип и есть ли к ним подключение. Вы можете редактировать( изменять-добавлять-удалять) входы выходы в зависимости от ваших задач. Нажав на кнопку "Редактировать скрипт" ниже таблицы вы попадете в редактор скриптов, где и сможете изменить код. В спойлере можете посмотреть код на Pascal и модифицировать его под свои задачи.


Var status : integer;
Var bit1, bit2, bit3, bit4: integer;
Var alarmP1, alarmP2,alarmP3,alarmP4 : Bool;

{---------- main program -----------}
begin
ReadInteger('Status', status); { считывание входа Status и запись во внутреннюю переменную скрипта status

ReadBool('AlarmP1', alarmP1);{ считывание выхода AlarmP1 и запись во внутреннюю переменную скрипта alarmP1
bit1 := status and 2; { в переменную bit1 записывается результат побитового умножения статусного слова и 2 - проверка первого бита
if bit1 >= 2 then alarmP1:=true { процедура сравнения
else alarmP1:=false;
WriteBool('AlarmP1',alarmP1); { передача значения на выход AlarmP1

ReadBool('AlarmP2', alarmP2);
bit2 := status and 4;
if bit2 >= 4 then alarmP2:=true
else alarmP2:=false;
WriteBool('AlarmP2',alarmP2);

ReadBool('AlarmP3', alarmP3);
bit3 := status and 8;
if bit3 >= 8 then alarmP3:=true
else alarmP3:=false;
WriteBool('AlarmP3',alarmP3);

ReadBool('AlarmP4', alarmP4);
bit4 := status and 16;
if bit4 >= 16 then alarmP4:=true
else alarmP4:=false;
WriteBool('AlarmP4',alarmP4);

end.

Teplovik
09.02.2017, 14:51
Проработал проект только 2 часа.Пишет , что у меня лицензия СКАДА на 100 сигналов, а в примере 278...... ЧД?

Яшина Татьяна
09.02.2017, 15:51
Ограничение работы в 2 часа в режиме опроса - особенность демонстрационной версии ПО Телемеханика Лайт. В незарегистрированной версии просто запустите проект заново, он проработает следующие 2 часа без перезапуска.

В зарегистрированной версии на 100 сигналов уменьшите число сигналов, убрав неиспользуемые или ненужные вам, тогда вы сможете уложиться в ограничение.

Для того чтобы уменьшить количество сигналов, которые считываются с ОРС в программе «контроллеры» в дереве в «Каналах-ввода вывода» выберите «ОРС-сервер 1» и в рабочей области справа нажмите кнопку « Добавить/удалить каналы». И уберите галочки с ненужных параметров. Наглядно на картинке :29324

Также рекомендую удалить неиспользуемые параметры в ОРС-сервере, это увеличит скорость обмена ( лишние параметры не будут занимать очередь опроса).