PDA

Просмотр полной версии : Простейший тахометр с индуктивного датчика на ПЛК160



des_na_laes@mail.ru
18.06.2020, 10:19
Коллеги, добрый день! Нашел на сайте простейшую программу частотомера, но никак не могу понять как она работает. Почему на вход сложения приходит тип WORD? Как адаптировать данную программу со счетчиками сигналов типа BOOL?. Хочу сделать частотомер с дискретного входа, чтобы считать обороты двигателя. Может есть у кого нибудь пример для изучения?

petera
18.06.2020, 12:08
Что там может быть непонятного?
Счетчик же аппаратный
49683
Т.е. импульсы подсчитываются вне программы, прямо на выбранном входе ПЛК, поэтому на вход ФБ приходит количество подсчитанных импульсов с внутреннего (аппаратного) счетчика (WORD).

ЗЫ
Для ПЛК160
49684

des_na_laes@mail.ru
18.06.2020, 14:33
Что там может быть непонятного?
Счетчик же аппаратный
49683
Т.е. импульсы подсчитываются вне программы, прямо на выбранном входе ПЛК, поэтому на вход ФБ приходит количество подсчитанных импульсов с внутреннего (аппаратного) счетчика (WORD).

ЗЫ
Для ПЛК160
49684

Пфф. Этот этап пройден. Но программа не работает при переводе ее на контроллер плк160. На выходе после 6-го шага программы нет значений. Сбился с ног. Блок move не передает сигнал на умножение, по какой причине? Не могу понять. Заготовку прилагаю.

petera
18.06.2020, 16:21
Пфф. Этот этап пройден. Но программа не работает при переводе ее на контроллер плк160. На выходе после 6-го шага программы нет значений. Сбился с ног. Блок move не передает сигнал на умножение, по какой причине? Не могу понять. Заготовку прилагаю.

Все он передает, ведь согласно порядку(номерам) выполнения в момент R_TRIG(3).Q=1 сначала MOVE(4) записывает в "0" в cou(5) и это "0" из сou блоком MOVE(6) записывается (передается) на умножение.

ЗЫ
Поменяй порядок выполнения
49699
и увидишь

des_na_laes@mail.ru
18.06.2020, 17:24
Все он передает, ведь согласно порядку(номерам) выполнения в момент R_TRIG(3).Q=1 сначала MOVE(4) записывает в "0" в cou(5) и это "0" из сou блоком MOVE(6) записывается (передается) на умножение.

ЗЫ
Поменяй порядок выполнения
49699
и увидишь

Счастью нет предела. Все заработало.;)

des_na_laes@mail.ru
20.06.2020, 09:44
Не знаю почему, но работает этот счетчик плохо. Сделал счетчик на стандартном блоке freq_measure (в конфигурации ПЛК нужно указать fast discrette input). Сигнал с него в герцах, умножать нужно на 60, с целью отображения оборотов в минуту, на reset нужно подать дискрет по окончанию отсчета(например отключенное состояние двигателя). Работает отлично. Прилагаю скрин с программой, для таких же новичков как я.