Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 34

Тема: Соединение TCP после обновления программы или БАГ в ПЛК110

  1. #1
    Пользователь Аватар для dudanov
    Регистрация
    27.01.2013
    Адрес
    Сызрань
    Сообщений
    46

    Exclamation Соединение TCP после обновления программы или БАГ в ПЛК110

    День добрый.

    Вопрос в следующем: написана программа, опрашивающая другой ПЛК по протоколу Modbus TCP с помощью сокетов и библиотеки SysLibSockets. При включении ПЛК успешно опрашивает раз в 30 секунд, открывая сокет, устанавливая TCP соединение, посылая запрос, получая ответ и закрывая сокет. Но стоит обновить программу через CoDeSys, используя без разницы или Debug RS-232 или Ethernet, то после естественного сброса ПЛК после прошивки и инициализации переменных опрос перестает работать, холодный сброс в CoDeSys не помогает. Требуется физически отключить питание ПЛК и дождавшись пока пройдет время работы от батареи, заново подать питание. При всем при этом рабочим остается блок синхронизации времени с NTP сервером, использующего UDP протокол!

    Остается только догадываться, что это баг в ПЛК110. В моем случае это просто недопустимо. Что скажут разработчики и пользователи ПЛК фирмы ОВЕН?

    При необходимости могу выложить фрагмент кода функционального блока.

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Старт программы нажимаете в ручную?
    Если нет то ПЛК стартанет(перейдет в RUN) только после перезапуска питания.

  3. #3
    Пользователь Аватар для dudanov
    Регистрация
    27.01.2013
    Адрес
    Сызрань
    Сообщений
    46

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    Старт программы нажимаете в ручную?
    Если нет то ПЛК стартанет(перейдет в RUN) только после перезапуска питания.
    Запуск ПЛК происходит через CoDeSys, через него же и попытки сброса обычного и "холодного". Не помогает ничего. Но, как я говорил, синхронизация времени по UDP в этой же программе на этом же ПЛК отлично работает!

  4. #4
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Проверьте сколько сокетов у вас открыто.
    попробуйте их сначала закрыть.

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

    По умолчанию

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

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

  6. #6
    Пользователь Аватар для dudanov
    Регистрация
    27.01.2013
    Адрес
    Сызрань
    Сообщений
    46

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    Проверьте сколько сокетов у вас открыто.
    попробуйте их сначала закрыть.
    Сокетов не может быть открыто много. После открытия и обмена данными я их сразу же закрываю.

  7. #7
    Пользователь Аватар для dudanov
    Регистрация
    27.01.2013
    Адрес
    Сызрань
    Сообщений
    46

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    естественно при прошивке программы, Вы не закрываете корректно сокет и получаете проблемы
    Тогда вопрос: почему программа стартует заново, переменные заново инициализируются, а открытые сокеты не закрываются?! Это же баг и никак иначе! И поворюсь во второй раз, что обмен по UDP работает и с сокетами проблем не возникает, в отличие от сокетов TCP. Что это тогда если не баг? Встроенная прошивка ПЛК должна об этом заботится.

  8. #8
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    естественно при прошивке программы, Вы не закрываете корректно сокет и получаете проблемы
    правильно вам подсказывают.
    как вы их закрываете?
    просто рвете соединение после прошивки?

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

    По умолчанию

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

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

  10. #10
    Пользователь Аватар для dudanov
    Регистрация
    27.01.2013
    Адрес
    Сызрань
    Сообщений
    46

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    правильно вам подсказывают.
    как вы их закрываете?
    просто рвете соединение после прошивки?
    Закрытием сокетов, корректным освобождением других ресурсов перед предстоящей прошивкой должна заниматься встроенная прошивка ПЛК или я не прав?? Это стандартная штатная задача, предусмотренная IDE CoDeSys.

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 19
    Последнее сообщение: 24.09.2021, 09:13
  2. Modbus, баг со связью или нет?
    от Boris_K в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 06.05.2014, 18:25
  3. Уснул ПЛК 110-60 после обновления прошивки
    от Баженов Николай в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 09.08.2013, 20:48
  4. Баг или фича ТРМ151?
    от По самые по... в разделе Разработки
    Ответов: 21
    Последнее сообщение: 23.12.2009, 14:44

Ваши права

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