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