Từ những nghiên cứu về các phương thức truyền thông được hỗ trợ trong các thiết bị logic khả trình (PLC) của Siemens, chúng tôi tập trung phát triển phương thức truyền thông trực tiếp giữa máy tính (PC) và PLC nhằm áp dụng trong các hệ thống điều khiển – giám sát trạm trộn bêtông theo chu kỳ dựa trên ngôn ngữ lập trình bậc cao.
Trang 1XÂY DỰNG PHƯƠNG THỨC TRUYỀN THÔNG TRỰC TIẾP GIỮA PC VÀ PLC ỨNG DỤNG
TRONG HỆ ĐIỀU KHIỂN – GIÁM SÁT TRẠM TRỘN BÊ TÔNG
Ngô Như Khoa1*
, Nguyễn Văn Huy2
1 Đại học Thái Nguyên, 2 Trường Đại học KTCN - Đại học Thái Nguyên
TÓM TẮT
Từ những nghiên cứu về các phương thức truyền thông được hỗ trợ trong các thiết bị logic khả trình (PLC) của Siemens, chúng tôi tập trung phát triển phương thức truyền thông trực tiếp giữa máy tính (PC) và PLC nhằm áp dụng trong các hệ thống điều khiển – giám sát trạm trộn bêtông theo chu kỳ dựa trên ngôn ngữ lập trình bậc cao Các nội dung chính cũng được đề cập đến trong bài báo này là: Kỹ thuật truy nhập trực tiếp bộ nhớ của PLC; cấu trúc gói dữ liệu tương ứng với thông tin truyền và các thuật toán truyền thông Tính đúng đắn và độ tin cậy của thuật toán được khẳng định thông qua phần mềm điều khiển – giám sát đã được xây dựng và chạy thử nghiệm trên hệ thống thực
Từ khóa:Truyền thông với PLC, điều khiển-giám sát PLC, PLCS7-200, điều khiển trạm trộn
bê tông
*1 GIỚI THIỆU
Các hệ thống trạm trộn bêtông tự động đã
được sản xuất và sử dụng ở mức phổ biến
trong các lĩnh vực xây dựng công nghiệp và
dân dụng ở hầu hết các nước trên thế giới
cũng như trong nước Nguyên lý chung của
các hệ thống này là: dùng bộ điều khiển Logic
khả trình làm thiết bị điều khiển trung tâm
(cân định lượng các thành phần phối liệu,
ximăng, nước và chất phụ gia; điều khiển các
cửa xả phối liệu, hoạt động vận chuyển phối
liệu, nạp phối liệu, trộn và xả bêtông); còn
nhiệm vụ giám sát hệ thống và quản lý vật
tư, sản phẩm do phần mềm trên máy tính
đảm nhiệm
Vấn đề nghiên cứu thiết kế và chế tạo trạm
trộn bêtông nói riêng và hệ thống điều khiển
tự động nói chung, đã thu hút được nhiều sự
quan tâm của các nhà khoa học trong nước
[2, 3] cũng như đã được nhiều công ty hoạt
động trong lĩnh vực cơ khí - tự động hóa
trong nước nghiên cứu, chế tạo và thương
mại hóa [3, 4, 5, 6]
Để xây dựng phần mềm điều khiển – giám
sát hệ thống theo thời gian thực khi PLC
* Ngô Như Khoa, Tel: +84 963887888 ,
Email: khoa.ngonhu@gmail.com
đang thực thi chương trình, cần phải dựa trên việc truy xuất vào bộ nhớ của PLC từ máy tính Có 2 phương pháp truy xuất vào bộ nhớ của PLC từ máy tính:
Giao tiếp với hệ điều hành của PLC Phương
pháp này sử dụng các công cụ đã được dựng sẵn bởi nhà sản xuất, trong mỗi mã lệnh chỉ
rõ thao tác tác động vào một ô nhớ cụ thể trong PLC Phương pháp này đơn giản về mặt lập trình, vì sử dụng các mã lệnh thân thiện, hoặc thông qua các chương trình chuyên dụng giao tiếp với PLC như WINCC, LABVIEW, OPCServer… Người sử dụng chỉ cần chỉ ra vị trí muốn thao tác, công việc còn lại do phần mềm xử lý Nhược điểm của phương pháp này là chi phí cao để mua bản quyền của các nhà phát triển phần mềm giao tiếp (giá tham khảo [7], phần mềm WinCC V6.0 RC 128K TAGSR Siemens bán giá 2.400$; WinCC V6.2 giá bán tới 12.251 USD, vv)
Giao tiếp thông qua truyền thông dữ liệu qua cổng truyền thông Phương pháp truy xuất
này chi phí thấp vì nó sử dụng các lệnh của các ngôn ngữ lập trình thông dụng để thao tác dữ liệu và truyền thông giữa PLC và PC Tuy nhiên phương pháp này phức tạp trong việc lập trình, vì người dùng phải xây dựng
Trang 2một giao thức truyền thông, kiểm soát lỗi
truyền thông Phải trực tiếp kiểm soát các
lệnh truyền thông từ PLC lên PC và ngược
lại Để truyền thông từ PC xuống PLC ta có
thể dùng bất kỳ ngôn ngữ lập trình nào hỗ trợ
truy xuất RS-232 như Visual Basic, Delphi,
C++,…
Hiện tại, các phần mềm điều khiển – giám sát
trạm trộn trong nước đều sử dụng phương
pháp thứ nhất, tức là được viết trên nền của
phần mềm bản quyền của hãng SIEMENS,
chủ yếu là phần mềm WINCC Do vậy, việc
xây dựng được phương thức truyền thông
với PLC bằng các ngôn ngữ lập trình thông
dụng, phục vụ cho việc phát triển các phần
mềm giám sát và quản lý hệ thống trạm trộn
bêtông là mục tiêu chính được đặt ra trong
nghiên cứu này và có thể khẳng định rằng
đây là vấn đề có ý nghĩa khoa học và thực
tiễn
2 KỸ THUẬT LẬP TRÌNH TRUY XUẤT BỘ
NHỚ PLC S7-200
2.1 Xây dựng cấu trúc gói dữ liệu điều khiển và thông tin giám sát:
Các thông tin cần thiết được truyền thông giữa PC và PLC trong quá trình điều khiển – giám sát trạm trộn bao gồm: (i) PC phải gửi thông tin về phối liệu bêtông của mẻ trộn cho PLC; (ii) PC gửi các số thông tin điều khiển
hệ thống cho PLC; (iii) PLC gửi thông tin cập nhật về trạng thái toàn hệ thống cho PC phục
vụ công tác giám sát Như vậy, sẽ cần xây dựng 3 cấu trúc gói dữ liệu Cụ thể như sau:
a Cấu trúc gói tin tham số hoạt động cho PLC (Frame1)
Frame1 chứa thông tin phối liệu của mác bêtông Khi bắt đầu mỗi mẻ trộn, PC tính toán phối liệu dựa trên mác bêtông yêu cầu
và toàn bộ thông tin về phối liệu bêtông, số lần trộn được đóng gói vào Frame1 để gửi xuống PLC Frame1 được thiết kế có kích thước 20 byte, trong đó 2 Byte đầu có giá trị
65535, mỗi từ kế tiếp có một ý nghĩa nhất định (Bảng 1)
Bảng 1 Cấu trúc của Frame1 - dữ liệu phối liệu truyền từ PC đến PLC
Trường Start Số
khối Nước
Xi măng
Phụ
Mã
mẻ
Bảng 2 Cấu trúc của Frame2 - thông tin điều khiển truyển từ PC đến PLC
Kích thước 2 byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
b Cấu trúc gói tin điều khiển trạng thái hoạt
động của PLC (Frame2)
Frame2 chứa thông tin điều khiển từ PC cho
PLC Frame2 được thiết kế có kích thước 30
byte, trong đó 2 Byte đầu có giá trị 65534,
mỗi bit của byte thứ 3 có một ý nghĩa nhất
định (Bảng 2)
Khi người dùng điều khiển hệ thống
(chạy/dừng) thông qua phần mềm, thì Frame
2 sẽ được cập nhập và truyền xuống PLC
c Cấu trúc gói tin phục vụ cho mục đích giám sát của PC (Frame3)
Để thực hiện việc giám sát hệ thống, cần có 2 nhóm thông ti n cần được giám sát:
Một là: Dữ liệu cân, chính là thông tin về giá
trị cân hiện thời của hệ thống, mục đích là phần mềm có thể kiểm soát được quá trình cân liệu tại từng mẻ trộn
Hai là: Dữ liệu logic, bao gồm các đầu vào/ra
logic của hệ thống (bật/tắt động cơ, công tắc hành trình, trạng thái hoạt động của các động
cơ, …)
Trang 3Cả 2 loại thông tin này sẽ được đóng gói vào
Frame3 truyền từ PLC đến PC một các
thường xuyên theo thời gian thực Frame3
được thiết kế có kích thước 23 byte, mỗi từ
trong 9 từ kế tiếp nhau có một ý nghĩa nhất định liên quan đến thông số trộn, 5 byte cuối phục vụ các thông tin về trạng thái hệ thống (Bảng 3)
Bảng 3 Cấu trúc của Frame3 - dữ liệu giám sát gửi từ PLC đến PC
Trường Mã
mẻ
Số mẻ còn lại Nước
Xi măng
Phụ gia TP1 TP2 TP3 TP4
Dự trữ
Thông tin đầu ra
Thông tin đầu vào
Kích
thước
2B 2B 2B 2B 2B 2B 2B 2B 2B 1B 1B 1B 1B 1B
2.2 Cấu hình và lập trình truyền thông
giữa PLC và PC
Cổng truyền thông trên PLC-S7 200 theo
chuẩn RS-485 cho phép nhiều thiết bị có thể
cùng kết nối trên nó tạo thành một mạng
truyền thông PLC cũng được kết nối tới máy
tính bằng giao tiếp này Tuy nhiên trên PC
cổng truyền thông sử dụng là chuẩn RS-232,
vì thế để kết nối được với PLC (RS-485) cần
có một cable chuyển đổi là PC/PPI calbe
Mỗi một cổng RS-485 trên CPU 200 thông
thường hỗ trợ 3 giao thức truyền thông [1]: (i)
Multiple-master PPI protocol; (ii)
Single-master PPI protocol và (iii) Freeport
Trong nghiên cứu này, chúng tôi sử dụng
giao thức Freeport để thực hiện truyền thông
giữa module giao diện được xây dựng trên
Visual Basic với PLC CPU 226 Đây là giao thức duy nhất cho phép người sử dụng tự cấu hình giao thức truyền (ví dụ như tốc độ truyền thông, định dạng Frame dữ liệu cần truyền, định dạng byte truyền, …)
a Khởi tạo cho PLC trong mode freeport để giao tiếp với PC [1]
Thiết lập chế độ làm việc cho cổng giao tiếp:
Có thể sử dụng 2 cổng Port 0 và Port 1 trên CPU226 phục vụ cho truyền thông giữa PLC
và PC Thiết lập chế độ làm cho 2 cổng này qua 2 byte cấu hình SMB30 và SMB130 tương ứng với mỗi cổng Mỗi một bit trong Byte cấu hình cài đặt một chức năng hoạt động cho cổng Chi tiết các bít được cho tại bảng 4
Bảng 4 Thanh ghi điều khiển chế độ freeport
format
SMB30.7
SMB130.6-SMB130.7
Trang 4SMB30.2
SMB130.2
SMB30.1
mode
SMB130.1
mode
mode
Thanh ghi xác nhận trạng thái truyền thông:
Điều khiển truyền nhận dữ liệu và giám sát
các trạng thái trong khi truyền thông Byte
trạng thái SMB86/SMB186 tương ứng với
mỗi cổng như Bảng 5
a Lập trình truyền thông trên PLC
PLC cần thường xuyên truyền gói tin
Frame3 có cấu trúc như đã mô tả trong
phần trên, lên PC theo yêu cầu giám sát
quá trình của trạm trộn
- Cách thức truyền: Sử dụng lệnh XMT
- Cách thức nhận: Mã lệnh nhận dữ liệu từ
cổng truyền thông khi có dữ liệu là RCV Tuy
nhiên không thể dụng được lệnh này, vì khi enable RCV thì lệnh này sẽ chiếm dụng đường truyền cho tới khi nó nhận đủ xâu truyền Do đó sẽ không chủ động được thời điểm truyền dữ liệu từ PC xuống PLC Trong nghiên cứu này, chúng tôi đề xuất sử dụng một Byte đặc biệt trên PLC, cứ mỗi khi cổng truyền thông nhận được một ký tự thì nó sẽ chuyển vào byte này và sinh ra một ngắt Ta
sẽ sử dụng ngắt ngắt này để nhận dữ liệu từ
PC gửi xuống mà không hề chiếm dụng đường truyền Vị trí byte là: SMB2 cho port_0
và SMB3 cho port_1 ; số hiệu ngắt : 8
Bảng 5 Thanh ghi trạng thái
Ký hiệu
Địa chỉ vật lý
bit format
Byte trạng thái quá trình nhận dữ liệu Port 0 Port 1
P0_stat_Rcv SMB86
P0_stat_Rcv_
n: 1
Cho phép nhận dữ liệu, kết thúc nhận bởi lệnh Disable
P1_stat_Rcv_
P0_stat_Rcv_
lỗi trong byte truyền hoặc thiếu
Trang 5Start/End
P0_stat_Rcv_
e: 1 Báo nhận ký tự kết thúc
P1_stat_Rcv_
P0_stat_Rcv_
Kết thúc nhận dữ liệu
do Timeout
P1_stat_Rcv_
P0_stat_Rcv_
Kết thúc nhận do
đã nhận đủ
P1_stat_Rcv_
P0_stat_Rcv_
Kết thúc nhận
do có lỗi Parity
P1_stat_Rcv_
3 THUẬT TOÁN TRUYỀN THÔNG GIỮA
PLC VÀ PC
Thuật toán nhận dữ liệu cho PLC từ PC được
mô tả như Hình 1
4 KẾT LUẬN
Với mục đích xây dựng phương thức truyền
thông giữa PC và PLC bằng ngôn ngữ lập
trình thông dụng áp dụng cho vấn đề lập trình
điều khiển, giám sát trạm trộn bêtông, chúng
tôi đã trình bày cách thiết lập cấu hình, đề
xuất phương thức lập trình truyền thông giữa
PC và PLC họ S7-200, đồng thời cũng đã xây
dựng cấu trúc các gói dữ liệu và thuật toán
truyền thông tương ứng Từ các kết quả này,
nhóm nghiên cứu đã hoàn thành việc xây
dựng phần mềm điều khiển – giám sát trạm
trộn bêtông bằng ngôn ngữ Visual Basic,
phương thức truyền thông cũng như phần
mềm được phát triển trong nghiên cứu này
đã khắc phục những hạn chế về mặt bản quyền như đã đề cập trong phần đầu của báo cáo
TÀI LIỆU THAM KHẢO [1] SIEMENS S7-200 Programmable Controller, 1998
[2] Hoàng Việt Hồng Ứng dụng cơ điện tử
trong nghiên cứu, chế tạo trạm trộn bêtông tự động và bơm bêtông của Viện Máy và Dụng
http://cdtvn.net/index.php?option=com_conte nt&view=article&id=1489:mechatronics-apply&catid=64:magazine&Itemid=287 [3] http://www.techmartvietnam.vn/news/inter nally/200603272714844594/ tmnews_view [4] http://www.dost.hanoi.gov.vn/PrintPrevie w.aspx?ID=1454
[5] http:// www.hoangthinh.com.vn [6] http://www.techmartvietnam.vn/Members/ VNCDTTHTDH/200503231481876848.http:// plccenter.com/buy/SIEMENS
Trang 7SUMMARY
BUILDING MODE OF DIRECT COMMUNICATION BETWEEN PC AND PLC TO APPLY IN
CONTROLLER AND MONITOR SYSTEM OF CONCRETE BATCH PLAN
1 Thai Nguyen University, 2 University of Technology, Thai Nguyen University
Based on the study in modes of communication are supported by SIEMENS’s Programmable Logic Controller (PLC), we focused to develop a mode of direct communication between PC and PLC to apply in controller and monitor systems of concrete batch mixer by using well-known programming language In this paper, PLC’s memory direct access technology, construct of data packets and communication algorithms are major contents was present In addition, the truth of the communication algorithm are tested by control -monitor software on real system, which was developed based on this algorithm
Keywords: Communication with PLC, PLC control-monitor, PLC S7-200, Concrete plan control