IV. PLC
2.4 Vòng quét chương trình.
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.
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 lau, có vòng quét được thực hiện nhanh tuỳ thuộc vào số lệnh trong chương trình được thực hiện, vào khối dữ liệu được truyền thông… trong vòng quét đó.
Như vậy giữa việc đọc dữ 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.
2.4 Kỹ thuật lập trình.
Chương trình cho S7-300 đượ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:
• Lập trình tuyến tính (linear programming): Toàn bộ chương trình điều khiển nằm trong một khối trong 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 đượ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. Khối nàyđược hệ điều hành gọi theo chu kỳ lặp với khoảng thời gian không cách đều nhau mà phụ thuộc vào độ dài của chương trình. Các loại khối chương trình khác không tham gia trực tiếp vào vòng quét. Các khối OB khác 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ố nguồn nuôi, 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. 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 xử lý ngắt trong các khối OB tương ứng.
• Lập trình có cấu trúc (structure programming): là kỹ thuật cài đặt thuật toán điều khiển bằng cách chia nhỏ thành các khối chương trình con FC hay FB với mỗi khối thực hiện một nhiệm vụ cụ thể của bài toán điều khiển chung và toàn bộ các khối chương trình này lại được quản lý một cách thống nhất bởi khối OB1. Trong OB1 có các lệnh gọi những khối chương trình con theo thứ tự phù hợp với bài toán điều khiển đặt ra.
Hoàn toàn tương tự, một nhiệm vụ điều khiển con có thể còn được chia nhỏ thành nhiều nhiệm vụ nhỏ và cụ thể hơn nữa, do đó một khối chương trình con
cũng có thể được gọi từ một khối chương trình con khác. Duy có một điều cấm kỵ ta cần phải tránh là không bao giờ một khối chương trình con lại gọi đến chính nó. Ngoài ra, do có sự hạn chế về ngăn xếp của các module CPU nên không được tổ chức chương trình con gọi lồng nhau quá số lần mà module CPU được sử dụng cho phép.
PLC S7-300 có bốn loại khối cơ bản:
* Loại khối OB (Organization block): Khối tổ chức và quản lý chương trình điề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…
* Loại khối FC(Program block): Khối chương trình với những chức năng riêng giống như một chương trình con hoặc một hàm (chương trình con có biến hình thức). Một chương trình ứng dụng có thể có nhiều khối FC và các khối FC này được phân biệt với nhau bằng những số nguyên sau nhóm ký tự FC. Chẳng hạn như FC1, FC2 …
* Loại khối FB (Function block): Là loại khối FC đặc biệt có khả năng trao đổi một lượng dữ liệu lớn với các khối chương trình khác. Các dữ liệu này phải được tổ chức thành khối dữ liệu riêng có tên gọi là Data block. Một chương trình ứng dụng có thể có nhiều khối FB và các khối FB này được phân biệt với nhau bằng một số nguyên sau nhóm ký tự FB. Chẳng hạn như FB1, FB2 …
*Loại khối DB (Data block): Khối chứa các dữ liệu cần thiết để thực hiện chương trình. Các tham số của khối do người dùng tự đặt. Một chương trình ứng dụng có thể có nhiều khối DB và các khối DB này được phân biệt với nhau bằng một số nguyên sau nhóm ký tự DB. Chẳng hạn như DB1, DB2 …
Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển khối. Xem những phần chương trình trong các khối như là các chương trình con thì S7-300 cho phép gọi chương trình con lồng nhau, tức là từ chương trình con này gọi một chương trình con khác và từ chương trình con được gọi lại gọi tới một chương trình con thứ 3 …. Số các lệnh gọi lồng nhau phụ thuộc vào từng chủng loại module CPU mà ta sử dụng. Ví dụ như đối với module CPU314 thì số lệnh gọi lồng nhau
nhiều nhất có thể cho phép là 8. Nếu số lần gọi khối lồng nhau mà vượt quá con số giới hạn cho phép, PLC sẽ tự chuyển sang chế độ STOP và đặt cờ báo lỗi.
Hình 1.5: Lập trình có cấu trúc.
Hình 1.6: Thực hiện gọi khối FC10.
Như vậy, khi thực hiện lệnh gọi một khối con, hệ điều hành sẽ:
• Chuyển khối con được gọi từ vùng Load memory vào vùng Work memory. • Cấp phát cho khối con một phần bộ nhớ trong Work memory để làm local
block. Cấu trúc local block được quy định khi soạn thảo các khối.
• Truyền các tham trị từ khối mẹ cho biến hình thức IN, IN-OUT của local block.
• Sau khi khối con thực hiện xong nhiệm vụ và ghi kết quả dưới dạng tham trị đầu ra cho biến OUT, IN-OUT của local block, hệ điều hành sẽ chuyển
các tham trị này cho khối mẹ và giải phóng khối con cùng local block ra khỏi vùng Work memory.
2.5 Ngôn ngữ lập trình.
Các loại PLC nói chung thường có nhiều ngôn ngữ lập trình nhằm phục vụ các đối tượng sử dụng khác nhau. PLC S7-300 có ba ngôn ngữ lập trình cơ bản. Đó là:
• Ngôn ngữ “liệt kê lệnh”, ký hiệu là STL (Statement list). Đây là dạng ngôn ngữ lập trình thông thường của máy tính. Một chương trình được ghép bởi nhiều câu lệnh theo một thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có cấu trúc chung
“tên lệnh” + “toán hạng”.
• Ngôn ngữ “hình thang”, ký hiệu là LAD (Ladder logic). Đây là dạng ngôn ngữ đồ hoạ thích hợp với những người quen thiết kế mạch điều khiển logic.
• Ngôn ngữ “hình khối”, ký hiệu là FBD (Function block diagram). Đây cũng là kiểu ngôn ngữ đồ hoạ dành cho người có thói quen thiết kế mạch điều khiển số.
Một chương trình viết trên LAD hoặc FBD có thể chuyển sang được dạng STL, nhưng ngược lại thì không. Trong STL có nhiều lệnh không có trong LAD hay FBD.
Step7 là một phần mềm hỗ trợ:
- Khai báo cấu hình cứng cho một trạm PLC thuộc họ Simatic S7-300/400.
- Xây dựng cấu hình mạng gồm nhiều trạm PLC S7-300/400 cũng như thủ tục truyền thông giữa chúng.
- Soạn thảo và cài đặt chương trình điều khiển cho một hoặc nhiều trạm.
- Quan sát việc thực hiện chương trình điều khiển trong một trạm PLC và gỡ rối chương trình.
Ngoài ra Step7 còn có cả một thư viện đầy đủ với các hàm chuẩn hữu ích, phần trợ giúp online rất mạnh có khả năng trả lời mọi câu hỏi của người sử dụng về cách sử dụng Step7, về cú pháp lệnh trong lập trình, về xây dựng cấu hình cứng của một trạm cũng như của một mạng gồm nhiều trạm PLC …
V.
CHƯƠNG IV: XÂY DỰNG MÔ HÌNH MÔ PHỎNG THANG MÁY
I. XÁC ĐỊNH CÁC VẤN ĐỀ SẼ MÔ PHỎNG
vì trên thực tế có đầy đủ các thiết bị nên ta có thể xây dựng bài toán mô phỏng với đầy đủ các chức năng của thang máy.Nhưng khi mô phỏng trên mô hình của em với điều kiện hiên có tại phòng thí nghiệm và trên thị trường.Mô hình thực tế của em có thể không thể mô phỏng được hết các tính năng của thang.Một số các thiết bị không giống thiết bị thật, các cảm biến được thay thế tương đương
II. XÂY DỰNG KẾT CẤU CHO MÔ HÌNH MÔ PHỎNG
III. XÂY DỰNG KẾ HOẠCH MÔ PHỎNG VÀ KIỂM NGHIỆM
TRÊN THỰC TẾ.
Với hệ thống lý thuyết đã được nghiên cứu ở các chương trước, chúng ta đã thiết lập được hệ thống thang máy trên lý thuyết nhưng có một điểm là tất cả đều chỉ được mô tả trên lý thuyết và chưa được đưa vào kiểm nghiệm. Để tăng thêm tính sát thực của đồ án và tăng thêm tính thuyết phục.
Xuất phát từ những điểm chính đó, em đi vào xây dựng mô hình thang máy chở người 4 tầng đơn giản được đơn giản hoá bớt các chức năng so với các tính năng xây dựng ở trên. Mặc dù không mô tả được hết các tính năng của thang máy nhưng nó cũng phần nào mô tả được những tính năng điều khiẻn buồng thang.
Với mô hình này chúng ta có thể vận dụng phương pháp tổng hợp các hệ điều khiển logic.
+ Bên trong buồng thang có 4 nút điều khiển ( tạm gọi là các nút yêu cầu đến tầng - DT: DT1, DT2, DT3, DT4) và 4 đèn tương ứng minh hoạ cho trạng thái yêu cầu của mỗi nút ấn. + Bên ngoài buồng thang có 6 nút ấn và 6 đèn tương ứng mô tả trạng thái yêu cầu của 6 nút ấn đó :
- Tầng 1 có 1 nút ấn để yêu cầu lên các tầng trên ( 1GTL), và có 1 đèn trạng thái (DENL1) minh hoạ cho yêu cầu của nút ấn : khi nút 1GTL được nhấn thì DENL1 sẽ sáng, đến khi nào buồng thang dừng ở tầng 1 thì DENL1 sẽ sáng nhấp nháy, sau 1 khoảng thời gian thiết lập nó sẽ tắt đi.
- Tầng 2 có 2 nút ấn gọi tầng (2GTL, 2GTX) và 2 đèn trạng thái. - Tầng 3 có 2 nút ấn gọi tầng (3GTL, 3GTX) và 2 đèn trạng thái. - Tầng 4 có 1 nút ấn gọi tầng (4GTX) và 1 đèn trạng thái.
+ Cơ cấu truyền động để nâng, hạ buồng thang ở đây dùng 1 động cơ điện 1 chiều và hộp giảm tốc, buồng thang được kéo bởi 1 cáp gắn ở puly trục hộp giảm tốc qua dòng dọc gắn trên nóc của cơ cấu.
+ Một cơ cấu để đóng mở cửa tầng khi buồng thang đến tầng cần phục vụ ( dùng 1 động cơ 1 chiều có đảo chiều).
+ Để điều khiển cấp điện cho 2 động cơ : 1 động cơ truyền động nâng - hạ buồng thang, và 1 động cơ để truyền động đóng - mở cửa tầng, ở đây dùng 4 rơle để điều khiển cho 2 động cơ ứng với 2 chiều chuyển động(nâng-hạ, đóng-mở).
+ Tương ứng trên mỗi tầng có gắn 1 công tắc tầng (cảm biến tầng) để xác định vị trí của buồng thang.
+ Nguồn điện sử dụng cho mô hình :
- Dùng nguồn 5V DC hoặc 12V DC cấp cho 2 động cơ truyền động (I <5A)
- Dùng nguồn 24V DC để cấp cho các cảm biến tầng, các nút ấn yêu cầu điều khiển. - Các đèn trạng thái được điều khiển và nhận trực tiếp tín hiệu từ PLC.
Từ mô hình đã xây dựng sinh viên được thực tập với các yêu cầu công nghệ sau:
1. Công nghệ 1: 2. Công nghệ 2.
- Điều khiển thang máy bằng 4 nút đến tầng (DT1, DT2, DT3, DT4) ở trong buồng thang và 4 nút gọi tầng tương ứng trên mỗi tầng (1GT,2GT, 3GT,4GT).
- Có 4 công tắc tầng bố trí ở 4 tầng để xác định vị trí của buồng thang.
- Minh hoạ trạng thái được chọn của các nút yêu cầu bằng các đèn tương ứng.
- Các nút yêu cầu điều khiển (DT và GT) có thể được chọn liên tiếp và được lưu giữ, khi đó chúng được xử lý ưu tiên theo hành trình.
- Khi buồng thang được điều khiển đến tầng yêu cầu nó sẽ dừng lại trong vòng 5s, lúc này đèn báo rtạng thái tại tầng đó cũng sáng nhấp nháy. Sau 5s đèn sẽ tắt, nếu còn yêu cầu đến các tầng khác thì thang máy tiếp tục, còn nếu không nó sẽ dừng lại tại vị trí đó.
3. Công nghệ 3.
Xây dựng chương trình điều khiển thang máy chở người 4 tầng đơn giản.
- Điều khiển thang máy bằng 4 nút DT trong buồng thang và 4 nút GT tại mỗi tầng. Có 4 công tắc tầng bố trí tại mỗi tầng.
- Các yêu cầu điều khiển có thể được lựa chọn liên tiếp, minh hoạ bằng đèn trạng thái sáng. Các yêu cầu này sẽ được xử lý ưu tiên theo hành trình đang chuyển động. Khi buồng thang di chuyển tới tầng yêu cầu, cửa buồng thang sẽ mở ra đồng thời đèn trạng thái sẽ sáng nhấp nháy, sau khoảng 5s cửa buồng thang đóng lại, đèn trạng thái tắt. Nếu còn yêu cầu điều khiển thì buồng thang tiếp tục được điều khiển, nếu không nó sẽ dừng tại vị trí tầng đó.
4. Công nghệ 4.
Xây dựng chương trình điều khiển thang máy chở người 4 tầng đơn giản.
- Điều khiển thang máy bằng 4 nút DT (DT1, DT2,DT3,DT4) trong buồng thang và 6 nút GT (1GTL, 2GTL, 2GTX, 3GTL, 3GTX, 4GTX) tại các cửa tầng. Có 4 cảm biến tầng bố trí tại các tầng để xác định vị trí của buồng thang.
- Khi nhấn các nút DT hoặc GT , các yêu cầu này sẽ được lưu giữ và sẽ được xử lý ưu tiên theo hành trình.
- Khi buồng thang tới tầng yêu cầu, nó huỷ yêu cầu đã được xử lý, dừng lại trong khoảng 5s, lúc này đèn trạng thái nhấp nháy với tần số 0,5Hz. Sau khoảng thời gian này đèn trạng thái tắt, nếu còn yêu cầu nó tiếp tục xử lý, nếu không nó sẽ dừng lại tại vị trí tầng đó.