Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 47

Тема: Эффективное использование USB Flash на ПЛК110 М02

  1. #21
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Таки да, я делал и делаю множество научных приборов (и не научных), используя как продукцию ОВЕН, так и самопал.
    И чётко разделяю оперативные данные, к-е в реальном времени идут в верхний уровень/SCADA/ПО на ПК и логирование, призванное сохранить состояние системы в случае сбоев, смены режимов и т.п.
    раз в 3 секунды - это не логи, а оперативные данные. И коли их хочется иметь их в виде истории - надо использовать внешние носители (самописец, МСД200, флешка с настроенным многоуровневым алгоритмом записи с накоплением и прореживанием, запись на удалённый сервер и т.п.).
    Т.к. история процессов пишется для последующего анализа в случае БП. И тут ПЛК как хранилище ну никак не может выступать.
    HMI weintek может, а ПЛК 110 М02 не может.

    Данные передаются в верхний уровень, я рассматриваю USB накопитель в качестве вторичного архива, если проблемы с сервером\сетью\скадой\электриками\погодой и т.д., то данные можно будет достать, они очень важны для учёта и тот поток данных который я указал просто ничтожен, даже ардуина справится.

    И с мсд200 не надо мне, купили раз, лежит на полке 4 года уже.

    Ближе к делу.
    Где посмотреть ПРИМЕР КАК НАДО делать с ПЛК 110 М02 запись на USB в режиме shift mode??
    Просто готовый пример есть?

  2. #22
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Таки да , я вернулся к теме годовой давности о перемешивании данных при записи файлов на usb. Во вложении проект для ПЛК110-30М[M02], буферный массив данных логируется с периодом 10секунд , запись на usb в файл Data_log.csv выполняется при заполнении 7го элемента (счет от 0), запись событий в файл Alarm_log.csv производится вручную кнопкой в визуализации. При записи файла Alarm_log.csv в него попадают данные из Data_log.csv. Образцы файлов также прикладываю.
    Думал может в обновленной прошивке исправилось, ан нет.
    Да,еще... господин Филоненко, на сайте фирмы Овен, в которой вы работаете, в примере для архивирования на USB вообще период записи 1секунда. В подборке нет библиотеки OwenLibUsbSerial.lib , в подборке библиотек Овен для ПЛК110/160 нет библиотек для асинхронной работы с файлами.
    В описании к примеру не указано, что проверка наличия флэшки Обязательна!!! При записи на отсутствующую флэшку ПЛК глючит и перезагружается.
    Г-н Филоненко я желаю вам взять подряд на изготовление какого-нибудь прибора(научного или не очень) для Лукойла,Газпрома,или Роснефти. Может быть они вас научат работать, а вы уж с коллегами поработаете.
    Вложения Вложения

  3. #23

    По умолчанию

    Сколько сарказма.
    Писать на отсутствующую флешку - интересно зачем? Проверить, что её нет - не не вариант?
    А вынимать флешку на ходу прямо запрещает так любимая Вами инструкция!

    Что же касается записи 2-х файлов - для начала программа имеет ряд логических ошибок, например в case 50:
    Так же нет блокировки от одновременной записи.

    В логах тоже странная штука

    К примеру в логе массивов идут записи каждые 10 секунд.
    ...
    22.1.2018;13:37:18;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 ;0.0;0;0;0;0; (далее куча пустого места, поскипано)
    22.1.2018;13:37:28;0.0;0.0;0.0;0.0;0.0;0.0;0.0;0.0 ;0.0;0;0;0;0; (далее куча пустого места, поскипано)
    ...
    А в логе эвентов
    22.1.2018;13:37:22;Тайм-срез№1;
    0;0.0;0.0;0.0;0.0;0.0;0; ;0;
    22.1.2018;13:37:27;Тайм-срез№2;
    0;0.0;0.0;0.0;0.0;0.0;0;0;0;
    22.1.2018;13:37:32;Тайм-срез№3;
    0;0.0;0.0;0.0;0.0;0.0;0; ;0;0
    22.1.2018;13:38:22;Тайм-срез№4;
    0;0.0;0.0;0.0;0.0;0.0;0; ;0;
    22.1.2018;13:38:25;Тайм-срез№5;
    0;0.0;0.0;0.0;0.0;0.0;0;0;0;

    Тут дублирующихся записей не вижу. Времена в логе эвентов не соответствуют временам
    в логе массивов.
    А нули - это скорее переполнение буферов где-то вылазит. Замените динамически генерируемые строки на константы и проверьте.

    Ну или предположить, что немцы, ваявшие файловую систему, встроили туда механизм выбора изюма из булки Нули оставляем, а даты не оставляем.
    Тролль-наседка, добрый, нежный и ласковый

  4. #24
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    на вскидку, когда в комментах написано, что состояние ошибки это не только ноль, но и числа с единицей в старшем разряде двойного слова, то не стоит использовать условие не равно нулю чтобы записывать в файл.
    Не понял. Конкретней пожалуйста.
    Что же касается записи 2-х файлов - для начала программа имеет ряд логических ошибок, например в case 50:
    Так же нет блокировки от одновременной записи.
    В case 50 закрытие файла. Запись в 30м, защита от одновременной записи в 2 файла реализована на уровне спуска всего этого алгоритма. Пока флэш не освободится процедура записи не стартует. Да времена естественно не совпадают Даталог ведется по таймеру , лог событий по ручному нажатию.
    И все лишнее в Alm_log это куски из файла Data_log.
    Собственно мои предположения:
    1. Не чистится буфер внутри функции.
    2. Странно, что разные файлы открываются с одним дескриптором.Хотя если одновременного открытия нет , то и дескриптор может быть один. Может быть надо не закрывать файлы после записи, а держать их открытыми.
    3. Собственно запись ведется, только бесят (и не только меня) лишние записи. Если у меня ошибка - укажите на нее конкретно.

    Ну или предположить, что немцы, ваявшие файловую систему, встроили туда механизм выбора изюма из булки Нули оставляем, а даты не оставляем.
    Ага! Они немцы такие , изюм выкавыривать , фильмы снимать...
    Последний раз редактировалось Sergey666; 22.01.2018 в 16:04.

  5. #25

    По умолчанию

    Замените все буфера на константы и удивитесь отсутствию мусора.
    Хендл может быть один, это просто "место" в массиве.
    Тролль-наседка, добрый, нежный и ласковый

  6. #26
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Замените все буфера на константы и удивитесь отсутствию мусора.
    Хендл может быть один, это просто "место" в массиве.
    Владислав, что вы подразумеваете под "константы"?
    Фиксированные строки типа "Здравствуй мир"?
    Я пробовал ранее и сейчас убрать буферный массив строк данных и писать строку по факту появления-обновления(период 30сек). События так и оставил запись по "ручному" вводу. Ничего не поменялось.

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

    Неужели нет возможности у производителя привести в соответствие с заявленным функционал данной линейки контроллеров??? Неужели это невозможно- сделать нормальные функциональные блоки для корректной работы с файлами? Для чего , или для кого вы выпустили эту серию(ПЛК110[M02]), для управления движением они не годятся, для ведения логов данных они тоже не годятся.

  7. #27
    Пользователь Аватар для Сема
    Регистрация
    17.12.2011
    Адрес
    Армавир
    Сообщений
    567

    По умолчанию

    Приветствую всех, уважаемые коллеги.

    Немного не в тему, подскажите пожалуйста, с помощью чего и как вести архивацию файлов на ПЛК110 М02 ? Есть какие-нибудь примеры и стоит ли оно того??

    Вопрос решён, спасибо.
    Последний раз редактировалось Сема; 11.04.2018 в 14:21.
    kipiaplc.ru - приходите, будет интересно...

  8. #28

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    Владислав, что вы подразумеваете под "константы"?
    Фиксированные строки типа "Здравствуй мир"?
    Я пробовал ранее и сейчас убрать буферный массив строк данных и писать строку по факту появления-обновления(период 30сек). События так и оставил запись по "ручному" вводу. Ничего не поменялось.

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

    Неужели нет возможности у производителя привести в соответствие с заявленным функционал данной линейки контроллеров??? Неужели это невозможно- сделать нормальные функциональные блоки для корректной работы с файлами? Для чего , или для кого вы выпустили эту серию(ПЛК110[M02]), для управления движением они не годятся, для ведения логов данных они тоже не годятся.
    Массированная запись - такие тесты у нас проводились и никаких проблем не выявлено. Где-то в проекте путаются переменные/буфера/вызовы функций.
    Оставьте 1 место, где будет запись не более одного файла за раз не более чем из 1 буфера фиксированной длины и расположения. И буфер в момент записи не менять!
    Тролль-наседка, добрый, нежный и ласковый

  9. #29
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,656

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Массированная запись - такие тесты у нас проводились и никаких проблем не выявлено. Где-то в проекте путаются переменные/буфера/вызовы функций.
    Оставьте 1 место, где будет запись не более одного файла за раз не более чем из 1 буфера фиксированной длины и расположения. И буфер в момент записи не менять!
    Ну , если тесты проводились, то прошу предоставить подробное описание условий,вводных,результатов и проект с тестовой программой.

  10. #30
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    882

    По умолчанию ПЛК 110М02 + USB flash

    Добрый день!
    Подниму старую избитую тему.
    Имеем ПЛК 110-30 М02.
    Архивирование осуществляется на USB флэшку. (Потом вычитываются файлы и отправляются на сервер через сокеты).
    Архивируем с помощью асинхронной библиотеки.
    И имеем следующий эффект:
    Стоит 5 ПЛК, 4 из них были с прошивкой 0.3.72, запись на флэш остановилась, подумал - обновлю на 0.3.73 (Хотя у нас много ПЛК работает на 0.3.67 \ 0.3.68 и проблемы там нет).
    Теперь у всех прошивка 0.3.73.
    1 - Не сохраняет данные на USB
    Не возвращает количество байт, записанный на Flash.
    Меняю путь на ram: - все сохраняет и отправляет.
    Возвращая путь на usb: - не работает.
    Перезагрузка - помогла.Вопрос - на долго ли.

    4 - пока держатся (2 день пошел).
    Флешки в 5 ПЛК одинаковые


    На столе лежит такой же ПЛК. Там все еще интереснее.
    Handle все время 0.
    В ПЛК браузере команду filesir usb: не выполняет (Пишет Directory not found: usb
    При этом GetUSBSerial(0, ADR(arrUSB) - возвращает 0 и передает номер USB Flash.
    Выход что проверка на наличие USB не гарантирует записи на диск? Что делать и как быть?


    Сразу скажу - есть около 30 ПЛК с прошивками 0.3.67, 0.3.68 где модуль архивирования работает (Уже более года).
    Программа везде одинаковая, модуль сохранения и отправки не изменялся.

    ЗЫ
    Функционала создания папок вообще ждать?
    Простыня из файлов на USB Flash напрягает.
    Последний раз редактировалось приборист; 19.07.2018 в 22:36.

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Похожие темы

  1. Работа с USB Flash карт в новом ПЛК110
    от Newcomer в разделе ПЛК1хх [М02]
    Ответов: 176
    Последнее сообщение: 10.08.2020, 11:29
  2. ПЛК110 М02. Как прочитать USB Flash удалённо?
    от Антон_Б в разделе ПЛК1хх [М02]
    Ответов: 6
    Последнее сообщение: 12.09.2017, 15:07
  3. ПЛК110 М02 и свободное место на USB Flash?
    от Антон_Б в разделе ПЛК1хх [М02]
    Ответов: 0
    Последнее сообщение: 01.07.2017, 12:21
  4. Защита программы на ПЛК110 с помощью USB Flash
    от Василий353 в разделе ПЛК1хх [М02]
    Ответов: 7
    Последнее сообщение: 05.05.2017, 11:05
  5. Ответов: 12
    Последнее сообщение: 25.12.2014, 10:55

Ваши права

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