Показано с 1 по 10 из 17

Тема: Использование файлов для задания уставок

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Question

    Большое спасибо Евгений Пашигоров за выложенный пример, но это не совсем то что нужно. Не обижайтесь, просто задача совсем другая.

    Попробую раскрыть суть немного подробнее.

    Как используются результаты Программа берет данные из трех массивов of_byte. В одном из них содержатся данные про тридцать значений температуры, в другом - про 30 значений давления, в третьем - время, за которое нужно получить "цифры", указанные в массивах 1 и 2. В результате получяется график в виде кривой для значений температуры и график для значений давления.

    Для чего нужны файлы Немного напрягает каждый раз перезаписывать данные в переменные Retain, из за того что КДС не хочет коннектится к ПЛК с первого, второго а иногда и с десятого раза (хотя может проблемма не в КДС??).

    Как планировал работать с файлами

    Вариант 1
    1 - Создать файл в EXEL (потому что быстро и удобно);
    2 - Записать в ПЛК;
    3 - При загрузке, ПЛК должен очистить файл от мусора (строки с заголовками, знаки переноса строки, знаки табуляции, порядковые номера);
    4 - Записать каждую полезную колонку как отдельный массив [1..30] of byte (температура, давление, время);
    5 - Использовать данные при работе;

    Вариант 2
    1 - При запросе от ПЛК файла которого нет создать его;
    2 - с помощю панели оператора заполнить три массива [1..30] of byte (температура, давление, время);
    3 - Добавить мусор (строки с заголовками, знаки переноса строки, знаки табуляции, порядковые номера);
    4 - Записать данные в файл;
    5 - при желании скачать для просмотра на ПК;
    6 - использовать как в варианте 1;

    Вариант 3
    1 - Возможность записывать изменения в файл;

    Вариант 4
    Может кому то пригодится и плохих слов будет меньше при сотом изменении сорока программ по 30 циклов (всего 1200 значений) , а все из за какойто кнопки Reset:

  2. #2

    По умолчанию

    Цитата Сообщение от mike_if Посмотреть сообщение

    Для чего нужны файлы Немного напрягает каждый раз перезаписывать данные в переменные Retain, из за того что КДС не хочет коннектится к ПЛК с первого, второго а иногда и с десятого раза (хотя может проблемма не в КДС??).
    Действительно, Кодесис хреново коннектится. А еще в процессе заливки проекта часто происходит
    перезапуск контроллера. Хорошо хоть не всегда.
    Разработчики рекомендуют увеличить таймауты связи в самой Кодесис.
    Я увеличивал, но особой разницы не заметил.
    Для считывания файлов с ПЛК я уже давно и без проблем пользуюсь утилиткой plc_io.exe
    http://www.owen.ru/forum/showthread.php?t=10211
    Большое ее преимущество - она не интерактивная, что позволяет пользоваться ею в своих скриптах.
    Цитата Сообщение от mike_if Посмотреть сообщение
    Как планировал работать с файлами
    . . . . . . . .
    Тут я не понял, то ли из ПЛК надо брать данные, то ли наоборот, настройки в ПЛК загонять? Видимо, и то, и другое.
    plc_io загружать файлы в ПЛК тоже умеет.
    Последний раз редактировалось Евгений Пашигоров; 03.04.2011 в 01:59.

  3. #3

    По умолчанию

    Цитата от Евгений Пашигоров:

    Тут я не понял, то ли из ПЛК надо брать данные, то ли наоборот, настройки в ПЛК загонять? Видимо, и то, и другое.
    Совершенно верно - и то и другое.
    Файлы используются не как архив, а как обычный массив с данными, только создавать их должен уметь как ПЛК так и ПК. А ПЛК, кроме того еще и должен использовать данные из них в процессе работы.

    Цитата от Евгений Пашигоров:

    plc_io загружать файлы в ПЛК тоже умеет
    Совершенно согласен, и plc_io и сам КДС умеют и читать и писать файлы, но они только передают их, а мне нужно еще и сортировать.

    Сегодня был лишний часок, попробовал немного изменить программу, в результате заметил что контроллер открывает файл, созданный на ПК, возвращает дескриптор файла, но при проверке размера значение = 0????
    Хотя файл имеет около 1 кБ???
    Не понимаю что не так???

  4. #4

    По умолчанию

    Может расширение файла имеет значение?
    Останавливается здесь:

    size1:=SysFileGetSize(filename);
    size_int:=DWORD_TO_INT(size1);

    При этом size1 = 0 ???

  5. #5

    По умолчанию

    Вы обратили внимание, что сушествует 2 версии plc_io?
    Одна правильно читает файл, другая - правильно пишет.
    Сейчас нет под рукой контроллера, чтобы проверять.

Ваши права

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