Содержание:
Каждый рецепт - это перечень параметров, которые соответствуют определенному типу продукта. Например, рецепт бетона состоит из параметров: количество цемента, количество воды, химических добавок и прочего.Панель поддерживает два типа рецептов: 16-ти битный рецепт и 32-х битный рецепт. Это означает, что параметры рецепта (регистры, в которые записываются данные) 16-ти битные (типа Word) или 32-х битные (типа Doble Word). Посмотрим как создается 16-ти битный рецепт (рисунок 1). Создадим проект для панели в конфигураторе DOP-Soft (ver. 1.01.04). Во вкладке «Options» выберем “Recipe”. В окне поставим галочку “Enable Recipe”, в поле “Length” указывается количество параметров рецепта, в поле “Group” количество рецептов. Нажимаем “Input”.
В поле “Address” вводится адрес регистра ПЛК, начиная с которого будут записываться параметры рецепта при копировании рецепта из панели в ПЛК (параметр W1 запишется в регистр D100, параметр W2 запишется в регистр D101 и т.д.). В поля рецепта вводим значение параметров W1, W2,… Рецепт создан в памяти, теперь с ним можно работать. Адрес в панели, соответствующий параметру рецепта, содержится в “Internal Memory” и называется RCP…(номер параметра).
Для отображения номера рецепта используем «Numeric Input» (рисунок 2). Добавляем этот элемент на экран и заходим в свойства.
Выбрав внутреннюю память панели, выбираем тип «RCPNO». Теперь, указывая необходимое значение, мы будем выбирать необходимый рецепт: RCPNO=1 означает, что выбран рецепт №1 или первая группа (см. выше Group 1), RCPNO=3 означает, что выбран рецепт №3 или третья группа (см. выше Group 3).
Для отображения или редактирования параметров используется тип переменной RCP…(номер параметра) во внутренней памяти панели. Но с обозначением адреса параметра есть некоторые особенности. Существует, так называемый, буфер. Буфер - это область адресов, начиная с RCP0 и до RCP (количество параметров т.е. «Length») в нашем примере до RCP2.
Создадим три объекта «Numeric Input» (рисунок 3) и каждому присвоим адрес отображаемого параметра.
Теперь, выбрав нужный номер рецепта, в буфере сразу отобразятся параметры выбранного рецепта. Для более удобного отображения перечня рецептов можно применять «List Box» (рисунок 4). Находится он в группе «List» и служит для визуального отображения.
Чтобы настроить «List Box» (рисунок 5), необходимо в свойствах объекта выбрать адрес RCPNO (отображение номера рецепта).
Затем в поле «State counts» (рисунок 6) записываем число означающее количество наших рецептов и +1 для заголовка. В нашем примере (3 рецепта и 1 поле заголовка) получается число 4.
Далее в меню «Text» (рисунок 7) для удобства пропишем их названия для каждого рецепта. Теперь, выбирая нужный пункт, мы автоматически выбираем нужный рецепт.
Следующим этапом работы является «привязка» рецепта и ПЛК. Для удобства свяжем ПЛК Delta Electronics и панель панель оператора DOP-B по интерфейсу RS-232 (с помощью кабеля DVPACAB2A30), используя внутренний протокол Delta DVP PLC (рисунок 8).
В панеле укажем регистр, отвечающий за работу с рецептами. Данный регистр относится к блоку управления панели (Control Block), т.е. перечню регистров, отвечающих за возможность управления с ПЛК панелью оператора. Более подробное описание блока управления можно посмотреть в руководстве по программированию в среде DOP-Soft. Заходим в меню »Option« → »Configuration« → »Control Block« (рисунок 9). Активируем регистры блока управления.
Теперь регистр ПЛК D5 отвечает за рецепты. Для того, чтобы записать данные выбранного рецепта в заранее выбранную область регистров (в нашем случае с D100), необходимо в регистр D5 записать число 4, а для того, чтобы записать из ПЛК в панель нужно записать число 2. Для этого воспользуемся кнопкой «Set Constant» в меню «Button» (рисунок 10). Разместив кнопку в поле экрана, заходим в параметры кнопки и устанавливаем в какой регистр будет записываться константа и собственно саму константу.
Если мы хотим записывать данные из памяти ПЛК в регистры рецептов (например, произвели какие-то вычисления с параметрами, затем записали их в регистры начиная с D100, а после скопировали их в память панели в соответствующий рецепт), то добавляем точно такую же кнопку, но константой будет цифра 2. Для отображения регистров в ПЛК добавим три окна «Numeric Display» (рисунок 11).
Теперь, запустив проект, мы выбираем нужный нам рецепт (рисунок 12).
Нажимаем кнопку «запись в ПЛК» и данные из буфера рецептов копируются в регистры ПЛК (рисунок 13).
Теперь разберем случай, когда у нас есть USB-накопитель, на котором есть файл с готовыми рецептами и нам необходимо скопировать данные с USB-накопителя в память панели, отредактировать эти данные и записать из памяти панели изменённые рецепты обратно на USB-накопитель.
Заполним ячейки файла, сохраним файл на наш USB-накопитель (рисунок 14).
Перед началом работы с USB-накопителем его необходимо отформатировать в файловую систему FAT32. Создадим файл формата .csv (в нашем примере будем использовать программу OpenOffice), файл «recipe.csv», параметры файла (рисунок 15).
Далее, в проекте на панель добавим элементы для работы с USB-накопителем. Нам необходима кнопка «Remove Storage» для безопасного извлечения накопителя. В свойствах кнопки необходимо выбрать в поле «Access type» тип накопителя SD-карта или USB-накопитель, в примере мы использьзуем USB-накопитель (рисунок 16).
Так же нам необходим индикатор наличия USB-накопителя в панели. Создадим «Multistate Indicator» (рисунок 17).
В свойствах индикатора необходимо указать, что индикатор будет иметь два состояния и указать, что индикатор будет отображать (внутренний параметр статуса USB). Визуализировать индикатор можно по-разному (рисунок 18).
Теперь, когда вставим накопитель в порт панели »USB host«, у нас будет визуализация возможности работы с USB-накопителем (рисунок 19).
Для записи рецепта с или на USB-накопитель необходимо добавить добавить две кнопки «Import/Export Recipe». В свойствах кнопки необходимо выбрать какое действие будет осуществляться при нажатии на кнопку «Export» - запись на накопитель или «Import» - чтение с накопителя и тип устройства (рисунок 20).
После того как USB-накопитель будет подключен к панели, мы получим визуальное подтверждение от панели, что она готова работать с USB. Мы сможем скопировать данные из файла «recipe», отредактировать их, используя буфер, и записать изменённый файл с рецептами на USB.
Следующим этапом добавим возможность ведения архива параметров, считываемых из ПЛК, и сохранение архива на USB-накопитель.
Создадим архив. Для этого в меню «Option» зайдем в раздел создания архива «History Buffer Setup» (рисунок 21).
Создадим и настроим архив. Выберем начальный адрес регистра ПЛК, с которого начнётся архивирование. Далее укажем количество регистров архивации (в нашем примере начальный адрес регистра D200) и тогда в архив у нас будут записываться значения регистров D200, D201, D202 и D203. Добавим в архив дату и время. Выберем место хранения файла архива и так как файл будет иметь разрешение .csv, то можно в меню «Column Name» написать название столбцов архива и указать, что в столбцах тип данных «Время» и «Дата» - значения будут браться из системного меню панели (рисунок 22).
Источником сигнала записи в архив будет ПЛК. Можно сделать так, чтобы данные в архив будут записываться по времени с установленным временем выборки. Например, прошло 100 мс и данные записались, прошло еще 100 мс - опять записались и до тех пор пока количество выборок не достигнет числа указанного в поле «Sample Number» (рисунок 23).
Рассмотрим случай, когда ПЛК будет «указывать» дату записи данных в архив. Для этого нам нужен будет регистр D3 в блоке управления «Control Block» (рисунок 24).
Для того, чтобы записались данные в архив нам нужно записать константу 3 в регистр D3 (подробное описание почему именно 3 можно посмотреть в руководстве по программированию панели). Сделаем специальный бит программе ПЛК, при срабатывании которого будет произведена запись в архив (рисунок 25).
Так как установлен автоматический сброс флага «Auto Reset Flags», то в программе ПЛК при необходимости записи значения просто включать M0. В результате на USB-накопителе будет создан файл архива с именем «Archive» (рисунок 26).
Дополнительные материалы:
При добавлении товара возникла ошибка. Пожалуйста, повторите попытку чуть позже.