Коммуникационные ПЛК BECK серии com.tom

В этом году компания BECK запустила новое семейство контроллеров под названием com.tom (communication to machine). Основная задача, на решение которой призвано это семейство, состоит в управлении процессами производства с одновременным удаленным доступом через интернет к мониторингу и управлению этими процессами пользователями (рис 1.).

im1.jpg
Рис 1.

В состав этого семейства входит 4 линейки контроллеров BASIC, RADIO, GRAPHIC and WIRELESS. Сравнительные характеристики представлены на рис 2.
im2.jpg
Рис 2.

Все семейство контроллеров, представленных на рис 2., выполнены на базе BECK чипов и в принципе могут программироваться аналогично чипам как на C++, так и на CoDeSys, если ПЛК идет с лицензией CoDeSys (см. последний столбец каждой линейки рис 2.).
Помимо этих инструментов для некоторых представителей этого семейства ПЛК существует свой собственный упрощенный механизм удаленного программирования под названием WebPLC (предпоследний столбец рис 2.). Вот его и рассмотрим более подробно на примере ПЛК Radio 2.1 (рис3.).
im3.jpg
Рис 3.

Для этого нам понадобиться подать питание и подключить этот ПЛК к Интернету, я это сделал через нашу локальную сеть, воткнув в Ethernet. После подачи питания, стандартным CHIPTool- ом, как было описанно в примерах работы с чипами, его можно обнаружить в нашей сети и провести желаемые сетевые установки. Устанавливаем Java машину на ПК, после этого можно достучаться до этого устройства по сети через WEB интерфейс обратившись в браузере по IP адресу ПЛК (Рис 4.).
im4.jpg

Рис 4.

После выполнения аутентификации в окне браузера, отображается сама программа, загруженная на данный момент в контроллер (рис 4). Как видно из рисунка 4, язык программирования представляет собой сильно упрощенный язык CFC. Инструментарий языка не богат: всего 7 блоков (and, or, xor, counter, compare, RS FlipFlop и taimer), призванных решать несложную логику. (Или сложную в пределах этих вышеперечисленных инструментов:) ). Помимо входов/выходов и констант тут существует особый класс переменных Portal variables. Этими переменными можно управлять процессом удаленно, не заходя в программу контроллера. Делается это через специальный PORTAL, который организован на серверах BECK. При покупке приборов из серии com.tom этот прибор регистрируется на этом портале, и для него создается свой собственный аккаунт. ПЛК доступными ему методами, будь то Ethernet или GPRS, через интернет подключается к порталу и начинает туда по запросу пользователя вещать данные.
Пользователь может войти на портал по предоставленным ему паролям и наблюдать за состоянием ПЛК. Также пользователю доступны к изменению переменных Portal var., тем самым предоставлена возможность влиять на процессы, контролируемые ПЛК. (Рис 5.)
im5.png
Рис 5.

Глядя на эту картинку, на ум сразу приходят образы торговых автоматов, расставленных по городу, и усердный управленец смотрит через портал за состоянием каждого, где какой товар добавить, где и сколько денег снять :)

Оболочка портала, как отдельная среда, может настраиваться под конкретного пользователя. Поддерживает различные инструменты обработки данных, к примеру, ведения журнала событий. Инструменты эти могут добавляться и добавляются программистами BECK с одним но - документирования этих функций нет. Изучать их пока приходиться по наитию. Хочется верить, что в будущем этот вопрос будет решен.

Документация самого языка, присутствует и доступна из окна браузера.
Как я уже говорил выше, язык программирования прост, но компания BECK развивает функционал языка, и прошивка ПЛК может обновляться автоматически по команде пользователя с портала. Тем, кому не хватает функционала WEBplc, BECK предлагает обратить внимание на ICEX библиотеку для CoDeSys их производства, которая позволяет программировать контроллеры семейства com.tom в CoDeSys с доступом к вышеописанному порталу.
И вот в этом месте у читателя возникает резонный вопрос: а сколько эта штука жрет траффика?
А вот сколько:

com.tom устройство в “покое” :
Подсчитанный трафик в день [kiB]: ~415
Подсчитанный трафик в 30 дней [MiB]: ~12

Передача одного значения (32bit) каждые 60 секунд:
в день [kiB]: ~1.700
в 30 дней [MiB]: ~48

Передача одного значения (32bit) каждые 10 секунд:
в день [kiB]: ~7.900
в 30 дней [MiB]: ~ 230

На этом я закончу обзорную экскурсию и предлагаю всем желающим посмотреть и попробовать этот контроллер удаленно в живую.
ПЛК поддерживает мультисессионный доступ, но, дабы не было коллизий, адреса и пароли этого ПЛК выдам по запросу желающих по почте :)(m.shvetsov@prolog-plc.ru)