А где доказательства, что проблема на стороне контроллера, а не роутера?
Проверка с подключением к порту WAN локально напрямую прояснила бы этот вопрос.
Вид для печати
Т.е. то что МВ210 отвечает а ПЛК нет и по большому счету в сети больше никого нет это не доказательство. Роутер конечно можно обвинять, но мы с ними уже лет 8 работаем и они в куче банков установлены и как-то проблем не было. Каким образом мне доказать Вам что проблема не в роутере? Т.е если я смогу поймать этот момент. Если я вам скрины с ноутбука пришлю напрямую подключенного вы напишете где доказательства, что это не ноутбук. Не конструктивно это. Я могу только удаленный доступ дать чтобы было конструктивно.
Вложение 52419
Вот это через 2 часа. Не менялось ВООБЩЕ ничего.
Из того что было из моих косяков - неправильный IP был в настройках OwenCloud но сам OwenCloud был отключен насколько это возможно в текущей прошивке. И развисло все прямо с этой неправильной настройкой.
если проблемы именно с плк были бы, то и в первом скрине трасерта мы бы видели сервер 10.240.0.27 потому что с ним то связь же нормальная по определению. А раз постоянно появлялся адрес контроллера, значит такой же хост был в сети пингующего либо с впн сервером проблемы, и первый вариант более правдивый потому что модуль отвечал
Так мы его там и видим. Вы посмотрите внимательнее первый прыжок на 10.240.0.27 (IP роутера) и он нормальный, а дальше пинг ПЛК и все.... начинаются танцы с бубном со второго прыжка.
Добрый день!
Подскажите, как работать с NTP ?
В web интерфейсе плк, сервер настроен, сам сервер рабочий.
в CDS ничего не настраивал( где вкладка OwenRTC)
В самом OwenRTC не отображены настройки как из мастера настроек ( часовой пояс, сервер времени)
Часы убегают за вперед очень быстро
В общем вопрос, как заставить синхронизировать время с сервером ?
Добрый день.
0. Укажите версию прошивки ПЛК, пожалуйста.
1. Выложите скриншоты настроек NTP из web-конфигуратора.
2. В OwenRTC должен отображаться часовой пояс. Настройки NTP там действительно не отображаются.
3. Если NTP-сервер внешний (т.е. находится за пределами вашей сети), то это может быть связано с настройками сетевого оборудования.
Например, в моей локальной сети я могу синхронизировать время только с локальными NTP-серверами, ответы от публичных NTP-серверов не пропускаются.
0. plc210 1.2.0721.0832
1.
Вложение 52521
Вложение 52522
2. Действительно отображается, я ввел в заблуждение
3. Сервер внутренний
IP у ПЛК 172.16.8.1
Сервер времени стоит на 172.16.8.8
Тестирую с соседнего пк( 172.16.8.6)
командой w32tm /stripchart /computer:172.16.8.8 /dataonly /samples:3, все окей, это на предмет открытости портов на сервере
Сам я подключаюсь с пк 172.16.8.8
ПЛК его видит
Выложите скриншот Сеть/Интерфейсы.
Шлюза нет, но к слову в плк где он есть, тоже не подключается
Вложение 52525
Поменял маску, теперь так:
Почему то в веб интерфейсе невозможно принять какие то настройки, точнее применить.
Помогло только так:
uci set network.usb0.netmask='255.255.255.0'
uci commit
Затем в web интерфейсе перезагрузил usb интерфейс и он принял нужную маску
Вложение 52527
Но время не принялось,
есть ли способ проверить доступность ntp сервера из самого плк или еще лучше команда принудительной синхронизации с сервером?
В данной прошивке такой команды еще не было.Цитата:
есть ли способ проверить доступность ntp сервера из самого плк или еще лучше команда принудительной синхронизации с сервером?
Вы можете через OwenRTC задать некорректное значение системного времени - например, перевести дату на следующий день.
В течение 15 минут после этого должна произойти синхронизация по NTP.
Кнопка ручной синхронизации появится в прошивке, которая выйдет этой зимой.
Мы проверим еще раз работу NTP-клиента на текущих прошивках.
В принципе, вы можете организовать работу с NTP прямо в CODESYS:
https://youtu.be/TXTAQLNgdyc
пример кода:
Спасибо, работает как надо.
Теперь возникло пару вопросов:
1. Где надо учитывать часовой пояс: в NTP_FORMAT_TO_DT и в TargetVars.stRtc.siSetUtcOffset одинаковое ставить,
или в NTP_FORMAT_TO_DT ставить 0, а в TargetVars.stRtc.siSetUtcOffset ставить нужный пояс?
2. В web конфигураторе надо отключить NTP клиент во избежание каких либо конфликтов?
Вложение 52534
Вложение 52535
1. Одинаковое.
2. Можно отключить.
Объект по сути закончен и туда больше не езжу. Если буду на объекте, то как с Вами связаться?
Я отключил все интерфейсы ethernet (LAN и WAN), кроме одного LAN, т.к. если подключиться более чем к одному интерфейсу - то наблюдаются подвисания ПЛК, это видно по срабатывающим авариям. У них таймаут 2 секунды + таймаут обмена по сети 1 секунда, т.е. за три секунды нет ни одного опроса по сети. Аварий физически нет, но из-за того, что ПЛК не успевает опрашивать контроллеры, значения входных переменных сбрасываются в 0 и срабатывают условия возникновения аварий и моргает аварийная лампа на цифровом выходе ПЛК.
К сожалению проблемы с подвисанием сетевого интерфейса бывают и если использовать всего один порт LAN. Возникают они после перезагрузки ПЛК. Лечится опять же ребутом ПЛК.
В общем какая-то беда со встроенным в ПЛК роутером. Слава богу для техпроцесса я использовал проверенные надёжные контроллеры, а визуализацию, в качестве эксперимента, сделал на ПЛК210.
Попробуйте время цикла увеличить и период обновления визуализации. Сильно помогает от глюков. В типовой настройке через чур оптимистичные значения. Я давно пишу что этому ПЛК не хватает нормального процессора.
Всем добра!
Сегодня обратил внимание, что ПЛК очень медленно реагирует на действия в web-визуализации. До этого такое тоже бывало, но я не придавал этому значение.
Сама визуализация грузится дольше, чем обычно (но не на много), во-вторых, очень туго реагирует на ввод значений, после нажатия можно ждать минуту и больше.
Прикладываю видео.
https://www.youtube.com/watch?v=_5RVKheJ6co
Ниже скриншот монитора задач.
Вложение 52783
Проблема пропадает после перезагрузки ПЛК.
В чем причина? Как устранить?
Добрый день.
Не так давно видел похожую ситуацию - проблема была в пользовательском коде (выход за границы массива и сегментация памяти).Цитата:
В чем причина? Как устранить?
Для теста можно закомментировать весь код и проверить, не исчезнут ли после этого тормоза.
Без архива проекта и пошаговой инструкции по воспроизведению проблемы - сложно сказать что-то более конкретное.
turkish945 Ну ты хоть мне пришли проект, мне уже ж самому интересно, чего и как ты в нём написал!
А то ты пишешь, пишешь... а не показываешь. А когда мы с тобой будем щит апгрейдит я так и так увижу.
Ты ещё загрузку проца смотришь и использование памяти? Помнишь, у тебя же самый первый ПЛК, где процессорную плату надо менять? Вдруг там что-то греется, и проц начинает тормозить? Или что-то делает жриху памяти, и поэтому начинает тормозить.
В общем:
1. Какая загрузка процессора?
2. Какой аптайм на тот момент, когда начинает тормозить?
3. Какая температура в ПЛК, когда всё тормозит?
да там ничего интересного в проекте нет же, это можно сказать не проект, а времянка на 20 строк :)
Ну ок, пришлю.
по поводу 1: не смотрел.
по поводу 2: сегодня было в районе 2 недель.
по поводу 3: когда тормозило не смотрел, сейчас 54 С, а в помещении 30 С. Но думаю если бы дело было в повышенной температуре, то перезагрузка не спасала бы....
Т.е. у вас 2 недели все работало нормально, а сегодня начались тормоза?
ПЛК и ПК (или устройство, с которого вы работаете с web-visu) связаны через роутер?
turkish945 Пока смотрю навскидку и думаю, к чему придраться:
1. Ну хочешь, снизь максимальное число клиентов для визуализации с 100 до 10-20. Вообще, чтобы в будущем не перегрузить проц СПК.
2. В будущем, когда будешь прогать нормально, ВЫКИНЬ ты в пень все эти TargetVars и назначь сам нормальные переменные в соотнесении IO. А то конструкции типа
выглядят ужасно. Там проще сразу вместо xFastDi03 вписать bNightMode и получить искомое.Код:GVL.bNightMode := TargetVars.stLeftSide.xFastDi03;
Я вообще выкидываю всё штатное, включая и все списки переменных и делаю их сам с нормальными именами.
3. Про конверсии данных. Увидал там у тебя такое:
А можно написать сразу нужное преобразование WORD_TO_REAL. Там навалом таких пребразований, из типа в тип.Код:rOutdoorTemp := TO_REAL(TO_INT(wOutdoorTemp)) / 100;
4. В будущем обмен инфой между ПЛК Гаража и Дома надо будет попробовать замутить не через Modbus TCP, а через сетевые переменные в самом CodeSys прям. Будет меньше ручной работы, и оно работает автоматически.
5. А ещё зафига ты делаешь по умолчанию такие ОГРОМНЫЕ визуализации в 1200х1200 точек? Можно сделать её поменьше, под 800х600 и включить масштабирование под размеры устройства. И она растянется сама на большой экран.
В остальном я вижу штук 20 строчек кода с простыми IF и переключением переменных на True/False.
Из того, что я не знаю и не пользовался ишчо:
а) Запись трендов. Вдруг там чего-то накапливается со временем, и оно начинает тормозить
б) Вкладки в визуализации. У себя в проекте я переключаю визуализации кнопками. А у тебя стоит Tab Control, в которой переключаются визуализации с трендами внутри. Может в этом случае оно как-то может тормозить?
Из того, где можно ещё подумать - отрисовка фонов или что-то подобное. Вон на Tab Control есть свойство "Deactivate the background drawing". Я не изучал, надо почитать. Вдруг оно создаёт лишние рисовалки, которые тормозят систему?
Т.е. ПЛК подключен к роутеру, и клиенты web-визу цепляются к этому же роутеру по Wi-Fi?
У, меня, например, старый D-Link - несколько раз в неделю он стабильно тупит (клиенты отваливаются и не могут подключится к нему в течение 10-20 минут), несколько раз в месяц возникают ситуации, когда помогает только перезагрузка роутера по питанию.
Я пробовал word_to_real, при этом он не понимает про отрицательные значения и в случае таких выдает хрень. Короче не стал разбираться как сделать правильно (наверняка можно как-то) и сделал через двойное преобразование.
это видимо значение по умолчанию, по факту там бывает 1 клиент, не больше. И то, раз в несколько дней.
Думаю, если бы дело было в этом, то тормозило бы всегда.
ПЛК к роутеру, к нему же точка доступа вай-фай, к ней клиент web-visu.
Подобных проблем в этой связке у меня никогда ни с чем не было, работает давно. К тому же параллельно я лазил по web-интерфейсу ПЛК и там все работало штатно. Ну и вряд ли бы в таком случае помогла перезагрузка ПЛК...
Отлаживать проблемы, которые воспроизводятся раз раз в две недели (а возможно, и реже) - тяжело.
В следующий раз, пожалуйста, не перезагружайте ПЛК, а свяжитесь с нами - мы подключимся и попробуем разобраться, в чем может быть дело.
У меня на двух плк одинаковые проекты, но один примерно тоже через недели две отвалился. Помогла только перезагрузка плк. Ни сброс до заводских( из кодесис) с заливкой заново.
Кое как из таргета, там где есть переменная перезагрузки, удалось перезагрузить. Ни по ssh ни по веб интерфейсу не достучаться было.
Понятно. Ну, как вы знаете, всякое бывает.
https://owen.ru/forum/showthread.php...l=1#post340872
Согласен , это я к слову что проекты одинаковы и настройки плк( сети и т.п.), а повели себя по разному
Накопилось несколько неясностей:
1.
Pou для проверок, есть ли какие то ограничения на них, можно ли добавлять их всегда в проект или только на этапах проверки?
2. По перезагрузке плк удаленно, из той ситуации когда только из кодесис после логина можно перезагрузить. Есть ли еще способы, я имею ввиду не логинившись, но отправить команду на перезагрузку, например помигать можно, а перезагрузить нет?
3. Static analyzer из профессиональной версии поможет в нахождении проблем типичных для "Pou для неявных проверок" ?
4. Присматриваюсь к CDS pro из за совместной работы и svn, будут ли какие либо ограничения со стороны плк210. Или достаточно соблюдать: версии таргета- прошивки- версия компилятора под нужный таргет
1. В одной из статей разработчики CODESYS рекомендуют использовать их только на этапе отладки, так как они увеличивают время цикла.
2. Я думаю, что в описанной ситуации способов нет.
3. Я думаю, что нет, поскольку такие вещи зачастую невозможно отследить на этапе компиляции.
4. SVN никак не связана с таргетами, прошивками и т.д. Использовать можно (у нас в отделе используют). В следующем году обещают добавить интеграцию с Git.