2.1 .Phân tích sơ đồ mạch lực hệ truyền động
3.1 Tổng quan về PLC S7-200
3.1.2 Khái niệm về PLC
PLC (Programmable Logic Controller) là thiết bị điều khiển lập trình, được thiết kế chun dùng trong cơng nghiệp để điều khiển các tiến trình xử lý từ đơn giản đến phức tạp, tuy thuộc vào người điều khiển mà nó có thể thực hiện một loạt các chương trình hoặc sự kiện, sự kiện này được kích hoạt bởi các tác nhân kích thích (hay cịn gọi là đầu vào) tác động vào PLC hoặc qua các bộ định thời (Timer) hay các sự kiện được đếm qua bộ đếm. Khi một sự kiện được kích hoạt nó sẽ bật ON, OFF hoặc phát một chuỗi xung ra các thiết bị bên ngoài được gắn vào đầu ra của PLC. Như vậy nếu ta thay dổi các chương trình được cài đặt trong PLC là ta có thể thực hiện các chức năng khác nhau, trong các môi trường điều khiển khác nhau.
S7-200 là thiết bị điều khiển logic khả trình của hãng Siemens (CHLB Đức), có cấu trúc kiểu module và có các module mở rộng. Các module này được sử dụng với những mục đích khác nhau.
Tồn bộ nội dung chương trình được lưu trong bộ nhớ của PLC, trong trường hợp dung lượng bộ nhớ khơng đủ ta có thể sử dụng bộ nhớ ngồi để lưu chương trình và dữ liệu (Catridge ).
Dịng PLC S7-200 có hai họ là 21X ( loại cũ) và 22X ( loại mới), trong đó họ 21X khơng cịn sản xuất nữa. Họ 21X có các đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có các đời sau: 221, 222, 224, 224XP, 226, 226XM
3.1.3 Cấu trúc phần cứng PLC s7-200.
Module đầu vào. Module đầu ra.
Module đơn vị xử lý trung tâm (CPU). Module bộ nhớ.
Module quản lý phối ghép vào ra.
Hình 3.1: Cấu trúc tổng quát của PLC.
a.Đơn vị xử lý trung tâm (CPU Central Processing Unit):
CPU dùng để xử lý, thực hiện những chức năng điều khiển phức tạp quan trọng của PLC. Mỗi PLC thường có từ một đến hai đơn vị xử lý trung tâm.
CPU thường được chia làm hai loại: đơn vị xử lý “một bit” và đơn vị xử lý “từ ngữ”:
Đơn vị xử lý “một bit”: Chỉ áp dụng cho những ứng dụng nhỏ, đơn giản, chỉ đơn thuần xử lý ON/OFF nên kết cấu đơn giản, thời gian xử lý dài.
Đơn vị xử lý “từ ngữ”: Có khả năng xử lý nhanh các thơng tin số, văn bản, phép toán, đo lường, đánh giá, kiểm tra nên cấu trúc phần cứng phức tạp hơn nhiều tuy nhiên thời gian xử lý được cải thiện nhanh hơn.
b.Bộ nhớ:
Bao gồm các loại bộ nhớ RAM, ROM, EEFROM, là nơi lưu trữ các thơng tin cần xử lý trong chương trình của PLC. Bộ nhớ được thiết kế thành dạng module để cho phép dễ dàng thích nghi với các chức năng điều khiển với các kích cỡ khác nhau. Muốn mở rộng bộ nhớ chỉ cần cắm thẻ nhớ vào rãnh cắm chờ sẵn trên module CPU. Bộ nhớ có một tụ dùng để duy trì dữ liệu chương trình khi mất điện.
c.Khối vào/ra:
Khối vào ra dùng để giao tiếp giữa mạch vi điện tử của PLC (điện áp 5/15VDC) với mạch cơng suất bên ngồi (điện áp 24VDC/220VAC). Khối ngõ vào thực hiện việc
chuyển mức điện áp từ cao xuống mức tín hiệu tiêu chuẩn để đưa vào bộ xử lý. Khối ngõ ra thực hiện việc chuyển mức tín hiệu từ tiêu chuẩn sang tín hiệu ngõ ra và cách ly quang.
d.Bộ nguồn:
Biến đổi từ nguồn cấp bên ngoài vào để cung cấp cho sự hoạt động của PLC. e.Khối quản lý ghép nối:
Dùng để phối ghép giữa PLC với các thiết bị bên ngồi như máy tính, thiết bị lập trình, bảng vận hành, mạng truyền thông công nghiệp.
3.1.4 Cấu trúc về bộ nhớ của PLC s7-200:
a. Phân chia bộ nhớ:
Bộ nhớ của PLC S7-200 được chia thành bốn vùng cơ bản và hầu hết có thể đọc ghi được chỉ trừ vùng nhớ đặc biệt (SM) chỉ có thể truy cập để đọc.
Hình 3.2: Cấu trúc bộ nhớ của PLC
Vùng nhớ chương trình: Là miền nhớ được dùng để lưu trữ các lệnh được dùng trong chương trình.Vùng này thuộc kiểu non-volatile có thể đọc và ghi được.
Vùng nhớ tham số: Dùng để lưu giữ các tham số như từ khóa, địa chỉ trạm… Vùng này thuộc kiểu non-volatile có thể đọc và ghi được.
Vùng dữ liệu: Dùng để cất giữ các dữ liệu của chương trình bao gồm kết quả các phép tính, các hằng số được định nghĩa trong chương trình, bộ đệm truyền thơng…
Vùng đối tượng: Bao gồm các bộ đếm, bộ định thì, các cổng vào ra tương tự. Vùng này khơng thuộc kiểu non-volatile nhưng có thể đọc và ghi được.
Hai vùng nhớ cuối có ý nghĩa quan trọng trong việc thực hiện một chương trình.
c. Vùng nhớ chương trình
Vùng nhớ chương trình gồm ba khối chính: OB1, SUBROUTIN và INTERRUPT. OB1: Chứa chương trình chính, các lệnh trong khối này ln được qt trong
SUBROUTIN: Chứa chương trình con, được tổ chức thành hàm và có biến hình thức để trao đổi dữ liệu, chương trình con sẽ được thực hiện khi có lệnh gọi từ chương trình chính.
INTERRUPT: Miền chứa chương trình ngắt, được tổ chức thành hàm và có khả năng trao đổi dữ liệu với bất kỳ một khối chương trình nào khác. Chương trình này sẽ được thực hiện khi có sự kiện ngắt xảy ra.
c. Vùng nhớ dữ liệu
Vùng dữ liệu là một vùng nhớ động. Nó có thể được truy cập theo từng bit, từng byte, từng từ đơn (word) hay từ kép (double word) và được sử dụng làm miền lưu trữ dữ liệu cho các thuật tốn, các hàm truyền thơng, lập bảng, các hàm dịch chuyển, xoay vòng thanh ghi, con trỏ địa chỉ…
Vùng dữ liệu được chia thành những vùng nhớ nhỏ để phục vụ cho những mục đích và cơng dụng khác nhau, bao gồm các vùng sau:
V (Variable memory): Vùng nhớ biến. I (Input image register): Vùng đệm đầu vào. Q (Output image register): Vùng đệm đầu ra. M (Internal memory bits): Vùng nhớ các bit nội.
SM (Special memory): Vùng nhớ đặc biệt. Cách thức truy cập địa chỉ của vùng nhớ dữ liệu:
3.1.5 Mở rộng cổng vào ra.
Các PLC họ S7-200 đều có thể mở rộng thêm các đầu vào/ra và các chức năng nâng cao khác bằng cách ghép nối thêm các module mở rộng về phía bên phải của PLC tạo thành một móc xích các module. Địa chỉ của các vị trí các module được xác định bằng kiểu vào ra và vị trí của các module trong móc xích, bao gồm các module có cùng kiểu. Các module mở rộng số hay tương tự đều chiếm chỗ trong bộ đệm tương ứng với số đầu vào ra của module.
3.1.6 Thực hiện chương trình
PLC thực hiện chương trình theo chu trình lặp. Mỗi vịng lặp gọi là một vòng quét. Mỗi vòng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng bộ đệm ảo, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vịng qt chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc. Sau giai đoạn thực hiện chương trình là giai đoạn truyền thơng nội bộ và kiểm tra lỗi. Vịng qt được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm ảo tới các cổng ra.
Như vậy tại thời điểm thực hiện lệnh vào ra, thông thường lệnh không làm việc trực tiếp với cổng vào ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 4 do CPU quản lý. Khi gặp lệnh vào ra ngay lập tức thì hệ thống sẽ cho dừng mọi cơng việc khác
ngay cả chương trình xử lý ngắt để thực hiện lệnh này một cách trực tiếp với cổng vào/ra.
Nếu sử dụng các chế độ ngắt, chương trình con tương ứng với các chế độ ngắt được soạn thảo và cài đặt như một bộ phận của chương trình. Chương trình ngắt chỉ được thực hiện khi có sự kiện báo ngắt.
3.1.7 Cấu trúc chương trình
Chương trình của PLC S7-200 được lưu trong bộ nhớ chương trình và có thể được lập dưới hai dạng cấu trúc khác nhau:
Chương trình tuyến tính: Tồn bộ chương trình nằm trong khối chương trình chính (OB1), các lệnh trong chương trình ln được qt từ đầu đến cuối chương trình và quay lại từ đầu trong quá trình PLC hoạt động. Chương trình này chỉ thường áp dụng với các ứng dụng khơng phức tạp lắm.
Chương trình có cấu trúc: Chương trình được chia thành những phần nhỏ và mỗi phần thực hiện một nhiệm vụ riêng biệt, từng phần nằm trong những khối riêng biệt (OB1, SUBROUTIN, INTERRUPT). Loại chương trình này thường áp dụng với những yêu cầu phức tạp và nhiều khâu. Khi lập trình chương trình có cấu trúc thường sử dụng ngồi chương trình chính cịn có chương trình con và chương ngắt. Chương trình con được viết trong khối chương trình con và được gọi trong chương trình chính khi có lệnh gọi. Chương trình ngắt được viết trong khối chương trình ngắt và thực hiện mỗi khi có sự kiện ngắt xảy ra bất kể trong thời điểm nào của vòng quét. Cả hai loại chương trình này đều có khả năng trao đổi dữ liệu với các chương trình khác.
3.1.8 Thiết bị lập trình
Có hai loại thiết bị có thể dùng để lập trình cho PLC S7- 200 là PG và PC:
PG: Là thiết bị lập trình chuyên dụng được dùng cho PLC S7-200 tuy nhiên chỉ sử dụng để lập trình với ngơn ngữ STL.
PC: Là máy tính cá nhân trên đó có cài phần mềm STEP7-MICROWIN. Phần mềm này cho phép lập trình với cả ba ngơn ngữ là STL, LAD và FBD. Để cài phần mềm này người phải có bản quyền và PC phải cài hệ điều hành WIN98/2000/NT/XP. Hiện nay hầu hết sử dụng STEP7- MICROWIN 3.0, 3.2, 4.0 để lập trình cho PLC S7- 200 để có thể sử dụng được những ứng dụng nâng cao.
Giao diện làm việc:
Sau khi đã cài đặt phần mềm STEP7-MICROWIN và vào chương trình làm việc, giao diện làm việc sẽ được thể hiện như sau:
Hình 3.3:Giao diện của phần mềm STEP7-MICROWIN.
Navigation Bar: Thể hiện các khối và các lệnh làm việc được tạo sẵn trong phần mềm. Để sử dụng các khối này ta chỉ cần kích vào nút biểu tượng tương ứng với khối cần dùng.
Instruction Tree: Thể hiện tất cả các khối và lệnh sử dụng trong chương trình dưới dạng cây thư mục. Muốn làm việc với lệnh nào chỉ việc Click đúp chuột vào vị trí đó để chọn thiết bị làm việc.
Các khối Cross Reference, Data Block, Status Chart, Symbol Table sẽ được trình bày chi tiết ở phần sau.
Program Editor: Đây là vùng chính để thực hiện chương trình bằng cách đưa các lệnh vào trong vùng và sắp xếp chúng theo cách thức của người dùng để tạo ra một chương trình.
Menu bar và Toolbar: Là các thanh công cụ giúp thực hiện nhanh các lệnh và chức năng sử dụng trong chương trình.
3.1.9 Ngơn ngữ lậ trình của PLC S7-200.
a. Phương pháp lậ trình:
S7-200 biểu diễn chương trình dưới dạng một mạch logic cứng bằng một dãy các lệnh và khối chương trình theo thứ tự quy định. Các lệnh và khối này sẽ lần lượt được quét trong chương trình từ đầu đến cuối trong một vịng qt. PLC sẽ làm việc
ngay tại vịng qt đầu tiên và từ đó thực hiện liên tục chu kỳ qt. Trong mỗi vịng qt nếu có một lệnh được gọi PLC sẽ nhận lệnh đó và thực hiện, nếu khơng qt kịp thì tại vịng qt tiếp theo sẽ thực hiện.
Có ba phương pháp lập trình cơ bản:
Lập trình hình thang (LAB – Ladder Logic).
Phương pháp khối hàm (FBD – Funtion Block Diagram). Phương pháp liệt kê câu lệnh (STL – Statement List).
Nếu chương trình được viết theo kiểu LAD hoặc FBD thì có thể chuyển sang dạng STL nhưng khơng phải mọi chương trình viết bằng STL đều có thể chuyển sang hai dạng kia.
LAD:
Là ngơn ngữ lập trình bằng đồ hoạ mô phỏng theo mạch relay. Các phần tử cơ bản dùng để biểu diễn lệnh logic
Tiếp điểm: Mô tả các tiếp điểm dùng trong mạch relay, toán hạng của tiếp điểm dùng trong chương trình là bit. Có hai loại tiếp điểm:
Tiếp điểm thường đóng: Tiếp điểm thường mở:
Cuộn dây: -( ) mơ tả cuộn dây relay. Tốn hạng sử dụng là bit.
Hộp: Là biểu tượng mơ tả các hàm khác nhau làm việc khi có tín hiệu đến kích. Những hàm thường được biểu diễn bằng hộp là các hàm tạo thời gian (Timer), hàm đếm (Counter) và các hàm toán học.
Mạng LAD: Là đường nối các phần tử thành một mạch hồn chỉnh. Thơng thường các tín hiệu điện phải đi từ dây nóng qua thiết bị rồi đến dây trung hồ sau đó về nguồn, tuy nhiên trong phần mềm lập trình chỉ thể hiện dây nóng và bên trái và các đường nối đến thiết bị từ đó.
STL:
Phương pháp liệt kê lệnh là phương pháp lập trình bằng cách tập hợp các câu lệnh, mỗi câu lệnh thể hiện một chức năng của chương trình.
Để tạo một chương trình dạng STL người lập trình cần phải hiểu rõ phương thức sử dụng ngăn xếp. Ngăn xếp logic là một khối gồm 9 bit chồng lên nhau từ S0 – S8. Tất cả các thuật toán liên quan đến ngăn xếp đều chỉ làm việc với bít đầu tiên (S0) và bit thứ hai (S1) của ngăn xếp. Giá trị logic mới đều có thể được gửi hoặc nối thêm vào ngăn xếp. Khi phối hợp hai bit đầu tiên của ngăn xếp thì ngăn xếp sẽ được kéo lên một bit.
FBD:
Là phương pháp lập trình khối hàm mơ phỏng các lệnh và khối làm việc trong mạch số. Các phần tử cơ bản trong phương pháp này là các khối lệnh được liên kết với nhau.
b. Tập lệnh PLC S7-200:
Tập lệnh của S7-200 chia làm ba nhóm:
Các lệnh mà khi thực hiện thì làm việc độc lập khơng phụ thuộc vào giá trị logic của ngăn xếp.
Các lệnh chỉ thực hiện khi bit đầu tiên của ngăn xếp có giá trị logic bằng 1.
Các nhãn lệnh đánh dấu vị trí trong tập lệnh hay cịn gọi là nhóm lệnh điều khiển chương trình.
Cả ba phương pháp đều sử dụng ký hiệu I để chỉ các lệnh làm việc tức thời, tức là giá trị được chỉ định trong lệnh vừa được chuyển vào thanh ghi ảo đồng thời được chuyển ngay đến tiếp điểm được chỉ dẫn ngay trong lệnh ngay khi được thực hiện chứ không phải chờ đến giai đoạn trao đổi với ngoại vi của vịng qt. Điều đó khác với lệnh khơng tức thời là giá trị chỉ chuyển vào thanh ghi ảo khi thực hiện lệnh. Các nhóm lệnh được cho trong cây lệnh của S7-200:
Bit Logic: Tập lệnh làm việc với bit.
Clock: Tập lệnh làm việc với thời gian của hệ thống. Communication: Tập lệnh truyền thông.
Compare: Tập lệnh so sánh. Convert: Tập lệnh biến đổi. Counter: Tập các bộ đếm.
Floating-Point Math: Tập lệnh toán học làm việc với số thực. Integer Math: Tập lệnh toán học làm việc với số nguyên. Interupt: Tập lệnh làm việc với chương trình ngắt.
Logical Operations: Tập lệnh các phép tính logic biến đổi. Move: Tập lệnh di chuyển dữ liệu.
Programe Control: Tập lệnh điều khiển chương trình. Shift/Rotate: Tập lệnh dịch/quay làm việc với thanh ghi.
String: Tập lệnh làm việc với chuỗi. Table: Tập lệnh làm việc với bảng dữ liệu.
Call Subroutin: Tập lệnh gọi các chương trình con.
Các lệnh cơ bản được sử dụng trong S7-200 liên quan tới yêu cầu lập trình của đề tài (Các lệnh sau đây chỉ được mô tả cho phương pháp lập trình LAD ):
c. Các lệnh làm việc với bit logic
Nhóm lệnh so sánh:
S7-200 cung cấp các lệnh so sánh theo từng kiểu dữ liệu vì vậy muốn thực hiện được phép so sánh thì các tốn hạng phải có cùng kiểu dữ liệu nếu khơng chương trình sẽ báo lỗi. Sau đây là một số lệnh so sánh dữ liệu kiểu Byte.
Tập bộ tạo thời gian: