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 (10.16 MB, 92 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
MỤC LỤC
Chương 1. LẬP TRÌNH PLC S7-1200 ... 4
Giới thiệu chung ... 4
1.1.1 Ưu điểm và bảo mật ... 4
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">Hướng dẫn cài đặt giao diện mô phỏng ... 58
Kết nối Module giao tiếp PLC và máy tính ... 62
2.2.1 Cáp USB kết nối ... 62
2.2.2 Kết nối với module phần cứng qua Bluetooth ... 67
Kết nối PLC và Module giao tiếp máy tính ... 68
2.3.1 Mơ hình trạm bơm ... 69
2.3.2 Mơ hình thiết bị trộn hóa chất ... 70
2.3.3 Mơ hình trạm bơm nhiên liệu ... 71
2.3.4 Mơ hình hệ thống sản xuất rượu ... 73
2.3.5 Mơ hình hệ thống phân loại sản phẩm dùng xi lanh khí nén ... 74
2.3.6 Mơ hình thang máy chở người 3 tầng ... 75
2.3.7 Mơ hình dèn giao thơng hiện số ... 76
2.3.8 Mơ hình mô phỏng đèn led và led 7 đoạn ... 77
2.3.9 Mơ hình hệ thống băng tải ... 79
2.3.10 Mơ hình điều khiển vị trí dùng động cơ bước ... 80
2.3.11 Mơ hình điều khiển Động cơ KĐB 3 Pha quay 2 chiều có hãm động năng ... 83
2.3.12 Mơ hình điều khiển Động cơ KĐB 3 Pha khởi động sao tam giác quay 1 chiều có hãm động năng ... 84
2.3.13 Mơ hình điều khiển Động cơ KĐB 3 Pha khởi động sao tam giác quay 2 chiều có hãm động năng ... 85
2.3.14 Mơ hình điều khiển Động cơ KĐB rotor lồng sóc khởi động qua 2 cấp R và có hãm động năng ... 86
2.3.15 Mơ hình điều khiển Động cơ KĐB rotor dây quấn quay 2 chiều, khởi động qua 2 cấp R và có hãm động năng ... 87
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">PHẦN I – THỰC HÀNH ĐIỀU KHIỂN LOGIC NÂNG CAO
Giới thiệu chung 1.1.1 Ưu điểm và bảo mật
S7-1200 là một dòng của bộ điều khiển logic lập trình (PLC) có thể kiểm sốt nhiều. Thiết kế nhỏ gọn, chi phí thấp, và một tập lệnh mạnh làm cho chúng ta có những giải pháp hoàn hảo hơn cho ứng dụng sử dụng với S7-1200.
S7-1200 bao gồm một microprocessor, một nguồn cung cấp được tích hợp sẵn, các đầu vào/ra (DI/DO).
Một số tính năng bảo mật giúp bảo vệ quyền truy cập vào cả CPU và chương trình điều khiển. Tất cả các CPU đều cung cấp bảo vệ bằng password chống truy cập vào PLC.
S7-1200 cung cấp một cổng PROFINET, hỗ trợ chuẩn Ethernet và TCP/IP. Ngoài ra bạn có thể dùng các module truyền thơng mở rộng kết nối bằng RS485 hoặc RS232. 1.1.2 Các chế độ hoạt động của PLC.
CPU có 3 chế độ hoạt động: chế độ STOP, chế độ STARTUP và chế độ RUN. Các LED trạng thái trên mặt trước của CPU biểu thị chế độ hiện thời của sự vận hành. Trong chế độ STOP, CPU khơng thực thi chương trình nào, và ta có thể tải xuống một đề án. Trong chế độ STARTUP, các OB khởi động (nếu có) được thực thi một lần. Các sự kiện ngắt không được xử lý cho đến pha khởi động của chế độ RUN. Trong chế độ RUN, chu kỳ quét được thực thi một cách lặp lại. Các sự kiện ngắt có thể xuất hiện và được thực thi tại bất kỳ điểm nào nằm trong pha chu kỳ chương trình. Ta không thể tải xuống một đề án trong khi đang ở chế độ RUN.
Giới thiệu phần cứng PLC
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">(5) Khe cắm thẻ nhớ
(6) Đèn led báo tín hiệu ngõ vào số (7) Đèn led báo tín hiệu ngõ ra số (8) Ngõ ra số
(9) Cổng kết nối Profinet (LAN)
(10) Đèn báo tín hiệu trạng thái hoạt động PLC Tạo project
Mở chương trình TIA V17 Tạo project mới
Chọn Create new project, đặt tên, nơi lưu sau đó nhấn Create.
Cấu hình phần cứng. chọn Configure a divice.
Sau đó chọn add new device. Chọn CPU giống như PLC thật.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">Sau đó chọn add.
Vào default tag table, khai báo các tag sẽ sử dụng.
Để viết chương trình vào Main.
Vào Basic instruction, chọn bit logic operation.
Để tạo nút duy trì vào General, chọn open branch.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Khai báo các tag để hoàn chỉnh project
Vào comment ghi chú chức năng của network
Kết nối PC với PLC
Vào biểu tượng mạng, chọn Open Network and Sharing Center.
Vào biểu tượng Local. Vào properties
Vào TCP/IPv4
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Set IP cho máy tính là 192.168.1.10 hoặc 192.168.0.10
Để PC và PLC kết nối được thì ta phải set cùng lớp mạng, khác địa chỉ.
Sau khi set xong ta nhấn Save
Chọn download
Chọn PCI nếu download từ LAN. Cịn Wifi thì chọn card wifi.
Nhấn Start search để PC tìm PLC. Nếu tìm thấy thì sợi dây liên kết có màu xanh.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Nhấn Load để tiến hành download.
Chọn Delete all để reset các module.
Sau đó chọn Load
Nhấn Finish để kết thúc Vận hành
Vào lại Main, chọn Go online.
Để xem online nhấn Monitoring
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Muốn nhấn Start thì phải có phần cứng, hoặc có thể vào Modify
Xung cạnh lên, xung cạnh xuống, set, reset. 1.6.2 Xung cạnh lên, cạnh xuống.
Để lấy lệnh xung cạnh lên ta vào basic instruction, chọn Positive.
Trên ta nhập vào địa chỉ cần bắt xung. Ví dụ M0.6
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Ví dụ M0.7
Chú ý: Xung P chỉ lên 1 lần trong chu kỳ quét của PLC, do đó muốn Motor chạy thì phải có duy trì hoặc dùng lệnh set để bắt nó.
Xung cạnh xuống dùng tương tự xung cạnh lên, lệnh là N. 1.6.3 Lệnh Set, Reset.
Lệnh set được dùng để bắt tín hiệu, khi đó PLC sẽ cưỡng bức 1 bit lên 1. Khi được set thì bit đó sáng hồi khơng thể tắt. Để tắt ta phải dùng lệnh reset.
Để thay đổi ngõ ra ta double click vào ngõ đó, sau đó nhấn chọn.
Kết quả
Ngồi việc set 1 bit cịn có thể set 1 byte
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">1.6.4 Các tiếp điểm đặt biệt
Muốn dùng các tiếp điểm đặc biệt trong S7-1200 ta phải kích hoạt. Để mở chức năng các tiếp điểm đặc biệt ta làm như sau:
Chọn Properties.
Vào tab General chọn System and clock memory.
Chọn Enable. Để kích hoạt các tiếp điểm đặc biệt của system memory byte. Địa chỉ này có thể thay đổi được, nhưng mặc định là MB1.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">Chú ý: các bit M đã cấu hình là các tiếp điểm đặc biệt thì khơng được dùng vào
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Nếu không biết lệnh có thể vào Manual
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian.
+ET: giá trị thời gian hiện tại.
- Khi ngõ vào IN được cấp xung thì ngõ ra Q sẽ lên 1 trong khoản thời gian PT được đặt trước đó mà khơng cần quan tâm xung IN cấp vào dài hay ngắn, 1 xung hay 2 xung. Nên được gọi là timer xung (TP).
1.7.2 Timer ON (TON)
- Để là việc với Timer ta vào Timer On Delay trong Basic intruction, Thay đổi IN sang “FALSE”, trong khi bộ định thì vận hành, sẽ đặt lại và dừng bộ định thì
Đặt tên
Cú pháp
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">- Có thể hiểu:
+IN: ngõ vào cấp nguồn cho phép hoạt động, dạng bool, vùng nhớ có thể I, Q, M, D, L, P,…
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian.
+ET: giá trị thời gian hiện tại.
- Khi ngõ vào IN được cấp 1 tín hiệu “True” bộ định thời sẽ bắt đầu tính thời gian và sau 1 khoảng thời gian bằng PT thì ngõ ra Q sẽ hoạt động. Khi ngõ vào IN về “False” thời gian sẽ được đặt lại về 0
Ví dụ: tạo chu kỳ đèn sáng tắt 1p
Ví dụ dùng Timer tạo 1 biến đếm
-Khơng được dùng ngõ ra của Timer để reset timer, mà phải dùng biến đệm.
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Không dùng được
1.7.3 Timer OFF (TOF)
Ngược lại với Timer ON, ta có Timer OFF delay (TOF) trong Basic intruction
Đặt tên
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">- Có thể hiểu:
+IN: ngõ vào cấp nguồn cho phép hoạt động, dạng bool, vùng nhớ có thể I, Q, M, D, L, P,…
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian.
+ET: giá trị thời gian hiện tại.
- Khi ngõ vào IN được cấp 1 tín hiệu “True” bộ định thời sẽ khơng hoạt động và giá trị thời gian luôn trở về mặt định 0, ngõ ra Q sẽ có tín hiệu hoạt động liên lục. Khi ngõ vào IN chuyển sang “False” lúc này bộ định thời sẽ bắt đầu đếm thời gian và cho phép ngõ ra Q hoạt động cho đến lúc đếm hết thời gian cài đặt PT.
Ví dụ:
1.7.4 Timer ON có nhớ (TONR)
- Được lấy trong mục Basic Instructions
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">+R: ngõ vào nhận tín hiệu đặt lại thời gian đếm
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian.
+ET: giá trị thời gian hiện tại.
- Tương tự như 1 Timer ON, TOR cũng hoạt động khi IN “True” nhưng khác với TON, khi IN về “False” TOR không đặt lại thời gian đếm mà dừng đếm tại thời điểm IN về “False” và sẽ đếm tiếp khi IN “True”. TOR chỉ đặt lại thời gian đếm về 0 khi ngõ vào R ”True”.
Ví dụ: tạo 1 TOR đếm 10s
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Cấp nguồn cho chân Reset.
Đặt giá trị đếm cho counter.
Ngõ ra của counter là “C”.QU có thể dùng để điều khiển đèn.
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">1.8.2 Counter DOWN (CTD) - Để lấy counter ta vào
- Chọn CTD
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">- Đặt tên
- Cú pháp
+ CD: với mỗi lần ngõ vào CD thay đổi từ “False”=>”True” thì Counter đếm xuống 1 + LD: ngõ vào đặt lại số đếm được cài đặt ở PV
+ PV: số lần đếm cần thiết để thực hiện 1 lệnh tại Q + Q: ngõ ra hoạt động sau khi số đếm hiện tại <=0 + CV: số đếm hiện tại
1.8.3 Counter UP/DOWN (CTUD) - Là sự kết hợp của cả CTU và CTD
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">- Cú pháp
+ CU: với mỗi lần ngõ vào CU thay đổi từ “False” =>”True” thì Counter đếm lên 1 + R: ngõ vào đặt lại số đếm về 0
+ CD: với mỗi lần ngõ vào CD thay đổi từ “False”=>”True” thì Counter đếm xuống 1 + LD: ngõ vào đặt lại số đếm được cài đặt ở PV
+ PV: số lần đếm cần thiết để thực hiện 1 lệnh tại Q + QU: ngõ ra hoạt động sau khi số đếm hiện tại >=PV + QD: ngõ ra hoạt động sau khi số đếm hiện tại <=0 + CV: số đếm hiện tại
- Điểm khác biệt của CTUD với CTU và CTD là khi CTUD đếm lên hoặc đếm xuống đến 1 giá trị thì lệnh đếm lên hoặc đếm xuống tiếp theo sẽ bắt đầu từ giá trị đó.
So sánh
Để dùng lệnh so sánh ta vào
Có nhiều lệnh so sánh như: ==, <>, >=, <=, >, <.
Chọn dữ liệu so sánh
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">Ví dụ:
Ví dụ: bài tập kết hợp Timer, counter
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">Lệnh Move
Move là lệnh coppy giá trị. Có những kiểu giá trị Move như sau: Trong 1200 lệnh Move dùng chung cho tất cả các kiểu dữ liệu:
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">Hoặc có thể dùng xung clock 1Hz để tạo xung cho counter.
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">Vấn đề là Counter có nhớ sau khi đếm. Để xóa giá trị Counter khi PLC bắt đầu chạy ta cần phải reset counter. Để reset có 2 cách: dùng OB100 hoặc First Scan.
+Dùng OB100:
Vào Program block chọn Add new block.
Chọn Startup
Sau đó ctick vào Add new and open và nhấn OK
Block này có nhiệm vụ restart, nên muốn restart gì thì đem vào đây. Ví dụ muốn khi bật PLC lên thì Counter C1 có giá trị đếm là 0.
Khi PLC đang chạy counter đang đếm
Khi stop PLC
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">Và khi On PLC lại.
Và giá trị counter bắt đầu về 0
Hoặc dùng first Scan cũng tương tự
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">Hoặc reset Counter
Lệnh chuyển đổi 1.11.1 Lệnh chuyển đổi
Lệnh Convert dùng để chuyển đổi kiểu dữ liệu.
Ví dụ: chuyể đổi Real sang Int
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">Có thể thay đổi định dạng của tag bằng Rewire tag thay vì ta mở tag lên và định dạng cho MD0 là Real
1.11.2 Lệnh làm tròn
Để làm tròn số ta dùng lệnh ROUND
Lấy lệnh và định dạng đầu vào / ra.
Real thì dùng MD, MD thì phải cách 4 giá trị.
Hoặc có thể xem đúng kiểu chưa
Nếu đã đúng thì không cần format lại.
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">Khi nhập 3.4 thì được làm trịn là 3.0
Và khi 3.6 thì được làm trịn là 4.0
Vậy ROUND được làm trịn theo quy tắt là lớn hơn 0.5 thì trịn lên. Bé hoặc bằng 0.5 thì làm trịn xuống.
Khác với ROUND thì CEIL là lệnh làm trịn lên. Nếu lớn 0.0 là được làm tròn lên.
Khác với CEIL thì FLOOR là lệnh làm trịn xuống. Nếu bé hơn 0.9 thì làm trịn xuống.
Ngồi ra cịn có lệnh làm tròn xuống cho cả số thập phân và số nguyên, đó là lệnh TRUNC.
Đối với số thập phân sang số nguyên
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">Chọn khối read local time
Read local là đọc thời gian của máy tính, nghĩa là máy tính có thời gian sao thì PLC đọc vậy.
Chọn RET_Van là MW100. Để đọc được ta cần phải cấu hình 1 khối DB
Đặt tên khối DB
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">Sau đó chọn Add new and open và nhấn ok
Đặt tên và khai báo kiểu dữ liệu DTL, khi đó trước tên có dấu sổ
Nhấn sổ ra
Chọn xuất thời gian thực ra
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">Muốn đọc giờ thì ta chỉ cần Move
Chọn là giờ.
Xuất ra vùng nhớ dạng Byte
Đặt tên tag là giờ
Kiểu dữ liệu phải đúng trong bảng
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">Sau đó nhấn change
Có thể kiểm tra lại.
Hiện tại là 2 giờ 40 phút ngày 01/02/2012
Kết quả trên không đúng với ngày giờ của máy tính.
Để khắc phục thì ta vào cấu hình lại phần cứng.
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">Vào phần time of day chọn lại múi giờ
Sau đó nhấn OK
Download phần cứng
Sau đó download chương trình. Nếu muốn thay đổi ngày giờ để mô phỏng làm cách sau:
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">Sau đó bỏ chọn Take from PG/PC (khơng sử dụng ngày giờ của máy tính). Set lại thời gian cần thay đổi để mô phỏng (không cần thay đổi ngày giờ của hệ thống). Sau đó chọn apply.
Ví dụ: bài tập thời gian thực
Xung tốc độ cao HSC 1.13.1 Encoder.
Encoder là bộ mã hóa quay. Là thiết bị cơ điện dùng để chuyển đổi vị trí góc hoặc chuyển động của trục thành dạng tín hiệu Analog hoặc Digital.
Trong máy CNC encoder được dùng gia công cơ khí chính xác hồn tồn tự động. Điều khiển và xác định các góc quay của dao hoặc bàn gá. Trong robot tự động, encoder được dùng để xác định tọa độ cánh tay robot. Ngoài ra, encoder còn được gặp trong thang máy, máy cán tôn, máy cắt thép, máy dán tem sản phẩm, băng tải, băng chuyền, …
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">Đặt tên và enable chức năng HSC
Chức năng của HSC
Khai báo chức năng đếm là count. Có nhiều chức năng: đếm xung, đếm chu kỳ, tần số, Motion control. Để đếm tốc độ động cơ ta dùng 2 pha A, B
Các thông số khác không thay đổi so với mặc định
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">Khai báo phần cứng: encoder đọc 2 xung A, B ứng với I0.0 và I0.1.
Do tốc độ động cơ cao, nên cần phải lọc ngõ vào là Micro giây.
Ngõ ra HSC mặc định lưu với địa chỉ ID1000
Lấy lệnh HSC vào Technology
</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">Đổi tên
Lấy lệnh ra main
Trong đó:
+EN: đầu vào cho phép HSC hoạt động.
+HSC: địa chỉ phần cứng của HSC. Để biết HSC có địa chỉ nhiêu ta vào xem trong phần PLC tags -> Show all tags -> System constants:
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">Khi đó HSC_1 có địa chỉ là 257 +DIR: yêu cầu chiều đếm mới.
+CV: yêu cầu thiết lập giá trị đếm mới. +RV: yêu cầu thiết lập giá trị tham chiếu mới.
+PERIOD: chỉ dùng khi đếm chu kỳ.
+NEW_DIR: thiết lập chiều đếm mới, nếu 1 đếm lên, -1 thì đếm xuống. +NEW_CV: giá trị đếm mới.
+NEW_RV: giá trị tham chiếu mới. +NEW_ PERIOD: ta không dùng. +BUSY: thông báo chức năng bận. +STATUS: hiển thị code trạng thái.
80A1 HSC identifier does not address a HSC
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">Thiết lập HSC bao gồm tên 257 và điều kiện reset giá trị xung.
Lấy giá trị xung đọc được.
Tạo thời gian lấy mẫu
Sau 0.5s thì lấy mẫu 1 lần
</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">Kết quả ở tần số 5Hz thì tốc độ là 163 vòng/phút Analog
1.14.1 Analog input
Nếu con thường khơng có Analog thì ta phải add device.
Vào xem địa chỉ mặc định của 2 kênh Analog. Có địa chỉ mặc định là IW64 và IW66. Chỉ đọc điện áp từ 0-10V.
Vào Conversion operations lấy 2 khối NORM và SCALE
Trong khối NORM có:
+EN: điều kiện để khối hoạt động.
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">+VALUE: giá trị trung gian muốn Scale (thông thường là Real). +MAX: giá trị lớn nhất, có thể 50Hz, 2950rpm, ...
+OUT: vùng nhớ giá trị để lưu giá trị cuối cùng.
Hoặc có thể tạo chương trình con để đọc được Analog Input và Output thì ta dùng khối FC.
Ví dụ: đọc tín hiệu nhiệt độ của con PT100.
Vì PT100 cho ra điện trở, để ra được nhiệt độ cần có bộ chuyển đổi R sang 0-10V
Giá trị ra này chưa thể sử dụng được, do đó ta phải đi xử lý tiếp.
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">1.14.2 Analog output
Trước khi xuất ra tín hiệu Analog, thì ta cần phải xem cấu hình PLC có chức năng Analog output khơng, nếu có thì địa chỉ nhiêu, chức năng đọc dịng hay áp.
Phải chuột vào module, chọn properties
Ta thấy có 2 kênh Analog output.
Có thể thay đổi chức năng dịng hoặc áp. 1.14.3 Chương trình con
Để giải quyết loại bài tập có nhiều chế độ độc lập nhau thì ta dùng chương trình con. Ví dụ viết chương trình điều khiển đèn 2 chế độ: Tự động: thì đèn sang tắt 0.5s. Chế độ tay thì đèn được điều khiển thơng qua cơng tắt.
Trong MAIN: trong Main thường dùng để gọi chương trình con, để gọi chương trình ta chỉ cần rê và thả.
Gọi chương trình Manual
</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47">Chương trình con: chương trình con thường nằm trong khối FC
Chương trình tự động: đèn tự động sáng tắt 0,5s.
Chương trình con tay: đèn được bật tắt bằng tay.
Bài tập: viết chương trình đèn giao thơng có hai chế độ bình thường và nhấp nháy. Chọn chế độ bằng thời gian thực hoặc nút nhấn.Xung PWM/PTO.
</div>