Страница 14 из 18 ПерваяПервая ... 41213141516 ... ПоследняяПоследняя
Показано с 131 по 140 из 177

Тема: Работа с USB Flash карт в новом ПЛК110

  1. #131

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    Чтобы не плодить тем:
    Столкнулся с аналогичной проблемой.
    Использовал работающий блок на ПЛК160/ПЛК110[М01] записи в файл на библиотеке SysLibFile на ПЛК110[M02]. На выходе получал пустой файл. Перепроверил опять же на ПЛК160 - работает. Переписал блок на библиотеке OwenLibFileAsync - на выходе пустой файл. Писал на внутреннюю флэш. Подумал, что возможно дело в старой прошивке (стояла 0.52). При попытке записать файл прошивки: либо практически сразу отваливалась связь и записывался только кусок файла, либо сразу ошибка 80. Помучился с этим делом, но записать так и не получилось. А вот после этого попробовал создать загрузочный проект - и ошибка 80:. Также обнаружил, что при включении плк зуммер не пищит (но правда не помню работал ли он вообще, так что возможно этот момент не принципиален).

    С чем такое поведение может быть связано и можно ли это победить не отправляя в СЦ?
    1. Попробуйте отформатировать внутренний диск.
    2. Прошивку можно обновить и через bat-файл, там "отваливания" исключены при любой прошивке.
    3. Пишет ли на внешнюю USB?
    Тролль-наседка, добрый, нежный и ласковый

  2. #132

    По умолчанию

    1. А каким образом это сделать?
    2. Попробую.
    3. Не проверял. Попробую.

  3. #133

    По умолчанию

    У меня такая проблема тоже была при использовании SysLibFile на М02, пришел на OwenLibFileAsync.
    Для форматирование есть команда в ПЛК-Браузер formatFFS.

  4. #134

    По умолчанию

    Цитата Сообщение от monteg Посмотреть сообщение
    У меня такая проблема тоже была при использовании SysLibFile на М02, пришел на OwenLibFileAsync.
    Для форматирование есть команда в ПЛК-Браузер formatFFS.
    у меня на обеих библиотеках такая проблема. Возможно потому что изначально попробовал на SysLibFile?
    Просто в списке команд такой нет, не знал. Спасибо, попробую

  5. #135

    По умолчанию

    И не забудьте, что OwenFileOpenAsync, stMode = 'a', 'w+', 'r'
    Последний раз редактировалось monteg; 15.04.2017 в 14:22.

  6. #136

    По умолчанию

    Да это вроде помню)

  7. #137

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Там же где РЭ на ПЛК. На нашем сайте. Но пока не выложили. Приношу свои извинения.

    Ну а чтобы наши клиенты не испытывали проблем с М02 - выкладываю пакет библиотек с примерами.
    Уважаемый Владислав!
    Помогите разобраться с асинхронным выводом в файл с помощью библиотеки OwenAsyncLibFile. На основе Вашего примера пытаюсь организовать запись в файл непрерывного ряда значений переменной, которая получает приращение в рабочем цикле:
    b:=b+1;
    Запись в файл производится функцией:
    res:=OwenFileWriteAsync(handle,ADR(bufout),14,ADR( result));
    В примере обращает на себя внимание то, что запись происходит дважды: первый раз в цикле с CASE 2: и второй в цикле с CASE 3:. Получается, мы в разных циклах даем задание на передачу строковой переменной для записи. В программе одной переменной в циклах могут могут соответствовать разные строки. Методом проб и ошибок я добился нужного результата. Но вопросы остались:
    В какую из попыток происходит действительно передача строки?
    Как проконтролировать в программе какая из строк передана?
    Хотелось бы получить более подробную информацию о работе функций библиотеки OwenAsyncLibFile от первоисточника. Или дайте ссылки на документацию, где описан порядок их работы.

  8. #138

    По умолчанию

    в case 2 Вы задаёте библиотеке следующую команду, в Вашем случае на запись.
    а в case 3 вы периодически опрашиваете библиотеку: "Не выполнила ли ты мою команду"

    Собственно запись в файл происходит асинхронно в промежутке между case2 и ответом ASYNC_DONE в case3.

    И подавать на вход функции записи строку надо всегда одну и ту же и не менять её значение до ASYNC_DONE! Стековые переменные для данных записи не использовать, только статические или глобальные переменные.
    Тролль-наседка, добрый, нежный и ласковый

  9. #139

    По умолчанию

    Спасибо.
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Стековые переменные для данных записи не использовать, только статические или глобальные переменные.
    Следовать этому совету - возражений нет. Однако, хотелось бы уточнить понятия: стековые, статические переменные. В РЭ ПЛК (в.1.9) в "Руководстве пользователя по программированию ПЛК в CoDeSys 2.3" упоминаются "стек ранее введенных команд", "стек вызовов". Стековые переменные не упоминаются. Статические переменные тоже.
    Прошу уточнить Ваш совет.

  10. #140

    По умолчанию

    в "Руководстве пользователя по программированию ПЛК в CoDeSys 2.3" нет основ программирования, подразумевается, что они уже изучены

    Если Вы получили строку/массив через входные параметры функции/ФБ - это 95% стековая переменная.
    Если Вы получили переменную по указателю - её содержимое внезапно может поменяться где-то там и Вы получите трудноотлаживаемую ошибку.
    Если Вы объявили переменную в блоке VAR - она статическая
    Если Вы объявили переменную в блоке VAR_GLOBAL - она глобальная
    Тролль-наседка, добрый, нежный и ласковый

Страница 14 из 18 ПерваяПервая ... 41213141516 ... ПоследняяПоследняя

Похожие темы

  1. Работа с USB флешками в ПЛК110 [м02]
    от alexx12 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 22.12.2015, 18:28
  2. Библиотеки для работы ПЛК110 с USB
    от Ilych в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 30.05.2015, 00:14
  3. Ответов: 12
    Последнее сообщение: 25.12.2014, 10:55
  4. Связь ПК с ПЛК110-30 при помощи USB
    от Иван Юрьевич в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 17.12.2014, 12:19
  5. связь с плк110 по Usb-com
    от Валерий Бурик в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 05.05.2010, 09:12

Ваши права

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