TỔNG QUAN VỀ CÔNG NGHỆ PHA SƠN TỰ ĐỘNG
Đặt vấn đề
Trong bối cảnh công nghiệp hoá, hiện đại hoá, việc đầu tư vào dây chuyền sản xuất tự động hoá là cần thiết để giảm chi phí, nâng cao năng suất lao động và cải thiện chất lượng sản phẩm Ứng dụng PLC vào các dây chuyền sản xuất đang trở thành một giải pháp hiệu quả, đặc biệt trong ngành xây dựng, nơi mà hệ thống PLC có thể mang lại lợi ích cao, nhất là trong quy trình pha chế sơn.
Mục đích nghiên cứu
Sơn là nguyên vật liệu quan trọng trong xây dựng, không chỉ bảo vệ bề mặt mà còn mang lại giá trị thẩm mỹ Màu sắc sơn được coi là yếu tố hàng đầu, nhưng hiện nay, việc pha màu chủ yếu dựa vào kinh nghiệm thủ công, dẫn đến độ chính xác thấp và tỷ lệ phế phẩm cao Để khắc phục những vấn đề này và tạo ra sản phẩm theo yêu cầu, việc áp dụng bộ điều khiển lập trình PLC trong dây chuyền sản xuất tự động là giải pháp hiệu quả, giúp nâng cao năng suất và giảm lãng phí.
Giới hạn đề tài
Dựa trên yêu cầu của đề tài và khả năng kiến thức hiện có, nhóm chúng em đã thực hiện các công việc sau: Nghiên cứu mô hình pha màu trong thực tế, tìm hiểu về PLC S7-300, viết và chạy chương trình trên PLC (CPU 315), cũng như tìm hiểu phần mềm WinCC Chúng em đã thiết kế giao diện bằng phần mềm WinCC và thực hiện kết nối giao tiếp giữa giao diện WinCC, màn hình HMI và chương trình PLC.
Hướng thực hiện đề tài
Nghiên cứu mô hình máy pha màu từ các bồn chứa vật liệu cơ bản nhằm sản xuất các màu như cam, xanh lá cây, lam, thẩm và chàm từ các màu cơ bản đỏ, vàng, xanh Người sử dụng có thể nhập lượng sản phẩm qua giao diện, lựa chọn sản phẩm và tỷ lệ các thành phần màu để đạt được màu mong muốn Hệ thống sử dụng bộ timer để tính thời gian trộn và xả sản phẩm, đồng thời điều khiển van cấp nguyên vật liệu và động cơ khuấy trộn thông qua PLC Giao diện mô hình và bảng điều khiển, cùng bảng mã màu được thiết kế để giám sát và điều khiển dễ dàng Hệ thống kết nối giữa giao diện Wincc, cho phép giám sát qua màn hình HMI và chương trình PLC, đảm bảo mô hình hoạt động hoàn toàn hiệu quả.
Một số mô hình ngoài thực tế
Hình 1.1: Hệ thống pha màu sơn của Seamaster
Hình 1.2: Hệ thống máy pha màu tự động hiện đại Solite Paint
MÔ TẢ QUY TRÌNH CÔNG NGHỆ
Quy trình điều khiển trộn
Bình trộn là thiết bị quan trọng trong quy trình sản xuất sơn, không chỉ dùng để trộn các màu sơn khác nhau mà còn để rửa sạch sơn sau mỗi mẻ trộn Sơ đồ công nghệ chỉ ra rằng có ba loại sơn màu cơ bản: đỏ, vàng và xanh, được đưa vào bình trộn để tạo ra màu sơn mong muốn.
Quy trình thực hiện bao gồm việc xả ba màu sơn xanh, vàng và đỏ vào bồn trộn Loại sơn thứ nhất được xả qua van điện từ 1 trong thời gian t1, loại thứ hai qua van điện từ 2 trong thời gian t2, và loại thứ ba qua van điện từ 3 trong thời gian t3 Các van sẽ ngừng cung cấp sơn khi đã đủ thời gian quy định, sau đó bắt đầu quá trình trộn được điều khiển bởi động cơ trộn trong 5 giây Cuối cùng, sản phẩm sau khi trộn sẽ được rót thẳng vào bình chứa trung gian.
Quy trình điều khiển rót sơn
Khâu rót sơn diễn ra ngay sau khi hoàn tất quá trình trộn sơn, khi động cơ trộn đã ngừng hoạt động Quá trình này được hỗ trợ bởi hai cảm biến, giúp giám sát và báo cáo tự động trong suốt quá trình rót sơn.
Các cảm biến được dùng trong qua trình rót sơn:
- Cảm biến 1: báo hộp sơn đã đến đúng vị trí để rót sơn.
- Cảm biến 2: báo hộp sơn đến cuối băng tải cần được đưa.
Sau khi quá trình trộn sơn hoàn tất, sơn sẽ được rót vào hộp Băng tải di chuyển để đưa hộp sơn đến vị trí rót Khi cảm biến 1 xác nhận hộp đã đến đúng vị trí, băng tải ngừng lại và van rót mở ra, cho phép sơn chảy vào hộp trong khoảng thời gian đã được tính toán trước Khi sơn đã đầy, van sẽ đóng lại, ngừng rót, và băng tải tiếp tục di chuyển để đưa hộp sơn ra ngoài, đồng thời chuẩn bị cho hộp sơn tiếp theo.
Hình 2.2: Mô hình sao màu
Tổng quan về PLC S7-300
Thiết bị điều khiển logic lập trình (PLC) là thiết bị linh hoạt cho phép thực hiện các thuật toán điều khiển số thông qua ngôn ngữ lập trình, thay vì sử dụng mạch số truyền thống PLC hoạt động như một bộ điều khiển số nhỏ gọn, dễ dàng thay đổi thuật toán và giao tiếp hiệu quả với môi trường xung quanh, bao gồm các PLC khác và máy tính Toàn bộ chương trình điều khiển được lưu trữ trong bộ nhớ của PLC dưới dạng các khối chương trình như OB, FC và FB, và được thiết lập theo chu kỳ vòng quét Để thực hiện chương trình điều khiển, PLC cần có bộ vi xử lý, hệ điều hành, bộ nhớ để lưu trữ chương trình và dữ liệu, cùng với cổng đầu vào/ra để giao tiếp với đối tượng điều khiển Ngoài ra, PLC còn tích hợp các khối chức năng đặc biệt như bộ đếm và bộ thời gian, cùng với các khối chuyên dụng khác.
Thiết bị điều khiển logic lập trình (PLC) là một thiết bị điều khiển đặc biệt sử dụng bộ vi xử lý, cho phép lưu trữ các lệnh trong bộ nhớ lập trình PLC thực hiện các chức năng như phép logic, lập chuỗi, định giờ, đếm và thuật toán, nhằm điều khiển máy móc và các quy trình sản xuất.
PLC được thiết kế để người dùng không cần có kiến thức sâu về máy tính vẫn có thể vận hành dễ dàng Để điều khiển một bài toán, người dùng chỉ cần viết chương trình bằng ngôn ngữ PLC và nhập vào bộ nhớ của thiết bị Thiết bị điều khiển sẽ giám sát các tín hiệu vào/ra theo chương trình đã lập và thực hiện các quy tắc điều khiển đã được lập trình.
PLC có 5 thành phần cơ bản: Đơn vị xử lý trung tâm, bộ nhớ, bộ nguồn nuôi, khối tín hiệu vào/ra và thiết bị lập trình.
Hình 2.3 Sơ đồ cấu trúc cơ bản của PLC
Một PLC điển hình có cấu tạo như hình vẽ:
Hình 2.4 Cấu tạo của PLC
Cấu trúc cơ bản của PLC bao gồm các thành phần chính như bộ vi xử lý trung tâm (CPU), bộ nhớ (ROM và RAM), khối vào ra, khối phát xung nhịp, pin và hệ thống các BUS.
Hoạt động của PLC được điều khiển bởi CPU, với tốc độ phụ thuộc vào khối phát xung nhịp Khối phát xung nhịp thường có tần số từ 1 đến 8 MHz, cung cấp xung nhịp cho tất cả các khối trong PLC, giúp đồng bộ hóa quá trình hoạt động giữa các khối và CPU.
Hệ thống BUS bao gồm bốn thành phần chính: BUS địa chỉ, dùng để xác định địa chỉ trên các vùng nhớ; BUS điều khiển, truyền tải thông tin điều khiển; BUS dữ liệu, chịu trách nhiệm truyền tải dữ liệu; và BUS vào/ra, mang thông tin từ các thiết bị đầu vào và ra.
Có bốn bộ nhớ trong PLC:
Bộ nhớ ROM là loại bộ nhớ không thể thay đổi, chỉ có thể được nạp một lần, vì vậy nó ít được sử dụng phổ biến hơn so với các loại bộ nhớ khác.
Bộ nhớ RAM là loại bộ nhớ linh hoạt, được sử dụng để lưu trữ các chương trình ứng dụng và dữ liệu Tuy nhiên, dữ liệu trong RAM sẽ bị mất khi nguồn điện bị ngắt Để khắc phục tình trạng này, có thể sử dụng pin để duy trì dữ liệu.
Bộ nhớ EPROM, giống như RAM, không cần pin để duy trì dữ liệu Tuy nhiên, nội dung trong EPROM có thể bị xóa bằng cách chiếu tia cực tím vào một cửa sổ nhỏ trên chip Sau đó, dữ liệu mới có thể được nạp lại bằng máy nạp.
Bộ nhớ EEPROM kết hợp ưu điểm của RAM và EPROM, cho phép xóa và nạp dữ liệu bằng tín hiệu điện Tuy nhiên, số lần nạp dữ liệu của loại bộ nhớ này vẫn có giới hạn nhất định.
2.3.4 ƯU NHƯỢC ĐIỂM CỦA HỆ THỐNG:
Trong giai đoạn 1960 - 1980, hệ thống điều khiển tự động chủ yếu sử dụng Rơle điện tử kết nối qua dây dẫn, dẫn đến bảng điều khiển cồng kềnh và thường xuyên xảy ra trục trặc Thời gian hoạt động của Rơle có giới hạn, yêu cầu ngừng toàn bộ hệ thống khi cần thay thế, và dây nối cũng cần được thay mới cho phù hợp Hệ thống bảng điều khiển chỉ đáp ứng một yêu cầu cụ thể, không thể thay đổi chức năng ngay lập tức, đòi hỏi kỹ thuật viên có tay nghề cao Do đó, hệ thống điều khiển Rơle thiếu tính linh hoạt.
*Tóm tắc nhược điểm của hệ thống điều khiển dùng Rơle:
- Tổn kém rất nhiều dây dẫn.
- Thay thế rất phức tạp.
- Cần công nhân sửa chữa tay nghề cao.
- Công suất tiêu thụ lớn.
- Thời gian sửa chữa lâu.
- Khó cập nhật sơ đồ nên gây khó khăn cho công tác bảo trì cũng như thay thế.
*Ưu điểm của hệ điều khiển PLC:
Sự xuất hiện của hệ điều khiển PLC đã cách mạng hóa hệ thống điều khiển và thay đổi quan niệm thiết kế liên quan Hệ điều khiển sử dụng PLC mang lại nhiều lợi ích đáng kể.
- Giảm 80% số lượng dây dẫn.
- Công suất tiêu thụ của PLC rất thấp.
- Có chức năng tự chuẩn đoán do đó dễ dàng cho công tác sửa chữa được nhanh chóng và dễ dàng.
Chức năng điều khiển có thể thay đổi một cách linh hoạt thông qua thiết bị lập trình như máy tính hoặc màn hình, mà không cần phải thay đổi phần cứng, trừ khi có yêu cầu bổ sung hoặc giảm thiểu các thiết bị xuất nhập.
- Số lượng Rơle và Timer ít hơn nhiều so với hệ điều khiển cổ điển.
- Số lượng tiếp điểm trong chương trình sử dụng không hạn chế.
- Thời gian hoàn thành một chu chình điều khiển rất nhanh( vài mS) dẫn đến tăng cao tốc độ sản xuất.
- Chi phí lắp đặt thấp.
- Chương trình điều khiển có thể in ra giấy chỉ trong vài phút thuận tiện cho vấn đề bảo trì và sửa chữa hệ thống.
Cấu trúc phần cứng của PLC
Để tăng tính linh hoạt trong ứng dụng thực tế, các bộ điều khiển PLC được thiết kế với cấu hình không cố định, cho phép sử dụng nhiều loại tín hiệu vào/ra khác nhau Chúng được chia thành các modul, với số lượng modul tùy thuộc vào yêu cầu công nghệ Tuy nhiên, luôn cần ít nhất một modul chính, đó là modul CPU, cùng với các modul chức năng chuyên dụng như PID và điều khiển động cơ, được gọi là modul mở rộng Tất cả các modul này được lắp đặt trên các thanh ray (RACK).
Modul CPU là một thiết bị quan trọng, bao gồm bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời gian, bộ đếm, và cổng truyền thông chuẩn RS485 Ngoài ra, modul này còn có thể tích hợp một số cổng vào/ra số, được gọi là cổng vào ra ONBOARD.
Modul CPU bao gồm các loại sau :
- Vùng nhớ làm việc :6KB
- Thời gian xử lý 1 khối lệnh:0.6ms/KAW
- DI/DO trên module CPU:10/6
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :12KB
- Thời gian xử lý 1 khối lệnh:0.6ms/KAW
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :24KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :Từ 24KB đến 32KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- DI/DO trên module CPU:20/16
- Vùng nhớ làm việc :48KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :48KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Truyền thông kiểu MPI,Profilbus-DP
- Vùng nhớ làm việc :128KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :128KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Truyền thông kiểu MPI,Profilbus-DP
- Vùng nhớ làm việc :256KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :128KB đến 192KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- Sử dụng trong nối mạng MPI
- Vùng nhớ làm việc :Từ 128KB đến 192KB
- Thời gian xử lý 1 khối lệnh:0.3ms/KAW
- DI/DO trên module CPU:512KB
Các modul mở rộng được chia làm 5 loại chính……
1 PS (Power supply) module nguồn nuôi: có 3 loại 2A, 5A, 10A.
2 SM (Sigal module): Module mở rộng cổng tín hiệu vào/ra gồm:
- DI (Digital Input): module mở rộng cổng vào số có thể là 8, 16 hoặc 32 tuỳ thuộc vào từng loại module.
- DO (Digital Output): module mỏ rộng cổng ra số.
- DI/DO: module mỏ rộng cổng vào/ra số.
- AI (Analog Input):cổng vào tương tự, chúng là những bộ chuyển đổi tương tự số 12 bits.
- AO (Analog Output) Module cổng ra tương tự, là những bộ chuyển đổi tương tự(DA).
- AI/AO: Module mở rộng các cổng vào/ra tương tự.
3 IM (Interface Module) Module ghép nối:
Là loại module chuyên dụng có nhiêm vụ nối từng nhóm các module mở rộng lại vơi nhau thành một khối và được quản ly chung bởi 1 module CPU.
Các module mở rộng thường được lắp đặt trên một thanh đỡ gọi là Rack Mỗi Rack có khả năng chứa tối đa 8 module mở rộng, không tính đến module CPU và module nguồn Một module CPU S7-300 có thể kết nối và làm việc với tối đa 4 Rack, và các Rack này cần được kết nối với nhau thông qua module IM.
4 FM (Function Module) :Module có chức năng điều khiển riêng: VD module động cơ bước, module PID….
5 CP (Commuication Module):Module phục vụ truyền thông trong mạng giữa các PLC với nhau hoặc giữa PLC với máy tính.
Hình 2.5 Sơ đồ kết nối trạm PLC S7 - 300
2.4.2 Xử lý các tín hiệu vào ra, cấu trúc bộ nhớ trong PLC.
Các tín hiệu vào ra của PLC được lưu trữ trong các vùng nhớ, và để xử lý chúng, cần truy cập vào các địa chỉ tương ứng để lấy giá trị Bài viết này sẽ trình bày cấu trúc bộ nhớ và các phương pháp truy cập cho PLC Siemens.
PLC lưu trữ thông tin trong bộ nhớ Bộ nhớ của PLC được chia làm nhiều vùng (I,
Q, M, T, C,….) mỗi vùng nhớ đều có địa chỉ xác định Ta có thể truy nhập (ghi hoặc đọc thông tin) vào các ô nhớ trong các vùng bằng địa chỉ của chúng Có 2 cách truy nhập theo ting bit hoặc truy nhập theo byte.
Để thực hiện truy nhập theo từng bit, cần xác định địa chỉ bao gồm ba phần: địa chỉ vùng nhớ, địa chỉ byte và địa chỉ bit, với dấu phân cách giữa địa chỉ byte và địa chỉ bit.
Hình 2.6 Truy nhập theo cùng nhớ
Như vậy thông tin của đầu vào I3.4 sẽ được lưu trữ trong ô nhớ có địa chỉ I3.4 Truy nhập vào ô nhớ này sẽ biết được thông tin đầu vào I3.4.
Truy nhập theo byte cho phép chúng ta tiếp cận các vùng nhớ dưới dạng byte, Word (2 byte) và Double Word (4 byte) Để thực hiện các phương pháp truy nhập này, cần xác định địa chỉ của vùng nhớ, bao gồm các loại như V, I, Q, M, SM, T, C, và HC.
2.4.3 Nguồn nuôi và ngõ ra của PLC S7-300.
- Nguồn nuôi: là đợn vị dùng để chuyển đổi nguồn AC thành nguồn DC (5V, 24V) để cung cấp cho CPU và các khối vào ra.
- Ngõ ra: Plac S7-300 có ngõ ra là các phần tử hoạt động tương thích với các loại tín hiệu vào như Role, các van điều khiển….
2.4.4 Các hệ đếm và các kiểu dữ liệu.
Chúng ta thường sử dụng hệ đếm thập phân (hệ cơ số 10), nhưng còn nhiều hệ đếm khác cũng rất phổ biến.
- Hệ nhị phân: là hệ đếm cơ số 2, sử dụng 2 con số 0 và 1 để biểu diễn giá trị.
- Hệ bát phân: là hệ đếm cơ số 8, sử dụng 8 con số 0,1,2,3,4,5,6,7 để biểu diễn các giá trị.
- Hệ thập phân: là hệ đếm cơ số 10 dùng các con số 0,1,2,3,4,5,6,7,8,9 để biểu diễn các giá trị.
- Hệ thập lục phân: là hệ đếm cơ số 16 sử dụng 16 con số 0…… F để biểu diễn các giá trị.
PLC lưu trữ các dữ liệu trong các bộ nhớ, các dữ liệu này có thể được lưu trữ ở nhiều dạng khác nhau:
- BOOL: với dung lượng là 1bit và có giá trị là 0 hoặc 1, đây là kiểu dữ liệu biến có 2 giá trị.
- BYTE: gồm 8 bits, thường được dùng để biểu diễn 1 số nguyên dương trong khoảng 0….255 hoặc mã ASCII của 1 ký tự.
- WORD: gồm 2 bytes để biểu diễn số nguyên dương từ 0……65535.
- DWORD: là từ kép có giá trị là 0….2 32 -1.
- INT: cũng có dung lượng 2 bytes, dùng để biểu diễn 1 số nguyên trong khoảng -32768… +32767 (2 -15 ….2 15 -1).
- REAL: có dung lượng là 4 bytes dùng để biểu diễn 1 số thực trong khoảng -3,4E 38 … 3,4E 38
Kết nối thiết bị vào ra với PLC
Hình 2.7 Kết nối thiết bị vào ra PLC
PLC bao gồm các bộ nguồn kết nối với CPU và các IO vào ra kết nối với các thiết bị ngoại vi (hình 1.2)
2.6 TỔ CHỨC DỮ LIỆU VÀ CÁCH TRUY CẬP VÙNG NHỚ.
2.6.1 Các vùng nhớ chính của PLC Được chia ra làm 3 vùng chính:
1) Vùng chứa chương trình ứng dụng: vùng nhớ chương trình được chia làm 3 miền: + OB: Miền chứa chương trình tổ chức.
+ FC: ( Funktion ) 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 nó.
FB (Funktion Block) là miền chứa chương trình con, được tổ chức thành hàm và có khả năng trao đổi dữ liệu với bất kỳ khối chương trình nào khác Dữ liệu trong FB phải được xây dựng thành một khối dữ liệu riêng biệt, gọi là DB (Data Block).
2) Vùng chứa các tham số của hệ điều hành và chương trình ứng dụng, được chia thành 7 miền khác nhau, bao gồm:
Trước khi thực hiện chương trình, PLC sẽ đọc và lưu trữ giá trị logic của tất cả các đầu vào vào bộ nhớ I Thông thường, chương trình ứng dụng không truy cập trực tiếp vào trạng thái logic của cổng vào mà chỉ sử dụng dữ liệu từ bộ đếm I.
Miền bộ đếm các cổng ra số là giai đoạn quan trọng trong quá trình thực hiện chương trình Kết thúc giai đoạn này, giá trị của bộ đếm sẽ được chuyển tới cổng ra số Thông thường, giá trị không được gán trực tiếp đến cổng ra mà sẽ được lưu trữ vào bộ nhớ Q trước khi xuất ra.
M: Miền các biến cờ Chương trình ứng dụng sử dụng vùng nhớ này để lưu giữ các tham số cần thiết và có thể truy cập nó theo Bit (M), Byte(MB) , từ (MW) hay từ kép(MD).
T: Miền nhớ phụ vụ bộ thời gian(TIME) bao gồm việc lưu giữ giá trị thời gian dặt trước ( PV - Preset Value), giá trị đếm thời gian tức thời ( CV - Curren Value) cũng như các giá trị logic đầu ra của bộ thời gian.
C: Miền nhớ phục vụ bộ đếm ( Counter) bao gồm việc lưu giữ giá trị đặt trước (PV), và giá trị đếm tức thời (CV) và giá trị logic đầu ra của bộ đếm.
Miền địa chỉ cổng vào của các modul tương tự, được gọi là PI, cho phép đọc và chuyển đổi tự động các giá trị tại cổng vào Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PIB), từng từ (PIW) hoặc theo từ kép (PID).
Miền PQ là địa chỉ cổng ra cho các mô-đun tương tự, nơi các giá trị được chuyển tới các cổng ra tương tự Chương trình ứng dụng có thể truy cập miền PQ theo từng byte (PQB), từng từ (PQW) hoặc theo từ kép (PQD).
3) Vùng chứa các khối dữ liệu: được chia làm hai loại
DB (Data Block) là vùng lưu trữ dữ liệu được tổ chức thành các khối, với kích thước và khối lượng do người dùng xác định, phù hợp với từng bài toán điều khiển Chương trình ứng dụng có khả năng truy cập vào vùng nhớ này theo từng bit, byte, từ hoặc từ kép.
L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB, FB,
FC tổ chức và sử dụng biến nháp tạm thời để trao đổi dữ liệu giữa các khối chương trình Dữ liệu trong miền nhớ này sẽ bị xóa khi chương trình kết thúc trong OB, FB, FC Miền nhớ có thể được truy cập theo từng bít (L), byte (LB), từ (LW), và từ kép (LD).
2.6.2 Vòng quét của chương trình.
SPS (PLC) thực hiện các công việc theo chu trình lặp, với mỗi vòng lặp được gọi là vòng quét (scancycle) Mỗi vòng quét bắt đầu bằng việc chuyển dữ liệu từ các cổng vào số vào bộ đệm ảo I, sau đó thực hiện chương trình từ lệnh đầu tiên đến lệnh kết thúc của khối OB1 Sau khi thực hiện chương trình, nội dung của bộ đệm ảo Q được chuyển tới các cổng ra số Cuối cùng, vòng quét kết thúc bằng việc xử lý các yêu cầu truyền thông (nếu có) và kiểm tra trạng thái của CPU.
Quá trình hoạt động của một vòng quét trong PLC liên quan đến thời gian thực hiện, được gọi là thời gian vòng quét (Scan time) Thời gian này không cố định và có thể thay đổi giữa các vòng quét khác nhau, phụ thuộc vào số lượng lệnh trong chương trình và khối dữ liệu truyền thông Lưu ý rằng bộ đệm I và Q không liên quan đến các cổng vào ra tương tự, do đó, các lệnh truy nhập cổng tương tự được thực hiện trực tiếp với cổng vật lý mà không qua bộ đệm.
Thời gian vòng quét trong PLC ảnh hưởng trực tiếp đến tính thời gian thực của chương trình điều khiển Khi đọc dữ liệu từ đối tượng cần xử lý và gửi thông tin điều khiển, thời gian này cần được tối ưu hóa Thời gian vòng quét càng ngắn, khả năng phản hồi và tính thời gian thực của chương trình càng được nâng cao.
Nếu sử dụng các khối chương trình đặc biệt có chế độ ngắt, ví dụ khối OB40,
Chương trình OB80 cho phép thực hiện các khối trong vòng quét khi nhận tín hiệu báo ngắt cùng loại Những khối này có thể được thực hiện ở bất kỳ vòng quét nào, không chỉ giới hạn trong giai đoạn chương trình Khi tín hiệu báo ngắt xuất hiện trong khi PLC đang thực hiện các tác vụ khác như truyền thông hay kiểm tra nội bộ, PLC sẽ tạm dừng các tác vụ đó để xử lý ngắt Sự xuất hiện nhiều tín hiệu ngắt trong một vòng quét sẽ làm tăng thời gian vòng quét Do đó, để cải thiện tính thời gian thực của chương trình điều khiển, cần hạn chế số lượng chương trình xử lý ngắt và không lạm dụng chế độ ngắt trong điều khiển.
Khi thực hiện lệnh vào/ra, lệnh thường không tương tác trực tiếp với cổng mà thông qua bộ nhớ đệm trong vùng nhớ tham số Hệ điều hành CPU quản lý việc truyền thông giữa các bộ đệm ảo và ngoại vi trong giai đoạn 1 và 3 Ở một số mô-đun CPU, khi gặp lệnh vào/ra, hệ thống sẽ tạm dừng mọi công việc khác, bao gồm cả chương trình xử lý ngắt, để thực hiện lệnh với cổng vào/ra.
2.6.3 Những khối OB đặc biệt.
PHẦN MỀM LẬP TRÌNH VÀ GIÁM SÁT
Giới thiệu TIA PORTAL V14 – tích hợp lập trình PLC và HMI
Tia Portal v14 là một hệ thống kỹ thuật đồng bộ, đảm bảo hoạt động liên tục và hoàn hảo Hệ thống này mang đến sự thông minh và trực quan trong việc cấu hình phần cứng, cấu hình mạng, lập trình, chuẩn đoán và nhiều tính năng khác.
Lợi ích với người dùng :
- Trực quan : dễ dàng để tìm hiểu và dễ dàng để hoạt động
- Hiệu quả : tốc độ về kỹ thuật
- Chức năng bảo vệ : Kiến trúc phần mềm tạo thành một cơ sở ổn định cho sự đổi mới trong tương lai.
Cách tạo 1 Project
Bước 1: Từ màn hình desktop nhấp đúp chọn biểu tượng Tia Portal V14
Hình 3.1 : Hình ảnh TIA PORTAL V14
Bước 2 : Click chuột vào Create new project để tạo dự án
Bước 3 : Nhập tên dự án vào Project name sau đó nhấn create
Bước 5 : Chọn add new device
Bước 6 : Chọn loại CPU PLC sau đó chọn add
Bước 7 : Project mới được hiện ra
Hoàn thiện xong quá trình tạo ra 1 project mới.
TAG của PLC / TAG local
- Phạm vi ứng dụng : Giá trị Tag có thể được sử dụng mọi khối chức năng trong PLC
- Ứng dụng : binary I/O, Bits of memory
- Định nghĩa vùng : Bảng tag của PLC
- Miêu tả : Tag PLC được đại diện bằng dấu ngoặc kép Tag Local
Giá trị chỉ có thể được áp dụng trong khối đã được khai báo, tuy nhiên, những mô tả tương tự có thể được sử dụng cho các khối khác nhau với các mục đích đa dạng.
- Ứng dụng : tham số của khối, dữ liệu static của khối, dữ liệu tạm thời
- Định nghĩa vùng : khối giao diện
- Miêu tả : Tag được đại diện bằng dấu # Sử dụng Tag trong hoạt động
Bảng tag PLC chứa các định nghĩa và hằng số giá trị trong CPU, được tự động tạo ra cho mỗi CPU trong dự án.
- Colum : mô tả biểu tượng có thể nhấp vào để di chuyển vào hệ thống hoặc có thể kéo nhả như một lệnh chương trình
- Name : chỉ được khai báo và sử dụng một lần trên CPU
- Data type : kiểu dữ liệu chỉ định cho các tag
-Address : địa chỉ của tag
- Retain : khai báo của tag sẽ được lưu trữ lại
- Comment : comment miêu tả của tag
Nhóm tag : tạo nhóm tag bằng cách chọn add new tag table
Tìm và thay thế tag PLC
Ngoài ra còn có một số chức năng sau:
- Giám sát tag của plc
- Đổi tên tag : Rename tag
- Đổi tên địa chỉ tag : Rewire tag
- Copy tag từ thư viện Global
Đổ chương trình xuống PLC
Đổ từ màn hình soạn thảo chương trình bằng cách kích vào biểu tượng download trên thanh công cụ của màn hình
Chọn cấu hình Type of the PG/PC interface và PG/PC interface như hình dưới sau đó nhấn chọn load
Chọn start all như hình vẽ và nhấn finish
Giám sát và thực hiện chương trình
Để giám sát chương trình trên màn hình soạn thảo kích chọn Monitor trên thanh công cụ
Hoặc cách 2 làm như hình dưới
Sau khi chọn monitor chương trình soạn thảo xuất hiện như sau:
Kỹ thuật lập trình
PLC hoạt động theo chu trình lặp, được gọi là vòng quét Mỗi vòng quét bắt đầu bằng việc chuyển dữ liệu từ các cổng vào số vào vùng bộ đệm ảo I, sau đó tiến hành thực hiện chương trình Trong mỗi vòng quét, chương trình được thực hiện từ lệnh đầu tiên cho đến lệnh kết thúc của khối OB1.
Sau khi hoàn thành chương trình, giai đoạn tiếp theo là chuyển đổi các nội dung của bộ đệm ảo Q đến các cổng ra số Quy trình quét kết thúc với việc thực hiện truyền thông nội bộ và kiểm tra lỗi.
Lưu ý rằng bộ đệm I và Q không tương tác với các cổng vào/ra tương tự, do đó, các lệnh truy cập cổng tương tự được thực hiện trực tiếp với cổng vật lý mà không thông qua bộ đệm.
3.6.2.1 Khối tổ chức OB – OGANIZATION BLOCKS
Organization blocks (OBs) là giao diện giữa hoạt động của hệ thống và chương trình người dùng Chúng được gọi ra bởi hệ thống hoạt động và điều khiển quá trình xử lý chương trình.
+Báo động – kiểm soát xử lý chương trình
Các khối Startup OB, Cycle OB, Timing Error OB và Diagnosis OB có thể được chèn và lập trình trong các dự án mà không cần phải gán thông số cho chúng hoặc gọi chúng trong chương trình chính.
Các khối OB Process Alarm và Time Interrupt OB cần được tham số hóa khi tích hợp vào chương trình Quá trình báo động OB có thể được gán cho một sự kiện trong thời gian thực hiện thông qua lệnh ATTACH, hoặc có thể tách biệt bằng lệnh DETACH.
OB ngắt thời gian trễ có thể được tích hợp vào dự án và lập trình một cách hiệu quả Để sử dụng, cần gọi chúng trong chương trình thông qua lệnh SRT_DINT, trong đó tham số là không bắt buộc.
Khi một số OB được khởi động, hệ điều hành sẽ trích xuất thông tin đã được xác thực trong chương trình người dùng, điều này rất quan trọng cho việc chẩn đoán lỗi Thông tin này có thể được cung cấp qua các mô tả của các khối OB, giúp nâng cao hiệu quả trong quá trình xử lý sự cố.
Functions (FCs) là các khối mã không cần bộ nhớ, trong đó dữ liệu của các biến tạm thời sẽ bị mất sau khi FC được xử lý Để lưu trữ dữ liệu của FC, có thể sử dụng các khối dữ liệu toàn cầu.
- Functions có thể được sử dụng với mục đích
+ Trả lại giá trị cho hàm chức năng được gọi
+ Thực hiện công nghệ chức năng, ví dụ : điều khiển riêng với các hoạt động nhị phân
FC có thể được gọi nhiều lần trong một chương trình tại các thời điểm khác nhau, điều này giúp lập trình các chức năng lặp đi lặp lại trở nên phức tạp hơn.
FB (function block) cần một khu vực nhớ cho mỗi lần gọi Khi một FB được kích hoạt, một Data Block (DB) sẽ được gán cho instance DB Dữ liệu trong instance DB sau đó sẽ được sử dụng để truy cập vào các biến của FB Nếu FB được gọi nhiều lần, các khu vực bộ nhớ khác nhau sẽ được gán cho từng lần gọi.
DB (khối dữ liệu) cung cấp bộ nhớ cho các biến dữ liệu, bao gồm hai loại: Global DB, cho phép tất cả các OB, FB và FC đọc và ghi dữ liệu, và Instance DB, được gán cho một FB cụ thể.
Giới thiệu các tập lệnh
3.7.1 Bit logic (tập lệnh tiếp điểm)
Tiếp điểm thường hở sẽ đóng khi giá trị của bit có địa chỉ là n bằng 1
Tiếp điểm thường đóng sẽ đóng khi giá trị của bit có địa chỉ n là 0
Giá trị của bit có địa chỉ là n sẽ bằng
1 khi đầu vào của lệnh này bằng 1 và ngược lại
Toán hạng n : Q, M, L, D Chỉ sử dụng một lệnh out cho 1 địa chỉ
Giá trị của bit có địa chỉ là n sẽ bằng
1 khi đầu vào của lệnh này bằng 0 và ngược lại
Chỉ sử dụng một lệnh out not cho 1 địa chỉ
D Lệnh đảo trạng thái ngõ vào / ra
Giá trị của các bit có địa chỉ n sẽ được đặt thành 1 khi đầu vào của lệnh là 1 Ngược lại, khi đầu vào bằng 0, bit này sẽ giữ nguyên trạng thái hiện tại.
Giá trị của các bit địa chỉ n sẽ trở thành 0 khi đầu vào lệnh là 1, trong khi nếu đầu vào lệnh là 0, các bit này sẽ giữ nguyên trạng thái hiện tại.
Giá trị của các bit có địa chỉ đầu tiên là OUT sẽ được thiết lập bằng 1 khi đầu vào của lệnh này là 1 Ngược lại, nếu đầu vào của lệnh bằng 0, các bit này sẽ giữ nguyên trạng thái hiện tại.
Trong đó số bit là giá trị của n Toán hạng OUT: Q, M, L, D n : là hằng số
Giá trị của các bit có địa chỉ đầu tiên là OUT sẽ là 0 khi đầu vào của lệnh bằng 1, trong khi khi đầu vào bằng 0, các bit này sẽ giữ nguyên trạng thái.
Trong đó số bit là giá trị của n Toán hạng OUT: Q, M, L, D n : là hằng số
10)Tiếp điểm phát hiện xung cạnh lên dạng 1
Tiếp điểm phát hiện cạnh lên sẽ phát ra một xung khi đầu vào tiếp điểm P có sự chuyển đổi từ mức thấp lên mức cao
Trạng thái của tín hiệu được lưu lại vào “M_BIT” Độ rộng của xung này bằng thời gian của một chu kì quét.
11)Tiếp điểm phát hiện xung cạnh lên dạng 2
Thay đổi trạng thái tín hiệu phía trước không ảnh hưởng đến “IN”
Phát hiện sự thay đổi trạng thái của
1 tín hiệu “IN” từ 0 lên 1
Trạng thái của tín hiệu IN được lưu lại vào “M_BIT” Độ rộng của xung này bằng thời gian của một chu kì quét.
Tiếp điểm phát hiện cạnh xuống sẽ phát ra một xung khi đầu vào tiếp điểm này có sự chuyển đổi từ mức cao xuống mức thấp
Trạng thái của tín hiệu được lưu lại vào “M_BIT” Độ rộng của xung này bằng thời gian của một chu kì quét.
12)Tiếp điểm phát hiện xung cạnh xuống dạng 1
13)Tiếp điểm phát hiện xung cạnh xuống dạng 2
Thay đổi trạng thái tín hiệu phía trước không ảnh hưởng đến “IN”
Phát hiện sự thay đổi trạng thái của
1 tín hiệu “IN” từ 1 xuống 0
Trạng thái của tín hiệu IN được lưu lại vào “M_BIT” Độ rộng của xung này bằng thời gian của một chu kì quét.
D Mạch chốt RS ưu tiên Reset
Mạch chốt RS ưu tiên Set
Sử dụng lệnh Timer để thiết lập chương trình trễ định thời, số lượng Timer phụ thuộc vào nhu cầu của người sử dụng và dung lượng bộ nhớ của CPU Mỗi Timer yêu cầu 16 byte dữ liệu kiểu cấu trúc IEC_Timer trong khối DB Phần mềm Step 7 sẽ tự động tạo khối DB khi khởi tạo khối Timer.
Kích thước và tầm của kiểu dữ liệu Time là 32 bit, lưu trữ như là dữ liệu Dint : T#- 14d_20h_31m_23s_648ms đến T#24d_20h_31m_23s_647ms hay là - 2.147.483.648 ms đến 2.147.483.647 ms.
Timer TP tạo một chuỗi xung với độ rộng xung đặt trước Thay đổi PT, IN không ảnh hưởng khi Timer đang chạy.
Khi đầu vào IN được tác động vào timer sẽ tạo ra một xung có độ rộng bằng thời gian đặt PT
Thay đổi PT không ảnh hưởng khi Timer đang vận hành, chỉ ảnh hưởng khi timer đếm lại
Khi ngõ vào IN chuyển sang trạng thái “FALSE” trong quá trình vận hành, bộ đếm thời gian sẽ dừng lại mà không đặt lại giá trị Khi chân IN trở lại trạng thái “TRUE”, bộ đếm thời gian sẽ tiếp tục tính toán từ giá trị thời gian đã tích lũy trước đó.
2) Timer trễ sườn lên có nhớ - Timer TONR
Khi ngõ vào IN ngừng tác động thì reset và dừng hoạt động Timer.
Thay đổi PT khi Timer vận hành không có ảnh hưởng gì
1) Timer trễ không nhớ - TON
2)Timer trễ sườn xuống – TOF
Khi ngõ vào IN ngừng tác động thì reset và dừng hoạt động Timer.
Thay đổi PT khi Timer vận hành không có ảnh hưởng gì
Lệnh Counter trong PLC được sử dụng để đếm các sự kiện bên ngoài hoặc các sự kiện trong quá trình Mỗi Counter sử dụng cấu trúc lưu trữ của khối dữ liệu DB để lưu trữ thông tin Khi sử dụng lệnh, Step 7 tự động tạo khối DB cho Counter.
Giá trị đếm phụ thuộc vào loại dữ liệu mà bạn chọn Nếu giá trị đếm là số nguyên không dấu, nó có thể đếm từ 0 đến giới hạn tối đa Ngược lại, nếu giá trị đếm là số nguyên có dấu, nó có thể đếm từ giới hạn âm đến giới hạn dương.
Giá trị bộ đếm CV được tăng lên 1 khi tín hiệu ngõ vào CU chuyên từ 0 lên 1 Ngõ ra Q được tác động lên 1 khi CV>=PV Nếu trạng thái
R = Reset được tác động thì bộ đếm CV = 0.
Khi tín hiệu ngõ vào CD chuyển từ 0 lên 1, giá trị bộ đếm sẽ giảm 1 Ngõ ra Q sẽ được kích hoạt khi CV nhỏ hơn hoặc bằng 0 Nếu trạng thái LOAD được kích hoạt, thì giá trị CV sẽ bằng giá trị PV.
3)Counter đếm lên xuống – CTUD
Giá trị bộ đếm CV được tăng lên 1 khi tín hiệu ngõ vào CU chuyển từ 0 lên 1 Ngõ ra
QU được tác động lên 1 khi CV >=PV Nếu trạng thái R = Reset được tác động thì bộ đếm
Giá trị của bộ đếm CV sẽ giảm 1 khi tín hiệu ngõ vào CD chuyển từ 0 lên 1 Ngõ ra QD sẽ được kích hoạt khi CV nhỏ hơn hoặc bằng 0 Nếu trạng thái Load được tác động, giá trị CV sẽ bằng giá trị PV.
So sánh 2 kiểu dữ liệu giống nhau, nếu lệnh so sánh thỏa thì ngõ ra sẽ là mức 1 TRUE
Kiểu dữ liệu so sánh là : SInt, Int, Dint, USInt, UDInt, Real, LReal, String, Char, Time, DTL, Constant.
Lệnh so sánh dùng để so sánh hai giá trị IN1 và IN2 bao gồm IN1 = IN2, IN1 >= IN2, IN1 IN2 hoặc IN1 IN2
So sánh 2 kiểu dữ liệu giống nhau, nếu lệnh so sánh thỏa thì ngõ ra sẽ là mức 1 = TRUE (tác động mức cao) và ngược lại
Kiểu dữ liệu so sánh là : SInt, Int, Dint, USInt, UDInt, Real, LReal, String, Char, Time, DTL,
2) Lệnh trong khoảng In – range
Tham số : MIN, VAL, MAX
Kiểu dữ liệu so sánh : SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal, Constant
So sánh 2 kiểu dữ liệu giống nhau, nếu so sánh MIN