-
Пользователь
модуль архиватор
около двух лет не работал с Овен ПЛК. в ходе работы с очередным проектом выяснилось, что размер архива уменьшили до 32 кб!
На моем двухлетней давности проекте успешно создаются и используются архивы размером 200кб. Я очень рассчитывал примерно на такой же размер. Увы!
Теперь проект надо сдавать, а архивов нет.
Советую вообще выкинуть модуль архиватора из конфигурации ПЛК. Он в его нынешнем виде только вводит в заблуждение. Нигде в документации не указано, что размер архива не может превышать 32к. Кому нужны такие, с позволения сказать, архивы?
Есть ли у кого программа архивации через syslibfile? Лучше бы на языке st (все эти прямоугольнички ФБ я воспринимаю с большим трудом), но пойдет любая.
-
Пользователь
В общем, сделал я архиватор через файловую библиотеку.
теперь вопрос, наверное, в техподдержку Овен.
При работе со строковыми функциями возникает ошибка, приводящая к зависанию и перезапуску ПЛК.
Если делаю так:
mstring := REAL_TO_STRING(1000.0/(sec+1)); - то работает несколько минут и перезагружается.
А если двойное преобразование:
mstring := WORD_TO_STRING(REAL_TO_WORD(1000.0/(sec+1)));
то работает сколько хочешь.
Вот проект архиватор, в котором это обнаружилось.
Последний раз редактировалось Евгений Пашигоров; 21.09.2010 в 09:32.
-
Все, вероятно, очень просто.
выражение 1000.0/(sec+1) может при преобразовании в к-то момент дать очень большую строку(маленькое число) или наоборот, деление на ноль.
если приемная строка мала - будут проблемы. REAL_TO_WORD - сильно ограничивает диапазон изменений и доп. защищает от результата деления на ноль.
К сожалению, штатные функции ХХХ_TO_STRING() очень ограниченны.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума