1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Модули TM3 обработка аварий аналоговых датчиков.

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить

Автор темы
Ronin
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 08 дек 2012, 17:19
Имя: Aрлам Булатбекович
Страна: Латвия
город/регион: Рига

Модули TM3 обработка аварий аналоговых датчиков.

Сообщение Ronin »

Доброго времени суток. Подскажите пожалуйста, как обработать аварийную ситуацию (обрыв, замыкание кабеля) аналогового датчика с выходным сигналом - 4-20 мА на модуле TM3AI8/G?
Я использую ПЛК TM251MESE + IO модули TM3AI8/G + среда разработки SoMachine v4.3, пытаюсь определять состояние входного аналогового сигнала по диагностическим байтам для каждого аналогового канала модуля ibModule_X_IBStatusIW_Y, где X и Y - это номер модуля и канал соответственно. В онлайне при обрыве датчика я вижу изменение этой переменной во вкладке Module_X > I/O Mapping, но использовать у себя в программе её я не могу. Может я не там ищу решение данной задачи?
Заранее спасибо за любую помощь.

ogorsv
завсегдатай
завсегдатай
Сообщения: 578
Зарегистрирован: 02 дек 2015, 06:57
Имя: Огородников Сергей
Страна: РФ
Благодарил (а): 121 раз
Поблагодарили: 103 раза

Модули TM3 обработка аварий аналоговых датчиков.

Сообщение ogorsv »

Добрый день!
Посмотрите, что происходит со значением самой переменной IW0, IW1 etc
СВ

Автор темы
Ronin
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 08 дек 2012, 17:19
Имя: Aрлам Булатбекович
Страна: Латвия
город/регион: Рига

Модули TM3 обработка аварий аналоговых датчиков.

Сообщение Ronin »

Спасибо за скорый ответ.
Вот скрины показаний переменной IW6 в модуле 9 при подключённом датчике с выходом 4-20мА (IW6_connected) и отключенном (IW6_disconnected) из которых видно, значение IW6 не меняется в обоих случаях = 4000, а вот значение ibModule_9_IBStatusIW6 - при подключённом датчике = 0, а при отключённом кабеле от датчика = 6 .
Подскажите есть ли возможность использовать эту переменную в своей программе, или нет. Напрямую обращение к ibModule_9_IBStatusIW6 у меня не заработало?
IW6_disconnected.jpg
IW6_connected.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

vadymosadchuk
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 07 май 2020, 11:37
Имя: Осадчук Вадим
Страна: Украина
город/регион: Винница

Модули TM3 обработка аварий аналоговых датчиков.

Сообщение vadymosadchuk »

Добрый день. Странно что Вы не можете обращаться к переменной ibModule_9_IBStatusIW6. Попробуйте создать переменную типа BYTE. Не важно глобальною или локальною и сделать тупое присвоение. bVar1 := %IB28. Переменная bVar1 типа BYTE. Хотя повторюсь непонятно почему не можете обращаться напрямую.

Автор темы
Ronin
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 08 дек 2012, 17:19
Имя: Aрлам Булатбекович
Страна: Латвия
город/регион: Рига

Модули TM3 обработка аварий аналоговых датчиков.

Сообщение Ronin »

Да спаисбо. Всё заработало. Из-за невнимательности проблемма была в типах переменных.
Ответить

Вернуться в «ПЛК»