# Загорнутий запит даних ''req'', функцією ''[[Special:MyLanguage/Documents/User_API#SYSTransport|int messIO( XMLNodeObj req, string prt );]]'' та для протоколу ''prt'', якщо протокольна частина достатньо складна та вже представлена у OpenSCADA.
# Загорнутий запит даних ''req'', функцією ''[[Special:MyLanguage/Documents/User_API#SYSTransport|int messIO( XMLNodeObj req, string prt );]]'' та для протоколу ''prt'', якщо протокольна частина достатньо складна та вже представлена у OpenSCADA.
# Загорнутий запит даних специфічний до користувача за допомогою функції ''[[Special:MyLanguage/Documents/User_API#SYSTransport|int messIO( XMLNodeObj req, "UserProtocol" );]]'' та реалізації [[Special:MyLanguage/Modules/UserProtocol|користувацького протоколу]], якщо протокольна частина достатньо складна та ще відсутня у OpenSCADA. Користувач реалізує тут саму протоколоспецифічну частину у [[Special:MyLanguage/Modules/UserProtocol|модулі UserProtocol]] та частину специфічну до даних у шаблоні для [[Special:MyLanguage/Modules/LogicLev|модуля Логічного Рівня]] або безпосередньо у процедурі контролеру на внутрішній мові програмування [[Special:MyLanguage/Modules/JavaLikeCalc|модуля JavaLikeCalc]].
# Загорнутий запит даних специфічний до користувача за допомогою функції ''[[Special:MyLanguage/Documents/User_API#SYSTransport|int messIO( XMLNodeObj req, "UserProtocol" );]]'' та реалізації [[Special:MyLanguage/Modules/UserProtocol|користувацького протоколу]], якщо протокольна частина достатньо складна та ще відсутня у OpenSCADA. Користувач реалізує тут саму протоколоспецифічну частину у [[Special:MyLanguage/Modules/UserProtocol|модулі UserProtocol]] та частину специфічну до даних у шаблоні для [[Special:MyLanguage/Modules/LogicLev|модуля Логічного Рівня]] або безпосередньо у процедурі контролеру на внутрішній мові програмування [[Special:MyLanguage/Modules/JavaLikeCalc|модуля JavaLikeCalc]].
−
:: [[File:at.png]] Цей останній метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону, як окрема вбудована функція, якщо немає потреби повторного використання, або навіть якщо така потреба є та тут має сенс створення комплексного шаблону, який зможе поєднувати роль й вихідного протоколу, через його підключення також до модуля користувацького протоколу. Та воно буде повністю зберігатися у одній бібліотеці шаблонів. <section end=userPrt />
+
:: [[File:at.png]] Цей останній метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону, як окрема вбудована функція через виклик функції запиту першого методу, якщо немає потреби повторного використання, або навіть якщо така потреба є та тут має сенс створення комплексного шаблону, який зможе поєднувати роль й вихідного протоколу, через його підключення також до модуля користувацького протоколу. Та воно буде повністю зберігатися у одній бібліотеці шаблонів. <section end=userPrt />
Revision as of 18:02, 9 June 2019
Як можна бачити з рисунку 1, взаємодія з пристроєм відбувається через деякий транспорт на якому вони фізично базуються. Запит до транспорту Ви можете надіслати:
Безпосередньо за допомогою функції системного API OpenSCADA об'єкту транспорту string messIO( string mess, real timeOut = 0 );, якщо протоколоспецифічна частина дуже проста та дані вам потрібно лише вилучити.
Загорнутий запит даних req, функцією int messIO( XMLNodeObj req, string prt ); та для протоколу prt, якщо протокольна частина достатньо складна та вже представлена у OpenSCADA.
Цей останній метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону, як окрема вбудована функція через виклик функції запиту першого методу, якщо немає потреби повторного використання, або навіть якщо така потреба є та тут має сенс створення комплексного шаблону, який зможе поєднувати роль й вихідного протоколу, через його підключення також до модуля користувацького протоколу. Та воно буде повністю зберігатися у одній бібліотеці шаблонів.