День добрый.
Прошу помочь разобраться в нестабильной работе сохранения данных. Прикрепляю простейший проект для ПЛК110-30 .
Тупая запись либо "дозапись" данных на флэшку в конце концов приводит к подвисанию и перезагрузке. Если записывать данные каждые 30 секунд, то время зависонов растягивается на несколько часов. Если как в примере непрерывная запись , то зависает в течение 10-15 минут. Во время отладки контроллер не перезагружается сам , потому заметил, что любая функция выдает ASYNC_WORKING и больше никакого общения с флэшкой не происходит. Даже передёргивание флэшки не помогает. Она даже больше не моргает, значит ПЛК и не пытается её даже нумеровать.
1)PLCInfo прошивка последняя. Таргет последний 3,12. Либы с сайта Овена. CoDeSys 2.3.9.40 16 апр 2013.
PLC model MODEL PLC 110-30
Binary VERSION 0.3.67 последняя прошивка
Need Target version >= 3.10
Compiled: 12:54:22 Feb 8 2017
STM32 binary version 114
MAC 6A:77:00:FF9:8E
IP 192.168.1.2
GATE 192.168.1.1
MASK 255.255.255.0
2)зависает на любой функции OwenFileOpenAsync,OwenFileWriteAsync,OwenFileClose Async. Но чаще всего на записи.
3)Флэшку менял, форматировал. Проверял с файлами и без. Также пробовал на флэшке с двумя разделами. Никакого толка.
4)Минимальное- максимальное время цикла контроллера менял - никакого толка. Было на форуме, что якобы общение с флэшкой может затянуться на секунду.
5)Исполнение задачи = ПО ТАЙМЕРУ что 5мс что 50мс что 100мс никакого толка.Только растягивается чуток время. Исполнение задачи = СВОБОДНОЕ - аналогично. Время между перезагрузками хаотичное. Может отличаться в разы.
6)Буфер который пишется выносил в GLOBAL. Выравнивание BYTE,WORD,DWORD - все бестолку. Писать что 80 байт что 2000 байт - аналогично.
7)Все что выше было по библиотеке OWENLIBFILEASYNC. С SysLibFile всё выше не проверял. Но в таком же непрерывном цикле живет подольше, однако все равно что-то внутри контроллера зависает, флэшка отваливается и ватчдог перегружает его. Примерно вот с такой записью :
2017. 6.10 10:53:31 # 0 KERNEL LOADED
2017. 6.10 10:53:31 # 17 E PLC was reset by watchdog!
2017. 6.10 10:53:32 # 14 PCL was reseting by watchdog
2017. 6.10 10:53:32 # 3 M
Last run module Id =446413050
2017. 6.10 10:53:32 # 3 M Last post module Id =-1213219633
2017. 6.10 10:53:32 # 3 M local_status =10001086
8)Контроллер новый , неделю как от поставщика. Ничего к нему не подключено. Куплен специально для поиска причины.
Подскажите как еще в бубен тут стучать ? За три дня фантазия иссякла.