From OpenSCADAWiki
Jump to: navigation, search
 
Line 1: Line 1:
Як можна бачити з рисунку 1, взаємодія з пристроєм відбувається через деякий транспорт на якому вони фізично базуються. Запит до транспорту Ви можете надіслати:
+
Як можна бачити з рисунку 1, взаємодія з пристроєм відбувається через деякий транспорт, на якому вони фізично базуються. Запит до транспорту можете надіслати:
# Безпосередньо за допомогою функції системного API OpenSCADA об'єкту транспорту ''[[Special:MyLanguage/Documents/User_API#SYSTransport|string messIO( string mess, real timeOut = 0 );]]'', якщо протоколоспецифічна частина дуже проста та дані вам потрібно лише вилучити.
+
# Безпосередньо за допомогою функції системного API OpenSCADA об'єкту транспорту ''[[Special:MyLanguage/Documents/User_API#SYSTransport|string messIO( string mess, real timeOut = 0 );]]'', якщо протоколоспецифічна частина дуже проста і дані вам потрібно лише вилучити.
# Загорнутий запит даних ''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]] Цей останній метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону, як окрема вбудована функція через виклик функції запиту першого методу, якщо немає потреби повторного використання, або навіть якщо така потреба є та тут має сенс створення комплексного шаблону, який зможе поєднувати роль й вихідного протоколу, через його підключення також до модуля користувацького протоколу. Та воно буде повністю зберігатися у одній бібліотеці шаблонів.
+
:: [[File:at.png]] Цей, останній, метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону у вигляді вбудованої функції через виклик запиту першого методу, якщо немає потреби повторного використання; або навіть якщо така потреба є і тут є сенс створення комплексного шаблону, який зможе поєднувати роль і вихідного протоколу через його підключення також до модуля користувацького протоколу, та воно буде повністю зберігатися у одній бібліотеці шаблонів.

Latest revision as of 16:55, 12 April 2025

Information about message (contribute)
This message has no documentation. If you know where or how this message is used, you can help other translators by adding documentation to this message.
Message definition (Documents/DAQ)
As you can see from Figure 1, interaction with devices carried out through some transport on which their physically based. Requests to the transport you can send:
# Directly by OpenSCADA system API function of the transport object ''[[Special:MyLanguage/Documents/User_API#SYSTransport|string messIO( string mess, real timeOut = 0 );]]'', if the protocol specific part is very simple and you need only the data extract.
# Wrapped data request ''req'' by function ''[[Special:MyLanguage/Documents/User_API#SYSTransport|int messIO( XMLNodeObj req, string prt );]]'' and for protocol ''prt'', if the protocol part is complex enough and already presented in OpenSCADA.
# Wrapped data request specific for user by function ''[[Special:MyLanguage/Documents/User_API#SYSTransport|int messIO( XMLNodeObj req, "UserProtocol" );]]'' and [[Special:MyLanguage/Modules/UserProtocol|the user protocol]] implementation, if the protocol part is complex enough and not yet present in OpenSCADA. The user implements here itself of the protocol specific part in [[Special:MyLanguage/Modules/UserProtocol|the module UserProtocol]] and the data specific part in the template for [[Special:MyLanguage/Modules/LogicLev|the Logical Level module]] or directly in controller's procedure on the internal language of [[Special:MyLanguage/Modules/JavaLikeCalc|the module JavaLikeCalc]].
:: [[File:at.png]] This latter method is currently developed to the possibility of forming a protocol code part directly in the same code of the template as a separate built-in function with call the requesting function of the first method, if there is no need for reuse, or even if such a need exists and it makes sense to create a complex template that can combine the role of the output protocol, through its connection to the user protocol module. And it will be completely stored in a single template library.
TranslationЯк можна бачити з рисунку 1, взаємодія з пристроєм відбувається через деякий транспорт, на якому вони фізично базуються. Запит до транспорту можете надіслати:
# Безпосередньо за допомогою функції системного API OpenSCADA об'єкту транспорту ''[[Special:MyLanguage/Documents/User_API#SYSTransport|string messIO( string mess, real timeOut = 0 );]]'', якщо протоколоспецифічна частина дуже проста і дані вам потрібно лише вилучити.
# Загорнутий запит даних ''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]]. 
:: [[File:at.png]] Цей, останній, метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону у вигляді вбудованої функції через виклик запиту першого методу, якщо немає потреби повторного використання; або навіть якщо така потреба є і тут є сенс створення комплексного шаблону, який зможе поєднувати роль і вихідного протоколу через його підключення також до модуля користувацького протоколу, та воно буде повністю зберігатися у одній бібліотеці шаблонів.

Як можна бачити з рисунку 1, взаємодія з пристроєм відбувається через деякий транспорт, на якому вони фізично базуються. Запит до транспорту можете надіслати:

  1. Безпосередньо за допомогою функції системного API OpenSCADA об'єкту транспорту string messIO( string mess, real timeOut = 0 );, якщо протоколоспецифічна частина дуже проста і дані вам потрібно лише вилучити.
  2. Загорнутий запит даних req, функцією int messIO( XMLNodeObj req, string prt ); і для протоколу prt, якщо протокольна частина достатньо складна і вже представлена у OpenSCADA.
  3. Загорнутий запит даних, специфічний до користувача, за допомогою функції int messIO( XMLNodeObj req, "UserProtocol" ); і реалізації користувацького протоколу, якщо протокольна частина достатньо складна і ще відсутня у OpenSCADA. Користувач реалізує тут саму протоколоспецифічну частину у модулі UserProtocol і частину, специфічну до даних, у шаблоні для модуля Логічного Рівня або безпосередньо у процедурі контролеру на внутрішній мові програмування модуля JavaLikeCalc.
At.png Цей, останній, метод наразі розвинено до можливості формування протокольної частини коду безпосередньо у тому-ж коді шаблону у вигляді вбудованої функції через виклик запиту першого методу, якщо немає потреби повторного використання; або навіть якщо така потреба є і тут є сенс створення комплексного шаблону, який зможе поєднувати роль і вихідного протоколу через його підключення також до модуля користувацького протоколу, та воно буде повністю зберігатися у одній бібліотеці шаблонів.