Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Здравствуйте.
Подскажите по такому вопросу.
В процессе работы внезапно останавливается программа и ПЛК зависает. ИДЕ теряет связь.
Помогает перезагрузка всего железа.
В ИДЕ вижу, что остановились задачи. См. рисунок.
Screenshot 2025-04-04 101728.png
Если ли методика определить точку останова (или, например, последнее сообщение)?
1. А что в журнале ПЛК в это время?
2. Насколько нагружены задачи, особенно та, которая в 3мс?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Добрый день. Методика может быть разной в зависимостей от специфики проекта.
Чтобы начать предметно разбираться в вашей ситуации - отправьте, пожалуйста, письмо на support@owen.ru
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Добрый день! Подскажите - как написать программу вывода текущего времени в визуалиции. При отсутствии контроллера. С виртуальными переменными более менее понятно. А вот с текущем временем не разберусь. ( например вкл/выкл насоса - выводим время включения и останова)
Добрый день.
Можно использовать функцию SysTimeRtcGet из библиотеки SysTimeRtс для получения системного времени в формате DT.
Она будет работать в т. ч. и на виртуальном контроллере.
Эту переменную можно будет привязать к элементу визуализации - например, прямоугольнику - задав для него подходящий формат вывода в параметры Тексты/Тест (например, %t[dd.MM.yyyy HH:mm:ss].Код:dtVar:= TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode) ); // получаем системное время в виде значения типа DT
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вроде разобрался.
Там была в коде функция MSU.StrConcatA
Если один из строковых аргументов ничему не равен (''), то она будет слаживать до последнего байта в памяти...Код:sDataTEMP := ...; MSU.StrConcatA(ADR(sDataTEMP), ADR(sDataSend), dwLenSend);
sDataTEMP был равен ''.
Вставил костыль:
Эта ошибка приводила к зависанию ПЛК. Если тупо через SSH сделать reboot, то железка перезагрузится и можно пробовать работать снова.Код:sDataTEMP := ...; IF sDataTEMP = '' THEN sDataTEMP := '?'; END_IF MSU.StrConcatA(ADR(sDataTEMP), ADR(sDataSend), dwLenSend);
Если же через ИДЕ пробовать подключиться, то потом все равно зависает и слетает приложение в ПЛК. Приходилось потом загружать приложение повторно. Хорошо хоть, что retain.ret не пропадал. Я тупо восстанавливал разом все кастомные настройки.
Screenshot 2025-04-04 140847.pngScreenshot 2025-04-04 101736.png
Последний раз редактировалось ВладОвен; 23.04.2025 в 11:26.
ВладОвен А проверь пожалуйста на либе StringUtils? Я там StrConcatW использую, и такого бага не было - я нормально пустые строки передавал.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
что-то не получается. Просьба: подскажите, как поправить программу.ошибка 1.jpg
Добавить биб-ку SysTimeRtс в Менеджере биб-к 1 Добавление биб_ки.jpg
В конце строки надо добавить +T#3h 1 Работа блока.jpg плюс 3 часа для Москвы
Последний раз редактировалось kondor3000; 09.04.2025 в 21:58.