27
Промислові мережі та інтеграційні технології Символьний режим обміну (character mode, ASCII) реєстрація [email protected] автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 23.03.2015 NET - символьний обмін [email protected] 1

2 2 символьний обмін

Embed Size (px)

Citation preview

Page 1: 2 2 символьний обмін

Промислові мережі та інтеграційні технології

Символьний режим обміну (character mode, ASCII)

реєстрація [email protected]

автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)

23.03.2015 NET - символьний обмін

[email protected] 1

Page 2: 2 2 символьний обмін

Сумісність на рівні бітів/символів – цього достатньо для побудови мережі?

23.03.2015 NET - символьний обмін

[email protected] 2

USB RS485<->USB

RS232 RS485<->RS232

RS485

RS485 RS485

RS485

RS485

RS485

RS485 Усі пристрої можуть відправити і отримати послідовність біт (наприклад символи). Цього достатньо?

Сумісність на фізичному рівні (фізичного інтерфейсу, рівні бітів) не достатня, щоб забезпечити цільовий обмін між пристроями!

• кому призначені ці символи? • чи вірно отримані ці символи? • що означають ці символи?

Page 3: 2 2 символьний обмін

Модель обміну на базі символів

23.03.2015 NET - символьний обмін

[email protected] 3

символ

Те, що я знаю всі літери угорського алфавіту ще не значить, що я розумію угорську!

літера ~

Amit tudok a magyar ábécé nem jelenti azt, hogy érti a magyar.

Оміт тудок о модьор абиси тум єленті озт, ходь ирті о модьор?

HU UK

Page 4: 2 2 символьний обмін

Модель обміну кадрами

23.03.2015 NET - символьний обмін

[email protected] 4

Кадр (Frame) при асинхронній передачі - це послідовність символів, які відправляються/приймаються пристроєм як єдина "осмислена" структура.

принципи побудови речень визначається правилами мови

правила побудови та доставки кадрів а також їх змісту визначається протоколами мережі

~

символ літера ~ кадр речення (послідовність слів з літер)

~

літера"р"

Кадр – це "осмислена" послідовність символів.

Page 5: 2 2 символьний обмін

Протоколи рівнів – правила

23.03.2015 NET - символьний обмін

[email protected] 5

Задачі мережного обміну ділять на підзадачі або рівні (див.1.3), правила функціонування в яких описується протоколами рівня. Повний набір протоколів формують стек протоколів мережі.

символ FHEX

A02F345E4569023456890A5612

символ"р"

Кадр –це послідовність символів.

Аналогія правил мови: в граматиці є правила написання слів (морфологія), а є правила формування речень (синтаксис). Стек = синтаксис + морфологія

Кадр це послідовність символів - .

символ"р"

Page 6: 2 2 символьний обмін

"Однорівневий" стек протоколів

23.03.2015 NET - символьний обмін

[email protected] 6

У самих примітивних мережах правила обміну описують тільки на рівні кадрів, тобто описаний тільки протокол канального рівня.

символ"р"

Кадр –це послідовність символів.

"Словарь Вильяма Шекспира, по подсчёту исследователей, составляет 12000 слов. Словарь негра из людоедского племени «Мумбо-Юмбо» составляет 300 слов. Эллочка Щукина легко и свободно обходилась тридцатью. Вот слова, фразы и междометия, придирчиво выбранные ею из всего великого, многословного и могучего русского языка: Хамите. Хо-хо! (Выражает, в зависимости от обстоятельств, иронию, удивление, восторг, ненависть, радость, презрение и удовлетворенность.)…"

Для правильної побудови речень на мові Елочки-Щукіної достатньо б було використання тільки морфологічного протоколу.

Page 7: 2 2 символьний обмін

Умова роботи мережі - повна сумісність

23.03.2015 NET - символьний обмін

[email protected] 7

USB RS485<->USB

RS232 RS485<->RS232

RS485

RS485 RS485

RS485

RS485

RS485

RS485 Для функціонування мережі необхідна сумісність на всіх рівнях: • забезпечення єдиного фізичного

інтерфейсу • сумісність протоколів на всіх рівнях (усього

стеку)

Наприклад, усі підтримують Modbus RTU, причому на боці клієнта - Modbus RTU Master, а на боці серверів - Modbus RTU Slave

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

протокол A1

протокол A2

протокол A3

HU

HU

HU

HU HU

HU

HU

HU

Page 8: 2 2 символьний обмін

Що значить реалізований (implementation) протокол?

23.03.2015 NET - символьний обмін

[email protected] 8

Прикладна програма

COM порт

послідовність

байтів для

кадру

Доступ до функцій (сервісів) протоколу

послідовність

байтів прийнятого

кадру

промислова мережа

RS485

протокол A1

протокол A2

протокол A3

Програма протоколу рівнів А1..А3 (реалізована виробником)

Page 9: 2 2 символьний обмін

Вирішення проблеми несумісності

23.03.2015 NET - символьний обмін

[email protected] 9

Відсутність підтримки протоколів на одному з вузлів потребує: - використання шлюзів (перетворювачів

протоколів); - або самостійної реалізації протоколів на

пристрої; - або заміни несумісного пристрою

RSxxx RSxxx

протокол A1

протокол A2

протокол A3

протокол B1

протокол B2

протокол B3

RSxxx RSxxx

протокол A1

протокол A2

протокол A3

протокол B1

протокол B2

протокол B3

RSxxx RSxxx

протокол A1

протокол A2

протокол A3

протокол B1

протокол B2

протокол B3

шлюз

перетворення протоколів

Page 10: 2 2 символьний обмін

Пропрієтарний протокол

23.03.2015 NET - символьний обмін

[email protected] 10

RSxxx RSxxx

протокол ? протокол ?

Пропрієтарний протокол (або мережа) – власний нестандартизований протокол (або мережа) виробника пристрою. Проблема, яка виникає при використанні в пристрої – відсутність реалізації в пристроях інших виробників, відсутність готових шлюзів.

Вирішення проблеми сумісності – самостійна реалізація протоколів або заміна пристроїв.

Page 11: 2 2 символьний обмін

Принципи символьного режиму обміну

23.03.2015 NET - символьний обмін

[email protected] 11

Символьний режим обміну (character mode) – режим обміну програмованого пристрою (контролеру) через послідовний порт, при якому програміст реалізовує алгоритм формування послідовності байтів (character, символів) для передачі і алгоритм інтерпретації змісту кадрів по прийому.

1 char передається за 1 symbol

Прикладна програма

COM порт

послідовність

байтів для

кадрів

Реалізація алгоритму

формування кадру

Реалізація алгоритму

інтерпретації кадру

послідовність

байтів прийнятого

кадру

промислова мережа

Символьний режим обміну забезпечує тільки відправку та прийом кадрів, а протокол обміну реалізовується програмою користувача.

- також називають ASCII-режимом або безпротокольним режимом

- використовувався тільки для відправки/прийому послідовності ASCII-символів, зараз і для обміну байт-кодами.

- не всі програмовані контролери (або їх послідовні порти) дають можливість працювати в символьному режимі.

Page 12: 2 2 символьний обмін

ASCII vs binary

23.03.2015 NET - символьний обмін

[email protected] 12

128 символів (7-бітне кодування) – числовий код

+ 128 (8-бітне кодування) розширення (національні літери)

ASCII режим – передача літер

бінарний режим – передача байт-кодів

09

"0"

30

"9"

39

ASCII BIN

Page 13: 2 2 символьний обмін

Призначення символьного обміну

23.03.2015 NET - символьний обмін

[email protected] 13

- для реалізації протоколу (пропрієтарного чи стандартизованого), що не підтримується

даним програмованим пристроєм

- для роботи з зовнішніми модемами (по RSxxx) в якості клієнта (AT-команди) як для відправки так і для прийому;

- для відправки тексту на друк чи термінал, що працюють в

текстовому режимі, для прийому тексту з терміналу

Page 14: 2 2 символьний обмін

Задачі при побудові/інтерпретації кадрів

23.03.2015 NET - символьний обмін

[email protected] 14

• розмежування кадрів • доставка кадрів за місцем призначення • перевірка кадрів на цілісність • призначення полів (частин) кадру

скажиякділитикадриякажияквказатиадресатаскажиякправльнозаповнюватиполя

Page 15: 2 2 символьний обмін

Задачі, що вирішуються при символьному обміні

23.03.2015 NET - символьний обмін

[email protected] 15

Задачі, що вирішуються при формуванні/інтерпретації та

доставці кадрів

Як вирішуються при символьному обміні

розмежування кадрів налаштування порту інтерфейсу

доставка за місцем призначення

програмна реалізація алгоритму обробки кадру згідно протоколу, що реалізується

перевірка кадрів на цілісність

призначення полів (частин) кадру

Page 16: 2 2 символьний обмін

Розмежування кадрів в символьному режимі

23.03.2015 NET - символьний обмін

[email protected] 16

Розділення на кадри необхідне для: - структурування обміну (відповідно до протоколу); - для можливості апаратної та програмної оброки при певних обмеженнях

(обмеження вхідних/вихідних буферів, обмеження часу обробки …)

Тиша (+char)

Beginning Повідомлення кадру End

0 … yyy chars Тиша або 1(2) chars або

досягнута фіксована кількість символів

Способи розділення: - по часу тиші (по таймауту); - використання спеціалізованих символів (стартові та стопові Char) - по фіксованій або вказаній в переданих даних кількості символів

скажиякділитикадриякажияквказатиадресатаскажиякправльнозаповнюватиполя

Page 17: 2 2 символьний обмін

Розмежування кадрів: приклади

23.03.2015 NET - символьний обмін

[email protected] 17

Frame 1 Frame 2

Тиша Char 1 Char n

STX CR

0D

LF

0A Повідомлення кадру 02 0D 0A

кінець кадру?

Page 18: 2 2 символьний обмін

Доставка за місцем призначення та перевірка на цілісність (приклад)

23.03.2015 NET - символьний обмін

[email protected] 18

Повідомлення кадру Адреса

призначення

3 2

Адреса

відправника

65

контрольна

сума

10 11 12 13 14

контрольна сума = 2+3+10+11+12+13+14 = 65

Приклад: контр. сума - арифметична сума

Page 19: 2 2 символьний обмін

Принципи обміну в символьному режимі - відправка

23.03.2015 NET - символьний обмін

[email protected] 19

* - тільки при розмежуванні символьною послідовністю

Прикладна програма

COM порт

вихідний буфер вхідний буфер

Повідомлення кадру End Chars*

Реалізація алгоритму формування кадру

Функція запису у вихідний буфер

COM порт

Повідомлення кадру

Символьне закінчення (End Chars) та початок кадру при відправці формується прикладною програмою або апаратурою пристрою (або ОС)

Page 20: 2 2 символьний обмін

Принципи обміну в символьному режимі - прийом

23.03.2015 NET - символьний обмін

[email protected] 20

* - тільки при розмежуванні символьною послідовністю

Прикладна програма

COM порт

вихідний буфер вхідний буфер

Повідомлення кадру

Реалізація алгоритму інтерпретації кадру

Функція читання з вхідного буферу

COM порт

Повідомлення кадру End Chars*

Закінчення кадру (по символам або паузі) визначається апаратурою пристрою (або ОС)

Page 21: 2 2 символьний обмін

Приклад: вікно налаштування кінця кадру для Modicon M340

23.03.2015 NET - символьний обмін

[email protected] 21

1 – символьний розмежувач кадру 2 – налаштування параметрів обміну 3 – вибір інтерфейсу і сигналів синхронізації

за символами (Stop on reception)

Можливі варіанти CR, LF, або заданий кодом ASCII

Character Included – включити символ зупинки в повідомлення для програми користувача;

по часу тиші (Stop on silence)

Кінець повідомлення – один з двох вказаних (Character 1 або Character 2)

Page 22: 2 2 символьний обмін

Приклад: вікно налаштування кінця кадру для Simatic S7-1200

23.03.2015 NET - символьний обмін

[email protected] 22

Page 23: 2 2 символьний обмін

Приклад: вікно налаштування початку кадру для Simatic S7-1200

23.03.2015 NET - символьний обмін

[email protected] 23

Page 24: 2 2 символьний обмін

Приклад: функція відправки/отримання кадру Modicon М340

23.03.2015 NET - символьний обмін

[email protected] 24

Page 25: 2 2 символьний обмін

Приклад: функція відправки/отримання кадру Simatic S7-1200

23.03.2015 NET - символьний обмін

[email protected] 25

Page 26: 2 2 символьний обмін

Приклад використання кодування ASCII при обміні

23.03.2015 NET - символьний обмін

[email protected] 26

3A 30 31 36 30 30 30 30 30 30 30 31 30 35 0d 0a

: 0 1 6 0 0 0 0 0 0 0 1 0 5 CR LF

запит (HEX)

запит (ASCII)

відповідь (HEX) відповідь (ASCII) вікно значень параметрів (з ПЗ програматора)

Page 27: 2 2 символьний обмін

Приклад використання AT-команд для модемного обміну

23.03.2015 NET - символьний обмін

[email protected] 27

команда Опис

AT ПЛК->M: увага OK М(модем)->ПЛК: так

AT+CBST? ПЛК: запит на вибір типу носія: режими швидкості, стиснення даних, прозорості

+CBST: 0,0,1 М: 0 – швидкість автоматична, 0 – стиснення відсутнє, 1 - непрозорий

OK М: так

AT+CBST=7,0,1 ПЛК: запит на підтримання носія

OK М: так, підтримується

AT+CBST=12,0,1 ПЛК: встановлення швидкості – 9600 біт/с

OK М: так

AT+IFC? ПЛК: запит команди управління місцевим потоком <DCE_by_DTE> та <DTE_by_DCE>

+IFC: 0,0 М: не підтримується, не підтримується

OK М: так

AT&W ПЛК: запис поточних налаштувань в EEPROM

OK М: так, записано

+CMTI: "SM",1 М: отримано нове повідомлення, індекс 1 AT+CMGF=1 ПЛК: встановлення текстового режиму

OK М: так, встановлено

AT+CMGR=1 ПЛК: читати перше повідомлення

+CMGR: "REC READ","+380669572528",,"09/05/18,14:09:28+12"

М: прочитане повідомлення з номеру телефону +380669572528 отримано 09/05/18 о 14:09:28

Hello М: текст повідомлення

OK М: так

AT+CMGS=+380669572528

ПЛК: Відіслати повідомлення в текстовому режимі на номер +380669572528

> HELLOW() ПЛК: текст повідомлення

+CMGS: 23 М: повідомлення відіслано, номер повідомлення 23 (визначається виробником)

OK М: так