TỔNG QUAN VỀ THIẾT BỊ LOGIC KHẢ TRÌNH PLC
GIỚI THIỆU CHUNG VỀ PLC
PLC, viết tắt của Programable Logic Controller, là bộ điều khiển logic khả trình Hiện nay, ngoài các chức năng điều khiển logic cơ bản, PLC còn tích hợp nhiều chức năng điều khiển cao cấp, do đó có thể xem PLC như một máy tính công nghiệp.
1.2 Lịch sử ra đời của PLC
PLC được phát triển bởi nhóm kỹ sư của General Motor vào năm 1968 và ngày càng trở nên phổ biến trong điều khiển công nghiệp Nó là giải pháp lý tưởng cho việc tự động hóa quy trình sản xuất, khắc phục những nhược điểm của bộ điều khiển cổ điển sử dụng dây nối, như bộ điều khiển bằng Relay.
Lập trình dễ dàng, ngôn ngữ lập trình dễ đọc
Gọn nhẹ, dễ dàng bảo quản, sửa chữa
Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp
Hoàn toàn tin cậy trong m i trường công nghiệp
Giao tiếp đƣợc với các thiết bị th ng minh khác nhƣ: máy tính, kết nối mạng, các Modul mở rộng
Các tập lệnh nhanh chóng đi từ các lệnh logic đơn giản đến các lệnh đếm, định thời, thanh ghi dịch…
Hình 1.1 Hệ thống điều khiển tự động sử dụng bộ điều khiển cổ điển
Hình 1.2 Hệ thống điều khiển tự động sử dụng bộ điều khiển PLC
Sử dụng các nút nhấn tự phục hồi S1, S2, S3 để điều khiển 3 máy bơm nước M1, M2, M3 hoạt động tuần tự thông qua công tắc tơ Để dừng hoạt động của các máy bơm, chỉ cần nhấn nút S4.
Các phần tử đầu vào gồm: 4 nút nhấn S1, S2, S3, S4
Các phần tử đầu ra: 3 động cơ bơm M1, M2, M3
Sơ đồ mạch động lực 3 máy bơm nước truyền động bởi động cơ kh ng đồng bộ một pha rotor lồng sóc đƣợc thể hiện trên hình 1.3
Hình 1.3 Sơ đồ mạch động lực 3 máy bơm nước
Sơ đồ hệ thống điều khiển khi sử dụng bộ điều khiển cổ điển đƣợc thể hiện trên hình 1.4
Hình 1.4 Sơ đồ mạch điều khiển 3 máy bơm nước sử dụng bộ điều khiển cổ điển
Sơ đồ hệ thống điều khiển khi sử dụng bộ điều khiển logic khả trình đƣợc thể hiện trên hình 1.5
Hình 1.5 Sơ đồ mạch điều khiển 3 máy bơm nước sử dụng bộ điều khiển logic khả trình
Trong PLC, CPU và chương trình điều khiển các quá trình công nghệ của hệ thống Bộ điều khiển thực hiện nhiệm vụ theo chương trình đã được nạp vào bộ nhớ của PLC Để thay đổi hoặc mở rộng chức năng của các quy trình công nghệ, chỉ cần điều chỉnh chương trình trong bộ nhớ của PLC.
Hình 1.6 Mô phỏng chương trình trong bộ nhớ của PLC
Trên thế giới hiện nay, có nhiều tập đoàn công nghiệp nổi tiếng sản xuất bộ điều khiển PLC, như Omron (Nhật Bản), Siemens (Đức), Mitsubishi (Nhật), Fujitsu (Nhật) và LG (Hàn Quốc) Tại Việt Nam, việc ứng dụng bộ điều khiển PLC bắt đầu từ khoảng năm 1990, với ví dụ điển hình là nhà máy xi măng Hoàng Thạch sử dụng bộ điều khiển S5 của Siemens.
Việc kết nối các cổng vào ra của PLC với các thiết bị ngoại vi đƣợc mô phỏng nhƣ hình 1.7
Hình 1.7 Mô phỏng tín hiệu kết nối cổng vào/ra của PLC
Các khái niệm cơ bản:
Đầu vào số trong PLC là tín hiệu rời rạc, chỉ nhận các tín hiệu ở hai trạng thái “CÓ” hoặc “KHÔNG”, thường từ nút nhấn, công tắc, hoặc cảm biến Đầu ra số cũng là tín hiệu rời rạc, với hai trạng thái “ĐÓNG” hoặc “MỞ”, thường kết nối với Relay, Contactor, đèn, hoặc van Ví dụ điển hình là hệ thống điều khiển bật/tắt đèn bằng công tắc.
Đầu vào/ra tương tự (Analog) trong PLC nhận và xuất tín hiệu biến thiên liên tục, thể hiện qua dòng điện và điện áp Cụ thể, tín hiệu từ cảm biến đo mức nước trong hệ thống điều khiển được đưa vào đầu vào tương tự của PLC, từ đó PLC xuất ra tín hiệu tương tự để điều khiển lưu lượng chất lỏng qua van.
Hình 1.8 Đầu vào/ra số của PLC
Hình 1.9 Hệ thống điều khiển lưu lượng.
CẤU TRÚC PHẦN CỨNG CỦA PLC
Cấu trúc chung của một PLC gồm các bộ phận nhƣ hình 1.10
Hình 1.10 Cấu trúc chung của một bộ PLC
CPU, hay bộ xử lý trung tâm, đóng vai trò quan trọng trong việc điều khiển và quản lý tất cả các hoạt động bên trong PLC Thông tin giữa CPU, bộ nhớ và các cổng vào/ra được trao đổi thông qua hệ thống bus dưới sự điều khiển của CPU.
Tất cả các dòng PLC đều sử dụng 3 loại bộ nhớ sau:
Bộ nhớ ROM (Read Only Memory) là loại bộ nhớ chỉ đọc, trong PLC, nó được sử dụng để lưu trữ chương trình điều hành do nhà sản xuất nạp và chỉ được nạp một lần.
Bộ nhớ RAM (Random Access Memory) trong PLC là nơi lưu trữ dữ liệu và kết quả tạm thời của các phép toán Dữ liệu trong RAM sẽ bị xóa khi mất nguồn nuôi Để giảm thiểu mất mát dữ liệu, PLC thường trang bị nguồn nuôi phụ cho RAM, có thể là tụ điện hoặc pin Tụ điện cung cấp nguồn cho RAM trong vài giờ, trong khi pin có thể duy trì nguồn nuôi lâu hơn, từ vài ngày đến vài tháng Việc thay pin cho RAM cần thực hiện khi PLC vẫn đang có nguồn.
Bộ nhớ EEPROM (Electrical Erasable Programmable ROM) là loại bộ nhớ ROM có khả năng xóa và nạp lại thông qua tín hiệu điện, với số lần xóa và nạp lại tùy thuộc vào từng loại EEPROM, có thể từ vài nghìn đến vài chục nghìn lần Bộ nhớ ROM này cho phép lưu trữ chương trình ứng dụng trong PLC.
Bộ nhớ của PLC đƣợc chia thành 3 vùng chính:
Vùng chứa chương trình ứng dụng: Vùng nhớ này được chia thành 3 miền:
OB1 (Organisation Block): là miền chứa chương trình chính, các lệnh trong khối này lu n đƣợc quét
Sub (Subroutine) là một phần của chương trình chứa các hàm con, được tổ chức để trao đổi dữ liệu thông qua các biến hình thức Chương trình con sẽ được thực thi khi được gọi từ chương trình chính.
Int (Interrup) là 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 tất cả các chương trình khác Chương trình này được thực hiện khi có sự kiện ngắt xảy ra, chẳng hạn như ngắt thời gian hoặc ngắt xung tốc độ cao.
Vùng nhớ tham số của hệ điều hành: Vùng nhớ này đƣợc chia thành 5 miền nhớ:
Miền nhớ đệm dữ liệu cổng vào số, hay còn gọi là I (Input), là nơi mà PLC lưu trữ giá trị logic của tất cả các cổng vào trước khi thực hiện chương trình Thông thường, chương trình ứng dụng không đọc trực tiếp trạng thái logic của cổng vào số mà chỉ lấy dữ liệu từ vùng nhớ đệm I.
Q (Output) là khu vực lưu trữ dữ liệu cho các cổng ra số Khi quá trình thực hiện chương trình kết thúc, PLC sẽ chuyển các giá trị logic từ bộ đệm Q đến các cổng ra số.
M (Internal) là miền nhớ nội và miền nhớ trung gian, nơi chương trình ứng dụng lưu giữ các tham số cần thiết Các tham số này có thể được truy cập theo đơn vị Bit (M), byte (MB), từ (MW) hoặc từ kép (MD).
T (Timer) là miền nhớ dành cho bộ thời gian, bao gồm việc lưu trữ thời gian đã đặt trước (PV - Giá trị đã đặt) và giá trị thời gian hiện tại (CV - Giá trị hiện tại), cùng với giá trị logic đầu ra của bộ thời gian.
C (Counter) là miền nhớ dùng để phục vụ bộ đếm, bao gồm việc lưu trữ giá trị đặt trước (PV - Preset Value), giá trị tức thời (CV - Current Value) và giá trị logic đầu ra của bộ đếm.
Vùng nhớ các khối dữ liệu: Vùng nhớ này đƣợc chia thành 2 miền:
DB (Data Block) là miền chứa dữ liệu được tổ chức thành các khối, với kích thước và số lượng khối do người sử dụng quy định để phù hợp với từng bài toán điều khiển Chương trình có khả năng truy cập miền này theo từng Bit (DBX), byte (DBB), Word (DBW) hoặc Double word (DBD).
Miền dữ liệu địa phương (L) là nơi lưu trữ các biến nháp tạm thời, được sử dụng bởi các khối chương trình chính, chương trình con và chương trình ngắt Nội dung của khối dữ liệu trong miền nhớ này sẽ bị xóa khi chương trình tương ứng kết thúc Miền dữ liệu địa phương có thể được truy cập theo các đơn vị khác nhau như bit (L), byte (LB), word (LW) hoặc double word (LD).
Trong PLC, mọi hoạt động đều sử dụng mức điện áp ±5VDC hoặc ±15VDC, phù hợp với các IC TTL hoặc CMOS, trong khi tín hiệu điều khiển bên ngoài thường là 24VDC hoặc 240VAC Khối cổng vào/ra đóng vai trò quan trọng trong việc giao tiếp giữa các vi mạch điện tử bên trong PLC và các mạch công suất bên ngoài, thực hiện chuyển đổi mức tín hiệu và cách ly Các dạng cổng vào/ra trong PLC rất đa dạng.
Cổng vào một chiều (hình 1.11):
Cổng vào một chiều được mô tả trong Hình 1.11, với tín hiệu đầu vào số Mức logic 1 tương ứng với điện áp đầu vào từ 18 đến 24VDC, trong khi mức logic 0 tương ứng với điện áp đầu vào nhỏ hơn 18VDC.
Hình 1.12 Cấu trúc cổng ra kiểu Rơle
NGUYÊN LÝ HOẠT ĐỘNG CỦA PLC
Quá trình hoạt động của
PLC hoạt động dựa trên nguyên lý chu kỳ quét, trong đó thực hiện các chu kỳ quét liên tiếp Mỗi chu kỳ quét bắt đầu bằng việc kiểm tra trạng thái tín hiệu tại cổng.
CPU nhận tín hiệu từ cổng vào và ghi lại trạng thái của chúng vào bộ đệm Dựa trên các tín hiệu đã lưu, CPU thực hiện logic chương trình đã được lập trình sẵn và gửi kết quả đến bộ đệm cổng ra để điều khiển các thiết bị bên ngoài.
Thời gian cần thiết cho một vòng quét thay đổi từ 1ms30ms, thời gian này phụ thuộc vào độ dài của mỗi chương trình ứng dụng.
TỔ CHỨC CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH CHO PLC THEO TIÊU CHUẨN IEC61131-3
Chuẩn IEC 61131 là tiêu chuẩn quan trọng cho bộ điều khiển khả trình (PLC) và các thiết bị ngoại vi liên quan, trong đó phần 3 (IEC 61131-3) quy định các ngôn ngữ lập trình và phương pháp lập trình điều khiển PLC Một số ưu điểm nổi bật của mô hình lập trình theo IEC 61131-3 bao gồm tính linh hoạt, khả năng tương tác và dễ dàng bảo trì.
Cho phép dùng kết hợp nhiều ngôn ngữ lập trình điều khiển trong cùng một chương trình
Khả năng tái sử dụng các khối chương trình
Thư viện chuẩn các hàm và khối chương trình rất phong phú
Các công cụ đặt cấu hình
Công cụ lập trình tiện lợi, hỗ trợ tối đa việc lập trình điều khiển
Lập tài liệu dự án một cách tiện lợi và nhanh chóng
Có 5 ngôn ngữ lập trình đƣợc quy định trong IEC 61131-3 cùng với một phương pháp tổ chức chương trình điều khiển theo biểu đồ chức năng trình tự (SFC):
Ladder Diagram (LAD) là ngôn ngữ hình thang phổ biến nhất hiện nay, đặc biệt tại Mỹ, dựa trên đồ họa của Relay Ladder Logic Hầu hết các PLC hiện nay, dù tuân thủ hay không tuân thủ tiêu chuẩn IEC61131-3, đều hỗ trợ ngôn ngữ LAD.
Danh sách lệnh (STL) là một dạng ngôn ngữ lập trình tương tự như ngôn ngữ ladder, nhưng được trình bày dưới dạng văn bản Cấu trúc của nó tương tự như ngôn ngữ máy assembly.
Sơ đồ khối chức năng (FBD) là một ngôn ngữ đồ họa mô tả sự kết nối giữa các chức năng, khối chức năng và chương trình thông qua một tập hợp các khối đồ họa liên kết với nhau Hình thức của nó tương tự như sơ đồ mạch điện tử mà chúng ta thường gặp.
Ngôn ngữ Structured Text (SCL) là một ngôn ngữ lập trình cấp cao mạnh mẽ dành cho PLC, có nguồn gốc từ Pascal và C SCL cho phép định nghĩa các khối chức năng phức tạp và có thể được lồng ghép với các ngôn ngữ khác Với tính chất trực quan và dễ hiểu, SCL là lựa chọn lý tưởng cho lập trình viên.
Biểu đồ chức năng tuần tự (SFC hoặc Graph) là một loại lưu đồ tuần tự, được sử dụng như một phương pháp lập trình đồ họa mạnh mẽ để mô tả các trạng thái tuần tự trong chương trình điều khiển.
Các thành phần cơ bản trong m hình lập trình bao gồm kiểu dữ liệu, biến, đơn vị tổ chức chương trình (hàm, khối chức năng, chương trình) và tác vụ Bài viết sẽ tập trung vào các đơn vị tổ chức chương trình (POU), đặc biệt trong các chương trình điều khiển lớn và phức tạp, phương pháp lập trình có cấu trúc được ưa chuộng hơn so với phương pháp lập trình tuyến tính Trong các hệ lập trình PLC trước đây, phương pháp lập trình có cấu trúc được hỗ trợ thông qua việc tổ chức chương trình thành các khối (block), được xem như các thành phần nhỏ nhất xây dựng nên chương trình, hay còn gọi là các building block Các khối này được phân loại theo nội dung chứa bên trong.
Trong khối lập trình, thường bao gồm khối tổ chức chương trình (OB), khối chức năng (FB) và khối dữ liệu (DB), với khối chức năng và dữ liệu được tách rời trong các khối FB và DB Phân chia này tương tự như các ngôn ngữ lập trình như Pascal hay C, với chương trình chính, hàm và dữ liệu toàn cục Chuẩn IEC 61131-3 đã cải tiến bằng cách phân chia các khối theo chức năng và cấu trúc phân cấp, quy định ba loại POU: Hàm (FUN), khối chức năng (FB) và chương trình (PROG) Đặc biệt, dữ liệu của các khối chức năng không còn nằm riêng mà được tích hợp ngay trong khối, thể hiện nguyên tắc đóng gói dữ liệu trong lập trình hướng đối tượng Để lập trình cho PLC, cần các thành phần cơ bản như PLC, thiết bị lập trình, cáp truyền thông và phần mềm lập trình.
Hình 1.16 Sơ đồ kết nối máy tính với PLC S7 - 1200 của hãng Siemens
Có 3 loại ngôn ngữ thường được sử dụng để lập trình cho PLC: LAD, STL, FBD
Một số ký hiệu cơ bản trong phần mềm lập trình LAD:
Tiếp điểm: Chương trình PLC sử dụng các bit giống như các tiếp điểm, có hai loại tiếp điểm là thường đóng (NC) (hình 1.17a) và thường mở (NO) (hình 1.17b):
Tiếp điểm thường mở sẽ đóng lại khi bit địa chỉ của nó có giá trị bằng 1 và sẽ mở lại khi bit địa chỉ có giá trị bằng 0.
Tiếp điểm thường đóng sẽ mở khi bit địa chỉ của nó có giá trị 1 và sẽ đóng lại khi bit địa chỉ có giá trị 0.
Cuộn dây hoạt động tương tự như cuộn dây relay, được kích hoạt khi tất cả các tiếp điểm phía trước đóng, lúc này bit địa chỉ của nó có giá trị 1 Ngoài ra, các tiếp điểm của bit địa chỉ này có thể được sử dụng ở các vị trí khác trong chương trình.
Khối trong chương trình PLC có nhiều chức năng đa dạng, như bộ timer và counter, và sẽ thực hiện chức năng tương ứng khi nhận tín hiệu đầu vào.
Hình 1.17 Các ký hiệu cơ bản trong phần mềm lập trình kiểu LAD.
CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN ĐIỀU KHIỂN
5.1 Biểu diễn thuật toán điều khiển bằng Flowchart
Lưu đồ thuật toán, hay flowchart, là một sơ đồ mô tả quá trình xử lý của hệ thống điều khiển thông qua các khối hình học được nối với nhau bằng mũi tên, thể hiện dòng điều khiển Sơ đồ này hỗ trợ lập trình viên kiểm tra tính khả thi của lập trình và phát triển các giải thuật để viết chương trình nhanh chóng và hiệu quả Khi thiết kế lưu đồ thuật toán, cần chia nhiệm vụ lớn thành nhiều nhiệm vụ nhỏ, mỗi nhiệm vụ nhỏ được thực hiện bởi một chương trình con, và các chương trình con này được kết nối qua chương trình chính.
Các ký hiệu cơ bản dùng trong Flowchart:
Bắt đầu/Kết thúc chương trình
Xử lý/Tính toán/Gán
Kiểm tra điều kiện để rẽ nhánh Điểm nối
Luồng xử lý Khối chương trình con
Hệ thống bơm nước từ Bể dưới lên Bể trên sử dụng các cảm biến CB1, CB2 và CB3 để theo dõi mức nước tại các bể Lưu ý rằng bơm sẽ không hoạt động khi nước trong Bể dưới ở mức cạn hoặc khi Bể trên đã đầy.
Hình 1.18 Hệ thống bơm nước từ Bể dưới lên Bể trên
Hình 1.19 Lưu đồ thuật toán điều khiển máy bơm nước tự động
5.2 Biểu diễn thuật toán điều khiển bằng Grafcét
Grafcét là một đồ hình chức năng, giúp mô tả các trạng thái làm việc của hệ thống và thể hiện quá trình điều khiển chuyển biến giữa các trạng thái Mỗi công nghệ đều có grafcét riêng, được xác định bởi các phần tử cụ thể.
Tập hợp các trạng thái của hệ thống được ký hiệu là \$E = \{E_1, E_2, \ldots, E_m\}\$, trong đó mỗi trạng thái được biểu diễn bằng một ô vuông có đánh số Trạng thái khởi đầu được ký hiệu bằng hai ô vuông lồng vào nhau Mỗi trạng thái tương ứng với các tác động từ phần điều khiển, và hành vi điều khiển trong mỗi trạng thái là không thay đổi Một trạng thái có thể ở trạng thái hoạt động hoặc không hoạt động Khái niệm điều khiển liên quan đến việc thực hiện các mệnh đề logic với các biến vào và biến ra, nhằm xác định trạng thái của hệ thống, tương ứng với một trạng thái trong Grafcet.
Tập hợp các chuyển trạng thái \( T = \{ t_1, t_2, \ldots, t_k \} \) là điều kiện cần thiết để hệ thống chuyển từ trạng thái này sang trạng thái khác Trong Grafcét, các chuyển trạng thái được biểu diễn bằng ký hiệu “├”.
A a a 1, 2, ,a n là tập hợp của n cung định hướng nối giữa các trạng thái, cung định hướng thể hiện tuần tự xảy ra của các trạng thái trong hệ thống
M là tập hợp các giá trị logic của m trạng thái E, với các giá trị logic m_i (i=0÷m) chỉ có thể nhận 0 khi trạng thái i không hoạt động (ký hiệu m_i^-) hoặc 1 khi trạng thái i đang hoạt động (ký hiệu m_i^+).
Ví dụ: Buồng thang máy đang ở tầng 2, khách đang ở tầng 1 và muốn lên tầng 5
Phân tích yêu cầu công nghệ:
- Khách ở tầng 1, muốn gọi buồng thang đang ở tầng 2 thì phải nhấn nút gọi tầng 1GT đặt ngoài cửa tầng 1 Lúc đó buồng thang sẽ đi xuống tầng 1
Khi thang máy dừng ở tầng 1, khách chỉ cần nhấn nút tầng 5 trên bảng điều khiển trong buồng thang Thang máy sẽ tự động di chuyển lên và dừng lại tại tầng 5.
Biểu diễn yêu cầu công nghệ bằng Grafcét:
4 Trạng thái buồng thang nâng lên N
3 Trạng thái buồng thang hạ xuống H
2 Trạng thái buồng thang đang ở tầng 2 1GT
Để thang máy di chuyển từ tầng 1 lên tầng 5, hệ thống cần hoàn tất quá trình di chuyển từ tầng 2 xuống tầng 1 Khi có tín hiệu từ nút ấn gọi tầng tại tầng 1, buồng thang sẽ hạ xuống tầng 1.
Khi buồng thang ở tầng 1, khách nhấn nút 5ĐT để di chuyển lên tầng 5 Buồng thang sẽ nâng lên và dừng lại ở tầng 5, tương ứng với trạng thái 4 Hình 1.20 minh họa Grafcét của công nghệ này.
QUY TRÌNH THIẾT KẾ MỘT HỆ THỐNG ĐIỀU KHIỂN SỬ DỤNG PLC
6.1 Trình tự thiết kế hệ thống PLC
Dựa vào quy mô của hệ thống, hệ thống sản xuất theo dây chuyền có thể được phân chia thành nhiều cụm dựa trên đặc điểm công nghệ Mỗi cụm hoạt động tương đối độc lập, với khoảng cách dây nối đến cảm biến và cơ cấu chấp hành không vượt quá chiều dài quy định cho từng loại Số lượng I/O hợp lý nằm trong khoảng mà các loại PLC cho phép.
Trình tự thiết kế hệ thống điều khiển thực hiện qua các bước sau:
Bước đầu tiên trong việc phân tích khả thi của hệ thống là tiến hành phân tích chi tiết quy trình công nghệ, hệ truyền động và trang bị điện từ các cụm đã được chia Cần mô tả rõ ràng sự liên động giữa các phần tử của hệ thống và từ đó thiết lập giản đồ thời gian hoặc lưu đồ thuật toán, đặc biệt chú ý đến các lỗi có thể xảy ra trong quá trình máy hoạt động bình thường.
Bước 2: Tính chọn thiết bị cảm biến và cơ cấu chấp hành:
Nếu đầu vào chỉ có chức năng logic 0&1 thì tính chọn cho đầu vào Digital
Để giám sát các yếu tố như nhiệt độ, độ ẩm, mức, lưu lượng, khối lượng và lực tác dụng, cần có chức năng phân tích tín hiệu Do đó, việc tính chọn đầu vào Analog là cần thiết cho các hệ thống điều khiển có phản hồi.
Nếu điều chỉnh động cơ theo phương pháp PID thì phải tính chọn cho đầu ra Analog
Cơ cấu chấp hành sử dụng Piton thủy lực hoặc khí nén cần phải lựa chọn van thủy hoặc khí phù hợp Để điều khiển các van này, cần tính toán và chọn lựa đầu ra số tương ứng.
Van tiết lưu hoặc van phần trăm điều khiển thông qua động cơ cần được tính chọn biến tần hoặc bộ điều chỉnh phù hợp Bên cạnh đó, việc sử dụng PID để điều khiển các van này cũng cần thiết, và do đó, cần tính chọn đầu ra Analog cho hệ thống.
Cơ cấu chấp hành cần xem xét việc điều khiển tốc độ của động cơ Nếu cần, phải lựa chọn biến tần, bộ điều chỉnh điện áp cho động cơ một chiều, hoặc module điều khiển vị trí cho động cơ bước Cần xác định xem có cần kết nối biến tần với PLC hay không; nếu chỉ khởi động và dừng động cơ, có thể sử dụng đầu ra số mà không cần cổng truyền thông Tuy nhiên, nếu cần giám sát dòng điện, điện áp, nhiệt độ hoặc điều chỉnh tốc độ, cần kết nối biến tần với PLC qua cổng truyền thông theo giao thức của nhà sản xuất Hiện tại, hai giao thức phổ biến nhất cho biến tần MicroMaster đang được sử dụng.
430, 440 là USS protocol và Mudbus protocol
Tính chọn công tắc, nút ấn trên panel điều khiển bằng tay
Cần xem xét dòng ra của cơ cấu chấp hành: đối với PLC loại DC/DC/RLY, dòng chảy phải nhỏ hơn 1,5A; trong khi đó, đối với loại DC/DC/DC, dòng chảy phải nhỏ hơn 0,2A Do đó, việc sử dụng hệ Rơle trung gian, Transistor, Tiristor hoặc Triac là cần thiết.
Các ứng dụng sử dụng đầu ra phát xung nhanh thì nhất thiết phải chọn PLC đầu ra Transistor (loại DC/DC/DC)
Nếu không cần thiết cho các ứng dụng có đầu ra phát xung nhanh, nên lựa chọn PLC với đầu ra Rơle (DC/DC/RLY) vì loại này dễ dàng hơn trong việc giao tiếp với cơ cấu chấp hành.
Khi sử dụng cổng truyền thông cho các mục đích như điều khiển biến tần, kết nối panel, OPs (Operation), PC hoặc mạng, nên chọn PLC có hai cổng truyền thông PPI, chẳng hạn như CPU 2224XP, 226, 226XM của Siemens.
Bước 4: Nếu hệ thống làm việc dây chuyền thì phải thiết kế mạng để kết nối các PLC lại với nhau
6.2 Thiết kế chương trình PLC
Trình tự thiết kế chương trình của PLC thực hiện theo các bước sau đây:
Bước đầu tiên trong quá trình phát triển công nghệ là phân tích giản đồ thời gian hoặc lưu đồ thuật toán dựa trên bài toán cụ thể Cần xác định địa chỉ vào/ra và thiết lập các vùng nhớ phục vụ cho việc xử lý dữ liệu Đồng thời, liệt kê các bộ đếm, bộ trễ thời gian, cũng như các bit và byte trong vùng nhớ đặc biệt Cuối cùng, cần ghi chú các chương trình con và chương trình xử lý ngắt cần thiết cho chương trình.
Bước 2: Sau đó tiến hành biên dịch từ giản đồ thời gian hay lưu đồ thuật toán sang ngôn ngữ của PLC
Bước 3: Sử dụng công tắc, đèn LED hoặc phần mềm mô phỏng cho PLC để thử nghiệm chương trình ở chế độ offline, từ đó đánh giá tính tối ưu của nó Chương trình cần được viết ngắn gọn, đặc biệt là các chương trình xử lý ngắt, và phải đảm bảo độ tin cậy, bao gồm cả các chương trình xử lý sự cố.
6.3 Chạy thử chương trình PLC Đây là quá trình chạy trên máy ở chế độ online Trước khi chạy ở chế độ này phải thực hiện các bước sau:
Bước 1: Kiểm tra mức độ tiếp xúc của dây nối và địa chỉ đầu vào của công tắc, nút nhấn, công tắc hành trình thông qua các đèn trạng thái trên đầu vào của PLC Sử dụng đồng hồ để đo các tín hiệu tương tự.
Trước khi tiến hành chạy thử nghiệm, hãy kiểm tra kỹ lưỡng các dây nối đến các cơ cấu chấp hành để đảm bảo chúng đã được đấu nối đúng theo sơ đồ Đồng thời, cần kiểm tra điện áp trên các cơ cấu chấp hành để xác nhận rằng nó đã đạt yêu cầu.
Bước 3: Viết các đoạn chương trình nhỏ để kiểm tra trạng thái hoạt động của từng đầu ra, đặc biệt là với các cơ cấu thủy lực và khí nén, thường áp dụng cho máy móc có công nghệ phức tạp Đối với các máy đơn giản, có thể bỏ qua bước này Đảm bảo đưa các cơ cấu trở lại trạng thái ban đầu theo quy trình thiết kế đã định sẵn trong giản đồ thời gian hoặc lưu đồ thuật toán.
Bước 4: Nạp chương trình vào PLC và khởi động toàn bộ hệ thống Đánh giá độ tin cậy của chương trình; nếu cần thiết, thực hiện các điều chỉnh để cải thiện hiệu suất.
MỘT SỐ DÒNG PLC THÔNG DỤNG
Gồm những dòng sản phẩm sau:
- PLC – S5: Là loại PLC đầu tiên của Siemens
Logo là một loại PLC nhỏ của Siemens, được trang bị màn hình và các phím giao tiếp cho phép lập trình, thay đổi thông số và mô phỏng trực tiếp mà không cần sử dụng máy tính.
PLC logo sử dụng trong các hệ thống nhỏ, không sử dụng đƣợc trong các hệ thống lớn do số lƣợng đầu vào ra ít
PLC S7-200 cho phép tự động hóa tối đa với chi phí thấp nhất
Cài đặt lập trình và vận hành đơn giản
Đƣợc ứng dụng trong các điều kiện đơn giản và phức tạp
Tất cả các PLC có thể dùng độc lập, kết nối mạng hay dùng trong hệ phân tán
CPU tính hợp sẵn tín hiệu vào ra Khả năng mở rộng các module linh hoạt
Tích hợp bộ đếm tốc độ cao
Làm việc trong thời gian thực và khả năng kết nối truyền thông mạch
Số đầu vào ra ít nên chỉ sử dụng cho các hệ thống vừa và nhỏ
Không có khả năng điều khiển qua mạng Enternet
S7 – 300 đƣợc tích hợp cho các hệ thống điều khiển tự động hóa từ trung bình đến cao cấp
Sử dụng linh hoạt nhờ cấu trúc phân tán và khả năng kết nối mạng linh hoạt
Khả năng mở rộng của hệ thống dễ dàng
Với thẻ nhớ có khả năng lưu trữ dữ liệu và chương trình dễ dàng hơn cho c ng việc bảo trì
Hệ thống Module toàn diện và các CPU thích nghi tối ƣu với công việc tự động hóa
Đƣợc thiết kế theo tiêu chuẩn an toàn S/L 3, IEC 61508, Ak6, DIN V19250 và bốn nhóm chuẩn EN951 – 1
Khả năng mở rộng có thể mở rộng tối đa 8 module tín hiệu và 3 Module truyền thông là RS232 và RS 485
Giao tiếp có tích hợp sẵn cổng PROFINET (ETHERNET)
Lập trình giao tiếp với thiết bị giao diện người mày HMI
Có sẵn đầu vào tương tự trên CPU
Có thêm tính năng bảo mật
Không có nút Run Stop trên CPU
Có các tính năng và cấu trúc chương trình gần giống với S7 - 300/400 nhưng S7
- 1200 Thường dùng cho các hệ thống vừa và nhỏ Do có ít đầu vào ra số và tương tự
Hãng Omron đã chế tạo một số dòng PLC: CPM1A/A, CPM1, C200HS, CP1E, CP1H, CP1L, CJ1M, ZEN
PLC của hãng Omron thường có những ưu điểm sau:
Thiết kế nhỏ gọn hơn và linh hoạt
Sử dụng để điều khiển các hệ thống đơn giản vừa và nhỏ và giá thành rẻ và dễ sử dụng
Chỉ cần sử dụng phần mền lập trình CX – PROGRAM để lập trình cho tất cả các PLC của Omron
Gồm những dòng sản phẩm thông dụng sau:
PLC – FX0S là loại PLC siêu nhỏ, lý tưởng cho các ứng dụng với số lượng đầu vào và đầu ra dưới 30, giúp giảm chi phí và kích thước của bảng điều khiển.
Tích hợp sẵn bộ đếm tốc độ cao và các bộ tạo ngắt, cho phép xử lý tốt các ứng dụng phức tạp
Không có khả năng mở rộng số lƣợng đầu vào ra, không có khả năng nối mạng, thời gian thực hiện chương trình lâu
Có thể mở rộng thêm 8 đầu vào ra
Tăng cường khả năng truyền thông, kết nối mạng, cho phép tham gia nhiều mạng khác nhau nhƣ Ethernet, ProfileBus, CC-Link, CanOpen, Devicenet
Có các bộ đếm tốc độ cao
Thích hợp cho các ứng dụng điều khiển van, hệ thống máy nâng, thang máy, hệ thống xử lý nước thải, sản xuất xe hơi
Bộ điều khiển lập trình siêu gọn rất phù hợp cho các ứng dụng cần tiết kiệm không gian lắp đặt Lĩnh vực ứng dụng chính của nó bao gồm
FX2NC được sử dụng trong dây chuyền sản xuất thức ăn, điều khiển băng tải, dây chuyền đóng gói, trong lĩnh vực xây dựng, cũng như trong các hệ thống bơm và các bài toán điều khiển liên quan đến môi trường.
Các PLC dòng Q nổi bật với kỹ thuật multi-processor, cho phép đồng thời 4 CPU tham gia vào việc xử lý các quá trình điều khiển máy móc, điều khiển vị trí và truyền thông.
Các chức năng mạng được cải tiến đáng kể, cho phép cấu hình mạng MelsecNet với khoảng cách truyền tối đa lên tới 13,6 km và tốc độ truyền dữ liệu tối đa đạt 25Mbps.
PLC dòng Q đƣợc hỗ trợ chức năng nối mạng Internet, cho phép truyền các email cảnh báo đến cấp điều khiển cao hơn ở khoảng cách rất xa
Dòng Qn PLC được ưa chuộng trong các ngành công nghiệp cần tự động hóa cao, bao gồm công nghệ bán dẫn, truyền thông (IT), dây chuyền đóng gói sản phẩm, hệ thống máy dệt, và điều khiển các quy trình phun sơn, hàn đường.
Ngoài các hãng Siemens, Omron, Mitsubishi sản xuất PLC ra còn có một vài hãng khác nhƣ: LG, Schneider, ABB, Panasonic
TÀI LIỆU THAM KHẢO CHƯƠNG 1
1) Webb J.W and Reis R.A (1995) Programmable Logic Controllers Principles and
2) M Morris Mano and Charles R Kime (2004) Logic and Computer Design Fundamentals 3rd Ed.Prentice-Hall
3) Karl-Heinz John (1995) IEC 61131-3: Programming industrial automation systems
4) Mai Xuân Vũ (2003) Sổ tay hướng dẫn lập trình PLC Nhà xuất bản trẻ.
1 PLC là gì? Nêu cấu trúc phần cứng của một bộ PLC nói chung
2 Phân biệt tín hiệu vào/ra tương tự và số của một bộ PLC?
3 Nêu sự khác nhau giữa các loại cổng ra rơle, diac, transistor của PLC?
4 Nêu quy trình thiết kế một hệ thống điều khiển sử dụng PLC?
5 Khi tính chọn PLC cho một hệ thống điều khiển tự động cần quan tâm đến những yếu tố nào?
6 Nêu quy trình thiết kế một chương trình PLC?
THIẾT BỊ LOGIC KHẢ TRÌNH CỦA HÃNG SIEMENS S7 - 1200
ĐẶC ĐIỂM PHẦN CỨNG CỦA PLC S7 – 200
1.1 Cấu trúc phần cứng của S7 - 1200
PLC S7-1200 là một thiết bị tự động hóa dạng module, phù hợp cho nhiều ứng dụng từ nhỏ đến trung bình Điểm nổi bật của S7-1200 là tích hợp cổng truyền thông Profinet "Ethernet" và sử dụng phần mềm Simatic Step 7 Basic cho lập trình PLC và màn hình HMI, giúp đơn giản hóa quy trình thiết kế, lập trình và thi công hệ thống điều khiển.
CPU bao gồm một bộ vi xử lý tích hợp với nguồn cung cấp, mạch đầu vào và đầu ra Nó có khả năng điều chỉnh đầu vào và thay đổi đầu ra dựa trên mức logic của chương trình người sử dụng Các thành phần của CPU bao gồm mức logic (0,1), bộ đếm, bộ định thời, và các hàm toán học, cho phép nó giao tiếp với các thiết bị thông minh khác.
1 Trạng thái đèn hiển thị tín hiệu I/O
2 Trạng thái đèn hiển thị cho sự vận hành của CPU
5 Bộ nối dây người sử dụng lắp đặt
Hình 2.1 Module CPU của PLC S7-1200
Các đặc điểm nổi bật của SIMATIC S7 – 1200:
- Cổng truyền th ng Profinet (Ethernet) đƣợc tích hợp sẵn:
Dùng để kết nối với máy tính, với màn hình HMI hay truyền thông giữa các PLC với nhau
Dùng kết nối với các thiết bị khác có hỗ trợ chuẩn Ethernet mở
Hỗ trợ kết nối Ethernet
Giao thức TCP/IP, ISO on TCP và S7 protocol
Tốc độ truyền thông 10/100 Mbit/s
- Các tính năng về đo lường, điều khiển vị trí, điều khiển quá trình:
CPU có 6 bộ đếm tốc độ cao (high speed counters) dùng cho các ứng dụng đếm và đo lường, trong đó có 3 bộ đếm 100kHz và 3 bộ đếm 30kHz
Có 2 ngõ ra PTO 100KHz để điều khiển tốc độ và vị trí động cơ bước hay bộ lái servo (servo drive)
Có ngõ ra độ rộng xung PWM, điều chỉnh tốc độ động cơ, vị trí valve, hay điều khiển nhiệt đ
Có các bộ điều khiển PID với tính năng tự động xác định thông số điều khiển
Có thể mở rộng các tín hiệu vào/ra bằng cách sử dụng board tín hiệu mở rộng, giúp gắn trực tiếp phía trước CPU Các module tín hiệu này cho phép mở rộng tín hiệu mà không cần thay đổi kích thước của hệ điều khiển.
Mỗi CPU có thể kết nối 8 module mở rộng tín hiệu vào / ra
Có 2 ngõ vào analog (0 ÷ 10V) đƣợc tích hợp trên CPU
CPU có thể kết nối tối đa 3 module truyền th ng vào CPU để mở rộng khả năng truyền thông Ví dụ: module RS232 hay RS485
PLC S7 – 1200 có thêm thẻ nhớ SIMATIC dùng khi cần mở rộng bộ nhớ cho CPU, copy chương trình ứng dụng hay khi cập nhật firmware
Có khả năng chuẩn đoán online/offline
Board tín hiệu là module mở rộng tín hiệu vào/ra, giúp tiết kiệm chi phí cho các ứng dụng cần mở rộng số lượng tín hiệu ít.
Có các module tín hiệu tương tự với 1 cổng tín hiệu ra tương tự 12 bit
Có các module tín hiệu số, có 2 cổng tín hiệu vào số và có 2 cổng tín hiệu ra số
Hình 2.2 Module board tín hiệu mở rộng
- Module mở rộng tín hiệu vào/ra (SMs):
Các module mở rộng tín hiệu vào ra được lắp trực tiếp vào bên phải của CPU Đối với các loại module tín hiệu vào/ra số và analog, việc sử dụng CPU S7 trở nên linh hoạt hơn.
CPU S7 – 1200 có hỗ trợ thêm một vài đặc tính bảo mật giúp bảo vệ truy cập tới CPU và chương trình điều khiển
- Mỗi CPU đều cung cấp Password để bảo vệ và cho phép bạn thiết lập cấu hình truy cập tới các chức năng của CPU
- Sử dụng chức năng “know-how protection” để bảo vệ các block riêng của người sử dụng Ƣu điểm của PLC S7 1200:
Khả năng mở rộng có thể mở rộng tối đa 8 module tín hiệu và 3 Module truyền thông là RS232 và RS 485
Giao tiếp có tích hợp sẵn cổng PROFINET (ETHERNET)
- Để giao tiếp với phần mền lập trình
- Để giao tiếp với HMI
- Để giao tiếp với các PLC khác
- Điều khiển qua mạng Internet
Lập trình giao tiếp với thiết bị giao diện người mày HMI
Có sẵn đầu vào tương tự trên CPU
Có thêm tính năng bảo mật
Không có nút Run Stop trên CPU
Có các tính năng và cấu trúc chương trình gần giống với S7 - 300/400 nhưng S7
- 1200 Thường dùng cho các hệ thống vừa và nhỏ Do có ít đầu vào ra số và tương tự
Giá thành của S7 - 300/400 rất đắt, có khả năng quản lý rất nhiều các đầu vào ra
34 nên thường sử dụng trong các hệ thống lớn
PLC S7 – 1200 gồm các họ sau: CPU 1211C, CPU 1212C, CPU 1214C
* Đặc điểm của các họ PLC S7 – 1200:
Bảng 2.1 Các đặc tính kỹ thuật của S7 – 1200 Đặc điểm CPU 1211C CPU 1212C CPU 1214C
Đầu vào ra tương tự
Quá trình xử lý kích thước ảnh 1024 bytes ( đầu vào ) và 1024 bytes ( đầu ra )
Mở rộng các module tín hiệu
Không có module mở rộng
Có thể mở rộng thêm 2 module tín hiệu
Có thể mở rộng thêm
Các module truyền thông Hỗ trợ lên tới 3 module truyền th ng
Các bộ đếm tốc độ cao 3 4 6
Các xung đầu ra Có 2 xung đầu ra
PROFINET Có 1 cổng truyền thông Ethernet
Tốc độ thực hiện hàm toỏn học 18 às/lệnh
Tốc độ thực hiện hàm
1.3 Các Module mở rộng của PLC S7 - 1200
S7 – 1200 có 4 loại module mở rộng là các module signal (SMs), các Board signal (SBs), các module truyền th ng RS485, các module truyền th ng RS232
Sự khác nhau giữa 2 module mở rộng tín hiệu đầu vào ra của các module SM và
Module SM có khả năng mở rộng nhiều đầu vào ra số tối đa là 16 đầu vào ra số
Có khả năng mở rộng tối 8 đầu vào và 4 đầu ra analog Module SM đƣợc gắn ở bên phải CPU
Module SB có khả năng mở rộng tối đa 2 đầu vào ra số và chỉ mở rộng 1 đầu ra analog Nó được gắn trực tiếp trên CPU S7 – 1200.
* Các module đầu vào số:
Bảng 2.2 Các module đầu vào số của S7 – 1200
Số đầu vào số Có 8 đầu vào số Có 6 đầu vào số Điện áp đầu vào 24VDC 24VDC
* Các module đầu ra số:
Bảng 2.3 Các module đầu ra số của S7 – 1200
Số đầu ra số Có 8 đầu ra Có 16 đầu ra Có 8 đầu ra Có 16 đầu ra Điện áp đầu ra
* Các module đầu vào/ra số:
Bảng 2.4 Các module đầu vào/ra số của S7 – 1200
SM 1223 DI 16x24 VDC, DQ16x24VDC
Số đầu vào Có 8 đầu vào Có 16 đầu Có 8 đầu vào số Có 16 đầu vào số
36 số số vào số Điện áp đầu vào 24VDC tải 4mA
Có 8 đầu ra số Có 16 đầu ra số
Có 8 đầu ra số Có 16 đầu ra số Điện áp đầu ra
* Các module đầu vào/ra tương tự:
Bảng 2.5 Các module đầu vào/ra tương tự của S7 – 1200
Số đầu vào tương tự
Có 4 đầu vào tương tự Kh ng có đầu vào tương tự Điện áp đầu vào ±10V, ±5V, ±2.5 hoặc 0 ÷20mA -
Phạm vi tỉ lệ số nguyên (dữ liệu
Số đầu ra tương tự
Kh ng có đầu ra tương tự
Có đầu ra tương tự
Phạm vi đầu ra - ±10V hoặc 0 ÷ 20mA b Các module tín hiệu SBs:
* Module đầu vào và đầu ra số:
Bảng 2.6 Các module đầu vào/ra số SBs của S7 – 1200
Tên module SB 1223 DI 2×24VDC, DQ2×24VDC
Số đầu vào số Có 2 đầu vào số
Phạm vi điện áp đầu vào 24VDC tải 4mA
Số đầu ra số Có đầu ra số
Phạm vi điện áp đầu ra 20.4 ÷ 28.8 VDC
* Module đầu ra tương tự:
Bảng 2.7 Các module đầu ra tương tự SBs của S7 – 1200
Tên module SB 1232 AQ 1×12bit
Số đầu ra tương tự Có 1 đầu ra tương tự
Phạm vi điện áp đầu ra ±10V hoặc 0 ÷ 20mA c Module truyền thông RS485 (CM 1241 RS485):
Sử dụng để kết nối nhiều thiết bị với nhau qua các giao thức truyền thông PtP, USS, Modbus d Module truyền thông RS232 (CM 1241 RS232) e Thẻ nhớ SIMATIC:
Có 2 loại thẻ nhớ là:
Loại dung lương 24MB (mã sản phẩm: 6ES7 954-8LF00-0AA0)
Loại dung lƣợng 2 MB (mã sản phẩm: 6ES7 954-8LB00-0AA0) Ứng dụng:
Sử dụng thẻ nhớ để lưu giữ chương trình, sao chép chương trình, cập nhật chương trình
1.4 Kiểu dữ liệu và phân chia bộ nhớ
Kiểu dữ liệu Mô tả
BOOL gồm 1bit có giá trị là 0 hoặc (đúng hoặc sai)
BYTE gồm có 8 bít, thường dùng để biểu diễn 1 số nguyên dương trong khoảng từ 0 đến 255 (6#00 ÷16#FF)
WORD gồm các bytes để biểu diễn một số nguyên dương từ 0 đến 65535
CHAR gồm 8 bits dùng để biểu diễn số nguyên dương từ 0 đến 255
SINT gồm 8 bits dùng để biểu diễn một số nguyên từ -128 đến 127
INT gồm 2 bytes dùng để biểu diễn 1 số nguyên từ -32768 đến 32767
DINT gồm 4 bytes để biểu diễn 1 số nguyên từ -2,147,483,648 đến
USINT gồm 8 bits để biều diễn 1 số nguyên dương từ 0 đến 255
UINT gồm 2 bytes để biều diễn 1 số nguyên dương từ 0 đến 65,535
UDINT gồm 4 bytes để biều diễn 1 số nguyên dương từ 0 đến 4,294,967,295
REAL gồm 4 bytes dùng để biểu diễn một số thực dấu phẩy động từ +/- 1.18 × 10 38 đến +/- 3.40 × 10 38
LREAL gồm 64 bits dùng để biểu diễn một số thực dấu phẩy động từ +/-
- Cấu trúc bộ nhớ của CPU:
Bộ nhớ của S7 – 1200 đƣợc chia thành 3 vùng chính:
Vùng nhớ chương trình ứng dụng: được chia thành 3 miền:
OB (Organisation Block): Miền chứa chương trình tổ chức
FC (Function): Miền chứa chương trình con được tổ chức thành hàm có biến hình thức để trao đổi dữ liệu với chương trình đã gọi
FB (Function Block): Miền chứa chương trình con, được tổ chức theo hàm và có khả năng trao đổi dữ liệu với bất cứ khối chương trình nào khác
Vùng chứa tham số của hệ điều hành và chương trình ứng dụng: được chia thành các miền khác nhau:
I (Process image input): Miền bộ đệm các dữ liệu cổng vào số
Q (Process image output): Miền bộ đệm các dữ liệu cổng ra số
Miền các biến chờ (M) là vùng nhớ mà chương trình ứng dụng sử dụng để lưu trữ các tham số cần thiết Người dùng có thể truy cập vùng nhớ này theo các đơn vị khác nhau như bit (M), byte (MB), từ (MW) và từ kép (MD).
Miền phục vụ bộ thời gian Timer bao gồm việc lưu giữ giá trị thời gian đã đặt trước, giá trị đếm tức thời và giá trị logic đầu ra của bộ thời gian.
Miền phục vụ bộ đếm Counter bao gồm việc lưu giữ giá trị đặt trước, giá trị đếm tức thời và giá trị logic đầu ra của bộ đếm.
Vùng chứa các khối dữ liệu:
DB (Data Block): Miền chứa các dữ liệu đƣợc tổ chức thành khối
PLC thực hiện chương trình theo chu kỳ vòng lặp, mỗi vòng lặp được gọi là một vòng quét Quy trình của PLC bao gồm: chuyển dữ liệu từ cổng vào, thực hiện chương trình, chuyển dữ liệu từ cổng ra, và cuối cùng là truyền thông và kiểm tra nội bộ.
CPU S7 – 1200 hỗ trợ các khối chương trình cho phép tạo cấu trúc lập trình hiệu quả với chương trình của người sử dụng
Hình 2.4 Cấu trúc chương trình PLC – S7 1200
Khối OB (Organization blocks) là thành phần quan trọng trong việc tổ chức và điều khiển thực hiện chương trình OBs hoạt động theo chu kỳ và đóng vai trò là giao diện giữa chương trình người dùng và hệ thống vận hành Trong khối OB, đơn vị điều khiển của PLC được thông tin thông qua việc gọi các lệnh như khối chương trình để thực hiện xử lý.
* Loại khối FCs (Functions) and FBs (Function blocks) là các khối chương trình với các chức năng riêng giống như chương trình con hoặc 1 hàm
* Loại khối DBs (Data blocks) khối lưu trữ dữ liệu để thực hiện chương trình
1.5 Địa chỉ I/O trên CPU và I/O trên các Module
Các đầu vào của CPU là các bit địa chỉ từ I0.0 ÷ I0.7 và I1.0 ÷ I 5 (có 4 đầu vào trên CPU 1214C)
Các đầu ra của CPU là các bít địa chỉ từ Q0.0 ÷ Q0.7 và Q1.0 ÷ Q1.1 (có 10 đầu ra trên CPU 1214C)
Các đầu vào tương tự của CPU là địa chỉ Words IW64 và IW66
Có các đầu vào tương tự: IW64, IW66, IW112, IW114, IW116, IW118 (trên module mở rộng)
Có các đầu ra tương tự: QW80, QW112 và QW114 (trên module mở rộng)
Có 8 đầu vào số là I16.0 ÷ I17.7 (trên module mở rộng)
Có 8 đầu ra số là Q16.0 ÷ Q17.7 (trên module mở rộng)
LẬP TRÌNH CHO S7 - 1200
2.1 Phần mềm lập trình cho S7 – 1200
Bộ điều khiển S7 – 1200 đƣợc lập trình bằng phần mền STEP Basic phiên bản V10.5 hoặc TIA PORTAL
Step7 Basic hỗ trợ ba ngôn ngữ lập trình là FBD, LAD và SCL
2.2 Ngôn ngữ lập trình của PLC S7 - 1200
Ngôn ngữ lập trình cho PLC S7 – 1200 sử dụng 3 ngôn ngữ lập trình là LAD và FBD và SCL
* Các tiếp điểm thường mở và thường đóng:
Bảng 2.8 Bảng ký hiệu tiếp điểm logic của S7 – 1200
Dạng SCL Tham số Loại dữ liệu
IF NOT (in) THEN Statement; ELSE Statement; END_IF;
Bảng 2.9 Bảng ký hiệu tín hiệu đầu ra logic của S7 – 1200
Dạng FBD Dạng SCL Tham số
Out := ; OUT BOOL
Cuộn đầu ra đảo out := NOT
Bảng 2.10 Bảng ký hiệu tín hiệu đầu ra Set, Reset của S7 – 1200
Dạng LAD Dạng FBD Mô tả Tham số
Ghi giá trị tại địa chỉ đầu ra = 1 (OUT = 1) OUT BOOL
Ghi giá trị tại địa chỉ đầu ra = 0 (OUT = 0) OUT BOOL
Ví dụ: Khởi động động cơ với yêu cầu sau:
- Nhấn start: động cơ chạy
- Nhấn stop: động cơ dừng
* Lệnh phát hiện sườn lên, sườn xuống:
Bảng 2.11 Bảng ký hiệu lệnh phát sườn lên, sườn xuống của S7 – 1200
Dạng LAD Dạng FBD Dạng
Tiếp điểm phát hiện sườn lên Khi đầu vào IN chuyển từ 0-1 thì bit trạng thái đƣợc set lên 1 và đầu vào IN được lưu trữ trong M0.0 (M_BIT)
Tiếp điểm phát hiện sườn xuống Khi đầu vào
IN chuyển từ 0-1 thì bit trạng thái đƣợc set lên và đầu vào IN được lưu trữ trong M0.0 ( M_BIT)
Cuộn phát hiện sườn lên
Khi đầu vào IN chuyển từ 01 thì bit trạng thái đƣợc set lên 1 và đầu vào
IN được lưu trữ trong M0.0 (M_BIT)
Cuộn phát hiện sườn xuống Khi đầu vào IN chuyển từ 0 1 thì bit trạng thái đƣợc set lên 1 và đầu vào IN được lưu trữ trong M0.0 (M_BIT)
Ví dụ: Khởi động băng tải với yêu cầu:
- Nhấn start: băng tải chạy
- Nhấn stop: khi nào nhả tay ra khỏi nút stop băng tải mới đƣợc phép dừng
2.2.2 Các lệnh thời gian (Timer)
Bộ thời gian (Timer) là bộ tạo thời gian trễ mong muốn giữa giá trị tín hiệu logic đầu vào và tín hiệu logic đầu ra
Trong PLC S7 – 1200 có 4 loại timer là: TP, TON, TOF và TONR Còn trong PLC S7 200 chỉ có 3 loại Timer là: TON và TONR, TOF
Độ phân giải với đơn vị là ms Timer S7 –1200 có 4 độ phân giải khác nhau là: 10ms, 100ms, 1s và 10s
Giá trị đặt PT của tất cả các Timer là một số nguyên nằm trong khoảng 0 ÷ 999
Thời gian trễ của Timer đƣợc tính bằng công thức sau: t = độ phân giải×PT
Các timer TP, TON, TOF có cùng các tham số đầu vào IN, giá trị đặt PT, đầu ra
Các Timer TP, TON, TORN bắt đầu hoạt động khi tham số đầu vào IN chuyển từ 0 1
Timer TOF bắt đầu đếm khi đầu vào IN chuyển từ 1 0
Khi các Timer TP, TON, TOF đang hoạt động, việc thay đổi giá trị đặt PT không ảnh hưởng đến quá trình đếm của Timer Tuy nhiên, đối với Timer TORN, khi giá trị đặt được thay đổi trong quá trình đếm, Timer sẽ bắt đầu lại từ đầu.
Khi timer TP đang hoạt động, việc thay đổi đầu vào IN sẽ không ảnh hưởng đến quá trình hoạt động của nó, trong khi các timer khác sẽ bị ảnh hưởng.
* Sự giống và khác nhau giữa Timer S7 – 1200 và Timer S7 – 200:
Timer TON, TOF của S7 200 và S7 1200 là giống nhau
Timer TONR của S7 – 1200 có thêm đầu vào Reset timer còn của S7 200 kh ng có đầu vào Reset timer Còn quá trình đếm thì nhƣ nhau
Trong PLC S7 1200 có thêm Timer TP còn S7 200 không có timer TP
Bảng 2.12 Bảng ký hiệu lệnh Time của S7 – 1200
"IEC_Timer_0_DB".TP (IN:=_bool_in_,
PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);
Khi đầu vào IN đƣợc tác động từ từ mức 0 lên mức 1 Timer sẽ tạo ra 1 xung có độ rộng bằng thời gian đặt PT
- Các tham số trong Timer – PT:
Bảng 2.13 Bảng tham số của lệnh Time trong S7 – 1200
Tham số Đầu vào/ra Kiểu dữ liệu Vùng nhớ Mô tả
IN Đầu vào BOOL I, Q, M, DB,
PT Đầu vào TIME I, Q, M, DB,
L hoặc hằng số Độ rộng xung
Giá trị PT phải dương
ET Đầu ra TIME I, Q, M, DB,
Giá trị thời gian hiện tại
- Giản đồ xung của Timer TP:
Hình 2.5 Giản đồ xung của Timer TP
Ví dụ: Bật đèn sáng trong thời gian T với yêu cầu:
- Nhấn start thì đèn sáng trong 1 phút rồi tắt
Bảng 2.14 Bảng ký hiệu lệnh TON của S7 – 1200
Dạng LAD Dạng SCL Vùng nhớ Mô tả
TON (IN:=_bool_in_, PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);
I, Q, DB, L, M Khi đầu vào IN đƣợc tác động từ mức 0 lên mức 1 và duy trì trạng thái
1 Thì đầu ra Q sẽ lên mức 1 sau một thời gian trễ T
- Các tham số trong Timer-TON:
Bảng 6.15 Các tham sô của lệnh TON trong S7 – 1200
Tham số Đầu vào/ra
Kiểu dữ liệu Vùng nhớ Mô tả
IN Đầu vào BOOL I, Q, M, DB, L Đầu vào khởi động
PT Đầu vào TIME I, Q, M, DB, L hoặc hằng số
Thời gian trễ Giá trị PT phải dương
Q Đầu ra BOOL I, Q, M, DB, L Đầu ra
ET Đầu ra TIME I, Q, M, DB, L Giá trị thời gian hiện tại
- Giản đồ xung củaTimer-TON:
Hình 2.6 Giản đồ xung của Timer-TON
Ví dụ: Điều khiển 2 đèn với yêu cầu sau:
- Nhấn start chƣa nhấn stop, Đèn 1 sáng lu n, Đèn 2 nhấp nháy với chu kỳ 1s sáng, 1s tối
- Nhấn stop cả 2 bóng đèn đều tắt
Bảng 2.16 Bảng ký hiệu lệnh TOF của S7 – 1200
Dạng LAD Dạng SCL Vùng nhớ Mô tả
".TOF (IN:=_bool_in_, PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);
I, Q, M, DB, L Khi đầu vào IN đƣợc tác động từ mức 0 lên mức 1 Thì đầu ra Q sẽ lên mức 1 Khi đầu vào
IN từ mức 1 về mức 0 thì sau một thời gian trễ T thì Q sẽ chuyển
- Các tham số trong Timer-TOF:
Bảng 6.17 Các tham sô của lệnh TOF trong S7 – 1200
Tham số Đầu vào/ra
Kiểu dữ liệu Vùng nhớ Mô tả
IN Đầu vào BOOL I, Q, M, DB, L Đầu vào khởi động
PT Đầu vào TIME I, Q, M, DB, L hoặc hằng số
Thời gian trễ Giá trị PT phải dương
Q Đầu ra BOOL I, Q, M, DB, L Đầu ra
ET Đầu ra TIME I, Q, M, DB, L Giá trị thời gian hiện tại
- Giản đồ xung của Timer-TOF:
Hình 2.7 Giản đồ xung của Timer-TOF
Ví dụ: Điều khiển quá trình khởi động của động cơ theo yêu cầu:
- Nhấn start động cơ chạy ngay
- Nhấn Stop động cơ dừng sau 10s
* Timer tạo trễ có nhớ TONR:
Bảng 2.18 Bảng ký hiệu lệnh TONR của S7 – 1200
Dạng LAD Dạng SCL Vùng nhớ Mô tả
TONR (IN:=_bool_in_, R:=_bool_in_
PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_)
Khi tổng thời gian duy trì mức 1 vào chân IN =PT thì Q set lên 1 Khi chân
R lên mức 1 thì RESET timer và chân Q xuống mức 0
- Các tham số trong Timer-TONR:
Bảng 2.19 Các tham số của lệnh TONR trong S7 – 1200
Tham số Đầu vào/ra
Kiểu dữ liệu Vùng nhớ Mô tả
IN Đầu vào BOOL I, Q, M, DB, L Đầu vào khởi động
PT Đầu vào TIME I, Q, M, DB, L hoặc hằng số
Thời gian trễ Giá trị PT phải dương
Q Đầu ra BOOL I, Q, M, DB, L Đầu ra
ET Đầu ra TIME I, Q, M, DB, L Giá trị thời gian hiện tại
R Đầu vào BOOL I, Q, M, DB, L Reset bộ đếm thời gian và đầu ra Q Giản đồ xung của Timer-TONR:
Hình 2.8.Giản đồ xung của Time –TONR
Ví dụ: Một máy bơm đƣợc vận hành theo yêu cầu: Nếu nhấn nút start thì sau 10s máy bơm mới chạy Muốn dừng máy bơm thì nhấn nút stop
Bộ đếm trong S7-1200 thực hiện chức năng đếm sườn xung và được phân loại thành ba loại chính: bộ đếm tiến (CTU), bộ đếm lùi (CTD) và bộ đếm tiến lùi (CTUD).
Bảng 2.20 Bảng ký hiệu lệnh CTU của S7 – 1200
Dạng LAD Dạng SCL Mô tả
CTU(CU:=_bool_in, R:=_bool_in,
PV:=_int_in, Q=>_bool_out,
Giá trị của CV đƣợc tăng lên 1 khi CU chuyển từ mức tín hiệu 0 lên 1 Ngõ ra Q đƣợc tác động từ 0 lên 1 khi CVPV Với
PV là giá trị đặt ban đầu cho bộ đếm Khi ngõ vào R chuyển mức tín hiệu từ 0 lên 1
CV=>_int_out); thì CV=0 Nếu CV đạt giá trị max là 32.767 thì bộ đếm ngừng đếm
- Các tham số trong CTU:
Bảng 2.21 Các tham sô của lệnh CTU trong S7 – 1200
Tham số Đầu vào/ra
Kiểu dữ kiệu Vùng nhớ Mô tả
CU Đầu vào BOOL I, Q, M, DB, L Giá trị đầu vào đếm
R Đầu vào BOOL I, Q, M, DB, L Reset bộ đếm hiện tại
PV Đầu vào Integers I, Q, M, DB, L hằng số
Giá trị đặt ban đầu
Q Đầu ra BOOL I, Q, M, DB, L Trạng thái ngõ ra
Tín hiệu lên mức 1 nếu CVPV
CV Đầu ra Integers,CHAR,
I, Q, M, DB, L Giá trị đếm hiện tại
- Giản đồ xung của CTU (PV=3):
Hình 2.9 Giản đồ xung của CTU
Ví dụ: Băng chuyền sản phẩm hoạt động theo yêu cầu:
Nhấn nút khởi động để hệ thống hoạt động, băng tải 1 sẽ bắt đầu chạy và cảm biến vật cản CB1 sẽ đếm số sản phẩm Khi có đủ 5 sản phẩm, băng tải 1 sẽ dừng trong 5 giây, trong khi băng tải 2 sẽ đưa sản phẩm vào khu sản xuất trong 5 giây Đồng thời, bộ đếm sản phẩm sẽ được Reset, hoàn tất một chu trình.
- Hệ thống dừng khi nhấn nút stop
Bảng 2.22 Bảng ký hiệu lệnh CTD của S7 – 1200
Dạng LAD Dạng SCL Mô tả
CTD(CD:=_bool_in, LD:=_bool_in, PV:=_int_in, Q=>_bool_out, CV=>_int_out);
Khi CD chuyển tín hiệu từ mức 0 lên mức 1, giá trị của CV sẽ giảm 1 Nếu CV nhỏ hơn hoặc bằng 0, ngõ ra Q sẽ chuyển từ 0 lên 1 Khi LD đạt mức 1, CV sẽ bằng PV, với PV là giá trị đặt ban đầu Bộ đếm sẽ ngừng hoạt động khi giá trị MIN của CV đạt -32.767.
Các tham số trong CTD:
Bảng 2.23 Các tham sô của lệnh CTD trong S7 – 1200
Tham số Đầu vào/Ra Kiểu dữ kiệu Vùng nhớ Mô tả
CD Đầu vào BOOL I, Q, M, DB, L Giá trị đầu vào đếm
LD Đầu vào BOOL I, Q, M, DB, L Khi tín hiệu lên mức 1 thì CV=PV
PV Đầu vào Integers I, Q, M, DB, L và hằng số
Giá trị đặt ban đầu
Q Đầu ra BOOL I, Q, M, DB, L Trạng thái ngõ ra
Tín hiệu lên mức 1 nếu CV