Перейти к публикации

Некоторые вопросы по Ug Open и Open++


OriginalZealot

Рекомендованные сообщения

Есть несколько небольших вопросов не совсем понятных из документации(странная она всё таки)

1) UF_initialize используется тоько для захвата лицензии? Очень уж долго она выполняется, нельзя ли как-нибудь ускорить этот процесс (в случае External)

2) Как работает UF_is_initialized? - даже если процесс не завершен и не была вызвана UF_terminate данная функция возвращает 0 - т.е. среда Open API не инициализирована.

3) Может ли UF_terminate как-нибудь не освободить лицензию? После пары вызовов UF_initialize/UF_terminate следующий вызов UF_initialize вылетает с Access violation

4) UG Open++ не совсем юзабельна в MSVС++ в плане STL - при статической линковке получаются два экземпляра билиотеки STL - одна в создаваемой программе, а другая в недрах UGOpen++ API. И когда возвращается значение UgAttributableObject::askStringAttributeTitles() (которое очень трудно использовать не сохранив ибо это vector<string>), происходит передача объекта STL созданного одним экземпляром библиотеки в управление другому и в силу свойств реализации библиотеки STL в MSVC++ второй экземпляр библиотеки не может освободить то, что созданно первым безошибочно. В виду этого приходится отказываться от удобств работы с атрибутами предоставляемых UgAttributableObject.

Изменено пользователем OriginalZealot
Ссылка на сообщение
Поделиться на других сайтах


1) да, может сервер загружен хорошо

3)UF_terminate освобождает лицензию

у меня проблем с этим не было

4)Вы все понимаете правильно но stl пользоваться можно

используйте ту версию компилятора VC которая была

рекомендована UGS для соответствующей версии UG

Не используйте debug так как конструктора и деструктора

там могут быть реализованы по разному (release)

Чтобы не забыть можете пользоваться pragma ...

Проблем в этом случае не будет

Без stl по любому не обойтись

мало того что это вещь сильно упрощает программирование

та в UG работа с меню реализована с stl

На С меню уже не эффективно писать

Ссылка на сообщение
Поделиться на других сайтах

Есть одно интересное наблюдение - если исполнить следующий код:

UF_initialize();

UF_terminate();

UF_initialize();

на последней инициализации вылетает exception с описанием ошибки:

"UF_initialize may not be called once UF_terminate is called"

Следует ли это понимать как:

"UF_initialize не может быть вызвана, если хоть раз вызвана UF_terminate"?

Если моё предположение верно - то как мне разрешить задачу многократной инициализации UG/Open. Перезагруаемая dll не помогает - достаточно чтоб именно в данном процессе уже был вызван UF_terminate().

Ссылка на сообщение
Поделиться на других сайтах

Извините, если немного не в тему. Я в С++ не очень, в основном писал на UG12-15 на С. Так, вот, там при работе с некоторыми модулями, например с MENUBAR, захваченная лицензия не освобождалась до конца сессии. Например, у меня был модуль дополнений к drafting, часть кода работала с меню, стартовал этот модуль через startup, и лицензия на UFUN (user functions) не освобождалась, пока не закрывался UG (причем все эти особенности были хорошо описаны в документации по UG API). Еще я бы посоветовал Вам посмотреть лог файл, генерируемый ugflexlm. Там прописываются захват и освобождение лицензий.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • filsan
      Вот сюда коллаж выложил. Надеюсь смог донести свой вопрос. 
    • mannul
      Ну видимо это величина отвода и так называемый "подбор ступенек", когда после прохода резец движется эквидистантно контуру и подчищает уступ. Настраивается наверное в дополнительных параметрах. И резец перемещается не на 7мм, а на 3.5мм, не забывайте что на токарном X задается как диаметр.
    • gudstartup
      вы сначала определитесь нужны батарейки или нет. для этого посмотрите что у васв параметре 1815 в битах apz apc если apc=1 то у вас абсолютная система позиционирования. далее посмотрите маркировку красных датчиков моторов если там перед цифрой есть большая буква А aiA1000 b и т.д. тогда датчик абсолютный и вам точно нужна батарейка 6в она может подключаться как к каждому приводу та и быть общей для всех и подключаться на разъем cxa2a в этом случае ставят отдельный контейнер для батареек типоразмера D час счетчик держится за счет  внутренних ионисторов в датчиках. значит напряжение батареи не доходит до ваших датчиков и
    • Guhl
      Вы убедились в том, что датчик цанги "разжато/зажато" корректно работает? Или не смотрели в диагностику? Пробовали ли вы пошаговое выполнение цикла смены. Обычно такой режим предусмотрен, как правило, активируется М-кодом. В пошаговом режиме удобно проверять все датчики и кулачки. Инструкция на станок и схема имеются?  
    • gudstartup
      тогда в худшем случае неисправна главная плата где то там проблемы с корпусами bga или переходными межслойнымит отверстиями
    • gudstartup
      предположение что цикл смены инструмента прописан в pmc без разжима цанги не может иметь место. если положение руки отслеживается по кулачкам копира то возможно сигнал приходит слишком поздно а цикл руки непрерывный и из за этого происходит рывок. если же рука позиционируется приводом по датчику положения то до того как начать движение из под шпинделя должна прийти команда на разжим и сработать датчик что инструмент разжат иначе цикл смены закончится ошибкой
    • Rainbow7
      В этом смысле в таком случае ваше утверждение верно. После перетыкания этого разъёма ничего не меняется.
    • Artas28
      Добрый день! Может кто поделиться постами для 5 осей, стол-стол AC и BC? И у спрутов есть какая нибудь библиотека постов, которую можно скачать, имея оплаченную тех-поддержку?
    • gudstartup
      я имел ввиду что она рядом с чпу. а где вы нашли такой разъем на плате чпу? mdi клавиатура подключается к этому разъему и это явно не db9
    • Rainbow7
      Здравствуйте, вопрос по приводу, на станке случилась ситуация, после чего сбились все референтные позиции, чтобы запустить станок, было решено выставить их, но при проверке батарей привода, они не были обнаружены, установили новую батарею в привод, выставили точки, после чего, при включении станка более чем на час, все сбивается. Вопрос, каким способом настраивается привод без батареи, и почему сейчас с батареей, после включения сбрасывается и жалуется на напряжение батареи, хотя она новая.
×
×
  • Создать...