- Khối xử lý trung tâm: là một vi xử lý điều khiển tất cả các hoạt động của PLC như: Thực hiện chương trình, xử lý vào/ra và truyền thơng với các thiết bị bên ngồi.
- Bộ nhớ: có nhiều các bộ nhớ khác nhau dùng để chứa chương trình hệ thống là một phần mềm điều khiển các hoạt động của hệ thống, sơ đồ LAD, trị số của Timer, Counter được chứa trong vùng nhớ ứng dụng, tùy theo yêu cầu của người dùng có thể chọn các bộ nhớ khác nhau:
+ Bộ nhớ ROM: là loại bộ nhớ không thay đổi được, bộ nhớ này chỉ nạp được một lần nên ít được sử dụng phổ biến như các loại bộ nhớ khác.
+ Bộ nhớ RAM: là loại bộ nhớ có thể thay đổi được và dùng để chứa các chương trình ứng dụng cũng như dữ liệu, dử liệu chứa trong RAM sẽ bị mất khi mất điện. Tuy nhiên, điều này có thể khắc phục bằng cách dùng Pin.
+ Bộ nhớ EPROM: Giống như ROM, nguồn nuôi cho EPROM không cần dùng Pin, tuy nhiên nội dung chứa trong nó có thể xố bằng cách chiếu tia cực tím vào một cửa sổ nhỏ trên EPROM và sau đó nạp lại nội dung bằng máy nạp.
+ Bộ nhớ EEPROM: kết hợp hai ưu điểm của RAM và EPROM, loại này có thể xóa và nạp bằng tín hiệu điện. Tuy nhiên số lần nạp cũng có giới hạn.
ghi (register) và tập lệnh cho phép thực hiện các yêu cầu điều khiển phức tạp khác nhau. Hoạt động của PLC hồn tồn phụ thuộc vào chương trình nằm trong bộ nhớ, nó ln cập nhật tín hiệu ngõ vào, xử lý tín hiệu để điều khiển ngõ ra.
Để đánh giá một bộ PLC người ta dựa vào 2 tiêu chuẩn chính: dung lượng bộ nhớ và số tiếp điểm vào/ra của nó. Bên cạnh đó cũng cần chú ý đến các chức năng như: bộ vi xử lý, chu kỳ xung clock, ngơn ngữ lập trình, khả năng mở rộng số cổng vào/ra.
Bên cạnh đó, một bộ PLC hồn chỉnh cịn đi kèm thêm một đơn vị lập trình bằng tay hay bằng máy tính. Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để chứa đựng chương trình dưới dạng hồn thiện hay bổ sung.
Một PLC có đầy đủ các chức năng như: bộ đếm, bộ định thời, các thanh ghi (register) và tập lệnh cho phép thực hiện các yêu cầu điều khiển phức tạp khác nhau. Hoạt động của PLC hồn tồn phụ thuộc vào chương trình nằm trong bộ nhớ, nó ln cập nhật tín hiệu ngõ vào, xử lý tín hiệu để điều khiển ngõ ra.
Để đánh giá một bộ PLC người ta dựa vào 2 tiêu chuẩn chính: dung lượng bộ nhớ và số tiếp điểm vào/ra của nó. Bên cạnh đó cũng cần chú ý đến các chức năng như: bộ vi xử lý, chu kỳ xung clock, ngơn ngữ lập trình, khả năng mở rộng số cổng vào/ra.
Bên cạnh đó, một bộ PLC hồn chỉnh cịn đi kèm thêm một đơn vị lập trình bằng tay hay bằng máy tính. Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để chứa đựng chương trình dưới dạng hồn thiện hay bổ sung.
- Tín hiệu vào.
Mức độ thơng minh của một hệ thống điều khiển phụ thuộc chủ yếu vào khả năng của PLC để đọc được các dữ liệu khác nhau từ các cảm biến cũng như các thiết bị nhập bằng tay như: nút ấn, bàn phím và chuyển mạch. Mặt khác, để đo, kiểm tra chuyển động, áp suất, lưu lượng chất lỏng ... PLC phải nhận các tín hiệu từ các cảm biến. Ví dụ: tiếp điểm hành trình, cảm biến quang điện ... tín hiệu đưa vào PLC có thể là tín hiệu số (digital) hoặc tín hiệu tương tự (analog), các tín hiệu này được giao tiếp với PLC thơng qua các modul nhận tín hiệu vào khác nhau khác nhau di (vào số) hoặc ai (vào tương tự)....
- Đối tượng điều khiển .
Một hệ thống điều khiển sẽ khơng có ý nghĩa thực tế nếu không giao tiếp được với thiết bị ngồi, các thiết bị ngồi thơng dụng như: môtơ, van, rơle, đèn báo, chuông điện,... cũng giống như thiết bị vào, các thiết bị ngoài được nối đến các cổng ra của modul ra (output). Các modul ra này có thể là DO (ra số) hoặc
AO (ra tương tự).
b. Nguyên lý làm việc của PLC
CPU điều khiển các hoạt động bên trong PLC. Bộ xử lý sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự từng lệnh trong chương trình, sẽ đóng hay ngắt các đầu ra. Các trạng thái ngõ ra ấy được phát tới các thiết bị liên kết để thực thi. Và toàn bộ các hoạt động thực thi đó đều phụ thuộc vào chương trình điều khiển được giữ trong bộ nhớ.
PLC thực chất chạy bằng mã máy với hệ thống số nhị phân, do đó tốc độ qt vịng chương trình có thể đạt đến vài phần ngàn giây, các phần mềm dùng để lập trình PLC tích hợp cả phần biên dịch. Các dịng lệnh khi lập trình chúng ta đưa từ chương trình vào thì trình biên dịch sẽ chuyển đổi sang mã máy và ghi từng bit “0” hay bit “1” lên đúng vào vị trí có địa chỉ đã được quy ước trước trong PLC lên PC được thực thi xảy ra ngược lại và trình biên dịch đã làm xong nhiệm vụ của mình trước khi trả chương trình lên Monitor... Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm nhiều đường tín hiệu song song: + Address Bus: Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau. + Data Bus: Bus dùng để truyền dữ liệu.
+ Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điều khiển đồng bộ các hoạt động trong PLC.
Trong PLC các số liệu được trao đổi giữa bộ vi xử lý và các modul vào ra thông qua Data Bus. Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép truyền 8 bit của 1 byte một cách đồng thời hay song song. Nếu một modul đầu vào nhận được địa chỉ của nó trên Address Bus, nó sẽ chuyển tất cả trạng thái đầu vào của nó vào Data Bus. Nếu một địa chỉ byte của 8 đầu ra xuất hiện trên Address Bus, modul đầu ra tương ứng sẽ nhận được dữ liệu từ Data bus. Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động của PLC. Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn chế.
Hệ thống Bus sẽ làm nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O. Bên cạch đó, CPU được cung cấp một xung Clock có tần số từ 1¸8 MHz. Xung này quyết định tốc độ hoạt động của PLC và cung cấp các yếu tố về định thời, đồng hồ của hệ thống.
c. Vịng qt của chương trình
PLC thực hiện các cơng việc (bao gồm cả chương trình điều khiển) theo chu kỳ lặp. Mỗi vịng lặp được gọi là một vòng quét. Mỗi vòng quét đều bắt đầu bằng việc
chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, tiếp theo là giai doạn thực hiện chương trình. Trong từng vịng qt, chương trình thực hiện từ lệnh đầu tiên đến lệnh kết thúc của khối OB1. Sau giai đoạn thực hiện chương trình là giai đoạn chuyển nội dung bộ đệm ảo Q tới các cổng ra số. Vòng quét được kết thúc bằng giai đoạn xử lý các yêu cầu truyền thơng( nếu có) và kiểm tra trạng thái của CPU. Mỗi vịng qt có thể được mơ tả như sau:
Hình 2.3 Q trình hoạt động của một vịng qt
2.2.4 Một vài lĩnh vực tiêu biểu ứng dụng PLC
Hiện nay PLC đã được ứng dụng thành công trong nhiều lĩnh vực sản suất cả trong công nghiệp và dân dụng. Từ những ứng dụng để điều khiển các hệ thống đơn giản, chỉ có chức năng đóng/mở (ON/OFF) thơng thường đến các ứng dụng cho các lĩnh vực phức tạp, địi hỏi tính chính xác cao, ứng dụng các thuật tốn trong q trình sản xuất. Các lĩnh vực tiêu biểu ứng dụng PLC hiện nay bao gồm:
+ Hóa học và dầu khí: định áp suất (dầu), bơm dầu, điều khiển hệ thống ống dẫn, cân đong trong ngành hóa…
+ Chế tạo máy và sản xuất: tự động trong chế tạo máy, cân đong quá trình lắp đặt máy, điều khiển nhiệt độ lò kim loại…
+ Bột giấy, giấy, xử lý giấy: điều khiển máy băm, quá trình ủ bột, quá trình cán. + Thủy tinh và phim ảnh: q trình đóng gói, thử nghiệm vật liệu, cân đong, các khâu hoàn tất sản phẩm, đo cắt giấy…
+ Thực phẩm, rượu bia, thuốc lá: đếm sản phẩm, kiểm tra sản phẩm, kiểm sốt q trình sản xuất, bơm (bia, nước trái cây…) cân đong, đóng gói, hịa trộn…
+ Năng lượng: điều khiển nguyên liệu (cho quá trình đốt, xử lý trong các turbin…) các trạm cần hoạt động tuần tự khai thác vật liệu một cách tự động (than, gỗ, dầu mỏ…).
2.3.1 Cấu trúc phần cứng của PLC S7-300
Thơng thường, để tăng tính mềm dẻo trong ứng dụng thực tế mà ở đó phần lớn các đối tượng điều khiển có số tín hiệu vào/ra cũng như chủng loại tín hiệu vào/ra khác nhau mà các bộ điều khiển PLC được thiết kế khơng bị cứng hóa về cấu hình. Chúng được chia nhỏ thành các modul. Số modul được sử dụng nhiều hay ít tùy theo yêu cầu công nghệ, song tối thiểu bao giờ cũng phải có một modul chính là các modul CPU, các modul chức năng chuyên dụng như PID, điều khiển động cơ. Chúng gọi chung là modul mở rộng. Tất cả các modul được gá trên những thanh ray (Rack).
a) Moddul CPU
Là modul có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời gian, bộ đếm, cổng truyền thơng và có thể cịn có một vài cổng vào/ra số. Các cổng vào/ ra có sẵn trên modul CPU được gọi là cổng vào ra ONBOART.
b) Các modul mở rộng
+ Modul PS: Modul nguồn cung cấp nguồn cho CPU và các khối vào/ ra. Một số loại modul PS:
Modul name Output Curent Output Voltage Input Voltage PS 307 2 A 24 VDC 120/230 VAC PS 307 5 A 24 VDC 120/230 VAC PS 307 10 A 24 VDC 120/230 VAC Bảng 2.1 Một số loại modul PS
+ Modul mở rộng cổng tín hiệu vào/ra, bao gồm:
- Modul DI (Digital Input): kết nối các tín hiệu vào số có thể là 8, 16 và 32 đầu vào số tùy thuộc từng loại modul.
- Modul DO (Digital Output): kết nối các tín hiệu ra số có thể là 8, 16 và 32 đầu vào số tùy thuộc từng loại modul.
- Modul AI (Analog Input): kết nối các tín hiệu vào tương tự.
- Modul AO (Analog Output): modul đầu ra tương tự, là những bộ chuyển đổi tương tự (DA).
- Modul tích hợp: modul DI/DO, moddul AI/AO. c) Modul ghép nối IM (Interface Modul)
Là loại modul chuyên dụng có nhiệm vụ nối từng nhóm các modul mở rộng lại với nhau thành một khối và được quản lý chung bởi 1 modul CPU.
Thông thường các modul mở rộng được gá liền nhau trên một giá đỡ gọi là Rack. Mỗi rack có thể gá được nhiều nhất 8 modul mở rộng (không kể modul
CPU và modul nguồn ni). Một modul CPU S7-300 có thể làm việc nhiều nhất với 4 Rack và các Rack này phải được nối với nhau bằng modul IM.
d) Modul FM (Function Modul): Modul có chức năng điều khiển riêng ví dụ như: modul động cơ bước, modul PID…
e) Modul CP (Commuication Modul): Modul phục vụ truyền thông trong mạng giữa các PLC với nhau hoặc giữa PLC với máy tính.
2.3.2 Các kiểu dữ liệu
1/ BOOL: với dung lượng là 1 bit và có giá trị là 0 hoặc 1 (đúng hoặc sai). Đây là kiểu dữ liệu biến có hai giá trị.
2/ BYTE: gồm 8 bits, thường được dùng để biểu diễn một số nguyên dương trong khoảng từ 0 đến 255 hoặc m ASCII của một kí tự.
Ví dụ: B#16#14 nghĩa là số nguyên 14 viết theo hệ đếm cơ số 16 có độ dài 1 byte.
3/ WORD: gồm 2 byte, để biểu diễn số nguyên dương từ 0 đến 65535. 4/DWORD: Là từ kép có giá trị là: 0 đến 232 -1.
5/ INT: cũng có dung lượng là 2 bytes, dùng để biểu diễn một số nguyên trong khoảng -32.768 đến 32.767 hay (-215...215 -1).
6/ DINT: gồm 4 bytes, dùng để biểu diễn số nguyên từ -2147483648 đến 2147483647 hay: (-231....231 -1).
7/ REAL: gồm 4 bytes, dùng để biểu diễn một số thực dấu phảy động có giá trị: là: -3,4E38.....3,4E38
8/ S5t (hay S5Time): khoảng thời gian, được tính theo giờ/phút/giây. 9/TOD: Biểu diễn giá trị tức thời tính theo Giờ/phút/giây.
Ví dụ: TOD#5:30:00 là lệnh khai báo giá trị thời gian trong ngày là 5 giờ 30 phút.
10/ DATE: Biểu diễn thời gian tính theo năm / tháng / ngày.
11/ CHAR: biểu diễn một hoặc nhiều ký tự (nhiều nhất là 4 ký tự) (ASCII code). Ví dụ: “ABCD”.
2.3.3 Cấu trúc bộ nhớ của CPU của S7- 300
a) Vùng chứa chương trình ứng dụng:
- OB (Organisation block): Miền chứa chương trình tổ chức.
- FC (Function): Miền chứa chương trình con được tổ chức thành hàm có biến hình thức để trao đổi dữ liệu với chương trình đã gọi nó, được phân biệt bởi các số ngun. Ví dụ: FC1, FC7, FC30ngồi ra cịn có các hàm SFC là các hàm đã được tích hợp sẵn trong hệ điều hành.
- FB (Function Block): tương tự như FC, FB còn phải xây dựng 1khối dữ liệu riêng gọi là DB (Data Block) và cũng có các hàm SFB là các hàm tích hợp sẵn trong hệ điều hành.
b) Vùng chứa các tham số hệ điều hành và chương trình ứng dụng:
- I (Process image input): Miền bộ đệm dữ liệu các ngõ vào số. Trước khi bắt đầu thực hiện chương trình, PLC sẽ đọc tất cả giá trị logic của các cổng vào rồi cất giữ chúng trong vùng I. khi thực hiện chương trình CPU sẽ sử dụng các giá trị trong vùng I mà không đọc trực tiếp từ ngõ vào số.
- Q (Process image output): tương tự vùng I, miền Q là bộ đệm dữ liệu cổng ra số. Khi kết thúc chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số.
- M (Memory): Miền các biến cờ. Do vùng nhớ này khơng mất sau mỗi chu kì qt nên chương trìng ứng dụng sẽ sử dụng vùng nhớ này để lưu giữ các tham số cần thiết. Có thể truy nhập nó theo bit (M), byte (MB), theo từ (MW) hay từ kép (MD).
- T (Timer): Miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic đầu ra của Timer.
- C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic đầu ra của Counter.
- PI: Miền địa chỉ cổng vào của các module tương tự (I/O External input). Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PIB), từng từ (PIW) hoặc theo từng từ kép (PID).
- PQ: Miền địa chỉ cổng ra của các module tương tự (I/O External output). Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PQB), từng từ (PQW) hoặc theo từng từ kép (PQD).
c) Vùng chứa các khối dữ liệu, được chia thành 2 loại:
- DB (Data block): Miền chứa các dữ liệu được tổ chúc thành khối. Kích thước hay số lượng khối do người sử dụng qui định. Có thể truy nhập miền này theo từng bit (DBX), byte( DBB), từng từ (DBW), từ kép (DBD).
- C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như
các giá trị logic đầu ra của Counter.
- PI: Miền địa chỉ cổng vào của các module tương tự (I/O External input). Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PIB), từng từ (PIW) hoặc theo từng từ kép (PID).
- PQ: Miền địa chỉ cổng ra của các module tương tự (I/O External output). Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền