Показано с 1 по 6 из 6

Тема: ТРМ232М + ТелемеханикаЛайт

  1. #1

    По умолчанию ТРМ232М + ТелемеханикаЛайт

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

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

  2. #2

    По умолчанию

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

  3. #3

    По умолчанию

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

  4. #4

    По умолчанию

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

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

    Скрипт на Pascal:
    PHP код:
      Var  status integer;
      Var 
    bit1bit2bit3bit4:  integer;
        Var  
    alarmP1alarmP2,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

  5. #5

    По умолчанию

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

  6. #6

    По умолчанию

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

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

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

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

Похожие темы

  1. Подключение двух контуров к ТРМ232М-01
    от Kirigan89 в разделе Эксплуатация
    Ответов: 22
    Последнее сообщение: 30.06.2017, 12:26

Метки этой темы

Ваши права

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