Форум сайта python.su
0
Добрый день.
Работаю в АСУ ТП и начал изучать Python. Сейчас пытаюсь написать приложение, которое будет взаимодействовать с сервером ввода/вывода через OPC. Использую для этого модуль OpenOPC. Все методы просты и понятны. Вот только из OPC могу вычитать корневые узлы а сами OPC-теги не могу получить. Для всего это использую opc.list()
# -*- coding: cp1251 -*- #pywin32-221.win32-py2.7 import OpenOPC opc = OpenOPC.client() listServers = opc.servers() print "Список OPC серверов:" for nameServer in listServers: print listServers.index(nameServer) + 1, "-", nameServer numServer = int(raw_input("\nУкажите номер OPC сервера для подключения: ")) OPCServer = listServers[numServer - 1] print "Выбран источник:", OPCServer try: opc.connect(OPCServer) except: #Добавить обработчик исключений на случай если связь с OPC сервером #не удалось установить pass print "Подключение к серверу", OPCServer, "успешно" listOPCTag = [] listOPCTag = opc.list()
Отредактировано SergeyChmutov (Авг. 4, 2017 17:41:02)
Прикреплённый файлы:
Screenshot_1.png (53,5 KБ)
Офлайн
0
Если кто-то будет искать подобное решение, все решается просто. Необходимо использовать параметр recursive.
tags = opc.list(recursive=True) response = opc.read(tags, group='name_of_group')
Отредактировано SergeyChmutov (Сен. 13, 2018 15:42:12)
Офлайн