Страница 1 из 2

Об/мин посредством индуктивного датчика

Добавлено: 14 окт 2013, 10:29
Ильшат
Привет всем ! Собственно вопрос, возможно ли используя индуктивный датчик и контроллер s7-300 в часности CPU 313/2dp +модуль дискретных входов DI замерить скорость вращения вала? Допустим, имеется 1 индуктивный датчик и вал с 5 зубьями. Скорость вращения вала не велика максимум 10 об/мин направление вращения не важно . Соответственно пропускной способности по частоте должно хватить для замера. Читал S7-300 Technological functions ,но там рассматривается случай только с модулями скоростного счета и применяется SFB48 , в котором задается номер канала измерения, собственно, это не применимо для моего случая т.к. датчик у меня всего один и модуль тоже обычный. Может кто сталкивался ? И может есть у кого пример?

Re: Об/мин посредством индуктивного датчика

Добавлено: 14 окт 2013, 11:05
ward
у тебя на борту три счетчика на 30 кГц, их можешь использовать

Re: Об/мин посредством индуктивного датчика

Добавлено: 14 окт 2013, 11:12
Ильшат
Сори ошибся cpu шкой , уменя 315/2p , он зараза без счетчиков "лысый".

Re: Об/мин посредством индуктивного датчика

Добавлено: 14 окт 2013, 14:45
Михайло
Ищите системную функцию:
SFB 48 "FREQUENCY" Управление измерением частоты

Re: Об/мин посредством индуктивного датчика

Добавлено: 15 окт 2013, 07:14
Автоматизатор
Скорость - это количество импульсов за единицу времени. Заводишь таймер и считаешь количество положительных фронтов входного сигнала.

Re: Об/мин посредством индуктивного датчика

Добавлено: 17 окт 2013, 08:23
Ильшат
Все это конечно понятно... но как это реализовать в степе , 2 дня пробовал чет не оч получается точнее ничего не получилось

Re: Об/мин посредством индуктивного датчика

Добавлено: 17 окт 2013, 08:53
Автоматизатор
Выкладывай код, посмотрим, где ошибки.

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 11:32
Ильшат
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

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 11:33
Ильшат
код в принципе считает , но как сделать допустим чтоб показывало 0,1 об/мин 0,5 об/мин?

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 13:28
Автоматизатор
0,1 об/мин * 5 флажков = 0,5 имп./мин

Чтобы получить такую точность надо:
- увеличить разрешение (сделать 50 флажков), или
- увеличить время, за которое считается импульсы (скажем считать импульсы за 10 мин)

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 13:32
Автоматизатор
По коду:
- трудно разбирать код без таблицы символов и комментариев

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 13:40
ward
я бы использовал клок мемори и простые операции с INT-ом или реалом.

Судя по коду - он изначально был в ЛАДе, а потом переделан на СТЛ, поэтому такая шняга получилась

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 14:41
Михайло
Картинка LAD была бы понятнее...

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 15:02
Ильшат
Не могу выложить файлы сюда , прийду домой через файл обменник ссылку выложу, да ,код был написан в ладе за неимением возможности выложить сюда исходник скинул стл.

Re: Об/мин посредством индуктивного датчика

Добавлено: 18 окт 2013, 20:46
Ильшат
http://files.mail.ru/B47E8D9D6BD04A9A8E22C03919C8D017 вот ссылка на проект

Re: Об/мин посредством индуктивного датчика

Добавлено: 19 окт 2013, 06:56
Михайло
Какая проблема при выкладывании файла? Мы в соседней теме zip и rar спокойно выкладываем. Не у всех установлен Step7, лучше бы картинками выложил, если не громоздкий код...

Re: Об/мин посредством индуктивного датчика

Добавлено: 19 окт 2013, 07:39
Ильшат
Сайт оч медленно работал , сегодня вот получилось.

Re: Об/мин посредством индуктивного датчика

Добавлено: 19 окт 2013, 08:03
ward
Под обороты в минуту думаю сам переделаешь:

Изображение

Re: Об/мин посредством индуктивного датчика

Добавлено: 19 окт 2013, 09:45
Автоматизатор
Ильшат писал(а):вот ссылка на проект
Открыл проект. Смотрю код. Переменная #always_1 объявлена как временная, соответственно Network 1 - это что то непонятное. Переменные типа TEMP надо инициализировать при использовании, в них может быть что угодно, не обязательно 0. Если надо хранить вычисленные значения в следующем цикле, то надо использовать память типа STAT (FB) или M или DB.

Много избыточных переменных используется. См. код ward, где таймер сам себя сбрасывает.

Re: Об/мин посредством индуктивного датчика

Добавлено: 19 окт 2013, 10:14
ward
Темп лучше не использовать и это правда, лучше в ДБ все хранить