Hướng dẫn [PLC cơ bản]Cách lập trình 1 chương trình PLC

#1
Các bạn mới học PLC thì đương nhiên có đôi chút khó khăn khi viết một chương trình PLC. Một trong những lý do gây khó khăn, theo mình, là các bạn cứ vô tư nhảy vô code, rồi chạy thử, sai thì code lại, rồi chạy thử ... cuối cùng thì không biết là sai ở đâu :((. Vậy các bạn hãy thay đổi cách làm, bằng cách thêm giai đoạn design (thiết kế) trước khi code. (Xây nhà thì bắt buộc phải có bảng vẽ mà, phải không?)
Quy trình bài bản viết một chương trình PLC chỉ gồm 3 bước đơn giản
1. Design(50%)​
a) Sơ lược mô hình​
b) Lập bảng variables​
c) Sơ lược chức năng​
2. Code(25%)​
3. Debug(25%)​
Để minh hoạ cho dễ hiểu, mình lấy ngay bài tập mà một bạn nhờ giúp nhé:
Giúp em viết chương trình điều khiển đèn?. | Cộng đồng cơ điện tử Việt Nam | Mechatronics

Một dãy gồm 5 đèn hoạt động theo nguyên tắc sau: Bật hệ thống bằng nút S1, tắt
bằng nút S2, chuyển chế độ tự động/bằng tay (A/M) bằng công tắc S3
- Chế độ tự động: Khi ấn nút “lên” các đèn sáng lần lượt từ đèn số 1 đến
đèn số 5 và dừng lại. Khi ấn nút “xuống” các đèn tắt dần từ đèn số 5 đến
đèn số 1. Thời gian cách nhau giữa các đèn là 1s
- Chế độ bằng tay: Mỗi lần ấn nút “lên” sẽ có thêm một đèn sáng. Mỗi lần
ấn nút “xuống” sẽ có một đèn tắt.
1a. Design- Sơ lược mô hình (dùng Word vẽ)
1b. Design- Lập bảng variables (dùng Word vẽ)

1b. Design- Sơ lược chức năng
Thường theo thói quen ta hay làm là tổng hợp tất cả tình huống (vd nhấn nút này thì ... hoặc cảm biến 1, cảm biến 2 tác động thì ... ) rồi tác động ra output hoặc timer. Nếu các tình huống càng phức tạp hoặc biến đầu vào tác động quá nhiều thì ta rất dễ sai sót, hoặc rất khó để phát hiện tình huống nào ta code sai. Vậy bây giờ ta thử làm ngược lại: Chọn 1 biến đầu ra (Output, Timer, Counter ....) và từ từ lần ra từng tình huống một tác động đến nó. Cách làm như ví dụ:

a) Biến Memory lưu trạng thái chương trình:


b) Biến Timer, Counter


c) Biến Output


OK, đến đây là chúng ta đã xong giai đoạn thiết kế. Vì chúng ta đã design kỹ rồi nên phần sau (code) thực sự quá dễ dàng. Cứ xem thiết kế và copy qua bên phần mềm PLC mà thôi.

2a. Code - Copy bảng variables to Symbol


2b. Code - Copy từ "Sơ lược chức năng" vô chương trình

a) Biến Memory lưu trạng thái chương trình:

b) Biến Timer, Counter

c) Biến Output

Vậy là xong chương trình. Nếu theo cách này mình tin là các bạn sẽ thấy lập trình PLC thực sự không khó. Khi design trong file Word, chúng ta tự nhiên cũng hình thành thói quen làm document.
Chỉ cần nhìn vào design này, cả năm nhìn lại chương trình ta viết cũng hiểu được, hoặc giả ta có nghỉ việc ở công ty thì đồng nghiệp cũng có cái mà tiếp tục bảo trì. Hơn nữa, chúng ta không mất nhiều thời gian để viết code với một con PLC khác (vì design đã có, chỉ cần copy qua mà thôi).
 

Đính kèm

duong_cdt

Sinh viên đại học
#2
Các bạn mới học PLC thì đương nhiên có đôi chút khó khăn khi viết một chương trình PLC. Một trong những lý do gây khó khăn, theo mình, là các bạn cứ vô tư nhảy vô code, rồi chạy thử, sai thì code lại, rồi chạy thử ... cuối cùng thì không biết là sai ở đâu :((. Vậy các bạn hãy thay đổi cách làm, bằng cách thêm giai đoạn design (thiết kế) trước khi code. (Xây nhà thì bắt buộc phải có bảng vẽ mà, phải không?)
Quy trình bài bản viết một chương trình PLC chỉ gồm 3 bước đơn giản
1. Design(50%)
a) Sơ lược mô hình
b) Lập bảng variables
c) Sơ lược chức năng​
2. Code(25%)
3. Debug(25%)​
Để minh hoạ cho dễ hiểu, mình lấy ngay bài tập mà một bạn nhờ giúp nhé:
Giúp em viết chương trình điều khiển đèn?. | Cộng đồng cơ điện tử Việt Nam | Mechatronics


1a. Design- Sơ lược mô hình (dùng Word vẽ)
1b. Design- Lập bảng variables (dùng Word vẽ)

1b. Design- Sơ lược chức năng
Thường theo thói quen ta hay làm là tổng hợp tất cả tình huống (vd nhấn nút này thì ... hoặc cảm biến 1, cảm biến 2 tác động thì ... ) rồi tác động ra output hoặc timer. Nếu các tình huống càng phức tạp hoặc biến đầu vào tác động quá nhiều thì ta rất dễ sai sót, hoặc rất khó để phát hiện tình huống nào ta code sai. Vậy bây giờ ta thử làm ngược lại: Chọn 1 biến đầu ra (Output, Timer, Counter ....) và từ từ lần ra từng tình huống một tác động đến nó. Cách làm như ví dụ:

a) Biến Memory lưu trạng thái chương trình:


b) Biến Timer, Counter


c) Biến Output


OK, đến đây là chúng ta đã xong giai đoạn thiết kế. Vì chúng ta đã design kỹ rồi nên phần sau (code) thực sự quá dễ dàng. Cứ xem thiết kế và copy qua bên phần mềm PLC mà thôi.

2a. Code - Copy bảng variables to Symbol


2b. Code - Copy từ "Sơ lược chức năng" vô chương trình

a) Biến Memory lưu trạng thái chương trình:

b) Biến Timer, Counter

c) Biến Output

Vậy là xong chương trình. Nếu theo cách này mình tin là các bạn sẽ thấy lập trình PLC thực sự không khó. Khi design trong file Word, chúng ta tự nhiên cũng hình thành thói quen làm document.
Chỉ cần nhìn vào design này, cả năm nhìn lại chương trình ta viết cũng hiểu được, hoặc giả ta có nghỉ việc ở công ty thì đồng nghiệp cũng có cái mà tiếp tục bảo trì. Hơn nữa, chúng ta không mất nhiều thời gian để viết code với một con PLC khác (vì design đã có, chỉ cần copy qua mà thôi).





bài viết của anh rất hay và hữu ích.em cũng mới làm quen với môn lập trình plc mong anh có nhiều vd nữa để cho mọi người cùng tham khảo và học tập.............:)
 

dungtien19

Học sinh trung cấp
#3
E cũng đang học về PLC nhưng chủ yếu mới tiếp cận đến S7 200, S7 300 thôi à. E có vấn đề muốn hỏi a dungdothe về việc phát xung PWM, PTO? A có kinh nghiệm hay tài liệu nào hay về cái đó k ạ! Có thể cho e xin được k ? E cảm ơn!
 

ChipKool

Thạc sỹ
#5
Món này năm cuối bọn em có được học 1 buổi...hic...cũng chẳng hiểu gì...Mà người ta hay dùng PLC lập trình điều khiển thế..hic (_ _)"
 

dungtien19

Học sinh trung cấp
#8
Đúng đấy, cơ điện tử ứng dụng rất nhiều đến PLC, Biến tần, Đ/K servo DC, AC
Đúng đấy bạn, mình học phân ngành toàn là PLC, Biến tần, ĐK Động cơ k ak. Có sư phụ nào có kiến thức, kinh nghiệm chỉ lại tụi e với...
 

mta_cdt

Super Moderator
Thành viên BQT
#10
gửi mail đây mình gửi cho bản s7-200 chạy trên win7 ultimate nhưng chưa test trên win 7 home
bạn up luôn lên forum đi bạn ơi cho anh em down với
 

Quảng cáo Google