8.10. Виртуальный контроллер, как в XILab¶
Вы можете использовать виртуальный контроллер в своих программах. Для этого используйте функцию:
device_t XIMC_API open_device (const char *uri)
Открывает устройство по имени uri и возвращает идентификатор, который будет использоваться для обращения к устройству.
- Аргументы
uri- уникальный идентификатор устройства. Uri устройства имеет вид:
"xi-com:port" - # Serial port "xi-net://host/serial" - # XiNet connection "xi-udp://<ip/host>:<port>" - # Raw UDP connection "xi-tcp://<ip/host>:<port>" - # Raw TCP connection "xi-emu:///file" - # Virtual device
Пример:
"xi-com:\\.\COM3 # in Windows "xi-com:/dev/tty.s123"` # in Linux/Mac
Для сетевого устройства «host» это IPv4 адрес или полностью определённое имя домена, «serial» это серийный номер устройства в шестнадцатеричной системе.
- Пример:
"xi-net://192.168.0.1/00001234" "xi-net://hostname.com/89ABCDEF"
Для работы по UDP/TCP протоколу используйте «xi-udp://<ip/host>:<port>» или «xi-tcp://<ip/host>:<port>».
Пример:
"xi-udp://192.168.0.1:1818" "xi-tcp://192.168.0.1:1820"
Для виртуального устройства «file» это путь к файлу с сохраненным состоянием устройства. Если файл не существует, он будет создан и инициализирован значениями по умолчанию.
Пример:
"xi-emu:///C:\Users\<user>\AppData\Roaming\XILab.conf/V_1" # in Windows "xi-emu:///home/<user>/.config/XILab.conf/V_1" # in Linux/Mac
Вы также можете использовать виртуальный контроллер из программного обеспечения XILab с загруженным профилем. Для этого выберите и откройте виртуальный контроллер в XILab.
После загрузите необходимый профиль (»Settings» -> «Load setting from file…») или просто установите необходимые параметры и нажмите «Apply». Затем файл будет сохранен в каталоге C:UsersuserAppDataRoamingXILab.conf/V_x, где x - номер виртуального контроллера.
В вашей программе вы можете открыть этот виртуальный контроллер, указав полный путь к файлу.
Например:
device_name = "xi-emu:///C:\Users\<user>\AppData\Roaming\XILab.conf/V_1"
device = open_device(device_name)
Внимание
Функция загрузки профиля реализована только в интерфейсе XILab. Если вам нужно изменить настройки этапа во время выполнения кода, вы можете использовать альтернативный вариант. Вы можете загрузить профиль на флэш-память контроллера (откройте XILab->Settings->Load setting from file… ->выберите свой профиль->ОК->Apply->Save settings to flash). Затем вы можете изменить настройки в вашей программе. Как только вы захотите вернуть все настройки по умолчанию, выполните Команду READ