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

Тема: Обрыв межсетевого обмена

  1. #1

    По умолчанию Обрыв межсетевого обмена

    День добрый, уважаемая общественность!

    Такой вопрос. Есть три ПЛК, работают в одной подсети используя межсетевой обмен по ethernet (UDP). Допустим с ПЛК1 и ПЛК2 передаем по два слова word на ПЛК3. Если из любого ПЛК выдернуть кабель ethernet, то на индикаторе останется последнее принятое значение. Как сделать индикацию о обрыве соединения?

    Спасибо!

  2. #2

    По умолчанию

    передавать постоянно счетчик секунд с каждого на каждый - если значение X секнд не меняется - обрыв
    Тролль-наседка, добрый, нежный и ласковый

  3. #3

    По умолчанию

    Понятно. Грустно! Спасибо.

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

    По умолчанию

    Цитата Сообщение от IIeroniux Посмотреть сообщение
    ... Грустно! ...
    Вы используете UDP
    UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в приложении. Чувствительные ко времени приложения часто используют UDP, так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени.
    на нем даже без физического обрыва кабеля можно не дождаться данных
    Последний раз редактировалось Николаев Андрей; 23.12.2014 в 15:21.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  5. #5

    По умолчанию

    Мне это известно, что протокол не гарантирует целостность доставки данных. Думал, есть штатная функция определения обрыва линии связи.
    Стоит задача передавать раз в 10 секунд показания температуры с трех источников и отслеживать превышение сверх положенного.

  6. #6

    По умолчанию

    Цитата Сообщение от IIeroniux Посмотреть сообщение
    Стоит задача передавать раз в 10 секунд показания температуры с трех источников и отслеживать превышение сверх положенного.
    ну дык если через 10 секунд пакета нет (SysSockRecv возвращает 0 или -1 ) значит обрыв. )

  7. #7
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию

    Цитата Сообщение от IIeroniux Посмотреть сообщение
    День добрый, уважаемая общественность!

    Такой вопрос. Есть три ПЛК, работают в одной подсети используя межсетевой обмен по ethernet (UDP). Допустим с ПЛК1 и ПЛК2 передаем по два слова word на ПЛК3. Если из любого ПЛК выдернуть кабель ethernet, то на индикаторе останется последнее принятое значение. Как сделать индикацию о обрыве соединения?

    Спасибо!
    А чем простой Модбас ТСП не устраивает?

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

    По умолчанию

    Ну если на ТСП уже модбас слэйв висит , само собой появляется желание "разгрузить" , т.к UDP ресурсы памяти В.В не жрет.

  9. #9
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию

    Про то что слейв висит не слова не было

  10. #10

    По умолчанию

    Цитата Сообщение от жекон Посмотреть сообщение
    А чем простой Модбас ТСП не устраивает?
    Всё просто - не умею его готовить. Если в конфигурации ПЛК (codesys 2.3) вставить Modbus (slave), то можно вместо rs-485 выбрать tcp. А при добавлении Modbus (master) опции tcp нету, только modem, 232, 485.
    У меня есть ПЛК-1 и ПЛК-2 (расстояние между ними 500 метров, локалка прокинута), к каждому по rs-485 подключены датчики. И необходимо показания с этих двух ПЛК завести на ПЛК-3 (локалка прокинута).
    Вообще, что проще для меня - то и сделал.

    Ребята, ещё вопрос. По организации связи через UDP, правильно ли я реализовал?

    ПЛК-1 настроен в глобальных переменных PLC1 (идентификатор 1), и общие сетевые переменные А1 и А2, Word.
    ПЛК-2 настроен в глобальных переменных PLC2 (идентификатор 2), и общие сетевые переменные А3 и А4, Word.
    В настройках ПЛК-3 в глобальных переменных два списка, PLC1 (А1, А2) и PLC2 (А3, А4). У каждого соответствующий идентификатор.
    Опрашивается нормально.

    А когда был настроен единый список на все проекты с именем PLC (А1, А2 в ПЛК-1 и А3, А4 в ПЛК-2), в ПЛК-3 также PLC (А1, А2, А3, А4) но уже со всеми переменными - показания отображалась попеременно. А1, А2 - значения, А3, А4 - нули. Потом наоборот. И так каждую секунду. Т.е. одновременно все параметры А1... А4 не отображались. Переделал на отдельные списки PLC1, PLC2 и всё заработало. Это нормально?
    Последний раз редактировалось IIeroniux; 25.12.2014 в 15:20.

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

Похожие темы

  1. Обрыв с косяком на МВА
    от Anton_Minsk в разделе Мх110
    Ответов: 14
    Последнее сообщение: 03.11.2014, 10:31
  2. ПЛК100 и обрыв связи
    от Malyshevsergey в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 18.10.2012, 14:50
  3. Обрыв соеденения
    от Salvafion в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 18.09.2011, 21:30
  4. обрыв датчиков
    от AntonTrade в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 15.07.2010, 14:58
  5. МВА8 и обрыв датчика 4-20мА
    от Владимир Чекин в разделе Мх110
    Ответов: 7
    Последнее сообщение: 25.06.2010, 18:12

Ваши права

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