L Bộ nhớ biến c ục bộ
2.8/ Các lệnh sử dụng hàm phát xung tốc độ cao:
CPU 214 sử dụng hai cổng ra Q0.0 và Q0.1 để phát ra dãy xung cĩ tần số cao
PTO hoặc tín hiệu điều xung theo độ rộng PWM
PTO là một dãy xung vuơng tuần hoàn cĩ chu kì là một số nguyên nằm trong
khoảng 250s65535s hoặc 250ms65535ms. Độ rơng xung bằng một nửa chu
kì xung. Số xung tối đa cho phép là 4.294.967.295
PMW là một dãy xung vuơng tuần hoàn cĩ chu kì là một số dương nằm trong
khoảng 250s65535s hoặc 250ms65535ms. Khác với PTO độ rơng xung
trong mỗi chi kì xung cĩ thể thay đổi được và là một số nguyên trong khoảng 0s
đến 65535s. nếu độ rộng xung lớn hơn chu kì xung thì dãy xung cĩ tín hiệu logic
bằng 1 ngược lại nếu độ rộng xung bằng 0 thì tín hiệu logic bằng 0
Để điều khiển các nguồn phát PTO và PWM ta sử dụng:
- Một byte điều khiển 8 bit
- Một từ đơn (Word) ghi chu kì xung
- Một từ kép (Double word) ghi số xung của dãy
Địa chỉ của những ơ nhớ trên như sau:
Cổng ra Byte điều khiển Chu kì Độ rộng xung Số xung
Q0.0 SMB67 SMW68 SMW70 SMW72
Các byte điều khiển SMB67 và SMB77 cĩ cấu trúc như sau:
Q0.0 Q0.1 Chức năng
SM67.0 SM77.0 Đổi chu kì 1:cho phép 0:khơng cho phép SM67.1 SM77.1 Đổi độ rộng xung 1:cho phép 0:khơng cho phép SM67.2 SM77.2 Đổi số đếm xung 1:cho phép 0:khơng cho phép
SM67.3 SM77.3 Đơn vị thời gian 1:ms 0:s SM67.4 SM77.4 Khơng sử dụng
SM67.5 SM77.5 Khơng sử dụng
SM67.6 SM77.6 Chọn kiểu xung 1:PWM 0:PTO SM67.7 SM77.7 Khai báo 1: Kích 0: Hủy Để sử dụng hàm tạo xung ta phải làm các bước sau
- Trong vịng quét đầu tiên
1. Ghi các giá trị cho byte điều khiển
2. Nạp các gía trị về chu kì (độ rộng) và số xung của dãy vào ơ nhớ tương ứng
3. Khai báo sử dụng chế độ ngắt ngắt 19 hoặc 20
4. Thực hiện lệnh PLS. Xung sẽ được phát ngay sau khi cĩ sườn lên của xung đầu tiên sau khi thực hiện lệnh PLS
- Khi cĩ tín hiệu ngắt 19 (dùng cho PTO) hoặc ngắt 20 (dùng cho PWM) 1. Nạp lại gía trị mới về chu kì xung PTO (nếu muốn thay đổi)
2. Nạp lại gía trị mới về độ rộng xung PWO (nếu muốn thay đổi)
3. Nạp lại giá trị mới cho byte điều khiển (nếu cần quy định lại chế độ làm việc cho hàm truyền xung)
4. Gán những gía trị mới cho hàm truyền xung bằng lệnh PLS
Cú pháp thực hiện lệnh PLS
Dạng lệnh Mơ tả chức năng lệnh
L A A D
Lệnh phát xung tại cổng ra Q0.0 hoặc Q0.1 tùy theo cấu trúc được định nghĩa trong byte điều
khiển ơ nhớ chu kì độ rộng Q0.x(word): 0-1 0:thực hiện PTO 1:Thực hiện PWM STL PLS 2.9/ Các lệnh ngắt và xử lý ngắt: Thế nào là ngắt và xử lý ngắt ?
Các chế độ ngắt cho phép thực hiện các quá trình xử lý tốc độ cao phản ứng kịp thời
với các sự kiện bên ngồi. Nguyên tắc cơ bản của một chế độ ngắt cũng giống như
lệnh gọi một chương trình con nhưng chương trình con được gọi chủ động bằng
lệnh cịn chương trình xử lý ngắt bị gọi bị động bởi tín hiệu báo ngắt. Khi cĩ tín
hiệu báo ngắt hệ thống sẽ gọi chương trình con báo ngắt tương ứng với tín hiệu báo
ngắt đĩ. Chương trình con xử lý ngắt cĩ một nhãn riêng được đánh dấu ở đầu chương trình. Trước khi bị ngắt thì hệ thống sẽ cất giữ nội dung ngăn xếp, nội dung
thanh ghi AC và các bit nhớ đặc biệt và tổ chức xếp hàng báo ngắt khi cĩ nhiều tín
hiệu báo ngắt. Sau khi ngắt thực hiện xong việc xử lý ngắt thì nội dung ngăn xếp,
nội dung thanh ghi AC và các bit nhớ đặc biệt được lưu giữ trước đĩ được lấy ra để
xử lý tiếp
CPU 214 cĩ các tín hiệu báo ngắt sau (xếp theo thứ tự ưu tiên)
1. Hai ngắt truyền thơng nối tiếp ( nhận và truyền)
2. Tám ngắt theo sườn lên hoặc xuống của các cổng I0.0 đến I0.3
3. Bảy ngắt bộ đếm tốc độ cao
4. Hai ngắt đầu ra truyền xung là PT00 và PT01 5. Hai ngắt thời gian
Chú ý: Tại một thời điểm chỉ cĩ một chương trình xử lý ngắt được thực hiện. Trong
khi thực hiện chương trình xử lý ngắt thì các tín hiệu báo ngắt phải chờ cho đến khi chương trình xử lý ngắt được thực hiện xong. Chiều dài tối đa của hàng ghi nhận tín
hiệu báo ngắt chờ xử lý là 10. Khi chiều dài hàng ghi nhận tín hiệu báo ngắt dài hơn
10 thì bit báo tràn cĩ giá trị bằng 1.
Thứ tự của các bit báo tràn được sắp xếp như sau: Nhĩm ưu
tiên
Ngắt truyền thơng Ngắt HSC,PLS, vào ra Ngắt Timer
Bit SM 0:khơng tràn 1 tràn
SM4.0 SM4.1 SM4.2
Khi viết một chương trình ngắt phải tuân thủ các quy tắc sau
1. Càng ngắn càng tốt
2. Chương trình xử lý ngắt phải đặt sau chương trình chính
3. Khơng được sử dụng các lệnh DISI, ENI, CALL, FOR…NEXT và END
trong chương trình xử lý ngắt
4. Khi kết thúc chương trình xử lý ngắt thì phải cĩ lệnh quay về khơng điều
kiện
Các tín hiệu báo ngắt của CPU 214
Mơ tả ngắt Số hiệu ngắt
(kiểu)
Tín hiệu ngắt nhận dữ liệu truyền thơng 8 Tín hiệu ngắt báo hoàn tất việc gửi dữ liệu truyền thơng 9
Ngắt theo sườn lên của I0.0 0
Ngắt theo sườn lên của I0.1 2
Ngắt theo sườn lên của I0.2 4
Ngắt theo sườn lên của I0.3 6
Ngắt theo sườn xuống của I0.0 1
Ngắt theo sườn xuống của I0.1 3
Ngắt theo sườn xuống của I0.2 5
Ngắt theo sườn xuống của I0.3 7
Ngắt theo HSC0 khi giá trị tức thời bằng gía trị đặt trước
Ngắt theo HSC1 khi giá trị tức thời bằng gía trị đặt trước
13
Ngắt theo HSC1 khi cĩ tín hiệu báo đổi hướng bên ngồi
14
Ngắt theo HSC1 khi cĩ tín hiệu Reset bên ngồi 15 Ngắt theo HSC2 khi giá trị tức thời bằng gía trị đặt
trước
16
Ngắt theo HSC2 khi cĩ tín hiệu báo đổi hướng bên ngồi
17
Ngắt theo HSC2 khi cĩ tín hiệu Reset bên ngồi 18 Ngắt theo PLS0 báo hiệu hoàn tất việc đếm xung 19 Ngắt theo PLS1 báo hiệu hoàn tất việc đếm xung 20
Ngắt theo thời gian 0 10
Ngắt theo thời gian 1 11
Chú ý: Nếu khai báo ngắt kiểu 12 ngắt HSC0 khi gía trị giá trị tức thời bằng gía trị đặt trước( PV=CV) thì hai kiểu ngắt 0 và 1 bị vơ hiệu hĩa. Cúng tương tự như vậy
nếu khai báo sử dụng ngắt kiểu 0 hoặc kiểu 1thì ngắt kiểu 12 bị vơ hiệu hĩa
Các cú pháp sử dụng lệnh ngắt
Dạng lệnh Mơ tả chức năng lệnh
L A A D
Khai báo sử dụng một chế độ ngắt với kiểu được xác định bởi tốn hạng Event. Chương trình xử lí
ngắt tương ứng được xác định bởi Int. sau khi
khai báo chế độ ngắt cũng được kích theo
INT: CPU 214: 0-127