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

Trắc nghiệm điều khiển khả trình (3)

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 (346.43 KB, 8 trang )

ÔN TẬP
1. Các lệnh SET, RESET, SET_BF, RESET_BF, RS, SR
- Lệnh SET nhiều bit (SET_BF) có chức năng ghi giá trị 1 vào một dãy bit có địa chỉ kề nhau (số bit đặt
trước) khi đầu vào ON
- Lệnh RESET nhiều bit (RESET_BF) có chức năng ghi giá trị 0 vào một dãy bit có địa chỉ kề nhau (số
bit đặt trước) khi đầu vào ON
- Lệnh RS (ưu tiên S): Khi cả chân R và S1 đều lên 1 thì ưu tiên Set, đầu ra Q bằng 1

-

Lệnh SR (ưu tiên R): Khi cả chân S và R1 đều lên 1 thì ưu tiên Reset, đầu ra Q bằng 0

VD1: Khi I0.1 = 1 và I0.2 = 1 thì lệnh SET_BF được thực hiện sẽ đặt 2 bit là Q0.0 và Q0.1 lên giá trị 1

VD2: Khi I0.2 = 1 và I0.3 = 1 thì lệnh RESET_BF được thực hiện sẽ Reset 2 bit Q0.3 và Q0.4 về giá trị 0.

2. Nhóm lệnh bắt sườn:

-

Bắt sườn lên (dạng tiếp điểm) của tín hiệu “IN”:

-

Bắt sườn xuống (dạng tiếp điểm) của tín hiệu “IN”:

-

Lệnh bắt sườn lên P_TRIG của tín hiệu CLK:

- Lệnh bắt sườn xuống N_TRIG của tín hiệu CLK:


Lưu ý:
- Trong lệnh bắt sườn, “M_BIT” được dùng để lưu trạng thái của “IN” (hoặc “CLK”) ở vòng quét trước
đó. Chỉ nên sử dụng một “M_BIT” duy nhất cho mỗi lệnh bắt sườn xung
- Lệnh P_TRIG kiểm tra sườn lên của một hoặc một tổ hợp các tín hiệu logic ở đầu vào CLK, trong khi
lệnh bắt xung theo sườn lên dạng tiếp điểm chỉ kiểm tra sườn lên của 1 tín hiệu logic “IN”
- Lệnh N_TRIG kiểm tra sườn xuống của một hoặc một tổ hợp các tín hiệu logic ở đầu vào CLK, trong
khi lệnh bắt xung theo sườn xuống dạng tiếp điểm chỉ kiểm tra sườn xuống của 1 tín hiệu logic “IN”
VD1: Giải thích đoạn chương trình sau:


Khi xuất hiện sườn lên của tổ hợp (I0.0 & I0.1) thì Q0.0 chuyển từ 0 lên 1 (được Set lên 1)
VD2: Giải thích đoạn chương trình sau:

Khi xuất hiện sườn xuống của tổ hợp (I0.0 OR I0.1) thì có tín hiệu đầu ra bộ N-TRIG. Khi đó lệnh Set Q0.0
được thực hiện làm Q0.0 = 1
VD3: Ở đoạn chương trình sau. Lệnh P_TRIG có chức năng: Bắt sườn lên của tổ hợp (I0.0 & I0.1)

VD4: Ở đoạn chương trình sau. Lệnh N_TRIG có chức năng: Bắt sườn xuống của tổ hợp (I0.0 OR I0.1)

VD5: Ở đoạn chương trình sau. Khi I0.0 chuyển từ 0 lên 1 thì: M0.0 chuyển từ 0 lên 1, sau 20 giây thì bị reset về
0

VD6: Ở đoạn chương trình sau. Khi xuất hiện sườn lên của I0.0 thì: M0.1 chuyển từ 0 lên 1. Sau 20 giây thì
M0.1 bị reset về 0

3. Các vùng nhớ cơ bản và cách thể hiện địa chỉ nhớ:
 Vùng bộ đệm ảo đầu vào Process Image I: Trạng thái tín hiệu vào vật lý được cập nhật vào vùng nhớ I
tại một thời điểm trong mỗi vòng quét
- Truy cập theo Bit: VD: I0.0; I0.1; I3.7 …







- Truy cập theo Byte: VD: IB0; IB1; IB2 …
- Truy cập theo Word: VD: IW0; IW2; IW4 …
- Truy cập theo Double Word: VD: ID0; ID4; ID8 …
Vùng bộ đệm ảo đầu ra Process Image Q: Đầu mỗi vòng quét, dữ liệu từ vùng Q được đưa ra đầu ra
vật lý để điều khiển.
- Truy cập theo Bit: VD: Q0.0; Q0.1; Q3.7 …
- Truy cập theo Byte: VD: QB0; QB1; QB2 …
- Truy cập theo Word: VD: QW0; QW2; QW4 …
- Truy cập theo Double Word: VD: QD0; QD4; QD8 …
Vùng nhớ bit M (vùng nhớ nội): Được dùng để lưu dữ liệu và tham số trước khi đưa ra ngoại vi
- Truy cập theo Bit: VD: M0.0; M0.1; M3.7 …
- Truy cập theo Byte: VD: MB0; MB10; MB20 …
- Truy cập theo Word: VD: MW0; MW2; MW4 …
- Truy cập theo Double Word: VD: MD0; MD4; MD8 …

Chú ý:
- PLC S7-1200 hỗ trợ tối đa 3 loại vùng nhớ: Global Memory; Local Memory; Instance Memory (hoặc
có thể phân chia theo cách khác là Load Memory; Work Memory; Retentive Memory)
- Vùng nhớ toàn cục: Global Memory, DB
4. Hệ thống bus truyền tín hiệu trong S7-1200 có nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O
(vào/ra). Hệ thống bus gồm: Address bus, data bus và control bus
5. Một số đặc điểm phần cứng S7-1200:
- Cấu trúc cơ bản PLC S7-1200: gồm Bộ xử lý, bộ nhớ, bộ nguồn, giao tiếp xuất/nhập
- Nguồn cấp: Tùy theo loại CPU (model), S7-1200 có thể sử dụng một trong 2 nguồn 220 VAC hoặc 24
VDC

- Có 2 kiểu đầu ra số: Ngõ ra dạng Rơ le và ngõ ra dạng Transistor
- Các tín hiệu tương tự (analog) chuẩn được đọc bởi module SM: Dạng dòng điện từ 4mA – 20mA (hoặc
0mA – 20mA) hoặc dạng điện áp từ 0 – 10 VDC.
- Để kết nối và giao tiếp với máy tính, CPU S7-1200 sử dụng cổng Ethernet
- Ký hiệu trên CPU: DI. thể hiện đầu vào số DQ. thể hiện đầu ra số
- Trên CPU có đèn báo “Error”. Đèn sáng đỏ khi chương trình gặp lỗi hoặc lỗi phần cứng
- Mức logic 0 ở đầu ra số tương ứng với điện áp <= 5VDC
- PLC S7-1200 tích hợp trên đó những loại cổng: Tích hợp cả cổng Digital và Analog
- PLC S7-1200 có thể gắn tối đa 3 mơ đun truyền thơng phía bên trái CPU và tối đa 8 mơ đun tín hiệu phía
bên phải CPU
- Module AI/AO: là mơ đun đọc / xuất tín hiệu tương tự
- PLC S7-1200 cho phép gắn thẻ nhớ MMC nhằm tăng dung lượng vùng nhớ Load Memory
6. Một số đặc điểm phần mềm PLC
- Trên PLC chỉ có thể chứa duy nhất 1 chương trình chính
- Số lượng chương trình con của PLC tùy thuộc vào người viết và dung lượng bộ nhớ
7. Khái niệm về logic tổ hợp và logic trình tự:
- Logic tổ hợp: trạng thái đầu ra tại bất kỳ thời điểm nào chỉ phụ thuộc vào tổ hợp các giá trị logic ở đầu vào
- Logic trình tự: trạng thái đầu ra khơng những phụ thuộc tín hiệu vào mà cịn phụ thuộc trình tự tác động của
các tín hiệu vào
- Hàm logic: là hàm có biến mơ tả trạng thái ở dạng toán hệ nhị phân (hệ cơ số 2)
8. Bộ vi xử lý trong PLC là hệ thống các vi mạch số hoạt động theo chương trình.
Khái niệm IC (Integrated Circuit) cịn gọi là Mạch điện tích hợp


Vi xử lý gồm 3 khối chức năng (3 thành phần cơ bản) là CPU, bộ nhớ, các cổng vào ra I/O.
Chương trình vi xử lý có thể hiểu là tập hợp các lệnh được sắp xếp theo thuật toán của một bài tốn hay một
cơng việc nào đó.
Chức năng chính của vi xử lý là thực hiện các phép toán trên các số.
9. Một số lệnh cơ bản với vi xử lý AVR:
- Lệnh cộng: ADD

VD: ADD Rd, Rr
 Cộng thanh ghi Rr vào thanh ghi Rd
- Lệnh tăng, giảm giá trị:
VD:
Nếu x = 10 thì sau câu lệnh y = ++x, giá trị của y sẽ là 11.
Nếu x = 10 thì sau câu lệnh y = x++, giá trị của y vẫn sẽ là 10.
Nếu x = 10 thì sau câu lệnh y = --x, giá trị của y sẽ là 9.
Nếu x = 10 thì sau câu lệnh y = x--, giá trị của y vẫn sẽ là 10.
- Lệnh gọi chương trình con:
VD: Lệnh “CALL Address” sẽ gọi chương trình con ở địa chỉ Address để thực hiện
- Lệnh gán:
VD: Lệnh y = x sẽ gán giá trị của x cho biến y
- Chú thích trong chương trình lập trình C cho AVR được thể hiện bằng dấu sổ kép “//”. Đoạn text sau dấu chú
thích sẽ khơng được biên dịch
- Lệnh “If” khi lập trình C cho AVR:
VD 1: If (A) statement
Nếu biểu thức logic A = 1 thì thực hiện câu lệnh statement
VD 2: If (x > 3) y = ‘@’
Nếu biến x lớn hơn 3 thì y được gán ký tự ‘@’
10. Các lệnh kiểm tra nằm trong / ngoài dải cho trước
- Lệnh IN_RANGE: Có tác dụng kiểm tra VAL nằm trong dải từ MIN-MAX (có tác dụng kiểm tra một giá
trị nằm trong dải định sẵn)

-

Lệnh OUT_RANGE: Có tác dụng kiểm tra VAL nằm ngồi dải MIN-MAX (có tác dụng kiểm tra một
giá trị nằm ngồi dải định sẵn)

11. Nhóm lệnh làm tròn / làm nguyên số
- Lệnh ROUND: Làm tròn giá trị của IN và ghi ra OUT.

VD: Nếu IN = 17.1 thì sau làm trịn OUT = 17
Nếu IN = 17.8 thì sau làm trịn OUT = 18


- Lệnh CEIL: Lệnh làm tròn lên giá trị của IN và ghi ra OUT
VD: Nếu IN = 17.1 thì sau làm tròn lên OUT = 18
Nếu IN = 17.8 thì sau làm trịn lên OUT = 18
- Lệnh FLOOR: Lệnh làm tròn xuống giá trị của IN và ghi ra OUT
VD: Nếu IN = 17.1 thì sau làm trịn xuống OUT = 17
Nếu IN = 17.8 thì sau làm tròn xuống OUT = 17
- Lệnh TRUNC: Cắt phần thập phân
VD1: Ở đoạn chương trình sau. Khi xuất hiện sườn lên của I0.0 thì MW10 = 20

VD2: Ở đoạn chương trình sau. Khi xuất hiện sườn lên của I0.0 thì MW10 = 21

VD3: Ở đoạn chương trình sau. Khi xuất hiện sườn lên của I0.0 thì MW20 = 20

VD4: Ở đoạn chương trình sau. Khi M0.1 chuyển từ 0 lên 1 thì MW30 = 31

12. Nhóm lệnh SCALE_X và NORM_X để quy đổi các dải giá trị
- Lệnh SCALE_X: Có tác dụng quy đổi giá trị VALUE trong dải từ 0-1 thành giá trị tương ứng trong dải từ
MIN-MAX
Biểu thức quy đổi: OUT = VALUE (MAX – MIN) + MIN

VD1: Nếu VALUE = 0.7; MIN = 0 và MAX = 10 thì OUT = 0.7 (10-0) + 0 = 7
VD2: Cho đoạn chương trình sau. Khi M0.0 chuyển từ 0 lên 1 thì MW45 = 5

- Lệnh NORM_X: Có tác dụng quy đổi giá trị VALUE nằm trong dải từ MIN-MAX thành giá trị tương ứng nằm
trong dải từ 0-1
Biểu thức quy đổi: OUT = (VALUE – MIN) / (MAX – MIN)



VD1: Nếu VALUE = 60; MIN = 0 và MAX = 100 thì OUT = 0.6
VD2: Ở đoạn chương trình sau. Khi M0.1 chuyển từ 0 lên 1 thì MD23 = 0.7

13. Các lệnh logic AND; OR với kích thước lớn hơn 1 bit: Có tác dụng AND; OR từng bit tương ứng của các
đầu vào và ghi kết quả ra đầu ra.
VD1: Ở đoạn chương trình sau. Khi M0.1 chuyển từ 0 lên 1 thì QB0 = 0

Giải thích: Khi lệnh được thực hiện thì OUT = IN1 & IN2. Do IN1 = 0 nên OUT = 0 & IN2 = 0
VD2: Ở đoạn chương trình sau. Khi M0.1 chuyển từ 0 lên 1 thì QB0 = 255

Giải thích: Khi lệnh được thực hiện thì OUT = IN1 OR IN2. Do IN1 = 255 (đổi sang hệ cơ số 2 là 2#11111111)
nên OUT = 255 & IN2 = 255
14. Nhóm lệnh điều khiển chương trình
- Lệnh JMP: Nhảy tới nhãn chỉ định
VD: Ở đoạn chương trình sau. Khi I0.0 chuyển từ 0 lên 1 thì Nhảy tới thực hiện network có nhãn ABC

- Lệnh JMP_LIST: Nhảy tới các nhãn theo danh sách tùy thuộc giá trị của K
VD1:

 Nếu K = 0 thì nhảy tới nhãn ở DEST0; nếu K = 1 thì nhảy tới nhãn ở DEST1; Nếu K = 2 thì nhảy tới nhãn ở
DEST2; nếu K = 3 thì nhảy tới nhãn ở DEST3
VD2: Ở đoạn chương trình sau. Khi I0.0 chuyển từ 0 lên 1 thì Nhảy tới thực hiện network có nhãn DEF


- Lệnh SWITCH: Lựa chọn nhãn để chương trình nhảy tới thực hiện
VD: Ở đoạn chương trình sau. Khi MW0 = 15 và xuất hiện sườn lên của I0.0 thì Nhảy tới thực hiện network có
nhãn DEF


Giải thích: Tùy thuộc giá trị của K sẽ quyết định nhảy tới nhãn nào. Nếu K = 10 thì nhảy tới network có nhãn
ABC; nếu K > 11 thì nhảy tới nhãn DEF; nếu K < 9 thì nhảy tới nhãn GHI. Nếu K không thỏa mãn các điều kiện
trên (VD K = 9.5) thì nhảy tới nhãn JKL
15. Lệnh INV: Tạo số bù 1. Có tác dụng đảo từng bit của đầu vào IN và ghi ra OUT

VD1: Nếu IN = 2#11001100 thì sau lệnh INV giá trị của OUT = 2#00110011
Nếu IN = 2#00001111 thì sau lệnh INV có OUT = 2#11110000
Nếu IN = 2#11111111 thì sau lệnh INV có OUT = 2#00000000
VD2: Cho đoạn chương trình sau. Khi I0.0 chuyển từ 0 lên 1 thì QB0 = 2#11110000

16. Lệnh ABS: Lấy trị tuyệt đối

OUT

IN

 Khi lệnh được thực hiện thì:
VD1: Nếu IN = -99 thì sau lệnh ABS có OUT = 99
Nếu IN = 23 thì sau lệnh ABS có OUT = 23
VD2: Cho đoạn chương trình sau. Khi M0.0 = 1 thì MW20 = 19

17. Lệnh SWAP: Đảo byte

VD1: IN = 16#ABCD thì sau lệnh SWAP có OUT = 16#CDAB
IN = 16#1100 thì sau lệnh SWAP có OUT = 16#0011


VD2: Cho đoạn chương trình sau. Khi M0.0 = 1 thì MW50 = 16#0011

18. Lệnh chuyển kiểu dữ liệu CONV


 Lệnh trên chuyển kiểu từ Real (số thực) về UInt (số ngun khơng dấu). Do đó sau lệnh thì OUT = 10
(làm tròn số thực thành số nguyên)
VD1: Cho đoạn chương trình sau. Khi M0.0 = 1 thì Các bit từ Q1.0 đến Q1.7 đều nhận giá trị logic 1



×