Tải bản đầy đủ (.doc) (46 trang)

Xây dựng module truyền thông kết nối giữa PLC và Arduino

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.83 MB, 46 trang )

MỤC LỤC
LỜI MỞ ĐẦU...............................................................................................................4
CHƯƠNG 1: GIỚI THIỆU CHUNG TRUYỀN THÔNG.............................................5
1. Tổng quan về truyền thông.....................................................................................5
1.1. Mạng truyền thông công nghiệp là gì?..............................................................5
1.2.Vai trò của mạng truyền thông công nghiệp.......................................................6
1.3. Chế độ truyền tải của mạng truyền thông công nghiệp.....................................7
1.3.1. Chế độ truyền tải song song...........................................................................7
1.3.2. Truyền bit nối tiếp..........................................................................................7
1.3. Truyền thông của PLC......................................................................................8
1.4. Truyền thông giữa PLC và PC........................................................................10
1.4.1. Kết nối truyền thông phần cứng...................................................................11
1.4.2. Cấu hình các thiết bị.....................................................................................11
1.4.3. Gán các địa chỉ IP (Internet Protocol)..........................................................12
1.5 Giao tiếp giữa PLC và PLC.............................................................................14
1.5.1Cấu hình kết nối mạng logic giữa hai CPU....................................................15
1.5.2 Cấu hình các thông số truyền (phát) và nhận................................................16
1.5.3 Cấu hình các thông số truyền (gửi) của lệnh TSEND_C...............................16
1.6 Giao thức điều khiển truyền dữ liệu (TCP)......................................................18
1.7 Nêu bài toán và lựa chọn giải pháp..................................................................20
1.8 Kết luận chương 1............................................................................................20
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...........................................................................21
2.1 Giới thiệu về Arduino.........................................................................................21
2.2. Giới thiệu về PLC S7-1200................................................................................24
2.3. Giới thiệu về Arduino ethernet shield................................................................28
2.4 Kết luận chương 2...............................................................................................29
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ KẾT QUẢ ĐẠT ĐƯỢC..........................30
3.1 Sơ đồ khối...........................................................................................................30
3.2 Phân tích và thiết kế hệ thống.............................................................................31
3.3 Lưu đồ thuật toán................................................................................................31
1




3.4 Các bước cấu hình địa chỉ ip cho Arduino..........................................................34
3.5 Các bước cấu hình địa chỉ ip cho PLC................................................................40
3.6 Kết luận chương 3...............................................................................................43
KẾT LUẬN.................................................................................................................44
DANH MỤC TÀI LIỆU THAM KHẢO.....................................................................45

2


DANH MỤC HÌNH VẼ
Hình 1.1 Nối dây truyền thông(a) và nối mạng công ngiệp(b).......................................6
Hình 1.2 Truyền bit song song.......................................................................................7
Hình 1.3 Truyền bít nối tiếp...........................................................................................8
Hình 1.4 Bộ chuyển đổi bus song song và nối tiếp........................................................8
Hình 1.5 Cổng Ethernet...............................................................................................11
Hình 2.1: Arduino Uno R3...........................................................................................21
Hình 2.2: PLC S7-1200...............................................................................................24
Hình 2.3: Arduino Thernet Shield................................................................................28
Hình 3.1 Sơ đồ khối của hệ thống................................................................................30
Hình 3.2 Sơ đồ nguyên lý của hệ thống.......................................................................31

3


LỜI MỞ ĐẦU
Ngày nay tự động hóa đang phát triển mạnh mẽ giúp con người làm việc nhẹ
nhàng hơn, tự động hóa là việc sử dụng nhiều hệ thống điều khiển cho các thiết bị hoạt
động như máy móc, xử lý tại các nhà máy, nồi hơi, lò xử lý nhiệt, chuyển mạch trong

mạng điện thoại, chỉ đạo và ổn định của tàu, máy bay và các ứng dụng khác với con
người can thiệp tối thiểu hoặc giảm. Một số quy trình đã được hoàn toàn tự động.
Sự xuất hiện của các loại vi điều khiển đem lại lợi ích rất lớn cho tự động hóa là
nó tiết kiệm lao động, và nó cũng được sử dụng để tiết kiệm năng lượng và nguyên vật
liệu cũng như nâng cao chất lượng với độ chính xác cực kì cao. Đặc biệt trong số đó
phải nói đến PLC, nó được sử dụng rộng rãi trong các nhà máy hiện nay.
Tuy nhiên số đầu tín hiệu analog trên PLC còn ít nên việc điều khiển các bài
toán về tín hiệu analog còn gặp nhiều khó khăn, trên thực tế để có thể điều khiển các
bài toán như vậy người ta sử dụng module kết nối truyền thông cho PLC nhưng giá
thành rất đắt cho nên việc thực hiện đề tài: “Xây dựng module truyền thông kết nối
giữa PLC và Arduino” Giúp cho sinh viên có thêm được nhiều hiểu biết cũng như
thực hiện đề này.

4


CHƯƠNG 1: GIỚI THIỆU CHUNG TRUYỀN THÔNG
1. Tổng quan về truyền thông
1.1. Mạng truyền thông công nghiệp là gì?
Mạng truyền thông công nghiệp hay mạng công nghiệp hay mạng công nghiệp
là một khái niệm chung chỉ các hệ thống thông số, truyền bít nối tiếp, được sử dụng để
ghép nối các thiết bị công nghiệp. Các hệ thống mạng truyền thông công nghiệp phổ
biến hiện nay cho phép liên kết mạng ở nhiều mức khác nhau, từ các cảm biến, thiết bị
quan sát, máy tính điều khiển giám sát và các máy tính cấp điều hành xí nghiệp, quản
lý công ty.
Để thấy rõ đề cập của lĩnh vực truyền thông công nghiệp, ta cần phân biệt với
các hệ thống mạng viễn thông và mạng máy tính. Về cơ sở kỹ thuật, mạng công
nghiệp và các hệ thống mạng viễn thông có rất nhiều điểm tương đồng, tuy nhiên có
những điểm khác biệt sau:
+ Mạng viễn thông có phạm vi địa lý và số lượng thành viên tham gia lớn hơn

rất nhiều, nên các yêu cầu kỹ thuật ( cấu trúc mạng, tốc độ truyền thông, tính năng thời
gian thực …) rất khác, cũng như các phương pháp truyền thông( truyền tải dải rộng)
dải cơ sở, điều biến, dồn kênh, chuyển mạch,..) thường phức tạp hơn nhiều so với
mạng công nghiệp.
+ Đối tượng của mạng viễn thông bao gồm cả con người và thiết bị kỹ thuật,
trong đó cong người đóng vai trò chủ yếu. Vì vậy các dạng thông tin cần trao đổi bao
gồm cả tiếng nói, hình ảnh, văn bản và dư liệu. Đối tượng của mạng công nghiệp thuần
túy là các thiết bị công nghiệp nên dạng thông tin quan tâm duy nhất là dữ liệu.
Mạng truyền thông công nghiệp thực chất là một dạng đặc biệt của mạng máy
tính, có thể so sánh với mạng máy tính thông thường ở các điểm giống nhau và khác
nhau như sau:
+ Kỹ thuật truyền thông số hay truyền dữ liệu là đặc trưng chung của 2 lĩnh vực
+ Trong nhiều trường hợp, mạng máy tính sử dụng trong công nghiệp được coi
là một phần( ở các cấp điều khiển giám sát, điều hành sản xuất và quản lý công ty)
trong mô hình phân cáp của mạng công nghiệp.

5


+ Yêu cầu về tính năng thời gian thực, độ tin cậy và khả năng tương thích trong
môi trường công nghiệp của mạng truyền thông công nghiệp cao hơn so với một mạng
máy tính thông thường, trong khi đó mạng máy tính thường yêu cầu cao hơn về độ bảo
mật.
+ Mạng máy tính có phạm vi trải rộng rất khác nhau có thể nhỏ như mạng Lan
cho một nóm vài máy tính hoặc lớn như mạng Internet. Trong nhiều trường hợp mạng
máy tính gián tiếp sử dụng dịch vụ truyền dữ liệu của mạng viễn thông. Trong khi đó,
cho đến nay các hệ thống mạng công nghiệp thường có tính chất độc lập, phạm vi hoạt
động tương đối hẹp.
Đối với hệ thống truyền thông công nghiệp, đặc biệt là ở các cấp dưới thì các
yêu cầu về tính năng thời gian thực, khả năng thực hiện đơn giản, giá thành hạ lại được

đặt ra hàng đầu.
1.2.Vai trò của mạng truyền thông công nghiệp
Ghép nối thiết bị, trao đổi thông tin là một trong những vấn đề cơ bản trong bất
cứ một giải pháp tự động hóa nào. Một bộ điều khiển cần được kết nối với cảm biến và
cơ cấu chấp hành. Giữa các hộ điều khiển trong hệ thống điều khiển phân tán cũng cần
trao đổi thông tin với nhau để phối hợp thực hiện điều khiển cả quá trình sản xuất. Ở
một cấp cao hơn, các trạm vận hành trong trung tâm điều khiển cũng cần được ghép
nối và giao tiếp với các bộ điều khiển để theo dõi, giám sát toàn bộ quá trình sản xuất
và hệ thống điều khiển.

Hình 1.1 Nối dây truyền thông(a) và nối mạng công ngiệp(b)
Sử dụng mạng truyền thông công nghiệp, đặc biệt là bus trường để thay thế
cách nối điểm-điểm cổ điển giữa các thiết bị công nghiệp mang lại những lợi ích sau:
+ Đơn giản hóa cấu trúc liên kết giữa các thiết bị công nghiệp.
6


+ Tiết kiệm dây nối và công thiết kế, lắp đặt hệ thống trở nên dế dàng hơn.
+ Nâng cao độ tin cậy và độ chính xác của thông tin.
+ Nâng cao độ linh hoạt, tính năng mở của hệ thống.
+ Đơn giản hóa, tiện lợi hóa việc tham số hóa chuẩn đoán, định vị lỗi, sự cố
của các thiết bị.
+ Mở ra nhiều chức năng và khả năng ứng dụng mới của hệ thống: Điều
khiển phân tán, điều khiển phân tán với các thiết bị trường, điều khiển giám sát hoặc
chuẩn đoán lỗi từ xa qua Internet, tích hợp thông tin của hệ thống điều khiển giám sát
với thông tin điều hành sản xuất và quản lý công ty.
1.3. Chế độ truyền tải của mạng truyền thông công nghiệp
1.3.1. Chế độ truyền tải song song
Phương pháp truyền bít song song ( hình 1.2) được dùng phổ biến trong các bus
nội bộ của máy tính như bus địa chỉ, bus dữ liệu và bus điều khiển. Tốc độ truyền tải

phụ thuộc vào số kênh dẫn, hay cũng chính là độ rộng của bus song song, ví dụ 8 bit, 6
bit, 32 bit hay 64 bit. Chính vì nhiều bus được truyền đi đồng thời, vấn đề đồng bộ hóa
và nơi nhận tín hiệu phải được giải quyết. Điều này gây trở ngại lớn khi khoảng cách
giữa các đối tượng truyền thông tăng lên. Ngoài ra giá thành cho các bus song song
cũng là một yếu tố dẫn đến phạm vi ứng dụng của các phương pháp này chỉ hạn chế ở
khoảng cách nhỏ, có yêu cầu rất cao về tốc độ truyền.

Hình 1.2 Truyền bit song song
1.3.2. Truyền bit nối tiếp
Với phương pháp truyền bit nối tiếp, từng bước được chuyển đi một cách tuần
tự qua một đường truyền duy nhất( hình 1.3).

7


Hình 1.3 Truyền bít nối tiếp
Tuy tốc độ bít vì thế bị hạn chế, nhưng cách thực hiện lại đơn giản, độ tin cậy
của dữ liệu cao. Tất cả các mạng truyền thông công nghiệp đều sử dụng phương pháp
tryền này.
Một mạng tryền thông công nghiệp có nhiệm vụ kết nối các thiết bị kỹ thuật có
khả năng xử lý thông tin hay nói cách khác là xử lý dữ liệu. Những thiết bị đó dù tồn
tại dưới dạng này hay dạng khác cũng đều là những máy tính, có bộ vi xử lý và hệ
thống bus nội bộ song song. Vì vậy, để có thể dùng phương pháp truyền nối tiếp, ta
cần trọn các bộ chuyển đổi giữa bus song song và nối tiếp, như được minh họa trên
hình 1.4

Hình 1.4 Bộ chuyển đổi bus song song và nối tiếp
1.3. Truyền thông của PLC
CPU S7-1200 có một cổng PROFINET được tích hợp, hỗ trợ cả tiêu chuẩn
truyền thông Ethernet và dựa trên TCP/IP. Các giao thức ứng dụng sau đây được hỗ


8


trợ bởi CPU S7-1200:
 Giao thức điều khiển vận chuyển (Transport Control Protocol – TCP)
 ISO trên TCP (RFC 1006)
CPU S7-1200 có thể giao tiếp với các CPU S7-1200 khác, với thiết bị lập trình
STEP 7 Basic, với các thiết bị HMI, và với các thiết bị không phải của Siemens bằng
cách sử dụng các giao thức truyền thông TCP tiêu chuẩn. Có hai cách để giao tiếp sử
dụng PROFINET:
 Kết nối trực tiếp: sử dụng kết nối trực tiếp khi ta đang sử dụng một thiết bị
lập trình, HMI hay một CPU khác được kết nối đến một CPU riêng lẻ.
 Kết nối mạng: sử dụng các truyền thông mạng khi ta đang kết nối với hơn
hai thiết bị (ví dụ các CPU, HMI, các thiết bị lập trình, và các thiết bị không
phải của Siemens).
Kết nối trực tiếp: thiết bị lập trình
được kết nối đến CPU S7-1200

Kết nối trực tiếp: HMI được kết nối
đến CPU S7-1200

Kết nối trực tiếp: một CPU S7-1200
được kết nối đến một CPU S7-1200
khác
Kết nối mạng: có
nhiều hơn 2 thiết bị
được kết nối với
nhau, bằng cách sử
dụng một bộ chuyển

mạchEthernet
CSM1277 

9


Một bộ chuyển mạch Ethernet là không cần thiết đối với một kết nối trực tiếp
giữa một thiết bị lập trình hay HMI với một CPU. Bộ chuyển mạch Ethernet chỉ
được yêu cầu cho một mạng với nhiều hơn 2 CPU hay các thiết bị HMI. Bộ chuyển
mạch Ethernet 4 cổng CSM1277 của Siemens có thể được dùng để kết nối các CPU
và các thiết bị HMI. Cổng PROFINET trên CPU S7-1200 không chứa một thiết bị
chuyển mạch Ethernet.
Số lượng tối đa các kết nối đối với cổng PROFINET
Cổng PROFINET trên CPU hỗ trợ các kết nối truyền thông đồng thời sau đây:
 3 kết nối đối với truyền thông HMI đến CPU
 1 kết nối đối với truyền thông thiết bị lập trình (PG) đến CPU
 8 kết nối đối với truyền thông chương trình S7-1200 bằng cách sử dụng các
lệnh khối T (TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV)
 3 kết nối đối với một CPU S7-1200 thụ động giao tiếp với một CPU S7 tích cực
-

CPU S7 tích cực sử dụng các lệnh GET và PUT (S7-300 và S7-400) hay các
lệnh ETHx_XFER (S7-200).

-

Một kết nối truyền thông S7-1200 tích cực chỉ có thể thực hiện với các lệnh
khối T.

Các TSAP bị hạn chế hay các số hiệu cổng đối với truyền thông ISO và TCP tích cực

Nếu ta sử dụng lệnh “TCON” để thiết lập và tạo thành một kết nối truyền
thông tích cực, các địa chỉ cổng sau đây bị hạn chế và không nên được dùng:
 TSAP ISO (tích cực): 01.00, 01.01, 02.00, 02.01, 03.00, 03.01
 Cổng TCP (tích cực): 5001, 102, 123, 20, 21, 25, 34962, 34963, 34964, 80
1.4. Truyền thông giữa PLC và PC
Một CPU có thể giao tiếp với một thiết bị lập trình STEP 7 Basic trên một mạng.
Cần chú ý đến những điều
sau khi thiết lập truyền thông giữa
một CPU và một thiết bị lập trình.

10


 Cấu hình/thiết lập: cấu hình phần cứng được yêu cầu
 Không có một bộ chuyển mạch Ethernet nào được yêu cầu đối với truyền
thông một đối một; một bộ chuyển mạch Ethernet được yêu cầu cho nhiều
hơn hai thiết bị trong một mạng.
1.4.1. Kết nối truyền thông phần cứng.
Các giao diện PROFINET thành lập các kết nối vật lý giữa một thiết bị lập
trình và một CPU. Bởi vì chức năng Auto-Cross-Over được tích hợp bên trong CPU,
một cáp Ethernet tiêu chuẩn hoặc xuyên chéo có thể được sử dụng cho giao diện.
Một bộ chuyển mạch Ethernet không được yêu cầu để kết nối một thiết bị lập trình
một cách trực tiếp đến một CPU.
Thực hiện theo các bước sau đây để tạo ra kết nối phần cứng giữa thiết bị lập
trình và một CPU:
1. Lắp đặt CPU.
2. Cắm cáp Ethernet vào trong cổng PROFINET được thể hiện dưới đây.
3. Kết nối cáp Ethernet đến thiết bị lập trình.

 Cổng PROFINET

Hình 1.5 Cổng Ethernet
Một đầu thay thế kéo căng tùy chọn thì có sẵn để kéo dài kết nối PROFINET.
1.4.2. Cấu hình các thiết bị.
Nếu ta đã vừa tạo ra một đề án với một CPU, hãy mở đề án trong TIA Portal.
Nếu không, tạo ra một đề án và lắp đặt một CPU vào thanh dẫn. Trong đề án
11


dưới đây, một CPU được hiển thị trong mục “Device View” của TIA Portal.

1.4.3. Gán các địa chỉ IP (Internet Protocol)
1.4.3.1. Gán các địa chỉ IP đến các thiết bị lập trình và các thiết bị mạng
Nếu thiết bị lập trình đang sử dụng một mạch giao tiếp tích hợp được kết nối
đến mạng LAN của nhà máy (và world-wide web là có sẵn), Network ID của địa chỉ IP
và màn chắn mạng con của CPU và mạch giao tiếp tích hợp của thiết bị lập trình phải
giống nhau một cách chính xác. Network ID là phần đầu tiên của địa chỉ IP (ba nhóm
8 bit đầu tiên) (ví dụ 211.154.184.16) xác định mạng IP nào mà ta đang kết nối. Màn
chắn mạng con thường có một giá trị là 255.255.255.0; tuy nhiên, vì máy tính của ta
đang ở trên một mạng LAN của nhà máy, màn chắn mạng con có thể có các giá trị
khác nhau (ví dụ 255.255.255.0) nhằm mục đích thiết lập các mạng con đồng nhất.
Màn chắn mạng con, khi được kết nối với địa chỉ IP trong phép toán AND
thuộc về toán học, sẽ xác định các giới hạn của một mạng con IP.
Trong một chuỗi sự kiện world-wide web, nơi mà các thiết bị lập trình, các thiết
bị mạng và các bộ định tuyến (router) IP sẽ giao tiếp với toàn thế giới, các địa chỉ IP
đơn nhất phải được gán để tránh sự xung đột với các người dùng mạng khác. Để gán
các địa chỉ IP ta nên liên hệ với nhân sự tại phòng IT trong công ty.
Nếu thiết bị lập trình đang sử dụng một mạch giao tiếp Etherner – USB được
kết nối đến một mạng bị cô lập, Network ID của địa chỉ IP và màn chắn mạng con của
CPU và của mạch giao tiếp Etherner – USB trong thiết bị lập trình phải giống nhau
một cách chính xác. Network ID là phần đầu tiên của địa chỉ IP (ba nhóm 8 bit đầu

tiên) (ví dụ 211.154.184.16) xác định mạng IP nào mà ta đang kết nối. Màn chắn mạng
con thường có một giá trị là 255.255.255.0. Màn chắn mạng con, khi được kết nối với
địa chỉ IP trong một phép toán AND thuộc về toán học, sẽ xác định các giới hạn của IP
12


Một mạch giao tiếp Ethernet – USB là hữu ích khi ta không cần CPU nằm trên
mạng LAN của công ty. Trong suốt các kiểm tra kiểm chứng hay thử nghiệm ban đầu,
sự bố trí này là đặc biệt hữu ích.
Mạch giao

Kiểu

tiếp thiết bị

mạng

Địa chỉ IP

lập trình

Màn chắn mạng con

Network ID của CPU Màn chắn mạng con của CPU và mạch giao
và của mạch giao tiếp tiếp tích hợp phải giống nhau một cách chính
Được kết

trong thiết bị lập trình xác.

đến phải giống nhau một Màn chắn mạng con thường có một giá trị là

cách chính xác.
255.255.255.0; tuy nhiên, vì máy tính của ta
mạng
LAN của Network ID là phần đang ở trên một mạng LAN của nhà máy,
nối

nhà

máy đầu tiên của địa chỉ IP màn chắn mạng con có thể có các giá trị khác
(ba nhóm 8 bit đầu nhau (ví dụ 255.255.254.0) nhằm mục đích

giao (và
tiếp tích hợp worldMạch

tiên)

(ví

dụ thiết lập các mạng con đồng nhất. Màn chắn

wide web

211.154.184.16)

xác

mạng con, khi được kết nối với địa chỉ IP

là có sẵn)


định mạng IP nào mà

trong phép toán AND thuộc về toán học, sẽ

ta đang kết nối.

xác định các giới hạn của một mạng con IP.

Network ID của CPU
và của mạch giao tiếp
Ethernet-USB

trong

thiết bị lập trình phải
giống nhau một cách

tiếp tích hợp phải giống nhau một cách chính

chính xác.
Network ID là phần
Mạch

giao Được kết

tiếp

nối

đến


Ethernet-

một mạng

USB

bị cô lập

đầu tiên của địa chỉ IP
(ba nhóm 8 bit đầu
tiên)

Màn chắn mạng con của CPU và mạch giao

(ví

211.154.184.16)

dụ
xác

định mạng IP nào mà
ta đang kết nối.

13

xác.
Màn chắn mạng con thường có một giá trị là
255.255.255.0. Màn chắn mạng con, khi được

kết nối với địa chỉ IP trong một phép toán
AND thuộc về toán học, sẽ xác định các giới
hạn của một mạng con IP.


1.5 Giao tiếp giữa PLC và PLC

Một CPU có thể giao tiếp với một CPU khác trên một mạng bằng cách sử
dụng các lệnh TSEND_C và TRCV_C.
Cần chú ý đến những điều sau đây khi thiết lập truyền thông giữa hai CPU:
 Cấu hình/Thiết lập: cấu hình phần cứng được yêu cầu.
 Các chức năng được hỗ trợ: đọc/ghi dữ liệu đến một CPU ngang hàng.
 Không có chuyển mạch Ethernet nào được yêu cầu đối với truyền thông một
đối một; chuyển mạch Ethernet chỉ cần thiết đối với trường hợp trong mạng
có từ hai thiết bị trở lên.
Các bước cần thiết trong việc cấu hình truyền thông giữa hai CPU

Bước

Nhiệm vụ
Thành lập kết nối truyền thông phần cứng
Một giao diện PROFINET thành lập kết nối vật lý giữa một HMI và một CPU. Do

1

chức năng Auto-Cross-Over được thiết kế bên trong CPU, ta có thể sử dụng cả cáp
Ethernet loại tiêu chuẩn hay loại xuyên chéo cho giao diện. Kết nối giữa một HMI
đến một CPU không yêu cầu chuyển mạch Ethernet.

2


Cấu hình các thiết bị
Ta phải cấu hình hai đề án với CPU trong mỗi đề án.

3

Cấu hình các kết nối mạng logic giữa hai CPU.
Cấu hình một địa chỉ IP trong đề án

4

Sử dụng cùng một quá trình cấu hình, tuy nhiên ta phải cấu hình các địa chỉ IP cho
cả hai CPU.

14


Cấu hình các thông số truyền (gửi) và nhận
5
6

Ta phải cấu hình các lệnh TSEND_C và TRCV_C trong cả hai CPU để kích hoạt
truyền thông giữa chúng.
Kiểm tra mạng PROFINET
Ta phải tải xuống cấu hình cho mỗi CPU.

1.5.1Cấu hình kết nối mạng logic giữa hai CPU.
Sau khi cấu hình CPU trên thanh đỡ, bây giờ ta sẵn sàng để cấu hình các kết nối
mạng.
Trong cổng “Devices and Networks”, sử dụng “Network view” để tạo ra các kết

nối mạng giữa các thiết bị trong đề án. Để tạo ra kết nối PROFINET, lựa chọn hộp
màu xanh lá (PROFINET) trên PLC đầu tiên. Kéo một đường đến hộp PROFINET
trên PLC thứ hai. Thả chuột và kết nối PROFINET đã được nối.
Thao tác

Kết quả

Lựa chọn “Network view” để hiển thị
các thiết bị dùng để kết nối

Lựa chọn cổng trên một thiết bị và kéo
kết nối đến cổng trên thiết bị thứ hai

15


Thả chuột để tạo ra kết nối mạng

1.5.2 Cấu hình các thông số truyền (phát) và nhận
Truyền thông khối truyền phát (T-block) được sử dụng để thành lập các kết nối
giữa hai CPU. Trước khi CPU có thể liên hợp vào truyền thông PROFINET, ta phải
cấu hình các thông số dành cho các thông điệp truyền (gửi) và các thông điệp thu. Các
thông số này thể hiện cách thức truyền thông hoạt động khi các thông điệp đang được
truyền phát hay thu nhận từ một thiết bị đích.
1.5.3 Cấu hình các thông số truyền (gửi) của lệnh TSEND_C
Lệnh TSEND_C
Lệnh TSEND_C tạo ra một kết nối truyền thông đến một trạm đồng hành. Kết
nối được thiết lập, tạo thành và được giám sát một cách tự động cho đến khi nó được
ra lệnh để ngắt kết nối bởi một lệnh. Lệnh TSEND_C kết hợp các chức năng của các
lệnh TCON, TDISCON và TSEND.

Từ mục Device Configuration trong STEP 7 Basic, ta có thể cấu hình cách thức
mà lệnh TSEND_C truyền phát dữ liệu. Để bắt đầu, ta chèn lệnh vào trong chương
trình từ thư mục “Communication” trong “Extended Instruction”. Lệnh sẽ được hiển
thị, cùng với hộp thoại “Call Options” mà tại đó ta gán một DB để lưu trữ các thông số
của lệnh TSEND_C.

16


Ta có thể gán các vùng nhớ thẻ ghi đến các ngõ vào và ngõ ra, như được thể
hiện trong hình dưới đây:

Cấu hình các thông số General
Ta xác định các thông số truyền thông trong hộp thoại cấu hình Properties của
lệnh TRCV_C. Hộp thoại này xuất hiện gần phía dưới của trang khi ta đã lựa chọn bất
kỳ một phần nào của lệnh TRCV_C.
Cấu hình các thông số Connection
Mỗi CPU có một cổng PROFINET được tích hợp hỗ trợ truyền thông
PROFINET tiêu chuẩn. Các giao thức Ethernet được hỗ trợ sẽ được miêu tả trong hai
kiểu kết nối sau đây:
Giao thức
RFC 1006
TCP

Tên giao thức
ISO trên TCP
Giao thức điều khiển truyền tải

Sử dụng
Phân đoạn thông điệp và ghép lại

Truyền tải các khung dữ liệu

ISO trên TCP (RFC 1006)
ISO trên TCP là một cơ cấu kích hoạt các ứng dụng ISO được chuyển đến
mạng TCP/IP. Giao thức này có các chức năng sau đây:
 Một giao thức truyền thông hiệu quả được liên kết một cách chặt chẽ tới phần
17


cứng.
 Thích hợp với lượng dữ liệu từ cỡ vừa đến cỡ lớn (tối đa 8192 byte)
 Trái ngược với TCP, các thông điệp thể hiện một nhận dạng kết thúc dữ liệu và
được định hướng theo thông điệp.
 Có khả năng định tuyến, có thể được sử dụng trong mạng WAN.
 Có độ dài dữ liệu động
 Việc cố gắng lập trình được yêu cầu đối với sự quản lý dữ liệu do bởi giao
diện lập trình SEND/RECEIVE.
Bằng cách sử dụng các điểm truy xuất dịch vụ truyền tải (Transport Service
Access Points – TSAP), giao thức TCP cho phép nhiều kết nối đến một địa chỉ IP đơn
lẻ (tối đa 64K kết nối). Với RFC 1006, các TSAP nhận dạng một cách đơn nhất các kết
nối điểm kết thúc giao tiếp này đến một địa chỉ IP.
Trong phần “Address Details” của hộp thoại Connection Parameter, ta xác định
các TSAP để sử dụng. TSAP của một kết nối trong CPU sẽ được nhập vào trong
trường “Local TSAP”. TSAP được gán dành cho kết nối trong CPU đồng hành sẽ
được nhập vào dưới trường “Partner TSAP”.
Bài toán đặt ra: Hiện nay trên thực tế để truyền thông kết nối PLC người ta
phải dùng các module mở rộng để kết nối truyền thông. Nhưng giá thành rất đắt tốn rất
nhiều chi phí. Do đó ta cần xây dựng module có thể truyền thông giúp PLC có thể giải
quyết vấn đề điều khiển tín hiệu analog mà có thể tiết kiệm chi phí.
1.6 Giao thức điều khiển truyền dữ liệu (TCP)

TCP là một giao thức tiêu chuẩn được miêu tả bởi RFC 793: giao thức điều
khiển truyền dữ liệu (Transmission Control Protocol). Mục đích chủ yếu của TCP là
để cung cấp một dịch vụ kết nối đáng tin cậy và an toàn giữa hai quá trình. Giao thức
này có các chức năng sau đây:
 Một giao thức truyền thông hiệu quả được liên kết một cách chặt chẽ tới phần cứng.
 Thích hợp với lượng dữ liệu từ cỡ vừa đến cỡ lớn (tối đa 8192 byte)
 Cung cấp nhiều một cách đáng kể các chức năng dành cho ứng dụng, đáng chú
ý là:
- Khôi phục lỗi

18


- Điều khiển dòng
- Đáng tin cậy
 Một giao thức được định hướng theo kết nối
 Có thể được sử dụng rất linh hoạt với các hệ thống của bên thứ ba có hỗ trợ
TCP một cách chuyên biệt
 Có khả năng định tuyến
 Chỉ có các độ dài dữ liệu tĩnh là có thể sử dụng.
 Các thông điệp được báo nhận.
 Các ứng dụng được định địa chỉ bằng cách sử dụng các số hiệu cổng.
 Hầu hết các giao thức ứng dụng người dùng, như là TELNET và FTP, đều sử
dụng TCP.
 Việc cố gắng lập trình được yêu cầu đối với sự quản lý dữ liệu do bởi giao
diện lập trình SEND/RECEIVE.

Thông số

Định nghĩa


General
End point: Partner Tên được gán cho CPU đồng hành (thu nhận)
Interface

Tên được gán cho các giao diện

Subnet

Tên được gán cho các mạng con

Address

Các địa chỉ IP được gán

19


Connection type

Kiểu giao thức Ethernet

Connection ID

Số hiệu ID

Connection data

Vùng lưu trữ dữ liệu của CPU cục bộ (Local) và CPU đồng hành


(Partner)
Active connection Nút bấm radio để lựa chọn CPU Local hay CPU Partner đóng vai trò là
setup
Address details

kết nối chủ động

Port (thập phân)

Port của CPU Local theo định dạng thập phân

1.7 Nêu bài toán và lựa chọn giải pháp
1.7.1 Nêu bài toán: Vì giá thành hiện nay của PLC cao và các ngõ đầu vào tín hiệu
analog trên PLC còn hạn chế cho nên việc xử lý các bài toán về điều khiển bằng tín
hiệu analog hoặc ghép nối nhiều cảm biến còn khá khó khăn chính. Việc điều khiển nó
cần có các module mở rộng bên ngoài mà giá thành rất cao, vì vậy ta cần xây dựng
chương trình để có thể giải quyết vấn đề này.
1.7.2 Lựa chọn giải pháp: - Do PLC có cổng kết nối Ethernet và trên PLC được hỗ
trợ cũng như dễ dàng kết nối với các module bên ngoài, chính vì vậy ta chọn giải pháp
kết nối PLC qua cổng mạng Ethernet sẽ giúp ta đơn giản hơn trong việc giải quyết các
vấn đề đặt ra.
1.8 Kết luận chương 1
Qua chương 1 em có thể hiểu được về mạng truyền thông công nghiệp, cách
thức truyền thông, các bước cấu hình kết nối cho PLC, có thể ghép nối truyền thông
PLC với PLC, với PC hay với các module mở rộng khác bằng các chuẩn giao tiếp khác
nhau, tuy nhiên ta cần lựa chọn thiết bị để dễ dàng kết nối truyền thông cho PLC.

20



CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về Arduino
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với
nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch
nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit.
Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog,
14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau.
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang
đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và
giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường
thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những
người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát
hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy
trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình
cho Aduino bằng ngôn ngữ C hoặc C++.

Hình 2.1: Arduino Uno R3
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung
giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh quan trọng

21


của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU
của board với các module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield. Vài
shield truyền thông với board Arduino trực tiếp thông qua các chân khách nhau, nhưng
nhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếp
chồng và sử dụng dưới dạng song song. Arduino chính thức thường sử dụng các dòng
chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và
ATmega2560. Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino

tương thích. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh
dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một
vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do
hạn chế về kích cỡ thiết bị. Một vi điều khiển Arduino cũng có thể được lập trình sẵn
với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash onchip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài. Điều này giúp
cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính
gốc như là một bộ nạp chương trình.
Các thông số của Arduino
Vi điều khiển
Điện áp hoạt động
Tần số hoạt động
Dòng tiêu thụ
Điện áp vào khuyên dùng
Điện áp vào giới hạn
Số chân Digital I/O
Số chân Analog
Dòng tối đa trên mỗi chân I/O
Dòng ra tối đa (5V)
Dòng ra tối đa (3.3V)
Bộ nhớ flash

ATmega328 họ 8bit
5V DC (chỉ được cấp qua cổng USB)
16 MHz
khoảng 30mA
7-12V DC
6-20V DC
14 (6 chân hardware PWM)
6 (độ phân giải 10bit)
30 mA

500 mA
50 mA
32 KB (ATmega328) với 0.5KB dùng bởi

bootloader
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Một số chân digital có các chức năng đặc biệt như sau:


2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive
– RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông
22


qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối
Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2
chân này nếu không cần thiết


Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 2 8-1 tương ứng với 0V → 5V) bằng hàm
analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở
chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những
chân khác.




Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao
thức SPI với các thiết bị khác.



LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13.
Khi chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu

10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên
board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là
nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện
áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.

23


2.2. Giới thiệu về PLC S7-1200

Hình 2.2: PLC S7-1200
PLC viết tắt của Programmable Logic Controller, là thiết bị điều khiển lập
trình được (khả trình) cho phép thực hiện linh hoạt các thuật toán điều khiển logic
thông qua một ngôn ngữ lập trình. Người sử dụng có thể lập trình để thực hiện một
loạt trình tự các sự kiện. Các sự kiện này được kích hoạt bởi tác nhân kích thích (ngõ
vào) tác động vào PLC hoặc qua các hoạt động có trễ như thời gian định thì hay các sự
kiện được đếm. PLC dùng để thay thế các mạch relay (rơ le) trong thực tế. PLC hoạt
động theo phương thức quét các trạng thái trên đầu ra và đầu vào. Khi có sự thay đổi ở
đầu vào thì đầu ra sẽ thay đổi theo. Ngôn ngữ lập trình của PLC có thể là Ladder hay

State Logic. Hiện nay có nhiều hãng sản xuất ra PLC như Siemens, AllenBradley, Mitsubishi Electric, General Electric, Omron, Honeywell...
Một khi sự kiện được kích hoạt thật sự, nó bật ON hay OFF thiết bị điều khiển
bên ngoài được gọi là thiết bị vật lý. Một bộ điều khiển lập trình sẽ liên tục "lặp" trong
chương trình do "người sử dụng lập ra" chờ tín hiệu ở ngõ vào và xuất tín hiệu ở ngõ
ra tại các thời điểm đã lập trình.
Để khắc phục những nhược điểm của bộ điều khiển dùng dây nối (bộ điều khiển
bằng Relay) người ta đã chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau:


Lập trình dễ dàng, ngôn ngữ lập trình dễ học.



Gọn nhẹ, dễ dàng bảo quản, sửa chữa.



Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp.



Hoàn toàn tin cậy trong môi trường công nghiệp.

24




Giao tiếp được với các thiết bị thông minh khác như: máy tính, nối mạng, các


môi Modul mở rộng.


Giá cả cá thể cạnh tranh được.
Các thiết kế đầu tiên là nhằm thay thế cho các phần cứng Relay dây nối và các

Logic thời gian.Tuy nhiên,bên cạnh đó việc đòi hỏi tăng cường dung lượng nhớ và tính
dễ dàng cho PLC mà vẫn bảo đảm tốc độ xử lý cũng như giá cả … Chính điều này đã
gây ra sự quan tâm sâu sắc đến việc sử dụng PLC trong công nghiệp. Các tập lệnh
nhanh chóng đi từ các lệnh logic đơn giản đến các lệnh đếm, định thời, thanh ghi dịch
… sau đó là các chức năng làm toán trên các máy lớn … Sự phát triển các máy tính
dẫn đến các bộ PLC có dung lượng lớn, số lượng I / O nhiều hơn.
Trong PLC, phần cứng CPU và chương trình là đơn vị cơ bản cho quá trình
điều khiển hoặc xử lý hệ thống. Chức năng mà bộ điều khiển cần thực hiện sẽ được
xác định bởi một chương trình. Chương trình này được nạp sẵn vào bộ nhớ của PLC,
PLC sẽ thực hiện việc điều khiển dựa vào chương trình này. Như vậy nếu muốn thay
đổi hay mở rộng chức năng của quy trình công nghệ, ta chỉ cần thay đổi chương trình
bên trong bộ nhớ của PLC. Việc thay đổi hay mở rộng chức năng sẽ được thực hiện
một cách dễ dàng mà không cần một sự can thiệp vật lý nào so với sử dụng các bộ dây
nối hay Relay.
Cấu trúc
Tất cả các PLC đều có thành phần chính là: Một bộ nhớ chương trình RAM bên
trong (có thể mở rộng thêm một số bộ nhớ ngoài EPROM). Một bộ vi xử lý có cổng
giao tiếp dùng cho việc ghép nối với PLC. Các Modul vào /ra.
Bên cạnh đó, một bộ PLC hoàn chỉnh còn đi kèm thêm một đơn vị lập trình
bằng tay hay bằng máy tính. Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để
chứa đựng chương trình dưới dạng hoàn thiện hay bổ sung. Nếu đơn vị lập trình là đơn
vị xách tay, RAM thường là loại CMOS có pin dự phòng, chỉ khi nào chương trình đã
được kiểm tra và sẵn sàng sử dụng thì nó mới truyền sang bộ nhớ PLC. Đối với các
PLC lớn thường lập trình trên máy tính nhằm hỗ trợ cho việc viết, đọc và kiểm tra

chương trình. Các đơn vị lập trình nối với PLC qua cổng RS232, RS422, RS485, …

25


×