MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD
MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD
Статьи

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Начиная с версии прошивки 519, модули MP712m Laurent-5 и MP718m Laurent-5G могут работать с внешним символьным LCD дисплеем для отображения на нем различной информации в том числе актуальных показаний различных датчиков и системных переменных.

Рассмотрим в данной статье практический пример использования LCD в связке с Laurent-5. В частности, реализуем систему визуализации ряда настроек модуля а так же текущего состояния некоторых аппаратных ресурсов. Предусмотрим так же механическую кнопку для пользователя с помощью которой он сможет "листать" страницы дисплея (переходить к другим блокам информации т.к. все что мы захотим визуализировать едва ли поместится на одном экране).

Подключение LCD

 Первым шагом подключим знакосинтезирующий LCD дисплей к модулю. Будем использовать символьный дисплей с двумя строками по 16 символов в каждой строке. Конкретная модель - МЭЛТ МТ-16S2H-2YLG. Можно так же использовать дисплеи с другим разрешением или других производителей, например, WinSTAR.

 Дисплей подключается в четырех-битном режиме шины данных с "штырьковому" разъему на лицевой стороне платы.

 

 

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Разъем для подключения LCD дисплея

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Разъем для подключения LCD дисплея

 

Схема подключений линий штырькового разъема модуля и LCD дисплея МЭЛТ МТ-16S2H-2YLG представлены на иллюстрации ниже.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Подключение LCD дисплея к модулю Laurent-5

 

Контакт “штырькового” разъема модуляИмя линииОписаниеНомер контакта MT-16S2H-2YLG
11D7Шина данных LCD дисплея (страший бит в 4-х битом режиме передачи данных)14
12D6Шина данных LCD дисплея13
13D5Шина данных LCD дисплея12
14D4Шина данных LCD дисплея (младший бит в 4-х битом режиме передачи данных)11
15EСигнал разрешения обращений к LCD дисплею (а также строб данных)6
16RWВыбор режима записи или чтения данных по шине LCD дисплея5
17AАдресный сигнал LCD дисплея — выбор между передачей данных и команд управления4
18GND“Земля”1
19+5Питание дисплея (+5V)2

 

Используя пины штырькового разъема модуля можно подключить и другие модели знакосинтезирующих дисплеев с паралельной шиной данных - главное проверить назначение контактов конкретного LCD. Например, на фото ниже показан подключенный дисплей 4 x 16 МЭЛТ MT-20S4A-2YLG

 

После подключения дисплея можно оперативно проверить его работоспособность через WEB интерфейс. Заходим в соответствующий раздел WEB:

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD WEB интерфейс управления LCD дисплеем

 

По умолчанию, модуль настроен на работу с дисплеем 2x16 (как раз наш случай). Если нет - следует указать актуальное разрешение используемого дисплея для корркетной работы с ним.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Подключение LCD дисплея

 

Запишем простую строку данных, в частности, из примера. Все остальные настройки пока оставим как есть.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Отправить данные на LCD дисплей

 

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Подключение LCD дисплея к модулю Laurent-5

 

Помимо обычного текста, можно выводить и показания датчиков / системных переменных с помощью динамических переменных.

 

Полный список всех динамических переменных, поддерживаемых модулем можно найти в соответствующем документе Описание Ke-команд управления



Например, на рисунке ниже выведем текущее время RTC на первую строку дисплея.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Вывести текущее время на LCD

 

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Вывести текущее время на LCD





Виртуальные страницы


 

Однако, вернемся к "боевой" задаче. Необходимо на LCD экране выводить много разнообразной информации: настройки модуля, системные параметры, показания датчиков. Очевидно, что на одном экране в 2 строки и 16 символов такой объем не поместится.



Поэтому, в модулях Laurent-5 / 5G предусмотрены виртуальные страницы дисплея. Необходимая информация сначала заполняется на виртуальную страницу. Это поле размером с физический экран хранится в оперативной памяти модуля. Затем та или иная страница отображается (переносится) на физический дисплей.

 

Предположим, что мы хотим отображать на дисплее следующие данные:

  • Имя версии прошивки
  • IP адрес модуля
  • Текущее время
  • Состояние всех реле



Пусть имя прошивки и IP будут размещены на 1-ой и 2-ой строках первой виртуальной страницы. Время и реле - 1 и 2 строках второй виртуальной страницы. Итого, нам будут нужны две виртуальные страницы. Необходимо "сказать" об этом модулю. Это можно сделать через WEB интерфейс либо Ke-командой:

$KE,LCD,PAGE,SET,2

 

Полный список всех Ke-команд, поддерживаемых модулем можно найти в соответствующем документе Описание Ke-команд управления



ВАЖНЫЙ МОМЕНТ: необходимо что бы информация (текущее время, состояния реле и т.д.) динамически менялись на экране (отрисовыввлось бы актуальное текущее значение) силами самого модуля.



Тут нам понадобится система CAT - встроенная программируемая логика. Создадим в ней несколько событий по изменению интересующих нас параметров а в качестве реакции будем выводить нужные данные на виртуальные страницы дисплея. Создание и управление CAT событиями можно удобно проводить в WEB интерфейсе модуля.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Система CAT - программируемый логический контроллер

 

Для отрисовки информации которая не изменяется (вернее, считывается единожды при старте модуля) такая как версия прошивки и начальный IP воспользуемся CAT событием по системному времени (время с момента старта модуля).

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip

 

В качестве условия укажем сработать событию когда системное время будет равно 5 сек. Т.е. когда с момента старта платы пройдет 5 сек - это событие сработает (один раз).

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip

 

Секцию дополнительных условий пропускаем. Настройки квот можно оставить по умолчанию. На следующем шаге - реакция. Задаем ее в виде списка Ke-команд. В частности, используя команду $KE,LCD,WR запишем на первую виртуальную страницу информацию о версии прошивки (1-я строка LCD, динамическая переменная ~FW~) и текущем IP адресе (2-я строка LCD, переменная ~IP~):

$KE,LCD,WR,1,L,C,1,FW: ~FW~
$KE,LCD,WR,1,L,C,2,~IP~

 

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip

 

На последнем шаге можно дать удобное текстовое имя событию. После создания события оно появляется в списке в выключенном состоянии. Его следует включить с помощью соответствующей иконки-кнопки.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip




Для автоматического отображения изменяющегося времени а так же состояний реле по аналогии воспользуемся событием CAT по системному времени но срабатывать событие будет регулярно. Т.е. будем обновлять информацию на дисплее с тактом один раз в секунду.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip

 

При этом, данные будем записывать уже на вторую виртуальную страницу. Информацию по времени на 1-ую строку, сводное состояние всех реле (через динамическую переменную ~RR~) - на вторую строку.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip

 

KE-команды для удобства копирования:

$KE,LCD,WR,2,L,C,1,Time: ~TM~
$KE,LCD,WR,2,L,C,2,Rele: ~RR~

 

В итоге события системы CAT будут выглдеть примерно следующим образом:

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Программируемый логический контроллер KernelChip

 

Теперь мы можем "перелистывать" виртуальные страницы на дисплее используя WEB интерфейс (кнопки Предыдущая, Следующая):

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD ПЛК KernelChip

 

Либо используя соответствующие Ke-команды (переход: на конкретную страниу под номером N, следующую, предыдущую):

$KE,LCD,PG,SET
$KE,LCD,PG,NEXT
$KE,LCD,PG,PREV

 

Если перейти на первую страницу, то увидим, например, следующие:

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Вывод данных на LCD

 

А если перейти на вторую страницу - то увидим "тикающее" время и сводную строку состояний всех реле модуля (0 - выключено, 1 - включено). В данном случае, 3-е реле включено, остальные выключены. Существуют так же динамические переменные для отражения состояния каждого конкретного реле в отдельности.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Вывод данных на ЖКИ





Механическая кнопка


 

Доработаем немного систему - сделаем для пользователя возможность "листать" виртуальные страницы с помощью механической кнопки (как часто делается на промышленных приборах с небольшим LCD дисплеем - есть кнопки вперед / назад, выход в гланое меню и т.д.). Сейчас сделаем только одну кнопку - листание виртуальных страниц в одну сторону.

Будем использовать линию общего назначения IO_1 настроенную "на вход" для обработки нажатия механической кнопки. По умолчанию, линия IO настроена на "выход". Настроим линию "на вход", например, в WEB интерфейсе:

 

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Настройка линий IO

 

На странице линий IO отражен факт того что линия IO_1 сейчас настроена на "выход" ("стрелка" слева на право, текст OUT). Следует нажать на стрелочку что бы перевести ее на "вход".

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Настройка линий IO на вход

 

Теперь линия переведена в режим "на вход" (т.е. мы сможем определять какой уровень сигнала на ней установлен "снаружи" модуля - низкий или высокий). Также, видим желтый индикатор статуса линии говорящий о том, что на линии сейчас высокий уровень напряжения.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Подтяжка линий IO pullup

 

Начиная с версии прошивки 519 линии IO в режиме "на вход" автоматически подтягиваются к уровню +3.3 В (pull-up), чтобы избежать ложных срабатываний линии из-за наводок если она не подключена к источнику сигнала ("висит в воздухе"). При настройке линии "на выход" подтяжка автоматически отключается.

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD программная подтяжка линий IO pull-up

 

Процедуру изменения настройки линии можно так же выполнить через Ke-команду:

$KE,IOD,SET,1,1



Добавим теперь к линии IO_1 механическую кнопку. Если кнопка нажата - на линии IO_1 будет низкий уровень сигнала ("посажена" на землю). Если кнопка не нажата - на линии будет высокий уровень из-за описанной выше внутренний подтяжки к +3.3 В.

 

Мастер Кит MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD Подключение механической кнопки к линии IO

 

Свяжем событие нажатия на кнопку с переходом на следующую виртуальную страницу дисплея. Создадим новое CAT событие по изменению уровня сигнала входной IO линии.

 

Настроим событие реагировать на переход уровня на линии IO_1 с высокого (кнопка не нажата) на низкий (кнопка зажата).

 

Секцию дополнительных условий пропускаем. Настройки квот можно оставить по умолчанию. На следующем шаге - реакция. Задаем ее в виде списка Ke-команд. Используем команду $KE,LCD,PG,NEXT которая переносит содержимое следующей виртуальной страницы на физический дисплей. При достижении последней страницы (в нашем случае у нас их всего две) - будет осуществлен переход на первую страницу (зацикливание).

$KE,LCD,PG,NEXT

 

 

В итоге, созданное CAT событие по нажатию кнопки подключенной к линии IO_1 может выглядеть следующим образом (необходимо включить событие т.к. по умолчанию после создания оно будет выключено).

 

 

Теперь, если нажать на кнопку - на LCD дисплее будет отображаться следующая виртуальная страница со своим набором информации, обновляемой в режиме реального времени с помощью других CAT событий.

Послесловие

В качестве дальнейших шагов по развитию и наращиванию возможностей данной тестовой установки можно увеличивать кол-во виртуальных страниц для вывода большего объема различной информации. А так же, например, добавить дополнительные механические кнопки - "перелистывание" в обратную сторону (актуально если страниц много).

 

© Дмитрий Иванов

Рейтинг@Mail.ru

Почему выбирают Мастер Китнас


Мы в Сети

Я

© 1999-2019 Мастер Кит