Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 71 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
CHƯƠNG 3 : THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG
Mục đích :
Giới thiệu ngôn ngữ thiết kế phần mềm lập trình xử lý tín hiệu. Phương pháp thay thế phần
cứng bằng phần mềm, những lưu ý đặc biệt khi thay thế; Cơ sở thiết lập tài liệu điều khiển quá
trình; Lập tài liệu dự án; Phân tích trình tự các bước thực hiện chương trình trong dự án lớn.
Yêu cầu sau khi học :
1. Nắm được phương pháp thay thế phần cứng, phần mềm.
2. Những lưu ý đặc biệt trong việc thay thế.
3. Sơ đồ và kết nối tủ điện, nối đất, bọc chống nhiễu và tải cảm.
4. Biết được các ý chính trong thiết kế chương trình.
5. Có thể thiết lập tài liệu của một quá trình dùng sơ đồ quá trình.
6. Có thể lập tài liệu một dự án.
7. Có thể phân tích đề ra các bước thực hiện cho chương trình trong một dự án lớn.
Số tiết giảng dạy: 4
Bảng phân chia thời lượng :
STT
Nội dung
Số tiết
1
Các ngôn ngữ lập trình cho PLC theo chuẩn IEC.
1
2
Các bước phân tích thiết kế phần mềm
1
Chuẩn IEC 1131 được phát minh làm cơ sở cho việc xây dựng cấu trúc PLC và được chấp
nhận bởi hầu hết các công ty và tập đoàn trên thế giới. Việc nghiên cứu nắm rõ về nó mở ra
khả năng khám phá, lập trình cho các loại PLC.
Chuẩn được đăng kí vào năm 1992 và lúc ấy chúng được giới thiệu với tên là IEC-61131. Các
thành phần chính của chuẩn bao gồm :
1. IEC 61131-1 Overview
2. IEC 61131-2 Requirements and Test Procedures
3. IEC 61131-3 Data types and programming
4. IEC 61131-4 User Guidelines
5. IEC 61131-5 Communications
6. IEC 61131-7 Fuzzy control
Chuẩn được định nghĩa đủ gần gũi để các công ty vẫn giữ đặc trưng riêng, nhưng cách mô tả
dữ liệu chính tương đối giống nhau.
Loại dữ liệu được định nghĩa trong IEC 61131-3
Bảng 3.1.1: Định nghĩa loại dữ liệu trong chuẩn IEC 1131-3
Loại ngôn ngữ lập trình (IEC 61131-3) có sự liên quan mật thiết với người dùng.
IL (Instruction List) - This is effectively mnemonic programming
ST (Structured Text) - A BASIC like programming language
LD (Ladder Diagram) - Relay logic diagram based programming
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 73 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
FBD (Function Block Diagram) - A graphical dataflow programming method
SFC (Sequential Function Charts) - A graphical method for structuring programs
3.1.4. Ngôn ngữ lập trình SFC/Grafcet
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 75 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
Hình 3.1.5 : Ngôn ngữ lập trình SFC
Ngôn ngữ Sequential functional chart (SFC) là dạng ngôn ngữ đồ họa cung cấp cách mô tả sơ
đồ của việc tuần tự điều khiển trong chương trình. Về cơ bản, SFC là lưu đồ của các khối
được tổ chức dưới dạng các chương trình con hoặc chương trình nhỏ (được lập trình trong
LD, FBD, IL, và/hoặc ST) hình thành nên chương trình điều khiển. SFC đặc biệt có ích cho
các hoạt động điều khiển tuần tự, trong đó chương trình nhảy từ bước này sang bước khác khi
điều kiện nhảy thỏa mãn (TRUE hoặc FALSE).
3.1.5. Sự khác biệt giữa SFC và Grafcet
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 76 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
Hình 3.1.6 : Sự khác biệt giữa Grafcet và SFC
Hình 3.2.1 : Nguyên tắc thực hiện lệnh trong PLC
Trình tự thiết kế chương trình điều khiển.
Hình 3.2.2 : Trình tự thiết kế chương trình điều khiển 3.3. THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 78 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
Một cách tiếp cận có phương pháp, cẩn thận để thiết kế phần mềm có thể làm giảm thời gian
thiết kế và tạo ra được một hệ thống có độ tin cậy cao.
Cách tiếp cận đó được bao gồm :
1. Thiết kế an toàn.
2. Khả năng gỡ rối.
3. Khả năng khắc phục sự cố.
4. Dùng việc gán trong kiểm tra chương trình.
5. Xây dựng mô hình hệ thống.
3.3.1. Thiết kế an toàn (Fail Safe Design)
Cần phải dự đoán được hệ thống lỗi thế nào. Một số trường hợp lỗi có thể xảy ra như sau :
Kẹt thiết bị - Một thiết bị chấp hành hoặc một khối thiết bị đột nhiên bị kẹt. Vấn đề
này có thể dò bằng cách bổ sung cảm biến dò vị trí thiết bị chấp hành hoặc khối đó.
• Dùng các chương trình không được cấu hình, có thể dự đoán trước.
• Lập trình hạn chế sự truy cập của người không có thẩm quyền.
• Kiểm tra hệ thống trước khi khởi động, cho phép khởi động nếu OK.
• Dùng các chức năng tích hợp trong PLC để dò sai số và lỗi.
Con người
• Cung cấp tài liệu kỹ thuật của hệ thống đang hoạt động, rõ ràng cho người sử dụng và
tổ bảo trì.
• Thực hiện huấn luyện đối với người dùng mới và kỹ sư để giảm việc cẩu thả và lỗi do
không am hiểu về hệ thống.
3.3.3. Gỡ rối (DEBUGGING)
Gỡ rối bao gồm chạy chương trình, kiểm tra lỗi và sau đó khắc phục nó. Một người lập trình
ít kinh nghiệm cần nhiều thời gian để gỡ rối hơn là thời gian lập trình phần mềm. Đối với
PLC, điều này không thể chấp nhận được! Nếu bạn đang chạy chương trình và nó đang hoạt
động sai, nó thường phá hỏng phần cứng. Đồng thời, nếu xuất hiện lỗi không rõ ràng, ta phải
khảo sát và thiết kế lại chương trình. Khi một chương trình được gỡ rối bằng “trial and error”,
có lẽ là có lỗi còn lại trong chương trình, và chương trình khó mà đúng. Nên nhớ, lỗi trong
chương trình PLC có thể giết chết người người sử dụng.
Chú ý : Khi chương trình chạy lần đầu, tốt nhất nên đặt một tay lên nút dừng khẩn cấp (E-
stop)
3.3.4. Khắc phục lỗi (Troubleshooting)
Sau khi hệ thống hoạt động, đến một lúc nào đó nó sẽ có lỗi. Khi lỗi xảy ra, cần thiết phải xác
định và xử lý lỗi nhanh chóng. Các bước sau hỗ trợ cách dò tìm lỗi trong hệ thống PLC.
1. Quan sát quy trình để biết trạng thái hoạt động bình thường, chẳng hạn như không bị
kẹt thiết bị chấp hành, cơ cấu không bị lỗi,…. Nếu thấy lỗi, xử lý và khởi động lại hệ
thống.
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
phương pháp lập trình dùng các kỹ thuật như sơ đồ trạng thái, SFC hoặc PetriNET. Hệ thống
lớn có thể chứa đến vài trăm loại vấn đề mà ta sẽ thiết kế lập trình dựa trên cơ sở của các
phương pháp này. Phần này sẽ hướng dẫn để giúp ta biết phương pháp tiếp cận những cách
thiết kế này. Quan trọng nhất là rõ ràng và đơn giản.
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 81 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
3.4.1. Xây dựng cấu trúc chương trình.
Hiểu quá trình sẽ đơn giản được quá trình thiết kế điều khiển. Khi hệ thống chỉ được hiểu sơ
sài hay gần đúng sẽ dẫn đến xây dựng quá trình trở nên không thể thực hiện được.
Những câu hỏi có thể dùng để làm rõ ràng hệ thống, bao gồm :
1. "Có những ngõ vào nào?"
2. "Có những ngõ ra nào?"
3. "Mối liên hệ giữa ngõ vào và ngõ ra?"
4. "Hoạt động của hệ thống có thể sơ đồ hóa được không?"
5. "Thông tin mà hệ thống cần?"
6. "Thông tin về sản phẩm của hệ thống?
Khi một vấn đề điều khiển lớn được chia nhỏ thành những những vấn đề nhỏ. Điều này có
nghĩa là từng phần nhỏ của hệ thống hoạt động độc lập nhau. Điều này có thể đồng thời xảy
ra khi các hoạt động xảy ra trong một quá trình tuần tự không thay đổi. Nếu đây là trường hợp
vấn đề điều khiển có thể được chia nhỏ thành hai phần đơn giản hơn. Câu hỏi được hỏi là:
"Những hoạt động này có bao giờ xảy ra cùng một thời điểm?"
"Hoạt động này có ảnh hưởng đến hoạt động khác?"
phải được viết khi viết chương trình. Lời chú thích phải được nhận khi nhập các toán tử LAD.
Điều này làm cho quá trình suy nghĩ rõ ràng và phần mềm ít lỗi. Tài liệu kỹ thuật cần thiết
cho một dự án lớn để phục vụ cho việc bảo trì hệ thống. Thậm chí nếu ta bảo trì nó, ta cũng
có thể quên mục đích nguyên bản thiết kế là gì!
Một vài điều khó khăn không ngờ đến đối với người thiết kế trong những dự án lớn được liệt
kê dưới đây.
Những người thiết kế nghiệp dư lao vào thiết kế bắt đầu công việc dễ dàng, nhưng
những chi tiết họ bỏ qua tốn nhiều thời gian để khắc phục khi họ thực hiện được nữa
quảng đường.
Những chi tiết không được dự đoán và dự án trở nên một tác nhiệm phức tạp, đồ sộ
thay vì nó chỉ là một nhóm các tác nhiệm nhỏ đơn giản.
Người thiết kế viết một chương trình đồ sộ (huge program) thay vì những chương trình
nhỏ. Điều này làm (proof reading) việc đọc lại khó khăn hơn.
Người lập trình ngồi trước bàn phím và gỡ rối bằng “trial and error”. Nếu một người
lập trình đang kiểm tra một chương trình và một lỗi xảy ra, có hai trường hợp có thể
xảy ra. Thứ nhất, người lập trình biết rõ vấn đề lỗi và có thể khắc phục nó tức thời.
Thứ hai, người lập trình chỉ có một ý tưởng lờ mờ, và thường là thực hiện quá trình gỡ
Auto books THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG No2
Copyright
2014 by www.azauto.vn 83 /326 Tutorial
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
rối bằng phương pháp “trial-and-error”. Nếu thực hiện phương pháp “trial-and-error”
được thực hiện, ta sẽ không hiểu rõ chương trình và nó phải được lập kế hoạch lại.
Các chi tiết nhỏ được để lại để hoàn thành sau. Những chi tiết này có thể để lại mà
không thực hiện, và dẫn đến chương trình lỗi trong hoạt động.
Người thiết kế với những cách tiếp cận không khoa học do cách thiết kế không khoa
học, không nghe lời đóng góp của đồng nghiệp. Điều này thường xảy ra do việc thiết
Status: 18/08 Version 2.2
Tài liệu này được xây dựng để hỗ trợ sinh viên học tập, nghiên cứu. Thông tin liên quan xin liên hệ www.azauto.vn hoặc 0913.586.147
7. Burn-in – Việc kiểm tra này được thực hiện trong một khoảng thời gian dài. Một vài
lỗi chỉ có thể xảy ra khi máy hoạt động trải qua nhiều vòng quét hay trải qua một vài
ngày
Kiểm tra chương trình có thể được thực hiện ngay trên máy, nhưng không phải lúc nào cũng
có thể thực hiện được hay hợp lý. Trong trường hợp này, những phần mềm mô phỏng cho
phép chương trình được kiểm tra không cần máy móc thực tế.
Việc sử dụng một phần mềm mô phỏng dựa theo các bước sau:
1. Ngõ vào và ngõ ra thiết bị được xác định.
2. Mô hình cơ bản của hệ thống là xác định theo nhóm các ngõ vào, ngõ ra. Điều này
có nghĩa là xác định ngõ ra bị ảnh hưởng như thế nào khi ngõ vào thay đổi.
3. Một hệ thống mô phỏng được xây dựng với sự kết hợp một vài phần cứng và phần
mềm đặc biệt.
4. Hệ thống được kiểm tra cho hoạt động mong muốn của hệ thống.
5. Hệ thống sau đó được dùng để kiểm tra phần mềm và kiểm tra hoạt động.
Tài liệu tham khảo
TIẾNG VIỆT
TIẾNG ANH
[2]. L. A. Bryan; E. A. Bryan. Programmable Controller Theory and Implementation
Industrial Text Company. 1998.
[3]. HughJack. Automating Manufacturing Systems with PLCs.2010
[4]. E.A. Parr, MSc, CEng, MIEE, MinstMC. Programmable Controllers An engineer’s
guide. Newnes. 2003