Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Как обновить списки текстов в прошитом СПК107!?

  1. #1

    Lightbulb Как обновить списки текстов в прошитом СПК107!?

    Доброго времени суток!
    Подскажите каким образом обновить списки текстов в прошитом СПК107!?

    Ситуация следующая:
    1. Задача в процессе измерений сохранять в архив помимо данных Название детали и Ф.И.О. исполнителя.
    Списки загружаются из файлов списков текстов (которые время от времени должны редактироваться на обычном компе.). НО! После загрузки (компиляции) проекта на CD карту контроллера (при установке её в ноутбук ) на ней не видно вообще ни каких файлов!?
    2. Как программно (какой командой, методом, свойством) обновлять список текстов
    3. Какой путь к файлу по умолчанию?

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Цитата Сообщение от Andreismith Посмотреть сообщение
    Доброго времени суток!
    Подскажите каким образом обновить списки текстов в прошитом СПК107!?

    Ситуация следующая:
    1. Задача в процессе измерений сохранять в архив помимо данных Название детали и Ф.И.О. исполнителя.
    Списки загружаются из файлов списков текстов (которые время от времени должны редактироваться на обычном компе.). НО! После загрузки (компиляции) проекта на CD карту контроллера (при установке её в ноутбук ) на ней не видно вообще ни каких файлов!?
    2. Как программно (какой командой, методом, свойством) обновлять список текстов
    3. Какой путь к файлу по умолчанию?
    1,3. SD-карта - это внешний носитель, т.е. хоть какие-то файлы на ней появятся только в том случае, если вы будете создавать их из программы контроллера. ОС, рантайм и файлы проекта хранятся во встроенной flash памяти контроллера. Работать с файловой системой контроллера можно через WinSCP - см. п. 14.10 в документе СПК. FAQ. Файлы списков текстов хранятся в /mnt/ufs/root/CoDeSysSP_wrk/visu.
    2. Посмотрите библиотеку СmpDynamicText. Там есть подходящая по названию функция - возможно, она вам поможет.

  3. #3

    По умолчанию

    А есть возможность загружать списки текстов из текстовых файлов на внешнем носителе?

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Цитата Сообщение от Andreismith Посмотреть сообщение
    А есть возможность загружать списки текстов из текстовых файлов на внешнем носителе?
    В принципе, можно. Нужно в терминале выполнить команду типа

    cp /mnt/ufs/media/sda1/my_test_list.txt /mnt/ufs/root/CoDeSysSP_wrk/visu/

    В данном случае будет скопирован список текстов с названием my_test_list.txt , расположенный в корне USB flash (sda1). Для SD путь к девайсу будет /mnt/ufs/media/mmcblk0p1

    Соответственно, послать команду в терминал через CODESYS (например, по нажатию кнопки в визуализации) можно с помощью библиотеки CmpSysExec:
    http://www.owen.ru/catalog/codesys_v3/80224381

  5. #5

    По умолчанию

    Спасибо!
    Буду пробовать.

  6. #6

    По умолчанию

    Евгений, можете привести подробный пример!?
    Создал Кнопку, в событие OnMousClick вставил cp /mnt/ufs/media/sda1/Detallist.txt /mnt/ufs/root/CoDeSysSP_wrk/visu/
    Данной комманды он не понимает!
    Еще вопрос: в свойствах кнопки есть комманда загрузить списки текстов у нее 2 параметра.
    Где найти описание синтаксиса, примеров поэтой комманде!?

  7. #7
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Цитата Сообщение от Andreismith Посмотреть сообщение
    Евгений, можете привести подробный пример!?
    Создал Кнопку, в событие OnMousClick вставил cp /mnt/ufs/media/sda1/Detallist.txt /mnt/ufs/root/CoDeSysSP_wrk/visu/
    Данной комманды он не понимает!
    1. Устанавливаете библиотеку CmpSysExec. Ссылку я давал выше. Эта библиотека включает функцию SysExecute, которая позволяет отправлять команды в терминал Linux. Соответственно, если обновленный список текстов у вас находится на USB, то надо выполнить код:

    SysExecute('cp /mnt/ufs/media/sda1/Detallist.txt /mnt/ufs/root/CoDeSysSP_wrk/visu/');

    а если на SD-карте:

    SysExecute('cp /mnt/ufs/media/mmcblk0p1/Detallist.txt /mnt/ufs/root/CoDeSysSP_wrk/visu/');

    2. После этого в программе подгружаете новый список текстов (должна быть добавлена библиотека CmpDynamicText):

    DynamicTextReloadTexts();


    Цитата Сообщение от Andreismith Посмотреть сообщение
    Еще вопрос: в свойствах кнопки есть комманда загрузить списки текстов у нее 2 параметра.
    Где найти описание синтаксиса, примеров поэтой комманде!?
    Эти команды не имеют отношения к спискам текстов. В данном случае слово "список" надо читать как "рецепт" - погрешности перевода. Почитать про них можно в документе СПК. Визуализация, в примере про Менеджер рецептов.

  8. #8

    По умолчанию

    Спасибо Евгений!
    Всё получилось!
    Еще вопрос из этой же области:
    С помощью этих библиотек можно присвоить значение переменной из строк внешнего файла!?

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

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

    По умолчанию

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

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Цитата Сообщение от Andreismith Посмотреть сообщение
    Спасибо Евгений!
    Всё получилось!
    Еще вопрос из этой же области:
    С помощью этих библиотек можно присвоить значение переменной из строк внешнего файла!?

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

    Теоретически, есть еще один вариант, который я, правда, никогда не пробовал использовать для таких целей - воспользоваться графическим элементом Текстовый редактор для редактирования файла списка текстов вручную с дисплея СПК.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 29
    Последнее сообщение: 11.01.2017, 14:19
  2. спк107+му110-6у
    от Zhest в разделе Эксплуатация
    Ответов: 28
    Последнее сообщение: 18.12.2015, 22:11
  3. Списки строк
    от evg3798 в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 14.09.2015, 16:47
  4. Как обновить target на ПЛК 110-60-М
    от Grim в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 27.03.2015, 16:44
  5. Зависает СПК107
    от Deoxes в разделе СПК1хх
    Ответов: 3
    Последнее сообщение: 27.02.2014, 16:31

Ваши права

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