вызов таймеров в программе
вызов таймеров в программе
в документации на simatic 300 и vipa 200 написано, что максимальное количество таймеров 256. в FB для одного механизма используется 5 таймеров. эти таймеры объявляю как входные переменные блока. если этих однотипных механизмов, например, 60 штук, то выходит, что таймеров не хватает. какие тонкости в данном случае применяют?
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: вызов таймеров в программе
В Step7 два вида таймеров - родные, встроенные и в виде системных функциональных блоков.
Применяю SFB4 "TON", см. Ганс Бергер "Автоматизация посредством STEP 7 с использованием STL и SCL и программируемых контроллеров SIMATIC S7-300/400"
Применяю SFB4 "TON", см. Ганс Бергер "Автоматизация посредством STEP 7 с использованием STL и SCL и программируемых контроллеров SIMATIC S7-300/400"
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: вызов таймеров в программе
Уставки таймеров и текущее время можно хранить блоках данных самих функций. В разделе STAT надо выбрать тип данных SFB4 - получишь структуру таймера.service писал(а):в FB для одного механизма
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: вызов таймеров в программе
если я вызову еще раз этот FB3 но с другими входными параметрами, то работать не будет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: вызов таймеров в программе
Надо вызывать fb3 с разными экземплярными блоками данных.
Re: вызов таймеров в программе
это понятно. но таймер sfb4 один и тот.
Re: вызов таймеров в программе
Ну да, блоки DB (экземпляры) разные ведь.service писал(а):это понятно. но таймер sfb4 один и тот.
Области памяти CPU – загрузочная, рабочая и системная. Программа пользователя собственно располагается в двух областях: в загрузочной памяти (load memory) и в рабочей памяти (work memory). Загрузочная память целиком содержит пользовательскую программу, а части программы, выполняемые в любое заданное время (исполняемый модуль программы), находятся в рабочей памяти. Если надо выполнять другой код, то вся временная информация по входам и выходам, и с DB, помещается в L-стек системной памяти.