
Hiểu về địa chỉ bộ nhớ (Addressing) trên PLC Siemens S7-300 – Hướng dẫn dành cho người học
Mục lục
Tổng quan
Các vùng nhớ trên S7-300
Cú pháp địa chỉ
Địa chỉ mức Bit
Địa chỉ Byte, Word và Double Word
Địa chỉ Data Block (DB)
Process Image và Peripheral Access
Bài tập thực hành
Mẹo giảng dạy Addressing
Tài liệu tham khảo
1. Tổng quan
PLC Siemens S7-300 sử dụng cách đánh địa chỉ bộ nhớ khác với Allen-Bradley và nhiều hãng PLC khác.
Việc hiểu đúng cấu trúc địa chỉ là nền tảng để lập trình hiệu quả trên các dòng:
S7-300
S7-400
S7-1200
S7-1500
Bài viết này sẽ giúp bạn hiểu cách đánh địa chỉ của Siemens và đưa ra một số bài tập thực hành phù hợp cho người mới học PLC.
2. Các vùng nhớ trên S7-300
PLC S7-300 chia bộ nhớ thành nhiều vùng, mỗi vùng đảm nhiệm một chức năng riêng.
Tiền tố | Vùng nhớ | Chức năng | Quyền truy cập |
|---|---|---|---|
I | Process Image Input | Lưu trạng thái ngõ vào số từ thiết bị hiện trường | Đọc/Ghi* |
Q | Process Image Output | Lưu trạng thái ngõ ra số | Đọc/Ghi* |
M | Memory Marker | Bộ nhớ trung gian, relay nội | Đọc/Ghi |
DB | Data Block | Lưu dữ liệu toàn cục có cấu trúc | Đọc/Ghi |
T | Timer | Bộ định thời | Đọc/Ghi |
C | Counter | Bộ đếm | Đọc/Ghi |
PI | Peripheral Input | Đọc trực tiếp từ phần cứng, bỏ qua Process Image | Chỉ đọc |
PQ | Peripheral Output | Ghi trực tiếp ra phần cứng, bỏ qua Process Image | Chỉ ghi |
Lưu ý: Trong chương trình thông thường, vùng I và Q chủ yếu được CPU cập nhật tự động từ phần cứng. Người lập trình thường chỉ đọc vùng I và ghi vào vùng Q.
3. Cú pháp địa chỉ
Địa chỉ trên Siemens có dạng:
<Vùng nhớ><Byte>.<Bit>đối với Bit.
Hoặc:
<Vùng nhớ><Byte/Word/DoubleWord>đối với Byte, Word và Double Word.
3.1. Địa chỉ mức Bit
Ví dụ:
I0.0→ Byte Input số 0, Bit số 0.
I0.7→ Byte Input số 0, Bit số 7.
Q4.0→ Byte Output số 4, Bit số 0.
M10.5→ Marker Byte số 10, Bit số 5.
Đây là cách đánh địa chỉ được sử dụng nhiều nhất khi lập trình các tín hiệu ON/OFF.
3.2. Địa chỉ Byte, Word và Double Word
Ví dụ:
IB0→ Byte Input số 0.
IW0→ Word Input bắt đầu từ Byte 0.
Bao gồm:
Byte 0
Byte 1
ID0→ Double Word Input.
Bao gồm:
Byte 0
Byte 1
Byte 2
Byte 3
Đối với vùng Marker:
MW0
→ Marker Word.
MD0
→ Marker Double Word.
Đối với Data Block:
DB1.DBW0
→ Word đầu tiên trong DB1.
DB1.DBD0
→ Double Word đầu tiên trong DB1.
3.3 Lưu ý quan trọng
Địa chỉ Word và Double Word nên bắt đầu tại Byte chẵn.
Ví dụ:
✅ Hợp lệ
IW0
IW2
IW4❌ Không nên dùng
IW1
IW3vì sẽ làm chồng lấn dữ liệu giữa các Word.
4. Địa chỉ Data Block (DB)
Data Block là vùng lưu trữ dữ liệu có cấu trúc.
Ví dụ:
DB1.DBX0.0→ Bit đầu tiên trong Byte 0 của DB1.
DB1.DBW0→ Word đầu tiên.
DB1.DBD0→ Double Word đầu tiên.
DB1.DBD4→ Double Word bắt đầu tại Byte số 4.
Trong STL và LAD, cần ghi đầy đủ địa chỉ như trên.
Nếu sử dụng Symbolic Addressing (SCL hoặc TIA Portal), bạn có thể truy cập thông qua tên biến, ví dụ:
"MyData".TemperatureĐiều này giúp chương trình dễ đọc và dễ bảo trì hơn.
5. Process Image và Peripheral Access
Kiểu truy cập | Tiền tố | Khi nào sử dụng |
|---|---|---|
Process Image | I, Q | Chương trình chạy theo chu kỳ quét (Scan Cycle), dữ liệu được cập nhật một lần mỗi chu kỳ. |
Peripheral Access | PI, PQ | Cần đọc/ghi trực tiếp phần cứng cho các ứng dụng thời gian thực như bộ đếm tốc độ cao hoặc ngắt (Interrupt). |
6. Bài tập thực hành
Giả sử bạn có bộ thực hành gồm 16 ngõ vào và 16 ngõ ra, có thể luyện tập theo các cấp độ sau.
Cấp độ 1 – Kiến thức cơ bản
Điều khiển đèn giao thông
Chu trình 3 trạng thái.
Sử dụng Timer.
Mạch Start/Stop có nhớ
Hai nút nhấn.
Đèn báo trạng thái.
Lệnh Set/Reset.
Đèn nhấp nháy
Sử dụng Clock Memory để tạo xung 1 giây.
Cấp độ 2 – Điều khiển tuần tự
Điều khiển ba bơm
Start/Stop.
Luân phiên bơm chính.
TON.
CTU.
Điều khiển thang máy 2 tầng
Gọi tầng.
Hiển thị tầng.
Điều khiển cửa.
Trạm chiết rót
Phát hiện chai.
Điều khiển van chiết.
Giám sát mức.
Đếm số chai hoàn thành.
Cấp độ 3 – Chức năng nâng cao
Scale tín hiệu Analog
Ví dụ:
0–10V
↓
0–27648
↓
Đơn vị kỹ thuật (°C, bar, lít...)
Có thể sử dụng FC105 (SCALE) trong thư viện Siemens.
Ghi dữ liệu
Lưu số chu kỳ.
Lưu giá trị Analog.
Ghi vào Data Block.
Trình tự báo lỗi
Xây dựng hệ thống gồm:
3 mức lỗi.
Xác nhận lỗi (Acknowledge).
RS Flip-Flop.
Lệnh S/R.
Cấp độ 4 – Truyền thông (Tùy chọn)
PROFINET
Cấu hình địa chỉ IP.
Kiểm tra bằng Ping.
Modbus RTU
Sử dụng module CP341.
Giao tiếp với thiết bị Slave.
7. Mẹo cho Addressing
Một số cách ví von giúp người mới học dễ hiểu hơn.
Bit giống như công tắc điện
Chỉ có hai trạng thái:
ON (1)
OFF (0)
Byte giống bảng gồm 8 công tắc
Một Byte có:
8 Bit
được đánh số:
0 → 7
Word giống hai Byte ghép lại
Một Word có:
16 Bit
Memory Marker giống Relay nội
Marker không kết nối trực tiếp với thiết bị ngoài.
Nó chỉ dùng để lưu trạng thái trung gian và xây dựng logic trong chương trình.
Một phương pháp học rất hiệu quả là yêu cầu học viên tự vẽ sơ đồ bộ nhớ trên giấy.
Ví dụ:
MW0 = 16#ABCDSau đó chuyển sang nhị phân:
1010101111001101và tự điền từng Bit vào đúng vị trí trong Word. Cách luyện tập này giúp hình thành trực giác rất tốt về cách PLC lưu trữ và xử lý dữ liệu.






