Тут дело не в скорости, а скорее в размере конечной программы.
Мне видится так:
Макрос - это код, который скопируется в тексте программы столько раз, сколько макросов было вставлено в программе. А ФБ на ST имеет одну реализацию, которая вызывается в программе с различными данными (блоками данных каждого из экземпляров)
В справке OL написано как это сделать , там надо специальных тегах прописывать. Вообще с документированностью все плохо из разных мест по чайной ложке. про массивы можно только из форума прочитать в справке про масивы нет . Я так и не понял зачем нужны функции на ST если функциональный блок делает тоже самое и дает больше возможностей
Функцию удобно использовать тогда, когда нужны только расчёты илии обработка данных по одному общему алгоритму. Например:
* Что-то поделить на коэффициент, умножить на переданное значение импульсов и получить расход в литрах;
* Проверить, попадает ли время часов в заданный интервал.
* Обработать какие-нить данные с датчика по алгоритму "Если это не равно 0xFFFF, то подели на 100 и получишь температуру, а если равно - это ошибочное значение"
* Вычислить минимум или максимум из переданных значений
Функции не сохраняют свои внутренние переменные нигде, а все расчёты ведутся на лету. Суть таких функций - чтобы программу писать более компактно.
А каждый нарисованный на проекте FB сохраняет свои переменные и жрёт память.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net
у кого то был случай нехватки памяти? просто вопрос ради интереса, так то я весьма рад ФБ на ST: писал макрос, куча входов-выходов, логика внутри, задолбался эту паутину строить и печалиться если ее переделывать приходилось. Плюнул и быстренько написал всю логику на ST. Красиво, компактно, понятно. Супер!
Ollema У меня только Retain кончаются, потому что я навыдумывал хранить всякую статистику типа Min-Mix за месяц и год, дата последнй аварии и так далее.
В ПЛК я давно на ST перешёл - это удобнее.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net
Развитие ST в OwenLogic не может не радовать. А на фоне сворачивания CoDeSys 2.3 ПР-ки представляются неплохой альтернативой младшим моделям ПЛК.