PDA

Просмотр полной версии : СПК+Купюроприемник



Drahtor
24.09.2016, 23:06
Имеется связка СПК-107+МВ110-16ДН+2хМу110-8Р. К дискретному входу МВ110-16Д подключен купюроприемник, который выдает 1 импульс, длительностью 50мс на 10руб. Пауза между импульсами тоже 50мс. Как правильно организовать подсчет импульсов? Если тупо считать импульсы, то какое то их количество пропадает, видимо, импульс проскакивает пока опрашиваются другие модули. Если считывать счетчик самого модуля, то, в принципе все нормально, но если закинуть, к примеру, 1000 или 5000 руб, то приходится ждать некоторое время, пока счетчик все досчитает, а заказчик хочет видеть на экране сам процесс счета, то есть как баланс увеличивается от начального на величину закинутой купюры (если начальный баланс был нулевым, то вроде бы проблем нет, в противном случае появляются трудности..).
Еще есть монетоприемник, который принимает 10-ти рублевые монеты с той же длительностью импульсов - 50мс. Длительность паузы зависит от того, с какой скоростью закидываются монеты. Здесь тоже на самом модуле светодиод моргает при каждой монете, в программе же фиксируется через раз или как повезет. Использовать счетчик модуля для 2-3 монет и постоянно его обнулять на первый взгляд кажется глупо. Как поступить в этом случае?
P.S. Опрос модулей ведется с помощью библиотеки ModulsOwenLib, выведен в отдельную задачу. Какое время цикла выставить для него и для самого PLC.PRG? Какие приоритеты поставить?

rovki
25.09.2016, 00:01
СПК-107+МВ110-16ДН+2хМу110-8Р такая огромная связка ,что бы монеты считать ??? Или еще какие сложные задачи будет выполнять связка?

Сергей0308
25.09.2016, 01:10
Имеется связка СПК-107+МВ110-16ДН+2хМу110-8Р. К дискретному входу МВ110-16Д подключен купюроприемник, который выдает 1 импульс, длительностью 50мс на 10руб. Пауза между импульсами тоже 50мс. Как правильно организовать подсчет импульсов? Если тупо считать импульсы, то какое то их количество пропадает, видимо, импульс проскакивает пока опрашиваются другие модули. Если считывать счетчик самого модуля, то, в принципе все нормально, но если закинуть, к примеру, 1000 или 5000 руб, то приходится ждать некоторое время, пока счетчик все досчитает, а заказчик хочет видеть на экране сам процесс счета, то есть как баланс увеличивается от начального на величину закинутой купюры (если начальный баланс был нулевым, то вроде бы проблем нет, в противном случае появляются трудности..).
Еще есть монетоприемник, который принимает 10-ти рублевые монеты с той же длительностью импульсов - 50мс. Длительность паузы зависит от того, с какой скоростью закидываются монеты. Здесь тоже на самом модуле светодиод моргает при каждой монете, в программе же фиксируется через раз или как повезет. Использовать счетчик модуля для 2-3 монет и постоянно его обнулять на первый взгляд кажется глупо. Как поступить в этом случае?
P.S. Опрос модулей ведется с помощью библиотеки ModulsOwenLib, выведен в отдельную задачу. Какое время цикла выставить для него и для самого PLC.PRG? Какие приоритеты поставить?

А не лучше вместо трёх модулей(МВ110-16ДН+2хМу110-8Р) поставить 2 ПР200, по моему всё упростится(в ПР200 можно суммировать), может и удешевится, но я не знаю всех тонкостей! Тем более блок питания 24в всё равно присутствует, может только потребуется чуть мощнее!

Drahtor
25.09.2016, 09:53
СПК-107+МВ110-16ДН+2хМу110-8Р такая огромная связка ,что бы монеты считать ??? Или еще какие сложные задачи будет выполнять связка?
Конечно же, это лишь одна из задач данной связки. Заменить ее ПР-200 тоде нельзя, так как все входа и выхода задействованы.
Нужно выкручиваться имеющимися средствами. В принципе, здесь напрашивается какой-нибудь ПЛК с панелью, но условия задачи менять уже нельзя.

melky
25.09.2016, 10:15
нужен независимый счетчик с индикатором и rs485-м портом. Будет пропускать импульсы из-за времени опроса. Просто совпало время опроса до очередного импульса и все, кирдык одному импульсу.

murdemon
25.09.2016, 10:47
в М110-16Д надо просто считать значение счетчика а не вход (в http://www.owen.ru/uploads/re_mv110-16d_dn__1825.pdf) стр 48
Значение счетчика входа №1 срабатывание 0..65535 int16 0040 0064
Значение счетчика входа №2 срабатывание 0..65535 int16 0041 0065
и тд ......

А после того как все тэнге сосчитаны просто 0 в счетчик пишем и все и счет будет опять с 0.
(Минимальная длительность импульса,воспринимаемого дискретным входом,мс 0.5 (скважность 2 для частоты 1 кГц) явно выше чем вам надо так что все ок)

В принципе МВ110-16Д и есть независимый счетчик (без индикатора) и rs485-м портом

Drahtor
25.09.2016, 11:30
в М110-16Д надо просто считать значение счетчика а не вход (в http://www.owen.ru/uploads/re_mv110-16d_dn__1825.pdf) стр 48
Значение счетчика входа №1 срабатывание 0..65535 int16 0040 0064
Значение счетчика входа №2 срабатывание 0..65535 int16 0041 0065
и тд ......

А после того как все тэнге сосчитаны просто 0 в счетчик пишем и все и счет будет опять с 0.
(Минимальная длительность импульса,воспринимаемого дискретным входом,мс 0.5 (скважность 2 для частоты 1 кГц) явно выше чем вам надо так что все ок)

В принципе МВ110-16Д и есть независимый счетчик (без индикатора) и rs485-м портом
А сейчас так и сделано, просто пока счетчик считает (а это до 30 сек, в зависимости от веса купюры), на панели ничего не меняется, и клиент начинает паниковать.
Если с этим более-менее понятно,то как поймать импульс от монеты?

murdemon
25.09.2016, 20:35
от монет... так же. Для отображения сделай счет отображаемый на панели мол закинул 1000 и счет пошел от 10 20 30 40 и тд .. но 30 сек :) это перебор. Сделай импульсы меньше и период меньше. 5 сек это максимум на ожидания клиента. А так лучше цифровой интерфейс купюроприемника используй и будет тебе счастье.

Drahtor
25.09.2016, 20:50
А так лучше цифровой интерфейс купюроприемника используй и будет тебе счастье.
Прецеденты были?

приборист
25.09.2016, 23:38
Прецеденты были?
Были
Ccnet работает отлично.

Drahtor
26.09.2016, 11:31
Были
Ccnet работает отлично.
А с чем связывали? Имеется в виду контроллер. ОВЕН?