3.3.1. Cấu trúc truyền thông
Từ các yêu cầu nhiệm vụ đặt ra, ta có sơ đồ hệ thống truyền thông cho mô hình trạm điện phân phối như hình 3.4
Mô hình hệ thống điều khiển giám sát và thu thập dữ liệu cho trạm điện hạ áp gồm 3 mức: mức quá trình, gồm các phần tử của hệ thống điện, thiết bị đóng cắt, đo lường (BI, BU); mức ngăn: gồm thiết bị điều khiển (PLC S7 – 1200), đồng hồ đo (MFM – 384), giao diện HMI điều khiển tại chỗ, các thiết bị khác (đồng hồ chỉ thị, đèn báo, …); và mức trạm: máy tính điều khiển trạm. Trong đó, hệ thống truyền thông nằm ở mức ngăn và mức trạm.
Ở mức ngăn, sử dụng giao thức Modbus trên nền RS485 để thông tin liên lạc giữa các thiết bị trường với nhau: PLC, HMI, Meter, … Sử dụng phương pháp truy nhập bus kiểu chủ - tớ với bộ điều khiển PLC S7 – 1200 đóng vai trò là trạm chủ.
Ở mức trạm, dữ liệu được trao đổi giữa máy tính điều khiển trung tâm chạy phần mềm SCADA với PLC S7 – 1200 thông qua mạng LAN Ethernet. Việc đọc thông tin từ đồng hồ đo MFM – 384 diễn ra gián tiếp thông qua PLC.
Modbus (RS485) TI TU MFM 384 Hệ thống điện S7 - 1200 HMI Thiết bị khác (Meters, …) LAN Computer Ethernet Ethernet
Hình 3-4: Mô hình truyền thông SCADA cho trạm điện phân phối.
Ngoài ra, dữ liệu từ máy tính điều khiển cũng có thể được đẩy lên mạng Internet phục vụ cho việc đọc dữ liệu và điều khiển trạm từ xa.
3.3.2. Đồng hồ đa năng Selec MFM – 384
Là thiết bị tích hợp có thể đo và truyền tín hiệu, cung cấp cho người sử dụng nhiều đại lượng cùng lúc. Máy có bộ nhớ để lưu trữ dữ liệu ghi được theo 1 chu kì cho trước, dữ liệu có thể tải về máy tính hoặc thiết bị số khác.
Tích hợp hợp nhiều tính năng đo trên một module:
Đo điện áp 3 pha.
Đo dòng điện 3 pha.
Đo công suất tác dụng 3 pha.
Đo công suất phản kháng 3 pha.
Đo tần số.
Hình 3-5: Đồng hồ Selec MFM384
Các thông số kỹ thuật của đồng hồ MFM – 384
Kích thước 96x96mm.
Hiển thị LCD: 3 hàng x 3 số; 3 biểu đồ cột dòng điện; 8 số điện năng kWh.
Sử dụng cho mạng 3 pha 4 dây hoặc 1 pha 2 dây
Biến dòng chọn được từ 5 đến 5000/5A
Tiêu hao năng lượng ngõ vào : Max 0,5VA/ phase
Cấp chính xác: cấp 1
Nguồn nuôi : 90 – 270VAC
Khả năng nhớ: 10 năm cho chỉ số điện năng
Khả năng truyền thông qua Modbus (MFM 384-C).
Truyền thông nối tiếp Modbus:
Đồng hồ đa năng MFM 384 có khả năng truyền thông với các thiết bị các thông qua giao thức Modbus/RS 485, đóng vai trò trạm tớ. Sơ đầu đấu nối truyền thông như sau:
Hình 3-6: Truyền thông Modbus của MFM 384.
Địa chỉ truyền thông: 1 – 255.
Chế độ truyền: bán song công.
Kiểu dữ liệu: Số thực và số nguyên.
Khoảng cách truyền: tối đa 500m.
Tốc độ truyền: 300, 600, 1200, 2400, 4800, 9600, 19200 (bps).
Parity: None, Odd hoặc Even.
Số bít Stop: 1 hoặc 2.
Thời gian đáp ứng: 100 ms (Không phụ thuộc tốc độ baud).
Các tham số truyền thông Modbus:
Nhóm tham số chỉ đọc: Địa chỉ Địa chỉ hexa Tham số Chiều dài (Register) Kiểu 30000 0x00 Điện áp V1N 2 Float 30002 0x02 Điện áp V2N 2 Float 30004 0x04 Điện áp V3N 2 Float
30006 0x06 Điện áp trung bình LN 2 Float
30008 0x08 Điện áp V12 2 Float
30010 0x0A Điện áp V23 2 Float
30012 0x0C Điện áp V31 2 Float
30014 0x0E Điện áp trung bình LL 2 Float
30016 0x10 Dòng điện I1 2 Float
30018 0x12 Dòng điện I2 2 Float
30020 0x14 Dòng điện I3 2 Float
30022 0x16 Dòng điện trung bình 2 Float
30024 0x18 kW1 2 Float
30026 0x1A kW2 2 Float
30028 0x1C kW3 2 Float
30030 0x1E kVA1 2 Float
30032 0x20 kVA2 2 Float 30034 0x22 kVA3 2 Float 30036 0x24 kVAr1 2 Float 30038 0x26 kVAr2 2 Float 30040 0x28 kVAr3 2 Float 30042 0x2A Tổng kW 2 Float 30044 0x2C Tổng kVA 2 Float
30046 0x2E Tổng kVAr 2 Float
30048 0x30 PF1 2 Float
30050 0x32 PF2 2 Float
30052 0x34 PF3 2 Float
30060 0xC kVAh 2 Float
30062 0x3E kVArh 2 Float
30064 0x40 Công suất tác dụng Max 2 Float 30066 0x42 Công suất tác dụng Min 2 Float 30068 0x44 Công suất phản kháng Max 2 Float 30070 0x46 Công suất phản kháng Min 2 Float 30072 0x48 Công suất biểu kiến Max 2 Float
Nhóm tham số đọc/ghi:
Địa chỉ Địa chỉ
hexa Tham số Dải
Chiều dài (Register) Kiểu Min Max 40000 0x00 Password 0 9998 1 Interger Giá trị Ý nghĩa 40001 0x01 Chọn N/W 0 3P-4W 1 Interger 1 3P-3W 1 Interger Min Max 40002 0x02 Sơ cấp BI 1 5 1 Interger 40003 0x03 Thứ cấp BI (Sơ cấp = 5) 5 10000 1 Interger Thứ cấp BI (Sơ cấp = 1) 1 10000 40004 0x04 Thứ cấp BU 100 500 1 Interger 40005 0x05 Sơ cấp BU 100 500kV 2 Interger
Min Max 1 Interger
40007 0x07 Địa chỉ Slave 1 255
Giá trị Ý nghĩa 1 Interger 40008 0x08 Tốc độ Baud 0x0000 300 0x0001 600 0x0002 1200 0x0003 2400 0x0004 4800 0x0005 9600 0x0006 19200
Giá trị Ý nghía 1 Interger 40009 0x09 Parity 0x0000 None
0x0001 Odd 0x0002 Even
Giá trị Ý nghĩa 1 Interger 40010 0x0A Bit Stop 0x0000 1
0x0001 2
40012 0x0C Mặc định nhà sản xuất 1 Về mặc định 1 Interger Giá trị Ý nghía 40013 0x0D Reset kWh 1 Xóa năng lượng tác dụng 1 Interger
40014 0x0E Reset kVAh 1
Xóa năng lượng biểu kiến 1 Interger 40015 0x0F Reset kVArh 1 Xóa năng lượng phản kháng 1 Interger 3.3.3. Bộ điều khiển S7 – 1200 a) Giới thiệu về PLC 7 – 1200
Bộ điều khiển S7-1200 cung cấp tính linh hoạt và mạnh mẽ để điều khiển nhiều loại thiết bị khác nhau cho các ứng dụng tự động hóa. Thiết kế nhỏ gọn, cấu hình linh hoạt, tập lệnh mạnh mẽ làm cho S7-1200 trở thành giải pháp điều khiển hoàn hảo cho các hệ thống tự động hóa.
CPU tích hợp bộ vi xử lý, nguồn, các mạch vào/ra, built-in PROFINET, I/O điều khiển chuyển động tốc độ cao, đầu vào analog on-board trong một cấu trúc nhỏ gọn, tạo ra 1 bộ điều khiển mạnh mẽ. Sau khi tải chương trình, CPU chứa logic cần thiết để giám sát và điều khiển thiết bị. CPU giám sát các đầu vào, thay đổi các kết quả đầu ra theo chương trình người dùng, có thể gồm: Logic Boolean, bộ đếm, timer, phép tính toán học, điều khiển chuyển động, truyền thông với các thiết bị thông minh khác.
CPU cung cấp cổng PROFINET để truyền thông qua mạng PROFINET. Các mô đun mở rộng được dùng cho các giao thức truyền thông khác: PROFIBUS, GPRS, RS485, RS232, RS422, IEC, DNP3, WDC (Wideband Data Communication).
1. Đầu nối nguồn 2. Khe cắm thẻ nhớ.
Khả năng mở rộng
CPU của S7-1200 cho phép nhiều loại mô-đun và bo mở rộng khác nhau, cho phép CPU bổ sung I/O hoặc các giao thức truyền thông.
1. Mô đun truyền thông (CM/CP). 2. CPU.
3. Bo tín hiệu SB (Số/tương tự); bo truyền thông SM; bo nguồn pin BB. 4. Mô đun tín hiệu SM (số; tương tự, cặp nhiệt, RTD, bo công nghệ).
b) Kiểu dữ liệu và phân chia bộ nhớ
BOOL: với dung lượng 1 bit và có giá trị là 0 hoặc 1 ( đúng hoặc sai). Đây là
kiểu dữ liệu cho biến 2 giá trị.
BYTE: gồm 8 bits thường để biểu diễn một số nguyên dương trong khoảng từ 0
đến 255 hoặc mã ASCII của một ký tự.
WORD: gồm 2 bytes, để biểu diễn một số nguyên dương từ 0 đến 655535.
INT: cũng có dung lượng 2 byte, dùng để biểu diễn một số nguyên trong
khoảng -32768 đến 32767.
DINT: gồm 4 bytes, dùng để biểu diễn một số nguyên từ -2147483648 đến
2147483647.
REAL : gồm 4 bytes, dùng để biểu diễn một số thực dấu phảy động.
S5T (hay S5TIME): khoảng thời gian được tính theo giờ/phút/giây.
TOD: biểu diễn giá trị thời gian tính theo giờ/phút/giây.
DATE: biểu diễn giá trị thời gian tính theo năm/tháng/ngày.
CHAR: biểu diễn một hoặc nhiều ký tự ( nhiều nhất là 4 ký tự)
Cấu trúc bộ nhớ của CPU
Bộ nhớ của S7-1200 được chia làm ba vùng chính
1. Vùng chứa chƣơng trình ứng dụng: Được chia thành 3 miền:
OB (Organisation block) : Miền chứa chương trình tổ chức.
FC (Function) :Miền chứa chương trình con được tổ chức thành hàm có biến
hình thức để trao đổi dữ liệu với chương trình gọi nó.
FB ( Function block): Miền chứa chương trình con, được tổ chức thành hàm
và có khả năng trao đổi dữ liệu với bất cứ một chương trình nào khác. Các dữ liệu này phải được xây dựng thành một khối dữ liệu riêng gọi là DB (Data block).
2. Vùng chứa tham sô của hệ điều hành và chƣơng trình ứng dụng: được phân
chia thành 7 miền khác nhau, bao gồm:
I (Process image input): Miền bộ đệm các dữ liệu cổng vào số. Trước khi bắt
đầu thực hiện chương trình, PLC sẽ đọc giá trị logic của tất cả các cổng đầu vào và cất giữ chúng trong vùng nhớ I. Thông thường chương trình ứng dụng không đọc trực tiếp trạng thái logic của cổng vào số mà chỉ lấy dữ liệu của cổng vào từ bộ đệm I.
Q (Proces image output): Miền bộ đệm các dữ liệu cổng ra số. Kết thúc giai
đoạn thực hiện chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số. Thông thường chương trình không trực tiếp gán giá trị tới tận cổng ra mà chỉ chuyển chúng vào bộ đệm Q.
M: Miền các biến cờ. Chương trình ứng dụng sử dụng vùng nhớ này để lưu
giữ các tham số cần thiết và có thể truy cập nó theo bit(M), bye(MB), từ(MW) hay từ kép (MD).
3. Vùng chứa các khối dữ liệu, được chia thành 2 loại:
DB (Data block):Miền chứa các dữ liệu được tổ chức thành khối. Kích thước
cũng như số lượng khối do người sử dụng quy định, phù hợp với từng bài toán điều khiển. Chương trình có thể truy nhập miền này theo từng bit (DBX), byte(DBB), từ (DBW) hoặc từ kép (DBD).
L ( Local data block ): Miền dữ liệu địa phương, được các khối chương trình
OB, FC, FB tổ chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức với những khối chương trình đã gọi nó. Nội dung của một số dữ liệu trong miền nhớ này sẽ bị xóa khi kết thúc chương trình tương ứng trong OB, FC, FB. Miền này có thể được truy nhập từ chương trình theo bit (L), byte(LB) từ (LW) hoặc từ kép (LD).
c) Vòng quét chƣơng trình
PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp được gọi là vòng quét (scan). Mỗi vòng quét được bắt đầu bằng giai đoạn chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện từ lệnh đầu tiên đến lệnh kết thúc của khối OB1 (Block End). Sau giai đoạn thực hiện chương trình là giai đoạn chuyển các nội dung của bộ đệm ảo Q tới các cổng ra số. Vòng quét được kết thúc bằng giai đoạn truyền thông nội bộ và kiểm lỗi.
Chú ý rằng bộ đệm I và Q không liên quan tới các cổng vào/ra tương tự nên các lệnh truy nhập cổng tương tự được thực hiện trực tiếp với cổng vật lý chứ không thông qua bộ đệm.
Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời gian vòng quét (Scan time). Thời gian vòng quét không cố định, tức là không phải vòng quét nào cũng được thực hiện trong một khoảng thời gian như nhau. Có vòng quét được thực hiện lâu, có vòng quét thực hiện nhanh tùy thuộc vào số lệnh trong chương trình được thực hiện, vào khối lượng dữ liệu được truyền thông... trong vòng quét đó.
Như vậy giữa việc đọc giữ liệu từ đối tượng để xử lý, tính toán và việc gửi tín hiệu điều khiển tới đối tượng có một khoảng thời gian trễ đúng bằng thời gian vòng quét. Nói cách khác, thời gian vòng quét quyết định tính thời gian thực của chương trình điều khiển trong PLC. Thời gian vòng quét càng ngắn, tính thời gian thực của chương trình càng cao.
Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ như khối OB40, OB80...chương trình các khối đó sẽ được thực hiện trong vòng quét khi xuất hiện tín hiệu báo ngắt cùng chủng loại. Các khối chương trình này có thể thực hiện tại mọi
thông và kiểm tra nội bộ, PLC sẽ tạm dừng công việc truyền thông, kiểm tra, để thực hiện khối chương trình tương ứng với tín hiệu báo ngắt đó. Với hình thức xử lý tín hiệu ngắt như vậy, thời gian vòng quét sẽ càng lớn khi càng có nhiều tín hiệu ngắt xuất hiện trong vòng quét. Do đó, để nâng cao tính thời gian thực cho chương trình điều khiển, tuyệt đối không nên viết chương trình xử lý ngắt quá dài hoặc quá lạm dụng việc sử dụng chế độ ngắt trong chương trình điều khiển.
Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trực tiếp với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 3 do hệ điều hành CPU quản lý. Một số module CPU, khi gặp lệnh vào/ra ngay lập tức, hệ thống sẽ cho dừng mọi công việc khác, ngay cả khi chương trình xử lý ngắt, để thực hiện lệnh trực tiếp với cổng vào/ra.
d) Cấu trúc chƣơng trình
Chương trình cho S7-1200 được lưu trong bộ nhớ của PLC ở vùng dành riêng cho chương trình và có thể được lập với hai dạng cấu trúc khác nhau:
1) Lập trình tuyến tính: Toàn bộ chương trình điều khiển nằm trong một khối trong
mội bộ nhớ. Loại hình cấu trúc tuyến tính này phù hợp với những bài toán tự động nhỏ, không phức tạp. Khối chương được chọn phải là khối OB1, là khối mà PLC luôn quét và thực hiện các lệnh trong nó thường xuyên, từ lệnh đầu tiên đến lệnh cuối cùng và quay lại lệnh đầu tiên.
Các khối OB khác nhau không tham gia vào vòng quét mà được gọi bằng những tín hiệu báo ngắt. S7-300 có nhiều loại tín hiệu báo ngắt như tín hiệu báo ngắt khi có sự cố chập mạch ở các module mở rộng, tín hiệu báo ngắt theo chu kỳ thời gian,... và mỗi loại tín hiệu báo ngắt như vậy cũng chỉ có khả năng gọi một loại khối OB nhất định. Ví dụ tín hiệu báo ngắt sự cố nguồn nuôi chỉ gọi khối OB81, tín hiệu báo ngắt truyền thông chỉ gọi khối OB87...
Mỗi khi xuất hiện một tín hiệu báo ngắt hệ thống sẽ tạm dừng công việc đang thực hiện lại, chẳng hạn như tạm dừng việc thực hiện chương trình trong khối OB1, và chuyển sang thực hiện chương trình xử lý ngắt trong các khối OB tương ứng. Ví dụ khi đang thực hiện OB1 mà xuất hiện tín hiệu báo ngắt sự cố truyền thông, hệ thống sẽ tạm dừng việc thực hiện OB1 lại để gọi và thực hiện chương trình trong khối OB87. Chỉ sau khi đã thực hiện xong chương trình OB87, hệ thống mới quay trở về thực hiện tiếp tục phần chương trình còn lại trong OB1.
2) Lập trình có cấu trúc: Chương trình được chia thành những phần nhỏ với từng
nhiệm vụ riêng và các phần này nằm trong những khối chương trình khác nhau. Loại hình cấu trúc này phù hợp với những bài toán điều khiển nhiều nhiệm vụ và phức tạp. PLC S7-300 có bốn loại khối cơ bản:
Hình 3-9: Lập trình cấu trúc.
- Loại khối OB ( Organization block): Khối tổ chức và quản lý chương trình diều khiển. Có nhiều loại khối OB với những chức năng khác nhau, chúng được phân biệt với nhau bằng một số nguyên đi sau nhóm ký tự OB, ví dụ như OB1, OB35, OB40, OB80...
- Loại khối FC(Program block): Khối chương trình với những chức năng riêng