Bài viết cung cấp lộ trình chi tiết từng bước (step-by-step) từ việc quản lý mã nguồn dự án đến các thiết lập kỹ thuật chuyên sâu cho hệ thống máy tự động hóa sử dụng PLC S7-200 SMART. Nội dung tập trung vào 3 trụ cột chính: Điều khiển chuyển động đa trục (Servo/Step), thiết lập mạng truyền thông liên kết (Modbus RTU, GET/PUT) và xử lý tín hiệu Encoder tốc độ cao (HSC), giúp người kỹ thuật làm chủ hoàn toàn hệ thống từ phần cứng đến phần mềm.
Mục lục (Table of Contents)
| Phần | Nội dung chính | Các bước chi tiết |
| I | Quản lý Dự án & Cấu trúc Chương trình | 1. Quản lý file nguồn (.smart) 2. Bảo mật và mật khẩu truy cập 3. Phân tích cấu trúc Program Block (Main, SBR, INT) |
| II | Cấu hình Motion Control Wizard | 4. Khởi tạo Motion Wizard 5. Thiết lập số lượng trục (Axis 0, Axis 1) 6. Cấu hình đơn vị đo lường (Engineering Units/Pulses/mm) 7. Thiết lập I/O (RPS, STP) và giới hạn tốc độ (MAX_SPEED, Jog) |
| III | Tối ưu hóa Chuyển động & Điểm gốc | 8. Cấu hình thời gian tăng/giảm tốc (Motor Time) 9. Thiết lập quy trình tìm điểm gốc (Seek/Search Speed) 10. Cấp phát vùng nhớ V và ánh xạ Components |
| IV | Lập trình Điều khiển Trục (Axis 0 & 1) | 11. Lệnh Home (Về Zero) cho hệ thống 12. Lập trình chế độ chạy tay (Jog) cho Axis 0 & Axis 1 13. Logic khóa chéo và điều kiện an toàn khi vận hành |
| V | Truyền thông Công nghiệp Nâng cao | 14. Cấu hình Modbus RTU (MBUS_CTRL, MBUS_MSG) 15. Thiết lập truyền thông GET/PUT giữa các PLC qua Ethernet 16. Kích hoạt hàm truyền thông trong chương trình chính |
| VI | Xử lý Tín hiệu High Speed Counter (HSC) | 17. Khởi tạo HSC Wizard cho Encoder (HSC 5) 18. Thiết lập chế độ đếm (Counting Mode) và hướng đếm 19. Khởi tạo hàm HSC_INIT bằng xung SM0.1 |
| VII | Kiểm tra & Vận hành | 20. Theo dõi giá trị thực tế và xử lý lỗi truyền thông/vị trí |
HƯỚNG DẪN TỪNG BƯỚC: KIỂM TRA VÀ CẤU HÌNH PLC S7-200 SMART
Chào các bạn, hôm nay mình sẽ hướng dẫn các bạn cách quản lý mã nguồn và cấu hình các thông số chuyển động cho hệ thống máy Booster sử dụng PLC S7-200 SMART.
Bước 1: Quản lý tệp tin nguồn (Source Code)
Trước khi bắt đầu, hãy đảm bảo bạn đã có đầy đủ các tệp tin dự án. Như trong hình, dự án thường bao gồm các file có đuôi .smart.
- PLC1, PLC2, PLC3: Các tệp chương trình cho từng bộ điều khiển tương ứng.
- HMI_2008: Thư mục chứa giao diện màn hình cảm ứng.

Bước 2: Mở dự án và nhập mật khẩu truy cập
Khi mở các file dự án quan trọng, phần mềm thường yêu cầu mật khẩu bảo vệ để tránh việc can thiệp trái phép.
- Nhập mật khẩu:
xxxxxxx(Lưu ý viết đúng chữ hoa, chữ thường và ký tự đặc biệt).
Bước 3: Tìm hiểu cấu trúc chương trình
Sau khi mở dự án, tại mục Program Block, bạn có thể thấy cách tổ chức chương trình rất khoa học:
- Main (OB1): Chương trình chính chạy vòng lặp.
- Subroutines (SBR): Các chương trình con xử lý tác vụ riêng biệt như
ZeroBooster,Calculate,Auto,Alarm,TorqueControl… - Interrupts (INT): Các chương trình ngắt (ví dụ:
INT_0).

Bước 4: Truy cập công cụ Motion Wizard
Để cấu hình các trục động cơ (Servo/Step), bạn cần sử dụng bộ công cụ hỗ trợ:
- Tại cây thư mục bên trái, tìm đến mục Wizards.
- Nhấp đúp chuột vào Motion.

Bước 5: Cấu hình số lượng trục (Axes)
Trong giao diện Motion Control Wizard:
- Hệ thống này đang cấu hình 2 trục chính: Leftside (Axis 0) và Rightside (Axis 1).
- Bạn có thể tùy chọn thêm nhóm trục (Axes group) nếu cần chạy nội suy (Interpolation).

Bước 6: Thiết lập hệ đơn vị đo lường (Measurement System)
Đây là bước cực kỳ quan trọng để máy chạy chính xác:
- Measurement system: Chọn
Engineering Units(Đơn vị kỹ thuật). - Pulses per revolution: 2500 pulses (Số xung cho 1 vòng quay motor).
- Base unit:
mm. - Motion per revolution: 0.0714 mm (Một vòng quay motor đẩy được 0.0714 mm).

Bước 7: Cấu hình tín hiệu đầu vào (Inputs)
Thiết lập các công tắc hành trình và điểm gốc cho trục:
- RPS (Reference Point Switch): Sử dụng địa chỉ đầu vào
I0.5, mức tích cực Cao (High). Đây là tín hiệu để máy xác định vị trí gốc (Home). - STP (Stop Input): Sử dụng địa chỉ
I0.6. Khi có tín hiệu này, trục sẽ dừng lại theo kiểuDecelerated Stop(Dừng giảm tốc).

Bước 8: Thiết lập giới hạn tốc độ (Motor Speed)
Để bảo vệ cơ cấu cơ khí, bạn cần giới hạn tốc độ:
- Maximum Speed (MAX_SPEED): 2.856 mm/s.
- Start/Stop Speed (SS_SPEED): 1.0 mm/s.


Bước 9: Cấu hình tốc độ chạy tay (Jog Speed)
Chế độ Jog giúp người vận hành di chuyển trục thủ công:
- Jog Speed: 2.0 mm/s.
- Jog Increment: 0.5 mm (Mỗi lần nhấn nhấp sẽ di chuyển một khoảng cố định).

Lưu ý: Sau khi thay đổi các thông số trong Wizard, bạn cần nhấn nút Generate để phần mềm tự động cập nhật các chương trình con điều khiển chuyển động vào Program Block, sau đó mới tiến hành Download xuống PLC.
HƯỚNG DẪN CHI TIẾT (PHẦN 2): CẤU HÌNH NÂNG CAO VÀ LỆNH ĐIỀU KHIỂN CHUYỂN ĐỘNG
Sau khi đã xong các bước cơ bản, chúng ta sẽ đi sâu vào việc tối ưu hóa chuyển động và lập trình thực tế cho các trục.
Bước 11: Cấu hình thời gian tăng/giảm tốc (Motor Time)
Để máy vận hành êm ái, tránh bị rung lắc hoặc sụt áp khi khởi động nhanh:
- Acceleration Time: Thiết lập thời gian để motor đạt từ tốc độ nghỉ lên tốc độ tối đa (ví dụ: 500 ms).
- Deceleration Time: Thời gian giảm tốc về 0. Việc cấu hình đúng giúp bảo vệ hộp số và cơ cấu cơ khí.

Bước 12: Thiết lập điểm gốc (Reference Point)
Điểm gốc là “tọa độ 0” của máy. Trong mục này:
- Chọn hướng tìm gốc (Selection of Search Direction): Theo chiều thuận hoặc nghịch.
- Reference Point Location: Thiết lập giá trị tọa độ mặc định tại vị trí công tắc Home (thường để là 0.0 mm).

Bước 13: Cấu hình tốc độ tìm gốc (Seek & Search Speed)
Tốc độ tìm gốc cần chia làm 2 giai đoạn để đảm bảo độ chính xác:
- Search Speed: Chạy nhanh để tìm vùng có công tắc Home.
- Approach Speed: Chạy rất chậm khi đã chạm công tắc để xác định vị trí dừng chính xác nhất.

Bước 14: Cấp phát vùng nhớ (Memory Allocation)
Mỗi trục trong Motion Wizard cần một vùng nhớ (V memory) để lưu trữ các tham số cấu hình:
- Nhấn vào nút Suggest Address để phần mềm tự động tìm vùng nhớ trống (ví dụ: từ VB10000).
- Đảm bảo không trùng lặp vùng nhớ với các chương trình khác trong PLC.

Bước 15: Kiểm tra thành phần và Tổng hợp (Components)
Trước khi xuất lệnh, Wizard sẽ hiển thị danh sách các chương trình con (Subroutines) sẽ được tạo ra như: AXIS0_CTRL, AXIS0_GOTO, AXIS0_HOME… Đây là các “công cụ” chính để bạn lập trình sau này.

Bước 16: Ánh xạ cấu hình (Mapping)
Bước này xác nhận việc kết nối giữa cấu hình phần mềm và phần cứng thực tế (chân phát xung PTO). Sau khi kiểm tra mọi thứ đã khớp, nhấn Generate để hoàn tất quá trình Wizard.

Bước 17: Lập trình lệnh về Zero (Home) cho Axis 0
Sử dụng khối lệnh AXIS0_HOME (SBR0) trong chương trình:
- Kích hoạt chân
ENvà chânExecuteđể bắt đầu quá trình tìm gốc. - Theo dõi chân
Doneđể biết khi nào máy đã về vị trí Zero thành công.

Bước 18: Lập trình lệnh chạy tay (Jog) cho Axis 0
Để di chuyển trục thủ công từ tủ điện hoặc HMI:
- Sử dụng lệnh
AXIS0_JOG. - Kết nối các nút nhấn tiến/lùi vào chân
Jog_P(Positive) vàJog_N(Negative). Tốc độ chạy tay sẽ lấy theo giá trị đã cấu hình ở Bước 10.

Bước 19: Kiểm tra trạng thái và Logic Jog
Trong bảng trạng thái hoặc đoạn code Logic, bạn cần quan sát các tiếp điểm như M3.6, M7.4 để đảm bảo lệnh Jog chỉ thực hiện khi máy không ở trạng thái lỗi và các điều kiện an toàn đã thỏa mãn.

Bước 20: Lập trình lệnh về Zero cho Axis 1
Tương tự như Axis 0, nhưng bạn sẽ sử dụng khối lệnh dành riêng cho trục 1 (thường là AXIS1_HOME):
- Đảm bảo địa chỉ vùng nhớ và các chân I/O không xung đột với trục 0.
- Việc tách biệt hai lệnh này giúp bạn có thể cho hai trục về gốc đồng thời hoặc độc lập tùy theo quy trình công nghệ của máy.

Lời khuyên: Sau khi Generate xong, đừng quên nạp lại cấu hình hệ thống (System Block) và các chương trình con mới vào PLC thì các lệnh trên mới có thể hoạt động chính xác.
HƯỚNG DẪN CHI TIẾT (PHẦN 3): LẬP TRÌNH TRỤC 1 VÀ TRUYỀN THÔNG ĐA BIẾN TẦN/PLC
Bước 21: Lập trình lệnh chạy tay (Jog) cho Axis 1
Tương tự như Axis 0, bạn cần cấu hình lệnh Jog cho trục còn lại để đảm bảo việc vận hành thủ công diễn ra trơn tru.
- Sử dụng khối lệnh
AXIS1_JOG(thường nằm trong các chương trình con SBR đã tạo từ Wizard). - Kết nối các biến điều khiển từ màn hình HMI hoặc nút nhấn vật lý vào chân
Jog_P(Tiến) vàJog_N(Lùi).

Bước 22: Thiết lập Logic an toàn cho lệnh Jog Axis 1
Để tránh việc motor chạy khi máy đang gặp lỗi, bạn cần chèn thêm các tiếp điểm thường đóng/mở làm điều kiện khóa chéo:
- Kiểm tra các bit trạng thái như
M3.1(Sẵn sàng) hoặc các biến báo lỗi hệ thống trước khi cho phép lệnhJoghoạt động. Điều này giúp bảo vệ máy khi người vận hành nhấn nhầm.

Bước 23: Cấu hình truyền thông Modbus RTU (MBUS_CTRL)
Để PLC có thể điều khiển các thiết bị ngoại vi như biến tần hoặc đọc dữ liệu từ cảm biến thông qua chuẩn RS485:
- Gọi hàm
MBUS_CTRLtrong chương trình chính (OB1). - Baud: Thiết lập tốc độ truyền (ví dụ: 9600).
- Parity: Chọn chế độ kiểm tra chẵn lẻ phù hợp với thiết bị slave.
- Timeout: Thiết lập thời gian chờ để xử lý lỗi mất kết nối.



Bước 24: Khởi tạo vùng nhớ cho Modbus
Sử dụng hàm MBUS_MSG để thực hiện việc đọc hoặc ghi dữ liệu xuống các thanh ghi của thiết bị slave:
- Xác định địa chỉ Slave (Slave ID).
- Chọn mã hàm (RW: 0 cho đọc, 1 cho ghi).
- Chỉ định vùng nhớ đệm trong PLC để lưu trữ dữ liệu trao đổi.
Bước 25: Hoàn tất cấu hình Modbus trong Wizard
Nếu bạn sử dụng công cụ Wizard để cấu hình Modbus, hãy đảm bảo rằng các thông số về cổng COM và tốc độ đã khớp hoàn toàn với thiết bị thực tế. Nhấn nút Generate để phần mềm tạo ra các khối lệnh điều khiển tự động.
Bước 26: Thiết lập truyền thông GET/PUT giữa 2 PLC
Đây là phương pháp cực kỳ hiệu quả để 2 PLC S7-200 SMART trao đổi dữ liệu qua cổng Ethernet (Profinet):

- Mở công cụ GET/PUT Wizard.
- Cấu hình địa chỉ IP của PLC đối tác (Remote IP Address).
- Thiết lập vùng dữ liệu cần đọc (GET) hoặc cần ghi (PUT) giữa hai trạm.
Bước 27: Kích hoạt hàm truyền thông trong chương trình chính
Sau khi cấu hình xong trong Wizard, phần mềm sẽ tạo ra một hàm con (ví dụ: NET_EXE).
- Bạn phải gọi hàm này trong
Main (OB1)và cấp tín hiệu kích hoạt (sử dụng xung hoặc tiếp điểmAlways_On) để quá trình trao đổi dữ liệu diễn ra liên tục.

Bước 28: Kiểm tra trạng thái truyền thông (Error Check)
Cuối cùng, hãy quan sát các chân Error và Done của các khối lệnh truyền thông:
- Nếu
Error = 0: Truyền thông đang hoạt động ổn định. - Nếu xuất hiện mã lỗi: Kiểm tra lại sơ đồ đấu dây hoặc địa chỉ IP giữa các thiết bị.
HƯỚNG DẪN CHI TIẾT (PHẦN 4): CẤU HÌNH BỘ ĐẾM TỐC ĐỘ CAO (HSC)
Khi làm việc với các hệ thống cần độ chính xác cao, việc cấu hình HSC là bắt buộc để xử lý các xung tốc độ cao mà các ngõ vào số thông thường không đáp ứng được.
Bước 29: Truy cập High Speed Counter Wizard
Tại cây thư mục dự án bên trái, bạn tìm đến mục Wizards và nhấp đúp vào High Speed Counter. Giao diện giới thiệu sẽ hiện ra, nhấn Next để bắt đầu.

Bước 30: Chọn bộ đếm cần cấu hình
Trong danh sách các bộ đếm từ HSC0 đến HSC5:
- Hệ thống này đang sử dụng HSC 5. Bạn tích chọn vào HSC 5 để tiến hành thiết lập các thông số riêng cho bộ đếm này.

Bước 31: Thiết lập chế độ đếm (Counter Mode)
Đây là bước quyết định cách PLC nhận diện xung:
- Chọn Mode 0: Đếm một pha (Single phase) với điều khiển hướng đếm bằng phần mềm.
- Tùy thuộc vào loại Encoder (A/B phase hay Single phase) mà bạn sẽ chọn chế độ phù hợp tại đây.

Bước 32: Cấu hình hướng đếm (Counting Direction)
Bạn có thể thiết lập hướng đếm mặc định:
- Add (Đếm tăng): Giá trị đếm tăng dần khi nhận xung.
- Subtract (Đếm giảm): Giá trị đếm giảm dần. Thông số này thường được điều khiển linh hoạt qua các bit trong chương trình.

Bước 33: Thiết lập giá trị ban đầu và giá trị đặt
- Current Value: Giá trị bắt đầu khi bộ đếm khởi chạy (thường để là 0).
- Preset Value: Giá trị đặt. Khi bộ đếm đạt đến con số này, PLC có thể kích hoạt một sự kiện ngắt (Interrupt) để xử lý tác vụ ngay lập tức.

Bước 34: Cấp phát địa chỉ vùng nhớ (Memory Allocation)
Tương tự như Motion Wizard, HSC cần một vùng nhớ đệm để lưu trữ cấu hình:
- Nhấn Suggest Address để phần mềm tự cấp phát vùng nhớ V (ví dụ: bắt đầu từ VB2000) đảm bảo không trùng lặp với dữ liệu khác.


Bước 35: Xác nhận các thành phần (Components)
Wizard sẽ tổng kết lại các đầu vào I/O vật lý được sử dụng (ví dụ: I0.3 cho HSC 5). Hãy đảm bảo bạn đã đấu nối dây Encoder đúng vào các chân này trên PLC.
Bước 36: Hoàn tất cấu hình và Xuất lệnh
Sau khi kiểm tra kỹ các thông số, nhấn Generate. Phần mềm sẽ tạo ra chương trình con (Subroutine) có tên HSC_INIT để khởi tạo bộ đếm.
Bước 37: Gọi hàm khởi tạo trong chương trình chính

Mở chương trình Main (OB1):
- Kéo khối lệnh
HSC_INIT(thường là SBR1 hoặc SBR2 tùy thứ tự tạo) vào Network đầu tiên. - Sử dụng tiếp điểm
SM0.1(First Scan) để đảm bảo bộ đếm chỉ được khởi tạo một lần duy nhất khi PLC bắt đầu Run.
Bước 38: Kiểm tra kết quả cấu hình
Sau khi nạp chương trình xuống PLC:
- Bạn có thể xem trực tiếp giá trị xung tại ô nhớ đệm đã thiết lập.
- Như hình minh họa cuối cùng, sau khi cấu hình thành công, bộ đếm HSC 5 sẽ hiển thị trạng thái hoạt động và sẵn sàng cung cấp dữ liệu tọa độ cho hệ thống điều khiển.

Kết luận: Qua 4 phần hướng dẫn, chúng ta đã đi từ việc mở mã nguồn, cấu hình trục chuyển động, thiết lập truyền thông đến đọc tín hiệu Encoder. Việc kết hợp nhuần nhuyễn các công cụ Wizard này sẽ giúp bạn xây dựng một hệ thống máy tự động hóa chuyên nghiệp và ổn định.