Каналы данных в системе Cvoid это просто более высокоуровневый механизм доступа к данным устройств управления. При настройке системы указывается какие данные устройств ввода-вывода будут доступны через именованные каналы. Для простоты обработки имеется возможность пометить каналы строковыми метками (классами) и задавать приоритет данных, который будет использован для планирования коммуникации. Данные полученные от устройств хранятся в буфере и обновляются исходя из значений приоритета или по требованию. Для обработки изменения данных выбранному каналу или метке может быть назначен пользовательский скрипт, который играет роль триггера и реализует необходимую логику управления.
Также именованные каналы используются модулем сохранения информации устройств ввода-вывода в базу данных и стандартным web интерфейсом.
Пример настройки канала данных и обработчика:
# declare data channel "/move_activity" and mark it by "holl-activity" class
create_slot_channel("/move_activity", ds2406_1.DataSlotPioActivityB, 3, "holl-activity", "")
# load script from Python file
load_script("holl-activity", "Python", "class/holl-activity.py")
# add trigger for data channels marked by "holl-activity" class
add_class_handler("holl-activity", "/scripts/holl-activity")
Для хранения вычисляемых или служебных данных используется "виртуальный" тип каналов, которые не взаимодействуют с устройствами ввода-вывода, но хранят данные и могут иметь собственные обработчики изменения состояния.