Tải bản đầy đủ (.pdf) (52 trang)

Bài giảng plc và mạng công nghiệp plc and industrial system (me 4501)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.23 MB, 52 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<i><b>Bài giảng</b></i>

<b>PLC và Mạng Công NghiệpPLC and Industrial system</b>

<b>(ME 4501)</b>

Giảng viên: TS. Nguyễn Anh Tuấn Khoa Cơ điện tử – ĐHBK Hà nội

Email:

Web: www.aps.edu.vn (Hệ thống sản xuất tự động)

<b>1. Cơ sở cho điều khiển logic</b>

<b>4. Các mô đun vào ra</b>

1

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b>5.2. Cấu trúc chương trình</b>

<b>5.3. Các nhóm lệnh cơ bản</b>

<b>5.4. Tạo dự án - Các ứng dụng</b>

<b>5. Kỹ thuật lập trình Quy trình thiết kế chương trình PLC</b>

<i><b>Bước 1: Xác định quy trình cơng nghệ:</b></i>

+ Xác định các u cầu cơng nghệ của hệ thống cần điều khiển, tìm hiểu sơ đồ công nghệ. Các thức điều khiển, vận hành và hướng khắc phục sự cố nếu có.

+ Xác định số lượng các thiết bị đầu vào và ra của hệ thống điều khiển

<i><b>Bước 2: Thiết kế</b></i>

+ Lựa chọn phần cứng của PLC để đáp ứng các yêu cầu điều khiển từ bước 1 bao gồm: Số lượng I/O lơ gíc, tương tự; các I/O đặc biệt (HSC, PWM); phương thức truyền thông (inthernet, profilbus, Modbus, RS 232,…); tốc độ xử lý; dung lượng bộ nhớ

+ Phân địa chỉ tín hiệu: phân các biến I/O theo chức năng (các biến có cùng trình tự tác động, hoặc cùng một đối tượng nên có địa chỉ gần nhau)

=> sơ đồ đấu dây phần cứng

3

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b> Quy trình thiết kế chương trình PLC</b>

<i><b>Bước 3: Lập trình điều khiển</b></i>

+ Tổng hợp các hàm lơ gíc

=> sử dụng ngơn ngữ LAD, FBD, IL + Viết dưới dạng Grafcet

=> ngôn ngữ SFC

+ Lưu đồ thuật tốn => ngơn ngữ ST

<i><b>Bước 4: Nạp chương trình và kiểm tra</b></i>

+ Chạy CT với các tín hiệu giả lập bằng chương tình mơ phỏng

+ Sửa chữa lỗi CT

<i><b>Bước 5: Chạy chương trình và vận hành</b></i>

+ Chạy thử từng bộ phận riêng lẻ, không tải + Chạy thử từng bộ phận có tải

+ Chạy thử tồn hệ thống khơng tải + Chạy thử tồn hệ thống có tải

<i><b>Bước 6: Viết tài liệu hướng dẫn</b></i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b> Khái niệm</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b>- Bộ nhớ là nơi lưu trữ chương trình điều khiển cùng với các thơng tin có thể truy</b>

- Bộ nhớ của PLC có thể được hiển thị bằng một mảng hai chiều của các tế bào nhớ,

<b>mà mỗi tế bào có thể chứa một Bit đơn của thơng tin dưới dạng là giá trị 0 hay 1.</b>

- Một byte được định nghĩa là một nhóm nhỏ nhất của các bit mà CPU có thể xử lý được đồng thời trong một lần.

- Các bộ nhớ được yêu cầu trong các trường hợp: làm bộ định thời gian cho các kênh trạng thái I/O, làm bộ đệm trạng thái các chức năng trong PLC như định thời, đếm, ghi các rơ le.

- Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ và được đánh số, nó chính là địa chỉ của bộ nhớ.

- Địa chỉ của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong vi xử lý

<b>5. Kỹ thuật lập trình Thẻ nhớ</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

Thẻ nhớ là một thành phần quan trọng trên CPU:  Có chức năng chứa chương trình, dữ liệu, thơng số từ

PC chuyển xuống và chuyển sang RAM trong CPU

 Thẻ nhớ được reset bằng SIMATIC Manager V5.x, TIA Portal kết hợp Simatic field PG hoặc đầu đọc thẻ nhớ

7

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b> Vùng nhớ</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b> Vùng nhớ chương trình (Load memory): kích thước bằng</b>

kích thước thẻ nhớ. Được sử dụng để lưu trữ blocks, datablock, cấu hình và thơng số hardware.

<b> Vùng nhớ làm việc (working memory): là RAM, được</b>

tích hợp trong CPU và khơng thể mở rộng. Được sử dụng để thi hành code và dữ liệu chương trình người dùng.

<b> Vùng nhớ hệ thống (system memory): được tích hợp</b>

trong CPU và khơng thể mở rộng. Phục vụ cho chương trình người dùng, bao gồm: timer, counter, vùng nhớ M, local data, process image I/Q.

<b> Vùng nhớ lưu giữ (Retentive memory data): dữ liệu trong</b>

các DBs được lưu trữ, ngay cả khi mất điện CPU và có điện trở lại, dữ liệu trong các DBs vẫn được duy trì giống như cài đặt trước đó.

<b>5. Kỹ thuật lập trình Cấu trúc bộ nhớ</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b> Cấu trúc thanh ghi</b>

1 đoạn thanh ghi = 1 byte (B) = 8 bit 1 word (W) = 2 byte = 16 bit

1 Doubleword (DW) = 2 Word = 4 byte = 32 bit

<b> Các kiểu dữ liệu</b>

9

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b> Cấu trúc bộ nhớ</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b> Các vùng nhớ</b>

<i><b>Vùng nhớ chứa chương trình ứng dụng:</b></i>

<b>+ OBx (Organization Block): chứa chương trình chính.</b>

<b>OB1Khối tổ chức chính, mặc định, thực thi vịng lặpOB10</b> Được thực hiện khi có tín hiệu thời gian ngắt

<b>OB 20</b> Được thực hiện sau một khoảng thời gian đặt trước

<b>OB 35</b> Khối ngắt theo chu kỳ định trước

<b>OB 40</b> Được thực hiện khi tín hiệu ngắt cứng ở ngõ vào

<b>+ FC (Program block): Chứa chương trình con được tổ chức thành hàm và có khả năng</b>

trao đổi dữ liệu với bất kỳ 1 khối chương trình nào khác.

<b>+ FB (Function Block): Chứa chương trình con được tổ chức thành hàm và có khả năng</b>

trao đổi dữ liệu với bất kỳ 1 khối chương trình nào khác. Các dữ liệu này phải được xây dựng thành một khối dữ liệu riêng (Data Block khối DB).

<b>5. Kỹ thuật lập trình Cấu trúc bộ nhớ</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b> Các vùng nhớ</b>

<i><b>Vùng nhớ chứa tham số hệ điều hành</b></i>

<b>+ I (Process image Input): Miền dữ liệu các cổng vào số, trước khi bắt đầu thực hiện</b>

chương trình, PLC sẽ đọc giá trị lơ gíc của tất cả các cổng đầu vào và cất chúng trong 1 vùng nhớ I.

<b>+ Q (Process image Output): Miền bộ đệm các dữ liệu cổng ra số. Kết thúc giai đoạn</b>

thực hiện chương trình, PLC sẽ chuyển giá trị lơ gíc của bộ đệm Q tới các cổng ra số.

<b>+ M (Memory): Miền các biến cờ. Do vùng nhớ này khơng mất sau mỗi chu kỳ qt nên</b>

chương trình ứng dụng sẽ sử dụng vùng nhớ này để lưu các tham số cần thiết. Nó có thể truy cập theo bit (M), byte (MB), theo từ (MW), hay từ kép (MD)

13

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b> Cấu trúc bộ nhớ</b>

<b>5.1. Cấu trúc chung của bộ nhớ PLC</b>

<b> Các vùng nhớ</b>

<i><b>Vùng nhớ chứa tham số hệ điều hành</b></i>

<b>+ T (Timer): Miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ giá trị thời gian đặt</b>

trước, giá trị đến thời gian tức thời cũng như giá trị lơ gíc đầu ra của bộ thời gian.

<b>+ C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu trữ giá trị đặt trước, giá trị</b>

đếm tức thời và giá trị lô gíc đầu ra của bộ đếm.

<b>+ PI: Miền địa chỉ cổng vào của các module tương tự. Các giá trị tương tự tại cổng vào</b>

của module tương tự sẽ được module đọc và chuyển tự động theo địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo Byte (PIB), từng từ PIW hoặc từ kép PID.

<b>+ PQ: Miền địa chỉ cổng ra cho các module tương tự. Các giá trị theo những những địa</b>

chỉ này sẽ được chuyển tới các cổng ra tương tự. Chương trình ứng dụng có thể truy nhập miền nhớ PQ theo Byte (PQB) từng từ (PQW) hoặc theo từng từ kép (PQD).

<b>+ DB (Data Block): Miền chứa dữ liệu được tổ chức thành khối. Kích thước cũng như số</b>

lượng khối do người sử dụng quy định, Phù hợp với từng bài tốn điều khiển. Chương trình có thể truy nhập miền này theo theo từng bit (DBX), byte (DBB), từ (DBW) hoặc từ kép (DBD).

<b>+ L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB, FC,</b>

FB tổ chức và sử dụng cho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức với khối chương trình gọi nó. Tồn bộ vùng nhớ sẽ bị xóa sau khi khối thực hiện xong. Có thể truy nhập theo từng bit (L), byte (LB), từ (LW), hoặc từ kép (LD).

15

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b> Vòng quét chương trình5.2. Cấu trúc chương trình</b>

 PLC thực hiện chương trình theo chu trình lặp, mỗi vịng lặp được gọi là vòng quét.  Vòng quét bắt đầu từ giai đoạn

truyền thông và kết thúc ở cuối chu trình thực thi OB1.  Ngồi ra PLC có các chế độ

ngắt đặc biệt (OB40, OB80…), khi có tín hiệu ngắt, khối ngắt cùng loại sẽ được thực hiện

<b> Lập trình tuyến tính: Chương trình chỉ được viết duy nhất khối OB1. Phù hợp các</b>

bài toán điều khiển nhỏ, đơn giản.

<b> Lập trình cấu trúc: Chương trình được viết trong các hàm chức năng FC, FB và</b>

được gọi ra trong khối OB1, FB, FC.

<b>5.2. Cấu trúc chương trình</b>

17

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b> Các khối trong chương trình</b>

<b>Có 4 khối cơ bản trong bài toán lập</b>

<b>- Loại khối OB (Organization block): khối</b>tổ chức và quản lý chương trình điều khiển. Có các loại khối OB có chức năng khác nhau như: OB1, OB35, OB40,…

<b>- Loại khối FC (Program block): khối chương trình với những chức năng riêng giống</b>

như mộtchương trình con hoặc một hàm. Một chương trình ứng dụng có thể có nhiều khối FC.

<b>- Loại khối FB (Function block): là loại khối</b>FC đặc biệt có khả năng trao đổi một lượng dữ liệu lớn với các khối chương trình khác nhau.

<b>- Loại khối DB (Data block): khối chứa các</b>dữ liệucần thiết để thực hiện chương trình. Các tham số của khối do người dùng tự đặt.

Chương trình trong các khối được liên kết với nhau bằng các lệnh gọi khối, chuyển khối. Một số dòng PLC cho phép gọi chương trình con lồng nhau.

19

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b> Nguyên tắc gọi khối hàm</b>

 Để các khối hàm được thực thi trong chương trình người dùng, chúng cần được gọi từ một khối hàm khác đã được gọi.

 Khi khối hàm A gọi khối hàm B, lệnh trong khối hàm B được thi hành.

 Chỉ khi khối hàm B đã hoàn thành, khối hàm A tiếp tục được thi hành. Quá trình thực hiện được tiếp tục với lệnh theo sau lệnh gọi khối hàm B.

<i> Lưu ý: Không thể gọi các khối hàm thành một vòng lặp.</i>

<b>5.2. Cấu trúc chương trình</b>

<b>5. Kỹ thuật lập trình Hệ thống phân cấp gọi khối hàm</b>

 Sắp xếp theo thứ tự và lồng các lệnh gọi khối hàm, được gọi là phân cấp.  Mỗi model PLC cho phép lồng tối đa số khối hàm khác nhau

<i>Sắp xếp theo thứ tựLồng các khối hàm</i>

<b>5.2. Cấu trúc chương trình</b>

21

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b> Truyền tham số khi gọi hàm</b>

 Quy tắc cung cấp thông số cho khối hàm: Khối gọi sẽ cung cấp cho khối được gọi các giá trị mà nó sẽ hoạt động.

 Có các loại thơng số thực hiện liên kết giữa hàm gọi và hàm được gọi:

<b> Input parameters: Hàm được gọi chỉ đọc giá trị của thông số này. Output parameters: Hàm được gọi chỉ ghi giá trị cho thơng số này.</b>

<b> In/Out parameters: Hàm được gọi có thể đọc hoặc ghi giá trị cho thông số này.</b>

<b>5.2. Cấu trúc chương trình</b>

<b>5. Kỹ thuật lập trình Gán thơng số cho các FC, FB</b>

 Các hàm FC khơng có bộ nhớ dữ liệu. Vì vậy, khi một hàm FC được gọi, tất cả các tham số chính thức cần được gán tham số thực tế.

<b> Các FB có tham số được lưu trong iDB và có thêm vùng dữ liệu Static. </b>

<b>5.2. Cấu trúc chương trình</b>

23

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b> Thanh ghi trạng thái</b>

Khi thực hiện lệnh, CPU sẽ ghi lại trạng thái của phép tính trung gian cũng như ghi lại kết quả vào 1 thanh ghi đặc biệt 16 bit, gọi là thanh ghi trạng thái. Tuy nhiên chỉ có 9 bit thấp của thanh ghi này được sử dụng, có cấu trúc như sau:

- <b>FC (First check): FC=0 khi dãy lệnh lơ gíc tiếp điểm vừa được kết thúc, ngược lại</b>

<b> Thanh ghi trạng thái</b>

- <b>RLO (Result of logic operation : kết quả tức thời của phép tính lơ gíc vừa được thực</b>

hiện. Ví dụ lệnh

A I 0.2 // a) Nếu trước khi thực hiện bit FC = 0 thì chuyển I 0.2 vào RLO b) Nếu trước khi thực hiện bit FC = 1 thì thực hiện VÀ giữa RLO và I 0.2. Kết quả ghi vào RLO

- <b>STA (Status bit): Có giá trị lơ gíc của tiếp điểm được chỉ định trong lệnh. Ví dụ cả 2 lệnh</b>

AN I 0.2 // đều gán cho bit STA cùng 1 giá trị là nội dung của cổng vào số I 0.2

<b>- OR: ghi lại giá trị của phép tính VÀ cuối cùng được thực hiện để phụ giúp thực hiện phép</b>

tính HOẶC sau đó. Vì trong hàm hai trị, phép tính VÀ phải được thực hiện trước các phép tính HOẶC

<b>5.2. Cấu trúc chương trình</b>

25

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b> Thanh ghi trạng thái</b>

<b>- OS (Stored overflow bit): ghi giá trị bit bị tràn ra ngoài mảng ô nhớ. - OV (Overflow Bit): bit báo kết quả phép tính bị tràn. </b>

<b>- CC0 và CC1 (Condition code): hai bit báo trạng thái của kết quả phép tính với số</b>

ngun, số thực, dịch chuyển hoặc phép tính lơ gíc trong ACCU.

<b>- BR (Binary Result bit): bit trạng thái cho phép liên kết giữa hai ngôn ngữ STL và LAD. </b>

Cho phép người lập trình viết một khối chương trình FB hoặc FC bằng STL, nhưng có thể gọi và sử dụng chúng trong chương trình khác viết bằng LAD. Để có mối liên kết này, cần phải kết thúc trong chương trình trong FB, FC bằng lệnh ghi giá trị vào BR: 1 nếu chương trình khơng có lỗi, 0 nếu chương trình có lỗi.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>- Lệnh gán: Cú pháp</b> <i><b>= <toán hạng></b></i>

<i>Toán hạng là các địa chỉ bit: I, Q, M, L, D</i>

Ý nghĩa: thực hiện gán giá trị lơ gíc của RLO tới ơ nhớ có địa chỉ được thể hiện trong toán hạng. Lệnh tác động vào thanh ghi trạng thái (ký hiệu ‘–’ chỉ nội dung Bit không bị thay đổi, ‘x’ chỉ nội dung thay đổi theo lệnh).

<b>- Lệnh thực hiện phép tính AND: Cú phápA<tốn hạng></b>

Tốn hạng là dữ liệu kiểu BOOL hoặc các địa chỉ bit: I, Q, M, L, D, T, C Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lô gíc của RLO. Ngược lại, lệnh sẽ thực hiện phép toán AND giữa RLO và toán hạng và lưu kết quả vào RLO.

<small>%I0.0 //Đọc nội dung I0.0 vào RLO</small>

<small>%I0.1 // AND với I0.1</small>

<small>%Q0.0 // Kết quả ra Q0.0</small>

<b>5.3. Các nhóm lệnh cơ bản</b>

29

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>- Lệnh thực hiện phép tính OR: Cú phápO<tốn hạng></b>

Tốn hạng là dữ liệu kiểu BOOL hoặc các địa chỉ bit: I, Q, M, L, D, T, C Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lơ gíc của RLO. Ngược lại, lệnh sẽ thực hiện phép toán OR giữa RLO và toán hạng và lưu kết quả vào RLO.

<small>%I0.0 //Đọc nội dung I0.0 vào RLO</small>

<small>%I0.1 // OR với I0.1</small>

<small>%Q0.0 // Kết quả ra Q0.0</small>

<b>5.3. Các nhóm lệnh cơ bản</b>

<b>5. Kỹ thuật lập trình</b>

<b>- Lệnh thực hiện phép tính AND NOT: Cú phápAN<toán hạng></b>

Toán hạng là dữ liệu kiểu BOOL hoặc các địa chỉ bit: I, Q, M, L, D, T, C Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lơ gíc của RLO. Ngược lại, lệnh sẽ thực hiện phép toán AND NOT giữa RLO và toán hạng và lưu kết quả vào RLO.

<small>%I0.0 //Đọc nội dung I0.0 vào RLO%I0.1 // AND NOT với I0.1%Q0.0 // Kết quả ra Q0.0</small>

<b>5.3. Các nhóm lệnh cơ bản</b>

31

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>- Lệnh thực hiện phép tính OR NOT: Cú pháp ON <toán hạng></b>

Toán hạng là dữ liệu kiểu BOOL hoặc các địa chỉ bit: I, Q, M, L, D, T, C Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lơ gíc của RLO. Ngược lại, lệnh sẽ thực hiện phép toán OR NOT giữa RLO và toán hạng và lưu kết quả vào RLO.

<small>%I0.0 //Đọc nội dung I0.0 vào RLO%I0.1 // OR NOT với I0.1%Q0.0 // Kết quả ra Q0.0</small>

<b>5.3. Các nhóm lệnh cơ bản</b>

<b>5. Kỹ thuật lập trình</b>

<b>- Lệnh thực hiện phép tính exclusive or: Cú phápX <tốn hạng></b>

Tốn hạng là dữ liệu kiểu BOOL hoặc các địa chỉ bit: I, Q, M, L, D, T, C

Ý nghĩa: nếu FC = 0 thực hiện gán giá trị lơ gíc của RLO. Ngược lại, lệnh sẽ kiểm tra xem nội dung của RLO và giá trị logic của toán hạng có khác nhau khơng. Nếu khác thì ghi 1 vào RLO, ngược lại thì ghi 0. Nói cách khác, lệnh này sẽ đảo nội dung của RLO nếu toán hạng có giá trị 1

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>- Lệnh thực hiện phép tính exclusive or not: Cú phápXN <toán hạng></b>

Toán hạng là dữ liệu kiểu BOOL hoặc các địa chỉ bit: I, Q, M, L, D, T, C

Ý nghĩa: nếu FC = 0 thực hiện ghi giá trị nghịch đảo của toán hạng vào RLO. Ngược lại, lệnh sẽ kiểm tra xem nội dung của RLO và giá trị logic của tốn hạng có khác nhau khơng. Nếu giống thì ghi 1 vào RLO, ngược lại thì ghi 0. Nói cách khác, lệnh này sẽ đảo nội dung của RLO nếu tốn hạng có giá trị 0

<b> Rơ le thời gian</b>

- Rơ le thời gian được sử dụng để làm chậm đóng hoặc mở tiếp điểm để điều khiển mạch.

- Trong thời gian chuyển mạch của rơ le, thời gian trễ có thể từ vài giây đến vài giờ tùy theo yêu cầu của bài toán đặt ra.

<i>Rơ le thời gian có thể bao gồm:</i>

+ Rơ le thời gian dạng cơ khí + Rơ le thời gian dạng khí nén

+ Rơ le thời gian gian dùng mạch điện tử (sử dụng các linh kiện bán dẫn tạo thời gian trễ)

<b>5.3. Các nhóm lệnh cơ bản</b>

35

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b> Rơ le thời gian</b>

<i><b>Phân loại: Khi thiết kế mạch điều khiển thì có hai loại rơ le thời gian</b></i>

<b> Rơ le thời gian</b>

Ví dụ: Sử dụng tiếp điểm thường hở trên TON

<b>5.3. Các nhóm lệnh cơ bản</b>

Khi tác động tiếp điểm S<sub>1</sub>, cuộn dây rơ le TD thời gian hoạt động, sau khoảng thời gian t = 10s tiếp điểm thưởng mở TD1 của TD đóng và đèn L1 sẽ sáng. Sau đó ngắt tiếp điểm S<sub>1</sub>thì đèn L1 sẽ tắt.

37

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b> Rơ le thời gian</b>

Ví dụ: Sử dụng tiếp điểm thường đóng của TON

<b>5.3. Các nhóm lệnh cơ bản</b>

Khi tác động tiếp điểm S<sub>1</sub>, cuộn dây rơ le TD thời gian hoạt động, sau khoảng thời gian t = 10s tiếp điểm thưởng đóng TD1 của TD mở và đèn L1 sẽ tắt. Sau đó ngắt tiếp điểm S<sub>1</sub>thì đèn L1 sẽ sáng.

<b>5. Kỹ thuật lập trình Rơ le thời gian</b>

<i><b>+ Rơ le thời gian tác động ngắt trễ ( OFF delay relay timer): TOFF</b></i>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b> Rơ le thời gian</b>

Ví dụ: Sử dụng tiếp điểm thường mở trên TOFF

<b>5.3. Các nhóm lệnh cơ bản</b>

Ban đầu tiếp điểm S<sub>1</sub>mở, cuộn dây của TOFF chưa được cấp điện, tiếp điểm TD1 mở, đèn chưa sáng.

Khi tiếp điểm S<sub>1</sub> đóng, cuộn dây TOFF sẽ được cấp điện và tiếp điểm TD1 sẽ đóng và đèn L1 sáng.

Ngắt tiếp điểm S<sub>1</sub>, thì cuộn dây TOFF sẽ không được cấp điện nhưng tiếp điểm TD1 sẽ mở sau thời gian đặt t = 10s và đèn sẽ tắt.

<b>5. Kỹ thuật lập trình Rơ le thời gian</b>

Ví dụ: Sử dụng tiếp điểm thường đóng trên TOFF

<b>5.3. Các nhóm lệnh cơ bản</b>

Ban đầu tiếp điểm S<sub>1</sub>mở, cuộn dây của TOFF chưa được cấp điện, tiếp điểm TD1 đóng, đèn sáng.

Khi tiếp điểm S<sub>1</sub>đóng, cuộn dây TOFF sẽ được cấp điện và tiếp điểm TD1 sẽ mở và đèn L1 tắt.

Ngắt tiếp điểm S<sub>1</sub>thì cuộn dây TOFF sẽ không được cấp điện nhưng tiếp điểm TD1 sẽ đóng sau thời gian đặt t = 10s và đèn lại sáng.

41

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b> Bộ định thời trong PLC (Timer)</b>

 Các chức năng tương tự như trên rơle định thời cơ khí và điện tử TON, TOFF.

 Tất cả các bộ định thời PLC đều là lệnh đầu ra.

 Ưu điểm so với các bộ định thời cơ và điện tử tương ứng: • Tồn bộ chức năng định thời xảy ra bên trong bộ điều khiển. • Cài đặt thời gian có thể dễ dàng thay đổi.

• Số lượng bộ định thời được sử dụng trong một mạch có thể được tăng hoặc giảm thơng qua việc sử dụng các thay đổi lập trình hơn là thay đổi dây dẫn. • Độ chính xác và độ lặp lại của bộ hẹn giờ rất cao vì độ trễ thời gian được tạo ra trong bộ xử lý PLC.

<b>5.3. Các nhóm lệnh cơ bản</b>

<b>5. Kỹ thuật lập trình</b>

<b> Có 3 loại bộ định thời gian:</b>

<i><b>+ Bộ định thời gian đóng trễ (TON): Đếm khoảng thời gian cơ sở</b></i>

<b>(time-based) khi điều kiện đầu vào là True</b>

<i><b>+ Bộ định thời gian ngắt trễ (TOFF): Đếm khoảng thời gian dựa trên</b></i>

<b>thời gian cơ sở khi lệnh đầu vào chuyển từ điều kiện đúng (True) sangđiều kiện sai (False).</b>

<i><b>+ Bộ định thời gian có nhớ (RTO) Đếm thời gian dựa trên thời gian</b></i>

cơ sở khi lệnh là đúng (True) và lưu lại giá trị thời gian đã tích lũy khi lệnh sai (False) hoặc khi mất nguồn.

RES (Reset) - Đặt lại giá trị tích lũy của bộ định thời về giá trị 0.

<b> Bộ định thời trong PLC (Timer)5.3. Các nhóm lệnh cơ bản</b>

43

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<i><b> Các đại lượng của bộ đinh thời:</b></i>

<b>+ Thời gian cơ sở (time-base) là thời gian nhỏ nhất của Timer khi xảy ra một sự</b>

kiện. Thời gian trễ của Timer là tổng thời gian cơ sở. Thời gian cơ sở thường gặp trong PLC: 1ms; 10ms; 100ms.

<b>+ Giá trị đặt PV (Preset Value): là giá trị đặt trước cho bộ định thời.</b>

Để tính thời gian trễ của bộ định thời, ta sử dụng công thức:

<i>T = PV x time-base</i>

Ví dụ: Thời gian trễ của bộ định thời khi PV = 50 và time-base = 100ms là T = 50 x 100 = 5000 ms = 5s

<b>+ Giá trị tích lũy (Accumulated Value): Là thời gian trôi qua kể từ khi tác động</b>

vào bộ định thời, chính là số thời gian sơ sở đã diễn ra.

<b> Bộ định thời trong PLC (Timer)5.3. Các nhóm lệnh cơ bản</b>

<b>5. Kỹ thuật lập trình Bộ định thời trong PLC (Timer)</b>

<b> Bộ định thời tạo xung TP: Một xung rộng bằng chính thời gian đặt PT sẽ</b>

được tạo ra khi tín hiệu vào thỏa mãn True

<b>+ IN: INPUT; Bool (I, Q, M, D, L): ‘0’’1’+ PT: thời gian đặt, TIME (I, Q, M, D, L) 10s</b>

<b>+ ET: t/g đếm hiện tại, TIME (I, Q, M, D, L): #0s  10s+ Q: Output: ’1’ trong khoảng tg PT (I, Q, M, D, L)</b>

<i>Biểu đồ thời gian của bộ định thời TP</i>

<b>5.3. Các nhóm lệnh cơ bản</b>

45

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b> Bộ định thời trong PLC (Timer)</b>

<b> Bộ định thời gian TON</b>

<b>+ IN: INPUT; Bool (I, Q, M, D, L): ‘0’  ‘1’+ PT: thời gian đặt, TIME (I, Q, M, D, L): 10s</b>

<b>+ ET: t/g đếm hiện tại, TIME (I, Q, M, D, L): Từ #0s  #10s+ Q: Output ‘0’  ‘1’ khi đạt PT (I, Q, M, D, L)</b>

<i>Biểu đồ thời gian của bộ định thời TON</i>

<b>5.3. Các nhóm lệnh cơ bản</b>

<b>5. Kỹ thuật lập trình Bộ định thời trong PLC (Timer)</b>

<i><b>Ví dụ: Điều khiển hai động cơ theo yêu cầu sau: Ấn nút START để khởi động ĐC1 hoạt</b></i>

<b>động trong 10s sau đó ĐC2 hoạt động. Ấn nút STOP thì dừng cả hai động cơ.</b>

<i>Chương trình điều khiển như sau:</i>

Network 1

Network 2

<b>5.3. Các nhóm lệnh cơ bản</b>

47

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b> Bộ định thời trong PLC (Timer)</b>

<b> Bộ định thời gian TOF</b>

<b>+ IN: INPUT; Bool (I, Q, M, D, L): ‘0’’1’ ‘0’+ PT: thời gian đặt, TIME (I, Q, M, D, L): 10s</b>

<b>+ ET: t/g đếm hiện tại (I, Q, M, D, L): #0s  10s+ Q: Output ’1’ ‘0’ khi đạt PT (I, Q, M, D, L)</b>

<i>Biểu đồ thời gian của TOF</i>

<b>5.3. Các nhóm lệnh cơ bản</b>

<b>5. Kỹ thuật lập trình Bộ định thời trong PLC (Timer)</b>

<i><b>Ví dụ: Điều khiển hai động cơ theo yêu cầu sau: Ấn nút START để khởi động ĐC1 </b></i>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b> Bộ định thời trong PLC (Timer)</b>

<b> Bộ định thời gian TONR<sub>+ IN: INPUT; Bool (I, Q, M, D, L), ‘0’’1’</sub></b>

<b>+ PT: thời gian đặt. (I, Q, M, D, L), 10s</b>

<b>+ ET: t/g đếm tích lũy (I, Q, M, D, L), #0s#10s</b>

<b>+ R: Reset timer, khởi động lại t/g đếm từ #0s</b>

<b>+ Q: Output ‘0’‘1’ khi đạt PT (I, Q, M, D, L)</b>

 Bộ đếm được sử dụng để theo dõi và đếm sự di chuyển của đối tượng qua một vị trí cố định.

 PLC của tất cả các hãng đều cung cấp một số lệnh bộ đếm, là một khối chức năng điều khiển

 Bộ đếm là một khối chức năng, có một số đặc tính tương đồng với bộ định thời  Bộ đếm có một biến đầu vào và chứa số lượng xung mong muốn sẽ được đếm,

một biến đầu ra chứa giá trị hiện tại của bộ đếm. Một trạng thái lơ gíc sẽ chuyển

<b>từ Fasle (0) sang True (1) khi đạt đến số lượng mong muốn.</b>

<b>5.3. Các nhóm lệnh cơ bản</b>

51

</div>

×