Professional Documents
Culture Documents
Câu 1: Trình Bày Nguyên Lý Sơ Đ Ni
Câu 1: Trình Bày Nguyên Lý Sơ Đ Ni
Nguyên lý sơ đồ:
OB có thể gọi ra nhiều FB( đã tích hợp sẵn DATA BLOCK) và FB có thể gọi nhiều FC
FB có thể gọi nhiều FB khác , và FB chỉ gọi được FC và phải tạo thêm data block cho FC vì FC
không tích hợp data block
OB là chương trình chính , và có thể gọi trực tiếp FC
CHỨC NĂNG CỦA CÁC KHỐI:
Đặc điểm FC FB
Có thể sử dụng như một chương trình con Có Có
Có thể sử dụng tham số cho đầu vào, đầu ra và Inout Có Có
Có thể sử dụng biến tạm thời Có Có
Có thể sử dụng biến tĩnh (có remanence) Không Có
Cần một DB phụ (thể hiện) cho mỗi lần gọi Không Có
Tham số được truyền dưới dạng địa chỉ để sử dụng nội bộ Có Không
Tham số được sao chép đến/từ một DB (thể hiện) để sử dụng nội
bộ Không Có
Có thể gọi nội bộ một FB hoặc FC Có Có
Có thể được gọi cho một FB hoặc FC Có Có
Có thể gọi một FB như một thể hiện đa Không Có
Có thể được gọi mà không cần điền đầy đủ tham số Không Có
Dưới đây là một số điểm khác biệt chính giữa FC và FB:
• FC:
o Không có "bộ nhớ".
o Không thể lưu trữ giá trị biến vĩnh viễn.
o Thường được sử dụng cho các nhiệm vụ lặp lại đơn giản.
• FB:
o Có "bộ nhớ".
o Có thể lưu trữ giá trị biến vĩnh viễn.
o Thường được sử dụng cho các nhiệm vụ phức tạp hơn.
• OB1: Khối tổ chức chính, là điểm bắt đầu của chương trình.
• FB22: Khối chức năng được gọi từ OB1.
• DB201, DB202, DB203: Khối dữ liệu phiên bản được sử dụng bởi FB22 để lưu
trữ dữ liệu chương trình.
• Input filters: Lọc các xung có độ dài lớn hơn 6.4 milisec, đối với dòng
encoder khi quay ở tốc độ cao thì đầu vào lọc xung có giá trị thời gian tồn tại
của xung rất nhỏ, để đọc được số xung của encoder đó thì phải giảm thời
gian lọc xung xuống
• (Event name)Tên sự kiện: Tên của sự kiện được tạo ra khi lệnh này được
kích hoạt. Trong trường hợp này, tên là "Rising edge0".
• (Enable rising edge detection )Lệnh: Lệnh này kích hoạt việc phát hiện cạnh
lên cho một tín hiệu đầu vào. Khi tín hiệu đầu vào chuyển từ mức thấp sang
mức cao, lệnh này sẽ tạo ra một sự kiện với tên đã định nghĩa.
• (Hardware interup)Phần cứng ngắt: Lệnh này có thể được cấu hình để sử
dụng ngắt phần cứng. Ngắt phần cứng cho phép CPU của PLC phản ứng
nhanh hơn với sự kiện so với việc sử dụng polling (kiểm tra liên tục).
• (Priority)Ưu tiên: Ưu tiên của ngắt được sử dụng khi có nhiều ngắt xảy ra
đồng thời. Lệnh này có ưu tiên 18, nghĩa là nó có ưu tiên cao hơn các lệnh
khác có ưu tiên thấp hơn.
• (Enable falling edge detection )Lệnh: Lệnh này kích hoạt việc phát hiện
cạnh lên cho một tín hiệu đầu vào. Khi tín hiệu đầu vào chuyển từ mức cao
sang mức thấp, lệnh này sẽ tạo ra một sự kiện với tên đã định nghĩa.
Ví dụ:
Lệnh này có thể được sử dụng để phát hiện khi một công tắc được bật hoặc khi một
cảm biến phát hiện ra một vật thể. Khi sự kiện được kích hoạt, PLC có thể thực
hiện các hành động như bật một động cơ, gửi một tín hiệu đến một thiết bị khác
hoặc ghi dữ liệu vào bộ nhớ.
Kết luận: Lệnh "Enable rising edge detection" (Kích hoạt phát hiện cạnh lên) được
sử dụng để phát hiện khi tín hiệu đầu vào chuyển từ mức thấp sang mức cao. Lệnh
này có thể được sử dụng để tạo ra các sự kiện và ngắt, giúp PLC phản ứng nhanh
hơn với các thay đổi trong môi trường.
Câu 3: Bộ PWM1
a. Điền vào cái IN (1), OUT1 (2), vì sao lại điền như thế
b. Địa chỉ 1 và 2 có thay đổi được không
c. Kiểu dữ liệu của 1 và 2
a.IN (1): MW20, kiểu dữ liệu tương ứng để khi thay đổi chân này ta sẽ thay đổi
được tín hiệu của QW1000, làm thay đổi tốc độ của động cơ. ( kiểu dữ liệu phải
phù hợp với OUT1, do OUT1 có kiểu dữ liệu word nên IN1 có thể là kiểu dữ liệu
word hoặc double word)
OUT1 (1): QW1000, tín hiệu này cho phép sử dụng bộ PWM1.
b) Địa chỉ chân 1 thay đổi được, thay đổi sao để không bị trùng dữ liệu ở hàm
khác. (Ví dụ: ta có thể thay đổi MW20 thành MW22, khoảng cách là 2 byte)
Địa chỉ chân 2 có thể thay đổi từ QW1000 bằng QW1001
C) Kiểu dữ liệu
Chân 1 (IN) là word
Chân 2 (IN) là word
4. HSC ( giải thích chức năng của các chân)
Enable: kích hoạt bộ đếm HSC
Name: tên bộ đếm, trong này bộ đếm mình đang sử dụng là HCS_1
Type of counting: loại đếm, có các loại đếm như count, Frequency
Operating phase: loại pha đếm. (single phase: đếm sườn lên của pha A, two phase:
đếm cả sườn lên và sườn xuống của pha A, A/B counter: đếm cả 2 pha A và B có
thể biết được chiều quay, A/B counter fourfold: đếm sườn lên và xuống của cả 2
pha A và B)
Initial counting direction: Hướng đếm.
Frequency measuring period: Khoảng thời gian đo của tần số. (nếu chọn 1s thì sau
1 giây bộ đếm sẽ tự reset và đếm lại từ đầu)
Clock generator A input: chọn nguồn tín hiệu đầu vào cho A
Start address: địa chỉ bắt đầu (ta có thể lấy tín hiệu số xung từ ID1000 đến ID1003)
End address: địa chỉ cuối
PTO1/PWM1
• Time base: đơn vị thời gian muốn dùng (thường là milisecond)
• Pulse duration: liên quan đến tính duty cycle (vd: chọn Hunderedth thì duty
cycle từ 0-100%)
• Cycle time: chu kỳ xung
• Initial pulse duration: thời gian xung ban đầu (khi bộ PWM được kích hoạt
thì sẽ có một tần số xung ban đầu được phát ra (như duty cycle), vd: nếu
Initial pulse duration = 0, khi bộ PWM được kích hoạt thì sẽ có một tần số
xung ban đầu được phát ra là 0 tương ứng với duty cycle là 0%, động cơ
không chạy)
• Start address: kiểu dữ liệu là work (QW), có thể thay đổi được miễn là kiểu
work, mặc định là 1000-1001, ta có thể thay đổi bằng con số khác, vd: Start
address = 10, thì địa chỉ sẽ thay đổi thành 10-11.(có thể bật phần mềm lên để
thử thay đổi ở ô Start address)
Ngắt chu kỳ-Cyclic time Interrupt:OB30
Trong chương trình của PLC Hàm main thực hiện chương trình lặp đi lặp lại liên
tục( khi nó thực hiện hết các dòng lệnh thì nó sẽ quay ngược trở lại và cứ nó lặp lại
liên tục), nếu như cấu hình cuả ngắt chu kỳ là một ngắt thời gian được quy định
trong cyclic time thì cứ đúng khoảng thời gian đó chu trình sẽ tự động phát sinh
một cái ngắt và chương trình main( OB1) sẽ tạm dừng lại và nhảy vào chương
trình ngắt chu kỳ và thực hiện các lệnh trong khối ngắt chu kỳ (OB30), sau khi
thực hiện xong các lệnh trong OB30 thì nó sẽ quay ngược trở lại thực hiện tiếp các
lệnh ở trong hàm main và cứ thế lặp đi lặp lại.
Cyclic time: là thời gian thực hiện ngắt một lần
Name: Tên của ngắt chu kỳ. Trong ví dụ này, tên là "Cyclic interrupt".
Constant name: Tên hằng được sử dụng để truy cập ngắt chu kỳ trong chương trình
PLC. Trong ví dụ này, tên hằng là "OB_Cyclic interrupt".
Type : Loại của ngắt chu kỳ. Trong ví dụ này, kiểu là "OB", nghĩa là ngắt chu kỳ
khối tổ chức (Organization Block).
Event class: Lớp sự kiện của ngắt chu kỳ. Trong ví dụ này, lớp sự kiện là "Cyclic
interrupt", nghĩa là ngắt chu kỳ xảy ra theo chu kỳ định kỳ.
language: Ngôn ngữ lập trình được sử dụng để viết chương trình cho ngắt chu kỳ.
Trong ví dụ này, ngôn ngữ là "LAD", nghĩa là Ladder Diagram (Sơ đồ bậc thang).
Number : Số của ngắt chu kỳ. Trong ví dụ này, số là 30.
Manual: Chọn hộp này nếu bạn muốn khởi tạo ngắt chu kỳ thủ công bằng lệnh
START.
Automatic : Chọn hộp này nếu bạn muốn ngắt chu kỳ tự động khởi động khi PLC
khởi động.
Priority : Số ưu tiên xác định thứ tự các sự kiện được xử lý. Các sự kiện có số ưu
tiên cao hơn sẽ được xử lý trước các sự kiện có số ưu tiên thấp hơn.
Cyclic time (ms): Nhập khoảng thời gian giữa các lần PLC xử lý ngắt chu kỳ.
Phase offset (ms): Nhập độ trễ giữa thời điểm bắt đầu của chu kỳ PLC và thời điểm
PLC xử lý ngắt chu kỳ.
1. Khái niệm:
• Hardware Interrupt (Ngắt phần cứng) là tính năng cho phép PLC xử lý tín hiệu từ
thiết bị ngoại vi một cách nhanh chóng và hiệu quả.
• Khi xảy ra ngắt phần cứng, chương trình chính sẽ bị tạm dừng để CPU có thể xử
lý ngắt.
• Sau khi xử lý ngắt, CPU sẽ tiếp tục thực thi chương trình chính.
1. System Memory Bits:
Chức năng:
Ứng dụng: