1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu giao thức dlms của landis+gyr

19 1,6K 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 0,91 MB

Nội dung

Giới thiệu chung Giao thức DLMS là một chuẩn giao thức mô tả việc truy xuất dữ liệu trong công tơ điện tử.. Tất cả các đối tượng COSEM của công tơ như IC, SN, OBIS code đều được liệt kê

Trang 1

Tìm hiểu giao thức DLMS của Landis+Gyr

Người lập: Dungmanu

I Tổng quan về giao thức DLMS

1 Giới thiệu chung

Giao thức DLMS là một chuẩn giao thức mô tả việc truy xuất dữ liệu trong công

tơ điện tử Giao thức này dựa trên chuẩn IEC 62056

Có nhiều công tơ điện tử trên thế giới sử dụng chuẩn giao thức DLMS như Landis+Gyr (Thuỵ Sỹ), Hexing (Trung Quốc) v.v

2 Các tài liệu tham khảo

3 Các từ viết tắt

II Các lớp dữ liệu

1 Lớp vật lý – Physical Layer

Trang 2

1.1 Optical interface

Theo giao tiếp này thì giao thức DLMS tuân theo mode E trong giao thức IEC 62056-21 Tốc độ baudrate không cần thiết lập mà được scan tự động 1.2 Electrical interface

Theo giao thức này thì có 3 lựa chọn phần cứng có thể dùng được là: CL0 (20 mA), RS485, RS232

Tốc độ kết nối cần được thiết lập trước Giữa Client và Server cần có tốc

độ giống nhau

2 Lớp liên kết dữ liệu – Data Link Layer (HDLC)

II.1 Tạo và ngắt kết nối HDLC

Để tạo kết nối thành công giữa Client (thiết bị/máy tính) và Server (công tơ) thì cần có giao tiếp thành công của SNRM (set normal response mode request) và UA (unnumbered acknowledge response)

Theo giao thức IEC 62056-46 thì có 2 lý do khiến mất kết nối HDLC là:

- Giữa Client và Server có trao đổi dữ liệu DISC (disconnect request) và

UA (unnumbered acknowledge response)

- Xảy ra lỗi timeout

II.2 Giải pháp chống time-out

Để giải quyết vấn đề time-out thì công tơ sẽ phản hồi lại dữ liệu HDLC

RR (receive ready) của Client bằng chính bản tin RR của công tơ

II.3 Ví dụ bản tin SNRM và UA response

Gửi đi:

7E A0 07 03 21 93 0F 01 7E

Trả về:

7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 3E 07 04 00 00 00 01

08 04 00 00 00 01 07 22 7E

II.4 Cấu trúc chuỗi bản tin HDLC

Trong lớp con MAC sử dụng chuỗi HDLC type 3 có dạng như sau:

Ví dụ:

7E A0 11 03 21 32 B7 3D E6 E6 00 05 01 02 1C 28 53 02 7E

 7E : Open Flag

 A0 11 : Frame format (type and length) HDLC frame type 3 and length

= 1116 = 1710

 03 21 : Address - 03 địa chỉ nguồn; 21 địa chỉ đích

 32 : Control (chỉ chứa 1 byte) chỉ ra dạng bản tin yêu cầu hay phản hồi

 B7 3D : HCS header check sequence

 E6 E6 00 : LLC addresses

 05 01 : đọc 1 short name (nếu đọc nhiều short name thì có dạng 05 n)

 02

 1C 28 : SN đọc value của mã OBIS 1.8.0

 53 02 : FCS Frame check sequence

 7E : Close Flag

Trang 3

3 Lớp trình ứng dụng – Application Layer (COSEM)

3.1 Thiết lập liên kết ứng dụng

Để tạo thiết lập cần gửi đúng bản tin AARQ từ Client đến công tơ 3.2 Mức truy xuất dữ liệu và mật khẩu

Chi tiết tham khảo bảng dưới đây:

Chú ý: Tất cả mật khẩu đều có giá trị khởi tạo dạng octel-string[8] là 30 30

30 30 30 30 30 30 (00000000)

III Các đối tượng dữ liệu – Data Objects

1 Đối tượng SN (short name)

Công tơ hỗ trợ mối liên hệ bằng SN dựa theo chuẩn giao thức IEC 62056-53 và 62056-62 Điều đó có nghĩa rằng các đối tượng có thể truy xuất (các thuộc tính và các phương pháp) đều có SN riêng của nó và được truy xuất thông qua SN này Tất cả các đối tượng COSEM của công tơ như IC, SN, OBIS code đều được liệt

kê trong Association SN IC (IC id 12) Để tạo ra Association SN IC (object list)

cần thực hiện tác vụ Collecting Objects

Chú ý: Sau khi cấu hình lại công tơ cần thực hiện lại việc Collecting Objects Phụ lục A.1 mô tả chi tiết các object có thể đọc được bằng DLMS

2 Các lớp giao diện được dùng – Used Interface classes

Tất cả các lớp giao diện được dùng (ICs), Id của chúng, version của chúng được liệt kê theo bảng dưới đây:

Các ICs tuân theo chuẩn IEC 62056-62

3 Các loại dữ liệu được dùng – Used data types

Trang 4

Tất cả các loại dữ liệu được dùng tuân theo chuẩn IEC 62056-53 và được liệt kê như bảng dưới đây:

4 Các thuộc tính của IC – register

Class Register thì có 3 attribute: logic name, scaler unit và value được xác định như bảng dưới đây:

Ví dụ:

Khi đọc các thông tin liên quan đến thông số 1.8.1 (công suất hữu công chiều giao tại thời điểm hiện tại theo biểu giá 1) ta có SN của logical_name = 03 E8

Như vậy

SN của Value = 03 E8 + 0x08 = 03 F0

SN của Scaler_unit = 03 E8 + 0x10 = 03 F8

(trích dữ liệu từ Gurux)

Read object type Register index: 3

7E A0 11 03 21 B6 9B FF E6 E6 00 05 01 02 03 F8 87 C2 7E

Reveived data

7E A0 15 21 03 9A 19 C0 E6 E7 00 0C 01 00 02 02 0F FF 16 1E 3F F2 7E

 0F

 FF = -1 (giá trị bù 2) - 10-1=0.1 scaler

 16

 1E = 30 (Wh) unit (tra bảng phụ lục A.2)

Trang 5

Read object type Register index: 1

7E A0 11 03 21 D8 E3 75 E6 E6 00 05 01 02 03 E8 06 D2 7E

Reveived data

7E A0 17 21 03 BC 5B BD E6 E7 00 0C 01 00 09 06 01 01 01 08 01 FF 7A 30 7E

 01 01 01 08 01 FF = 1.1.1.8.1.255

Read object type Register index: 2

7E A0 11 03 21 FA F3 77 E6 E6 00 05 01 02 03 F0 CF 4E 7E

Reveived data

7E A0 18 21 03 DE B6 4F E6 E7 00 0C 01 00 14 00 00 00 00 00 00 1C EB F0 76 7E

 00 00 00 00 00 00 1C EB = 7403 (raw value)

5 Các thuộc tính của IC – extended register

Class extended register thì có 5 attribute (có thêm trạng thái và thời gian tính toán) được xác định như bảng dưới đây:

Ví dụ:

Khi đọc các thông tin liên quan đến thông số 1.6.1 (maximum demand theo biểu giá 1) ta có SN của logical_name = D2 F0

Như vậy

SN của Value = D2 F0 + 0x08 = D2 F8

SN của Scaler_unit = D2 F0 + 0x10 = D3 00

SN của Status = D2 F0 + 0x18 = D3 08

SN của Capture Time = D2 F0 + 0x20 = D3 10

(trích dữ liệu từ Gurux)

Read object type ExtendedRegister index: 3

7E A0 11 03 21 1C CB F5 E6 E6 00 05 01 02 D3 00 7B E6 7E

Reveived data

7E A0 15 21 03 F0 45 0C E6 E7 00 0C 01 00 02 02 0F FF 16 1B 92 A5 7E

 0F

 FF = -1 (10-1=0.1) scaler

 16

 1B = 27 (W) unit (tra bảng phụ lục A.2)

Read object type ExtendedRegister index: 1

7E A0 11 03 21 3E DB F7 E6 E6 00 05 01 02 D2 F0 2C 08 7E

Reveived data

7E A0 17 21 03 12 2F F1 E6 E7 00 0C 01 00 09 06 01 01 01 06 01 FF 61 20 7E

 01 01 01 06 01 FF = 1.1.1.6.1.255 (logic name)

Trang 6

Read object type ExtendedRegister index: 2

7E A0 11 03 21 50 A3 7D E6 E6 00 05 01 02 D2 F8 64 84 7E

Reveived data

7E A0 14 21 03 34 D6 90 E6 E7 00 0C 01 00 05 00 00 03 E8 08 DF 7E

 00 00 03 E8 = 1000 (raw value)

Read object type ExtendedRegister index: 4

7E A0 11 03 21 72 B3 7F E6 E6 00 05 01 02 D3 08 33 6A 7E

Reveived data

7E A0 11 21 03 56 95 BE E6 E7 00 0C 01 00 11 01 E1 75 7E

 11

 01 = 1 (00 thì status = null)

Read object type ExtendedRegister index: 5

7E A0 11 03 21 94 8B FD E6 E6 00 05 01 02 D3 10 FA F6 7E

Reveived data

7E A0 1D 21 03 78 DD E1 E6 E7 00 0C 01 00 09 0C 07 DD 0B 08 05 08 1A 2B

FF 80 00 00 07 D0 7E

 07 DD 0B 08 = 2013/11/8

 05

 08 1A 2B = 8:26:43

IV Hệ thống xác định đối tượng – OBject Indentification System (OBIS)

1 Mô tả chung

OBIS định nghĩa các mã định danh (ID-code) cho các mục dữ liệu được dùng trong đo lường công tơ

OBIS code dùng trong đo lường công tơ bao gồm 6 nhóm như hình vẽ

2 Dữ liệu nhóm A

Dữ liệu nhóm A định nghĩa loại năng lượng mà công tơ đo đếm như: Nước, ga, điện

3 Dữ liệu nhóm B

Dữ liệu nhóm B định nghĩa kênh đo lường hoặc kênh truyền thông (dùng trong trường hợp dữ liệu đo đếm xuất phát từ nhiều nguồn khác nhau)

4 Dữ liệu nhóm C

Dưới đây là Bảng mô tả cấu trúc OBIS trong đo lường Điện

Trang 8

Bảng định nghĩa góc phần tư - quadrant

Trang 9

5 Dữ liệu nhóm D

Dưới đây là Bảng mô tả cấu trúc OBIS trong đo lường Điện

Trang 11

6 Dữ liệu nhóm E

Dưới đây là Bảng mô tả cấu trúc OBIS trong đo lường Điện

a Các biểu giá

b Mối quan hệ GÓC

7 Dữ liệu nhóm F

8 Các bảng dữ liệu khác

a Bảng dữ liệu LỖI

b Bảng list các Object

Trang 12

V Cách thức liệt kê các Object – Collecting Object

1 Mô tả chung

Bằng việc Collecting Object ta có thể map được SN tương ứng với mã OBIS Chú ý rằng tuỳ theo model mà cùng 1 OBIS lại có SN khác nhau Do vậy việc thực hiện Collecting Object là điều bắt buộc khi bắt đầu đọc 1 công tơ “mới”

2 Chu trình truyền nhận khi thực hiện quá trình Collecting Object

Request Object

7E A0 11 03 21 38 ED 92 E6 E6 00 05 01 02 FA 08 18 9E 7E

*) FA 08 là thuộc tính về Value của SN “FA 00” tức là liệt kê các object tồn tại trong công tơ

Reveived data

7E A8 5B 21 03 52 88 68 E6 E7 00 0C 01 00 01 82 01 15 02 04 10 00 08 12 27

14 11 50 09 06 00 00 F0 0D 00 FF 02 04 10 90 88 12 00 03 11 00 09 06 00 00 61

61 00 FF 02 04 10 01 68 12 00 03 11 00 09 06 00 00 60 F0 0C FF 02 04 10 60 E0

12 00 07 11 01 09 06 01 00 63 62 00 FF DC 97 7E

Get next frame:

7E A0 07 03 21 51 11 E4 7E

Reveived data

7E A8 75 21 03 54 AF 2C 02 04 10 62 70 12 00 07 11 01 09 06 01 00 63 01 00

FF 02 04 10 64 00 12 00 07 11 01 09 06 00 00 62 01 00 7E 02 04 10 2B C0 12 00

08 11 00 09 06 00 00 01 00 00 FF 02 04 10 44 28 12 2A 94 11 00 09 06 01 01 63

62 96 FF 02 04 10 44 A0 12 2A 9E 11 00 09 06 01 01 63 62 81 FF 02 04 10 45 48

12 2A 9E 11 00 09 06 01 01 63 62 82 FF DC E7 7E

Get next frame:

7E A0 07 03 21 71 13 C5 7E

Reveived data

7E A8 75 21 03 56 BD 0F 02 04 10 45 F0 12 2A 9E 11 00 09 06 01 01 63 62 83

FF 02 04 10 46 98 12 2A 9E 11 00 09 06 00 00 7F 00 00 00 02 04 10 47 40 12 2A 9E 11 00 09 06 00 00 7F 00 00 00 02 04 10 47 E8 12 2A 9E 11 00 09 06 01 01 63

62 8D FF 02 04 10 48 90 12 2A 9E 11 00 09 06 00 00 7F 00 00 00 02 04 10 49 38

12 2A 9E 11 00 09 06 00 00 7F 00 00 00 C2 D8 7E

……

Get next frame:

7E A0 07 03 21 91 1D 22 7E

Reveived data

7E A0 3F 21 03 38 FC 15 02 04 10 8F 10 12 00 03 11 00 09 06 01 01 01 02 04 FF

02 04 10 8F 78 12 00 03 11 00 09 06 01 01 02 02 04 FF 02 04 10 8F E0 12 00 03

11 00 09 06 01 01 0D 23 00 FF 71 6A 7E

Phân tích:

Trong các chuỗi dữ liệu trả về ta quan tâm tới các chuỗi con có length = 18 bytes thường bắt đầu bằng 02 04 10

Ví dụ 1:

02 04 10 00 08 12 27 14 11 50 09 06 00 00 F0 0D 00 FF

Cụ thể:

Trang 13

02 04 : tag của chuỗi trong đó 02 thể hiện kiểu datastruct và 04 thể hiện số phần

tử nằm trong datastruct

10 : remain length

00 08 : logical_name (tên dữ liệu)

12 27 : tag 12 với giá trị 27 thể hiện là object này ko tồn tại trong công tơ tag 12 với giá trị 00 sẽ thể hiện object là tồn tại trong công tơ (xét ở ví dụ dưới)

14 : tag IC_id (tham khảo bảng phía trên)

11 50 : tag 11 là version với giá trị là 50(hex) -> ko quan trọng

09 06 : tag thể hiện obis code với độ dài bằng 6

00 00 F0 0D 00 FF : bảng obis với 6 bytes

 Như vậy dựa trên chuỗi trên ta có thể map được giữa “00 08” và “00 00 F0 0D

00 FF”

Ví dụ 2:

02 04 10 90 88 12 00 03 11 00 09 06 00 00 61 61 00 FF

02 04 : tag của chuỗi

10 : remain length

90 88 : logical_name (tên dữ liệu)

12 00 : tag 12 với giá trị 00 sẽ thể tện object là tồn tại trong công tơ

03 : tag IC_id (tham khảo bảng phía trên)

11 00 : tag 11 là version với giá trị là 00(hex)

09 06 : tag thể hiện obis code có độ dài 6 bytes

00 00 61 61 00 FF : bảng obis với 6 bytes = 0.0.97.97.0.255

VI Các bảng phụ lục

Phụ lục A.1 Các đối tượng dữ liệu

Trang 16

Phụ lục A.2 Bảng mã Đơn vị

Ngày đăng: 29/01/2015, 19:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w