Giáo trình PLC nâng cao với mục tiêu giúp cho các đối tượng học sinh, sinh viên học nghề có thể tiếp cận dễ dàng hơn những kiến thức nâng cao bộ điều khiển khả trình này qua đó có thể ứng dụng giải quyết những bài toán phức tạp hơn trong tương lai.
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ HÀ TĨNH
GIÁO TRÌNH PLC NÂNG CAO
Hà Tĩnh, năm 2020
Trang 2TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm
Trang 3LỜI GIỚI THIỆU
Tự động hóa công nghiệp và dân dụng ngày càng phát triển Bộ não trong các hệ thống tự động hóa đó là các bộ điều khiển lập trình.Việc học tập nghiên cứu các bộ điều khiển lập trình cũng như vận hành nó đang là nhu cầu cấp thiết đối với học sinh, sinh viên các ngành kỹ thuật Và quyển giáo trình PLC cơ bản trước đó của tác giả đã
ra đời nhằm mục đích tạo ra một tài liệu học tập về loại PLC thế hệ mới của Siemens đáp ứng nhu cầu của học sinh và sinh viên
Tuy nhiên những kiến thức ở quyển giáo trình PLC cơ bản chưa giải quyết được hết những bài toán phức tạp đặt ra trong thực tiễn Vì vậy quyển giáo trình này ra đời với mục tiêu giúp cho các đối tượng học sinh, sinh viên học nghề có thể tiếp cận dễ dàng hơn những kiến thức nâng cao bộ điều khiển khả trình này qua đó có thể ứng dụng giải quyết những bài toán phức tạp hơn trong tương lai
Tài liệu này được chia làm 4 bài, giới thiệu các kiến thức nâng cao về PLC và HMI của Siemens Mỗi bài ngoài phần lý thuyết cơ bản còn bổ sung thêm các ví dụ minh họa và các bài toán điều khiển ngoài thực tế giúp cho học sinh sinh viên nắm rõ hơn
về loại PLC và HMI này Dù đã rất cố gắng tuy nhiên tài liệu không thể tránh khỏi những sai sót Rất mong sự góp ý chân thành của quý đọc giả để giúp tài liệu ngày càng hoàn thiện hơn Mọi ý kiến góp ý xin được gửi về địa chỉ email dosinguyenbkdn@gmail.com Xin chân thành cảm ơn
Hà Tĩnh, ngày 20 tháng 05 năm 2020
Tham gia biên soạn
Đỗ Sĩ Nguyên - Chủ biên
Trang 4CHƯƠNG TRÌNH MÔ ĐUN
Tên mô đun: PLC nâng cao
Mã mô đun: MĐ18
Thời gian thực hiện mô đun: 60 giờ; (Lý thuyết: 15 giờ; Thực hành, thí nghiệm, thảo luận, bài tập: 43 giờ; Kiểm tra: 2 giờ)
I Vị trí, tính chất của mô đun:
- Vị trí: Mô đun PLC nâng cao được thực hiện sau khi sinh viên đã học xong tất
cả các môn học mô đun cơ sở và chuyên môn nghề liên quan như: Trang bị điện, PLC
cơ bản, Kỹ thuật cảm biến, Lắp và cài đặt biến tần
- Tính chất: Là mô đun trong phần chuyên môn nghề
II Mục tiêu mô đun:
- Về kiến thức:
Trình bày được nguyên lý điều khiển động cơ KĐB 3 pha thông qua PLC
và biến tần bằng tín hiệu số hoặc tín hiệu Analog;
- Về kỹ năng:
Thiết kế được giao diện điều khiển bằng HMI;
Lắp đặt và lập trình được các mạch điện điều khiển động cơ KĐB 3 pha thông qua PLC và biến tần bằng tín hiệu số hoặc tín hiệu Analog;
Cài đặt được các tham số của biến tần;
Sửa chữa được những lỗi phát sinh trong quá trình hoàn thiện sản phẩm;
- Năng lực tự chủ và trách nhiệm: Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình thực hành
III Nội dung mô đun:
1 Nội dung tổng quát và phân phối thời gian:
Thực hành, thí nghiệm, thảo luận, bài tập
Kiểm tra
1
Bài 1: Màn hình điều khiển HMI 12 3 9
1 Tổng quan về màn hình điều khiển
HMI
2 Thiết kế giao diện HMI
2.1 Button
2.2 Switch
Trang 51 Lập trình với chương trình con FC
2 Khối dữ liệu Data Block
3 Lập trình với chương trình con FB
3
1.Giới thiệu về tín hiệu Analog
2 Đấu nối tín hiệu Analog
3 Lập trình xử lý tín hiệu Analog
3.1 Lập trình đọc tín hiệu Analog
3.2 Lập trình xuất tín hiệu Analog
4
Bài 4 : Lập trình điều khiển động
1 Giới thiệu về biến tần
2 Các phương pháp điều khiển biến
Trang 6BÀI 1: MÀN HÌNH ĐIỀU KHIỂN HMI
I Mục tiêu bài học
- Trình bày được các bước thiết lập một dự án lập trình sử dụng HMI trên phần
mềm Tia Portal;
- Thiết lập được một dự án lập trình sử dụng HMI trên phần mềm Tia Portal;
- Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình
II Nội dung
1 Tổng quan về màn hình điều khiển HMI
1.1 Định nghĩa
- HMI là từ viết tắt của Human-Machine-Interface, nghĩa là thiết bị giao tiếp giữa
người điều hành và máy móc thiết bị Nói một cách chính xác, bất cứ cách nào mà con người “giao tiếp” với một máy móc qua 1 màn hình giao diện thì đó là một HMI
Giám sát, thu thập, báo cáo và lưu trữ các dữ liệu sản xuất của nhà máy nhằm
hỗ trợ việc quản lý và khai thác một cách hiệu quả các máy sản xuất đóng góp vào việc tăng hiệu suất cũng như chất lượng của sản phẩm;
Hỗ trợ cảnh báo các sự cố có thể xảy ra cho người vận hành, giúp cho quá trình bảo trì và bảo dưỡng diễn ra thuận lợi
Đảm bảo tính an toàn trong vận hành sản xuất…
1.3 Phân loại
HMI thường có hai loại chính đó là:
HMI trên nền tảng PC, đó là các màn hình máy tính hiển thị giao diện điều khiển giám sát trong hệ thống SCADA hoặc DCS;
HMI trên nền tảng nhúng, đó là các màn hình điều khiển giám sát riêng lẻ đặt trên tủ điện
Trang 7- Lập trình được một chương trình PLC sử dụng chương trình con FB/FC;
- Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình
II Nội dung
1 Hệ điều hành và chương trình ứng dụng
Mỗi CPU có chứa một hệ điều hành để tổ chức và quản lý việc thực thi chương trình, trình tự hoạt động của CPU sẽ độc lập với các tác vụ điều khiển Nhiệm vụ của
hệ điều hành thực hiện các công việc sau:
Thực hiện warm restart
Cập nhật bộ nhớ process image của ngõ vào và ngõ ra
Thực hiện chương trình chính
Thực thi chương trình ngắt khi gặp sự kiện ngắt
Phát hiện và xử lý các lỗi xảy ra
Quản lý các vùng nhớ
Chương trình chính được tạo ra để thực hiện tác vụ cần điều khiển Nhiệm vụ
của chương trình chính như sau:
Kiểm tra các điều kiện để thực hiện warm restart bằng khối khởi động
Thực thi các nhiệm vụ trong chương trình
Thực thi các chương trình ngắt khi gặp sự kiện ngắt
Trang 8 Xử lý các lỗi xảy ra khi thực hiện chương trình
2 Khối tổ chức (Organization Block)
Khối tổ chức tạo ra giao tiếp giữa hệ điều hành và chương trình ứng dụng.Nó được gọi từ hệ điều hành và thực hiện các nhiệm vụ sau:
Xử lý chương trình theo chu kỳ(Ví dụ như OB1)
Startup characteristics of the controller
Xử lý chương trình ngắt
Xử lý các lỗi phát sinh
Mỗi project cần có tối thiểu một khối tổ chức (OB1)
Khi một sự kiện xảy ra, trình tự hoạy động của các khối OB cs thể xảy ra như sau:
Nếu một OB đã được gán cho sự kiện, sự kiện này sẽ kích hoạt việc thực thi
OB được gán Nếu mức độ ưu tiên của OB được gán lớn hơn mức ưu tiên của
OB hiện đang được thực thi, thì nó được thực thi ngay lập tức (ngắt) Nếu không, OB được gán sẽ đợi cho đến khi OB ưu tiên cao hơn được thực thi hoàn toàn
Nếu bạn chưa gán OB cho sự kiện, phản ứng hệ thống mặc định được thực hiện
3 Bộ nhớ Process image và chương trình vòng quét
Khi thực hiện chương trình CPU sẽ không trực tiếp truy cập vào các mô đun vào/ra
mà nó sẽ truy cập thông qua mộ vùng nhớ gọi là process image.Tiến trình đó được thực hiện như sau:
Bắt đầu vòng quét, chương trình sẽ gửi một thông điệp để kiểm tra trạng thái tín hiệu nào của ngõ vào vật lý Trạng thái của ngõ vào đã được cập nhật tại bộ nhớ
process image of the inputs (PII) Bằng việc đọc nội dung của bộ nhớ này CPU sẽ
xác định được trạng thái hiện tại của các ngõ vào này
Sau khi đọc trang thái tín hiệu ngõ vào xong CPU sẽ thực thi các lệnh trong chương trình và kết quả trạng thái của các ngõ ra sẽ được cập nhật vào bộ nhớ
process image of the outputs (PIQ)
Kết thúc vòng quét vùng nhớ process image of the outputs (PIQ) sẽ chuyển trạng thái của các ngõ ra vào mô đun ngõ ra vật lý để thực thi đóng cắt các cổng
Trang 9này Và trình tự như vậy cứ diễn ra liên tục cho đến khi dừng chương trình vòng quét
Chú ý: Thời gian để CPU cần để thực thi một chu trình như vậy gọi là một chu kỳ quét.Thời gian này nó phụ thuộc vào độ dài của chương trình và hiệu năng của CPU
4 Hàm (Functions)
Định nghĩa: Hàm (FC) là một đoạn chương trình để thực thi một nhiệm vụ cụ thể Chức năng: Khi được gọi hàm nó sẽ thực thi đoạn chương trình có sẵn trong nó và có thể được sử dụng khi cần thực hiện một tác vụ lặp đi lặp lại Ví dụ:
Hàm xử lý toán học
Hàm xử lý kỹ thuật
Hàm xử lý quy trình…
Một hàm có thể được gọi nhiều lần tại các thời điểm khác nhau trong chương trình
Ví dụ: Xậy dựng hàm điều khiển bằng tay cho trạm phân loại sử dụng băng tải được
mô tả như sau:
Trạm phân loại sử dụng băng tải được cấp điện bằng công tắc nguồn chính Q0, khi bật Q0 thì rơ le K0 tác động đưa tín hiệu báo có nguồn về PLC Trạm phân loại có hai chế độ hoạt động là bằng tay “Manual” và tự động “Auto” được lựa chọn bởi công tắc S0 (Manual =0, Auto = 1)
Trong chế độ bằng tay “Manual” thì băng tải sẽ chạy khi thỏa mãn các điều kiện sau:
Tín hiệu cho phép băng tải chạy ở mức logic “1”
Công tắc chọn chế độ đang ở vị trí Manual
Một trong hai nút nhấn S3 (quay thuận) hoặc S4 (quay ngược) được nhấn, nếu nhả ra thì băng tải dừng
Công tắc dừng khẩn cấp chưa tác động
Tín hiệu cho phép băng tải chạy ở mức logic “1” khi thoãn mãn các điều kiện sau:
Công tắc nguồn chính được bật
Xy lanh M4 ở trạng thái thu về
Hai nút nhấn S3 và S4 không được nhấn cùng một lúc
Trang 10I 0.1 BOOL K0 Công tắc nguồn chính NO
I 0.2 BOOL S0 Công tắc chọn chế độ Manual/Auto
(Manual =0, Auto = 1)
I 0.5 BOOL B1 Cảm biến xy lanh M4 khi thu về NO
I 1.4 BOOL S3 Nút nhấn cho băng tải quay thuận
I 1.5 BOOL S4 Nút nhấn cho băng tải quay ngược
Q 0.0 BOOL -Q1 Băng tải quay thuận
Căn cứ vào yêu cầu bài toán ta sẽ xây dựng một hàm điều khiển băng tải trong chế độ bằng tay đặt tên là “Manual_mode”
Bước 1: Xác định được các tham số đầu vào và đầu ra của hàm
Các tham số đầu vào của hàm “Manual_mode” là các điều kiện để băng tải chạy trong chế độ bằng tay.Cụ thể đó là:
Tín hiệu từ công tắc lựa chọn chế độ
Tín hiệu cho phép băng tải chạy
Tín hiệu chạy băng tải
Tín hiệu dừng khẩn
Tham số đầu ra của hàm “Manual_mode” là tín hiệu để kích hoạt các công tắc tơ điều khiển băng tải.Như vậy để điều khiển băng tải chạy hai chiều ta có thể sử dụng cùng một hàm FC1 nhưng tham số gán vào sẽ khác nhau tương ứng với mỗi chiều quay
Bật chế độ manual BOOL Đưa vào tín hiệu chọn chế độ hoạt động
cho băng tải Tín hiệu chạy băng tải BOOL Đưa vào tín hiệu để băng tải chạy
Tín hiệu cho phép băng
Tín hiệu dừng khẩn BOOL Tín hiệu dừng khẩn băng tải
Output
Băng tải chạy BOOL Ngõ ra công tắc tơ điều khiển băng tải
Bước 2: Xây dựng hàm
Mở rộng Program blocks => Add new block để tạo mới một hàm
Cửa sổ Add new
Trang 11Trong chế độ tự động “Auto” thì băng tải sẽ hoạt động khi thỏa mãn các điều kiện sau:
Công tắc nguồn chính được bật
Xy lanh M4 ở trạng thái thu về
Hoạt động của băng tải như sau: Ấn nhả Start thì băng tải tự động chạy thuận, Ấn nhả Stop thì băng tải tự động dừng
Địa chỉ các tín hiệu vào/ra được cho ở bảng dưới
Địa chỉ Kiểu
I 0.5 BOOL -B1 Cảm biến xy lanh M4 khi thu về NO
Q 0.0 BOOL -Q1 Băng tải quay thuận (Tốc độ cố
định)
Căn cứ vào yêu cầu bài toán ta sẽ xây dựng một Function block điều khiển băng tải ở chế độ tự động đặt tên là “Auto_mode”
Bước 1: Xác định được các tham số đầu vào và đầu ra
Các tham số đầu vào của Function block “Auto_mode” bao gồm các điều kiện để băng tải chạy ở chế độ tự động và tín hiệu từ hai nút nhấn Start, Stop.Cụ thể đó là:
Trang 12 Tín hiệu từ công tắc lựa chọn chế độ
Tín hiệu cho phép băng tải chạy
Tín hiệu chạy băng tải Start
Tín hiệu dừng băng tải Stop
Tín hiệu dừng khẩn
Tham số đầu ra củaFunction “Auto_mode” là tín hiệu để kích hoạt các công tắc
tơ điều khiển băng tải chạy
Bước 2: Xác định các biến trung gian Static
Biến trung gian Static là bit nhớ cho quá trình khởi động băng tải, khi băng tải khởi động bit nhớ được set lên mức logic “1” và khi dừng băng tải bit nhớ được set về mức logic “0”
Bật chế độ auto BOOL Kích hoạt chế độ auto
Start_Auto BOOL Nhấn start_auto để băng tải bắt đầu
chạy trong chế độ tự động
trong chế độ tự động Tín hiệu cho phép băng tải
Tất cả các điều kiện sẵn sàng cho băng tải hoạt động
Tín hiệu dừng khẩn BOOL Tín hiệu dừng băng tải hoạt động
Bước 3: Xây dựng Function block
Mở rộng Program blocks => Add new block để tạo mới một Function block
Cửa sổ Add new block xuất hiện ta chọn Function block (FB), đặt tên và lựa chọn dạng ngôn ngữ để viết => OK
FB Auto_Mode sẽ xuất hiện ở dưới main OB1
Trang 13Như vậy ta đã tạo mới xong Function block FB1, tiếp theo sẽ khai báo các tham số vào/ra và biến Static
Viết chương trình cho Function block FB1 dựa theo yêu cầu của bài toán
Bước 3: Gọi Function block và thực thi chương trình
Kéo và thả Function block FB1 vào chương trình chính
Xuất hiện cửa sổ mới => Nhấn ok để xác nhận data block đi kèm với function block FB1
Gán các tag phù hợp vào function block FB1 theo yêu cầu của bài toán
Tín hiệu băng tải sẵn sàng chạy_auto ở đây được lập trình theo điều kiện của bài toán
6 Data Blocks
Khác với Functions và Function Blocks thì Data Blocks không phải là chương trình
mà là nơi lưu trữ dữ liệu
Có hai dang Data Block đó là:
Global data block: Dữ liệu lưu trữ ở đây có thể dùng được cho tất cả các hàm
có trong chương trình
Instance data block: Dữ liệu lưu trữ ở đây chỉ được dùng cho một Function Block tương ứng của nó
Trang 14Hình trên cho ta thấy là các hàm: Function_10, Function_11, Function_12 có thể truy cập dữ liệu trong Global data block, còn đối với dữ liệu ở Function data block 12 chỉ
có hàm Function_12 là có thể truy cập được
Tạo mới Data block đặt tên là SPEED_MOTOR
Vào Data block:
Khai báo các giá trị:
BÀI 3: XỬ LÝ TÍN HIỆU ANALOG
I Mục tiêu của bài:
- Trình bày được khái niệm tín hiệu Analog;
- Lập trình được một chương trình đọc và xuất tín hiệu analog
- Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình
II Nội dung
1.Giới thiệu về tín hiệu analog
1.1.Khái niệm về tín hiệu analog
Tín hiệu Analog (hoặc tín hiệu tương tự) là kiểu tín hiệu có giá trị liên tục theo thời gian Khác với tín hiệu số chỉ có 2 giá trị logic là 0 và 1 thì tín hiệu Analog có vô
số giá trị nằm trong một khoảng xác định
Trang 15Tín hiệu analog là tín hiệu điện được chuyển đổi từ những đại lượng vật lý như : nhiệt độ, áp suất, lưu lượng, khối lượng…thông qua các cảm biến
Ví dụ về đại lượng analog:
Nhiệt độ -50 đến +150 °C
Lưu lượng 0 đến 200 l/min
Áp suất khí nén từ 0-10 bar
Khối lượng từ 0 – 200 Kg …
Có 2 loại dạng tín hiệu Analog được sử dụng trong công nghiệp là:
Tín hiệu dạng dòng : 0 - 20 mA hoặc 4 - 20mA
Tín hiệu dạng áp : 0 - 10V hoặc ±10V
Ví dụ: Một cảm biến siêu âm được dùng để đo mức nước trong một bồn chứa,
giá trị mức nước đo được là từ 0 đến 5m ứng với giá trị analog trả về là 4-20mA:
Thông thường trong công nghiệp người ta hay sử dụng tín hiệu Analog dạng dòng (4-20 mA) vì những lý do sau:
Tín hiệu analog dạng áp (0-10V) sẽ dễ bị sụt áp khi tín hiệu truyền đi trong một khoảng cách xa, còn tín hiệu analog dạng dòng (4-20 mA) thì ít bị suy giảm bởi khoảng cách;
Trong trường hợp này nếu chúng ta dùng cảm biến có tín hiệu 0-10V thì khi cảm biến bị hư hỏng hoặc bị đứt dây thì tín hiệu đưa về đều là 0V nên chúng
ta rất dể nhầm lẫn giữa cảm biến bị hư hỏng và cảm biến đang hoạt động nhưng
có giá trị là không 0V Điều này rất nguy hiểm trong việc điều khiển tự động hóa;
Tín hiệu analog dạng áp (0-10V) dễ bị nhiễu bởi các yếu tố gây nhiễu như sóng hài, từ trường… hơn so với tín hiệu analog dạng dòng (4-20 mA)
1.2 Mô đun Analog
Các đại lượng vật lý cần đo sẽ được chuyển đổi sang dạng áp hoặc dòng nhờ các
bộ chuyển đổi (Transducer) tích hợp trong cảm biến Cảm biến sẽ chuyển đổi các đại lượng đó thành tín hiệu analog
Những tín hiệu analog sẽ được kết nối đến mô đun ananlog nhằm mục đích số hóa tín hiệu Mô đun Analog chính là bộ chuyển đổi analog-to-digital (A/D) sẽ chuyển đổi tín hiệu analog sang tín hiệu số dưới dạng một chuỗi bit(16 bit) hoặc là bộ chuyển đổi digital-to-analog (D/A) sẽ chuyển đổi tín hiệu số ngược lại thành tín hiệu analog Như vậy sẽ có hai loại mô đun analog đó là mô đun đọc tín hiệu và mô đun xuất tín hiệu
Tham số quan trọng nhất trong việc chuyển đổi ADC (Mô đun đọc analog) là độ phân giải, độ phân giải càng cao thì số lượng bit càng nhiều và giá trị đọc về càng chính xác Ví dụ: nếu như mô đun analog chỉ có độ phân giải là 1 bit thì nó sẽ chỉ đọc được
2 dải giá trị là 0 – 5V và 5 - 10V, tương tự như vậy với độ phân giải là 2 bit thì mô đun chỉ đọc được 4 dải giá trị là 0 - 2.5 / 2.5 - 5 / 5 - 7.5 / 7.5 - 10 V Mô đun chuyển đổi analog sang digital (A/D) thường có độ phân giải 8 bit, 11 bit hoặc cao hơn Với độ