Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 31

Тема: Перезагрузка ПЛК110 во время сохранения на USB-флэш

  1. #11

    По умолчанию

    Это тестовая программа, которая ложится в течение 10 минут полной перезагрузкой ПЛК. Это тупой цикл открытия записи и закрытия файла. Является кусочком проекта. Я его выделил отдельно, дабы показать в том числе и представителю Овена , что вот с помощью такого кода можно словить эту проблему с перезагрузкой.
    Ну поставьте запись с частотой в 30 секунд. Перегрузится ПЛК в течение нескольких часов. Вы будете это смотреть и проверять? Потому и пишется он непрерывным циклом, чтоб вылетал быстрее.

    Как еще разжевать, на кой чёрт я этот кусок кода сюда выложил? Это НЕ ПРОГРАММА! Это ТЕСТ на прочность ПЛК, при запуске которого вылетает в течение 15 минут в 100% случаях. Зачем сюда выкладывать хоть что-то еще, если даже три функции в цикле вызывают проблему??

    Но прошивка 0.3.68 более живучая. Сейчас тестируется в цикле записи 30 секунд. Грузанулся пару раз через 6 и 8 часов. После этого 9 часов полет нормальный. Посмотрю что будет за сутки.
    Последний раз редактировалось VanIvan; 11.06.2017 в 19:02.

  2. #12
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,631

    По умолчанию

    Цитата Сообщение от VanIvan Посмотреть сообщение
    Это тестовая программа, которая ложится в течение 10 минут полной перезагрузкой ПЛК. Это тупой цикл открытия записи и закрытия файла. Является кусочком проекта. Я его выделил отдельно, дабы показать в том числе и представителю Овена , что вот с помощью такого кода можно словить эту проблему с перезагрузкой.
    Ну поставьте запись с частотой в 30 секунд. Перегрузится ПЛК в течение нескольких часов. Вы будете это смотреть и проверять? Потому и пишется он непрерывным циклом, чтоб вылетал быстрее.

    Как еще разжевать, на кой чёрт я этот кусок кода сюда выложил? Это НЕ ПРОГРАММА! Это ТЕСТ на прочность ПЛК, при запуске которого вылетает в течение 15 минут в 100% случаях. Зачем сюда выкладывать хоть что-то еще, если даже три функции в цикле вызывают проблему??
    тест чего только, ну доказали что переполнение линейно времени создания дескриптора файла, так кто то здесь писал об этом и до Вас еще. Конечно легче всего сейчас говорить, подумавши, что это тест, до этого Вы писали что просто не весь код выложили. Откройте файл, а закрывайте его когда с плк питание снимется, все остальное время используйте только одну функцию, непосредственно записи, что в этом случае тоже перегружается плк? Это же не сложно 10 минут потратить
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  3. #13

    По умолчанию

    Откуда узнать, какая функция/последовательность вешает? Потому всё по примеру. Так бы везде и писали в руководстве, что открытие/закрытие файла производить только по необходимости. А то один ответ : словили перегруз ватчдогом - ищите косяк в своей проге.

    По поводу закрытия файла : если флэшку достали и (не)вернули, а файл был открыт, по имеющемуся дескриптору использовать функцию OwenFileCloseAsync не имеет смысла. Применять следует OwenFileCloseAllOpenAsync. Иначе копятся открытые файлы.

    Вот только новый вопрос. При смене флэшки на другую, файлы хоть и пишутся но в никуда. ПЛК просто убивает файловую систему второй флэшки. Каким образом перезапустить работу функций после смены флэшки на другую ?

    p.s. чтоб закончить Ваш троллинг, проект это был или тест и прочий перевод стрелок, во вложении пару фоток. Увидите аналог в Евразии, сообщите пожалуйста. Допиливание сейчас происходит у заказчика. Каждый чих управляется ПЛК110-м. Чем предлагать серверы сбора данных, скажите каким образом заставить ПЛК работать с разными флэшкам не перегружая его. И чтоб он не портил FS.
    Изображения Изображения

  4. #14
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,631

    По умолчанию

    я работаю с сименсом, у нас нет такого понятия втыкать флешки в контроллер для логирования.

    Потому всё по примеру
    где же по примеру, сократили пару кейсов не в счет, но проверка на истинную отправку байт с заданным у Вас нет. Мне не интересны Ваши ситуации, тест/не тест, а что если флешка исчезнет, я с самого начала сказал складывать архивы в другом месте, тогда все Ваши ситуации исчезнут. Если такие уникальные, так и подходить надо грамотно, поставили сервер и удаленно смогли бы обслуживать контроллер, но Вам же скорее всего навар хочется получить за выезд, чем дополнительный комп поставить
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  5. #15

    По умолчанию

    У Вас 10 тыс ответов на этом форуме. Вы отвечаете чуть ли не в каждой теме.
    И это форум Овен , а не Сименс. И Вы будете говорить , что работаете с Сименсами, а тут просто меценат? Только чтоб так постить в течение 6 лет надо не вылазить с этого форума.Не пишите ерунду. Лан, опять демагогия и увод разговора от темы: деньги, сервер, выезд, навар и тд... болобольство = оффтоп. Потеряются данные, не потеряются, какая Вам разница, свет пропал или флэшку дернули или этот ПЛКшник об стенку пнули.

    Вы про какие-то проверки там пишете. Причем тут проверки? Если операционка отваливается от некоторого количества циклов открытия/закрытия файла, то тупо кривая реализация оси/usb-хоста/файловой системы. Для того я и накарябал две строчки кода, чтоб представитель Овена запустил прожку, словил момент остановки и посмотрев стэк вызовов нашел причину. Это дело десяти минут. Нет времени/желания/денег на её доработку - да не вопрос - напишите как не нарваться на этот косяк. Никто не против же. Никакой связи с тем, в каком проекте это будет использоваться нет.

    Всё это никак не решает вопроса простейшей смены USB-флэшки в ПЛК110. После запуска по первой флэшке читаются mbr и pbr. После установки другой флэшки таблица разделов остается прежней. У ПЛКшника аж переглючивает что-то, что он релюшками хлопает. Вот и катает потом ось куда попало кроша всё на своём пути. Всё просто как пять копеек, без лишних соплей про навары и серверы. Решается пока только перезагрузкой ПЛК. Хорошо бы чтоб был другой способ.

  6. #16
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,631

    По умолчанию

    Вам, какая разница что я тут делаю, может я библиотеки пишу. Свою позицию я высказал, как нужно вести логи и архивы. По коду я дал совет, что его надо дорабатывать, дабы избежать проблем, но Вы почему-то требуете от производителя устранить проблему пока Вы на объекте, Вы нормальный?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  7. #17

    По умолчанию

    Я хоть и с Минска, но мои гаврики под моим же управлением сделали управление водоканалом в Москве только на комплектации Овен-а. Делаем дистанционные станции управления нефтегазовыми скважинами опять же только на комплектации Овен-а, попробовали РеаЛаба , а не Сименса или Омрона. Теперь вот новый проект в сверхсжатые сроки, опять же датчики, модули ввода, панели, контроллер только Овен-а. Блоки питания ставлю импортные. За три года взял тысяч на 30 баков товаров у Овен-а, у белорусов и у русских. Придерживаемся правила в ЗИП ложить 30% используемых блоков, но не менее одной штуки. Вот такой блин патриот , можете не верить.
    Достаточно НОРМАЛЬНЫЙ для того, чтобы что-то просить от производителя?

    А вы, являясь явно не последним человеком тут, тролите вторую страницу, пишете : "какая разница что я тут делаю" и "гнёте пальцы". Кто, на что учился в принципе... Везде так, каждая пипетка мечтает стать клизмой.

    Просто подрываете веру в Овен-а.

    ИМХО - лучше молчать, когда нечего сказать. ЗП все равно заплатят.

    Хватит оффтоп. Ждемс новой прошивки. Спасибо за 0.3.68

  8. #18
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,631

    По умолчанию

    Во первых прошивка за пару часов не делается, во вторых залить 95 бензин в москвич 412 и сказать производителю, смотрите я нашел баг, он не едет плюс к карме Вам не принесет, раз уж обнаружили, что с одним дескриптором остаётся решит проблему со сменой флешек, то почему не задумываться что происходит внутри контроллера когда функция записи возвращает меньшее число чем должно записаться, а Вы закрываете файл и кто тут пальцы гнет, заявляя что проверки не нужны, не вних дело. По поводу флешек, это наверное единственный случай когда о возрасте человека можно судить по выходу операционной системы виндовс,в семёрке есть механизмы чтоб безопасно достать флешку, но плк не семёрка, туда ни кто лишние килобайты кода вставлять не будет, неужели так трудно сообразить, что прежде чем достать надо при парковаться, т.е. закрыт файл
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  9. #19

    По умолчанию

    Цитата Сообщение от VanIvan Посмотреть сообщение
    Откуда узнать, какая функция/последовательность вешает? Потому всё по примеру. Так бы везде и писали в руководстве, что открытие/закрытие файла производить только по необходимости. А то один ответ : словили перегруз ватчдогом - ищите косяк в своей проге.

    По поводу закрытия файла : если флэшку достали и (не)вернули, а файл был открыт, по имеющемуся дескриптору использовать функцию OwenFileCloseAsync не имеет смысла. Применять следует OwenFileCloseAllOpenAsync. Иначе копятся открытые файлы.

    Вот только новый вопрос. При смене флэшки на другую, файлы хоть и пишутся но в никуда. ПЛК просто убивает файловую систему второй флэшки. Каким образом перезапустить работу функций после смены флэшки на другую ?

    p.s. чтоб закончить Ваш троллинг, проект это был или тест и прочий перевод стрелок, во вложении пару фоток. Увидите аналог в Евразии, сообщите пожалуйста. Допиливание сейчас происходит у заказчика. Каждый чих управляется ПЛК110-м. Чем предлагать серверы сбора данных, скажите каким образом заставить ПЛК работать с разными флэшкам не перегружая его. И чтоб он не портил FS.
    В руководстве простыми черными русскими буквами написано: подключение/отключение периферии ТОЛЬКО при отключённом питании. Так что не нарушайте РЭ.
    А нарушаете - страхуйтесь проверкой серийного номера флешки пред каждой операцией.
    Серийники совпадают? - не покупайте китайское Г.
    Последний раз редактировалось Филоненко Владислав; 13.06.2017 в 10:28.
    Тролль-наседка, добрый, нежный и ласковый

  10. #20

    По умолчанию

    Цитата Сообщение от VanIvan Посмотреть сообщение
    День добрый.
    Прошу помочь разобраться в нестабильной работе сохранения данных. Прикрепляю простейший проект для ПЛК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)Контроллер новый , неделю как от поставщика. Ничего к нему не подключено. Куплен специально для поиска причины.

    Подскажите как еще в бубен тут стучать ? За три дня фантазия иссякла.
    Программа в корне неверна. Где проверка на возвращаемое функциями значение? ASYNC_DONE - признак завершения операции, результат операции тоже надо проверять и не пытаться записывать в неоткрытый файл, и т.п. вещи.
    Тролль-наседка, добрый, нежный и ласковый

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Ответов: 13
    Последнее сообщение: 29.10.2018, 14:01
  2. Ответов: 13
    Последнее сообщение: 16.02.2018, 12:26
  3. ПЛК110(М02) ведение архива на USB флэш
    от Антон_Б в разделе ПЛК1хх [М02]
    Ответов: 9
    Последнее сообщение: 16.10.2016, 20:47
  4. ПЛК110 не сохраняет программу на флэш
    от Партизан в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 08.08.2011, 09:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •