Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 34

Тема: ПЛК110 М02, прошивка 0.3.73, TCP клиент на SysLibSockets вызывает перезагрузку ПЛК.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    у меня прием - передача без флагов.

    посмотрел твой код еще. зависает на чтении SysSockRecv возвращает 0 или -1, и как это обрабатывает прога?
    я вроде не увидел как - походу никак. как она сокет переоткроет? - никак )

    error при разрыве связи не возникает при чтении (да и при записи не возникнет ибо протокол не гарантирует доставку пакета а только отправку) completed тоже не возникает. нет пакетов на чтение какое то разумное время - переоткрываем сокет. хотя канеш и в ребут по хорошему уходить не должно. еще я пишу в проектах client.pBuffer := ADR( buffer[0] ); хоть и масло масляное но значит когда то нарывался причины уже не помню )

    если ошибка продолжает вызывать эту же функцию в следующем цикле. у нас же вроде асинхронный режим включен (не блокирующий). на первый взгляд все должно виснуть но такого никогда не замечал. )

    ps/ нашел. watchdog(); там точка останова стояла (после watchdog.Q)? )
    TIMEOUT_DEFAULT 5 сек - думаю и секунды хватит (у меня 500ms обычно) но не принципиально. в ребут не должно уходить все равно по хорошему.
    Последний раз редактировалось lazy; 16.05.2018 в 17:59.

  2. #2

    По умолчанию

    Цитата Сообщение от lazy Посмотреть сообщение
    у меня прием - передача без флагов.

    посмотрел твой код еще. зависает на чтении SysSockRecv возвращает 0 или -1, и как это обрабатывает прога?
    я вроде не увидел как - походу никак. как она сокет переоткроет? - никак )

    error при разрыве связи не возникает при чтении (да и при записи не возникнет ибо протокол не гарантирует доставку пакета а только отправку) completed тоже не возникает. нет пакетов на чтение какое то разумное время - переоткрываем сокет. хотя канеш и в ребут по хорошему уходить не должно. еще я пишу в проектах client.pBuffer := ADR( buffer[0] ); хоть и масло масляное но значит когда то нарывался причины уже не помню )

    если ошибка продолжает вызывать эту же функцию в следующем цикле. у нас же вроде асинхронный режим включен (не блокирующий). на первый взгляд все должно виснуть но такого никогда не замечал. )

    ps/ нашел. watchdog(); там точка останова стояла? )
    TIMEOUT_DEFAULT 5 сек - думаю и секунды хватит (у меня 500ms обычно) но не принципиально. в ребут не должно уходить все равно по хорошему.
    конечно стояла
    бред какой-то, завтра еще с этим поважусь и если не победю, то отложу до нового ПЛК, может в железке дело, хотя в то, что виновата железо то же не верю
    Последний раз редактировалось monteg; 16.05.2018 в 18:03.

  3. #3

    По умолчанию

    Победить не получилось. Делаю следующие.
    Стенд - ПЛК110-30 М02, свитч, ПК, к ПЛК подключаюсь по USB
    1. Залил проект в ПЛК, «Онлайн» - «Старт», перехожу на визуализацию «TcpClient2»
    2. Заполняю, ip, port, timeout=T#1m, pause=T#50ms, жму “apply”
    2. жду пока пойдет обмен данными – начнут расти счетчики totalSend и totalRecv
    3. выдергиваю ethernet кабель от ПК, наблюдаю
    4. растет только recvCounter в течении 2.5 - 3.0 секунд ( смотрю watchdog.ET )*
    5. потом все замирает на несколько секунд и ПЛК перезагружается

    Сегодня не поленился, съездил на производство взял другой ПЛК110-30 М02, куплен в 2018, на корпусе переключатель в защите . Ведет себя абсолютно также. Причем хочу опровергнуть свое утверждение в первом посте – на прошивке 0.3.72 ПЛК ведет себя также. Поэтому обновил первый пост. Может данный эффект не стабилен, может просто не заметил. ПЛК110-30 перезагружается быстро и без лишнего шума. Поэтому в PLC_PRG сделал задержку запуска 2 секунды и включил динамик.

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

    * - если передернуть кабель «быстро», то обмен восстанавливается, и перезагрузки не происходит

    PS: использование флагов в SysSockSend и SysSockRecv не помогло
    Последний раз редактировалось monteg; 18.05.2018 в 19:18.

  4. #4

    По умолчанию

    Просто, если в моём проекте таймаут ставить не больше двух секунд, по описанный эффект не происходит. Все хорошо работает. Баг в ПЛК, по моему мнению, все таки есть, но он безобидный. А я с этой ерундой неделю провозился. Зато приобрел бесценный опыт.
    А вообще в этом есть, что-то странное - Вы взяли библиотеку, переделали, создали на ее основе проект, протестировали, а пробовать готовый проект не стали.

  5. #5

    По умолчанию

    Тему можно закрывать, уже лирика пошла.

  6. #6

    По умолчанию

    Цитата Сообщение от monteg Посмотреть сообщение
    Тему можно закрывать, уже лирика пошла.
    вопрос у Вас решился?

  7. #7

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    вопрос у Вас решился?
    Да, все нормально.

  8. #8

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    За основу взял код Трофимова Артема (п#4). Переработал творчески (есть лишнее и нелогичности)
    Плк110-60, 0.3.73, в разрыв подключения воткнул какой-то Зухел.
    Дергал питание Зухеля, дергал туда сюда кабели.
    Восстановление 1..10 сек. Перезагрузов - нет. Ошибок - 0 (за исключением тех что в момент разрывов).
    Сходил на обед, ошибок 0. Ok-транзакций свыше 3млн.
    Опросов - более 700 в сек при свободном времени в цикле практически всегда 900мкс.
    А где образцовый проект ?

  9. #9

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    За основу взял код Трофимова Артема (п#4). Переработал творчески (есть лишнее и нелогичности)
    Плк110-60, 0.3.73, в разрыв подключения воткнул какой-то Зухел.
    Дергал питание Зухеля, дергал туда сюда кабели.
    Восстановление 1..10 сек. Перезагрузов - нет. Ошибок - 0 (за исключением тех что в момент разрывов).
    Сходил на обед, ошибок 0. Ok-транзакций свыше 3млн.
    Опросов - более 700 в сек при свободном времени в цикле практически всегда 900мкс.
    А мой проект из первого поста Вы пробовали?
    И еще попробуйте в вашем проекте поставить таймаут 5сек и повторите эксперимент, и дергать надо не питания Зухеля, а ethernet кабель сервера, потому что когда линк падает у ПЛК ничего плохого не происходит.
    Последний раз редактировалось monteg; 18.05.2018 в 19:17.

  10. #10

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Я же не в овене работаю..
    Подтвердить могу бинарником на чужой сервер.
    Были бы нормальные пароли - выложил бы биб-ку.
    Темнишь что-то ?

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. плк110-32 прошивка
    от Jonikk в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 23.03.2020, 13:57
  2. Ответов: 4
    Последнее сообщение: 04.05.2018, 08:08
  3. Ответов: 9
    Последнее сообщение: 23.06.2017, 11:54
  4. Ответов: 1
    Последнее сообщение: 31.03.2016, 08:29
  5. TCP клиент на SysLibSockets
    от Carter в разделе ПЛК1хх
    Ответов: 45
    Последнее сообщение: 12.10.2015, 16:09

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

Ваши права

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