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