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 , địnhthờ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áttriển các máy tính dẫn đ
Trang 1PHẦN NỘI DUNG
Chương 1: LÝ THUYẾT LIÊN QUAN
1 Khái quát chung về thiết bị điều khiển lập trình PLC
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ôngqua 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
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ểnbê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” trongchươ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
+ 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ô Module 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ácLogic 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ềunày đã gây ra sự quan tâm sâu sắc đến việc sử dụng PLC trong công nghiệp
_1
Trang 2Các tập lệnh nhanh chóng đi từ các lệnh logic đơn giản đến các lệnh đếm , địnhthờ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áttriể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 qui 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 các bộ dây nối hay Relay
+ Ngõ vào dạng số: gồm hai trạng thái ON và OFF Khi ở trạng thái ON thì ngõ vào số được coi như ở mức logic 1 hay mức logic cao Khi ở trang thái OFF thì ngõ vào có thể được coi như ở mức logic 0 hay mức logic thấp
+ Ngõ ra số: gồm hai trạng thái ON và OFF Các ngõ ra này thường được nối ra
để điều khiển các cuộn dây contactor, đèn tín hiệu…
+ 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
+ Thiết bị chấp hành (Autuator): là thiết bị biến đổi tín hiệu điện từ PLC thành _2
Trang 3một tác động vật lý Autuator được nối với ngõ ra của PLC
+ 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ựngmộ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 quy luật thay đổi tín hiệu output ở phía đầu ra của PLC theo sự thay đổi 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 hay PG
+ 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 xuống PLC
PLC 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 Module 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ằngtay 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ácPLC 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 trachương trình Các đơn vị lập trình nối với PLC qua cổng RS232, RS422, RS458, …
1.1.1.2 Nguyên lý hoạt động của PLC :
Đơn vị xử lý trung tâm: CPU điều khiển các hoạt động bên trong PLC Bộ xử lý
sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự _3
Trang 4từng lệnh trong chương trình , sẽ đóng hay ngắt các đầu ra Các trạng thái ngõ ra ấy được phát đến các thiết bị liên kết để thực thi Và toàn bộ các hoạt động thực thi đó đều phụ thuộc vào chương trình điều khiển được giữ trong bộ nhớ
Hệ thống Bus: Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm
nhiều đường tín hiệu song song:
+ Address Bus : Bus địa chỉ dùng để truyền địa chỉ đến các Module khác nhau + Data Bus : Bus dùng để truyền dữ liệu
+ Control Bus : Bus điều khiển dùng để truyền các tín hiệu định thì và điểu khiển đồng bộ các hoạt động trong PLC
Trong PLC các số liệu được trao đổi giữa bộ vi xử lý và các module vào ra thông qua Data Bus Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép truyền 8 bit của 1 byte một cách đồng thời hay song song
Nếu một module đầu vào nhận được địa chỉ của nó trên Address Bus , nó sẽ chuyển tất cả trạnh thái đầu vào của nó vào Data Bus Nếu một địa chỉ byte của 8 đầu
ra xuất hiện trên Address Bus, module đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của PLC
Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn chế
Hệ thống Bus sẽ làm nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O Bên cạnh đó, CPU được cung cấp một xung Clock có tần số từ 1¸8 MHZ Xung này quyết định tốc độ hoạt động của PLC và cung cấp các yếu tố về định thời, đồng hồ của hệ thống
Bộ nhớ :
+ PLC thường yêu cầu bộ nhớ trong các trường hợp : Làm bộ định thời cho cáckênh trạng thái I/O Làm bộ đệm trạng thái các chức năng trong PLC như định thời, đếm, ghi các Relay
_4
Trang 5+ Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ, tất cả mọi vị trí trong bộ nhớ đều được đánh số, những số này chính là địa chỉ trong bộ nhớ Địa chỉ của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong bộ vi xử lý Bộ vi
xử lý sẽ giá trị trong bộ đếm này lên một trước khi xử lý lệnh tiếp theo Với một địa chỉ mới , nội dung của ô nhớ tương ứng sẽ xuất hiện ở đấu ra, quá trình này được gọi
là quá trình đọc
Bộ nhớ bên trong PLC được tạo bỡi các vi mạch bán dẫn, mỗi vi mạch này có khả năng chứa 2000 - 16000 dòng lệnh , tùy theo loại vi mạch Trong PLC các bộ nhớ nhưRAM, EPROM đều được sử dụng
+ RAM (Random Access Memory ) có thể nạp chương trình, thay đổi hay xóa bỏ nội dung bất kỳ lúc nào Nội dung của RAM sẽ bị mất nếu nguồn điện nuôi bị mất
Để tránh tình trạng này, các PLC đều được trang bị một pin khô, có khả năng cung cấpnăng lượng dự trữ cho RAM từ vài tháng đến vài năm Trong thực tế RAM được dùng
để khởi tạo và kiểm tra chương trình Khuynh hướng hiện nay dùng CMOSRAM nhờ khả năng tiêu thụ thấp và tuổi thọ lớn
+ EPROM (Electrically Programmable Read Only Memory) là bộ nhớ mà người sử dụng bình thường chỉ có thể đọc chứ không ghi nội dung vào được Nội dung của EPROM không bị mất khi mất nguồn, nó được gắn sẵn trong máy, đã được nhà sản xuất nạp và chứa hệ điều hành sẵn Nếu người sử dụng không muốn mở rộng bộ nhớ thì chỉ dùng thêm EPROM gắn bên trong PLC Trên PG (Programer) có sẵn chỗ ghi
và xóa EPROM
+ EEPROM (Electrically Erasable Programmable Read Only Memory) liên kết vớinhững truy xuất linh động của RAM và có tính ổn định Nội dung của nó có thể được xóa và lập trình bằng điện, tuy nhiên số lần là có giới hạn
Môi trường ghi dữ liệu thứ tư là đĩa cứng hoặc đĩa mềm, được sử dụng trong máy lập trình Đĩa cứng hoặc đĩa mềm có dung lượng lớn nên thường được dùng để lưu những chương trình lớn trong một thời gian dài
Kích thước bộ nhớ :
+ Các PLC loại nhỏ có thể chứa từ 300 -1000 dòng lệnh tùy vào công nghệ chế tạo _5
Trang 6+ Các PLC loại lớn có kích thước từ 1K - 16K, có khả năng chứa từ 2000 - 16000 dòng lệnh.
Ngoài ra còn cho phép gắn thêm bộ nhớ mở rộng như RAM , EPROM
Các ngõ vào ra I/O:
Các đường tín hiệu từ bộ cảm biến được nối vào các module ( các đầu vào của PLC ), các cơ cấu chấp hành được nối với các module ra ( các đầu ra của PLC ) Hầu hết các PLC có điện áp hoạt động bên trong là 5V, tín hiệu xử lý là 12/24VDC hoặc
100/240VAC Mỗi đơn vị I/O có duy nhất một địa chỉ, các hiển thị trạng thái của các kênh I/O được cung cấp bởi các đèn LED trên PLC, điều này làm cho việc kiểm tra hoạt động nhập xuất trở nên dể dàng và đơn giản Bộ xử lý đọc và xác định các trạng thái đầu vào (ON,OFF) để thực hiện việc đóng hay ngắt mạch ở đầu ra
1.1.2 Các hoạt động xử lý bên trong PLC
+ Tiếp theo, bộ xử lý sẽ đọc và xử lý tuần tự lệnh một trong chương trình Trong ghi đọc và xử lý các lệnh, bộ vi xử lý sẽ đọc tín hiệu các đầu vào, thực hiện các phép toán logic và kết quả sau đó sẽ xác định trạng thái của các đầu ra
+ Cuối cùng, bộ vi xử lý sẽ gán các trạng thái mới cho các đầu ra tại các module đầu ra
1.1.2.2 Xử lý xuất nhập:
_6
Trang 7Gồm hai phương pháp khác nhau dùng cho việc xử lý I / O trong PLC :
+ Cập nhật liên tục :
Điều nay đòi hỏi CPU quét các lệnh ngỏ vào (mà chúng xuất hiện trong chương
trình ), khoảng thời gian Delay được xây dựng bên trong để chắc chắn rằng chỉ có
những tín hiệu hợp lý mới được đọc vào trong bộ nhớ vi xử lý Các lệnh ngõ ra được lấy trực tiếp tới các thiết bị Theo hoạt động logic của chương trình, khi lệnh OUT
được thực hiện thì các ngõ ra cài lại vào đơn vị I/O, vì thế nên chúng vẫn giữ được
trạng thái cho tới khi lần cập nhật kế tiếp
+ Chụp ảnh quá trình xuất nhập :
Hầu hết các PLC loại lớn có thể có vài trăm I/O, vì thế CPU chỉ có thể xử lý một lệnh ở một thời điểm Trong suốt quá trình thực thi, trạng thái mỗi ngõ nhập phải đượcxét đến riêng lẻ nhằm dò tìm các tác động của nó trong chương trình Do chúng ta yêu cầu delay 3ms cho mỗi ngõ vào, nên tổng thời gian cho hệ thống lấy mẫu liên tục trở nên rất dài và tăng theo số ngõ vào
Để làm tăng tốc độ thực thi chương trình, các ngõ I/O được cập nhật tới một vùng đặc biệt trong chương trình Ở đây, vùng RAM đặc biệt này được dùng như một bộ
đệm lưu trạng thái các logic điều khiển và các đơn vị I/O Mỗi ngõ vào ra đều có một địa chỉ I/O RAM này Suốt quá trình copy tất cả các trạng thái vào trong I/O RAM
Quá trình này xảy ra ở một chu kỳ chương trình (từ Start đến End )
Thời gian cập nhật tất cả các ngõ vào ra phụ thuộc vào tổng số I/O được copy tiêubiểu là vài ms Thời gian thực thi chương trình phụ thuộc vào chiều dài chương trình điều khiển tương ứng mỗi lệnh mất khoảng từ 1-10 us
1.1.3 PLC S7- 200 CPU 224
- Bộ nhớ:
+ Chương trình: từ 32 đến 64Kb tuỳ theo loại CPU
+ Dữ liệu: từ 16Kb đến 40Kb tuỳ theo loại CPU
Số I/O số có sẵn trên CPU 6IN/4OUT 8IN/6OUT 14IN/10OUT 24IN/16OUT
Số module tối đa có thể ghépKhông có 2 module 7 module 7 module
_7
Trang 8128OUT
128IN 128OUT
128IN 128OUT
128IN 128OUT
Số lợng I/O Analog tối đa Không có 16IN
16OUT
32IN 32OUT
32IN 32OUT
Việc giao tiếp này phải thông qua một phần mềm gọi là phần mềm lập trình. _8
Trang 9Mỗi một loại PLC hoặc một họ PLC khác nhau cũng có những phần mềm lậptrình khác nhau.
Đối với PLC S7-200, SIEMEN đó xây dựng một phần mềm để có thể lập trìnhcho họ PLC loại này Phần mềm này có tên là STEP7- MicroWIN32.Đây là một phầnmềm chạy trên nền Windows 32bit, trải qua nhiều phiên bản khác nhau Ở đây tậptrung nói về STEP7-MicroWIN32 version 4.0
Ngoài việc phục vụ lập trình cho PLC S7-200, phần mềm này cũng có rất nhiềucác tính năng khác như các công cụ gỡ rối, kiểm tra lỗi, hỗ trợ nhiều cách lập trình vớicác ngôn ngữ khác nhau…
Phần mềm này cũng có xây dựng một phần trợ giúp (Help) có thể nói là rất đầy
đủ, chi tiết và tiện dụng Người dùng có thể tra cứu các vấn đề về PLC S7-200 mộtcách rất nhanh chóng, rõ ràng và dễ hiểu
Để có thể thực hiện phần mềm lập trình STEP7- MicroWIN32 ta có 2 cách:
Các khối
chức
năng
Công cụ kết nối các lệnh
Nút thay đổi trạng thái làm việc của PLC
Down load/Uploa d
Nút kiểm tra trạng thái của chương trình.
Mở, tạo mới, lưu
một CT điều
khiển
Trang 102.1.1 Một số thành phần quan trọng:
- Program Block:
Khi click chuột vào nút này ta sẽ trở về được vùng soạnthảo chương trình Ở vùng này ta có thể thêm bớt các đầu vào/ra,các biến, các lệnh, hàm để thực hiện chương trình điều khiển
- Communications và cách kiểm tra sự kết nối với PLC S7-200:
_10
Trang 11Ở đây ta có thể thay đổi cách mà máy tính truyền thông vớiPLC S7-200 (PPI, MPI, tốc độ truyền…) hoặc kiểm tra có haykhông sự truyền thông giữa máy tính và PLC S7-200 (kiểm tra sự
có mặt của PLC hay không)
Đây là một trong những thành phần quan trọng nhất của
STEP7- MicroWIN32 Nó bao gồm toàn bộ các lệnh và khối hàm
của STEP7- Micro WIN32 để có thể tạo được một chương trình
điều khiển cho PLC S7-200
Người dùng có thể tìm thấy các lệnh hoặc hàm mình cần dựa
trên các nhóm có cùng chức năng mà STEP7- MicroWIN32 đã
phân loại sẵn
Trong đó thường dùng nhất là các khối:
+ Bit Logic: bao gồm các lệnh làm việc với bit và thực hiện
các phép toán logic như AND, OR, NOT…
+ Compare: bao gồm các khối lệnh dùng để so sánh dữ liệu như >, <, =, ≥, ≤ + Interger Math, Floating-Point Math: nhóm lệnh làm việc với số nguyên 16 bit,
32 bit và số thực Nhóm lệnh này thực hiện các phép toán số học như +, -, *, /…+ Move: các khối lệnh dùng để di chuyển dữ liệu từ vùng nhớ này sang vùng nhớkhác của PLC
+ Timer: đây là khối lệnh làm việc với các loại timer của S7-200
+ Counter: đây là khối lệnh làm việc với các loại timer của S7-200
_11
Trang 12Ngoài ra còn các khối khác cũng rất quan trọng chúng ta có thể tham khảo thêm ởphần Help của STEP7- MicroWIN32.
Để có thể biết một khối hàm hoặc lệnh làm việc như thế nào và điều kiện kèmtheo chúng ta chọn khối hàm, lệnh đó và nhấn F1
+ Vựng soạn thảo:
Đây là vùng mà STEP7- MicroWIN32 dành cho người dùng soạn thảo các chươngtrình điểu khiển của riêng mình.Ở đây người dùng có thể thêm các lệnh các khối hàm,các cấu trúc điều khiển chương trình tạo các kết nối giữa các câu lệnh để thực thi cácnhiệm vụ điều khiển
Có 3 phương pháp hay nói cách khác là 3 ngôn ngữ khác nhau để viết một chươngtrình điều khiển cho PLC S7-200:
+ Statement List (STL): lập trình ở dạng danh sách lệnh dựa trên các từ gợi nhớ.+ Lader (LAD): lập trình dạng hình thang có dạng như một sơ đồ nguyên lý mạch.+ Function Data Block (FDB): lập trình dựa trên các khối logic cơ bản AND, OR…Cũng nên lưu ý sự khác nhau giữa vùng soạn thảo khi dùng ngôn ngữ LAD so vớicác ngôn ngữ khác
Người dùng có thể thực hiện việc chuyển đổi việc lập trình giữa các ngôn ngữkhác nhau thông qua việc lựa chọn ngôn ngữ lập trình khi vào menu:
View STL hoặc LAD hoặc FDB
Ngoài ra khi soạn thảo chương trình STEP7- MicroWIN32 cũng hỗ trợ người dùngvới các thông báo lỗi về cú pháp, về dữ liệu…
2.1.2 Một số thao tác quan trọng:
- Có 2 cách để tạo một chương trình mới:
+ Vào menu File New
+ Dùng biểu tượng trên thanh cụng cụ
- Lưu lại chương trình đó viết bằng cách:
+ Vào menu File Save
+ Dùng biểu tượng trên thanh công cụ
- Để chèn một network mới:
_12
Trang 13+ Click chuột phải vào số thứ tự của network, chọn Insert Network(s).
+ Dùng biểu tượng trên thanh công cụ
- Để xoá một network: chọn network
+ Click chuột phải vào network cần xóa, chọn Delete Network(s)
+ Dùng biểu tượng trên thanh công cụ
- Để thêm một lệnh trong chương trình:
Chọn vị trí của lệnh trong chương trình:
+ Tiếp theo chọn Instructions, chọn nhóm lệnh sẽ làm việc, double click vào lệnh cầndùng
+ Dùng biểu tượng trên thanh công cụ
- Để PLC S7-200 có thể thực hiện được các chương trình điều khiển, người dùng phảiDownload chương trình xuống PLC
+ Chọn File Download Và việc download có phím tắt là Ctrl+D
+ Dùng ngay biểu tượng ở trên thanh cụng cụ
- Khi trong PLC có sẵn một chương trình, người dùng cần đưa lên để kiểm tra, chỉnhsửa STEP7- MicroWIN32 cũng hỗ trợ việc Upload
+ Chọn menu File Upload Phím tắt là Ctrl+U
+ Dùng biểu tượng ở trên thanh công cụ
Cần phải lưu ý là để Upload hoặc Download chương trình cho PLC thì phải chắcchắn rằng PLC S7-200 đó được kết nối đến máy tính và việc truyền thông với máytính đó được thiết lập Hay nó cách khác máy tính phải nhận ra được sự tồn tại củaPLC Nếu không STEP7- MicroWIN32 sẽ báo lỗi Khi kết nối thành công STEP7-MicroWIN32 sẽ đưa ra bảng thông báo các thành phần sẽ được download xuống PLC.Muốn download được thì phải chuyển PLC về trạng thái dừng (STOP) bằng cáchnhấn nút STOP trên thanh công cụ
2.2 Các bước để lập trình một chương trình điều khiển cho PLC S7-200.
2.2.1 Bước 1: Phân tích yêu cầu công nghệ.
Phân tích các yêu cầu chung của hệ thống (tức là xác định thành phần nào cầnđiều khiển, yêu cầu về thời gian, độ chính xác…)
_13
Trang 14- Phân tích thứ tự tác động của các thành phần trong hệ thống Hay nói cách khác là sựphân biệt thứ tự hoạt động của các thành phần trong hệ thống, cái nào trước, cái nàosau và sự liên quan giữa chúng.
Phân tích bản chất của từng thành phần để xác định được các điều kiện liên quan
mà chỉ phụ thuộc vào bản chất riêng của nó và kết hợp với toàn bộ với những phântích trước đó để có phương pháp điểu khiển thích hợp
2.2.2 Bước 2: Lập bảng địa chỉ cho các I/O.
Từ các bước phân tích về công nghệ cho ta biết sẽ có bao nhiêu I/O trong hệthống, bản chất của các I/O (số, tương tự, xung…) và ta sẽ xây dựng được một bảngcác I/O cho toàn bộ hệ thống
Việc xây dựng bảng I/O phụ thuộc vào hệ thống và cấu hình PLC hoặc hệ PLC
mà chúng ta định viết chương trình điều khiển Và việc gán địa chỉ cho các I/O của hệthống phải tuân thủ những quy định của nhà cung cấp PLC
2.2.3 Bước 3: Lập giản đồ thời gian hoặc lưu đồ thuật toán điều khiển.
Đối với những hệ điều khiển tương đối lớn và phức tạp thì bước này rất quantrọng cho việc lập trình về sau này.Nó sẽ giúp cho người lập trình phân tích hệ thốngđiều khiển thành từng phần, sự liên quan và thứ tự tác động của chúng và từ đó sẽ cụthể hoá được phương án điều khiển trên chương trình cho PLC
Đối với những hệ thống nhỏ không có quá nhiều các I/O thì người ta có thể xâydựng giản đồ thời gian tương ứng cho từng I/O nằm trong tổng thể thứ tự và thời giantác động của toàn bộ I/O của hệ thống
2.2.4 Bước 4: Viết chương trình điều khiển.
Từ những gì đã có từ việc phân tích hệ thống và xây dựng lưu đồ thuật toán hoặcgiản đồ thời gian thì việc cụ thể hoá bằng ngôn ngữ lập trình và đưa xuống PLC cũngrất quan trọng
Người lập trình cũng phải tuân thủ những quy định của nhà sản xuất về việc lậptrình cho loại PLC S7-200 của họ dẫn đến một số hạn chế nhất định trong việc thểhiện thuật toán Và đôi khi cũng phải điều chỉnh lại thuật toán cho phù hợp với loạiPLC mà mình đang có
_14
Trang 152.2.5 Bước 5: Chạy thử chương trình và kiểm tra lỗi
Sau khi đã hoàn thiện chương trình điều khiển và kiểm tra những lỗi có thể thấyđược như các lỗi về cú pháp, về sự sai khác kiểu dữ liệu, về thời gian… thì có thểdownload chương trình xuống PLC để chạy thử
Việc chạy thử này nếu có thể thực hiện trên hệ thống thực tế là tốt nhất còn nếukhông có thể chạy thử trên các phần mềm mô phỏng hoặc một hệ thống được xâydựng để mô phỏng lại hệ thống cần điều khiển Từ việc kiểm tra các đáp ứng của hệthống sau khi chạy thử thì người lập trình có thể kiểm tra lại toàn bộ thuật toán màmình đã xây dựng từ đó chỉnh sửa lai chương trình để đáp ứng được hoàn toàn các yêucầu của hệ thống
3 TẬP LỆNH TRONG S7-200:
3.1 Lệnh về bit:
: tiếp điểm thường hở
: tiếp điểm thường đóng
: Cuộn coil, ngõ ra
: đảo trạng thái bit
: Set bit _15
Trang 16: Reset bit: Vi phân cạnh lên: Vi phân cạnh xuống.
3.2 Timer: TON, TOF, TONR.
TON: Delay On
TOF: Delay Off
TONR: Delay On có nhớ
3.2.1 TON:
IN: BOOL: cho phép Timer
PT: Int: giá trị đặt cho timer(VW, IW, QW, MW, SW,SMW,LW, AIW, T, C, AC, Constant, *VD, *LD, *AC)Txxx: số hiệu Timer
Trong S7_200 có 256 Timer, ký hiệu từ T0-T255
Các số hiệu Timer trong S7_200 như sau:
Trang 173.2.2 TOF:
IN: BOOL: cho phép Timer
PT: Int: giá trị đặt cho timer(VW, IW, QW, MW,
SW, SMW,LW, AIW, T, C, AC, Constant, *VD, *LD,
*AC)
Txxx: số hiệu Timer
3.2.3 TONR:
IN: BOOL: cho phép Timer
PT: Int: giá trị đặt cho timer(VW, IW, QW, MW,
SW, SMW, LW, AIW, T, C, AC, Constant, *VD, *LD,
PV:giá trị đặt cho counter INTPV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, _17
Trang 18Constant, *VD, *AC, *LD, SW
Mô tả:
Mỗi lần có một xung cạnh lên ở chân CU, giá trị bộ đếm (1 Word) được tănglên 1 Khi giá trị hiện tại lớn hơn hoặc bằng giá trị đặt PV(Preset value), ngõ
ra sẽ được bật lên ON
Khi chân Reset được kích (xung lên) giá trị hiện tại bộ đếm và ngõ ra được trả
về 0 Bộ đếm ngưng đếm khi giá trị bộ đếm đạt giá trị tối đa là 32767 (216 – 1)
3.3.2 Counter Down(đếm xuống):
Mô tả:
Khi chân LD được kích (xung lên) giá trị PV được nạp cho bộ đếm
Mỗi lần có một xung cạnh lên ở chân CD, giá trị bộ đếm (1 Word) được giảmxuống 1 Khi giá trị hiện tại của bộ đếm bằng 0, ngõ ra sẽ được bật lên ON và bộđếm sẽ ngưng đếm
3.3.3 Counter Up/Down (đếm lên/xuống):
_18
Trang 19Mô tả:
Mỗi lần có một xung cạnh lên ở chân CU, giá trị bộ đếm (1 Word)
được tăng lên 1 Mỗi lần có một xung cạnh lên ở chân CD, giá trị
bộ đếm được giảm xuống 1 Khi giá trị hiện tại lớn hơn hoặc bằng giá trịđặt PV(Preset value), ngõ ra sẽ được bật lên ON
Khi chân R được kích (xung lên) giá trị bộ đếm và ngõ Out được trả về 0 Giá trị cao nhất của bộ đếm là 32767 và thấp nhất là –32768 Khi giá trị bộđếm đạt ngưỡng
3.4 Lệnh MOVE:
Trong S7_200 có các hàm Move sau:
Move_B: Di chuyển các giá trị cho nhau trong giới hạn 1 Byte
Move_W: Di chuyển các giá trị nguyên cho nhau trong giới hạn 1
Trang 20Constant, *VD, *LD, *AC
OUT Ngõ ra VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *LD, *AC
Khi có tín hiệu ở ngõ cho phép, lệnh sẽ chuyển nội dung của ô nhớ trong
(IN) sang ô nhớ trong OUT
Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong
(IN) sang ô nhớ trong OUT
3.4.3 MOVE_DW
EN: ngõ vào cho phép
IN Ngõ vào: VD, ID, QD, MD, SD, SMD,
_20
Trang 21LD, HC, &VB, &IB, &QB, &MB, &SB, &T,
&C, &SMB, &AIW, &AQW AC, Constant,
*AC
OUT Ngõ ra: VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC
Khi có tín hiệu ở ngõ cho phép,lệnh sẽ chuyển nội dung của ô nhớ trong
(IN) sang ô nhớ trong OUT
3.4.4 MOVE_R
SMD, LD, AC, *VD, *LD, *AC
Khi có tín hiệu ở ngõ cho phép,lệnh
sẽ chuyển nội dung của ô nhớ trong
(IN) sang ô nhớ trong OUT
Các tín hiệu ngõ vào cũng như ngõ
ra của các lệnh Move phải được
Trang 22Byte : 1101 1101 Sau lệnh dịch N=3 kết quả:
0001 1011 ( 3 Bit 000 mới được đẩy vào,3Bit 101 bị đẩy ra)
Trang 23Dịch chuyển bit cao sang bit thấp và chia 2n
Tương tự có lệnh xoay phải,trái Word,Dw
3.6 Các hàm số học:
3.6.1 Lệnh cộng trừ:
ADD_I: Cộng hai số nguyên 16 bit
SUB_I: Trừ hai số nguyên 16 bit
EN: ngõ vào cho phépIN1 + IN2 = OUT
IN1 – IN2 = OUT
Khi ngõ vào cho phép lên 1 chương trình sẽ thực hiện việc cộng ( hay trừ) 2 số
Trang 24nguyên 16 Bit ở IN1, IN2 tương ứng ,kết quả đưa vào OUT.
Tương tự, ta có:
ADD_DI: Cộng hai số nguyên 32 Bit
SUBB_DI: trừ hai số nguyên 32 Bit
ADD_R: Cộng hai số thực
SUBB_R: trừ hai số thực
3.6.2 Lệnh nhân chia:
MUL_I: Nhân hai số nguyên 16 bit
DIV_I:chia hai số nguyên 16 bit
EN: ngõ vào cho phépIN1 * IN2 = OUT
IN1 / IN2 = OUT
Nếu kết quả chia có dư thì phần dư sẽ đượcbỏ
Khi ngõ vào EN lên 1, chương trình sẽ thực hiện việc nhân ( hay chia) 2
số nguyên 16 Bit, kết quả cất vào số nguyên 16 Bit
Trường hợp chia:do OUT là số nguyên 16 Bit, nên phần dư của phép chia sẽ bịbỏ
Trường hợp nhân: nếu bị tràn bộ nhớ thì OUT sẽ chứa phần Byte thấp Tương tự,
ta có:
Trang 25MUL_DI: Nhân hai số nguyên 32 bit
DIV_DI: Chia hai số nguyên 32 bit
MUL_R: Nhân hai số thực
DIV_R: Chia hai số thực
Lệnh MUL, DIV : Tương tự lệnh nhân và chia, nhưng trong trường hợp này ngõ ra
OUT là 32 Bit
Ta sẽ sử dụng lệnh MUL hay DIV khi không biết ngõ ra có bị tràn 16 Bit haykhông
3.6 3 Lệnh tăng giảm:
INC_B: Tăng Byte
DEC_B: Giảm Byte
Trang 26Các hàm tương tự:
INC_W: Tăng Word
DEC_W: Giảm Word
Trang 27Tương tự các hàm so sánh cho Byte, ta cũng có các lệnh so sánh cho
số Int, Dint, Real
Khi thực hiện các hàm so sánh thì IN1,IN2 phải được chọn đúng kiểu dữ liệu
25
Trang 28ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
3.8 Lệnh về đồng hồ thời gian thực RTC
3.8.1 Lệnh đọc thời gian thực Read_RTC:
Bit EN : Bit cho phép đọc thời gian thực
VB,IB,QB,MB,SB,LB,*AC,*VD,*LD Đượcđịnh dạng như sau:
7 (ngày trong tuần) 1 – 7; 1: Sunday
3.8.2 Lệnh Set thời gian thực Set_RTC:
Khi có tín hiệu EN thì thời gian thực sẽ đượcset lại thông qua T
Cách định dạng Byte T hoàn toàn giống ở trên
26
Trang 29XANH DƯƠNG GND, ĐEN TÍN
HIỆU VÀO ĐẢO
Trang 30ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
NGÕ RA LOẠI NPN
CÓ 3 DÂY:XÁM 24VDC, XANH DƯƠNG GND, ĐEN TÍN HIỆU VÀO
5 Trình tự tạo một Project trong WinCC Control Center.
Bước 1: Khởi động WINCC.
Nhấn nút START Simatic WinCC Windows Control Center
Bước 2 : Tạo một Project.
Chọn Single-User Project
Gõ tên Project vào bảng project name
Bước 3 : Cài đặt Driver kết nối PLC.
28
Trang 31ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Click chuột phải vào Tag Management Add New Driver
Chọn Driver để kết nối PLC từ hộp thoại sau:
- Cần phân biệt hai loại Internal Tag và External ( Process ) Tag
29
Trang 32ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
+ Tạo External Tag
Gõ tên và nhấn OK từ hộp thoại New Connection Properties
Chọn New Tag từ Connection vừa tạo
30
Trang 33ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Gõ tên Tag và chọn kiểu dữ liệu của Tag
Click chuột vào nút Select để gán địa chỉ cho Tag
31
Trang 34ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Chọn OK để lưu địa chỉ cho Tag
Có thể chọn ô Limit Scaling để tạo Scale( Tỷ lệ ) cho Tag Analog
32
Trang 35ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Click chuột phải vào Internal Tag và chọn New Tag để tao:
Internal Tag
Gõ tên và chọn kiểu dữ liệu cho Internal Tag
Chọn OK để lưu Internal Tag
33
Trang 36ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Bước 4 : Tạo giao diện.
Click chuột phải vào Graphics Desingner Chon New
Có thể đổi tên Picture bằng cách nhấp chuột phải, chọn Rename
34
Trang 37ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Các công cụ trên Graphics Desingner
35
Trang 38ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
6 LẬP TRÌNH WINCC VỚI S7 – 200
Bài 1 : Dùng W i n CC t ạo giao d iện gồ m 2 nút nhấn ON v à OFF đ ể bật t ắ t đèn : Bước 1: Lập trình cho PLC bằng phần mềm Step 7 Microwin:
Sau khi lập trình xong nhấn nút trên thanh công cụ và nếu không thấy lỗi thì được
Tiếp theo chọn ở cửa sổ View bên trái rồi kích đôi vào vùng Double– Click to Refresh
36
Trang 39ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
Khi máy tính nhận được PLC thì ta có hình sau rồi nhấn OK:
Tiếp theo nhấn nút để download chương trình xuống PLC, trong cửa sổ
Download nhấn Download Sau đó chuyển PLC sang chế độ Run
Các bước tiến hành như sau:
Bước 2: Khởi động PC Access
Kích phải chuột vào Microwin(COM1) chọn New PLC….Đặt Name là S7-200 OK
37
Trang 40ĐỒ ÁN 2 MÔ HÌNH THÍ NGHIỆM PLC
kích chuột phải chọn New \ Item…
Sau khi cửa sổ Item Properties hiện ra thực hiện như hình dưới: trong ô name đặt tên tuy ý,
ví dụ như DEN
38