Nhưng với những ưu điểm vượt trội của PLC S7- 200 như : giá thành hạ , dễ thi công , sửa chữa , chất lượng làm việc ổn định linh hoạt ….nên ở đây tôi đã chọn hệ thống điều khiển có thể l
Trang 1Page 1 of 56
Mục lục
1.1 Định nghĩa và phân loại đèn giao thông
1.3 Quy trình điều khiển đèn giao thông
1.6 Thời gian thực Chương 2 Công cụ thực hiện bài toán
2.1 Kỹ thuật số và logic cơ bản 2.2 Tổng quan về PLC
2.3 Hệ thống điều khiển logic khả trình PLC S7-200 2.4 Phần mềm Step 7 Micro / Win
Chương 3 : Mô hình hệ thống điều khiển đèn giao thông
3.1 Thiết bị phần cứng
3.3 Sơ đồ thuật toán và quá trình hoạt động
Trang 2Page 2 of 56
Mở đầu
Trong những năm gần đây cùng với sự phát triển của nền kinh tế là tốc độ ra tăng không ngừng về các loại phương tiện giao thông Sự phát triển nhanh chóng của các phương tiện giao thông đã dẫn đến tình trạng tắc nghẽn giao thông xảy ra rất thường xuyên Vấn đề đặt ra ở đây là làm sao để đảm bảo giao thông thông suốt và sử dụng đèn điều khiển giao thông ở những ngã tư ,những nơi giao nhau của các làn đường là một giải pháp
Để viết chương trình điều khiển đèn giao thông ta có thể viết trên nhiều hệ ngôn ngữ khác nhau Nhưng với những ưu điểm vượt trội của PLC S7- 200 như : giá thành hạ , dễ thi công , sửa chữa , chất lượng làm việc ổn định linh hoạt ….nên ở đây tôi đã chọn
hệ thống điều khiển có thể lập trình được PLC (Programmble Logic Control) với ngôn ngữ lập trình của S7 – 200 để viết chương trình điều khiển đèn giao thông
Xuất phát từ những nhu cầu thực tế và những ham muốn hiểu biết về về lĩnh vực
này , tôi đã chọn đồ án: ‘’ Điều khiển hệ thống đèn giao thông tại ngã tữ sử dụng PLC
S7-200 ‘’ Mục đích của đồ án này là tạo ra một mô hình mang tính thực tế sử dụng khả
năng của PLC S7 – 200 và quan trọng nhất là từng bước phát triển những ứng dụng của PLC trong cuộc sống ( Điều khiển đèn giao thông , tự động hoá trong mọi lĩnh vực của ngành sản xuất )
Trang 3Page 3 of 56
Chương 1 Giới thiệu về đèn giao thông
1.1 Định nghĩa và phân loại đèn giao thông
Hình 1 Đèn giao thông
1.1.2 Phân loại
Dành cho xe cộ
Loại 3 màu có 3 kiểu: xanh, vàng, đỏ Tác dụng như sau:
Đỏ: Khi gặp đèn đỏ, tất cả các phương tiện đang lưu thông phải dừng lại ở phía trước vạch dừng, người đi bộ được sang đường
Xanh: Khi gặp đèn xanh, tất cả các phương tiện được phép đi và phải chú ý Người đi bộ
không được sang đường
Vàng: Đèn vàng là dấu hiệu của sự chuyển đổi tín hiệu Khi đèn vàng bật sau đèn xanh
nghĩa là chuẩn bị dừng, khi đó các phương tiện phải dừng lại trước vạch dừng vì tiếp đó đèn đỏ sẽ sáng, trường hợp đã vượt quá vạch dừng thì phải nhanh chóng cho xe rời khỏi
Trang 4Page 4 of 56
giao lộ Nếu đèn vàng bật sau đèn đỏ có nghĩa là chuẩn bị đi, người lái xe có thể đi trước
vì tiếp đó đèn xanh sẽ sáng Khi đèn vàng nhấp nháy ở tất cả các hướng nghĩa là được đi nhưng người lái xe vẫn phải chú ý
Ba loại đèn này lắp theo thứ tự: Nếu lắp chiều dọc thì đèn đỏ ở trên, vàng ở giữa, xanh ở dưới Nếu lắp chiều ngang thì theo thứ tự đỏ ở bên trái, vàng ở giữa, xanh ở bên phải hay ngược lại
Dành cho người đi bộ
Loại 2 màu có hai màu xanh, đỏ Tác dụng như sau:
Đỏ: Đèn đỏ có nghĩa là "không được sang đường" Nó có hình ảnh người màu đỏ đang đứng yên hoặc chữ "dừng lại" Khi gặp đèn đỏ, người đi bộ phải đứng yên trên vỉa hè Khi người đỏ nhấp nháy nghĩa là sắp được sang đường, người đi bộ phải chuẩn bị sang phía bên kia đường
Xanh: Đèn xanh có nghĩa là "được phép sang đường" Nó có hình ảnh người màu xanh
đang bước đi hoặc chữ "sang đường" Khi gặp đèn xanh, người đi bộ được phép sang đường Khi đèn xanh nhấp nháy, người đi bộ phải khẩn trương sang nốt quãng đường còn lại
Loại đèn này lắp theo thứ tự: Nếu lắp chiều dọc thì đèn đỏ ở trên, đèn xanh ở dưới Nếu lắp chiều ngang thì đèn đỏ ở bên trái, đèn xanh ở bên phải hoặc ngược lại Loại này đôi khi được lắp kèm với đèn đếm lùi để người đi bộ có khả năng ước lượng thời gian sang đường là bao lâu
Đèn đếm lùi
Đèn đếm lùi là loại đèn lắp đặt bổ sung bên cạnh đèn tín hiệu chính Đèn đếm lùi được hiển thị bằng một con số đếm ngược với những màu sắc khác nhau Khi đèn đếm đến "0" là lập tức chuyển màu đèn chính
Trang 5Page 5 of 56
1.2 Cấu tạo và nguyên tắc hoạt động
1.2.1 Cấu tạo
Hình 2 Mô hình đèn giao thông
Hệ thống đèn giao thông hay là đèn điều khiển giao thông gồm hai cột đèn chính được lắp đặt tại hai đầu của hai làn đường khác nhau ở ngã tư Mỗi một cột đèn gồm 6 đèn đó là 3 đèn chính gồm: đèn xanh, đèn đỏ và đèn đỏ; 2 đèn phụ là 2 đèn dùng điều khiển làn đường dành cho người đi bộ: đèn xanh người đi bộ và đèn đỏ người đi bộ
1.2.2 Nguyên tắc hoạt động
Đèn giao thông thường hoạt động cả ngày, đến 0 giờ (12 giờ đêm) thì chuyển sang trạng thái nháy vàng hoặc ngừng hoạt động Khi nháy vàng, xe cộ được đi và phải chú ý, người đi bộ được phép sang đường Đến 6 giờ sáng ngày hôm sau đèn lại hoạt động bình thường trở lại Đôi khi ở một vài ngã tư đông đúc, đèn tín hiệu có thể hoạt động 24/24 mà không nháy vàng Khi hoạt động, đèn thường sáng màu xanh, sau đó đến vàng và đỏ Sau một thời gian hoạt động, đèn lại chuyển xuống màu xanh Đôi khi ở một số giao động, đèn vàng bật sau đèn đỏ
Trang 6Page 6 of 56
1.3 Quy trình điêu khiển đèn giao thông
Đèn giao thông phải bật từng màu riêng biệt, đèn này tắt mới được bật đèn kia lên, không được bật nhiều màu cùng một lúc Giữa 2 chiều đường, khi chiều A bật đèn đỏ thì lập tức chiều B phải bật ngay đèn xanh và ngược lại Khi chuyển từ xanh-đỏ và đỏ-xanh bắt buộc phải bật qua màu vàng, vì màu vàng đệm giữa 2 màu xanh đỏ Khi bật đèn vàng thì phải bật sáng ở cả 2 chiều đường A và B
1.4 Làn xanh
Khái niệm làn xanh được đề cập đến ở đây chính là làm thế nào để phương tiện tham gia giao thông có thể gặp hai đèn xanh liên tiếp ở hai ngã tư liền nhau Muốn được như vậy chúng ta phải làm sao cho chu kỳ của đèn ở ngã tư tiếp theo phù hợp với tốc độ của phương tiện và khoảng cách giữa hai ngã tư Và giải pháp tôi đề cập ở đây là ở ngã tư thứ hai ta lắp đặt một Timer có tác dụng tạo thời gian trễ của chu kỳ đèn thứ hai so với đèn thứ nhất phù hợp “Làn xanh” giúp cho người tham gia giao thông lưu thông trên đường với tốc độ phù hợp được nhanh chóng và thuân tiện hơn Đây là mô hình phát triển trong tương lai Bài toán đèn giao thông trong đồ án này chưa đề cập đến ‘’ làn xanh ‘’ mà chỉ là chương trình cho điều khiển cho một ngã tư đơn thuần
Trang 7Page 7 of 56
1.5 Bài toán điều khiển đèn
Lập trình điều khiển đèn giao thông ở ngã tư gồm 2 đoạn đường khác nhau ở 2 chế
độ theo thời gian :
Từ 5h đến 23h hàng ngày : Hệ thống đèn hoạt động tự động với chu kỳ 60s theo sơ đồ :
Thời gian đèn Xanh , Đỏ , Vàng lần lượt là 27s , 30s , 3s
Từ 23h đến 5h sáng : Hệ thống đèn vàng nhấp nháy với chu kỳ 2s :
Trang 8Page 8 of 56
1.6 Thời gian thực
Khái niệm thời gian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng, tình bằng giây, phút, giờ Trong yêu cầu bài toán đặt ra, thời gian có
ý nghĩa to lớn , nó quyết định khi nào thì chế độ bình thường chạy , và khi nào thì chế độ
ban đêm chạy Thời gian chạy trong bài toán chính là thời gian sinh hoạt của con người
Chính vì vậy , sử dụng thời gian thực không những điều khiển hệ thống vận hành một cách hợp lý mà còn thể hiện sự thông minh của máy móc
Trang 9Page 9 of 56
Chương 2 Công cụ thực hiện bài toán
Dựa trên nền tảng toán học là đại số boole , việc giải quyết bài toán đặt ra là dùng ngôn ngữ lập trình để tạo ra chương trình điều khiển hệ thống đèn theo thời gian thực và nạp vào thiết bị có khả năng hiểu và thực hiện chương trình đó Trong chương
này tôi sẽ trình bày về “Kỹ thuật số và logic cơ bản” , dùng phần mềm “Step7
Micro/Win” để viết chương trình , nạp vào “PLC S7-200” để thực hiện
2.1 Kỹ thuật số và logic cơ bản
2.1.1 Biến và hàm số 2 giá trị
Biến hai giá trị, hay còn gọi biến Boole là loại hàm số mà miền giá trị của nó chỉ
có hai phần tử Ta sẽ ký hiệu chúng bằng những chữ nhỏ in nghiêng như x, y, u, v,… và phần tử của chúng là 0 và 1
Ví dụ : Công tắt là một biến Boole với 2 giá trị: đóng (ký hiệu là 1) và mở (ký hiệu
Hình 3 Sơ đồ công tắc đèn
Trang 10Page 10 of 56
Ngược lại, nếu giá trị của một biến số y phụ thuộc vào giá trị của biến số x thì biến y được gọi là biến phụ thuộc của biến x Ví dụ trong hình 3.1 thì đèn là 2 biến phụ thuộc vào biến công tắc Đèn sẽ sáng nếu cả 2 biến công tắc có giá trị 1 và sẽ tắt nếu một trong hai biến có giá trị 0
Hàm hai trị là mô hình toán học mô tả sự phụ thuộc của một biến Boole vào các biến Boole khác Chẳng hạn như để biểu diễn sự phụ thuộc của đèn, ký hiệu là z, vào 2 biến công tắc, ký hiệu là x và y, ta viết
là v), phủ định (ký hiệu là ) được định nghĩa như sau:
Ví dụ, hàm f(x,y) biểu diễn biến đèn z phụ thuộc vào hai biến công tắc x, y sẽ là:
z = f(x,y) = x^y = x.y
2.1.2 Tính chất
x^1 = 1^x = x với x thuộc B ->1 là phần tử đơn vị của phép toán ^
xv0 = 0vx = x với x thuộc B ->0 là phần tử đơn vị của phép toán v
xvy = yvx ( Tính chất giao hoán )
Trang 11Page 11 of 56
xv(y^z) = (xvy)^z (Tính chất kết hợp )
2.1.3 Xác định công thức từ bảng chân lý
Ta sẽ xét bài toán ngược là tìm công thức biểu diễn hàm f(x) từ bảng giá trị chân
lý đã biết của hàm đó Công việc này là cần thiết vì trong thực tế nhiều bài toán tổng hợp
bộ điều khiển được bắt đầu từ bảng chân lý
Trước hết hãy làm quen với hai khái niệm mới là biểu thức nguyên tố tổng và biểu thức nguyên tố tích nếu trong T(x):
Có mặt tất cả các biến số xk, k=1, 2,…, n và mỗi biến chỉ xuất hiện một lần, Chỉ cấu thành bởi hai phép tính ^, hoặc v,
Ví dụ:
T1(x1, x2, x3) = x1.x2.x3 (tạo bởi 2 phép toán ^, ),
T2(x1, x2, x3) = x1 v x2 v x3 (tạo bởi 2 phép toán), )
Từ định nghĩa ta thấy các biểu thức nguyên tố có các đặc điểm:
Biểu thức nguyên tố tích TN(x) có giá trị 1 khi và chỉ khi tất cả các thừa số cùng
có giá trị 1 Như vậy nếu xk xuất hiện trong biểu thức dạng phủ định (qk=0) thì xk phải
có giá trị 0 và ngược lại nếu qk =1 thì xk phải có giá trị 1
Biểu thức nguyên tố tổng TC(x) có giá trị 0 khi và chỉ khi tất cả các thương số cùng có giá trị 0 Như vậy nếu xk xuất hiện trong biểu thức dạng phủ định (qk=0) thì xk phải có giá trị 1 và ngược lại nếu qk =1 thì xk phải có giá trị 0
Bây giờ ta xác định biểu thức hàm hai trị từ bảng chân lý của nó
Trang 13Page 13 of 56
2.1.4 Biểu diễn số nguyên dương
Một số nguyên dương uk bất kỳ, trong hệ cơ số 10 bao giờ cũng được biểu diễn đầy đủ bằng dãy các con số nguyên từ 0 đến 9 Ví dụ uk = 259 được biểu diễn bằng 3 con số: 2, 5 và 9 và cách biểu diễn đó được hiểu là
Uk = 2.102+ 5.101 + 9.100
Một cách tổng quát khi biểu diễn trong hệ cơ số 10 uk có dạng
Uk = an 10n + an-1 10n-1 +…+ a1 101 + a0 100 (3.1) với 0<=ai<=9
Như vậy việc biểu diễn uk trong hệ cơ số 10 là sự biến đổi uk thành tập hữu hạn n+1 số nguyên ai, i=0, 1, …, n thoả 0<=ai <=9
Số các giá trị mà ai có được do hệ cơ số biểu diễn uk quyết định Trong trường hợp này uk được biểu diễn trong hệ cơ số 10 nên ai có 10 giá trị
Biểu diễn trong hệ cơ số 2
Cách biểu diễn uk trong hệ cơ số 10 chưa phù hợp với nguyên tắc mạch điện của
bộ điều khiển số vì uk có các phần tử đa trị 0<=ai<=9 Ta biến đổi biểu thức (3.1) về dạng sau
Ta sẽ đi đến dạng biểu diễn thông dụng bằng mạch điện cho tín hiệu số Mỗi
ô vuông trong cách biểu diễn trên gọi là một bit và mỗi bit là một biến hai trị
Số các bit của vector x quyết định miền giá trị cho uk Với n+1 bit trong (3.2)thì miền giá trị của uk sẽ là tập các số nguyên dương trong khỏang 0<=uk<=2n+1-1
Trang 14Page 14 of 56
Một dãy 8 bit được gọi là 1 byte Hai byte gọi là 1 từ (word) và 2 từ gọi là từkép (double word) Trong kỹ thuật PLC nói riêng và điều khiển số nói chung ngườita thường biểu diễn uk bằng một byte, 1 từ hoặc 1 từ kép
Biểu diễn uk=205 thành một byte:
Giống như cách biểu diễn uk trong hệ cơ số 10 và 2, trong hệ cơ số 16, số nguyên
Trang 15Page 15 of 56
Để bộ điều khiển số hiểu được dạng biểu diễn của uk, người ta đã chuyển các tham số hi sang hệ cơ số 2 Do mỗi tham số có 16 giá trị nên người ta cũng chỉ cần 4 bit
là đủ để biểu diễn chúng
Một mảng 4 bit có tên gọi là một Nipple
Ví dụ, số nguyên dương uk = 7723 trong hệ cơ số 10, khi chuyển sang cơ số 16 sẽ
là 1E2B vì 7723 = 1.163+14.162+2.16+11
1 E 2 B
Mã BCD của số nguyên dương
Ta đã biết mã Hexadecimal là kiểu sử dụng biến hai trị để thể hiện các chữ số hi, khi uk được biểu diễn trong hệ cơ số 16 Hoàn toàn tương tự, mã BCD là dạng dùng biến hai trị thể hiện những chữ số 0<ai<9 khi biểu diễn uk trong hệ cơ số 10 theo công thức
Uk = an 10n+ an-110n-1 +…+ a1101+ a0 100 với ai thuộc {0,9}(3.3)
Ví dụ Uk = 259 được biểu diễn nhờ 3 con số 2, 5 và 9
Chuyển đổi số: Thập phân ↔ Nhị phân
VD: Chuyển số nhị phân 11011001 thành số thập phân
Uk = 1.27+ 1.26 + 0.25+ 1.24+ 1.23 + 0.22 + 0.21+ 1.20
128 + 64 + 0 + 16 + 8 + 0 + 0 + 1 = 217
VD: Chuyển số thập phân 217 thành số nhị phân
217:2 =108 dư 1 108:2 =54 dư 0 54:2 =27 dư 0 27:2 =13 dư 1 13:2 =6 dư 1 6:2 =3 dư 0 3:2 =1 dư 1
=> uk = 11011001
Trang 17Từ đó hệ thống điều khiển có thể lập trình được PLC (Programable Logic Control) ra đời
đã giải quyết được vấn đề trên
Thiết bị điều khiển logic khả trình (PLC: Programmable Logic Control) là loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều khiển số thông qua một ngôn ngữ lập trình, thay cho việc thể hiện thuật toán đó bằng mạch số
Trang 18Page 18 of 56
Quá trình thực thi của PLC bao gồm 3 giai đoạn: giám sát các đầu vào, tính toán trên cơ sở chương trình của nó và điều khiển các đầu ra để tự động hóa các quá trình hay công cụ
Tất cả các hệ thống PLC đều gồm có các thành phần cơ bản cần thiết để thao tác với các dữ liệu vào, xử lý dữ liệu và điều khiển đầu ra Các khối cơ bản của một PLC bao gồm bộ xử lý trung tâm (CPU), bộ nhớ, bộ giao tiếp đầu vào và bộ giao tiếp đầu ra Ngoài ra, PLC có thể tích hợp các khối nguồn, xung đồng hồ và giao tiếp truyền thông để nạp chương trình, giám sát trạng thái của PLC hay nối mạng các PLC với nhau Đầu vào của PLC có thể đưa vào các tín hiệu số hay tương tự từ các thiết bị khác nhau (cảm biến)
và biến đổi thành tín hiệu logic để CPU sử dụng Bộ xử lý trung tâm CPU tính toán và thực thi các phép tính điều khiển dựa trên các lệnh điều khiển trong bộ nhớ Bộ giao tiếp đầu ra biến đổi các lệnh điều khiển từ CPU thành tín hiệu số hay tương tự để có thể dùng điều khiển các thiết bị chấp hành khác nhau (actuator)
Một thiết bị lập trình được dùng để nhập các lệnh mong muốn, những lệnh này quyết định PLC sẽ làm gì khi tác động các đầu vào cụ thể Một thiết bị giao tiếp (operator interface) cho phép thông tin quá trình được hiển thị và để nhập các thông số điều khiển mới
Bộ nhớ của PLC nói chung được chia thành 3 phần: bộ nhớ chương trình, bộ nhớ dữ liệu và vùng nhớ lưu các thông số cấu hình hệ thống
Bộ nhớ chương trình lưu trữ các lệnh sơ đồ lập trình LAD hay STL Vùng nhớ này
sẽ điều khiển cách thức sử dụng vùng nhớ dữ liệu và các I/O Các lệnh LAD hay STL được viết bằng các thiết bị lập trình (PC) và được nạp (tải) vào vùng nhớ chương trình của PLC
Bộ nhớ dữ liệu được dùng như một vùng làm việc bao gồm vùng nhớ cho các phép tính,vùng lưu trữ tạm thời cho các kết quả tạm và các hằng số Vùng nhớ dữ liệu bao gồm cácvùng nhớ cho các thiết bị như: vùng nhớ timer (T) (word và bit), counter (C) (word vàbit), bộ đếm tốc độ cao (HC), và vùng nhớ đầu vào (I), vùngnhớ đầu ra (Q), đầu vào
Trang 19Page 19 of 56
tương tự (AI), đầu ra tương tự (AQ), vùng nhớ biến(V),vùng nhớ bên trong (M), vùng
nhớ đặc biệt (SM) ,…
Bộ nhớ thông số gồm các ô nhớ lưu trữ các thông số cài đặt, mật khẩu, địa chỉ thiết
bị điều khiển và các thông tin về các không gian nhớ có thể sử dụng
PLC hoạt động theo một cách thức đơn giản bằng việc lặp lại quá trình sau Dữ liệu vào từ bên ngoài được chuyển đổi qua bộ giao tiếp đầu vào thành dạng mà CPU có thể dùng CPU tính toán dựa trên các dữ liệu vào theo chương trình người dùng được lưu trữ trong bộ nhớ Các kết quả của quá trình tính toán này được đưa tới bộ giao tiếp đầu ra
để chuyển đổi thành dạng mà các thiết bị kết nối với PLC có thể sử dụng
Cấu trúc chung của hệ thống điều khiển dùng PLC
PLC được nhiều hãng chế tạo, và mỗi hãng có nhiều họ khác nhau, và có nhiều phiên bản (version) trong mỗi họ, chúng khác nhau về tính năng và giá thành, phù hợp với mức độ bài toán đơn giản hay phức tạp Ngoài ra còn có các bộ ghép nối mở rộng cho phép liên kết nhiều bộ PLC nhỏ (thành mạng PLC) để thực hiện các chức năng phức tạp, hay giao tiếp với máy tính để tạo thành một mạng tích hợp, thực hiện việc theo dõi, kiểm tra, điều khiển một quá trình công nghệ phức tạp hay toàn bộ một phân xưởng sản xuất Mặc dù vậy, một hệ thống điều khiển dùng bất kỳ loại PLC nào cũng đều có cấu trúc sau :
Hình 4: Cấu trúc chung hệ thống điều khiển dùng PLC
Trang 20Page 20 of 56
Trong đó:
● Đầu vào dạng số: gồm hai trạng thái ON và OFF Khi ở trạng thái ON thì đầu vào
số được coi như ở mức logic 1 hay mức logic cao Khi ở trạng thái OFF thì đầu vào số có thể được coi như ở mức logic 0 hay mức logic thấp
Các kênh vào số thường nối với các cảm biến hai trạng thái dạng đóng/ ngắt (On/Of) như:
- Cảm biến quang điện,
Các kênh ra số có thể nối với các thiết bị như:
- Các cuộn hút cho van điện từ
Trang 21Page 21 of 56
- Các van và các động cơ, xi lanh thuỷ khí
- Các thiết bị đo tương tự
● Thiết bị đầu vào: gồm các thiết bị tạo ra tín hiệu điều khiển, thường là nút nhấn, cảm biến …
* Cảm biến: là thiết bị nhằm biến đổi một trạng thái vật lý thành tín hiệu điện để PLC sử dụng Cảm biến được nối với đầu vào của PLC Một ví dụ là sử dụng nút nhấn nối với đầu vào của PLC, một tín hiệu điện được gửi tới PLC chỉ ra trạng thái (đóng/mở) của tiếp điểm nút nhấn
● Thiết bị chấp hành (Actuator): là thiết bị biến đổi tín hiệu điện từ PLC thành một tác động vật lý Actuator được nối với đầu ra của PLC Một ví dụ của actuator là sử dụng một Soft Starter (bộ khởi động mềm) được nối ở đầu ra PLC, tùy thuộc vào tín hiệu đầu
ra PLC mà bộ Soft Starter sẽ khởi động hay dừng động cơ
● Chương trình điều khiển: một chương trình bao gồm một hay nhiều lệnh nhằm thực hiện một nhiệm vụ cụ thể Việc lập trình cho PLC chỉ đơn giản là xây dựng một tập hợp các lệnh Có nhiều cách để lập trình cho PLC như: dạng lập trình hình thang (LAD), dạng câu lệnh (STL), hay dạng sơ đồ khối chức năng (FBD) Chương trình điều khiển định ra qui luật thay đổi tín hiệu output phía đầu ra của PLC theo sự thay đổi của tín hiệu input phía đầu vào theo như mong muốn Các chương trình điều khiển được tạo ra bằng cách sử dụng bộ lập trình chuyên dụng cầm tay (hand-held programmer hay PG = programmer) hoặc chạy phần mềm điều khiển trên máy tính PC và được nạp vào PLC thông qua cáp, nối giữa PLC và PC hoặc PG
Cần chú ý là chương trình để điều khiển hệ thống chạy trên PLC, do đó không cần
có máy tính hay bộ lập trình để chạy PLC, chúng chỉ đóng vai trò bộ lập trình hay bộ giám sát hoạt động thông qua việc trao đổi thông tin với PLC
Chương trình của các PLC thường có cấu trúc, gồm có chương trình chính (main program), các chương trình con (subroutine) và chương trình ngắt (interrupt) Nhờ đó cấu trúc của chương trình trở nên dễ đọc và rõ ràng hơn
Trang 22Page 22 of 56
Hình 5 Các dạng tín hiệu đầu vào của PLC
Chương trình PLC được thực thi theo các chu kỳ quét liên tục Chương trình PLC thực thi là một phần của một quá trình lặp lại: chu kỳ quét Chu kỳ quét của PLC bắt đầu với việc CPU đọc trạng thái của các đầu vào Chương trình ứng dụng được thực hiện sử dụng trạng thái của các đầu vào này Khi chương trình này thực hiện xong thì CPU sẽ bắt đầu quá trình tự chẩn đoán và các tác vụ giao tiếp Chu kỳ quét kết thúc bởi việc cập nhật các đầu ra, sau đó lại lặp lại từ đầu Thời gian thực hiện chu kỳ quét phụ thuộc vào kích thước của chương trình, số lượng các đầu vào/ra cần được giám sát của PLC và vào số lượng yêu cầu giao tiếp
Trang 23Page 23 of 56
Hình 6 Chu kỳ (vòng) quét của PLC
● Thiết bị lập trình (PG/PC): chương trình viết trong thiết bị lập trình và truyền xuống PLC
● Cáp kết nối (cáp PPI): thiết bị cần thiết để truyền dữ liệu từ thiết bị lập trình đến PLC
Quy trình thiết kế hệ điều khiển dùng PLC: Bao gồm các bước cơ bản như sau:
1- Xác định quy trình điều khiển: trong bước này cần phải biết về đối tượng điều khiển của PLC Các thay đổi của đối tượng điều khiển được kiểm tra thường xuyên bởi các thiết bị đầu vào, các thiết bị này gởi tín hiệu đến PLC để tính toán xuất các tín hiệu ra đến các thiết bị đầu ra để điều khiển hoạt động của đối tượng
2- Xác định tín hiệu vào ra: trong bước này cần xác định cách kết nối các thiết bị đầu vào, ra với PLC Thiết bị vào có thể là tiếp điểm, cảm biến,… Thiết bị ra có thể là các loại cuộn dây điện từ , đèn, …
3- Soạn thảo chương trình: chương trình được viết dưới dạng LAD, STL, hay dạng FBD
4- Nạp chương trình cho PLC
5- Chạy chương trình: trước khi khởi động hệ thống cần kiểm tra nối dây từ PLC đến các thiết bị ngoại vi và trong quá trình chạy kiểm tra có thể cần thực hiện các bước tinh chỉnh hệ thống để đảm bảo an toàn khi đưa vào hoạt động thực tế
Trang 242.3 Thiết bị điều khiển logic khả trình PLC S7-200
PLC có thể được phân thành hai loại: Micro PLC và Modular PLC
Micro PLC là loại PLC mà các đầu vào, bộ xử lý, các đầu ra và bộ nguồn đều được đặt chung trong cùng một khối Các PLC này thì khá rẻ và thường được dùng trong các ngành công nghiệp nhẹ mà ở đó các điện áp cao không cần thiết Chúng có những cấu hình khác nhau về đầu vào, đầu ra, khả năng bộ nhớ và có thể làm việc lâu dài để thỏa mãn các ứng dụng khác nhau Họ PLC S7-200 của Siemens thuộc loại PLC này
Modular PLC là loại PLC dùng trong các ứng dụng công nghiệp nặng thường là các hệ thống dạng mô đun Các loại PLC này có các cấu hình khác nhau về đầu vào/đầu
ra, nguồn cung cấp, dạng tín hiệu (rời rạc hay tương tự), các ứng dụng mạng và điều khiển từ xa Các hệ thống PLC này bao gồm các mô đun xử lý, mô đun đầu vào/đầu ra, thanh gắn, mô đun nguồn, bộ lập trình và các mô đun giao tiếp nếu cần thiết Họ PLC S7-
300, S7-400 của Siemens thuộc loại này
Bộ xử lý của cả PLC loại Micro hay Modular đều bao gồm CPU, bộ nhớ, các cổng giao tiếp và các cổng ngoại vi Không phải tất cả các PLC đều có cấu hình giống nhau mà có thể khác nhau về bộ nhớ, các cấu hình đầu vào/đầu ra, cấu hình mạng và nhiều đặc tính khác
Trang 25Page 25 of 56
Ta sử dụng bộ S7-200/CPU 224 để giải quyết yêu cầu bài toán
Bộ S7-200/CPU 224 có các tính năng sau :
– Số cổng vào/ra (I/O): 14 đầu vào số/10 đầu ra số (địa chỉ từ I0.0 ÷ I1 5, Q0.0 ÷ Q1.1)
– Số tối đa các bộ mở rộng có thể ghép nối: 7
+ Vùng nhớ chương trình: Là miền bộ nhớ được dùng để lưu giữ các lệnh chương trình
Vùng này thuộc kiểu non-valatie đọc/ghi được
+ Vùng nhớ tham số: Là miền lưu giữ các tham số như từ khoá, địa chỉ trạm cũng giống
như vùng chương trình, vùng này thuộc kiểu (non-valatile) đọc/ghi được
+ Vùng dữ liệu: Được sử dụng để cất các dữ liệu của chương trình bao gồm kết quả của
các phép tính, hằng số được định nghĩa trong chương trình, bộ đệm truyền thông
Trang 26Page 26 of 56
+ Vùng đối tượng: Timer, bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tương tự được
đặt trong vùng nhớ cuối cùng Vùng này không thuộc kiểu non-valatile nhưng đọc/ghi được
Vùng nhớ chương trình :
Vùng nhớ chương trình được chia thành 3 miền:
+ OB1 (Organisation Block): miền chứa chương trình tổ chức, chứa chương trình
chính, các lệnh trong khối này luôn được quét
+ Subroutine (Chương trình con): miền chứa chương trình con, được tổ chức
thành hàm và có biến hình thức để trao đổi dữ liệu, chương trình con này sẽ được gọi khi
có lời gọi trong chương trình chính
+ Interrup (Chương trình ngắt): miền chứa chương trình ngắt, đượ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 Chương trình này sẽ được thực hiện khi có sự kiện ngắt xảy ra Có rất nhiều sự kiện ngắt như: ngắt thời gian, ngắt xung tốc độ cao
Vùng nhớ tham số
Vùng này được chia thành 5 vùng khác nhau:
+ I (Process image input): miền dữ liệu các 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 (Process 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 tới bộ đệm Q
Trang 27Page 27 of 56
+ M (Miền các biến cờ): chương trình ứng dụng sử dụng những biến này để lưu
giữ các tham số cần thiết và có thể truy nhập nó theo Bit (M), Byte (MB), Word (MW) và Double Word (MD)
+ T (Timer): miền nhớ phục vụ bộ thời gian bao gồm việc lưu giữ giá trị thời gian
đặt trước (PV – Preset value), giá trị đếm thời gian tức thời (CV – Current value) cũng như giá trị logic đầu ra của bộ thời gian
+ C (Counter): miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ giá trị đặt trước
(PV – Preset value), giá trị đếm tức thời (CV – Current value) và giá trị logic đầu ra của
bộ đếm
Vùng nhớ dữ liệu
Vùng nhớ này được chia làm 2 loại:
+ DB (Data Block): miền chứa 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), Word (DBW) hay Double Word (DBD)
+ L (Local data block): miền dữ liệu địa phương, được các khối chương trình
OB1, chương trình con, chương trình ngắt 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 khối 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 OB1, chương trình con hay chương trình ngắt Miền này có thể được truy nhập từ chương trình theo từng Bit (L), Byte (LB), Word (LW) hay Double Word (LD)
Cách truy cập vào các vùng nhớ dữ liệu và đối tượng
Địa chỉ truy nhập được quy ước với công thức:
Truy nhập theo bit:
Trang 28Page 28 of 56
- Viết: tên miền (+) địa chỉ byte (+).(+) chỉ số bit (từ 0÷7)
- Đọc: ngược lại, ví dụ: V12.7_bit 7 của byte 12 trong vùng nhớ V
M8.2_bit 2 của byte 8 trong vùng nhớ M
Truy nhập theo byte:
- Viết: tên miền (+) B (+) địa chỉ của byte trong miền
- Đọc: ngược lại, ví dụ: VB32_byte 32 trong vùng nhớ V
Truy nhập theo Word (từ đơn):
- Viết: tên miền (+) W (+) địa chỉ byte cao của từ trong miền
- Đọc: ngược lại, ví dụ: VW180_Word 180 trong vùng nhớ V, từ này gồm có 2 byte 180 và 181
• Truy nhập theo double Word (từ kép):
- Viết: tên miền (+) D (+)địa chỉ byte cao của từ cao trong miền
- Đọc: ngược lại, ví dụ: VD8_double Word 8 trong vùng nhớ V, từ kép này bao gồm 4 byte 8, 9, 10, 11
Dưới đây là bảng thông số về không gian địa chỉ các vùng nhớ đối với CPU họ 22X (họ CPU thông dụng hiện nay)