Найти в Дзене
Владимир

Архибюджетная панелька Samkoon как Modbus slave.

Просматривая сайт широко известной торговой площадки наших китайских товарищей увидел комплект автоматизации состоящий из клона контролера Mitsubishi серии FX (14 DI, 10 DO, 6 AI, 2 AO, RS232, RS485, RTC) и цветной панели оператора с диагональю 4,3 дюйма Samkoon EA-043A. Цена комплекта чуть более 8 тыс. руб с доставкой. Какая-то невероятная щедрость, даже программируемые реле у Сименс и Шнайдер стоят в разы дороже!

песочница
песочница

Про эксперименты с контроллером я рассказывал в предыдущей публикации. Теперь очередь панели оператора. В отличие от клона FX, использование которого по назначению изначально не входило в мои планы, так как немного ранее мою был приобретён для домашней автоматизации нормальный S7-1200 от Сименс. Панельку предполагается использовать по назначению, для просмотра температур и влажностей в доме и бане, задания временных интервалов проветривания, просмотра трендов потребляемой домом мощности и т. п. Подключить эту модель к моему S7-1200 возможно, если ничего ещё не приобретать, только тем же способом что и китайский клон Mitsubishi FX, то есть как Modbus RTU slave. Собственно в этом и заключается необычность подключения панели оператора к контроллеру.

Поскольку у меня на ноутбуке уже давно Linux, среда конфигурирования панели SATOOL версии 6.0.042, бесплатная, была развёрнута в виртуальной виндовс машине. Из упаковки в панель был залит демо проект который, судя по миганию лампочки интерфейса, даже пытался куда-то подключиться. Первым делом нужно было скачать проект, благо среда разработки и панель это позволяют. Для конфигурирования панели на ней имеется отдельный USB порт. Это удобно. Однако скачивание зависло… Отключение-подключение пенели к виртуальной машине сдвинуло процесс с мёртвой точки, но скачанный проект не хотел открываться — намертво вешал виртуальную машину. А панель при перезапуске сообщала что рабочий проект повреждён или отсутствует. Некоторое время ушло на то чтобы осознать — конфигурирование панелей Satkoon из виртуальной среды невозможно, независимо какой именно виндовс в виртуальной машине, из-за нестабильной связи. Пришлось использовать старый ноутбук на виндовс. Из тех же соображений что и в публикациии про клон FX, то есть чтобы не плодить сущности и не увеличивать количество сеансов связи, Modbus input coil и output coil решено не использовать, а дискретные сигналы передавать и принимать упакованными в holding registers.

Что касается внутренней адресации панели то тут всё просто, Modbus input coil и output coil мапятся в LB область памяти с ноля, а Modbus holding registers в LW область памяти тоже с ноля. Специальных Modbus сниферов я не использую, мне достаточно бесплатного NAPOPC.

Тестовые проекты S7-1200 (как Modbus master) и Samkoon EA-043A (как Modbus slave) приведены ниже, комментариев в проектах надеюсь достаточно. Лишь небольшое замечание о распаковке и упаковке битов в слова на стороне Sankoon. Стандартные функции SETBIT и GETBIT, как мне показалось, работают медленнее чем использование масок во встроенном языке макросов. Оставил маски.

В следующей статье будет описано подключение трёхфазного измерителя мощности SINOTIMER DDS578R. В хозяйстве такая вещь может пригодиться если важно сколько из общей потребляемой почности приходится на какой-то конкретный потребитель или строение, например баня.

Всем творческих успехов.

Проект S7-1200 (как Modbus RTU master)

Проект Samkoon EA-043A (как Modbus RTU slave)

Среда разработки