Порядок работы с файлом конфигурации

Чтение файла конфигурации из контроллера

  1. Если контроллер находится в USER-режиме и исполняет конфигурацию, дать команду на остановку исполнения конфигурации, записан в системный регистр «Команда включения/выключения исполнения конфигурации» значение «5600». Для фонового режима чтения, а также при работе по MODBUS, можно пропустить этот шаг.
  2. Если требуется прочитать текущий файл конфигурации, записать в регистр «Команда окончания загрузки файла конфигурации» значение «5401». Если требуется прочитать содержимое буфера файла конфигурации (например, для проверки корректности записи в буфер), пропустить этот шаг.
  3. Установить нулевое смещение окна загрузки конфигурации записью «0» в регистры «Адрес внутри буфера файла конфигурации ст.» и «Адрес внутри буфера файла конфигурации мл.».
  4. Прочитать из окна 2 байта размера файла. При этом контроллер автоматически увеличит смещение окна на 2 байта.
  5. Прочитать очередной блок файла конфигурации. При этом контроллер автоматически увеличит смещение окна на размер прочитанного блока.
  6. Выполнять п. 5 до окончания загрузки файла конфигурации. Если на запрос на чтение не пришёл ответ от контроллера, необходимо записать необходимое смещение окна, т.к. контроллер мог его уже увеличить.
  7. По окончанию чтения файла и после проверки CRC прочитанного файла, удалить из его начала 2 байта длины, а также последние 2 байта CRC.

Запись файла конфигурации в контроллер

  1. Если контроллер находится в USER-режиме и исполняет конфигурацию, дать команду на остановку исполнения конфигурации, записан в системный регистр «Команда включения/выключения исполнения конфигурации» значение «5600». Для фонового режима записи, а также при работе по MODBUS, можно пропустить этот шаг.
  2. Прочитать значение регистра «Максимальный размер файла конфигурации» и убедиться, что загружаемый файл помещается в буфер. В противном случае прекратить процедуру загрузки.
  3. К файлу, который необходимо загрузить в контроллер, добавить в начало 2 байта длины файла конфигурации (перед этим увеличив его на 4) и 2 байта CRC (вычисленного файла вместе с байтами длины).
  4. Разбить файл на блоки размером не более 64 байта.
  5. Добавив в начало блока данных необходимое смещение и записать в контроллер одновременно смещение и данные.
  6. Выполнять п. 5 до окончания загрузки файла конфигурации.
  7. По окончанию загрузки файла записать в регистр «Команда окончания загрузки файла конфигурации» значение «5400». После этого контроллер проверит CRC файла и если целостность файла не нарушена, обновит свой рабочий файл конфигурации из буфера.