Script Function Library — различия между версиями
Материал из archestra.info
Admin (обсуждение | вклад) (→Комментарий из практики) |
(→Удаление DLL библиотеки) |
||
(не показано 5 промежуточных версии 2 участников) | |||
Строка 51: | Строка 51: | ||
− | + | Кроме это есть инструкция (Wonderware North): [http://wonderwarenorth.com/techtip-removing-custom-net-libraries-from-industrial-application-server-3-0/ TechTip: Removing Custom .NET libraries from Industrial Application Server 3.0] | |
− | + | Более подробная инструкция: TN471 Removing a .NET Control: https://softwaresupportsp.invensys.com/Pages/OKMArticleResult.aspx?docId=TN471 | |
− | + | ||
− | + | ||
− | + | == Импорт DLL библиотеки == | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | #В [[ArchestrA IDE]], меню Galaxy->Import->Script Function Library. | ||
+ | #Выбрать файл содержащий библиотеку (допустимые типы файлов: .aaSLIB, .dll, .wdf, .tlb and .olb extension) и нажать открыть | ||
+ | #По завершении импортированные наборы классов/функций будут доступны в скриптах (и объектов и ArchestrA символов), в том числе для выбора через Script Function Library | ||
+ | #*Важно!!! При установке такого же набора библиотек повторно (но может быть другой версии) потребуются действия описанные в разделе [[Script_Function_Library#.D0.A3.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_DLL_.D0.B1.D0.B8.D0.B1.D0.BB.D0.B8.D0.BE.D1.82.D0.B5.D0.BA.D0.B8|Удаление библиотеки]] | ||
*<span style="color:#ff0000">Application server will detect changes in the new dll only if you have re-compiled the new dll with a greater major release</span> | *<span style="color:#ff0000">Application server will detect changes in the new dll only if you have re-compiled the new dll with a greater major release</span> |
Текущая версия на 11:23, 14 апреля 2017
Содержание
Работа с расширениями библиотеки
Последовательность разработки
- Разработать библиотеку, например в Visual Studio. NET.
- Импортировать библиотеку в IDE.
- Написать необходимый скрипт и задеплоить объект (лучше для деплоя использовать тестовый AppEngine - не основной)
- Отладить скрипт
- Если требуется обновить библиотеку (например, после расширения функционала), то:
- раздеплоить объект(ы)
- Сделать Shutdown AppEngine для выгрузки из памяти .NET функционала
- Запустить AppEngine.
- Повторить с шага 1
- Application server will detect changes in the new dll only if you have re-compiled the new dll with a greater major release
- Application Server определит изменения в DLL ТОЛЬКО если dll-ка была откомпилирована с версией большей, чем предыдущая
Комментарий из практики
Про выше описанный алгоритм:
Причём работает только с обязательным удалением dll на узле GR. Для этого надо закрыть и IDE, и SMC. Неудобно, мягко говоря. 1. Раздеплоить объект 2. Остановить энжн 3. Закрыть всё 4. Удалить dll из каталога ArchestrA 5. Запустить IDE 6. Импортнуть новую dll, с бОльшим главным номером версии 7. Запустить энжн 8. Задеплоить объект 9. --- 10. Разработка dll 11. Увеличение главного номера версии (может просто изменение? Может не обязательно главного? Не проверял пока) 12. Компиляция 13. Шагать к п.1 Бывает, что при попытке удаления dll с узла GR (узел IDE: у меня это один и тот же узел) ОС MS Windows говорит, что dll занята процессом GR (даже при закрытой IDE, при закрытой SMC). Тогда надо открыть IDE и просто импортировать dll. Сразу после этого закрыть IDE и уже тогда удалять dll из папки – dll будет свободна.
Удаление DLL библиотеки
Если необходимо, можно в ручную удалить импортированную ранее библиотеку.
Для этого: необходимо удалить DLL файлы из каталога:
Program Files\ArchestrA\Framework\FileRepository\'name of galaxy'\Vendors\ArchestrA
Кроме это есть инструкция (Wonderware North): TechTip: Removing Custom .NET libraries from Industrial Application Server 3.0
Более подробная инструкция: TN471 Removing a .NET Control: https://softwaresupportsp.invensys.com/Pages/OKMArticleResult.aspx?docId=TN471
Импорт DLL библиотеки
- В ArchestrA IDE, меню Galaxy->Import->Script Function Library.
- Выбрать файл содержащий библиотеку (допустимые типы файлов: .aaSLIB, .dll, .wdf, .tlb and .olb extension) и нажать открыть
- По завершении импортированные наборы классов/функций будут доступны в скриптах (и объектов и ArchestrA символов), в том числе для выбора через Script Function Library
- Важно!!! При установке такого же набора библиотек повторно (но может быть другой версии) потребуются действия описанные в разделе Удаление библиотеки
- Application server will detect changes in the new dll only if you have re-compiled the new dll with a greater major release
- Application Server определит изменения в DLL ТОЛЬКО если dll-ка была откомпилирована с версией большей, чем предыдущая
Другие темы
- QuickScript (для InTouch)
- .NET
- QuickScript .NET