Trong công nghiệp, người ta sử dụng các bộ chuyển đổi chuyên dụng để nhận biết vị trí, góc quay của động cơ gọi tắt là Encoder.
Những tín hiệu trả về từ Encoder là những tín hiệu xung tốc độ cao, tuy nhiên các bộ đếm thường được tích hợp sẵn trên CPU không thể giải quyết được bài toán của chúng ta, để xử lý những xung tốc độ cao chúng ta phải sử dụng các bộ đếm tốc độ cao (HSC - High Speed Counter) của module chuyên dụng cho các Encoder.
Làm thế nào để có thể điều khiển vị trí động cơ, vận tốc động cơ ... thì với chức năng on/off thì chỉ cho chạy hoặc dừng. Để làm được những chức năng trên thì trong công nghiệp chúng ta phải sử dụng các bộ điều khiển chuyên dụng hoặc có thể sử dụng bộ phát xung tốc độ cao PWM, PTO để điều khiển tốc độ động cơ.
a. Xung PTO (Pulse Train Output)
PTO (Pulse Train Output) là 1 chuỗi xung ngỏ ra với độ rộng xung ON là 50% của chu kì. Rất phù hợp cho việc điều khiển động cơ bước hay servo.
Nhóm chọn điều khiển động cơ bước vì xung PTO ta có thể điều chỉnh được nhiều đặc tính:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 73
Tốc độ max.
Tốc độ min.
Thời gian tăng tốc.
Thời gian giảm tốc.
b. Cấu hình bộ phát xung PTO
Tạo một đối tượng Technology object
Chọn project tree Technology object Add New object
Chọn Axis OK để mở giao diện cấu hình cho Axis object. Tại đây người dùng sẽ cấu hình và các thuộc tính cơ bản, các thuộc tính mở rộng, quá trình tăng tốc, giảm tốc cho driver...
Lập trình chương trình ứng dụng theo người dùng
Gọi lệnh MC_Power để cho phép chế độ phát xung PTO được kích hoạt. Tham số Axis là đối tượng Axis technology đã được người dùng khởi tạo và cấu hình trước đó. Tham số Enable cho phép các lệnh Motion khác hoạt động và thực hiện chức năng tương ứng.
Gọi thêm các lệnh Motion khác để thực hiện các chức năng theo ứng dụng hệ
thống.
Chú ý:
Một tập lệnh MC_Power được sử dụng tương ứng với một đối tượng Axis Technology.
Với CPU S7-1200 có các version: V1.0, V2.0, V2.2 chỉ có 2 kênh phát xung. Với những version V3.0 trở lên thì CPU có 4 kênh phát xung.
Cấu hình Axis
Step 7 hỗ trợ những công cụ bổ trợ cho Axis technology object như: Configuration, Commissioning, Diagnostic.
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 74
Hình 4. 10: Cấu hình Axis
Với những CPU có firmware nhỏ hơn V2.2 thì khi cấu hình hoạt động PTO thì các HSC tương ứng không được sử dụng cho mục đích khác. Có nghĩa là, nếu PTO1 được kích hoạt thì nó sẽ tự động kết nối với HSC1 và người dùng không thể giám sát giá trị ID1000 khi xung đang phát.
Với những CPU có firmware lớn hơn V3.0 thì các bộ HSC vẫn có thể được cấu hình theo ứng dụng nào đó kể cả khi xung PTO cấu hình trong CPU.
Bảng 4. 2: Những công cụ hỗ trợ của step 7 cho Motion control
Công cụ hỗ trợ Miêu tả
Configuration
Cho phép cấu hình cho các thuộc tính của Axis Technology như sau:
Lựa chọn PTO để sử dụng và cấu hình cho giao tiếp với driver.
Thuộc tính về cơ cấu cơ khí (truyền động) và truyền các tham số ratio của driver.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 75
Các thuộc tính giới hạn vị trí trên/dưới, chuyển động và vị trí gốc.
Commissioning
Chức năng cho kiểm tra trạng thái của Axis. Khi công cụ được cho phép hoạt động thì bảng điều khiển sẽ hiển thị và cho người dùng thực hiện commissioning Axis:
Bật/tắt hoạt động của Axis.
Thực hiện chuyển động Axis trong chế độ Jog.
Điều khiển vị trí Axis trong chế độ chính xác hoàn toàn - Absolute hay chế độ tương đối - Relative.
Vị trí gốc - Home axis.
Xác định lỗi xảy ra.
Những thuộc tính về vận tốc, tăng/giảm tốc có thể thay đổi thông qua các tập lệnh Motion.
Diagnostic Cho phép hiển thị trạng thái lỗi và thông tin lỗi của Axis và driver.
Chế độ Configuration của Axis Technology
Sau khi người dùng tạo đối tượng Axis Technology, người dùng có thể cấu hình Axis bằng cách khai báo các tham số cơ bản như PTO và cấu hình giao tiếp với driver, hoặc người dùng có thể cấu hình các thuộc tính khác của Axis như giới hạn vị trí, chuyển động - Dynamics và vị trí gốc - Homing.
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 76
Hình 4. 11: Chế độ Configuration
Cấu hình thuộc tính cho tín hiệu để driver thực hiện, phần cơ khí và chuyển động của driver, cũng như giám sát vị trí giới hạn trên/dưới cho cả hardware và software.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 77
Cấu hình cho chuyển động motion và trạng thái dừng khẩn cấp - Emergency Stop.
Hình 4. 13: Cấu hình cho chuyển động Motion
Người dùng cũng có thể cấu hình trạng thái về vị trí gốc (passive và active).
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 78
Chế độ Commissioning của Axis Technology
Chọn biểu tượng “startup” để thực hiện chế độ commissioning cho đối tượng Axis Technology. Chức năng cho kiểm tra trạng thái của Axis. Khi công cụ được cho phép hoạt động thì bảng điều khiển sẽ hiển thị và cho người dùng thực hiện Commissioning Axis:
Bật/tắt hoạt động của Axis.
Thực hiện chuyển động Axis trong chế độ Jog.
Điều khiển vị trí Axis trong chế độ chính xác hoàn toàn - Absolute hay chế độ tương đối - Relative.
Vị trí gốc - Home axis.
Xác định lỗi xảy ra.
Những thuộc tính về vận tốc, tăng/giảm tốc có thể thay đổi thông qua các tập lệnh Motion.
Các tập lệnh điều khiển vị trí.
Các tập lệnh Motion control được sử dụng để chỉnh sửa/nhập các thông số cho đối tượng Axis technology và xuất xung PTO để điều khiển chuyển động motion cho Axis.
Lệnh MC_Power
Lệnh MC_Power cho phép Axis tắt hoặc mở. Trước khi người dùng có thể tắt mở Axis khi chắc chắn thỏa mãn những điều kiện sau:
Đối tượng Technology đã được cấu hình một cách chính xác.
Lệnh không được hủy trong quá trình thực hiện nhiệm vụ Motion control. Khi lệnh được ngắt (Enable = False) thì tất cả tập lệnh khác dành cho Motion control sẽ dừng không điều khiển đối tượng Axis nữa.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 79
Bảng 4. 3: Tham số cho tập lệnh MC_Power
Tham số Khai báo Kiểu dữ liệu Miêu tả
Axis IN TO_Axis_1 Đối tượng Axis Technology.
Enable IN BOOL
FALSE (mặc định): Axis sẽ chuyển sang trạng thái Stop và phụ thuộc cấu hình của tham số “StopMode”.
TRUE: Cho phép Axis hoạt động.
StopMode IN INT
0 = Emergency stop - dừng khẩn cấp: khi tín hiệu Enable = 0 thì Axis sẽ thắng servo/step theo cấu hình dừng khẩn cấp trong bảng trạng thái. Axis sẽ tắt khi hoàn thành tới trạng thái Standstill.
1 = Immediate stop: Ngõ ra sẽ dừng phát xung ngay lập tức.
2 = Emergency stop with jerk control: khi tín hiệu Enable = 0 thì Axis sẽ thắng servo/step theo cấu hình dừng khẩn cấp trong bảng trạng thái. Nếu chức năng điều khiển Jerk được kích hoạt thì cấu hình Jerk taken into account. Axis sẽ tắt khi hoàn thành tới trạng thái Standstill.
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 80
TRUE: Axis hoạt động.
Busy OUT BOOL
TRUE: MC_Power được kích hoạt.
FALSE: MC_Power không được kích hoạt.
Error OUT BOOL
FALSE: Không có lỗi.
TRUE: Có lỗi xảy ra khi gọi lệnh MC_Power hay do đối tượng Axis technology, người dùng có thể kiểm tra lại thông số ErrorID và ErrorInfo.
ErrorID OUT WORD Mã lỗi trả về cho tham số Error.
ErrorInfo OUT WORD Thông tin mã lỗi trả về cho tham số Error.
Để cho phép Axis hoạt động và giao tiếp với Driver cần phải thực hiện theo những bước sau đây:
Kiểm tra yêu cầu chỉ thị ở trên.
Khởi tạo tham số StopMode với 1 trong 3 giá trị: 0, 1, 2 và cài đặt tham số Enable = True.
Ngõ ra Driver Enable = True để có thể cấp phép hoạt động cho Driver và chờ tín hiệu Driver ready của Driver trả về.
Khi tín hiệu Driver ready = True thì Axis được bật và bắt đầu hoạt động. Ngõ ra trạng thái “status” và Tag <Axis_name>.StatusBits.Enable = TRUE.
Để tắt Axis thực hiện các bước sau:
Cài đặt Axis tới trạng thái Standstill trong cấu hình Axis technology.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 81
Nếu ngõ ra “Busy” và “Status” = False thì quá trình tắt Axis hoàn thành. Nếu Axis ngừng hoạt động bởi một lỗi thì nó sẽ tự hoạt động trở lại sau khi được xác nhận lỗi xảy ra. Để thực hiện điều đó thì tham số Enable phải được lưu trữ lại và luôn trong trạng thái True.
Lệnh MC_Reset
Nếu một lỗi xảy ra dược phát hiện, thì lỗi đó sẽ được reset và xác nhận bởi xung cạnh lên tại tham số Execute của khối MC_Reset.
Người dùng nên kiểm tra trạng thái lỗi và thông tin lỗi tại tham số ErrorID và ErrorInfo để biết và tránh lỗi xảy ra trước khi xác nhận lỗi.
Chú ý:
Lệnh MC_Reset không thực hiện ngắt bất kỳ nhiệm vụ Motion control nào hết mà chỉ xác nhận lỗi xảy ra để Motion Control tiếp tục thực hiện.
Bảng 4. 4: Tham số cho tập lệnh MC_Reset.
Tham số Khai báo Kiểu dữ liệu Miêu tả
Axis IN TO_Axis_1 Đối tượng Axis Technology.
Execute IN BOOL
Xác nhận lỗi với tín hiệu xung cạnh lên.
Restart IN BOOL
TRUE = Download cấu hình Axis từ vùng nhớ Load memory đến vùng nhớ Work memory của CPU.Lệnh chỉ được thực hiện khi Axis tắt.
FALSE = Xác nhận lỗi xảy ra.
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 82
Busy OUT BOOL TRUE: Nhiệm vụ đã được thực thi.
Error OUT BOOL
TRUE: Lỗi xảy ra và có thể kiểm tra dựa vào tham số ErrorID và ErrorInfo.
ErrorID OUT WORD Mã lỗi trả về cho tham số Error.
ErrorInfo OUT WORD Thông tin mã lỗi trả về cho tham số Error.
Để xác nhận lỗi xảy ra với MC_Reset cần phải thực hiện các bước sau:
Kiểm tra lại các yêu cầu chỉ thị ở trên.
Xác nhận lỗi xảy ra với xung cạnh lên tại tham số Execute.
Khi lỗi được xác nhận thì tham số Done = TRUE và tag <Axis name>.StatusBits.Error = FALSE.
Lệnh MC_Home
Sử dụng lệnh MC_Home để thực hiện việc đưa vị trí của Driver vể vị trí gốc ban đầu, nhằm đảm bảo cho Axis hoạt động chính xác trong hoạt động điều khiển, với chế độ điều khiển vị trí chính xác hoàn toàn -Absolute.
Để có thể sử dụng tập lệnh MC_Home thì Axis phải ở trạng thái hoạt động.
Các chế độ Home được xác định như sau:
Mode 0 = Direct homing absolute: vị trí mới của Axis được cài đặt tại giá trị của tham số Position.
Mode 1 = Direct homing relative: vị trí mới của Axis là vị trí hiện tại của Axis + giá trị tại tham số Position.
Mode 2 = Passive homing: Lệnh thực hiện tìm kiếm vị trí Home theo cấu hình Passive của Axis.
Mode 3 = Active homing: Lệnh thực hiện tìm kiếm vị trí Home theo cấu hình Active của Axis.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 83
Bảng 4. 5: Tham số cho tập lệnh MC_Home
Tham số Khai báo Kiểu dữ liệu Miêu tả
Axis IN TO_Axis_1 Đối tượng Axis Technology.
Execute IN BOOL Xác nhận lệnh với tín hiệu xung cạnh lên.
Position IN READ
Mode 0, 2, 3: Vị trí chính xác của Axis là sau khi thực hiện xong trạng thái tìm kiếm vị trí gốc- Homing.
Mode 1: Giá trị chính xác với vị trí hiện tại của Axis.
Mode IN INT
Mode 0 = Direct homing absolute.
Mode 1 = Direct homing relative.
Mode 2 = Passive homing.
Mode 3 = Active homing.
Done OUT BOOL TRUE: Homing được thực thi. Busy OUT BOOL TRUE: Nhiệm vụ đã được thực thi.
Command Aborted
OUT BOOL TRUE: Quá trình thực thi bị ngắt bởi một nhiệm vụ khác.
Error OUT BOOL TRUE: Lỗi xảy ra
ErrorID OUT WORD Mã lỗi trả về cho tham số Error.
ErrorInfo OUT WORD Thông tin mã lỗi trả về cho tham số Error.
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 84
Chú ý: Vị trí gốc bị mất do một số lý do sau:
Tắt hoạt động của lệnh MC_Power.
Chuyển đổi từ chế độ Auto sang chế độ manual.
Sau khi thực hiện Restart CPU.
Để thực hiện đưa Axis về vị trí gốc thực hiện các bước sau:
Kiểm tra các điều kiện chỉ thị ở trên.
Khởi tạo các tham số cần thiết cho hoạt động về vị trí gốc trong cấu hình Axis và kích xung cạnh lên cho tham số Execute.
Khi tham số Done và <Axis name> StatusBits.HomingDone = TRUE thì hoàn thành việc tìm kiếm vị trí gốc.
Lệnh MC_Halt
Lệnh MC_Halt sử dụng để dừng tất cả các chuyển động Motion và đưa Axis sang trạng thái Standstill. Để lệnh thực hiện được thì Axis phải đang hoạt động.
Bảng 4. 6: Tham số cho tập lệnh MC_Halt
Tham số Khai báo Kiểu dữ liệu Miêu tả
Axis IN TO_Axis_1 Đối tượng Axis Technology.
Execute IN BOOL Xác nhận lệnh với tín hiệu xung cạnh lên.
Done OUT BOOL TRUE: Vận tốc bằng 0
Busy OUT BOOL TRUE: Nhiệm vụ đã được thực thi.
Command
Aborted OUT BOOL
TRUE: Quá trình thực thi bị ngắt bởi một nhiệm vụ khác.
Error OUT BOOL TRUE: Lỗi xảy ra
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 85
ErrorInfo OUT WORD Thông tin mã lỗi trả về cho tham số Error.
Chú ý: Các lệnh MC_Home ở Mode 3, MC_MoveAbsolute, MC_MoveRelative, MC_MoveVelocity, MC_MoveJog đều có thể ngắt và bị ngắt bởi MC_Halt.
MC_MoveAbsolute
Lệnh MC_MoveAbsolute thực hiện chuyển động Motion cho Axis tới vị trí chính xác hoàn toàn. Để thực hiện được lệnh này cần phải đưa Axis về vị trí gốc.
Bảng 4. 7: Tham số cho tập lệnh MC_MoveAbsolute
Tham số Khai báo Kiểu dữ liệu Miêu tả
Axis IN TO_Axis_1 Đối tượng Axis Technology.
Execute IN BOOL
Xác nhận lệnh với tín hiệu xung cạnh lên. Position IN READ Vị trí đến được cài đặt. -1.0e12 ≤ Position≤1.0e12 Velocity IN INT Vận tốc của Axis ( mặc định là 10.0), vận tốc này đã được cấu hình tăng/giảm tốc trong cấu hình của Axis cho tới khi tìm ra vị trí đến đã được cài đặt.
Vận tốc Start/stop ≤ vận tốc ≤ Max.
Done OUT BOOL TRUE: Đã tìm được vị trí chính xác. Busy OUT BOOL TRUE: Nhiệm vụ đã được thực thi.
Chương 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 86
Command Aborted
OUT BOOL TRUE: Quá trình thực thi bị ngắt bởi một nhiệm vụ khác.
Error OUT BOOL TRUE: Lỗi xảy ra
ErrorID OUT WORD Mã lỗi trả về cho tham số Error.
ErrorInfo OUT WORD Thông tin mã lỗi trả về cho tham số Error.
Lệnh MC_MoveRelative
Lệnh MC_MoveRelative sử dụng để di chuyển Axis tới vị trí tương đối so với vị trí ban đầu trước khi kích hoạt lệnh, hay đơn giản hơn: Vị trí Motion Relative = vị trí hiện tại + giá trị cài đặt của Distance. Để lệnh có thể thực hiện thì Axis cần phải được bật.
Bảng 4. 8: Tham số cho tập lệnh MC_MoveRelative
Tham số Khai báo Kiểu dữ liệu Miêu tả
Axis IN TO_Axis_1 Đối tượng Axis Technology. Execute IN BOOL Xác nhận lệnh với tín hiệu xung
cạnh lên.
Distance IN READ
Vị trí đến được cài đặt.
-1.0e12 ≤ Distance ≤1.0e12
Velocity IN INT
Vận tốc của Axis (mặc định là 10.0)
Vận tốc Start/ stop ≤ vận tốc ≤ Max.