Просмотр полной версии : Электронная линейка (Помощь)
iurlic2007
07.09.2016, 16:59
Здравствуйте. Связка СПК-107 и МВ110-16ДН. На первый и второй вход МВ110-16ДН подан сигнал от свободных контактах кнопок, которые включают пускатели. Реализовано включения двигателя вперед - назад. На крыльчатке двигателе закреплен болт. рядом с крыльчаткой закреплен индуктивный датчик. На третий вход МВ110-16ДН подан сигнал от индуктивного датчика. Реализовано программа подсчета импульсов. Все импульсы читаются контроллером с этим проблем не возникло. Хочу с помощью контроллера реализовать электронную линейку. Двигатель крутит винт ШВП. Соответственно винт двигает некое устройство. Идея такая если я нажал кнопку допусти вперед сигнал поступает от кнопки на 1-й вход МВ110-16ДН а на 3-й вход приходят импульсы от индуктивного датчика. все считать мы количество импульсов, далее сами переведем в физическое значение (мм). Если я хочу крутить двигатель а обратном направление то поступает сигнал от второй кнопки на 2-й вход МВ110-16ДН, и на 3-й вход МВ110-16ДН сигнал от индуктивного датчика. Проблема в том что посчитанные импульсы увеличиваются а мне как бы надо мину совать те импульсы которые запомнили при включение двигателя вперед. Помогите как реализовать такой принцип.
Если я хочу крутить двигатель а обратном направление то поступает сигнал от второй кнопки на 2-й вход МВ110-16ДН, и на 3-й вход МВ110-16ДН сигнал от индуктивного датчика. Проблема в том что посчитанные импульсы увеличиваются а мне как бы надо мину совать те импульсы ...
а на МВ110- счетчик как сбрасывается?
ну на первый взгляд по тригеру смены направления транслировать текущее состояние счетчика в вспомогательную переменную и потом минусовать текущий счетчик из этой переменной.
iurlic2007
12.09.2016, 14:20
Пробовал по разному но что то не получается
есть на руках МВ110? там как вход в режиме счетчика задается? и что потом можно получить на ПЛК? значение счетчика? или только состояние DI 0/1?
Использовать счетчик с инкрементом и декрементом
iurlic2007
12.09.2016, 16:51
получаем значения количество импульсов поданных на вход МВ110-16ДН. Тип Word.
iurlic2007
12.09.2016, 16:53
CTU? или СTD?
CTUD, есть в Standard.lib, считает в оба направления. Раз уж вы программно считаете, просто переключайте направление счета.
iurlic2007
12.09.2016, 18:30
да но на входе я должен подать переменную типа word
да но на входе я должен подать переменную типа word
Пример для размышлений. А дальше сами.
iurlic2007
12.09.2016, 20:48
http://www.owen.ru/uploads/re_mv110-16d_dn__2164.pdf стр.16
ИЗ ИНСТРУКЦИИ
Каждый дискретный вход имеет собственный 16-ти битный счетчик импульсов, пришедших
на вход. Максимальная частота импульсов счета должна составлять не более 1 кГц при
длительности импульса не менее 0,5 мс. Импульсы большей частоты или меньшей
длительности пропускаются. Счет осуществляется по переднему фронту (по замыканию
контакта). При пропадании питания модуля результаты счета сохраняются в
энергонезависимой п
Ну так используйте. В чем проблема?
CTD в помощь. На вход PV - полученное значение из счетчика в модуле. Его обнуление привязать к выходу Q.
Сергей0308
12.09.2016, 21:20
Может дождётесь СПК1хх.Д, тогда обойдётесь без модуля ДВ и задержки по сети не будет, короче одни плюсы! А так пожалуйста пользуйтесь:
26356
Может дождётесь СПК1хх.Д
Это Вы хорошо пошутили, с учетом когда был первый анонс и обещание Овена начать продажи в начала 2015. :)
Осинский Алексей
14.09.2016, 07:26
Это Вы хорошо пошутили, с учетом когда был первый анонс и обещание Овена начать продажи в начала 2015. :)
На сколько мне известно в скором времени мы объявим старт продаж СПК1хх.Д
iurlic2007
21.09.2016, 13:11
Из изображения видно что переменная Impuls_Levii равно 113 импульсов типа Word и как подать то сейчас на счетчик CTDU.
iurlic2007
27.09.2016, 19:56
Никто не готов помочь?
Евгений Кислов
27.09.2016, 21:06
Никто не готов помочь?
Вопрос сформулирован некорректно. Счетчик считает кол-во переходов логической (BOOL) переменной из FALSE в TRUE (инкремент) и/или из TRUE в FALSE (декремент). На вход счетчика, соответственно, подается эта BOOL переменная. Число туда подать нельзя.
Вам лучше детально описать фрагмент задачи, который вы хотите решить с помощью счетчика.
iurlic2007
28.09.2016, 09:50
Перевести количество импульсов в миллиметры. У меня 410 импульсов 1 мм хода установки. Вывести на экран ход установки в реальном времени с возможностью указания хода установки от нуля в минус. От нуля если установка идет вперед значения положительные а если назад то значения отрицательные
Евгений Кислов
28.09.2016, 10:52
Перевести количество импульсов в миллиметры. У меня 410 импульсов 1 мм хода установки. Вывести на экран ход установки в реальном времени с возможностью указания хода установки от нуля в минус. От нуля если установка идет вперед значения положительные а если назад то значения отрицательные
Вот простейший пример без привязки к мм (рассматривается ситуация, когда один импульс = 1 мм).
Паузу, сброс и т.д. прикрутить, думаю, не составит проблемы.
wCounter - значение счетчика, считанное с модуля.
wVisu - значение, отображаемое линейкой в визуализации.
xMode - направление счета (TRUE - прямое, FALSE - обратное).
26709
iurlic2007
30.09.2016, 18:23
[QUOTE=Евгений Кислов;221860]Вот простейший пример без привязки к мм (рассматривается ситуация, когда один импульс = 1 мм).
Паузу, сброс и т.д. прикрутить, думаю, не составит проблемы.
wCounter - значение счетчика, считанное с модуля.
wVisu - значение, отображаемое линейкой в визуализации.
xMode - направление счета (TRUE - прямое, FALSE - обратное).
Что не правильно сделал цифры в визуализации хаотично гуляют
Евгений Кислов
30.09.2016, 19:00
Сравните расстановку знаков на скриншоте и в вашей программе.
Для начала просто проэмулируйте изменение wCounter в программе (для наглядности можно поставить цикл 1 секунду).
Еще раз уточню, это просто пример, который вам нужно будет адаптировать под конкретную задачу - например, обрабатывать переход счетчика через 0 и т.д.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot