PDA

Просмотр полной версии : Я сдаюсь, памагити. PLC_PRG перестаёт выполняться в Control Vin V3



Нидвораич
28.03.2025, 00:26
Здравствуйте :)
Имею Codesys 3.5 SP5 patch 5 и СПК207-220-03.00-CS-WEB [M05], прошивка 5.480, таргет spk207.03.web.
Уже больше недели я не пишу код, а борюсь с багами и глюками, которые уже не в силах победить.
Я отлаживал проект на реальных устройствах, но в ближайшее время мне нужно будет поставить СПК на завод, соответственно - дальнейшую работу нужно будет осуществлять на виртуальном контролере.
И вот с этим огромная проблема, которую, возможно, я ранее не замечал, потому что толком не использовал виртуальный контролер.

Дело в следующем:
При работе проекта на Control Win V3 3.5.5.50 на 4-5 цикле PLC_PRG просто перестаёт выполняться. Задачи визуализации и тревог продолжают выполняться, визуализация отзывается (ездит ползунок, щёлкаются кнопки), счётчики этих двух задач тоже растут. А счётчик MainTask стоит на нуле, точки останова внутри PLC_PRG игнорируются. При попытке остановки выполнения кнопкой Стоп среда разработки подвисает где-то на минуту, потом говорит про потерю связи с прибром. Если в трее выключить виртуальный контролер - иногда включить его обратно уже не получается. Приходится убивать процесс и запускать заново. Иногда и это не помогает (процесс просто не старутет в трее), приходится перезагружать комп.
Подобные зависания виртуального контролера просиходят именно когда проявляется баг с пропаданием главной задачи. В иных случаях всё работает штатно.
Если создать чистый проект - всё нормально останавливается и запускается. Именно так я первый раз и победил проблему, просто перенося всё в новый проект.
Но теперь она возникла снова, и непонятно, сколько раз ещё повторится.

При этом на живом ПЛК207 подобного не наблюдается...
Один раз мне удалось победить проблему, создав проект заново и перенеся в него вручную весь код.
Сейчас это повторилось снова, и как уловить саму проблему - ума не дам. Вочсобаку пробовал выставлять - она особо на след проблемы тоже не выводит.
В журнале не вижу никаких намёков на проблему.
Куда копать - не понимаю((( Я уже закоментировал в PLC_PRG все вызовы всего постороннего, удалил задачи визуализации и тревог. Один фиг - три-четыре цикла проходит, и всё.

Мы уже купили новый СПК107, но мне потребуется время на написание проекта. Хотели временно поставить СПК207 для частичной автоматизации узла замеса. Но вместо написания кода я постоянно нахожу себя в перманентной борьбе с ветряными мельницами :)
Дополнительно всё осложняется тем, что ветки форума по СПК207 архивированы, половина ссылок не работает - оч сложно отыскать похожие проблемы.
Пытался неоднократно, но отваливания именно главной задачи на виртуальном контролере не встречал.

Единственное, что мне бросается в глаза - так это версия некоторых библиотек, которая явно выше 3.5.5.0 (приложено в скрине). Но с ними я тоже сделать ничего не могу - не находятся соответствующие заполнители.

Ооооочень долго уже копаю это всё. Какой-то внятной причины не нахожу, а переносить каждый раз всё из проекта в проект в попытке убежать от багов - очень неблагодарное занятие((

Спасибо за понимание, терпение и тыкание носом в суть :)8275082751827528275382754


Проект постараюсь приложить в следующем сообщении. Сюда почему-то не прикладывается, хоть и не превышает требуемые 50 метров

Нидвораич
28.03.2025, 03:25
Так.... В очередной раз сделал копию проекта, чтоб удалять всё по порядку и наблюдать результат.
После удаления менеджера тревог и библиотек AlarmManager и AlarmManagerInterface основная задача перестала выпадать из работы.
Уже было обрадовался, но решил проверить это ещё раз. Для этого снова открыл изначальный проект (где ничего не удалено), чтоб воспроизвести проблему.
И оно заработало.
Но я же в этом проекте ничего же не менял же.
Единственное, что я сделал - закрыл CODESYS Control Win V3 SysTray, и так как он отказывался запускаться - запустил CODESYS Control Win V3...
Но я и до этого так делал...

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

kondor3000
28.03.2025, 07:48
Думаю все ваши проблемы, что вы не делаете Очистить всё, Компилировать всё. Чистить проект надо после каждого изменения.
И конечно биб-ки должны быть не выше 3.5.5, надо поставить архив биб-тек.

Нидвораич
31.03.2025, 22:15
Думаю все ваши проблемы, что вы не делаете Очистить всё, Компилировать всё. Чистить проект надо после каждого изменения.
И конечно биб-ки должны быть не выше 3.5.5, надо поставить архив биб-тек.

VisualBasic, C++Builder, VisualStudio, AndroidStudio, Arduino IDE, STM32CubeIDE, EasyBuilder.... и ёщё хз в скольки разных программах я работал, но первый раз встречаю необходимость соблюдения каких-то ритуальных комбинаций нажатий разных кнопок, чтоб просто скомпилить написанное без багов... Ужос и печаль :(