Hiện nay trong công nghiệp hiện đại hoá đất nước, yêu cầu ứng dụng tự động hoá ngày càng cao vào trong đời sống sinh hoạt, sản xuất (yêu cầu điều khiển tự động, linh hoạt, tiện lợi, gọn nhẹ…). Mặt khác nhờ công nghệ thông tin, công nghệ điện tử đã phát triển nhanh chóng làm xuất hiện một loại thiết bị điều khiển khả trình PLC.
Trang 1LỜI CAM ĐOAN
Em xin cam đoan báo cáo này của em được thực hiện nhờ sự tìm tòi vàhọc hỏi của chính bản thân em Không sao chép bất cứ luận văn báo cáo của ai
Em chịu hoàn tàn trách nhiệm trước nhà trường về sự cam đoan này
Thái Nguyên , Ngày 25 tháng 05 năm 2013
Sinh viên thực hiện
Trang 2LỜI CẢM ƠN
Để hoàn thành được đồ án này em xin chân thành cảm ơn các thầy côgiáo trường đại học Công nghệ thông tin và truyền thông , các thầy giáo và côgiáo khoa công nghệ tự động hóa đã trang bị kiến thức cho em trong suốt 5 nămvừa qua Em xin chân thành cảm ơn thầy hướng dẫn, thầy đã hướng dẫn và địnhhướng giúp em rất nhiều trong đồ án này
Trong quá trình làm đồ án này do thời gian làm đồ án tương đối ngắn 8tuần và các tài liệu nghiên cứu về dây truyền còn ít vì các nhà máy thường khôngcông bố sơ đồ công nghệ vì lý do bảo mật nên việc nghiên cứu và làm đồ án của
em gặp rất nhiều khó khăn Do vậy đồ án của em còn có nhiều thiếu sót em rấtmong thầy cô thông cảm cho em Em xin chân thành cảm ơn
Sinh viên thực hiện
MỤC LỤC
Trang 3LỜI NÓI ĐẦU 7
CHƯƠNG 1 8
TÌM HIỂU VỀ PLC S7-200 CỦA SIEMEN 8
1.1 GIỚI THIỆU VỀ " ĐIỀU KHIỂN LẬP TRÌNH " 8
1.1.1 Giới thiệu phần cứng của bộ điều khiển khả trình PLC 8
1.1.2 Cấu trúc PLC 10
1.1.2.1 Mô đun nguồn: (Moudule) 11
1.1.2.2 Mô đun CPU (Centrol rocessor Unit module): 11
1.1.2.3 Mô đun nhập: (Input Module) 12
1.1.2.4 Mô đun xuất (Output Module): 13
1.1.3 PLC thực hiện chương trình: 13
1.1.4 Các tín hiệu kết nối với PLC 15
1.1.5 Ngôn ngữ lập trình trên PLC 15
1.2 GIỚI THIỆU PLC S7-200 CỦA HÃNG SIEMEN 18
1.2.1 Cấu trúc bộ nhớ PLC: 18
1.2.2 Cấu trúc chương trình 19
1.2.3 Lập trình cho PLC S7 200 20
1.2.3.1 Sử dụng phần mềm Step7-200 for Win 21
1.2.3.2 Sử dụng phần mềm Step7-200 for Dos 22
1.3 TÌM HIỂU TẬP LỆNH CỦA PLC S7-200 24
1.3.1 Phương pháp lập trình PLC với phần mềm STEP7-Micro/WIN 32: 24
1.3.1.2 Phương pháp liệt kê lệnh STL: 24
1.3.1.3 Phương pháp FBD: 25
1.3.2 Các lệnh Timer, Counter 30
1.3.2.1 Timer: 30
1.3.2.2 Counter: 32
1.3.3 Lệnh so sánh lệnh di chuyển nội dung ô nhớ và một số bit nhớ đặc biệt 33
1.3.3.1Các lệnh so sánh 33
1.3.3.2 Các lệnh di chuyển nội dung ô nhớ và một số bít nhớ đặc biệt 38
CHƯƠNG 2 :XÂY DỰNG VÀ LẬP TRÌNH CHO HỆ THỐNG ĐÓNG THÙNG BIA TỰ ĐỘNG 40
2.1 Tìm hiểu hệ thống đóng thùng bia tự động 40
2.1.1 Khảo sát hệ thống đóng thùng bia tự động nhà máy Bia Winger 40
2.1.2 Đánh giá hệ thống 40
2.1.3 Yêu cầu công nghệ 41
2.1.3.1 Giới thiệu thiết bị 41
Trang 42.1.3.2 Chủ động băng tải điều chỉnh động cơ điều khiển chuyển động
đúng vị trí 41
2.1.3.3 Cánh tay gắp bia 44
2.1.4 Lưu đồ thuật toán 45
2.1.5 Hình ảnh hệ thống mô phỏng bằng PC SIMU 46
2.1.6 Nguyên tắc hoạt động 46
2.2 Chương trình cho hệ thống đóng thùng bia tự động 47
CHƯƠNG 3:MÔ PHỎNG VÀ CHẠY THỬ HỆ THỐNG BẰNG PHẦN MỀM PC SIMU 52
3.1 Yêu cầu công nghệ 52
3.1.1 Các bước tiến hành mô phỏng 52
3.2 Hình ảnh quá trình mô phỏng 54
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1: Nguyên lý chung về cấu trúc của bộ PLC 11
Hình 1.2: Sơ đồ cấu trúc phần cứng của bộ lập trình PLC 12
Hình 1.3: Chu kỳ thực hiện vòng quét của CPU trong bộ PLC 16
Hình 1.4 Qui trình thiết kế cho hệ thống điều khiển tự động 18
Hình 1.5: Bộ nhớ trong và ngoài của S7-200 20
Hình 3.1 Băng tải thùng bia hoạt động 56
Hình 3.2 Quá trình thả bia vào thùng 56
Hình 3.3 Thùng bia đóng xong tiếp tục đóng thùng tiếp 57
Hình 3.4 Hệ thống gặp sự cố 57
Hình 3.5 Dừng hệ thống 58
Trang 6DANH MỤC BẢNG
Bảng 1.1 : Một số lệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều kiện 28Bảng 1.2 : Một số lệnh trong nhóm lệnh có điều kiện (chỉ thực hiện khi bit đầu tiên ngăn xếp có giá trị logic 1): 30Bảng 1.3: Các lệnh đặt nhãn (Label): 32Bảng 1.4 Biểu diễn các lệnh so sánh trong LAD: 37
Trang 7LỜI NÓI ĐẦU
Hiện nay trong công nghiệp hiện đại hoá đất nước, yêu cầu ứng dụng
tự động hoá ngày càng cao vào trong đời sống sinh hoạt, sản xuất (yêu cầuđiều khiển tự động, linh hoạt, tiện lợi, gọn nhẹ…) Mặt khác nhờ công nghệthông tin, công nghệ điện tử đã phát triển nhanh chóng làm xuất hiện một loạithiết bị điều khiển khả trình PLC
Để thực hiện công việc một cách khoa học nhằm đạt được số lượng sảnphẩm lớn, nhanh mà lại tiện lợi về kinh tế Các Công ty, xí nghiệp sản xuấtthường sử dụng công nghệ lập trình PLC sử dụng các loại phần mềm tự động.Dây chuyền sản xuất tự động PLC giảm sức lao động của công nhân mà sảnxuất lại đạt hiệu quả cao đáp ứng kịp thời cho đời sống xã hội Trong thực tếlập trình PLC có thể được sử dụng nhiều hãng phần mềm sản xuất như làhãng Siemens-Đức, Omron-Nhật bản, Goldstar-Hàn Quốc,… tuỳ thuộc vàođối tác, tiềm lực của Công ty, xí nghiệp để sử dụng công nghệ của hãng
Qua 5 năm cùng với kiến thức mình học được em đã chọn đồ án " Xây dựng hệ thống đóng thùng bia tự động bằng PLC S7- 200 " Trong quá
trình thực hiện chương trình còn gặp nhiều khó khăn đó là tài liệu tham khảocho vấn đề này đang rất ít,và hạn hẹp, nó liên quan đến nhiều vấn đề nhưphần cơ trong dây chuyền Mặc dù rất cố gắng nhưng khả năng, thời gian cóhạn và kinh nghiệm chưa nhiều nên không thể tránh khỏi những sai sót rấtmong sự đóng góp ý kiến bổ sung của các thầy cô giáo, các bạn để đồ án nàyđược hoàn thiện hơn
Sinh viên
Trang 8CHƯƠNG 1 TÌM HIỂU VỀ PLC S7-200 CỦA SIEMEN 1.1 GIỚI THIỆU VỀ " ĐIỀU KHIỂN LẬP TRÌNH ".
1.1.1 Giới thiệu phần cứng của bộ điều khiển khả trình PLC.
PLC viết tắt của Program Mable Logic Controller là thiết bị điều khiểnlogic khả trình, cho phép thực hiện linh hoạt các thuật toán điều khiển logicthông qua một ngôn ngữ lập trình, bộ điều khiển thoả mãn các yêu cầu:
- Lập trình dễ dàng vì ngôn ngữ lập trình dễ học
- Gọn nhẹ, dễ dàng tu sửa, bảo quản
- 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 với các thiết bị thông tin, máy tính, nối mạng các modul mởrộng
- Giá cả phù hợp
Bộ điều khiển lập trình PLC được thiết kế nhằm thay thế phương phápđiều khiển truyền thống dùng rơle và thiết bị cồng kềnh, nó tạo ra một khả năngđiều khiển thiết bị dễ dàng và linh hoạt dựa trển việc lập trình trên các lệnh logic
cơ bản PLC còn thực hiện các tác vụ định thì và đếm làm tăng khả năng điềukhiển, thực hiện logic được lập trong chương trình và đưa ra tín hiệu điều khiểncho thiết bị bên ngoài tương ứng
Cơ sở của việc sử dụng PLC: Trong công nghiệp trước đây, các hệ thốngđiều khiển số thường được cấu tạo trên cơ sở các rơle và các mạch logic điện tửkết nối với nhau theo nguyên lý làm việc của hệ thống Điều đó có nghĩa là:Quan hệ giữa các biến vào và các biến ra tuân theo một hàm số, mà hàm số nàychính được xác định bởi luật kết nối giữa các phần tử logic
Trang 9hệ thống điều khiển phức tạp nhiều chức năng thì những cấu trúc theo kiểu cứng
có nhiều nhược điểm như:
- Hệ thống cồng kềnh, đầu nối phức tạp dẫn đến độ tin cậy kém
- Trường hợp cần thay đổi chức năng của hệ thống hoặc sửa chữa các hưhỏng thì phải dừng cả hệ thống để đấu nối
Hiện nay với sự phát triển của ngành công nghiệp điện tử đã cho phép chếtạo các hệ vi xử lý liên tiếp, dựa trên cơ sở của bộ vi xử lý, các bộ điêu khiểnlogic có khả nẳng lập trình được (PLC) đã ra đời, cho phép khắc phục được rấtnhiều nhược điểm của các hệ điều khiển liên kết cứng trước đây, việc dùng PLC
đã trở nên rất phổ biến trong công nghiệp tự động hoá Có thể liệt kế các ưu điểmchính của việc sử dụng PLC gồm:
- Giảm bớt việc đấu nối dây khi thiết kế hệ thống, giá trị logic của nhiệm
vụ điều khiển được thực hiện trong chương trình thay cho việc đấu nối dây
- Tính mềm dẻo cao trong hệ thống
- Bộ nhớ:
- Bộ nhớ vào ra:
Hình 1.1: Nguyên lý chung về cấu trúc của bộ PLC
Trang 10Trạng thái tín hiệu vào được nhận biết và chứa trong bộ nhớ, nơi PLCthực hiện các lệnh logic được lập trình để xử lý các tín hiệu vào máy và tạo racác tín hiệu ra để điều khiển các thiết bị liên quan.
1.1.2 Cấu trúc PLC
Đối với PLC cỡ nhỏ các bộ phận thường được kết hợp thành một khối.Cũng có một số hạng thiết kế PLC thành từng mô đun để người sử dụng có thểlựa chọn cấu hình PLC cho phù hợp mà ít tốn kém nhất, đồng thời đáp ứng đượcyêu cầu ứng dụng Một bộ PLC có thể có nhiều mô đun nhưng thành phần cơ bảnnhất của phần cứng trong bộ PLC bao giờ cũng có các khối sau:
Hình 1.2: Sơ đồ cấu trúc phần cứng của bộ lập trình PLC
Dựa vào sơ đồ khối ta thấy PLC gồm có 4 khối chính đó là: Khối nguồn,khối vi xử lý – bộ nhớ, khối đầu vào, khối đầu ra Thông thường các tín hiệu xuất
Trang 11nhập đầu ở dạng số (1- 0), còn nếu tín hiệu là dạng liên tục thì ta cần gắn cáckhối xuất nhập ở dạng liên tục (Analog).
1.1.2.1 Mô đun nguồn: (Moudule)
Là khối chức năng dùng để cung cấp nguồn và ổn định điện áp cho PLC
hoạt động Trong công nghiệp người ta thường dùng điện áp 24V một chiều Tuy
nhiên cũng có bộ PLC sử dụng điện áp 220V xoay chiều
1.1.2.2 Mô đun CPU (Centrol rocessor Unit module):
Bao gồm bộ vi xử lý và bộ nhớ:
* Bộ vi xử lý (CPU): CPU là một bộ não của PLC Nó điều khiển và kiểm
soát tất cả mọi hoạt động bên trong của PLC Nó thực hiện những lệnh đã đượcchương trình hoá lưu trữ bên trong bộ nhớ Một hệ thống BUS mang thông tinđến và kết nối CPU, bộ nhớ và bộ xuất nhập cũng chịu sự điều khiển của CPU.CPU được cung cấp bởi một tần số đồng bộ do tinh thể thạch anh bên ngoài haymột bộ giao động RC Mạch dao động này có nhiệm vụ tạo ra tần số dao động từ
118 MHZ Tuỳ thuộc vào bộ vi xử lý đã được sử dụng và phạm vi sử dụng MộtCPU bao gồm 3 thành phần riêng biệt sau:
+ Bộ điều khiển (CU – Control Unit) gồm khối soạn lệnh và ngăn xếp cónhiệm vụ lấy lệnh ra từ bộ nhớ và xác định kiểu lệnh
+ Bộ lý luận và số học (AIU) để thực hiện các phép toán số học và logicnhư: cộng trừ, AND, OR, NOT,…
+ Bộ nhớ có tốc độ cao, kích thước nhỏ để lưu các kết quả tạm thời và cácthông tin điều khiển
* Bộ nhớ: Bao gồm bộ nhớ chứa chương trình và bộ nhớ dữ liệu,….Đơn
vị nhỏ nhất của bộ nhớ là bít có giá trị “1” (hoặc “0”) Nhiều bít hợp theo hàng
và cột tạo thành một khối bộ nhớ Nội dung bộ nhớ có thể đọc ra hoặc ghi vào.Mỗi bít được định nghĩa một địa chỉ riêng để bộ nhớ dễ quản lý
Có hai loại bộ nhớ như sau:
- Bộ nhớ RAM (Random Access Memory): Ram là bộ nhớ chính trong mọimáy tính Kể cả PLC Bộ nhớ RAM có lợi là dung lượng lớn nhưng giá rẻ Ram
là loại bộ nhớ có thể đọc ghi chương trình một cách dễ dàng Tuy nhiên dữ liệu
Trang 12trong Ram sẽ bị xoá sạch khi có sự cố về điện Vì vậy muốn lưu trữ chương trìnhđiều khiển tron bộ nhớ Ram thì người ta dùng phương pháp nuôi bộ nhớ Rambằng 1 nguồn pin Nếu cần lưu trữd dài thì ta dùng loại pin có chất lượng cao
- Bộ nhớ ROM (Read Only Memory): Rom là bộ nhớ chỉ đọc Bộ nhớ này
có đặc tính trái ngược với bộ nhớ Ram là rất khó xoá, nên khi có sự cố về điện thìnội dung chương trình vẫn còn trong bộ nhớ Nhưng hiện này người ta có thểthay đổi nội dung của nó Tuỳ thuộc vào cách tạo nội dung, cách xoá nội dung,cách nập nội dung mới vào nó mà ta có các loại bộ nhớ Rom khác nhau như:PROM, EPROM, RPROM, EEPROM, EAROM
Điển hình ở đây ta xét 2 loại bộ nhớ ROM được dùng rộng rãi trong cácPLC là EPROM và EEPROM
+ EPROM (Erasable Programmable Read – Only Memory): Bộ nhớ Rom cóthể xoá nội dung chương trình Nó được xoá bằng tia cực tím, sau khi nội dung
cũ đã xoá thì người ta dùng một thiết bị đặc biệt để ghi nội dung chương trìnhmới vào trong Rom Loại này rất phức tạp vì phải dùng thiết bị đắt tiền
+ EEPROM (Electrically Erasable Programmble Read – Only Memory):
Bộ nhớ loại này cũng giống như bộ nhớ EPROM nhưng phương thức xoánội dung chương trình đơn giản hơn Tức là nó được xoá bằng điện và việc nạpmột chương trình mới cho nó cũng đơn giản Ngoài hai loại trên trong các PLCngười ta còn thường dùng FLASH EROM Đối với những bộ điều khiển logictheo chương trình thuộc loại lớn có thể có nhiều Module CPU nhằm tăng tốc độ
xử lý
1.1.2.3 Mô đun nhập: (Input Module)
Tín hiệu vào: Các tín hiệu đầu vào nhận các thông tin điều khiển bênngoài dạng tín hiệu Logic hoặc tín hiệu tương tự Các tín hiệu Lôgic có thể từ cácnút ấn điều khiển các công tắc hành trình, tín hiệu báo động, các tín hiệu của cácquy trình công nghệ,…Các tín hiệu tương tự đưa vào của PLC có thể là tín hiệuđiện áp từ các căn nhiệt để điều chỉnh nhiệt độ cho mọt lò nào đó hoặc tín hiệu từmáy phát tốc, cảm biến
Trang 13Các cảm biến (Sensors) được nối với Module ngõ vào của PLC Thôngthường một Module nhập có 8 ngõ vào hoặc 16 ngõ vào hoặc có thể hơn nữa tuỳthuộc vào yêu cầu của người sử dụng mà chọn cho phù hợp Đối với những ứngdụng nhỏ thì cần khoảng 16 ngõ vào, ứng dụng trung bình thì cần khoảng 80 ngõvào, ứng dụng cỡ dùng các cuộn dây Rơle cho ngõ vào Điện áp hoạt động đưavào các cuộn dây này thường vào khoảng 24 VDC với dòng vào vài mA (6mA),rất bé so với dòng tiêu thụ qua cuộn dây trong rơle thực tế Cũng có PLC hoạtđộng với điện áp 220V AC Mặc dù điện áp cao như vậy nhưng vẫn đảm bảo antoàn cho mạch điện tử của PLC vì người ta sử dụng các linh kiện cách ly(Optocoupler) Theo tiêu chuẩn công nghiệp với điện áp 24 VDC, người ta quyđịnh:
- Điện áp từ 0 ÷ 5 VDC thể hiện logic 0 ở ngõ vào
- Điện áp từ 11 ÷ 30 VDC thể hiện logic 1 ở ngõ vào
1.1.2.4 Mô đun xuất (Output Module):
Trong PLC thì Module xuất cũng hết sức quan trọng không kém modulenhập Nó có thể có 8 hoặc 16 ngõ ra mà trên một Module xuất, do vậy người sửdụng có thể kết nối nhiều module lại với nhau để được số ngõ ra phù hợp Đốivới những ứng dụng nhỏ thì cần 16 ngõ ra Những ứng dụng lớn hơn có thể dùngtới 26 hoặc 256 ngõ ra Cũng giống như Module nhập thì các ngõ ra của Modulexuất là các tiếp điểm của rơle, khả năng chịu tải lớn 220V/1A Nếu muốn khốngchế phụ tải công suất lớn thì thông qua các thiết bị trung gian như: CTT.Aptomat Triac…
Ngoài ra còn có PLC với ngõ ra là tín hiệu điện: Logic 0 ứng với điện áp
từ 0÷ 0,8V và logic 1 ứng với điện áp từ 12 ÷ 28V với dòng ra có khi lên tới300mA Dải điện áp cấp nguồn từ 12V ÷ 28V
1.1.3 PLC thực hiện chương trình:
PLC thực hiện chương trình theo chu trình lặp Mỗi vòng lặp được gọi làvòng quét (scan) Bắt đầu mỗi vòng quét là việc quét các tín hiệu vào Trong quátrình quét này trạng thái hiện thời của mỗi tín hiệu vào được chứa trong bảngảnh Việc quét các đầu vào này rất nhanh, việc quét phụ thuộc vào các module
Trang 14vào, xung nhịp cũng như các đặc tính riêng của mỗi loại CPU thực hiện chươngtrình sử dụng Công việc này thực hiện từ lệnh đầu tiên đến lệnh cuối cùng củachương trình (lệnh MEND) Như vậy thời gian thực hiện chương trình sẽ phụthuộc vào độ dài chương trình, độ phức tạp của các lệnh, và đặc tính kỹ thuật củatừng loại CPU
Hình 1.3: Chu kỳ thực hiện vòng quét của CPU trong bộ PLC
Trong quá trình thực hiện chương trình CPU luôn làm việc với bảng ảnh
ra Tiếp theo của việc quét chương trình là truyền thông nội bộ và tự kiểm tra lỗi.Vòng quét được kết thúc bằng giai đoạn chuyển dữ liệu từ bộ đệm ảo ra ngoại vi.Những trường hợp cần thiết phải cập nhật module ra ngay trong quá trình thựchiện chương trình Các PLC hiện đại sẽ có sẵn các lệnh để thực hiện điều này.Tập lệnh của PLC chứa các lệnh ra trực tiếp đặc biệt, lệnh này sẽ tạm thời dừnghoạt động bình thường của chương trình để cập nhật module ra, sau đó sẽ quaylại thực hiện chương trình Thời gian cần thiết để PLC thực hiện được một vòngqué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 giannhư nhau Có vòng quét được thực hiện lâu, có vòng quét được thực hiện nhanhtuỳ thuộc vào số lệnh trong chương trình được thực hiện, vào khối lượng dữ liệuđược truyền thông trong vòng quét đó Một vòng quét chiếm thời gian quét ngắnthì chương trình điều khiển được thực hiện càng nhanh
Chuyển dữ liệu từ đầu ra Q tới cổng
ra
Chuyển dữ liệu từ đầu cổng vào tới đầu vào I
Truyền thông và kiểm tra bộ nhớ
Thực hiện chương trình
Trang 15Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việctrực tiếp với cổng vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớtham số Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và
4 do CPU quản lý Khi gặp lệnh vào/ra ngay lập tức thì hệ thống sẽ cho dừng mọicông việc khác, ngay cả chương trình xử lý ngắt, để thực hiện lệnh này một cáchtrực tiếp với cổng vào/ra
Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với từng tínhiệu ngắt được soạn thảo và cài đặt như một bộ phận của chương trình Chươngtrình xử lý ngắt chỉ được thực hiện trong vòng quét khi xuất hiện tín hiệu báongắt và có thể xảy ra ở bất cứ điểm nào trong vòng quét
1.1.4 Các tín hiệu kết nối với PLC
- Tín hiệu số: là các tín hiệu thuộc hàm Boolean, dạng tín hiệu chỉ có 2 trị là
“0” và “1” Đối với PLC Siemens thì mức “0” tương ứng với 0V hay hở mạch,mức “1” tương ứng với +24 V
- Tín hiệu tương tự: là các tín hiệu liên tục, từ 0 → 10V hay từ 4 → 20mA
- Tín hiệu khác: bao gồm các tín hiệu giao tiếp với máy tính, với các thiết bịngoại vi khác bằng các giao thức khác nhau như RS232, RS485, Modbus
Trang 16Hình 1.4 Qui trình thiết kế cho hệ thống điều khiển tự động
Trang 17lệnh, mỗi lệnh trên một hầng và đều có cấu trúc chung là “tên lệnh” + “toánhạng”
- Ngôn ngữ “hình khối”, kí hiệu là FBD (Function Block Diagram): đây làngôn ngữ đồ họa thích hợp cho người quen thiết kế mạch điều khiển số
- Ngoài ra còn có thể sử dụng ngôn ngữ Graph và High Graph
Trong các ngôn ngữ trên thì thường sử dụng 3 ngôn ngữ là STL, LAD, FBD Mốiquan hệ của 3 ngôn ngữ cho bởi sơ đồ sau:
Chương trình điều khiển PLC có thể viết theo 2 cách lập trình sau:
- Lập trình tuyến tính: toàn bộ chương trình 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ự độngnhỏ, không phức tạp Khối được chọn phải là khối OB1, là khối mà PLC luônquét và thực hiện các lệnh trong đó thường xuyên, từ lệnh đầu tiên đến lệnhcuối cùng và quay lại lệnh đầu tiên
- Lập trình có cấu trúc: chương trình được chia thành những phần nhỏ và
mỗi phần thực hiện những nhiệm vụ chuyên biệt riêng của nó, từng phần này
“Green_Light”
Trang 18nằm trong những khối chương trình khác nhau Loại hình cấu trúc này phùhợp với những bào toán điều khiển nhiều nhiệm vụ và phức tạp PLC S7_200
có các loại khối cơ bản sau:
+ Loại khối OB1 (Organization Block): Khối tổ chức và quản líchương trình điều khiển Khối này luôn luôn được thực thi, và luônđược quét trong mỗi chu kì quét
+ Loại khối SBR (Khối chương trình con): Khối chương trình vớinhững chức năng riêng giống như 1 chương trình con hoặc một hàm
1.2 GIỚI THIỆU PLC S7-200 CỦA HÃNG SIEMEN
Hình 1.5: Bộ nhớ trong và ngoài của S7-200
* Vùng chương trình: Là vùng bộ nhớ được sử dụng để lưu trữ các lệnh chương
trình vùng này thuộc bộ nhớ trong đọc và ghi được
Trang 19* Vùng tham số: Là vùng 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 thuộc bộ nhớ trong đọc và ghi được
* Vùng dữ liệu: Là vùng nhớ động được sử dụng cất các dữ liệu của chương
trình bao gồm các kết quả các phép tính nó được truy cập theo từng bit từng bytevùng này được chia thành những vùng nhớ với các công dụng khác nhau
Vùng I (Input image register): Là vùng nhớ gồm 16 byte I (đọc/ghi): I.O ÷ I.15 Vùng Q (Output image register): Là vùng nhớ gồm 16 byte Q (đọc/ghi): Q.O
- SM200-SM549 đọc/ghi của các module mở rộng
* Vùng đối tượng: Là timer (định thì), counter (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ộckiểu non – volatile nhưng đọc ghi được
- Timer (bộ định thì): đọc/ghi T0 ÷T255
- Counter (bộ đếm): đọc/ghi C0 ÷ C255
- Bộ đệm vào analog (đọc): AIW0 ÷ AIW30
- Bộ đệm ra analog (ghi): AQW0 ÷AQW30
- Accumulator (thanh ghi): AC0 ÷AC3
Trang 20Chương trình chính được kết thúc bằng lệnh kết thúc chương trình(MEND).
Chương trình con là một bộ phận của chương trình Các chương trìnhcon phảI được viết sau lệnh kết thúc chương trình chính đó là mệnh (MEND) Các chương trình xử lý ngắt là một bộ phận của chương trình, nếu cần sửdụng chương trình xử lý ngắt phải viết sau lệnh kết thúc MEND
Các chương trình con được nhóm lại thành một nhóm ngay sau chươngtrình chính, sau đó đến ngay các chương trình xử lý ngắt bằng cách viết như vậycấu trúc chương trình được rõ ràng và thuận tiện hơn trong việc đọc chương trình
có thể trộn lẫn các chương trình con và chương trình xử lý ngắt đằng sau chươngtrình chính
Trang 21PLC S7 200 sử dụng phần mềm lập trình Micro Win với các version hiệnnày là v3.2, v4.0 Chú ý là với các version từ 4.0 trở lên thì mới có thể chạy
mô phỏng chương trình trên phần mềm mô phỏng PLC
1.2.3.1 Sử dụng phần mềm Step7-200 for Win
Thao tác chuẩn bị
- Khởi động máy tính ở chế độ windows, bật nguồn PS của PLC, côngtắc khối CPU ở chế độ STOP
- Chạy trình Step 7 từ biểu tượng hoặc từ file chương trình như hình:
- Nếu ở Project[CPU ] có loại khác thì nháy nút phải chuột vàoProject[CPU ] để chọn lại CPU
- Vào file để mở một file mới hay file đã có
- Vào View để chọn chế độ soạn thảo STL (hay LAD, FBD)
- Tiến hành soạn thảo chương trình theo STL (nếu soạn thảo chươngtrình theo LAD thì có thể sử dụng các khâu, khối phía trái màn hìnhsoạn thảo) Khi soạn thảo chỉ cần cách các lệnh và đối tượng lệnhmột nhịp (dấu cách), không cần chú ý tới chữ in và chữ thường, máy
sẽ tự dịch và chỉnh chữ cho phù hợp Trong quá trình soạn thảo có thểghi các chú thích nếu cần
- Vào View để xem lại dạng LAD hoặc FBD
- Dịch chương trình từ biểu tượng hoặc từ PLC\Compile, nếu muốndịch cả chương trình từ PLC \ Compile All Khi dịch chương trìnhcác lỗi sẽ được thông báo ở phần thông báo trạng thái
- Đổ chương trình sang biểu tượng hoặc từ File \ Download, có thể
Trang 22- Muốn cắt, in chương trình , có thể thự hiện từ biểu tượng hoặc vàoFile chọn chế độ cắt và chế độ in cần thiết.
1.2.3.2 Sử dụng phần mềm Step7-200 for Dos.
Thao tác
- Khởi động máy tính ở chế độ Windows
- Chạy trình S7-200 từ biểu tượng hoặc từ file chương trình, màn hìnhchế độ bắt đầu như sau:
Trong đó: EXIT-F1: thoát, SETUP-F2: chọn ngôn ngữ, đặt cú phápcho biến nhơ Chú ý ngôn ngữ giao diện để ở chế độ International;ONLENE-F4: khi máy tính có nối với PLC; COLOR-F6: chọn mầu;PGMS- F7: chương trình quản lý file; OFLINE-F8: khi máy tính khôngnối với PLC; chữ PID chỉ tên file đang sử dụng
Trang 23- Chọn PGMS, ấn phím F7, vào chương trình quản lý file để mở filemới hoặc file đã có Để mở file mới chọn DIR-F5 vào ổ đĩa, chọnSELECT-F8 để xác nhận, ấn Enter để hiện các thư mục, chọn thưmục sau đó chọn SELECT-F8 để xác nhận, chọn EXIT-F1 thoát vềmàn hình trước đó, đặt tên file và chọn SELECT-F8 để xác nhận,chọn ABORT-F1 để màn hình ban đầu, tên file và đường dẫn đãđược thiết lập
- Chọn chế độ ONLINE-F4, rồi xác nhận địa chỉ cổng ghép nối vớiPLC
- Ấn F7 để chọn chế độ soạn thảo LAD hoặc STL
- Chọn EDIT-F2 để chọn chế độ soạn thảo, phía dưới màn hình soạnthảo có dòng thư mục hướng dẫn các cách và các lệnh để soạn thảo
- Soạn thảo với STL dòng hướng dẫn có dạng như sau:
- Trong đó: EXIT-F1: thoát về trang trước đó
Các phím F2-F7 để chọn các tiếp điểm, cuộn dây, hộp
ENTER-F8: xác định một network đã được soạn thảo
HORZ-F1: để kẻ một đoạn ngang từ vị trí con trỏ sang phải
VERT-F2: để kẻ một đoạn dọc từ vị trí con trỏ xuống dưới
HORZD-F3: để xóa một đoạn ngang
VERTD-F4: để xóa một đoạn dọc
Sử dụng các phím lên, xuống, sang trái, phải để chuyển con trỏ đến vịtrí soạn thảo
Khi soạn xong một network phải dùng F8 để xác nhận, nếu dùngENTER có nghĩa muốn xuống dòng để mở rộng cho network
- Chọn EXIT-F1 để trở về màn hình trước đó
- Chọn STL-F7 để xem dạng STL
- Chọn WRITDK-F8 để đổ chương trình sang PLC
Trang 24- Muốn in chương trình, hoặc thực hiện các thao tác lựa chọn khác thìlàm theo chỉ dẫn ở dòng thư mục cuối màn hình hoặc vào phần Help.
1.3 TÌM HIỂU TẬP LỆNH CỦA PLC S7-200
1.3.1 Phương pháp lập trình PLC với phần mềm STEP7-Micro/WIN 32:
Cách lập trình cho S7-200 dựa trên hai phương pháp cơ bản: Phương pháphình thang (ladder logic – viết tắt là LAD) và phương pháp liệt kê lệnh(Statement List viết tắt là STL) và phương pháp thứ 3 mà không được dùngthông dụng là phương pháp sơ đồ khối chức năng (Funtion Block Diagram viếttắt là FBD)
Chương trình được viết theo kiểu LAD thiết bị lập trình sẽ tạo ra mộtchương trình theo kiểu STL tương ứng Nhưng ngược lại không phải tất cả cácchương trình viết theo kiểu STL đều có thể chuyển sang dạng LAD
1.3.1.1Phương pháp LAD:
LAD là ngôn ngữ lập trình đồ hoạ những thành phần cơ bản dùng trong LADtương ứng với các thành phần cơ bản dùng để biểu diễn lệnh logic nhưsau:
Tiếp điểm: Là biểu tượng (Symbol) mô tả các tiếp điểm rơle các tiếp điểm
Mạng LAD: là đường nối các phần tử thành một mạch hoàn thiện, đi từđường nguồn bên trái sang nguồn bên phải dòng điện chạy từ trái qua tiếp điểmđến các cuộn dây hoặc các hộp trở về bên phải nguồn
1.3.1.2 Phương pháp liệt kê lệnh STL:
Trang 25Phương pháp liệt kê (STL) là phương pháp thực hiện chương trình dướidạng tập hợp các câu lệnh Mỗi câu lệnh trong chương trình kể cả những lệnhhình thức biểu diễn một chức năng của PLC.
Để tạo một chương trình dạng STL người lập trình cần phải hiểu rõphương thức sử dụng của ngăn xếp logic của S7-200 (S0 ÷ S8)
Ngăn xếp lôgic là một khối gồm 9 bit chồng lên nhau Tất cả các thuậttoán liên quan đến ngăn xếp, đều chỉ làm việc với bit đầu tiên hoặc với bit đầu vàbit thứ hai của ngăn xếp (S0 ữ S1) giá trị logic mới đều có thể được gửi vào ngănxếp
1.3.1.3 Phương pháp FBD:
Dùng các phần tử logic để viết chương trình ví dụ các mạch AND, OR,NOT…
Cú pháp lệnh cơ bản trong PLC S7-200
Hệ lệnh của S7-200 được chia làm 3 nhóm:
Nhóm lệnh không điều kiện: Các lệnh mà khi thực hiện thì làm việc độc lậpkhông phụ thuộc vào giá trị logic của ngăn xếp
Nhóm lệnh có điều kiện: Các lệnh chỉ thực hiện được khi bit đầu tiên củangăn xếp có giá trị logic bằng 1
Nhóm lệnh đặt nhãn: Các nhãn lệnh đánh dấu vị trí trong tập lệnh
Trong các bảng lệnh còn mô tả sự thay đổi tương ứng của nội dung ngănxếp khi lệnh được thực hiện Cả hai phương pháp LAD và STL đều sử dụng kýhiệu I để chỉ việc thực hiện tức thời (Immediateli) tức là giá trị được chỉ dẫntrong lệnh vừa được chuyển vào thanh ghi ảo vừa đồng thời được chuyển đếntiếp điểm chỉ dẫn trong lệnh ngay khi lệnh đượcthực hiện chứ không phải chờđến giai đoạn trao đổi với ngoại vi của vòng quét Điều đó khác với lệnh khôngtức thời là giá trị được chỉ định trong lệnh chỉ được chuyển vào thanh ghi ảo khithực hiện lệnh
Trang 26Bảng 1.1 : M t s l nh c a S7-200 thu c nhóm l nh th c hi n vô i u ột số lệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều ố lệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều ệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều ủa S7-200 thuộc nhóm lệnh thực hiện vô điều ột số lệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều ệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều ực hiện vô điều ệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều điều ều
ki n ệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều
= I n Giá trị của bit đầu tiên ngăn xếp được sao chép trực tiếp sang
điểm n chỉ dẫn trong lệnh ngay khi lệnh được thực hiện
A n
Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiênngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh Kếtquả được ghi lại vào bit đầu tiên của ngăn xếp
ALD
Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiênngăn xếp với giá trị logic của bit thứ 2 ngăn xếp Kết quảđược ghi lại vào bit đầu tiên của ngăn xếp Các giá trị còn lạitrong ngăn xếp được kéo lên một bit
AN n Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiên
ngăn xếp với giá trị logic nghịch đảo của điểm n chỉ dẫn tronglệnh Kết quả được ghi lại vào bit đầu tiên của ngăn xếp CTU Cxx,
ED Đặt giá trị logic 1 vào bit đầu tiên của ngăn xếp khi xuất hiện
sưỡn xuống của tín hiệu
DU Đặt giá trị logic 1 vào bit đầu tiên của ngăn xếp khi xuất hiện
sưỡn lên của tín hiệu
LD n Nạp giá trị logic của điểm n chỉ dẫn trong lệnh vào bit đầu
tiên của ngăn xếp Các giá trong ngăn xếp được đẩy xuốngmột bit
LDN n Nạp giá trị logic nghịch đảo của điểm n chỉ dẫn trong lệnh
vào bit đầu tiên của ngăn xếp Các giá trong ngăn xếp được
Trang 27đẩy xuống một bit.
LPP Kéo nội dung ngăn xếp lên một bit Giá trị mới của bit trên là
giá trị cũ của bit dưới, độ sâu ngăn xếp giảm đi một bit (Giátrị của bit đầu tiên bị đẩy ra khỏi ngăn xếp – xoá)
LRD Sao chép giá trị của bit thứ hai vào bit thứ hai của ngăn xếp
Các giá trị còn lại từ bit thứ hai trở đi được giữ nguyên vị trí.MEND Kết thúc phần chương trình chính trong một vòng quét
NOT Đảo giá trị logic của bit đầu tiên ngăn xếp
O n Thực hiện toán tử hoặc (OR) giữa giá trị logic của bit đầu tiên
ngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh Kếtquả được ghi lại vào bit đầu tiên của ngăn xếp
OI n Thực hiện toán tử hoặc (OR) giữa giá trị logic của bit đầu tiên
ngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh Kếtquả được ghi lại vào bit đầu tiên của ngăn xếp
OLD Thực hiện toán tử hoặc (OR) giữa giá trị logic của bit đầu tiên
ngăn xếp với giá trị logic của bit thứ hai ngăn xếp Kết quảđược ghi lại vào bit đầu tiên của ngăn xếp Các giá trị còn lạitrong ngăn xếp được kéo lên một bit
ON n Thực hiện toán tử và (AND) giữa giá trị logic của bit đầu tiên
ngăn xếp với giá trị logic của điểm n chỉ dẫn trong lệnh Kếtquả được ghi lại vào bit đầu tiên của ngăn xếp
RET Lệnh thoát khỏi chương trình con và trả điều khiển về chương
trình chính đã gọi nó
RETI Lệnh thoát khỏi chương trình xử lý ngắt (interrupt) và trả điều
khiển về chương trình chính
Bảng 1.2 : Một số lệnh trong nhóm lệnh có điều u ki n (ch th c hi n khi bit ệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều ỉ thực hiện khi bit ực hiện vô điều ệnh của S7-200 thuộc nhóm lệnh thực hiện vô điều
u tiên ng n x p có giá tr logic 1):
điềuầu tiên ngăn xếp có giá trị logic 1): ăn xếp có giá trị logic 1): ếp có giá trị logic 1): ị logic 1):
Trang 28+D IN1, IN2 Thực hiện hai phép cộng hai số nguyên kiểu từ kép IN1 và
IN2 Kết quả được ghi lại vào IN2+I IN1, IN2 Thực hiện hai phép cộng hai số nguyên kiểu từ IN1 và IN2
Kết quả được ghi lại vào IN2-D IN1, IN2 Thực hiện hai phép trừ hai số nguyên kiểu từ kép IN1 và
IN2 Kết quả được ghi lại vào IN2-I IN1, IN2 Thực hiện hai phép trừ hai số nguyên kiểu từ IN1 và IN2
Kết quả được ghi lại vào IN2+R IN1,IN2 Thực hiện hai phép cộng hai số thực (32 bit) IN1 và IN2 Kết
quả được ghi lại vào IN2-R IN1,IN2 Thực hiện hai phép trừ hai số thực (32 bit) IN1 và IN2 Kết
quả được ghi lại vào IN2
*R IN1,IN2 Thực hiện hai phép nhân hai số thực (32 bit) IN1 và IN2 Kết
quả được ghi lại vào IN2/R IN1,IN2 Thực hiện hai phép chia hai số thực (32 bit) IN1 và IN2 Kết
quả được ghi lại vào IN2ANDD
IN1.IN2
Thực hiện toán logic AND giữa các giá trị kiểu từ kép IN1
và IN2 Kết quả được ghi lại vào IN2ANDW
IN1.IN2
Thực hiện toán logic AND giữa các giá trị kiểu từ kép IN1
và IN2 Kết quả được ghi lại vào IN2CALL n Gọi chương trình con được đánh nhãn n
CRET Kết thúc một chương trình con và trả lại kiểu điều khiển về
chương trình gọi nóCRTI Kết thúc một chương trình xử lý ngắt và trả điều khiển về
chương trình chínhMOVB
Sao giá trị của từ IN sang từ OUT
ORD IN1, IN2 Thực hiện toán tử OR cho hai từ kép IN1 và IN2 Kết quả
được ghi lại vào IN2ORW IN1, IN2 Thực hiện toán tử OR cho hai từ IN1 và IN2 Kết quả được