Итак, проект получил пока внутреннее название AquariumPLC.
Первый модуль входов получил название Aquarium PLС Universal Input 16.
То есть он будет на 16 входов.
Теперь вкратце о его устройстве.
Питание и межмодульный интерфейс находятся на задней проходной шине, которая соединяет все модули между собой.
В отличии от контроллеров входа будут не контакты под винты – а разъемы.
В качестве разъемов для входов будут использованы разъемы USB 3.0.
Да, хотелось с защелкой, но не нашел ничего лучшего, устраивающего меня по габаритам, удобству разводки и достаточному количеству проводов внутри.
Входа будут универсальные – то есть к ним можно будет подключить датчик любого типа. Как обычный герконовый датчик уровня вода, так и, например, датчик pH.
Каждый разъем будет содержать следующие сигналы:
1 - +24V
2 - SYGNAL / DATA_IN
3 - SFI (SYNC_FOR_INPUT)
4 - GND
5 - +3,3V
6 - RX
7 - GND
8 - TX
9 - GND
Первые 4 контакта разъема позволяют подключить собственно сам датчик. Если датчик обычный на замыкание – то он должен замыкать провод SYGNAL на GND. Если датчику требуется питание (например, бесконтактный датчик уровня), то берем питание с +24В. Если датчик более сложный (pH, ОРЗ и т.д.) то он должен содержать в себе процессор, который будет передавать его данные в цифровом виде по тому же проводу SYGNAL синхронизируясь по проводу SFI. Питание +24В идет через на каждый датчик через монитор питания, который следит за наличием нагрузки, током через нагрузку, коротким замыканием и т.д. Датчик автоматически отключается при любой проблеме. Все входа с оптоизоляцией. Все входа со светодиодами.
Самое интересное заключается в сигналах 5-9. Разъем датчика содержит копеечный информационный процессор, который выполняет две функции).
1. Рассказывает модулю и мозгу что это за датчик и в какой разъем он включен. То есть вы можете включить датчик в абсолютно любой разъем на модуле или модулях, если их несколько. Можно даже на работающей системе переткнуть в другой разъем. Дырки разъемов по сути не имеют нумерации, равнозначны и мозг ориентируется не на них, а на то что туда включено.
2. Рассказывает мозгу что делать с этим датчиком. Фактически заливает в мозг программу. Так как мозг является интерпретатором, то программы могут быть легко залиты в реальном времени. То есть сам по себе мозг ничего не знает (ну знает конечно, но не все и не для всех). Достаточно купить датчик автодолива и информационный процессор датчика зальет в мозг программу (набор действий) автодолива. То есть думать вообще не надо – воткнули узко специализированный датчик – и компьютер сам разобрался что это автодолив. Для неквалифицированного пользователя это будет идеально. По сути перепутать ничего невозможно без особого "дара перепутывания".
Сразу может возникнуть вопрос – можно ли воткнуть обычный датчик без информационного процессора. Еще не решил. Теоретически да. Провод SYGNAL для этого и предназначен. Он отрабатывает на просто замыкание. Но тогда надо входить в настройки и говорить, что это за датчик, в какую дырку воткнут и что с ним делать. Так как стоимость информационного процессора очень низка то датчики без него особого смысла не имеют. В мозге будет дырка для программирования датчиков. То есть, если надо сменить датчик с автодолива на автоналив, то достаточно воткнуть его в эту дырку и изменить ему назначение.
Какой еще плюс у данной схемотехники – удобство обновления программного обеспечения. Обновлять программы можно как угодно – через датчик, с компа, по воздуху и т.д. Программа — это просто текстовый файл на специальном языке. Можно иметь даже кучу версий программ и если после обновления что-то не нравится то откатываться на любую другую. Можно при некотором навыке самим клепать эти программы.