Загрузка данных


    return f"ns={namespace_index};s={ost_name}{stand_name.upper()}:{address}.{suffix}"


def read_data_value_sync(
    opc_url: str,
    node_id: str,
    timeout: float = OpcConst.CONNECT_TIMEOUT_S,
) -> ua.DataValue:
    """
    Синхронное подключение и чтение DataValue тега. Используется в setup-части
    (синхронный контекст pytest), чтобы понять, что OPC UA сервер жив и отдаёт данные.
    """

    async def _read() -> ua.DataValue:
        client = Client(url=opc_url, timeout=timeout)
        try:
            await client.connect()
            logger.info("[OPC] Подключено к %s", opc_url)
            return await client.get_node(node_id).read_data_value()
        finally:
            await client.disconnect()

    return asyncio.run(_read())



















стенд сет
        check_cmd = (
            f"timeout {timeout_s} bash -c 'cat < /dev/null > /dev/tcp/{host}/{port}' "
            f"&& echo {Im_const.CMD_STATUS_OK} || echo {Im_const.CMD_STATUS_FAIL}"
        )













конф


        cfg["stand_manager"] = stand_manager
        try:
            stand_manager.check_opc_server_status()