Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: плк-100,разрыв соединения RS-485 и переменные

  1. #1

    Question плк-100,разрыв соединения RS-485 и переменные

    Добрый день! Сейчас, возможно, будут пинать, что не раз это всё обговаривалось и описывалось. Но не нашёл! Просмотрел много тем и типичных примеров, но суть так и не понял.
    Идёт опрос ПЛК-100 по Modbus RTU 6 датчиков. Всё работает нормально. Создаю разрыв соединения линии RS-485 в ручную(отсоединяю провод). И вижу, что значения , которые считываются замораживаются. То есть остаются те, которые были на момент разрыва. Если восстановить соединение, то значения начинают меняться как и положено. Работаю через конфиг.
    Вот думаю решить этот вопрос так: отслеживать код ошибки"Last Error" и если она есть подать команду
    0x00FF на канал Start/Stop, дабы заново его опросить. Обнулятся ли в этом случае переменные!? Или написать цикл, в конце которого затирать переменные? Что посоветуете? Может что рациональнее.
    По библиотеке SysLibCom - только начал разбирать. Неужели конфигом тут не обойтись?!

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,317

    По умолчанию

    отслеживать код ошибки"Last Error" и если она есть подать команду
    0x00FF на канал Start/Stop, дабы заново его опросить.
    Как только телевизор сгорел буду жать на кнопы переключения каналов.

    Или написать цикл, в конце которого затирать переменные?
    Зачем ?

    Обнулятся ли в этом случае переменные!?
    А почему должно обнулится ? Я вот считаю при обрыве связи там должно быть число 7.

  3. #3
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от cen_turion Посмотреть сообщение
    Добрый день! Сейчас, возможно, будут пинать, что не раз это всё обговаривалось и описывалось. Но не нашёл! Просмотрел много тем и типичных примеров, но суть так и не понял.
    Идёт опрос ПЛК-100 по Modbus RTU 6 датчиков. Всё работает нормально. Создаю разрыв соединения линии RS-485 в ручную(отсоединяю провод). И вижу, что значения , которые считываются замораживаются. То есть остаются те, которые были на момент разрыва. Если восстановить соединение, то значения начинают меняться как и положено. Работаю через конфиг.
    Вот думаю решить этот вопрос так: отслеживать код ошибки"Last Error" и если она есть подать команду
    0x00FF на канал Start/Stop, дабы заново его опросить. Обнулятся ли в этом случае переменные!? Или написать цикл, в конце которого затирать переменные? Что посоветуете? Может что рациональнее.
    По библиотеке SysLibCom - только начал разбирать. Неужели конфигом тут не обойтись?!
    Если в конфиге опрос циклический , то пофиг ему эти FF (255) в старт/стоп ! Другое дело при не отвечающем устройстве опрос будет тормозить.
    Анализируя в программе "Last_Address" и "Last_Error" можно оперировать значениями переменной и аварийной сигнализацией .
    Валенок не прав ! При обрыве связи значение должно быть "999" .

  4. #4

    По умолчанию

    Анализируя в программе "Last_Address" и "Last_Error" можно оперировать значениями переменной и аварийной сигнализацией
    то есть вот тут и обнулять значения!?
    в опросе участвуют переменные ,которые отвечают за состояние датчика. Дабы не создавать ещё одно условия для аварийного случая думаю просто привести их к нулю. Так делал с СПК207,там есть такая функция.

  5. #5

    По умолчанию

    всё-таки удалось программно реализовать корректный опрос датчиков по RS-485, при случае обрыва соединения. Теперь как и требовалось данные обнуляются. Если кому интересно могу описать подробнее.

  6. #6
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Ну опишите коль тема создана, интересно посмотреть.

  7. #7
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,819

    По умолчанию

    Цитата Сообщение от cen_turion Посмотреть сообщение
    всё-таки удалось программно реализовать корректный опрос датчиков по RS-485, при случае обрыва соединения. Теперь как и требовалось данные обнуляются. Если кому интересно могу описать подробнее.
    И кем это требовалось их обнулять? Тут попахивает вредительством или диверсией, особенно если считываемые значения с датчиков используются для каких-нибудь PID регуляторов. Наверно цель стоит крутануть привод так, чтобы агрегат в разнос пошел
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8

    По умолчанию

    Согласен с petera. Причем тут обнулять. Вам надо отследить потерю связи и ПЛК должен все отключить - включить очень большую красную лампу и очень большую сирену (хотя не знаю чем вы там управляете).

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    чего пристали к человеку,может он не правильно выразился, обнуление ему нужно для визуализации скорее всего
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10

    По умолчанию

    обнуление ему нужно для визуализации
    И вместо надписи "ПОТЕРЯ СВЯЗИ. АВАРИЯ" будут светится "0000". Это оригинально.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 13.03.2014, 18:12
  2. ПЛК-100 RS-485 ТРМ202
    от maks-tver в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 15.03.2013, 14:42
  3. Ответов: 1
    Последнее сообщение: 25.02.2012, 10:55
  4. модем МП01 разрыв соединения
    от Дмитрий Ф в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 11.11.2011, 08:10

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

Ваши права

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