Состояние реле в битовую маску

Тема в разделе "Посоветуйте детальки", создана пользователем Antoha, 13 апр 2017.

  1. Antoha

    Antoha Нуб

    Дано: ~30 линий 220В, состояние которых хочется проверять по принципу есть напряжение\нет. Как самое очевидное видится использовать 30 реле (или оптопару, не суть важно), которые бы замыкались при наличии 220. Получаем 30 линий детекции, что не переварит ни один ПЛК.
    Логика подсказывает, что эти 30 линий фактически битовая маска, меньше 5ти байт, которая легко умещается даже в int и может быть передана на ПЛК в цифровом виде.
    Собственно вопрос - есть ли в природе модули для преобразования битовой маски в цифру или чем их можно заменить?
    Попутно хочется уточнить, может есть какая другая схема для подобных задач?
     
  2. rkit

    rkit Гуру

    Вот так новости.
     
  3. Igor68

    Igor68 Гуру

    Простите за мои опять 25... я снова про ОВЕН - точнее модули ввода-вывода:
    http://www.owen.ru/catalog/modul_vvoda_diskretnih_signalov_mv110_8df/opisanie
    8 реле с монтажем... да потом ещё контроллер... если вам для быстрого решения самое то. Тоесть потребуется 5 таких устройств... и по Modbus читайте состояние входов. Если хотите самоделку... ну в целях освоения контроллеров - то по вами упомянутому принципу. Подсчитайте кол-во реле, монтаж и т.п. - применить эти блоки выгоднее даже если для микроконтроллера а не ПЛК.
    Ещё раз прошу прощения!

    Добавлю:
    Если вы контролтруете состояние пускателей или реле, что уже подключены к упомянутым линиям и есть свободные группы контактов, то выгоднее конечно вот это:

    http://www.owen.ru/catalog/modul_vvoda_diskretnih_signalov_mv110_32dn/opisanie
    Сразу контроль 32 - х линий (устройств)
     
    Последнее редактирование: 13 апр 2017
  4. Antoha

    Antoha Нуб

    Ключевое слово было "один", имелось ввиду вот это:
    Т.е. хочется решение, которое не займет пол шкафа.
     
  5. rkit

    rkit Гуру

    Если бы вы потратили хоть минуту на прочтение ссылки, вы бы заметили там же вариант на 32 входа. А если бы вы очень напряглись, потратили целых пять минут на изучение рынка ПЛК. то вы бы знали, что есть варианты на ТЫСЯЧИ входов. Но лучше, конечно, страдать фигней.
     
  6. Antoha

    Antoha Нуб

    Да, лучше. Потому что
    Габаритные размеры прибора, мм (140x110x73)±1. В моем случае это "пол шкафа" (не проверял, но мне кажется в стандартный шкаф оно вообще не влезет по высоте). И чтобы подключить это детище к сети я должен потратить еще столько же места.
    Всё, что я видел из ПЛК либо проприетарны, либо размером с автомобиль (и да, тут я утрирую, это на всякий) и для контроля линий более всем избыточны.
    Чтобы совсем было понятно - я НЕ ищу готовое промышленное решение. По моему раздел "Посоветуйте детальки" как бы на это намекает.
     
  7. Igor68

    Igor68 Гуру

    snapshot1.png
    Предоставленный вход расчитан на 220 в переменки в одном блоке их 8

    Думаю остальное после оптопары додумаете, а R2 пересчитаете. с C1, VD1 и R4 проблем не будет. А с мультплексированием входов (их в реалности вам не хватит на микроконтроллере... хотя может и подберёте на заявленное количество входов) уж разберётесь - логика (микросхемы) вам в придачу - ну дешифраторы и мультиплксоры и т.п. Не забудьте про питание. Если не будете заказывать плату... а из модулей... тогда вам и десятка таких шкафов будет мало. Кстати про микроконтроллер - посмотрите на AT SAM3U4E AU-ES. Портов IO там много... должно хватить! Да и Cortex M3 он... Посмотрите!
     
  8. rkit

    rkit Гуру

    Зачем тогда жаловаться на плк, если вам не нужен плк?
    И что же вам тогда нужно?
    Ваши расчеты с битами во-первых насквозь неправильные, во-вторых ничего не говорят о приемнике.
    Если микроконтроллер, то они тоже бывают с огромным количеством входов, так что колхозоэить ничего не надо. Если готовую плату, то есть ардуино мега, где больше 50 пинов.
     
    Igor68 нравится это.
  9. Antoha

    Antoha Нуб

    Ну потому и жалуюсь, что не отвечает моим требованиям :)
    А что не так с расчетами битов? В моем представлении это выглядит так: мы запрашиваем состояние, на выходе получает число, представляющее собой битовую маску состояния входов. Что типа
    100011100111001100111100110011001111 -> 0x8E733CCCF, декодируется она влет.

    В том то и дело, что выход хотелось бы иметь максимально универсальный - SPI, к примеру. Так что да, скорее всего это некий микроконтроллер (в этом у меня опыта нету совсем, я больше по передачи данных), который можно программировать на базовом уровне (как XBee к примеру). Потому что потом это всё равно всё будет упаковываться в TCP\IP (или ZegBee\XBee) и отправляться на сервер управления. Поэтому всякие поделия типа Овена (не хочу этим обидеть ребят из Овена, они делают то, что их просят), заточенные на российскую промышленность прошлого века, не подходят.
     
  10. rkit

    rkit Гуру

    Ошибки
    1. Битовая маска это шаблон для выборки из битовой строки. Вам нужна именно битовая строка.
    2. 30 бит это 4 байта, а не 5
    3. В int 2 байта, а вы туда 5 затолкать собрались.


    Плк с TCP/IP тоже пруд пруди.
    SPI - просто лишний шаг. И не надо выпендриваться, будто у вас айфон какой. Вам нужно обнаружить напряжение, это рутинная, сто тысяч раз пройденная задача, даже для российской индустрии.
    С тысячами готовых вариантов. Надо просто определиться со связью, и набрать в гугле.
     
  11. Antoha

    Antoha Нуб

    про 5 опечатка, согласен. А в int таки может быть и 4ре и 8м байт. 2 байта это для 16битных процессоров.

    Ну вот и я в общем-то и определился со связью - SPI :) Можно и UART рассмотреть.
     
  12. rkit

    rkit Гуру

    Опять 25. SPI с чем? С контроллером? Зачем, когда есть контроллеры с любым количеством выходов?
     
  13. Antoha

    Antoha Нуб

    Не очень понял вопрос. В SPI должно уже приходить число равное битовой строке. А что я буду подключать к SPI - дело десятое. Сегодня это XBee, завтра модуль Ethernet-TCP\IP, послезавтра (не дай бог) модуль WiFi. Благо выбор есть. SPI, думаю, никуда в ближайшие годы не денется. Т.е. я не хочу при смене среды передачи менять всю систему (то, что вы предлагаете, если я всё верно понял).
     
  14. Igor68

    Igor68 Гуру

    Значит Modbus RTU по RS485 это плохо, а SPI (для соединения между детальками Вы ещё I2C возьмите) и UART - скорее всего небось RS232 (если RS485 Вас не устраивает, или вообще UART по TTL уровням)... во круто! Вы уж тогда Profibus DP возьмите... и если не затруднит, когда Вам SIEMENS даст описание сего протокола, поделитесь пожалуйста. А Ethernet - их тоже навалом! У Вас сейчас первая задача (как говориться в стихах "... на кладбище не попасть." <Филатов>) собрать данные битов с уровнями напряжений 220в и организовать их в байты (коли не хотите готовое), а только потом (хоть по спутнику или оптоволокну, хоть по TCP и т.д.) Передать какому-то узлу(серверу) в сети. Не хотите OWEN берите SEGNETICS, ну Advantech, ABB или Siemens. Вы задали вопрос - вам предложили решения! Может ещё кто предложит! Так в чём дело? Хотите решение?! Так и спрашивайте!
    Ещё раз извините!
     
  15. Antoha

    Antoha Нуб

    RS485 это вообще плохо, да. Ибо в общем-то мертво с потребительской точки зрения. Преобразователь 485->Ethernet стоит каких-то не приличных денег, потому что скорее всего их делают по одной в месяц в лучшем случае. А SPI\UART есть везде, даже в дохлом ESP8266. Но понятно, что UART это ну на совсем крайний случай.
     
  16. rkit

    rkit Гуру

    Вы не понимаете, как SPI работает, по-моему. Есть ведущий, есть ведомый. Кто есть кто у вас?
     
  17. Antoha

    Antoha Нуб

    К примеру, микроконтроллер с SPI - мастер, тот же XBee - ведущий. Мастер может сам посылать данные (если к примеру состояние входа изменилось), XBee может "передавать" (т.е. просить мастера их считать) данные через SPI_nATTN.
     
  18. Igor68

    Igor68 Гуру

    Вообще-то всегда использую 485<->MK<->Ethernet без специального преобазователя. RS485 - дифференциальная линия связи помехоустойчивая и к протоколу отношения не имеет(Modbus и Profibus аппаратно повторяет RS485... в Profibus использует эранированный специальный кабель для большего baudrate). Собирайте данные и пусть контроллер отправляет на сервер. У вас больше будет проблем именно со сбором. Если линии далеко друг от друга то явно надо будет или тащить их к своему блоку или делать распределённый сбор от нескольких блоков, но это точно не по SPI, а дифференциальная сеть RS485 (кстати у USB эта же идея). Тащить к каждой точке Ethernet... если вам удобно, то через роутер.
    Если устройство одно и со множеством входов да и не лежит душа ни к чему кроме Ethernet, то малина самое оно, а сбор сигналов это уже ваша плата и её разводить и паять... ведь схему входов сами будете делать, да и логику опроса в одной коробке (SPI, I2C ссамое то). Кстати малина будет и клиентом и сервером, а с доступом по I2C к вашей схеме не будет проблем с уровнями.
     
  19. rkit

    rkit Гуру

    Ок. Тогда вопосов больше нет, я так понимаю.
     
  20. Antoha

    Antoha Нуб

    кроме как, пожалуй, найти подходящий МК. Гугл выдает какую-то дичь.