Об/мин посредством индуктивного датчика
Об/мин посредством индуктивного датчика
Привет всем ! Собственно вопрос, возможно ли используя индуктивный датчик и контроллер s7-300 в часности CPU 313/2dp +модуль дискретных входов DI замерить скорость вращения вала? Допустим, имеется 1 индуктивный датчик и вал с 5 зубьями. Скорость вращения вала не велика максимум 10 об/мин направление вращения не важно . Соответственно пропускной способности по частоте должно хватить для замера. Читал S7-300 Technological functions ,но там рассматривается случай только с модулями скоростного счета и применяется SFB48 , в котором задается номер канала измерения, собственно, это не применимо для моего случая т.к. датчик у меня всего один и модуль тоже обычный. Может кто сталкивался ? И может есть у кого пример?
Re: Об/мин посредством индуктивного датчика
у тебя на борту три счетчика на 30 кГц, их можешь использовать
Re: Об/мин посредством индуктивного датчика
Сори ошибся cpu шкой , уменя 315/2p , он зараза без счетчиков "лысый".
Re: Об/мин посредством индуктивного датчика
Ищите системную функцию:
SFB 48 "FREQUENCY" Управление измерением частоты
SFB 48 "FREQUENCY" Управление измерением частоты
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Об/мин посредством индуктивного датчика
Скорость - это количество импульсов за единицу времени. Заводишь таймер и считаешь количество положительных фронтов входного сигнала.
Re: Об/мин посредством индуктивного датчика
Все это конечно понятно... но как это реализовать в степе , 2 дня пробовал чет не оч получается точнее ничего не получилось
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Об/мин посредством индуктивного датчика
Выкладывай код, посмотрим, где ошибки.
Re: Об/мин посредством индуктивного датчика
AN #always_1
S #every_1
------------------------------
A #every_1
L S5T#59s
SE T 1
A #reset_t1
R T 1
NOP 0
NOP 0
A T 1
= #always_1
------------------------------
A #Pulse_input
CU C 1
BLD 101
A #set_C
L C#0
S C 1
A #reset_Counter
R C 1
L C 1
T #Count_val
NOP 0
NOP 0
-----------------------------
A(
A #always_1
BLD 100
FP M 0.0
)
JNB _001
L #Count_val
T MW 1
SET
SAVE
CLR
_001: A BR
= #reset_Counter
= #every_1
S #every_1
------------------------------
A #every_1
L S5T#59s
SE T 1
A #reset_t1
R T 1
NOP 0
NOP 0
A T 1
= #always_1
------------------------------
A #Pulse_input
CU C 1
BLD 101
A #set_C
L C#0
S C 1
A #reset_Counter
R C 1
L C 1
T #Count_val
NOP 0
NOP 0
-----------------------------
A(
A #always_1
BLD 100
FP M 0.0
)
JNB _001
L #Count_val
T MW 1
SET
SAVE
CLR
_001: A BR
= #reset_Counter
= #every_1
Re: Об/мин посредством индуктивного датчика
код в принципе считает , но как сделать допустим чтоб показывало 0,1 об/мин 0,5 об/мин?
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Об/мин посредством индуктивного датчика
0,1 об/мин * 5 флажков = 0,5 имп./мин
Чтобы получить такую точность надо:
- увеличить разрешение (сделать 50 флажков), или
- увеличить время, за которое считается импульсы (скажем считать импульсы за 10 мин)
Чтобы получить такую точность надо:
- увеличить разрешение (сделать 50 флажков), или
- увеличить время, за которое считается импульсы (скажем считать импульсы за 10 мин)
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Об/мин посредством индуктивного датчика
По коду:
- трудно разбирать код без таблицы символов и комментариев
- трудно разбирать код без таблицы символов и комментариев
Re: Об/мин посредством индуктивного датчика
я бы использовал клок мемори и простые операции с INT-ом или реалом.
Судя по коду - он изначально был в ЛАДе, а потом переделан на СТЛ, поэтому такая шняга получилась
Судя по коду - он изначально был в ЛАДе, а потом переделан на СТЛ, поэтому такая шняга получилась
Re: Об/мин посредством индуктивного датчика
Картинка LAD была бы понятнее...
Re: Об/мин посредством индуктивного датчика
Не могу выложить файлы сюда , прийду домой через файл обменник ссылку выложу, да ,код был написан в ладе за неимением возможности выложить сюда исходник скинул стл.
Re: Об/мин посредством индуктивного датчика
Какая проблема при выкладывании файла? Мы в соседней теме zip и rar спокойно выкладываем. Не у всех установлен Step7, лучше бы картинками выложил, если не громоздкий код...
Re: Об/мин посредством индуктивного датчика
Сайт оч медленно работал , сегодня вот получилось.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Об/мин посредством индуктивного датчика
Под обороты в минуту думаю сам переделаешь:
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Об/мин посредством индуктивного датчика
Открыл проект. Смотрю код. Переменная #always_1 объявлена как временная, соответственно Network 1 - это что то непонятное. Переменные типа TEMP надо инициализировать при использовании, в них может быть что угодно, не обязательно 0. Если надо хранить вычисленные значения в следующем цикле, то надо использовать память типа STAT (FB) или M или DB.Ильшат писал(а):вот ссылка на проект
Много избыточных переменных используется. См. код ward, где таймер сам себя сбрасывает.
Re: Об/мин посредством индуктивного датчика
Темп лучше не использовать и это правда, лучше в ДБ все хранить