From OpenSCADAWiki
Jump to: navigation, search

Загальний сценарій обробки вхідних запитів:

  • Запит формується віддаленою станцією та через мережу потрапляє на транспорт OpenSCADA.
  • OpenSCADA транспорт передає запит цьому модулю, обраному у полі протоколу, та об'єкту користувацького протоколу, у вигляді значень змінної "request" — для послідовності запиту та "sender" — для адреси відправника запиту.
  • Запускається виконання процедури протоколу вхідного запиту, у процесі якої аналізується вміст змінної "request" та формується відповідь у змінній "answer". По завершені виконання процедури формується змінна "rez", яка вказує транспорту на факт отримання повного запиту та формування коректної відповіді (false) або потребу транспорту очікувати залишку даних (true) — утримувати підключення.
  • Якщо результат обробки дорівнює "false", та відповідь ненульова, то транспорт надсилає відповідь, а сама процедура протоколу має видалити оброблену частину запиту "request", оскільки тільки вона може визначити цілісність посилки та потенційну наявність за нею початку наступної.
  • Якщо результат процедури обробки дорівнює "true" то транспорт продовжує очікувати дані. При отримані наступної порції даних вони додаються до змінної "request" та виконання процедури повторюється.