Просмотр полной версии : запись переменной в флеш память плк
alexval2006
04.03.2012, 10:24
подскажите как записать переменную в флеш память плк а потом прочитать ее оттуда или может по другому как то может в файл текстовый сохранить а потом оттуда прочитать состояние переменных или как то по другому
Плк 150 запись и чтение.
Создается файл с именем переменной.
Постоянно перезаписывать файл нельзя-- упорите флеш.
зап:
dwHandle := SysFileOpen('Pr_XX.t','
alexval2006
04.03.2012, 11:12
спасибо попробую
Плк 150 запись и чтение.
Создается файл с именем переменной.
Постоянно перезаписывать файл нельзя-- упорите флеш.
зап:
dwHandle := SysFileOpen('Pr_XX.t','w');
SysFileWrite(dwHandle,ADR(Pr_XX),SIZEOF(Pr_XX));
SysFileClose(dwHandle);
Чтение:
dwHandle := SysFileOpen('Pr_XX.t','r');
SysFileRead(dwHandle,ADR(Pr_XXf),SIZEOF(Pr_XXf)-1);
SysFileClose(dwHandle);
Работает.
Pr_XX --- имя переменной
SysLibFile.lib --- добавь библиотеку.
SysFileRead(dwHandle,ADR(Pr_XXf),SIZEOF(Pr_XXf)); - минус один, видимо, по ошибке
нет это не ошибка!
Сегодня проверял на ПЛК 100. Без -1 - работает, написал список переменных в файл. С -1 например UInt,Word работает до 255, так как из двух записанных байт восстанавливает один (из 4 -3, из 8 -7). Есть варианты когда можно проигнорировать целый байт?
объясните тупому, что здесь делает переменная dwHandle? Какая-то индикация то файл открылся? Тогда зачем её пихать в функцию записи?
И еще, может кто подскажет как единоразово при включении ПЛК считать значение переменной из файла? откуда взять индикацию того что ПЛК включился после пропадания питания? Мне нужно примерно раз в 12 часов писать значение наработки двигателей во флеш и в случае пропадания питания или перезаливки проекта\сброса плк (когда RETAIN переменные слетают или могут слететь) восстанавливать это значение в программе.
объясните тупому, что здесь делает переменная dwHandle? Какая-то индикация то файл открылся? Тогда зачем её пихать в функцию записи?
А вообще читали документацию на библиотеку.
У Вас есть пластиковая карта, по её идентификатору Вам банкомат выдает деньги и принимает, так же и с переменной
И по поводу единовременно, ну полистайте форум, в этом же месяце обсуждалось это
Доброго времени суток!
Да простит меня модератор за поднятие темы, но чтобы не создавать новой спрошу тут.
Есть ли возможность прямого доступа к внутреннему флеш-диску? Можно по произвольному адресу писать?
Или внутренний флеш-диск предназначен только для работы с файловой системой?
Спасибо!
Точно с файловой системой.
Так тут уже говорили... RETAIN не помогут разве? Там что угодно можно хранить: да хоть массив байтов.
Точно с файловой системой.
Так тут уже говорили... RETAIN не помогут разве? Там что угодно можно хранить: да хоть массив байтов.
RETAIN мало по объему. Буду обдумывать другое решение.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot