muonvaothuvien
02-03-2011, 18:55
LỜI NÓI ĐẦU
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image001.gif
Hiện nay trong công cuộc công nghiệp hoá 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, gon nhẹ ). Mặt khác với 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 kiểu loại thiết bị, thiết bị này đã đáp ứng được yêu cầu điều khiển nói trên, đó là thiết bị điều khiển khả trình “PLC”.
Ngày nay thiết bị điều khiển lập trình “PLC” cũng đã được ứng dụng trong điều khiển máy trộn sơn. Các quá trình bơm sơn vào bình, thêm chất xúc tác đã được thực hiện một cách tự động, linh hoạt, thuận tiên Để đáp ứng được yêu cầu trên trong phạm vi đồ án môn học này em dùng thiết bị lập trình PLC để viết chương trình cho hệ thống tự động điều khiển máy trộn sơn. Trong thực tế có rất nhiều loại PLC của nhiều hang sản xuất đó là hang Siemens-Đức, Omron-Nhật Bản, Goldstar-Hàn Quốc tồn tại trên thị trường Việt Nam. PLC là thiết bị mới đang ứng dụng rộng rải cũng như sẽ thay thế chổ tất cả thiết bị cũ (lạc hậu) trong tương lai.
Trong quá trình làm đồ án còn gặp khó khăn đó là tài liệu tham khảo cho vấn đề này còn rất ít, rất hạn hẹp. 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ất mong sự góp ý bổ sung của các thầy cô giáo,các quý bạn đọc để đồ án này được hoàn thiên hơn.
Xin chân thành cảm ơn!
Sinh viên: NGUYỄN VĂN LONG
PHẦN I
GIỚI THIỆU CHUNG VỀ ĐIỀU KHIỂN LẬP TRÌNH BẰNG PLC
I.GIỚI THIỆU PHẦN CỨNG CỦA 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 logic lập trình, cho phép thực hiện linh hoạt các thuật toán điều khiển logic thô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 dung 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ìnhtrê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ều khiển, thực hiện logic được lập trong Chương trình và đưa ra tín hiệu điều khiển cho 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á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ày chính được xác định bởi luật kết nối giữa các phần tử logic.
(y1, y2 yn)=f(x1, x2 xn)
Như vậy đối với mụch đích điều khiển xác định thì hàm f là cố định. Đối
với các hệ thống làm việcđơn giản và làm việc độc lập thì sử dụng các phần tử có sẵn liên kết với nhau có nhiều ưu điểm về giá thành. Tuy nhiên trong các hệ 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 nghành công nghiệp điện tử
đã cho phép chế tạo các hệ vi xử lí lien tiếp, dựa trên cơ sở của bộ vi xử lý, các bộ điều khiển logic có khả năng lập trình được (PLC) đã ra đời, cho phép khắc phục được rất nhiều những 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ểm chí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 nối dây. -Tính mềm dẻo cao trong hệ thống.
-Bộ nhớ.-Bộ vào ra file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image003.jpg
Hình I.1: Nguyên lý chung về cấu trúc của bộ PLC
Trạng thái tín hiệu vào được nhận biết và chứa trong bộ nhớ, nơi PLC thự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 ra các tín hiệu ra để điều khiển các thiết bị lien quan.
vụ điều khiển được thực trong chương trình thay cho việc đấu nối dây.
Cấu trúc PLC bao gồm:
Đố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 modul để 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 được yê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ản nhất của phần cứng trong bộ PLC bao giờ cũng có các khối sau:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image005.jpg
Hình I.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 4 khối chính đó là: khối nguồn, khối vi xử lý- bộ nhớ, khối đầu vào, khôí đầu vào, khối đầu ra. Thông thường các tín hiệu xuất nhậ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ác khối xuất nhập ở dạng lien tục (Analog).
I.1. Mô đun nguồn (Moudule):
Là khối chức năng dung để 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 dung đ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.
I.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à 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 đã được chươ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 từ 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 hay một bộ dao động RC. Mạch dao động này có nhiệm vụ tạo ra tần số dao động từ 1-8 MHZ. Tuỳ thuộc vào bộ vi xử lý đã được sử dụng và phạm vi sử dụng . Một CPU 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à logic như: 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ờivà các thông tin điều khiển.
Để thực hiện một lệnh nào đó CPU phải tuân thủ các bước lệnh sau:
-Lấy lệnh từ bộ nhớ và thanh ghi lệnh .
Thay đổi bộ đếm chương trình để chỉ đến lệnh kế tiếp.
Xác định kiểu lệnh vừa lấy.
Xác định dữ liệu mà lệnh yêu cầu và xác định vị trí dữ liệu trong bộ nhớ.
Nếu lệnh cần dữ liệu trong bộ nhớ thì nạp nó vào thanh ghi của CPU.
Thực hiện lệnh.
Lưu trữ kết quả nơi thích hợp.
Trở về bước một để thực hiện lệnh kế tiếp.
`* Bộ nhớ: Bao gồm bộ nhớ chương trình và bộ nhớ dữ liệu Đơn vị nhỏ nhất của bộ nhớ là bit có giá trị “1” (hoặc “0”). Nhiều bit hợp theo hang 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 bit được đinh nghĩamộ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ớ chinh trong mọi máy tính. Kể cả PLC. Bộ nhớ Ram có lợi là dung lượng lớn nhưng giá rẻ. Ram là bộ nhớ có thể đọc ghi chương trình một cách dễ dàng. Tuy nhiên dữ liệu trong Ram sẽ bị xoá sạch khi có sự cố về điện. Vi vậy muốn lưu trữ chương trình điều khiển trong bộ nhớ Ram thì người ta dùng phương pháp nuôi bộ nhớ Ram băng một nguồn nuôi Pin. Nếu cần lưu trữ dài thì ta dung 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ố điện thì nội dung chương trình vẫn còn trong bộ nhớ . Nhưng hiện nay người ta có thể thay đổi nội dung của có. 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, EEROM, EAROM.
Điển hình ở đây ta xét 2 loại bộ nhớ Rom được dung rộng rãi trong các PLC là EPROM và EEPROM.
+EPROM (Erasable Programmble Read –Only Memory): Bộ nhớ Rom có thể xoá nội dung chưong trình . Nó được xoá bằng tia cưc tí, sau khi nội dung cũ đã xoá thì người ta dùng thiết bị đặc biệt để ghi nội dung chương trình mớ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 ( Electically Erasable Prorammble 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ạp một chương trình mới cho nó cũng đơn giản. Ngoài 2 loại trên trong các PLC người ta còn dùng FLASH EROM. Đối với những bộ điều khiển logic theo 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ý.
I.3. Mô đun nhập ( Input Module ):
Các cảm biến ( Sensors) được nối với Module ngõ vào của PLC. Thông thườ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à chon cho phù hợp. Đối với những ứng dụng nhỏ thì cần 16 ngõ vào ,ứng dụng trung bình thì cần khoảng 80 ngõ vào, ứng dụng cỡ dung các cuộn dây Rơle cho ngõ vào. Điện áp hoạt động đưa vào các cuộn dây này thường 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 220 VAC. Mặc dù điện áp cao như vậy nhưng vẫn đảm bảo an toà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.
I.4. Mô đun xuất (Output Module):
Trong PLC thì Module xuất cũng hết sứu quan trọng không kém Module nhậ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. Đối với những ứng dụng nhỏ chỉ cần 16 ngõ ra.
Những ứng dụng lớn hơn có thể dùng tới 26 hoặc 256 ngõ ra. Cũng giống như Module nhập thì các ngõ ra của Module xuấ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ống chế phụ tải có 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ừ 12V÷28V với dòng ra có khi lên tới 300mA. Dải điện áp cấp nguồn từ 12V÷28V.
I.5. Đáp ứng của ngõ vào ra của thiết bị lập trình:
Ngõ vào của PLC tiếp nhận các tín hiệu từ các Sensors, từ sự đóng ngắt các tiếp điểm của nút bấm Start, Stop, Emergency Stop. Từ cảm biến hành trinh Để chống rung ở ngõ vào. PLC có một mạch lọc ở ngõ vào do đó làm chậm thời gian đáp ứng của nó ( từ 100μs đến 25,5ms). Nếu cần PLC cũng có những ngõ vào chuyên dùng với tốc độ đáp ứng nhanh. Đáp ứng ở ngõ ra đủ nhanh ( cỡ ms), đạt yêu cầu đối với những ứng dụng điều khiển các cơ cấu chấp hành trong thiết bị tự động hoá công nghiệp. Đáp ứng ngõ vào: ( Bằng đi ốt quang-Mạch chuyển đổi).
II. GIỚI THIỆU PHẦN MỀM CỦA BỘ ĐIỀU KHIỂN LẬP TRÌNH PLC
II.1. Hệ điều hành (HĐH) và tập lệnh
-HĐH nằm trong bộ nhớ ROM
-Tập lệnh được xử lý trong RAM và EFPROM dưới dạng mã lệnh.
II.2. Chương trình soạn thảo, gỡ rối và các tiện ích
-Nằm trong gói phần mềm, cung cấp khả năng điều khiển và giao tiếp giữu người và máy đi kèm với thiết bị phần cứng.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image007.jpg
a) Đọc dữ liệu đầu vào: Đọc các trạng thái vật lí ( Input ) vào bộ đệm ảo ( IR- Input Recgister )
b) Thực thi chương trình: CPU đọc dữ liệu từ IR thực hiện chương trình phần mềm, kết quả được lưu lại ở vùng nhớ thích hợp và bộ đệm ảo đầu ra ( OR-Output Register)
c) Xử lý các yêu cầu truyền thông ( Option ). Nếu có yêu cầu truyền thông và xử lý ngắt.
d) Tự chẩn đoán lỗi: CPU kiểm tra lỗi của hệ điều hành trong ROM, các vùng nhớ và các trạng thái làm việc của các module mở rộng.
e) Xuất kết quả ở đầu ra:CPU đọc kết quả từ OR, và xuất kết quả ra cá cổng vật lý.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image009.jpg
PHẦN II
GIỚI THIỆU VỀ PLC HỌ S7-200 CỦA SIEMEN
GIỚI THIỆU TỔNG QUÁT VỀ PLC S7
ü Họ PLC S7 là một họ PLC mạnh, tốc độ xử lý cao, khả năng quản lý bộ nhớ tốt, kết nối mạng công nghiệp.
ü Hiện nay họ PLC S7 gồm có S7-200, S7-300, S7-400. S7-200 có mức điều khiển thấp nhất, tiếp theo là S7-300 và mạnh nhất là S7-400.
ü Đối với PLC S7, có thể thực hiện các phép toán logic, đếm, định thời, các thuật toán phức tạp và thực hiện truyền thông các thiết bị khác.
I.GIỚI THIỆU TỔNG QUÁT VỀ PLC S7-300
+PLC S7-300 là một sản phẩm PLC mạnh, tốc độ xử lý cao, khả năng quản lý bộ nhớ tốt, kết nối mạng công nghiệp.
+Về tính năng, S7-300 có nhiều cải tiến so với S7-200:
-Dung lượng bộ nhớ lớn hơn, tốc độ truy nhập nhanh hơn.
-Các module được nối với nhau qua khe cắm.
-Ngôn ngữ lập trình đa dạng phong phú, ngoài 3 ngôn ngữ chính, còn có các ngôn ngữ đồ hoạ (mạng SFC), ngôn ngữ bậc cao
-Khả năng quản lý các module mở rộng lớn hơn.
-Thực hiện phép toán logic và biểu thức logic đối với ngôn ngữ STL được cải tiến cho phù hợp với cách viết thông thường hơn
-S7-300 còn sử dụng 2 thanh ghi đặc biệt làm con trỏ AR1và AR2.
-Tổ chức chính trong S7-300 rộng hơn và chặt chẽ hơn, với các khối chương trình và dữ liệu cụ thể.
Một số thông tin kỹ thuật của S7-300 CPU 3xx:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image011.jpg
Các module mở rộng của S7-300 CPU : file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image013.jpg
+Tổ chức vùng nhớ và địa chỉ vùng nhớ:
-Vùng nhớ các thanh ghi
-Vùng nhớ hệ thống (System)
-Vùng nhớ chương trình ứng dụng (Load)
-Vùng nhớ chương trình thực thi (Work)
+Vùng nhớ các thanh ghi:
Gồm các thanh ghi sau: ACCU1, ACCU2, AR1, AR2, DB, DI
+Vùng nhớ chương trình ứng dụng:
Là vùng nhớ lưu nội dung mã chương trình được soạn ra do người lập trình. Tuỳ theo CPU, vùng nhớ này có thể mở rộng tới 512KB.
+Vùng nhớ thực thi:
Là vùng nhớ chứa các dữ liệu đang được thực thi bởi CPU, vùng nhớ này liên tục bị hệ điều hành thay đổi nội dung mỗi khi nạp một chương trình mới.
+Địa chỉ vùng nhớ:
-Bộ đệm đầu vào số: I0.0÷I127.7(128 byte)
-Bộ đệm ra số: Q0.0÷Q127.7 (128 byte)
-Vùng nhớ timer: T0÷T255
-Vùng nhớ counter: C0÷C255
-Vùng nhớ kho dữ liệu (Share): DBx0.0÷DBx65535.7
-Vùng nhớ khối dữ liệu (instance): Dix 0.0÷Dix 65535.7
-Vùng nhớ địa phương; L0.0÷L65535.7
-Vùng nhớ đầu ra tương tự: PIQ 65535
Truy nhập dữ liệu tại các vùng nhớ của S7-300
Truy nhập trực tiếp ô nhớ
Truy nhập gián tiếp thông qua con trỏ
+Truy nhập dữ liệu trực tiếp: truy nhập theo bit, theo byte, theo word, theo double word tương tự như của S7-200.
-Truy nhập theo bit:
DBx1.5 (Bit thứ 5 của byte 1 nằm trong khối DB share)
-Truy nhập theo byte:
DBB5 ( Byte thứ 5 nằm trong khối DB share)
DID3 ( byte thứ 3 nằm trong khối DI instance)
-Truy nhập theo Work;
DBW5 (Từ thứ 5 nằm trong khối DB share)
DIW3 (Từ thứ 3 nằm trong khối DI instancer)
-Truy nhập theo double work:
DBD5 (Từ kép thứ 5 nằm trong khối DB share)
DID3 ( Từ kép thứ 3 nằm trong khối DI instance)
+Truy nhập dữ liẹu gián tiếp thông qua con trỏ:
-Đối với S7-300 ngoài vùng nhớ M được dung làm con trỏ, S7-300 còn sử dụng 2 thanh ghi chuyên dụng AR1và AR2 kích thước 32 bit làm con trỏ.
Lựa chọn ngôn ngữ lập trình:
+Ngôn ngữ STL
+Ngôn ngữ LAD
+Ngôn ngữ FBD
+Ngôn ngữ Graph (SFC)
+Ngôn ngữ Hi-Graph
+Ngôn ngữ SCL
II.GIỚI THIỆU TỔNG QUÁT VỀ PLC S7-200
Một số thông số kỹ thuật của S7-200 CPU 22x:
CPU 221
CPU 222
CPU 224
CPU 226
CPU 226XM
Bộ nhớ chương trình
2048 W
2048W
4096W
4096W
8192W
Bộ nhớ dữ liệu
1024W
1024W
2560W
2566W
5120W
Khả năng dự phòng bộ nhớ
50 giờ
50 giờ
190giờ
190giờ
190 giờ
Khả năng dự phòng bộ nhớ
I/O địa chỉ
6 in/ 4 out
8 in/6 out
14 in/10 out
24 in/16 out
24 in/160 out
Đồng hồ thời gian thực
Cartrige
Cartrige
Tích hợp
Tích hợp
Tích hợp
Kích thước bộ đệm
256 ( 128 bits, 128 bits )
Tốc độ thực hiện lệnh logic
0,37 μs/ lệnh
II.1 Cấu trúc bộ nhớ PLC S7-200
Bộ điều khiển lập trình S7-200 được chia thành 4 vùng nhớ. Với 1 tụ có nhiệm vụ duy trì dữ liệu trong thời gian nhất định khi mất nguồn bộ nhớ S7-200 có tính năng động cao, đọc và ghi trong phạm vi toàn vùng loại trừ các bit nhớ đặc biệt SM ( Specia Memory ) chỉ có thể truy cập để đọc.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image015.jpg
Hình II.1: 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 các lệnh chương trình, vùng này thuộc bộ nhớ trong đọc và ghi được.
*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 byte, vù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.0÷I.15
Vùng Q (Output image register): Là vùng nhớ gồm 16 byte Q (đọc/ghi): Q0.0÷Q0.15.
Vùng M (Internal memory bits): Là vùng nhớ gồm có 32 byte M (đọc/ghi): M0.0÷M0.31.
Vùng V (Variable memory): Là vùng nhớ gồm có 10240 byte V (đọc/ghi): V0.0÷V0.10239.
Vùng SM: (Special memory): Là vùng nhớ gồm:
-194 byte của CPU chia làm 2 phần: SM0-SM29 chỉ đọc và SM-SM194 đọc/ghi.
-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ộc kiểu non – volatile nhưng đọc ghi được.
-Timer (bộ định thì): đọc/ghi T0÷T225
-Counter (bộ đếm): đọc/ghi C0:C225
-Bộ đệm vào analog (đọc): AIW0÷AIW30
-Bộ đệm ra analog (ghi); AQW0÷AQW30
-Accumulator (thanh ghi): AC0÷AC3
-Bộ đếm tốc độ cao: HSC0÷HSC5
Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng từ đơn (word-2byte), từ kép(Double word).
-Bộ đệm tốc độ cao: HSC0÷HSC5
Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng từ đơn (word-2byte), từ kép (Double word).
II.2. Thực hiện chương trình.
Chương trình trong PLC S7 200 được thực hiện theo vòng lặp ( vòng quét).
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image017.jpg
Hình II.2: Chu kỳ thực hiện vòng quét của CPU trong bộ PLC
Trong một vòng quét PLC phải thực hiện 4 giai đoạn:
- Đọc dữ liệu từ cổng vào đưa vào bộ đệm ảo
- Thực hiện chương trình: các lệnh trong chương trình được thực hiện lần lượt từ lệnh đầu tiên đến lệnh cuối cùng ( gặp lệnh kết thúc chương trình MEND).
- Truyền thông nội bộ và kiểm tra lỗi
- Truyền dữ liệu từ bộ đệm ảo ra các cổng ra, đây là giai đoạn kết thúc của một vòng quét.
Sau khi kết thúc 4 giai đoạn trên tức là một vòng quét đã thực hiện xong, vòng quét tiếp theo sẽ tiếp tục với 4 giai đoạn trên cho tới khi dừng chạy.
Như vậy các lệnh không làm việc trực tiếp với các cổng vào ra mà làm việc với bộ đệm ảo của cổng trong vùng nhớ tham số. Trừ một số lệnh làm vào ra tức thì, khi đó chương trình sẽ làm việc trực tiếp với các cổng vào ra.
Trong chương trình nếu sử dụng chương trình xử lý ngắt, chương trình xử lý ngắt sẽ được thực hiện tại bất cứ điểm nào trong chương trình nếu như tín hiệu báo ngắt tương ứng của nó được bật.
PHẦN III
TẬP LỆNH CƠ BẢN DÙNG TRONG THIẾT BỊ ĐIỀU KHIỂN PLC S7-200
III.1 Cấu trúc chương trình
Chương trình cho S7-200 phải có cấu trúc bao gồm chương trình chính (main program) sau đó đến các chương trình con và chương trình xử lý ngắt.Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MENT).
Chương trình con là một bộ phận của chương trình. Các chương trình con phải được viết sau lệnh kết thúc chương trình chính đó là lệ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ương trình chính sau đó đến ngay các chương trình xử lý ngắt bằng cách viết như vậy cấ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ể lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính.
Thực hiện khi được chương trinh trình chính gọi
SBR (n) {n=0÷255} chương trình con
.
.
.
RET
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image018.gif
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image019.gif
III.2: Ngôn ngữ lập trình trong S7 200 và phần mềm microwin
A. Phần mềm viết chương trình
Siemens cung cấp một phần mềm chuyên viết cho PLC S7 200 đó là phần mềm MicroWin:
Giao diện của phần mềm:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image021.jpg
Hình III.1: Giao diện của Micro Win
Trên đây có tất cả các công cụ cho phép ta làm lập trình với tất cả các tính năng của PLC S7 200.
Các khối chức năng cụ thể:
- Thanh công cụ: cung cấp cho người lập trình các công cụ để thao tác khi lập trình
như: khối lệnh viết cho LAD, download, Upload, Debug, Run, Stop .
- Vùng quản lý Project: Bao gồm tất cả các phần của một Project, từ đây ta có thể lấy
tất cả các công cụ và các khối chức năng trong một chương trình.
- Khối chức năng: Bao gồm các khối chức năng đặc biệt hay sử dụng khi lập trình
- Vùng đặt tên biến tạm: Vùng này cho phép ta đặt tên các biến tạm (các biến chỉ các tác dụng trong bản thân chương trình mà nó được đặt), Vùng này chỉ có tác dụng đối với các loại CPU 224 trở lên.
- Khối viết chương trình (Program Block): Khối cho phép ta viết chương trình thể
hiện thuật toán của mình trên đó.
- Cửa sổ thông báo: Thông báo lỗi trong chương trình đang thực hiện.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image023.jpg
ã Khối chức năng bao gồm các khối có tác dụng:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image025.jpg
- Program Block: Khối lập trình, cho phép người sử dụng lập trình trên đó
- Symbol Table: đặt tên hình thức cho các biến trong vùng nhớ của PLC, có tác dụng gợi nhớ khi viết chương trình. Cụ thể:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image027.jpg
- Status Chart: Khối cho phép ta theo dõi giá trị của tất cả các biến trong vùng nhớ của PLC mà ta sử dụng trong chương trình. Đông thời ta có thể cho các biến giá trị mới (không kể những biến dạng “Read Only”) để theo dõi hoạt động của chương trình. file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image029.jpg
- Data Block: các hằng số trong chương trình nếu như ta không muốn gán giá trị trực tiếp trong chương trình ta có thể gán giá trị của nó vào các vùng nhớ cua PLC trong khối này. Chú ý khi gán giá trị ta phải tránh các vùng nhớ đã được sử dụng, nếu không sẽ làm sai thuật toán.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image031.jpg
- Systerm Block: Cho phép thiết lập cấu hình cho CPU
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image033.jpg
- Cross Reference: Cho phép ta biết được vị trí của tất cả các biến đang dùng nằm ở đâu trong chương trình (trong chương trình chính hay chương trình con, trên câu lệnh nào, được sử dụng với lệnh nào):
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image035.jpg
- Communications: Thiết lập truyền thông bao gồm: định dạng loại cáp truyền thông, địa chỉ của CPU, tốc độ truyền thông .
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image037.jpg
- Set PG/PC Interface: Định dạng cho thiết bị lập trình
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image039.jpg
B. Phương pháp lập trình
- Toàn bộ chương trình trong một vòng quét ( Scan).
- Trong một vòng quét PLC sẽ thực hiện 4 giai đoạn : Đọc dữ liệu từ cổng vào đưa vào bộ đệm ảo, Thực hiện chương trình, Kiểm tra lỗi vào truyền thông, Đưa dữ liệu ra từ bộ đệm ảo ra cổng ra. Bốn giai đoạn này sẽ được lặp lại trong vòng quét tiếp theo.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image041.jpg
- Ngôn ngữ lập trình trong S7 200 chủ yếu sử dụng hai loại ngôn ngữ là Ladder logic (LAD) và phương pháp liệt kê (Statement list STL).
- LAD là ngôn ngữ đồ hoạ mô phỏng một mạch điện, LAD tạo cho người lập trình dễ hình dung khi lập trình và mô phỏng. Khi làm việc với LAD người lập trình không cần để ý đến các giá trị trong ngăn xếp.
- STL tuy có chút khó khăn hơn đối với người lập trình trong việc xử lý ngăn xếp (điều này vô cùng quan trọng khi lập trình với STL) và khi mô phỏng. Tuy nhiên STL có tập lênh rộng lớn và cho dễ dàng khi lập trình có cấu trúc hơn LAD.
Tuy nhiên để gần gũi với lý thuyết mạch điện chúng tôi sẽ trình bày hệ lệnh của S7 200 dưới dạng LAD. Hệ lệnh dưới dạng này luôn có thể chuyển sang dang STL bằng cách:View Æ STL t ừ đó ta có thể xem các lệnh tương ứng của STL so với LAD.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image043.jpg
* Ngăn xếp lưu trữ giá trị bit (chỉ có tác dụng khi lập trình trên ngôn ngữ STL)
- Ngăn xếp bao gồm 9 bit
- Bit mới được đưa vào ngăn xếp được đặt ngay đầu ngăn xếp, các bit cũ bị đẩy xuống một ô, bit cuối cùng bị đẩy ra ngoài và mất đi.
- Ngăn xếp làm việc theo nguyên tắc LIFO.
Tập lệnh của S7 200 chia ra làm 3 phần:
- Tập các lệnh khi thực hiện không phụ thuộc vào giá trị của bit trong ngăn xếp.
- Tập lệnh chỉ thực hiện khi giá trị của bit đầu tiên trong ngăn xếp có giá trị 1.
- Tập lệnh nhãn đánh dấu vị trí trong chương trình.
C. Hệ lệnh của S7 200
1. Toán hạng và giới hạn cho phép
* Vùng dữ liệu của mỗi dạng toán hạng:
- Bit : bao gồm hai giá trị : hoặc 0 hoặc 1.
- Byte: bằng 8 bit. Chứa các số nguyên nằm trong khoảng 0 đên 255 ( 28
-1).
- Word (2 Bytes): chứa các số nguyên nằm trong khoảng -32768 đến 32768.
- Dowrd (4 Bytes): chứa các số nguyên nằm trong khoảng -2147483648 đến 2147483648.
2. Hệ lệnh
2.1 Sơ lược về đại số Boolean
Đại số Boolean cho phép ta làm việc với các phép toán logic.
Các phép toán logic thông dụng trong đại số Boolean là : AND, OR, NOT, XOR, NAND, NOR.
Khi làm việc với các phép toán logic ta có thể đơn giản hoá biểu thức nhờ sử dụng một số hệ quả sau:
1. A + 0 = A 2. A . 1 = A
3. A + 1 = 1 4. A . 0 = 0
5. A + A = A 6. A . A = A
7. A + ~A= 1 8. A .~A = 0
9. A + B = B + A 10. A.B = B.A
11. A + AB = A 12. A(A + B) = A
13. AB + A.~B = A 14. (A+B)(A+ ~B)=A
15. A + B +C = (A + B) + C = A+ (B + C) 16. A.B.C = A(BC) = (AB)C
17. ~ (A +B) = (~A). (~B) 18. ~(AB) = (~A) + (~B)
2.2 Lệnh vào ra
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image045.jpg
- Chú ý đến lệnh có phải là tức thời hay không.
- Lệnh gán/lấy giá trị tức thời được phân biệt bằng ký tự I thêm vào sau các lệnh vào ra.
2.3. Lệnh ghi xoá các tiếp điểm.
- Nội dung của ngăn xếp không bị thay đổi
- Giá trị “ n ” đi kèm theo có tác dụng chỉ ra số tiếp điểm được bật/xoá tính từ toán hạng trong lệnh.
- SI, RI cũng có tác dụng ghi/xoá tức thì một mảng n giá trị tính từ toán hạng trong lệnh.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image047.jpg
- Lênh S khác với lệnh gán ở chỗ: ở lệnh gán giá trị của “địa chỉ” đúng bằng giá trị của biểu thức logic đứng trước nó, còn ở lệnh S thì giá trị của “địa chỉ” sẽ bằng 1 khi biểu thức đứng trước có giá trị bằng 1 tuy nhiên sau đó nó không phụ thuộc vào giá trị của biểu thức đứng trước nó nữa (luôn bằng 1 cho đên khi được R).
2.4. Hệ lệnh đại số Boolean
* Đối với LAD
- Phép toán AND được biểu diễn bằng cách mắc nối tiếp hai tiếp điểm lại với nhau
- Phép toán OR được biểu diễn bằng cách mắc song song hai tiếp điểm lại với nhau
* Đối với STL
- Các lệnh thao tác với tiếp điểm
A : AND
AN: AND NOT
O : OR
ON: OR NOT
AI ANI OI ONI : Tác động tức thì
- Các lệnh thao tác trên ngăn xếp (không sử dụng cho các lệnh trong LAD)
ALD ( And load) : S1 = S1 and S2 ( Bit thứ 3 dc đẩy lên 1 bit)
OLD ( Or load) : S1= S1 Or S2 ( Bit thứ 3 dc đẩy lên 1 bit)
LPS ( Logic Push) Đẩy ngăn xếp xuống 1 bit
LPP ( Logic Pop) Kéo ngăn xếp lên 1 bit
LRD ( Logic Read) Sao chép giá trị bit thứ hai vào bit đầu của ngăn xếp. Các bít còn
lại giữ nguyên vị trí.
- Lệnh thực hiện các phép logic trên Byte, Word hoặc Double Word
Ví dụ:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image049.jpg
Ví dụ trên thực hiện một phép tinh AND giữa hai Byte IN1 và IN2 kết quả được đưa trả vào IN2 để tiết kiệm ô nhớ. Nghĩa là IN2= IN1 and IN2.
Đối với các toán hạng là Word hay Double Word ta cũng thực hiện tương tự với các khối hàm tương ứng.
Các lênh tương ứng trong STL:
ANB ORB XORB : các phép toán thực hiện với Byte
ANW ORW XORW : các phép toán thực hiện với Word
AND ORD XORD : Các phép toán thực hiện với Double Word
IN2 = IN1 IN2
- Các lệnh tiếp điểm đăc biệt
NOT : đảo giá trị kết quả các phép toán logic mắc nối tiếp với nó.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image051.jpg
EU (Edge Up) : Phát hiện xườn lên của tín hiệu ( S1=1 trong 1 vòng quét).
ED (Edge Down) : Phát hiện xườn xuống của tín hiệu ( S1=1 trong 1 vòng quét).
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image053.jpg
- Hệ lênh so sánh
Thực hiện so sánh các số dạng Byte, Word, Double Word, nếu kết quả so sánh đúng giá trị logic trả về sẽ là 1 , nếu sai sẽ là 0.
Hệ lệnh thực hiện với các toán hạng dạng : B, W, DW, R
Các kiểu so sánh đã được chỉ ra rõ trong lệnh: = =, >=, <=, <>, >, <.
Vi dụ:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image055.jpg
Ví dụ trên có nghĩa là nếu số nguyên (16 bit) IN1>= IN2 thì Q0.0=1.
Ta hoàn toàn có thể sử dụng các phép toán logic : AND, OR, XOR với các khối so sánh trên.
* Trong STL hệ lệnh so sánh cho ra kết quả được lưu vào bit đầu tiên của ngăn xếp.
Vd:
LDW <= in1 in2
So sánh hai số nguyên (32 bit), nếu In1<=In2 thì kết quả đưa về là 1 nều sai thì là 0.
2.5. Hệ lệnh điều khiển Timer
Timer được sử dụng làm bộ trễ tín hiệu.
Đặc điểm chung của Timer
- Timer được điều khiển bởi giá trị đầu vào (Enable) và thanh ghi giá trị đếm tức thời T_Word . Thanh ghi này ghi giá trị tức thời của Timer từ khi Timer được hoạt động cho đến khi bị Reset hoặc đạt giá trị cực đại, và luôn đựơc so sánh với giá trị đặt trước PT.
- Tuỳ thuộc vào loại Timer có/không nhớ mà Timer sẽ không/có bị Reset khi tín hiệu Enable bị đưa về không khi đang hoạt động.
- Bit T_bit chỉ trạng thái logic đầu ra. Giá trị của T_bit phụ thuộc vào kết quả so sánh giữa T_Word và PT, nó còn phụ thuộc vào loại Timer ( TON hay TOF).
Các loại Timer :
a- TON : Timer tạo thời gian trễ không có nhớ ( On Delay Timer).
- Timer đựơc kích khi có sườn lên của tín hiệu Enable và Reset ngay khi gặp sườn
xuống của tín hiệu này. Khi bị Reset thanh ghi T_Word = 0, T_bit = 0.
- Khi độ trễ bằng độ trễ đặt trước (PT) thì T_bit = 1 ( T_Word = PT).
b- TOF (Off Delay Timer) Timer tạo trễ thời gian không có nhớ.
- Được kích khi gặp sườn xuống của tín hiệu Enable và Reset ngay khi gặp sườn lên
của tín hiệu này. Khi bị Reset thanh ghi T_Word = 0, T_bit = 0.
- Khi độ trễ bằng độ trễ đặt trước (PT) thì T_bit = 1 ( T_Word = PT).
c- TONR (Retentive On-Delay Timer) Timer tạo trễ thời gian có nhớ
- Timer đựơc kích khi có sườn lên của tín hiệu Enable, tuy nhiên khi gặp sườn
xuống của tín hiệu Enable Timer chỉ ngưng hoạt động mà giá trị trong T_Word
không bị xoá. Khi thấy sườn lên của tín hiệu Enable thì Timer lại bắt đầu đếm từ
giá trị trước đó của Timer.
- T_bit = 1 khi T_Word = PT.
- Khác với các loại Timer khác TONR cần có thêm tín hiệu Reset để đưa toàn bộ
Timer về giá trị ban đầu.
VD1: Sử dụng Timer TONR (Timer có nhớ)
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image057.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image059.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image061.jpg
Hệ lệnh tương ứng sang STL:
NETWORK1
LD I0.0
AN M0.0
TON T37,10
NETWORK 2
LDW<= T37, +5
= Q0.0
NETWORK 3
LD T37
=M0.0
Trong S7 200 độ phân giải của Timer phụ thuộc vào chính timer được chọn :
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image063.jpg
2.6. Hệ lệnh điều khiển Counter
Counter có tác dụng đếm sườn xung của tín hiệu đầu vào.
Trong S7 200 có hai loại Counter : Bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTD).
Thanh ghi C_Word ghi giá trị đếm tức thời của Timer và luôn được so sánh với giá trị đặt trước PV.
C_bit là bit cờ dùng để chỉ ra kết quả so sánh giữa giá trị đếm tức thời trong Counter và giá trị đặt trước PV
Khi C_Word >= PV thì C_bit = 1.
Cú pháp khai báo Counter trong LAD và STL như sau:
LAD
STL
Mô tả
Toán hạng
Cxx
CU CTU
R
PV
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.gif
CTU Cxx,+n
Khai báo bộ đếm tiến theo sườn lên của tín hiệu vào CU số hiệu xx kiểu CTU. Khi giá trị đếm tức thời C_word của Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C_bit (Cxx) có giá trị logic bằng 1. Bộ đếm ngừng đếm khi C-word Cxx đạt giá trị cực đại 32767.
Cxx ( word): CPU212:0-47
CPU214:0-47
Và 80-127
PV (word):
VW,T,C,IW,
n=1-32767
(số nguyên)
Cxx
CU CTU
CD
R
PV
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image065.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image066.gif
CTUD Cxx,+n
Khai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của tín hiệu đến CU và đếm lùi theo sườn lên của tín hiệu đến CD. Khi giá trị tức thời C_word của Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bit(Cxx) có giá trị logic bằng 1. Bộ đếm được Reset khi đầu vào R có giá trị logic bằng 1.Bộ đếm ngừng đếm tiến khi C-word đạt giá trị cực đại 32767 và đếm ngừng đếm lùi khi C-word Cxx đạt giá trị cực tiểu -32767.
Cxx (word):
CPU212:48-63
CPU214:48-79
PV (word):
VW,T,C,IW,
n=1-32767
(số nguyên)
Cả C_Word và C_Bit đều được ký hiệu là Cx tuy nhiên chúng sẽ được phân biệt khi sử dụng với câu lệnh trong chương trình. Khi câu lệnh làm việc với Word thì CPU sẽ hiểu đó là C_Word, còn khi làm việc với lệnh Bit thì CPU hiểu đó là C_Bit.
Khác với Timer Counter cần có tín hiệu Reset ngoài. Khi bộ đếm bị Reset thì toàn cả C_Word và C_bit đều bằng 0.
2.7. Hệ lệnh dịch chuyển nội dung ô nhớ
Hệ lệnh có tác dụng dịch chuyển hoặc sao chép sô liệu từ vùng này sang vùng khác trong bộ nhớ.
Toán hạng của các lệnh này là : Byte, Word, Double Word hoặc Real.
- Các lệnh di chuyển nội dung ô nhớ trong STL
MOV_B MOVB MOV_W MOVW
MOV_DB MOVD MOV_R MOVR
Giá trị đầu vào có thể là các ô nhớ ( chứa dữ liệu bên trong) hoặc là hắng số. Đầu ra OUT bắt buộc phải là các ô nhớ với kích thước đúng với lệnh chuyển và kiểu dữ liệu của đầu vào IN.
VD:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image068.jpg
Lệnh tương ứng trong STL
LD I0.0
MOVB 12 VB0
MOVW 1234 VW100
MOVD AC1 VD200
2.8. Hệ lệnh số học
Hệ lệnh số học dùng để thực hiện các phép tính trong chương trình.
Hệ lênh số học sử dụng cho số nguyên (16 bit, 32 bit) và số thực (32 bit).
Các lệnh số học được thông báo trạng thái kết quả thông qua các bit nhớ đặc biệt, cụ thể:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image070.jpg
1: Kết quả bị tràn ô nhớ.
2: Tràn hoặc toán hạng không hợp kiểu.
Những đặc điểm cần lưu ý khi làm việc với các phép tính số nguyên và số thực:
ã Đối với số nguyên:
- Nếu SM1.3 = 1 ( chia cho 0) trong khi đang thực hiện phép chia thì các bit thông báo trạng thái khác giữ nguyên giá trị và giá trị đầu vào các toán hạng không bị thay đổi.
- Giá trị thông báo kết quả trạng thái của các bit đều đúng nghĩa khi phép tính kết thúc
ã Đối với số thực
- Nếu SM1.3 = 1 ( chia cho 0) trong khi đang thực hiện phép chia thì các bit thông báo trạng thái khác giữ nguyên giá trị và giá trị đầu vào các toán hạng không bị thay đổi.
- SM1.1 = 1 khi kết quả bị tràn ô nhớ hoặc giá trị đầu vào không hợp lệ. Trong trường hợp này SM1.0 và SM1.2 sẽ không còn ý nghĩa.
- Khi SM1.1 = 0 (và SM1.3 <>1 khi thực hiện phép chia) thì kết quả phép tính là đúng và các bit báo trạng thái có giá trị đúng với kết quả phép tính.
Hệ lệnh với số nguyên bao gồm các phép tính : cộng (ADD), trừ (SUB), nhân (MUL), chia (DIV) áp dụng cho các số nguyên 16 bit và 32 bit.
Tập các lệnh tăng (INC), giảm (DEC) giá trị biến dùng cho các số dạng Byte, Word,
và Double Word.
Đối với số thực ngoài các phép toán Cộng, Trừ, Nhân, Chia còn có các phép toán dạng:
Căn bậc hai (SQRT), Sin, Cos, Tan, Ln, hàm e mũ (EXP).
a- Phép cộng, trừ (Add, Subtract).
Phép cộng và trừ áp dụng cho các dạng số : Integer, Double Integer, và Real. Các phép
tính cụ thể là:
ADD_I +I SUB_I -I ADD_D +D SUB_D -D
ADD_R +R SUB_R -R
- Đối với LAD phép tính sẽ có dạng : OUT = IN1 ± IN2. Với giá trị của IN1, IN2, OUT phải đúng với kiểu thực hiện trong phép toán. Ngoài ra với LAD ta có thể tiếp kiệm ô nhớ bằng các lấy đầu vào làm đầu ra luôn.
- Đối với STL phép tính có dạng : IN2 = IN1 ± IN2.
VD:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image072.jpg
Lệnh tương ứng trong STL
NETWORK 1
LD I0.0
MOVW 1234 , AC1
NETWORK 2
LD I0.1
-I AC1 VW12
b- Phép nhân, chia (Multiply, Divide)
Đối với phép nhân và phép chia phải thực sự chú ý đến kiểu dữ liệu của các toán hạng trong lệnh để tránh trường hợp bi tràn ô nhớ.
- Phép nhân hai số nguyên 16 bit
+ Đối với LAD : OUT = IN1*IN2. Trong đó IN1 và IN2 là hai số nguyên 16 bit, OUT là số nguyên 32 bit.
+ Đối với STL : IN2 = IN1*IN2. Trong đó IN1 là số nguyên 16 bit được nhân với số nguyên 16 bit được chứa trong từ thấp của số nguyên IN2 (32 bit) và kết quả được đưa lại vào IN2.
- Phép chia hai số nguyên 16 bit
+ Đối với LAD : OUT = IN1/IN2. Trong đó IN1 và IN2 là hai số nguyên 16 bit, OUT là số nguyên 32 bit. Thương được chứa trong từ thấp của OUT và phần dư chứa
trong từ cao của OUT.
+ Đối với STL: IN2 = IN1/IN2. Trong đó IN1 là số nguyên 16 bit được chia cho số nguyên 16 bit được chứa trong từ thấp của số nguyên IN2 (32 bit) và thương được đưa vào từ thấp của IN2, phần dư đưa vào từ cao của IN2.
- Phép nhân, chia số thực
Phép tính được thực hiện trên số thực 32 bit và kết quả cũng là một số thực 32 bit.
c- SQRT
Phép lấy căn bậc hai của một số thực IN (32 bit) kết quả đưa lại vào số nguyên OUT (32 bit).
2.9. Lệnh tăng giảm và đảo giá trị thanh ghi.
Hệ lệnh này giúp cho người lập trình đơn giản hoá các vòng điều khiển bên trong chương trình.
- Lệnh tăng giảm nội dung của thanh ghi có tác dụng tăng hoặc giảm giá trị trong thanh ghi lên/xuống 1 đơn vị. Thanh ghi có thể là Word hay Double Word.
Các lệnh này cũng được thông báo kết quả trạng thái bằng các bit nhớ đặc biệt, cụ thể:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image074.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image076.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image078.jpg
Lệnh tương ứng trong STL
NETWORK 1
LD I0.4
INCW AC0
DECD VD100
2.10. LÖnh so s¸nh.
* C¸c lÖnh so s¸nh:
NÕu c¸c quyÕt ®Þnh vÒ ®iÒu khiÓn ®îc thùc hiÖn khi cÇn cã sù so s¸nh th× cã thÓ sö dông lÖnh so s¸nh theo byte, tõ hay tõ kÐp (gi¸ trÞthùc hoÆc nguyªn). Nh÷ng lÖnh so s¸nh thêng lµ: so s¸nh nhá h¬n hoÆc b»ng (<=); so s¸nh (=) vµ so s¸nh lín h¬n hoÆc b»ng (>=).
Khi so s¸nh c¸c gi¸ trÞ cña byte th× kh«ng cÇn ph¶i ®Ó ý ®Õn dÊu cña to¸n h¹ng, ngîc l¹i khi so s¸nh c¸c tõ hoÆc tõ kÐp víi nhau th× ph¶i ®Ó ý ®Õn dÊu cña c¸c to¸n h¹ng lµ bÝt cao nhÊt trong tõ hoÆc tõ kÐp. KÕt qu¶ cña phÐp so s¸nh cã gi¸ trÞ b»ng 0 (nÕu ®óng) hoÆc 1 (nÕu sai) nªn cã thÓ sù dông kÕt hîp cïng víi c¸c lÖnh logic LD, A, O. §Ó t¹o ®îc c¸c phÐp so s¸nh mµ S7 – 200 kh«ng cã lÖnh t¬ng øng nh: so s¸nh kh«ng b»ng nhau (< >), so s¸nh nhá h¬n (<) hoÆc so s¸nh lín h¬n (>),cã thÓ t¹o ®îc nhê kÕt hîp lÖnh NOT víi c¸c lÖnh ®· cã (=, >= vµ <=).
BiÓu diÔn c¸c lÖnh so s¸nh trong LAD
LAD
M« t¶
To¸n h¹ng
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image080.jpg
TiÕp ®iÓm ®ãng khi n1 = n2
B = Byte.
I = Interger
D = Double Integer
R = Read
n1, n2: VB, IB, QB, MB
(byte) SMB, AC Const,
*VD*, AC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image082.jpg
TiÕp ®iÓm ®ãng khi
n1 ³ n2
B = Byte.
I = Interger
D = Double Integer
R = Read
n1, n2: VW, T, C, IW,
( tõ ) QW, MW, SMW, AC, AIW
H»ng sè ,
*VD*, AC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image084.jpg
TiÕp ®iÓm ®ãng khi n1 £ n2
B = Byte.
I = Interger
D = Daouble Integer
R = Read
n1, n2: VD, ID, QD, MD,
(tõ kÐp) SMD,AC, HC,
H»ng sè,
*VD*, AC
LDB =, LDW =
LDD =, LDR =
LÖnh kiÓm tra b»ng nhau cña néi dung hai byte, tõ, tõ kÐp hoÆc sè thùc. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, bÝt ®Çu tiªn trong ng¨n xÕp sÏ cã gi¸ trÞ logic b»ng 1.
LDB < =, LDW < =
LDD < =, LDR < =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã nhá h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, th× bÝt ®Çu tiªn trong ng¨n xÕp sÏ cã gi¸ trÞ logic b»ng 1.
LDB > =, LDW > =
LDD > =, LDR > =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã lín h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, th× bÝt ®Çu tiªn trong ng¨n xÕp sÏ cã gi¸ trÞ logic b»ng 1.
AB =, AW =
AD =, AR =
LÖnh kiÓm tra tÝnh b»ng nhau cña néi dung hai byte, tõ, tõ kÐp hoÆc sè thùc. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic And gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
AB < =, AW < =
AD < =, AR < =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã nhá h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic And gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
AB > =, AW > =
AD > =, AR > =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã lín h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic And gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
OB =, OW =
OD =, OR =
LÖnh kiÓm tra tÝnh b»ng nhau cña néi dung hai byte, tõ, tõ kÐp hoÆc sè thùc. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic Or gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
OB < =, OW < =
OD < =, OR < =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã nhá h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic Or gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
OB > =, OW > =
OD > =, OR > =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã l¬n h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic Or gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
PHẦN IV: MÔ HÌNH THI CÔNG.
Tủ điện điều khiển mô hình pha màu tự động đươc sử dụng các thiết
bị sau:
1. CPU 224 AC-DC-Relay của PLC siemens S7-200
Trong mô hình này CPU 224 được lập trình để điều khiển các thiết
bị: valve solenoid, động cơ trộn, các cảm biến
2. Module Analog EM 235 của PLC siemens S7-200
Module Analog EM 235 dùng để nhận tín hiệu từ cảm biến áp suất
chuyển đổi tín hiệu đưa về PLC để xử lý
3. Cầu Dao Điện
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image086.gif
CB bảo vệ là khí cụ điện dùng để đóng mạch điện động lực và các
thiết bị phụ tải có công suất lớn, trong mô hình này dùng để đóng điện cho hệ thống hoạt động
Thông số kỉ thuật:
Điện áp cung cấp 220 VAC /50 Hz
Cường độ dòng điện định mức: 20A
4. Relay trung gian
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image088.gif
Relay trung gian là một khí cụ điện được dùng trong lĩnh vực điều
khiển tự động. Đây là một loại relay điện áp, nguyên lý hoạt động tương
như contactor, nhưng điểm khác biệt giữa Contactor và relay trung gian như sau:
Relay trung gian chỉ có một loại tiếp điểm cho các dòng điện cường độ nhỏ đi qua, không có tiếp điểm chính và tiếp điểm phụ
Trong relay trung gian cũng có những tiếp điểm thường đóng và tiếp
điểm thường mở nhưng không có bộ phận dập hồ quang điện
Trong mô hình sử dụng 05 relay trung gian
4 Relay trung gian loại 24 VDC /5A dùng để cấp nguồn 24 VDC cho 4 cuộn coil của vavle solenoid
1 Relay trung gian loại 24 VDC /5A dùng để cấp nguồn 220 VAC cho 1 động cơ trộn hoạt động
Nhằm bảo vệ cho CPU tránh những rủi ro từ nguồn điện 220 VAC làm hư hỏng PLC, nên tránh cấp nguồn 220 VAC trực tiếp vào các tiếp điểm
của PLC, vì thế phải dùng relay trung gian loại 24 VDC để đóng cắt các tiếp điểm của valve solenoid
Thông số kỉ thuật :
Loại 02 tiếp điểm thường đóng 02 tiếp điểm thường hở
Điện áp cuộn dây: 24 VDC /5A
Cường độ dòng điện định mức : 5A / 28 VDC hoặc 220 VAC
5. Valve solenoid
Valve solenoid là một khí cụ điện được dùng trong lĩnh vực điều khiển sự đóng ngắt các valve bằng cách cấp nguồn cho các cuộn coil bên trong valve
Thông số kỉ thuật :
Điện áp cuộn dây: 24 VDC /5A
Cường độ dòng điện định mức : 5A / 28 VDC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image090.gif
6. Bộ nguồn 24 VDC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image092.gif
Đây là thiết bị dùng để biến đổi nguồn điện 220 VAC thành 24 VDC để tạo nguồn 24 VDC cung cấp cho các thiết bị điện trong hệ thống
Thông số kỉ thuật :
Điện áp cung cấp : 220 VAC /5A
Cường độ dòng điện định mức : 5A / 240 VAC
Điện áp ngõ ra : 24 VDC /0.6A
7. Động cơ trộn
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image094.gif
Sử dụng động cơ của máy quạt, đây là thiết bị dùng để trộn đều các thành phần màu trong hỗn hợp để có được một màu sơn chuẩn
Thông số kỉ thuật :
Điện áp cung cấp : 220 VAC /5A
Cường độ dòng điện định mức : 5A / 240 VAC
8. Cảm biến áp suất (Pressure Transmitter)
Bộ Pressure Transmitter được sử dụng để đo thể tích cũng như khối
lượng của mực chất lỏng, bộ Pressure Transmitter chuyển đổi áp suất của
cột nước trong bồn thành giá trị dòng điện
Thông số kỉ thuật :
Điện áp cung cấp : 24 VDC /5A
Cường độ dòng điện định mức : 5A / 28 VDC
Tín hiệu trả về : 4mA -20 mA
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image096.gif
PHẦN V. SƠ LƯỢC VÀ NGUYÊN TẮC ĐIỀU KHIỂN:
- Bật công tắc nguồn cho hệ thống hoạt động
- Chọn sản phẩm và khối lượng cần sản xuất thông qua giao diện
- Xác nhận lại một lần nữa
- PLC điều khiển cho các van chứa nguyên vật liệu lần lược mở ra theo thứ tự mà sản phẩm và khối lượng đã chọn
- PLC kiểm tra khối lượng nguyên vật liệu đã đủ hay chưa, và lần lượt
đóng lại các van chứa
- Sau đó PLC điều khiển cho động cơ trộn hoạt động trong 5 phút, để
trộn tất cả nguyên vật liệu đã có trong bồn lớn
- Sau khi trộn xong,hệ thống ngưng hoạt động ở chế độ chọn sản
phẩm và khối lượng, và cứ thế hệ thống hoạt động theo dây chuyền
khép kín.
I. Yêu Cầu Kỹ Thuật :
1. Phương pháp pha chế các màu sơn
Để pha trộn được một màu sơn nào đó chúng ta phải tìm hiểu kỹ thuật về pha chế màu, tức phải nắm bắt được tỷ lệ giữa các màu cơ bản là
bao nhiêu %
Do vậy yêu cầu :
Ø Các sơn phải có màu chuẩn
Hỗn hợp phải được khuấy trộn đều đặn
Do có hạn chế về việc sử dụng các thiết bị trong mô hình mà người thiết kế chỉ đưa vào 3 màu cơ bản để sản suất ra một màu nhất định tương
ứng với khối lượng được nhập vào từ giao diện trên bảng điều khiển
Ø Một số thành phần các màu cơ bản:
Sản phẩm
Tỷ lệ(%)
Xanh
Đỏ
Vàng
Cam
5
50
45
Rêu
60
10
30
Nho
10
70
20
Trước khi chuẩn bị pha màu cần xem kỹ màu mẫu mà đối chiếu để tăng hoặc giảm một màu thứ màu chính nào đó cho đạt tiêu chuẩn. Các màu pha lẫn phải khuấy thật đều với nhau cho các màu sơn tan hoàn toàn. Pha chế màu sơn phải theo công thức tỷ lệ phần trăm như bảng hướng dẫn. Tuy nhiên cần phải linh hoạt tăng hoặc giảm để đạt được màu sắc thích hợp và đẹp mắt, vì ngay trong một thùng sơn cùng màu thùng sơn đặc thì màu sắc đậm hơn thùng sơn loãng
Khi pha chế màu sơn cần chú ý không được pha lẫn màu sơn gốc dầu với sơn gốc nhựa tổng hợp, vì thành phần hóa học của hai loại sơn này
khác nhau về cơ bản
Trong khi pha chế màu sơn nếu gặp trường hợp sơn đặc không đủ độ
nhớt theo tiêu chuẩn thì cần pha dung môi và dầu sơn theo từng loại sơn để đảm bảo độ nhớt sau đó mới pha chế màu sơn
Sau khi đã pha chế màu xong cần phải xem thử để kiểm tra màu sơn
trước khi đưa vào sơn hàng loạt sản phẩm
2. Cơ sở quá trình trộn
Khái niệm và công dụng của quá trình trộn
Máy trộn được dùng để đạt được các mục đích sau đây:
Tạo thành hỗn hợp đồng nhất của hai hay nhiều chất rắn hoặc lỏng lại với nhau
Trong công nghiệp hoá chất, công nghiệp thực phẩm quá trình trộn được ứng dụng nhiều để tạo ra các sản phẩm đồng nhất
3. Mức độ đồng đều của sản phẩm
Khi trộn một khối lượng a của chất A với khốii lượng b của chất B để tạo thành một hỗn hộp đồng nhất thì thành phần của chất A và chất B trong hỗn hợp lý tưởng sẽ là :
Đối với chất A:
CA=a/a+b (1)
Đối với chất B:
CA=b/a+b (2)
Ta có:CA+CB=1
Các thành phần này sẽ như nhau ở mọi thành phần thể tích của hỗn hợp. Những hỗn hợp lí tưởng này chỉ đạt được khi thời gian trộn tiến tới vô
hạn. Thực tế, không thể đạt được hỗn hợp lí tưởng và thời gian trộn không tiến tới vô hạn được
Bởi vậy trong hỗn hợp thực thì thành phần của các chất A và B ở các
phần thể tích khác nhau của hỗn hợp sẽ khác nhau. Sự khác nhau này càng ít thì hỗn hợp càng gần với hỗn hợp lí tưởng
Bộ phận chính của phần trộn gồm:
Thùng trộn, có thể đặt đứng hoặc đặt nằm ngang, nó có thể đứng yên hoặc chuyển động
Cách trộn là bộ phận chủ yếu để trộn vật liệu ; cách trộn có thể được đặt đứng hoặc nằm nằm ngang, nó có thể quay tròn hoặc chuyển động tịnh
tiến
Trong mô hình này cách trộn chỉ mang tính chất mô phỏng
II. ĐIỀU KHIỂN MÁY TRỘN MÀU SƠN DÙNG PLC S7-200:
1. Quy trình xử lý điều khiển
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image098.jpg
Thiết bị nhập : là các nút nhấn trên bảng điều khiển tại giao diện người sử dụng
PLC:có nhiệm vụ xử lý thông tin từ thiết bị nhập
Các lệnh bị chấp hành: có nhiệm vụ thực thi các lệnh của PLC phát ra
2. Mô hình hệ thống pha màu tự động:
Mô hình hệ thống pha màu tự động là một hệ thống hoàn toàn tự động được điều khiển bởi bộ điều khiển lập trình PLC siemens S7-200 CPU 224
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image100.gif
a. Các bồn chứa các màu cơ bản
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image102.gif
b. Các valve xả của các màu thành phần
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image104.gif
c. Bồn định lượng
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image106.gif
Xác định khối lượng theo đúng tỉ lệ đã đặt trước do cảm biến áp suất
điều khiển
d. Cảm biến áp suất và van xả hỗn hợp
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image108.gif
Cảm biến áp suất điều khiển quá trình hoạt động của hệ thống và valve xả hỗn hợp xuống để trộn đều
e. Bồn chứa và động cơ trộn đều hỗn hợp
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image110.gif
Bồn chứa các hỗn hợp màu và động cơ trộn đều các hỗn hợp để có một màu chuẩn
f. Tủ điều khiển của hệ thống
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image112.gif
III. GIAO DIỆN ĐIỀU KHIỂN VÀ NGUYÊN LÝ HOẠT ĐỘNG
1. Menu chính
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image114.gif
- Chọn màu, khối lượng cần sản xuất và download xuống PLC xử lý
- Cập nhật cở sở dữ liệu cho hệ thống,thay đổi tỉ lệ của từng màu để có
được một màu chuẩn
- Xem thành phần của các màu cần sản xuất trong các công thức với tỉ
lệ có sẵn được lấy từ cơ sở dữ liệu
- Giám sát quá trình vận hành của hệ thống
- Thoát khỏi chương trình điều khiển
2. Chọn màu và khối lượng cần sản xuất
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image116.gif
Người điều khiển chọn màu cần sản xuất với các tỉ lệ,công thức đã được lưu sẵn trong cơ sở dữ liệu, chọn một trong các công thức có sẵn
Người điều khiển nhập khối lượng cần sản xuất để sau khi hệ thống
hoạt động, sản phẩm sản xuất ra sẽ có khối lượng bằng với khối lượng nhập vào
Sau khi chọn xong người điều khiển có thể download các thông số xuống PLC hoặc trở lại Menu chính để thay đổi các thông số khác
3. Cập nhật màu cơ sở
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image118.gif
Người điều khiển có thể thay đổi tỉ lệ có sẵn của một số công thức thành các tỉ lệ mới để có được màu của sản phẩm như mong muốn, nhưng tổng các tỉ lệ thay đổi phải đúng 100%, nếu không bằng hệ thống sẽ báo lỗi và nhắc nhở người sử dụng nhập lại
4. Xem thành phần và tỉ lệ của màu cần sản xuất
Nếu người điều khiển muốn biết được thành phần các màu cơ bản và tỉ lệ của các màu này để có được một màu mong muốn,trên giao diện sẽ cập
nhật từ cơ sở dữ liệu với các công thức, tỉ lệ đã được cập nhật sẵn đưa ra
ngoài giao diện cho người sử dụng biết chính xác các thành phần và tỉ lệ cần có
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image120.gif
5. Giám sát quá trình vận hành của hệ thống
Người sử dụng có thể thống qua giao diện điều khiển tắt mở hệ thống và giám sát các quá trình vận hành của hệ thống, xem hệ thống có hoạt động hay không hoặc vận hành đến giai đoạn nào
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image122.gif
6. Thoát khỏi chương trình
Sau khi điều khiển, người điều khiển có thể tắt hệ thống và thoát khỏi
chương trình điều khiển bằng thông báo xác nhận đúng hay sai
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image124.gif
PHẦN VI. LƯU ĐỒ THUẬT TOÁN
1. Khởi động hệ thống trộn :
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image126.jpg
2. Thực hiện quá trình:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image128.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image130.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image132.jpg
PHẦN VII. CHƯƠNG TRÌNH ĐIỀU KHIỂN:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image134.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image136.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image138.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image140.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image142.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image144.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image146.jpg
PHẦN VIII. CHƯƠNG TRÌNH CHẠY MÔ PHỎNG
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image148.jpg
MỤC LỤC :
PHẦN I : Giới thiệu chung về ĐK lập trình bằng PLC 1
I. Giới thiệu phần cứng của bộ ĐK lập trình PLC
I.1 Mô đun nguồn 5
I.2 Mô đun CPU
I.3 Mô đun nhập 7
I.4 Mô đun xuất
I.5 Đáp ứng của ngõ vào ra của thiết bị lập trình .8
II. Giới thiệu phần mềm bộ ĐK lập trình PLC
II.1 Hệ điều hành và tập lệnh
II.2 Chương trình soạn thảo, gỡ rối và các tiện ích
PHẦN II : Giới thiệu về họ PLC S7-200 của SIEEMEN .11
I. Giới thiệu tổng quát về PLC S7-300
II. Giới thiệu tổng quát về PLC S7-200 14
II.1 Cấu trúc bộ nhớ PLC S7-200 15
II.2 Thực hiện chương trình 16
PHẦN III : Tập lệnh cơ bản dùng trong thiết bị ĐK PLC S7-200 18
III.1 Cấu trúc chương trình
III.2 Ngôn ngữ lập trình trong S7-200 và phần mềm Microwin .19
A. Phần mềm viết chương trình
B. Phương pháp lập trình 24
C. Hệ lệnh của S7-200 .26
1. Toán hạng và giới hạn cho phép
2. Hệ lệnh 27
2.1 Sơ lược về đại số Boolean
2.2 Lệnh vào ra
2.3 Lệnh ghi xóa các tiếp điểm .28
2.4 Hệ lệnh đại số Boolean 29
2.5 Hệ lệnh ĐK Timer .31
2.6 Hệ lệnh ĐK Counter .34
2.7 Hệ lệnh dich chuyển nội dung ô nhớ .36
2.8 Hệ lệnh số học 37
2.9 Lệnh tăng giảm va đảo giá tri thanh ghi .41
2.10 Lệnh so sánh .42
PHẦN IV : Mô hình thi công .46
1. CPU 224AC-DC Relay của PLC SIEMEN S7-200
2. Mudule Analog EM 235 của PLC SIEMEN S7-200
3. Cầu dao điện
4. Relay trung gian 47
5. Valve solenoid
6. Bộ nguồn 24VDC 48
7. Động cơ trộn 49
8. Cảm biến áp suất
PHẦN V : Sơ lược và nguyên tắc điều khiển .50
I. Yêu cầu kỹ thuật
1. Phương pháp pha chế các màu sơn
2. Cơ sơ quá trình trộn 51
3. Mức độ đồng đều của sản phẩm
II. Điều khiển máy trộn màu sơn dùng PLC S7-200 52
1. Quy trình xử lý điều khiển
2. Mô hình hệ thống pha màu tự động
III. Giao diện điều khiển và nguyên lý hoạt động 56
1. Menu chính
2. Chọn màu và khối lượng cần sản xuất .57
3. Cập nhật màu cơ sở .58
4. Xem thành phần và tỉ lệ của màu cần sản xuất
5. Giám sát quá trình vận hành của HT 59
6. Thoát khỏi chương trình 60
PHẦN VI: Lưu đồ thuật toán .61
1. Khởi động hệ thống trộn
2. Thực hiện quá trình 62
PHẦN VII : Chương trình điều khiển .63
PHẦN VIII : Chương trình chạy mô phỏng 66
TÀI LIỆU THAM KHẢO:
1. Giáo trình “ Tự động hóa với Simatic S7-2000 ”
Tác giả: Nguyễn Doãn Phước
Phan Xuân Minh
2. Đề cương bài giảng PLC
Tác giả : Th.S. Thái Hữu Nguyên
3. Một số tài liêu khác
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image001.gif
Hiện nay trong công cuộc công nghiệp hoá 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, gon nhẹ ). Mặt khác với 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 kiểu loại thiết bị, thiết bị này đã đáp ứng được yêu cầu điều khiển nói trên, đó là thiết bị điều khiển khả trình “PLC”.
Ngày nay thiết bị điều khiển lập trình “PLC” cũng đã được ứng dụng trong điều khiển máy trộn sơn. Các quá trình bơm sơn vào bình, thêm chất xúc tác đã được thực hiện một cách tự động, linh hoạt, thuận tiên Để đáp ứng được yêu cầu trên trong phạm vi đồ án môn học này em dùng thiết bị lập trình PLC để viết chương trình cho hệ thống tự động điều khiển máy trộn sơn. Trong thực tế có rất nhiều loại PLC của nhiều hang sản xuất đó là hang Siemens-Đức, Omron-Nhật Bản, Goldstar-Hàn Quốc tồn tại trên thị trường Việt Nam. PLC là thiết bị mới đang ứng dụng rộng rải cũng như sẽ thay thế chổ tất cả thiết bị cũ (lạc hậu) trong tương lai.
Trong quá trình làm đồ án còn gặp khó khăn đó là tài liệu tham khảo cho vấn đề này còn rất ít, rất hạn hẹp. 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ất mong sự góp ý bổ sung của các thầy cô giáo,các quý bạn đọc để đồ án này được hoàn thiên hơn.
Xin chân thành cảm ơn!
Sinh viên: NGUYỄN VĂN LONG
PHẦN I
GIỚI THIỆU CHUNG VỀ ĐIỀU KHIỂN LẬP TRÌNH BẰNG PLC
I.GIỚI THIỆU PHẦN CỨNG CỦA 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 logic lập trình, cho phép thực hiện linh hoạt các thuật toán điều khiển logic thô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 dung 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ìnhtrê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ều khiển, thực hiện logic được lập trong Chương trình và đưa ra tín hiệu điều khiển cho 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á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ày chính được xác định bởi luật kết nối giữa các phần tử logic.
(y1, y2 yn)=f(x1, x2 xn)
Như vậy đối với mụch đích điều khiển xác định thì hàm f là cố định. Đối
với các hệ thống làm việcđơn giản và làm việc độc lập thì sử dụng các phần tử có sẵn liên kết với nhau có nhiều ưu điểm về giá thành. Tuy nhiên trong các hệ 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 nghành công nghiệp điện tử
đã cho phép chế tạo các hệ vi xử lí lien tiếp, dựa trên cơ sở của bộ vi xử lý, các bộ điều khiển logic có khả năng lập trình được (PLC) đã ra đời, cho phép khắc phục được rất nhiều những 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ểm chí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 nối dây. -Tính mềm dẻo cao trong hệ thống.
-Bộ nhớ.-Bộ vào ra file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image003.jpg
Hình I.1: Nguyên lý chung về cấu trúc của bộ PLC
Trạng thái tín hiệu vào được nhận biết và chứa trong bộ nhớ, nơi PLC thự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 ra các tín hiệu ra để điều khiển các thiết bị lien quan.
vụ điều khiển được thực trong chương trình thay cho việc đấu nối dây.
Cấu trúc PLC bao gồm:
Đố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 modul để 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 được yê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ản nhất của phần cứng trong bộ PLC bao giờ cũng có các khối sau:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image005.jpg
Hình I.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 4 khối chính đó là: khối nguồn, khối vi xử lý- bộ nhớ, khối đầu vào, khôí đầu vào, khối đầu ra. Thông thường các tín hiệu xuất nhậ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ác khối xuất nhập ở dạng lien tục (Analog).
I.1. Mô đun nguồn (Moudule):
Là khối chức năng dung để 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 dung đ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.
I.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à 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 đã được chươ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 từ 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 hay một bộ dao động RC. Mạch dao động này có nhiệm vụ tạo ra tần số dao động từ 1-8 MHZ. Tuỳ thuộc vào bộ vi xử lý đã được sử dụng và phạm vi sử dụng . Một CPU 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à logic như: 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ờivà các thông tin điều khiển.
Để thực hiện một lệnh nào đó CPU phải tuân thủ các bước lệnh sau:
-Lấy lệnh từ bộ nhớ và thanh ghi lệnh .
Thay đổi bộ đếm chương trình để chỉ đến lệnh kế tiếp.
Xác định kiểu lệnh vừa lấy.
Xác định dữ liệu mà lệnh yêu cầu và xác định vị trí dữ liệu trong bộ nhớ.
Nếu lệnh cần dữ liệu trong bộ nhớ thì nạp nó vào thanh ghi của CPU.
Thực hiện lệnh.
Lưu trữ kết quả nơi thích hợp.
Trở về bước một để thực hiện lệnh kế tiếp.
`* Bộ nhớ: Bao gồm bộ nhớ chương trình và bộ nhớ dữ liệu Đơn vị nhỏ nhất của bộ nhớ là bit có giá trị “1” (hoặc “0”). Nhiều bit hợp theo hang 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 bit được đinh nghĩamộ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ớ chinh trong mọi máy tính. Kể cả PLC. Bộ nhớ Ram có lợi là dung lượng lớn nhưng giá rẻ. Ram là bộ nhớ có thể đọc ghi chương trình một cách dễ dàng. Tuy nhiên dữ liệu trong Ram sẽ bị xoá sạch khi có sự cố về điện. Vi vậy muốn lưu trữ chương trình điều khiển trong bộ nhớ Ram thì người ta dùng phương pháp nuôi bộ nhớ Ram băng một nguồn nuôi Pin. Nếu cần lưu trữ dài thì ta dung 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ố điện thì nội dung chương trình vẫn còn trong bộ nhớ . Nhưng hiện nay người ta có thể thay đổi nội dung của có. 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, EEROM, EAROM.
Điển hình ở đây ta xét 2 loại bộ nhớ Rom được dung rộng rãi trong các PLC là EPROM và EEPROM.
+EPROM (Erasable Programmble Read –Only Memory): Bộ nhớ Rom có thể xoá nội dung chưong trình . Nó được xoá bằng tia cưc tí, sau khi nội dung cũ đã xoá thì người ta dùng thiết bị đặc biệt để ghi nội dung chương trình mớ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 ( Electically Erasable Prorammble 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ạp một chương trình mới cho nó cũng đơn giản. Ngoài 2 loại trên trong các PLC người ta còn dùng FLASH EROM. Đối với những bộ điều khiển logic theo 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ý.
I.3. Mô đun nhập ( Input Module ):
Các cảm biến ( Sensors) được nối với Module ngõ vào của PLC. Thông thườ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à chon cho phù hợp. Đối với những ứng dụng nhỏ thì cần 16 ngõ vào ,ứng dụng trung bình thì cần khoảng 80 ngõ vào, ứng dụng cỡ dung các cuộn dây Rơle cho ngõ vào. Điện áp hoạt động đưa vào các cuộn dây này thường 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 220 VAC. Mặc dù điện áp cao như vậy nhưng vẫn đảm bảo an toà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.
I.4. Mô đun xuất (Output Module):
Trong PLC thì Module xuất cũng hết sứu quan trọng không kém Module nhậ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. Đối với những ứng dụng nhỏ chỉ cần 16 ngõ ra.
Những ứng dụng lớn hơn có thể dùng tới 26 hoặc 256 ngõ ra. Cũng giống như Module nhập thì các ngõ ra của Module xuấ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ống chế phụ tải có 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ừ 12V÷28V với dòng ra có khi lên tới 300mA. Dải điện áp cấp nguồn từ 12V÷28V.
I.5. Đáp ứng của ngõ vào ra của thiết bị lập trình:
Ngõ vào của PLC tiếp nhận các tín hiệu từ các Sensors, từ sự đóng ngắt các tiếp điểm của nút bấm Start, Stop, Emergency Stop. Từ cảm biến hành trinh Để chống rung ở ngõ vào. PLC có một mạch lọc ở ngõ vào do đó làm chậm thời gian đáp ứng của nó ( từ 100μs đến 25,5ms). Nếu cần PLC cũng có những ngõ vào chuyên dùng với tốc độ đáp ứng nhanh. Đáp ứng ở ngõ ra đủ nhanh ( cỡ ms), đạt yêu cầu đối với những ứng dụng điều khiển các cơ cấu chấp hành trong thiết bị tự động hoá công nghiệp. Đáp ứng ngõ vào: ( Bằng đi ốt quang-Mạch chuyển đổi).
II. GIỚI THIỆU PHẦN MỀM CỦA BỘ ĐIỀU KHIỂN LẬP TRÌNH PLC
II.1. Hệ điều hành (HĐH) và tập lệnh
-HĐH nằm trong bộ nhớ ROM
-Tập lệnh được xử lý trong RAM và EFPROM dưới dạng mã lệnh.
II.2. Chương trình soạn thảo, gỡ rối và các tiện ích
-Nằm trong gói phần mềm, cung cấp khả năng điều khiển và giao tiếp giữu người và máy đi kèm với thiết bị phần cứng.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image007.jpg
a) Đọc dữ liệu đầu vào: Đọc các trạng thái vật lí ( Input ) vào bộ đệm ảo ( IR- Input Recgister )
b) Thực thi chương trình: CPU đọc dữ liệu từ IR thực hiện chương trình phần mềm, kết quả được lưu lại ở vùng nhớ thích hợp và bộ đệm ảo đầu ra ( OR-Output Register)
c) Xử lý các yêu cầu truyền thông ( Option ). Nếu có yêu cầu truyền thông và xử lý ngắt.
d) Tự chẩn đoán lỗi: CPU kiểm tra lỗi của hệ điều hành trong ROM, các vùng nhớ và các trạng thái làm việc của các module mở rộng.
e) Xuất kết quả ở đầu ra:CPU đọc kết quả từ OR, và xuất kết quả ra cá cổng vật lý.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image009.jpg
PHẦN II
GIỚI THIỆU VỀ PLC HỌ S7-200 CỦA SIEMEN
GIỚI THIỆU TỔNG QUÁT VỀ PLC S7
ü Họ PLC S7 là một họ PLC mạnh, tốc độ xử lý cao, khả năng quản lý bộ nhớ tốt, kết nối mạng công nghiệp.
ü Hiện nay họ PLC S7 gồm có S7-200, S7-300, S7-400. S7-200 có mức điều khiển thấp nhất, tiếp theo là S7-300 và mạnh nhất là S7-400.
ü Đối với PLC S7, có thể thực hiện các phép toán logic, đếm, định thời, các thuật toán phức tạp và thực hiện truyền thông các thiết bị khác.
I.GIỚI THIỆU TỔNG QUÁT VỀ PLC S7-300
+PLC S7-300 là một sản phẩm PLC mạnh, tốc độ xử lý cao, khả năng quản lý bộ nhớ tốt, kết nối mạng công nghiệp.
+Về tính năng, S7-300 có nhiều cải tiến so với S7-200:
-Dung lượng bộ nhớ lớn hơn, tốc độ truy nhập nhanh hơn.
-Các module được nối với nhau qua khe cắm.
-Ngôn ngữ lập trình đa dạng phong phú, ngoài 3 ngôn ngữ chính, còn có các ngôn ngữ đồ hoạ (mạng SFC), ngôn ngữ bậc cao
-Khả năng quản lý các module mở rộng lớn hơn.
-Thực hiện phép toán logic và biểu thức logic đối với ngôn ngữ STL được cải tiến cho phù hợp với cách viết thông thường hơn
-S7-300 còn sử dụng 2 thanh ghi đặc biệt làm con trỏ AR1và AR2.
-Tổ chức chính trong S7-300 rộng hơn và chặt chẽ hơn, với các khối chương trình và dữ liệu cụ thể.
Một số thông tin kỹ thuật của S7-300 CPU 3xx:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image011.jpg
Các module mở rộng của S7-300 CPU : file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image013.jpg
+Tổ chức vùng nhớ và địa chỉ vùng nhớ:
-Vùng nhớ các thanh ghi
-Vùng nhớ hệ thống (System)
-Vùng nhớ chương trình ứng dụng (Load)
-Vùng nhớ chương trình thực thi (Work)
+Vùng nhớ các thanh ghi:
Gồm các thanh ghi sau: ACCU1, ACCU2, AR1, AR2, DB, DI
+Vùng nhớ chương trình ứng dụng:
Là vùng nhớ lưu nội dung mã chương trình được soạn ra do người lập trình. Tuỳ theo CPU, vùng nhớ này có thể mở rộng tới 512KB.
+Vùng nhớ thực thi:
Là vùng nhớ chứa các dữ liệu đang được thực thi bởi CPU, vùng nhớ này liên tục bị hệ điều hành thay đổi nội dung mỗi khi nạp một chương trình mới.
+Địa chỉ vùng nhớ:
-Bộ đệm đầu vào số: I0.0÷I127.7(128 byte)
-Bộ đệm ra số: Q0.0÷Q127.7 (128 byte)
-Vùng nhớ timer: T0÷T255
-Vùng nhớ counter: C0÷C255
-Vùng nhớ kho dữ liệu (Share): DBx0.0÷DBx65535.7
-Vùng nhớ khối dữ liệu (instance): Dix 0.0÷Dix 65535.7
-Vùng nhớ địa phương; L0.0÷L65535.7
-Vùng nhớ đầu ra tương tự: PIQ 65535
Truy nhập dữ liệu tại các vùng nhớ của S7-300
Truy nhập trực tiếp ô nhớ
Truy nhập gián tiếp thông qua con trỏ
+Truy nhập dữ liệu trực tiếp: truy nhập theo bit, theo byte, theo word, theo double word tương tự như của S7-200.
-Truy nhập theo bit:
DBx1.5 (Bit thứ 5 của byte 1 nằm trong khối DB share)
-Truy nhập theo byte:
DBB5 ( Byte thứ 5 nằm trong khối DB share)
DID3 ( byte thứ 3 nằm trong khối DI instance)
-Truy nhập theo Work;
DBW5 (Từ thứ 5 nằm trong khối DB share)
DIW3 (Từ thứ 3 nằm trong khối DI instancer)
-Truy nhập theo double work:
DBD5 (Từ kép thứ 5 nằm trong khối DB share)
DID3 ( Từ kép thứ 3 nằm trong khối DI instance)
+Truy nhập dữ liẹu gián tiếp thông qua con trỏ:
-Đối với S7-300 ngoài vùng nhớ M được dung làm con trỏ, S7-300 còn sử dụng 2 thanh ghi chuyên dụng AR1và AR2 kích thước 32 bit làm con trỏ.
Lựa chọn ngôn ngữ lập trình:
+Ngôn ngữ STL
+Ngôn ngữ LAD
+Ngôn ngữ FBD
+Ngôn ngữ Graph (SFC)
+Ngôn ngữ Hi-Graph
+Ngôn ngữ SCL
II.GIỚI THIỆU TỔNG QUÁT VỀ PLC S7-200
Một số thông số kỹ thuật của S7-200 CPU 22x:
CPU 221
CPU 222
CPU 224
CPU 226
CPU 226XM
Bộ nhớ chương trình
2048 W
2048W
4096W
4096W
8192W
Bộ nhớ dữ liệu
1024W
1024W
2560W
2566W
5120W
Khả năng dự phòng bộ nhớ
50 giờ
50 giờ
190giờ
190giờ
190 giờ
Khả năng dự phòng bộ nhớ
I/O địa chỉ
6 in/ 4 out
8 in/6 out
14 in/10 out
24 in/16 out
24 in/160 out
Đồng hồ thời gian thực
Cartrige
Cartrige
Tích hợp
Tích hợp
Tích hợp
Kích thước bộ đệm
256 ( 128 bits, 128 bits )
Tốc độ thực hiện lệnh logic
0,37 μs/ lệnh
II.1 Cấu trúc bộ nhớ PLC S7-200
Bộ điều khiển lập trình S7-200 được chia thành 4 vùng nhớ. Với 1 tụ có nhiệm vụ duy trì dữ liệu trong thời gian nhất định khi mất nguồn bộ nhớ S7-200 có tính năng động cao, đọc và ghi trong phạm vi toàn vùng loại trừ các bit nhớ đặc biệt SM ( Specia Memory ) chỉ có thể truy cập để đọc.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image015.jpg
Hình II.1: 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 các lệnh chương trình, vùng này thuộc bộ nhớ trong đọc và ghi được.
*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 byte, vù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.0÷I.15
Vùng Q (Output image register): Là vùng nhớ gồm 16 byte Q (đọc/ghi): Q0.0÷Q0.15.
Vùng M (Internal memory bits): Là vùng nhớ gồm có 32 byte M (đọc/ghi): M0.0÷M0.31.
Vùng V (Variable memory): Là vùng nhớ gồm có 10240 byte V (đọc/ghi): V0.0÷V0.10239.
Vùng SM: (Special memory): Là vùng nhớ gồm:
-194 byte của CPU chia làm 2 phần: SM0-SM29 chỉ đọc và SM-SM194 đọc/ghi.
-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ộc kiểu non – volatile nhưng đọc ghi được.
-Timer (bộ định thì): đọc/ghi T0÷T225
-Counter (bộ đếm): đọc/ghi C0:C225
-Bộ đệm vào analog (đọc): AIW0÷AIW30
-Bộ đệm ra analog (ghi); AQW0÷AQW30
-Accumulator (thanh ghi): AC0÷AC3
-Bộ đếm tốc độ cao: HSC0÷HSC5
Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng từ đơn (word-2byte), từ kép(Double word).
-Bộ đệm tốc độ cao: HSC0÷HSC5
Tất cả các miền này đều có thể truy nhập được theo từng bit, từng byte, từng từ đơn (word-2byte), từ kép (Double word).
II.2. Thực hiện chương trình.
Chương trình trong PLC S7 200 được thực hiện theo vòng lặp ( vòng quét).
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image017.jpg
Hình II.2: Chu kỳ thực hiện vòng quét của CPU trong bộ PLC
Trong một vòng quét PLC phải thực hiện 4 giai đoạn:
- Đọc dữ liệu từ cổng vào đưa vào bộ đệm ảo
- Thực hiện chương trình: các lệnh trong chương trình được thực hiện lần lượt từ lệnh đầu tiên đến lệnh cuối cùng ( gặp lệnh kết thúc chương trình MEND).
- Truyền thông nội bộ và kiểm tra lỗi
- Truyền dữ liệu từ bộ đệm ảo ra các cổng ra, đây là giai đoạn kết thúc của một vòng quét.
Sau khi kết thúc 4 giai đoạn trên tức là một vòng quét đã thực hiện xong, vòng quét tiếp theo sẽ tiếp tục với 4 giai đoạn trên cho tới khi dừng chạy.
Như vậy các lệnh không làm việc trực tiếp với các cổng vào ra mà làm việc với bộ đệm ảo của cổng trong vùng nhớ tham số. Trừ một số lệnh làm vào ra tức thì, khi đó chương trình sẽ làm việc trực tiếp với các cổng vào ra.
Trong chương trình nếu sử dụng chương trình xử lý ngắt, chương trình xử lý ngắt sẽ được thực hiện tại bất cứ điểm nào trong chương trình nếu như tín hiệu báo ngắt tương ứng của nó được bật.
PHẦN III
TẬP LỆNH CƠ BẢN DÙNG TRONG THIẾT BỊ ĐIỀU KHIỂN PLC S7-200
III.1 Cấu trúc chương trình
Chương trình cho S7-200 phải có cấu trúc bao gồm chương trình chính (main program) sau đó đến các chương trình con và chương trình xử lý ngắt.Chương trình chính được kết thúc bằng lệnh kết thúc chương trình (MENT).
Chương trình con là một bộ phận của chương trình. Các chương trình con phải được viết sau lệnh kết thúc chương trình chính đó là lệ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ương trình chính sau đó đến ngay các chương trình xử lý ngắt bằng cách viết như vậy cấ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ể lẫn các chương trình con và chương trình xử lý ngắt đằng sau chương trình chính.
Thực hiện khi được chương trinh trình chính gọi
SBR (n) {n=0÷255} chương trình con
.
.
.
RET
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image018.gif
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image019.gif
III.2: Ngôn ngữ lập trình trong S7 200 và phần mềm microwin
A. Phần mềm viết chương trình
Siemens cung cấp một phần mềm chuyên viết cho PLC S7 200 đó là phần mềm MicroWin:
Giao diện của phần mềm:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image021.jpg
Hình III.1: Giao diện của Micro Win
Trên đây có tất cả các công cụ cho phép ta làm lập trình với tất cả các tính năng của PLC S7 200.
Các khối chức năng cụ thể:
- Thanh công cụ: cung cấp cho người lập trình các công cụ để thao tác khi lập trình
như: khối lệnh viết cho LAD, download, Upload, Debug, Run, Stop .
- Vùng quản lý Project: Bao gồm tất cả các phần của một Project, từ đây ta có thể lấy
tất cả các công cụ và các khối chức năng trong một chương trình.
- Khối chức năng: Bao gồm các khối chức năng đặc biệt hay sử dụng khi lập trình
- Vùng đặt tên biến tạm: Vùng này cho phép ta đặt tên các biến tạm (các biến chỉ các tác dụng trong bản thân chương trình mà nó được đặt), Vùng này chỉ có tác dụng đối với các loại CPU 224 trở lên.
- Khối viết chương trình (Program Block): Khối cho phép ta viết chương trình thể
hiện thuật toán của mình trên đó.
- Cửa sổ thông báo: Thông báo lỗi trong chương trình đang thực hiện.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image023.jpg
ã Khối chức năng bao gồm các khối có tác dụng:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image025.jpg
- Program Block: Khối lập trình, cho phép người sử dụng lập trình trên đó
- Symbol Table: đặt tên hình thức cho các biến trong vùng nhớ của PLC, có tác dụng gợi nhớ khi viết chương trình. Cụ thể:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image027.jpg
- Status Chart: Khối cho phép ta theo dõi giá trị của tất cả các biến trong vùng nhớ của PLC mà ta sử dụng trong chương trình. Đông thời ta có thể cho các biến giá trị mới (không kể những biến dạng “Read Only”) để theo dõi hoạt động của chương trình. file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image029.jpg
- Data Block: các hằng số trong chương trình nếu như ta không muốn gán giá trị trực tiếp trong chương trình ta có thể gán giá trị của nó vào các vùng nhớ cua PLC trong khối này. Chú ý khi gán giá trị ta phải tránh các vùng nhớ đã được sử dụng, nếu không sẽ làm sai thuật toán.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image031.jpg
- Systerm Block: Cho phép thiết lập cấu hình cho CPU
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image033.jpg
- Cross Reference: Cho phép ta biết được vị trí của tất cả các biến đang dùng nằm ở đâu trong chương trình (trong chương trình chính hay chương trình con, trên câu lệnh nào, được sử dụng với lệnh nào):
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image035.jpg
- Communications: Thiết lập truyền thông bao gồm: định dạng loại cáp truyền thông, địa chỉ của CPU, tốc độ truyền thông .
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image037.jpg
- Set PG/PC Interface: Định dạng cho thiết bị lập trình
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image039.jpg
B. Phương pháp lập trình
- Toàn bộ chương trình trong một vòng quét ( Scan).
- Trong một vòng quét PLC sẽ thực hiện 4 giai đoạn : Đọc dữ liệu từ cổng vào đưa vào bộ đệm ảo, Thực hiện chương trình, Kiểm tra lỗi vào truyền thông, Đưa dữ liệu ra từ bộ đệm ảo ra cổng ra. Bốn giai đoạn này sẽ được lặp lại trong vòng quét tiếp theo.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image041.jpg
- Ngôn ngữ lập trình trong S7 200 chủ yếu sử dụng hai loại ngôn ngữ là Ladder logic (LAD) và phương pháp liệt kê (Statement list STL).
- LAD là ngôn ngữ đồ hoạ mô phỏng một mạch điện, LAD tạo cho người lập trình dễ hình dung khi lập trình và mô phỏng. Khi làm việc với LAD người lập trình không cần để ý đến các giá trị trong ngăn xếp.
- STL tuy có chút khó khăn hơn đối với người lập trình trong việc xử lý ngăn xếp (điều này vô cùng quan trọng khi lập trình với STL) và khi mô phỏng. Tuy nhiên STL có tập lênh rộng lớn và cho dễ dàng khi lập trình có cấu trúc hơn LAD.
Tuy nhiên để gần gũi với lý thuyết mạch điện chúng tôi sẽ trình bày hệ lệnh của S7 200 dưới dạng LAD. Hệ lệnh dưới dạng này luôn có thể chuyển sang dang STL bằng cách:View Æ STL t ừ đó ta có thể xem các lệnh tương ứng của STL so với LAD.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image043.jpg
* Ngăn xếp lưu trữ giá trị bit (chỉ có tác dụng khi lập trình trên ngôn ngữ STL)
- Ngăn xếp bao gồm 9 bit
- Bit mới được đưa vào ngăn xếp được đặt ngay đầu ngăn xếp, các bit cũ bị đẩy xuống một ô, bit cuối cùng bị đẩy ra ngoài và mất đi.
- Ngăn xếp làm việc theo nguyên tắc LIFO.
Tập lệnh của S7 200 chia ra làm 3 phần:
- Tập các lệnh khi thực hiện không phụ thuộc vào giá trị của bit trong ngăn xếp.
- Tập lệnh chỉ thực hiện khi giá trị của bit đầu tiên trong ngăn xếp có giá trị 1.
- Tập lệnh nhãn đánh dấu vị trí trong chương trình.
C. Hệ lệnh của S7 200
1. Toán hạng và giới hạn cho phép
* Vùng dữ liệu của mỗi dạng toán hạng:
- Bit : bao gồm hai giá trị : hoặc 0 hoặc 1.
- Byte: bằng 8 bit. Chứa các số nguyên nằm trong khoảng 0 đên 255 ( 28
-1).
- Word (2 Bytes): chứa các số nguyên nằm trong khoảng -32768 đến 32768.
- Dowrd (4 Bytes): chứa các số nguyên nằm trong khoảng -2147483648 đến 2147483648.
2. Hệ lệnh
2.1 Sơ lược về đại số Boolean
Đại số Boolean cho phép ta làm việc với các phép toán logic.
Các phép toán logic thông dụng trong đại số Boolean là : AND, OR, NOT, XOR, NAND, NOR.
Khi làm việc với các phép toán logic ta có thể đơn giản hoá biểu thức nhờ sử dụng một số hệ quả sau:
1. A + 0 = A 2. A . 1 = A
3. A + 1 = 1 4. A . 0 = 0
5. A + A = A 6. A . A = A
7. A + ~A= 1 8. A .~A = 0
9. A + B = B + A 10. A.B = B.A
11. A + AB = A 12. A(A + B) = A
13. AB + A.~B = A 14. (A+B)(A+ ~B)=A
15. A + B +C = (A + B) + C = A+ (B + C) 16. A.B.C = A(BC) = (AB)C
17. ~ (A +B) = (~A). (~B) 18. ~(AB) = (~A) + (~B)
2.2 Lệnh vào ra
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image045.jpg
- Chú ý đến lệnh có phải là tức thời hay không.
- Lệnh gán/lấy giá trị tức thời được phân biệt bằng ký tự I thêm vào sau các lệnh vào ra.
2.3. Lệnh ghi xoá các tiếp điểm.
- Nội dung của ngăn xếp không bị thay đổi
- Giá trị “ n ” đi kèm theo có tác dụng chỉ ra số tiếp điểm được bật/xoá tính từ toán hạng trong lệnh.
- SI, RI cũng có tác dụng ghi/xoá tức thì một mảng n giá trị tính từ toán hạng trong lệnh.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image047.jpg
- Lênh S khác với lệnh gán ở chỗ: ở lệnh gán giá trị của “địa chỉ” đúng bằng giá trị của biểu thức logic đứng trước nó, còn ở lệnh S thì giá trị của “địa chỉ” sẽ bằng 1 khi biểu thức đứng trước có giá trị bằng 1 tuy nhiên sau đó nó không phụ thuộc vào giá trị của biểu thức đứng trước nó nữa (luôn bằng 1 cho đên khi được R).
2.4. Hệ lệnh đại số Boolean
* Đối với LAD
- Phép toán AND được biểu diễn bằng cách mắc nối tiếp hai tiếp điểm lại với nhau
- Phép toán OR được biểu diễn bằng cách mắc song song hai tiếp điểm lại với nhau
* Đối với STL
- Các lệnh thao tác với tiếp điểm
A : AND
AN: AND NOT
O : OR
ON: OR NOT
AI ANI OI ONI : Tác động tức thì
- Các lệnh thao tác trên ngăn xếp (không sử dụng cho các lệnh trong LAD)
ALD ( And load) : S1 = S1 and S2 ( Bit thứ 3 dc đẩy lên 1 bit)
OLD ( Or load) : S1= S1 Or S2 ( Bit thứ 3 dc đẩy lên 1 bit)
LPS ( Logic Push) Đẩy ngăn xếp xuống 1 bit
LPP ( Logic Pop) Kéo ngăn xếp lên 1 bit
LRD ( Logic Read) Sao chép giá trị bit thứ hai vào bit đầu của ngăn xếp. Các bít còn
lại giữ nguyên vị trí.
- Lệnh thực hiện các phép logic trên Byte, Word hoặc Double Word
Ví dụ:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image049.jpg
Ví dụ trên thực hiện một phép tinh AND giữa hai Byte IN1 và IN2 kết quả được đưa trả vào IN2 để tiết kiệm ô nhớ. Nghĩa là IN2= IN1 and IN2.
Đối với các toán hạng là Word hay Double Word ta cũng thực hiện tương tự với các khối hàm tương ứng.
Các lênh tương ứng trong STL:
ANB ORB XORB : các phép toán thực hiện với Byte
ANW ORW XORW : các phép toán thực hiện với Word
AND ORD XORD : Các phép toán thực hiện với Double Word
IN2 = IN1 IN2
- Các lệnh tiếp điểm đăc biệt
NOT : đảo giá trị kết quả các phép toán logic mắc nối tiếp với nó.
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image051.jpg
EU (Edge Up) : Phát hiện xườn lên của tín hiệu ( S1=1 trong 1 vòng quét).
ED (Edge Down) : Phát hiện xườn xuống của tín hiệu ( S1=1 trong 1 vòng quét).
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image053.jpg
- Hệ lênh so sánh
Thực hiện so sánh các số dạng Byte, Word, Double Word, nếu kết quả so sánh đúng giá trị logic trả về sẽ là 1 , nếu sai sẽ là 0.
Hệ lệnh thực hiện với các toán hạng dạng : B, W, DW, R
Các kiểu so sánh đã được chỉ ra rõ trong lệnh: = =, >=, <=, <>, >, <.
Vi dụ:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image055.jpg
Ví dụ trên có nghĩa là nếu số nguyên (16 bit) IN1>= IN2 thì Q0.0=1.
Ta hoàn toàn có thể sử dụng các phép toán logic : AND, OR, XOR với các khối so sánh trên.
* Trong STL hệ lệnh so sánh cho ra kết quả được lưu vào bit đầu tiên của ngăn xếp.
Vd:
LDW <= in1 in2
So sánh hai số nguyên (32 bit), nếu In1<=In2 thì kết quả đưa về là 1 nều sai thì là 0.
2.5. Hệ lệnh điều khiển Timer
Timer được sử dụng làm bộ trễ tín hiệu.
Đặc điểm chung của Timer
- Timer được điều khiển bởi giá trị đầu vào (Enable) và thanh ghi giá trị đếm tức thời T_Word . Thanh ghi này ghi giá trị tức thời của Timer từ khi Timer được hoạt động cho đến khi bị Reset hoặc đạt giá trị cực đại, và luôn đựơc so sánh với giá trị đặt trước PT.
- Tuỳ thuộc vào loại Timer có/không nhớ mà Timer sẽ không/có bị Reset khi tín hiệu Enable bị đưa về không khi đang hoạt động.
- Bit T_bit chỉ trạng thái logic đầu ra. Giá trị của T_bit phụ thuộc vào kết quả so sánh giữa T_Word và PT, nó còn phụ thuộc vào loại Timer ( TON hay TOF).
Các loại Timer :
a- TON : Timer tạo thời gian trễ không có nhớ ( On Delay Timer).
- Timer đựơc kích khi có sườn lên của tín hiệu Enable và Reset ngay khi gặp sườn
xuống của tín hiệu này. Khi bị Reset thanh ghi T_Word = 0, T_bit = 0.
- Khi độ trễ bằng độ trễ đặt trước (PT) thì T_bit = 1 ( T_Word = PT).
b- TOF (Off Delay Timer) Timer tạo trễ thời gian không có nhớ.
- Được kích khi gặp sườn xuống của tín hiệu Enable và Reset ngay khi gặp sườn lên
của tín hiệu này. Khi bị Reset thanh ghi T_Word = 0, T_bit = 0.
- Khi độ trễ bằng độ trễ đặt trước (PT) thì T_bit = 1 ( T_Word = PT).
c- TONR (Retentive On-Delay Timer) Timer tạo trễ thời gian có nhớ
- Timer đựơc kích khi có sườn lên của tín hiệu Enable, tuy nhiên khi gặp sườn
xuống của tín hiệu Enable Timer chỉ ngưng hoạt động mà giá trị trong T_Word
không bị xoá. Khi thấy sườn lên của tín hiệu Enable thì Timer lại bắt đầu đếm từ
giá trị trước đó của Timer.
- T_bit = 1 khi T_Word = PT.
- Khác với các loại Timer khác TONR cần có thêm tín hiệu Reset để đưa toàn bộ
Timer về giá trị ban đầu.
VD1: Sử dụng Timer TONR (Timer có nhớ)
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image057.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image059.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image061.jpg
Hệ lệnh tương ứng sang STL:
NETWORK1
LD I0.0
AN M0.0
TON T37,10
NETWORK 2
LDW<= T37, +5
= Q0.0
NETWORK 3
LD T37
=M0.0
Trong S7 200 độ phân giải của Timer phụ thuộc vào chính timer được chọn :
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image063.jpg
2.6. Hệ lệnh điều khiển Counter
Counter có tác dụng đếm sườn xung của tín hiệu đầu vào.
Trong S7 200 có hai loại Counter : Bộ đếm tiến (CTU) và bộ đếm tiến/lùi (CTD).
Thanh ghi C_Word ghi giá trị đếm tức thời của Timer và luôn được so sánh với giá trị đặt trước PV.
C_bit là bit cờ dùng để chỉ ra kết quả so sánh giữa giá trị đếm tức thời trong Counter và giá trị đặt trước PV
Khi C_Word >= PV thì C_bit = 1.
Cú pháp khai báo Counter trong LAD và STL như sau:
LAD
STL
Mô tả
Toán hạng
Cxx
CU CTU
R
PV
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.gif
CTU Cxx,+n
Khai báo bộ đếm tiến theo sườn lên của tín hiệu vào CU số hiệu xx kiểu CTU. Khi giá trị đếm tức thời C_word của Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C_bit (Cxx) có giá trị logic bằng 1. Bộ đếm ngừng đếm khi C-word Cxx đạt giá trị cực đại 32767.
Cxx ( word): CPU212:0-47
CPU214:0-47
Và 80-127
PV (word):
VW,T,C,IW,
n=1-32767
(số nguyên)
Cxx
CU CTU
CD
R
PV
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image065.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image064.giffile:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image066.gif
CTUD Cxx,+n
Khai báo bộ đếm tiến/lùi, đếm tiến theo sườn lên của tín hiệu đến CU và đếm lùi theo sườn lên của tín hiệu đến CD. Khi giá trị tức thời C_word của Cxx lớn hơn hoặc bằng giá trị đặt trước PV, C-bit(Cxx) có giá trị logic bằng 1. Bộ đếm được Reset khi đầu vào R có giá trị logic bằng 1.Bộ đếm ngừng đếm tiến khi C-word đạt giá trị cực đại 32767 và đếm ngừng đếm lùi khi C-word Cxx đạt giá trị cực tiểu -32767.
Cxx (word):
CPU212:48-63
CPU214:48-79
PV (word):
VW,T,C,IW,
n=1-32767
(số nguyên)
Cả C_Word và C_Bit đều được ký hiệu là Cx tuy nhiên chúng sẽ được phân biệt khi sử dụng với câu lệnh trong chương trình. Khi câu lệnh làm việc với Word thì CPU sẽ hiểu đó là C_Word, còn khi làm việc với lệnh Bit thì CPU hiểu đó là C_Bit.
Khác với Timer Counter cần có tín hiệu Reset ngoài. Khi bộ đếm bị Reset thì toàn cả C_Word và C_bit đều bằng 0.
2.7. Hệ lệnh dịch chuyển nội dung ô nhớ
Hệ lệnh có tác dụng dịch chuyển hoặc sao chép sô liệu từ vùng này sang vùng khác trong bộ nhớ.
Toán hạng của các lệnh này là : Byte, Word, Double Word hoặc Real.
- Các lệnh di chuyển nội dung ô nhớ trong STL
MOV_B MOVB MOV_W MOVW
MOV_DB MOVD MOV_R MOVR
Giá trị đầu vào có thể là các ô nhớ ( chứa dữ liệu bên trong) hoặc là hắng số. Đầu ra OUT bắt buộc phải là các ô nhớ với kích thước đúng với lệnh chuyển và kiểu dữ liệu của đầu vào IN.
VD:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image068.jpg
Lệnh tương ứng trong STL
LD I0.0
MOVB 12 VB0
MOVW 1234 VW100
MOVD AC1 VD200
2.8. Hệ lệnh số học
Hệ lệnh số học dùng để thực hiện các phép tính trong chương trình.
Hệ lênh số học sử dụng cho số nguyên (16 bit, 32 bit) và số thực (32 bit).
Các lệnh số học được thông báo trạng thái kết quả thông qua các bit nhớ đặc biệt, cụ thể:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image070.jpg
1: Kết quả bị tràn ô nhớ.
2: Tràn hoặc toán hạng không hợp kiểu.
Những đặc điểm cần lưu ý khi làm việc với các phép tính số nguyên và số thực:
ã Đối với số nguyên:
- Nếu SM1.3 = 1 ( chia cho 0) trong khi đang thực hiện phép chia thì các bit thông báo trạng thái khác giữ nguyên giá trị và giá trị đầu vào các toán hạng không bị thay đổi.
- Giá trị thông báo kết quả trạng thái của các bit đều đúng nghĩa khi phép tính kết thúc
ã Đối với số thực
- Nếu SM1.3 = 1 ( chia cho 0) trong khi đang thực hiện phép chia thì các bit thông báo trạng thái khác giữ nguyên giá trị và giá trị đầu vào các toán hạng không bị thay đổi.
- SM1.1 = 1 khi kết quả bị tràn ô nhớ hoặc giá trị đầu vào không hợp lệ. Trong trường hợp này SM1.0 và SM1.2 sẽ không còn ý nghĩa.
- Khi SM1.1 = 0 (và SM1.3 <>1 khi thực hiện phép chia) thì kết quả phép tính là đúng và các bit báo trạng thái có giá trị đúng với kết quả phép tính.
Hệ lệnh với số nguyên bao gồm các phép tính : cộng (ADD), trừ (SUB), nhân (MUL), chia (DIV) áp dụng cho các số nguyên 16 bit và 32 bit.
Tập các lệnh tăng (INC), giảm (DEC) giá trị biến dùng cho các số dạng Byte, Word,
và Double Word.
Đối với số thực ngoài các phép toán Cộng, Trừ, Nhân, Chia còn có các phép toán dạng:
Căn bậc hai (SQRT), Sin, Cos, Tan, Ln, hàm e mũ (EXP).
a- Phép cộng, trừ (Add, Subtract).
Phép cộng và trừ áp dụng cho các dạng số : Integer, Double Integer, và Real. Các phép
tính cụ thể là:
ADD_I +I SUB_I -I ADD_D +D SUB_D -D
ADD_R +R SUB_R -R
- Đối với LAD phép tính sẽ có dạng : OUT = IN1 ± IN2. Với giá trị của IN1, IN2, OUT phải đúng với kiểu thực hiện trong phép toán. Ngoài ra với LAD ta có thể tiếp kiệm ô nhớ bằng các lấy đầu vào làm đầu ra luôn.
- Đối với STL phép tính có dạng : IN2 = IN1 ± IN2.
VD:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image072.jpg
Lệnh tương ứng trong STL
NETWORK 1
LD I0.0
MOVW 1234 , AC1
NETWORK 2
LD I0.1
-I AC1 VW12
b- Phép nhân, chia (Multiply, Divide)
Đối với phép nhân và phép chia phải thực sự chú ý đến kiểu dữ liệu của các toán hạng trong lệnh để tránh trường hợp bi tràn ô nhớ.
- Phép nhân hai số nguyên 16 bit
+ Đối với LAD : OUT = IN1*IN2. Trong đó IN1 và IN2 là hai số nguyên 16 bit, OUT là số nguyên 32 bit.
+ Đối với STL : IN2 = IN1*IN2. Trong đó IN1 là số nguyên 16 bit được nhân với số nguyên 16 bit được chứa trong từ thấp của số nguyên IN2 (32 bit) và kết quả được đưa lại vào IN2.
- Phép chia hai số nguyên 16 bit
+ Đối với LAD : OUT = IN1/IN2. Trong đó IN1 và IN2 là hai số nguyên 16 bit, OUT là số nguyên 32 bit. Thương được chứa trong từ thấp của OUT và phần dư chứa
trong từ cao của OUT.
+ Đối với STL: IN2 = IN1/IN2. Trong đó IN1 là số nguyên 16 bit được chia cho số nguyên 16 bit được chứa trong từ thấp của số nguyên IN2 (32 bit) và thương được đưa vào từ thấp của IN2, phần dư đưa vào từ cao của IN2.
- Phép nhân, chia số thực
Phép tính được thực hiện trên số thực 32 bit và kết quả cũng là một số thực 32 bit.
c- SQRT
Phép lấy căn bậc hai của một số thực IN (32 bit) kết quả đưa lại vào số nguyên OUT (32 bit).
2.9. Lệnh tăng giảm và đảo giá trị thanh ghi.
Hệ lệnh này giúp cho người lập trình đơn giản hoá các vòng điều khiển bên trong chương trình.
- Lệnh tăng giảm nội dung của thanh ghi có tác dụng tăng hoặc giảm giá trị trong thanh ghi lên/xuống 1 đơn vị. Thanh ghi có thể là Word hay Double Word.
Các lệnh này cũng được thông báo kết quả trạng thái bằng các bit nhớ đặc biệt, cụ thể:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image074.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image076.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image078.jpg
Lệnh tương ứng trong STL
NETWORK 1
LD I0.4
INCW AC0
DECD VD100
2.10. LÖnh so s¸nh.
* C¸c lÖnh so s¸nh:
NÕu c¸c quyÕt ®Þnh vÒ ®iÒu khiÓn ®îc thùc hiÖn khi cÇn cã sù so s¸nh th× cã thÓ sö dông lÖnh so s¸nh theo byte, tõ hay tõ kÐp (gi¸ trÞthùc hoÆc nguyªn). Nh÷ng lÖnh so s¸nh thêng lµ: so s¸nh nhá h¬n hoÆc b»ng (<=); so s¸nh (=) vµ so s¸nh lín h¬n hoÆc b»ng (>=).
Khi so s¸nh c¸c gi¸ trÞ cña byte th× kh«ng cÇn ph¶i ®Ó ý ®Õn dÊu cña to¸n h¹ng, ngîc l¹i khi so s¸nh c¸c tõ hoÆc tõ kÐp víi nhau th× ph¶i ®Ó ý ®Õn dÊu cña c¸c to¸n h¹ng lµ bÝt cao nhÊt trong tõ hoÆc tõ kÐp. KÕt qu¶ cña phÐp so s¸nh cã gi¸ trÞ b»ng 0 (nÕu ®óng) hoÆc 1 (nÕu sai) nªn cã thÓ sù dông kÕt hîp cïng víi c¸c lÖnh logic LD, A, O. §Ó t¹o ®îc c¸c phÐp so s¸nh mµ S7 – 200 kh«ng cã lÖnh t¬ng øng nh: so s¸nh kh«ng b»ng nhau (< >), so s¸nh nhá h¬n (<) hoÆc so s¸nh lín h¬n (>),cã thÓ t¹o ®îc nhê kÕt hîp lÖnh NOT víi c¸c lÖnh ®· cã (=, >= vµ <=).
BiÓu diÔn c¸c lÖnh so s¸nh trong LAD
LAD
M« t¶
To¸n h¹ng
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image080.jpg
TiÕp ®iÓm ®ãng khi n1 = n2
B = Byte.
I = Interger
D = Double Integer
R = Read
n1, n2: VB, IB, QB, MB
(byte) SMB, AC Const,
*VD*, AC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image082.jpg
TiÕp ®iÓm ®ãng khi
n1 ³ n2
B = Byte.
I = Interger
D = Double Integer
R = Read
n1, n2: VW, T, C, IW,
( tõ ) QW, MW, SMW, AC, AIW
H»ng sè ,
*VD*, AC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image084.jpg
TiÕp ®iÓm ®ãng khi n1 £ n2
B = Byte.
I = Interger
D = Daouble Integer
R = Read
n1, n2: VD, ID, QD, MD,
(tõ kÐp) SMD,AC, HC,
H»ng sè,
*VD*, AC
LDB =, LDW =
LDD =, LDR =
LÖnh kiÓm tra b»ng nhau cña néi dung hai byte, tõ, tõ kÐp hoÆc sè thùc. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, bÝt ®Çu tiªn trong ng¨n xÕp sÏ cã gi¸ trÞ logic b»ng 1.
LDB < =, LDW < =
LDD < =, LDR < =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã nhá h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, th× bÝt ®Çu tiªn trong ng¨n xÕp sÏ cã gi¸ trÞ logic b»ng 1.
LDB > =, LDW > =
LDD > =, LDR > =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã lín h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, th× bÝt ®Çu tiªn trong ng¨n xÕp sÏ cã gi¸ trÞ logic b»ng 1.
AB =, AW =
AD =, AR =
LÖnh kiÓm tra tÝnh b»ng nhau cña néi dung hai byte, tõ, tõ kÐp hoÆc sè thùc. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic And gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
AB < =, AW < =
AD < =, AR < =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã nhá h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic And gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
AB > =, AW > =
AD > =, AR > =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã lín h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic And gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
OB =, OW =
OD =, OR =
LÖnh kiÓm tra tÝnh b»ng nhau cña néi dung hai byte, tõ, tõ kÐp hoÆc sè thùc. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic Or gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
OB < =, OW < =
OD < =, OR < =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã nhá h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic Or gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
OB > =, OW > =
OD > =, OR > =
LÖnh so s¸nh néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø nhÊt cã l¬n h¬n hoÆc b»ng néi dung cña byte, tõ, tõ kÐp hoÆc sè thùc thø hai hay kh«ng. Trong trêng hîp phÐp so s¸nh cho kÕt qu¶ ®óng, sÏ thùc hiÖn phÐp tÝnh logic Or gi÷a bÝt ®Çu tiªn trong ng¨n xÕp víi gi¸ trÞ logic 1.
PHẦN IV: MÔ HÌNH THI CÔNG.
Tủ điện điều khiển mô hình pha màu tự động đươc sử dụng các thiết
bị sau:
1. CPU 224 AC-DC-Relay của PLC siemens S7-200
Trong mô hình này CPU 224 được lập trình để điều khiển các thiết
bị: valve solenoid, động cơ trộn, các cảm biến
2. Module Analog EM 235 của PLC siemens S7-200
Module Analog EM 235 dùng để nhận tín hiệu từ cảm biến áp suất
chuyển đổi tín hiệu đưa về PLC để xử lý
3. Cầu Dao Điện
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image086.gif
CB bảo vệ là khí cụ điện dùng để đóng mạch điện động lực và các
thiết bị phụ tải có công suất lớn, trong mô hình này dùng để đóng điện cho hệ thống hoạt động
Thông số kỉ thuật:
Điện áp cung cấp 220 VAC /50 Hz
Cường độ dòng điện định mức: 20A
4. Relay trung gian
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image088.gif
Relay trung gian là một khí cụ điện được dùng trong lĩnh vực điều
khiển tự động. Đây là một loại relay điện áp, nguyên lý hoạt động tương
như contactor, nhưng điểm khác biệt giữa Contactor và relay trung gian như sau:
Relay trung gian chỉ có một loại tiếp điểm cho các dòng điện cường độ nhỏ đi qua, không có tiếp điểm chính và tiếp điểm phụ
Trong relay trung gian cũng có những tiếp điểm thường đóng và tiếp
điểm thường mở nhưng không có bộ phận dập hồ quang điện
Trong mô hình sử dụng 05 relay trung gian
4 Relay trung gian loại 24 VDC /5A dùng để cấp nguồn 24 VDC cho 4 cuộn coil của vavle solenoid
1 Relay trung gian loại 24 VDC /5A dùng để cấp nguồn 220 VAC cho 1 động cơ trộn hoạt động
Nhằm bảo vệ cho CPU tránh những rủi ro từ nguồn điện 220 VAC làm hư hỏng PLC, nên tránh cấp nguồn 220 VAC trực tiếp vào các tiếp điểm
của PLC, vì thế phải dùng relay trung gian loại 24 VDC để đóng cắt các tiếp điểm của valve solenoid
Thông số kỉ thuật :
Loại 02 tiếp điểm thường đóng 02 tiếp điểm thường hở
Điện áp cuộn dây: 24 VDC /5A
Cường độ dòng điện định mức : 5A / 28 VDC hoặc 220 VAC
5. Valve solenoid
Valve solenoid là một khí cụ điện được dùng trong lĩnh vực điều khiển sự đóng ngắt các valve bằng cách cấp nguồn cho các cuộn coil bên trong valve
Thông số kỉ thuật :
Điện áp cuộn dây: 24 VDC /5A
Cường độ dòng điện định mức : 5A / 28 VDC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image090.gif
6. Bộ nguồn 24 VDC
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image092.gif
Đây là thiết bị dùng để biến đổi nguồn điện 220 VAC thành 24 VDC để tạo nguồn 24 VDC cung cấp cho các thiết bị điện trong hệ thống
Thông số kỉ thuật :
Điện áp cung cấp : 220 VAC /5A
Cường độ dòng điện định mức : 5A / 240 VAC
Điện áp ngõ ra : 24 VDC /0.6A
7. Động cơ trộn
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image094.gif
Sử dụng động cơ của máy quạt, đây là thiết bị dùng để trộn đều các thành phần màu trong hỗn hợp để có được một màu sơn chuẩn
Thông số kỉ thuật :
Điện áp cung cấp : 220 VAC /5A
Cường độ dòng điện định mức : 5A / 240 VAC
8. Cảm biến áp suất (Pressure Transmitter)
Bộ Pressure Transmitter được sử dụng để đo thể tích cũng như khối
lượng của mực chất lỏng, bộ Pressure Transmitter chuyển đổi áp suất của
cột nước trong bồn thành giá trị dòng điện
Thông số kỉ thuật :
Điện áp cung cấp : 24 VDC /5A
Cường độ dòng điện định mức : 5A / 28 VDC
Tín hiệu trả về : 4mA -20 mA
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image096.gif
PHẦN V. SƠ LƯỢC VÀ NGUYÊN TẮC ĐIỀU KHIỂN:
- Bật công tắc nguồn cho hệ thống hoạt động
- Chọn sản phẩm và khối lượng cần sản xuất thông qua giao diện
- Xác nhận lại một lần nữa
- PLC điều khiển cho các van chứa nguyên vật liệu lần lược mở ra theo thứ tự mà sản phẩm và khối lượng đã chọn
- PLC kiểm tra khối lượng nguyên vật liệu đã đủ hay chưa, và lần lượt
đóng lại các van chứa
- Sau đó PLC điều khiển cho động cơ trộn hoạt động trong 5 phút, để
trộn tất cả nguyên vật liệu đã có trong bồn lớn
- Sau khi trộn xong,hệ thống ngưng hoạt động ở chế độ chọn sản
phẩm và khối lượng, và cứ thế hệ thống hoạt động theo dây chuyền
khép kín.
I. Yêu Cầu Kỹ Thuật :
1. Phương pháp pha chế các màu sơn
Để pha trộn được một màu sơn nào đó chúng ta phải tìm hiểu kỹ thuật về pha chế màu, tức phải nắm bắt được tỷ lệ giữa các màu cơ bản là
bao nhiêu %
Do vậy yêu cầu :
Ø Các sơn phải có màu chuẩn
Hỗn hợp phải được khuấy trộn đều đặn
Do có hạn chế về việc sử dụng các thiết bị trong mô hình mà người thiết kế chỉ đưa vào 3 màu cơ bản để sản suất ra một màu nhất định tương
ứng với khối lượng được nhập vào từ giao diện trên bảng điều khiển
Ø Một số thành phần các màu cơ bản:
Sản phẩm
Tỷ lệ(%)
Xanh
Đỏ
Vàng
Cam
5
50
45
Rêu
60
10
30
Nho
10
70
20
Trước khi chuẩn bị pha màu cần xem kỹ màu mẫu mà đối chiếu để tăng hoặc giảm một màu thứ màu chính nào đó cho đạt tiêu chuẩn. Các màu pha lẫn phải khuấy thật đều với nhau cho các màu sơn tan hoàn toàn. Pha chế màu sơn phải theo công thức tỷ lệ phần trăm như bảng hướng dẫn. Tuy nhiên cần phải linh hoạt tăng hoặc giảm để đạt được màu sắc thích hợp và đẹp mắt, vì ngay trong một thùng sơn cùng màu thùng sơn đặc thì màu sắc đậm hơn thùng sơn loãng
Khi pha chế màu sơn cần chú ý không được pha lẫn màu sơn gốc dầu với sơn gốc nhựa tổng hợp, vì thành phần hóa học của hai loại sơn này
khác nhau về cơ bản
Trong khi pha chế màu sơn nếu gặp trường hợp sơn đặc không đủ độ
nhớt theo tiêu chuẩn thì cần pha dung môi và dầu sơn theo từng loại sơn để đảm bảo độ nhớt sau đó mới pha chế màu sơn
Sau khi đã pha chế màu xong cần phải xem thử để kiểm tra màu sơn
trước khi đưa vào sơn hàng loạt sản phẩm
2. Cơ sở quá trình trộn
Khái niệm và công dụng của quá trình trộn
Máy trộn được dùng để đạt được các mục đích sau đây:
Tạo thành hỗn hợp đồng nhất của hai hay nhiều chất rắn hoặc lỏng lại với nhau
Trong công nghiệp hoá chất, công nghiệp thực phẩm quá trình trộn được ứng dụng nhiều để tạo ra các sản phẩm đồng nhất
3. Mức độ đồng đều của sản phẩm
Khi trộn một khối lượng a của chất A với khốii lượng b của chất B để tạo thành một hỗn hộp đồng nhất thì thành phần của chất A và chất B trong hỗn hợp lý tưởng sẽ là :
Đối với chất A:
CA=a/a+b (1)
Đối với chất B:
CA=b/a+b (2)
Ta có:CA+CB=1
Các thành phần này sẽ như nhau ở mọi thành phần thể tích của hỗn hợp. Những hỗn hợp lí tưởng này chỉ đạt được khi thời gian trộn tiến tới vô
hạn. Thực tế, không thể đạt được hỗn hợp lí tưởng và thời gian trộn không tiến tới vô hạn được
Bởi vậy trong hỗn hợp thực thì thành phần của các chất A và B ở các
phần thể tích khác nhau của hỗn hợp sẽ khác nhau. Sự khác nhau này càng ít thì hỗn hợp càng gần với hỗn hợp lí tưởng
Bộ phận chính của phần trộn gồm:
Thùng trộn, có thể đặt đứng hoặc đặt nằm ngang, nó có thể đứng yên hoặc chuyển động
Cách trộn là bộ phận chủ yếu để trộn vật liệu ; cách trộn có thể được đặt đứng hoặc nằm nằm ngang, nó có thể quay tròn hoặc chuyển động tịnh
tiến
Trong mô hình này cách trộn chỉ mang tính chất mô phỏng
II. ĐIỀU KHIỂN MÁY TRỘN MÀU SƠN DÙNG PLC S7-200:
1. Quy trình xử lý điều khiển
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image098.jpg
Thiết bị nhập : là các nút nhấn trên bảng điều khiển tại giao diện người sử dụng
PLC:có nhiệm vụ xử lý thông tin từ thiết bị nhập
Các lệnh bị chấp hành: có nhiệm vụ thực thi các lệnh của PLC phát ra
2. Mô hình hệ thống pha màu tự động:
Mô hình hệ thống pha màu tự động là một hệ thống hoàn toàn tự động được điều khiển bởi bộ điều khiển lập trình PLC siemens S7-200 CPU 224
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image100.gif
a. Các bồn chứa các màu cơ bản
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image102.gif
b. Các valve xả của các màu thành phần
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image104.gif
c. Bồn định lượng
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image106.gif
Xác định khối lượng theo đúng tỉ lệ đã đặt trước do cảm biến áp suất
điều khiển
d. Cảm biến áp suất và van xả hỗn hợp
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image108.gif
Cảm biến áp suất điều khiển quá trình hoạt động của hệ thống và valve xả hỗn hợp xuống để trộn đều
e. Bồn chứa và động cơ trộn đều hỗn hợp
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image110.gif
Bồn chứa các hỗn hợp màu và động cơ trộn đều các hỗn hợp để có một màu chuẩn
f. Tủ điều khiển của hệ thống
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image112.gif
III. GIAO DIỆN ĐIỀU KHIỂN VÀ NGUYÊN LÝ HOẠT ĐỘNG
1. Menu chính
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image114.gif
- Chọn màu, khối lượng cần sản xuất và download xuống PLC xử lý
- Cập nhật cở sở dữ liệu cho hệ thống,thay đổi tỉ lệ của từng màu để có
được một màu chuẩn
- Xem thành phần của các màu cần sản xuất trong các công thức với tỉ
lệ có sẵn được lấy từ cơ sở dữ liệu
- Giám sát quá trình vận hành của hệ thống
- Thoát khỏi chương trình điều khiển
2. Chọn màu và khối lượng cần sản xuất
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image116.gif
Người điều khiển chọn màu cần sản xuất với các tỉ lệ,công thức đã được lưu sẵn trong cơ sở dữ liệu, chọn một trong các công thức có sẵn
Người điều khiển nhập khối lượng cần sản xuất để sau khi hệ thống
hoạt động, sản phẩm sản xuất ra sẽ có khối lượng bằng với khối lượng nhập vào
Sau khi chọn xong người điều khiển có thể download các thông số xuống PLC hoặc trở lại Menu chính để thay đổi các thông số khác
3. Cập nhật màu cơ sở
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image118.gif
Người điều khiển có thể thay đổi tỉ lệ có sẵn của một số công thức thành các tỉ lệ mới để có được màu của sản phẩm như mong muốn, nhưng tổng các tỉ lệ thay đổi phải đúng 100%, nếu không bằng hệ thống sẽ báo lỗi và nhắc nhở người sử dụng nhập lại
4. Xem thành phần và tỉ lệ của màu cần sản xuất
Nếu người điều khiển muốn biết được thành phần các màu cơ bản và tỉ lệ của các màu này để có được một màu mong muốn,trên giao diện sẽ cập
nhật từ cơ sở dữ liệu với các công thức, tỉ lệ đã được cập nhật sẵn đưa ra
ngoài giao diện cho người sử dụng biết chính xác các thành phần và tỉ lệ cần có
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image120.gif
5. Giám sát quá trình vận hành của hệ thống
Người sử dụng có thể thống qua giao diện điều khiển tắt mở hệ thống và giám sát các quá trình vận hành của hệ thống, xem hệ thống có hoạt động hay không hoặc vận hành đến giai đoạn nào
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image122.gif
6. Thoát khỏi chương trình
Sau khi điều khiển, người điều khiển có thể tắt hệ thống và thoát khỏi
chương trình điều khiển bằng thông báo xác nhận đúng hay sai
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image124.gif
PHẦN VI. LƯU ĐỒ THUẬT TOÁN
1. Khởi động hệ thống trộn :
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image126.jpg
2. Thực hiện quá trình:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image128.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image130.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image132.jpg
PHẦN VII. CHƯƠNG TRÌNH ĐIỀU KHIỂN:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image134.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image136.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image138.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image140.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image142.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image144.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image146.jpg
PHẦN VIII. CHƯƠNG TRÌNH CHẠY MÔ PHỎNG
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image148.jpg
MỤC LỤC :
PHẦN I : Giới thiệu chung về ĐK lập trình bằng PLC 1
I. Giới thiệu phần cứng của bộ ĐK lập trình PLC
I.1 Mô đun nguồn 5
I.2 Mô đun CPU
I.3 Mô đun nhập 7
I.4 Mô đun xuất
I.5 Đáp ứng của ngõ vào ra của thiết bị lập trình .8
II. Giới thiệu phần mềm bộ ĐK lập trình PLC
II.1 Hệ điều hành và tập lệnh
II.2 Chương trình soạn thảo, gỡ rối và các tiện ích
PHẦN II : Giới thiệu về họ PLC S7-200 của SIEEMEN .11
I. Giới thiệu tổng quát về PLC S7-300
II. Giới thiệu tổng quát về PLC S7-200 14
II.1 Cấu trúc bộ nhớ PLC S7-200 15
II.2 Thực hiện chương trình 16
PHẦN III : Tập lệnh cơ bản dùng trong thiết bị ĐK PLC S7-200 18
III.1 Cấu trúc chương trình
III.2 Ngôn ngữ lập trình trong S7-200 và phần mềm Microwin .19
A. Phần mềm viết chương trình
B. Phương pháp lập trình 24
C. Hệ lệnh của S7-200 .26
1. Toán hạng và giới hạn cho phép
2. Hệ lệnh 27
2.1 Sơ lược về đại số Boolean
2.2 Lệnh vào ra
2.3 Lệnh ghi xóa các tiếp điểm .28
2.4 Hệ lệnh đại số Boolean 29
2.5 Hệ lệnh ĐK Timer .31
2.6 Hệ lệnh ĐK Counter .34
2.7 Hệ lệnh dich chuyển nội dung ô nhớ .36
2.8 Hệ lệnh số học 37
2.9 Lệnh tăng giảm va đảo giá tri thanh ghi .41
2.10 Lệnh so sánh .42
PHẦN IV : Mô hình thi công .46
1. CPU 224AC-DC Relay của PLC SIEMEN S7-200
2. Mudule Analog EM 235 của PLC SIEMEN S7-200
3. Cầu dao điện
4. Relay trung gian 47
5. Valve solenoid
6. Bộ nguồn 24VDC 48
7. Động cơ trộn 49
8. Cảm biến áp suất
PHẦN V : Sơ lược và nguyên tắc điều khiển .50
I. Yêu cầu kỹ thuật
1. Phương pháp pha chế các màu sơn
2. Cơ sơ quá trình trộn 51
3. Mức độ đồng đều của sản phẩm
II. Điều khiển máy trộn màu sơn dùng PLC S7-200 52
1. Quy trình xử lý điều khiển
2. Mô hình hệ thống pha màu tự động
III. Giao diện điều khiển và nguyên lý hoạt động 56
1. Menu chính
2. Chọn màu và khối lượng cần sản xuất .57
3. Cập nhật màu cơ sở .58
4. Xem thành phần và tỉ lệ của màu cần sản xuất
5. Giám sát quá trình vận hành của HT 59
6. Thoát khỏi chương trình 60
PHẦN VI: Lưu đồ thuật toán .61
1. Khởi động hệ thống trộn
2. Thực hiện quá trình 62
PHẦN VII : Chương trình điều khiển .63
PHẦN VIII : Chương trình chạy mô phỏng 66
TÀI LIỆU THAM KHẢO:
1. Giáo trình “ Tự động hóa với Simatic S7-2000 ”
Tác giả: Nguyễn Doãn Phước
Phan Xuân Minh
2. Đề cương bài giảng PLC
Tác giả : Th.S. Thái Hữu Nguyên
3. Một số tài liêu khác