-
Вложений: 2
Исключение SIGABRT
Здравствуйте.
Написал программу с заполнением массива и сохранением в файл. Массив отображается на графике в визуализации. Проверял в эмуляторе - работало нормально. Как начал тестировать программу на СПК110, столкнулся с проблемами.
1. Во время заполнения массива, выскакивает исключение SIGABRT.
Вложение 79191Вложение 79192
В интернете нашел, что это исключение переполнения (RTSEXCPT_OVERFLOW := 16#00000103). Проверил все переменные - не заметил ничего криминального.
2. Не работает сохранение рецептов, как показано у Вас в обучающем ролике по Менеджеру рецептов.
Подскажите, пожалуйста, с чем это может быть связано.
Архив проекта https://cloud.mail.ru/public/HNdG/MJVoLscMp
-
Добрый день.
1.
Код:
IF j>=101 THEN
Work2:=FALSE;
//Закрываем файл
SysFileClose(hFile:= hFile);
END_IF
Как только дошли до 101 элемента массива - закрываем файл.
В этот момент полученный при его открытии дескриптор становится невалидным.
На следующем цикле контроллера опять попадаем в этот блок кода.
j всё ещё 101, так что происходит попытка закрытия неоткрытого файла => исключение.
2. У меня в вашем проекте рецепты работают корректно.
Можете связаться со мной по телеграм (см. в подписи), и мы более детально рассмотрим этот вопрос при подключении по AnyDesk.
-
Спасибо за помощь.
Оказалось, что рецепты работали. Просто я не там смотрел.