Cấu trúc phần cứng của một PLC gồm có các module sau: - Module nguồn.
- 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.
Đơ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ó 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 thong 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ộ 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.
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 ngoà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.
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.
Dùng để phối ghép giữa PLC với các thiết bị bên ngoài như máy tính, thiết bị lập trình, bảng vận hành, mạng truyền thong công nghiệp.
3.2.2.3 Cấu trúc bộ nhớ. 3.2.2.3.1 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. 27: 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.
3.2.2.3.2 Vùng nhớ chƣơng trình
- OB1: Chứa chương trình chính, các lệnh trong khối này luôn được quét trong mỗi vòng quét.
- 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.
3.2.2.3.3 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 toá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): Bù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 dữ liệu:
Truy cập trực tiếp.
- Truy cập theo bit: Tên miền nhớ + địa chỉ byte + • + chỉ số bit.Ví dụ:V10.4 chỉ bit
4 của byte 10 thuộc miền nhớ V.
- Truy cập theo byte: Tên miền nhớ + B + địa chỉ byte. Ví dụ VB15 chỉ byte 15 trong miền nhớ V.
từ đơn gồm hai byte là VB183 và VB184 trong đó VB183 là byte cao trong từ.
- Truy cập theo từ kép: Tên miền + D + địa chỉ byte cao trong miền.Ví dụ VD345 chỉ từ kép gồm 4 byte 345, 346, 347, 348 trong miền nhớ V trong đó 345 là byte cao trong từ kép.
Truy cập gián tiếp.
Truy cập địa chỉ gián tiếp thông qua con trỏ (pointer). Con trỏ là một miền nhớ từ kép chứa địa chỉ của vùng nhớ khác. Các vùng nhớ V, L và thanh ghi chỉ mục ( AC1,AC2,AC3 ) có thể được sử dụng như là con trỏ. Để sử dụng con trỏ phải sử dụng lệnh MOVE_D để chuyển địa chỉ của vùng nhớ được định địa chỉ gián tiếp vào vùng con trỏ. Con trỏ cũng có thể được chuyển tới chương trình con như là một tham số.
S7-200 cho phép con trỏ truy cập các vùng nhớ V,M,I,Q,S,T,C theo giá trị hiện hành và không cho phép truy cập theo từng bit và các vùng nhớ AI, AQ, HC, SM, L.
Để truy cập gián tiếp dữ liệu địa chỉ của một v ùng nhớ, phải tạo một con trỏ cho vùng đó bằng cách sử dụng ký tự & cùng với vùng nhớ có địa chỉ cần lấy. Toán hạng đầu vào của lệnh phải bắt đầu với ký tự & để chỉ rằng địa chỉ vùng nhớ, thay cho nội dung của nó được chuyển vào vùng định nghĩa toán hạng đầu ra của lệnh. Quy ước sử dụng con trỏ để truy nhập như sau:
- & địa chỉ byte (cao): Toán hạng lấy địa chỉ của byte, từ hoặc từ kép.
VD: MOVD &VW100,AC1: Tạo con trỏ bằng cách đưa địa chỉ byte cao VB100 vào trong thanh ghi AC1, thanh ghi AC1 sẽ chứa địa chỉ của VW100. - con trỏ: Toán hạng lấy nội dung của byte, từ hoặc từ kép mà con trỏ chỉ vào.
Theo ví dụ trên, khi đã tạo con trỏ ta có thể lấy nội dung của AC1 và chuyển vào VW300 bằng cách dùng toán hạng lấy nội dung trỏ vào thanh ghi AC1.
VD: MOVW &AC1,VW300: Nội dung của AC1 được chuyển vào VW300.
3.2.2.3.4 Vùng đối tƣợng
Vùng đối tượng được sử dụng để lưu giữ dữ liệu cho các đối tượng lập trình như các giá trị tức thời, giá trị đặt trước của bộ đếm, hay timer.
Dữ liệu kiểu đối tượng bao gồm các thanh ghi của Timer, Counter, HSC, bộ đệm vào ra tương tự và các thanh ghi chỉ mục.
3.2.2.4 Kiểu dữ liệu
Trong PLC S7-200 có các kiểu dữ liệu được cho trong bảng sau: Kiểu dữ liệu Kích thước Nội dung Dải giá trị
BOOL 1 bit Boolean 0;1
BYTE 8 bits Số nguyên không dấu 0 ÷ 255
BYTE 8 bits Số nguyên có dấu (chỉ áp dụng cho lệnh SHRB)
-128 ÷ 127
WORD 16 bits Số nguyên không dấu 0 ÷ 65535
INT 16 bits Số nguyên có dấu -32678 ÷32676
DWORD 32 bits Số nguyên không dấu 0 ÷ 4294967295
DINT 32 bits Số nguyên có dấu -2147383648÷2147383648 REAL 32 bits Số thực có dấu theo IEEE -2147383648÷2147383648 STRING 0–255 bytes Kiểu dữ liệu chuỗi ASCII Mã ASCII từ 128 ÷ 255
3.2.2.5 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
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 STEP7MICROWIN 3.0, 3.2, 4.0 để lập trình cho S7 để có thể sử dụng được những ứng dụng nâng cao