Используйте функцию обратного вызова по умолчанию

Обзор к примеру коллбэка

Чтобы проиллюстрировать, как использовать коллбэки, этот раздел представляет простой пример, который создает иерархию объектов OPC Toolbox™ и сопоставляет функцию обратного вызова с событием запуска, полученным событием записей и событием остановки OPC Data доступ к Групповому объекту (dagroup объект. Для получения информации обо всех коллбэках события, поддержанных тулбоксом, смотрите Типы событий.

Пример использует функцию обратного вызова по умолчанию, которой предоставляют тулбокс, opccallback. Функция обратного вызова по умолчанию отображает имя объекта наряду с информацией о типе события, которое произошло и когда это произошло. Чтобы изучить, как создать ваши собственные функции обратного вызова, смотрите, Создают и Выполняют Функции обратного вызова.

Шаг 1: создайте групповые объекты OPC Toolbox

Этот пример создает иерархию объектов OPC Toolbox для Сервера Симуляции Matrikon™. Чтобы запустить этот пример в вашей системе, у вас должен быть установленный Сервер Симуляции Matrikon. В качестве альтернативы можно заменить значения, используемые в создании объектов со значениями для сервера, к которому можно получить доступ.

da = opcda('localhost','Matrikon.OPC.Simulation.1');
connect(da);
grp = addgroup(da,'CallbackTest');
itm = additem(grp,{'Random.Real8','Saw-toothed Waves.UInt2'});

Шаг 2: сконфигурируйте свойства задачи логгирования

В данном примере мы регистрируем 20 записей в 0,5 вторых интервалах.

grp.RecordsToAcquire = 20;
grp.UpdateRate = 0.5;

Шаг 3: сконфигурируйте свойства коллбэка

Установите значения трех свойств коллбэка. Пример использует функцию обратного вызова по умолчанию opccallback.

grp.StartFcn = @opccallback;
grp.StopFcn = @opccallback;
grp.RecordsAcquiredFcn = @opccallback;

В данном примере задайте, как часто сгенерировать, записи получили событие.

grp.RecordsAcquiredFcnCount = 5;

Шаг 4: запустите задачу логгирования

Запустите dagroup объект. Объект регистрирует 20 записей в 0,5 вторых интервалах, и затем останавливается. С этими тремя включенными функциями обратного вызова, объектная информация о выходных параметрах о каждом событии, как это происходит. Полученное событие записей имеет место четыре раза для этого примера.

start(grp)
OPC Start event occurred at local time 18:52:38
   Group 'CallbackTest': 0 records acquired.
OPC RecordsAcquired event occurred at local time 18:52:41
   Group 'CallbackTest': 5 records acquired.
OPC RecordsAcquired event occurred at local time 18:52:44
   Group 'CallbackTest': 10 records acquired.
OPC RecordsAcquired event occurred at local time 18:52:47
   Group 'CallbackTest': 15 records acquired.
OPC RecordsAcquired event occurred at local time 18:52:49
   Group 'CallbackTest': 20 records acquired.
OPC Stop event occurred at local time 18:52:49
   Group 'CallbackTest': 20 records acquired.

Шаг 5: Очистка

Всегда удаляйте объекты тулбокса из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.

disconnect(da)
delete(da)
clear da grp itm