« Home « Kết quả tìm kiếm

Chương 2 Phần Tập Lệnh Nâng Cao(Tài Liệu Tham Khảo Của DH SPKT


Tóm tắt Xem thử

- Sự thay đổi giá trị của mỗi thành phần trong từng mạch điện ngõ vào làm cho bộ chuyển đổi Analog đa thành phần có sự sai số nhỏ về giá trị đọc giữa các kênh dù được kết nối với cùng một tín hiệu ngõ vào.
- Chọn chế độ 64 hoặc chế độ khác trong việc tính toán giá trị trung bình.
- Sử dụng máy phát tín hiệu, nguồn áp hoặc nguồn dòng đặt tín hiệu có giá trị bằng 0 tới một trong những đầu nối của ngõ vào.
- Đọc giá trị thu được cho CPU bằng kênh ngõ vào thích hợp.
- Điều chỉnh OFFSET của máy đo điện thế cho đến khi bằng 0, hoặc giá trị dữ liệu dạng số mong muốn.
- Kết nối một giá trị toàn thang tới một trong những đầu nối của ngõ vào.
- Điều chỉnh GAIN của máy đo điện thế cho đến khi bằng 32000, hoặc giá trị dữ liệu dạng số mong muốn.
- Hình A -21 giới thiệu nơi giá trị 12 bit dữ liệu được đặt trong địa chỉ Word của CPU.
- Hình A -23 giới thiệu nơi giá trị 12 bit dữ liệu được đặt trong địa chỉ Word của CPU.
- Để đọc tín hiệu tương tự ngõ vào ta sử dụng lệnh di chuyển dữ liệu: Lệnh ghi dữ liệu tương tự ngõ ra.
- Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 6 Bài 2.
- CHƯƠNG TRÌNH CON Chương trình con trong PLC giúp bạn chia nhỏ chương trình thành từng phần, các lệnh sử dụng trong chương trình chính của bạn sẽ quyết định việc thi hành các chương trình con.
- Khi chương trình chính gọi chương trình con để thực hiện, chương trình con sẽ tiến hành các lệnh của nó cho đến khi kết thức chương trình.
- Vì vậy hệ thống trả lại sự điều khiển cho chương trình chính tại Network mà từ đó chương trình con được gọi.
- Chương trình con được sử dụng để chia chương trình của bạn thành những khối nhỏ và dễ quản lý hơn.
- Ưu điểm của công việc này là khi bạn tìm lỗi hoặc tiến hành sửa chữa, cải tiến những chương trình.
- Khi làm việc với những khối nhỏ hơn, bạn sẽ dễ dàng tìm được lỗi và sửa chữa chúng tốt hơn khi bạn làm việc với toàn bộ chương trình lớn.
- PLC có thể được sử dụng một cách hiệu quả hơn bằng việc gọi những khối khi cần cũng như tất cả các khối không phải thực hiện trong mỗi vòng quét của nó.
- Cuối cùng thì những chương trình con có thể di chuyển được nếu chương trình con chỉ liên quan đến những thông số và bộ nhớ cục bộ của nó.
- Để cho chương trình con được linh động, tránh sử dụng các biến hoặc bộ nhớ toàn cục như I, Q, M, SM, AI, AQ, V, T, C, S, AC.
- Nếu chương trình con không gọi những tham số (IN, OUT, hoặc IN_OUT) hoặc chỉ sử dụng những biến cục bộ trong bộ nhớ L, bạn có thể xuất chương trình con này và nhập nó vào trong bất kỳ chương trình nào khác.
- Để sử dụng chương trình con, bạn phải thực hiện 3 công việc sau.
- Tạo một chương trình con.
- Định nghĩa thông số của nó trong bảng các biến cục bộ của chương trình con.
- Gọi chương trình con từ một chương trình nào đó (chương trình chính, chương trình con khác hoặc chương trình ngắt).
- Khi chương trình con được gọi, toàn bộ dữ liệu ngăn xếp sẽ được lưu lại và quyền điều khiển được chuyển sang cho chương trình con được gọi.
- Khi chương trình con hoàn thành, ngăn xếp được phục hồi lại với giá trị đã được lưu trữ và quyền điều khiển trả lại cho chương trình trước đó.
- Thanh ghi tích lũy được sử dụng chung cho chương trình con và chương trình chứa nó.
- Hoạt động lưu trữ và phục hồi không thực hiện đối với thanh ghi tích lũy khi thực hiện chương trình con.
- Chương trình con có thể chứa thông số kèm theo.
- Những thông số được định nghĩa trong bảng bộ nhớ cục bộ của chương trình con.
- 16 thông số có thể truyền vào hoặc lấy ra từ chương trình con.
- Vùng chọn kiểu biến trong bảng biến cục bộ xác định biến nào được truyền vào chương trình con (IN), biến nào được lấy ra từ chương trình con (OUT) hoặc biến nào vừa truyền vào và sau đó lấy ra từ chương trình con (IN_OUT).
- Bảng sau đây mô tả các kiểu thông số của một chương trình con.
- Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 15 Ngắt theo suờn xuống của I0.1 3 Ngắt theo suờn xuống của I0.2 5 Ngắt theo suờn xuống của I0.3 7 Ngắt theo HSC0, khi giá trị tức thời bằng giá trị đặt trước* 12 Ngắt theo HSC1, khi giá trị tức thời bằng giá trị đặt trước 13 Ngắt theo HSC1, khi có tín hiệu báo đổi hướng đếm từ bên ngoài 14 Ngắt theo HSC1, khi có tín hiệu reset từ bên ngoài 15 Ngắt theo HSC2, khi giá trị tức thời bằng giá trị đặt trước 16 Ngắt theo HSC2, khi có tín hiệu báo đổi hướng đếm từ bên ngoài 17 Ngắt theo HSC2, khi có tín hiệu reset từ bên ngoài 18 Ngắt theo PLS0 báo hòan tất việc đếm xung 19 Ngắt theo PLS1 báo hòan tất việc đếm xung 20 Ngắt theo thời gian T0 10 Ngắt theo thời gian T1 11 * Nếu khai báo sử dụng ngắt kiểu 12 thì hai kiểu ngắt 0 và 1 đều bị vô hiệu hóa hoặc ngược lại nếu khai báo kiểu ngắt 0 hoặc 1 thì kiểu ngắt 12 sẽ bị vô hiệu hóa.
- a) Thứ tự ưu tiên: Thứ tự ưu tiên của các kiểu ngắt khác nhau đã được cứng hóa từ trước theo nguyên tắc: tín hiệu báo ngắt nào có trước thì xử lý trước.
- Tuy nhiên những trường hợp các tín hiệu ngắt xuất hiện cùng một lúc hoặc một tín hiệu ngắt xuất hiện trong khi hệ thống đang phải xử lý một chương trình ngắt khác thì chúng sẽ phải tuân theo quy định ưu tiên sau: Nhóm ưu tiên CPU 214 Ngắt truyền thông 4 Ngắt vào/ra 16 Ngắt thời gian 4 Riêng với tín hiệu ngắt truyền thông, mặc dù chưa được xử lý nhưng ký tự nhận được cùng bit kiểm tra chẵn lẻ vẫn được ghi nhớ theo đúng thứ tự ngắt.
- Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 16 b) Khai báo và hủy toàn cục chế độ ngắt: Khi ở chế độ RUN toàn bộ chế độ ngắt khai báo trước sẽ tự động bị vô hiệu hóa, tất cả các chế độ ngắt có thể được kích cùng lúc bằng việc thực hiện việc kích chế độ ngắt toàn cục ENI.
- Lệnh hủy toàn cục DISI sẽ vô hiệu hóa tất cả các chế độ ngắt.
- Tuy vậy vẫn cho phép các tín hiệu ngắt được xếp hàng chờ, nhưng không cho phép thực hiện bất cứ một chương trình xử lý ngắt nào.
- c) Khai báo và hủy một chế độ ngắt: Để khai báo một chế độ ngắt phải thực hiện hai công việc kích tín hiệu báo ngắt cho chế độ đó bằng lệnh ATCH và khai báo chương trình xử lý ngắt tương ứng bằng lệnh ngắt INT.
- Có thể gộp nhiều tín hiệu báo ngắt vào một chương trình xử lý ngắt, song một tín hiệu báo ngắt chỉ có thể có nhiều nhất một chương trình xử lý ngắt.
- Có thể hủy bỏ từng chế độ ngắt riêng biệt bằng lệnh DTCH.
- Lệnh này sẽ đặt một chế độ ngắt vào trạng thái không tích cực.
- d) Chương trình xử lý ngắt: Cũng giống như một chương trình con, chương trình xử lý ngắt có một nhãn riêng được đánh dấu tại đầu chương trình.
- Tất cả các lệnh nằm giữa nhãn của chương trình xử lý ngắt và lệnh quay về không điều kiện RETI của chương trình xử lý ngắt đều thuộc về nội dung của chương trình xử lý ngắt.
- Chương trình xử lý ngắt phải được viết một cách tối ưu về thời gian thực hiện.
- Chỉ nên sử dụng chương trình ngắt trong thời gian ngắn và thực hiện chương trình này thật nhanh.
- Khi viết một chương trình ngắt cần phải tuân theo những quy tắc sau đây.
- Đặt chương trình ngắt sau chương trình chính.
- Không được sử dụng các lệnh: DISI, ENI, CALL, HDEF, FOR…NEXT và END trong chương trình ngắt.
- Cần phải kết thúc chương trình ngắt bằng lệnh quay về không điều kiện: RETI.
- e) Ngắt truyền thông: Kiểu điều khiển truyền thông bằng chương trình được gọi là kiểu điều khiển cổng tự do (Freeport Control).
- Khi sử dụng chế độ truyền thông này, kiểu biên bản truyền thông freeport , tốc độ truyền tín hiệu, số bit được truyền cho một ký tự, chế độ kiểm tra (parity) phải được định nghĩa trước trong byte đặc biệt SMB30 như sau: Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 17 SMB30 p p d b b b m m SMB30 Giải thích m Kiểu truyền thông: 00 Point to Point (PPI) 01 Freeport 10 PPI (bình dẳng) 11 Không sử dụng m b Tốc độ truyền (Baud CPU214) hay19.200 (CPU212).
- 11 Kiểm tra lẻ (Odd) p Chế độ ngắt truyền thông Freeport để truyền hay nhận dữ liệu có thể làm cho việc điều khiển truyền thông trong chương trình được dễ dàng hơn.
- Chế độ ngắt truyền thông Freeport chỉ có thể thực hiện được khi PLC ở chế độ làm việc RUN.
- Khi PLC hoạt động ở chế độ truyền thông Freeport không thể thực hiện truyền thông giữa PLC và thiết bị lập trình.
- Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 28 HSC2 SMD58 SMD62 1.2 Giá trị đếm tức thời CV Giá trị đặt trước PV HSC2 I1.3 I1.4 I1.5 4 Đếm tiến hoặc lùi sườn lên của I1.2.
- HSC2 sử dụng I1.4 làm tín hiệu xóa (reset )từ bên ngoài.
- I1.5 làm tín hiệu khởi phát (start).
- 6 Đếm tiến theo sườn lên của I1.2 và đếm lùi theo sườn lên của I1.3.
- 7 Đếm tiến theo sườn lên của I1.2 và đếm lùi theo sườn lên của I1.3.
- 8 Đếm tiến theo sườn lên của I1.2 và đếm lùi theo sườn lên của I1.3.
- 9 Đếm số lần lệch trạng thái của hai cổng vào I1.2 và I1.3 tức là khi kết quả của phép tính logic XOR giữa I1.2 và I1.3 là 1.
- 10 Đếm số lần lệch trạng thái của hai cổng vào I1.2 và I1.3 tức là khi kết quả của phép tính logic XOR giữa I1.2 và I1.3 là 1.
- 11 Đếm số lần lệch trạng thái của hai cổng vào I1.2 và I1.3 tức là khi kết quả của phép tính logic XOR giữa I1.2 và I1.3 là 1.
- Tiến và lùi theo sườn lên của I1.2 - Tiến theo sườn lên của I1.2 và lùi theo sườn xuống của I1.3 - Tiến và lùi số lần lệch giá trị logic giữa hai cổng cào I1.2 và I1.3, tức là số lần phép tính XOR của I1.2 và I1.3 có kết quả là 1.
- Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 29 Chiều đếm (tiến hay lùi) trong chế độ 0, 1 và 2 được quy định bởi trạng thái của bit SM57.3 như sau: SM57.3 = 0: đếm lùi theo sườn lên của I0.6 1: đến tiến theo sườn lên của I0.6 và trong chế độ 3, 4, 5 bởi đầu vào của I0.7: I1.3 = 0: đếm lùi theo sườn lên của I0.6 1: đến tiến theo sườn lên của I0.6 Tần số biến đổi trạng thái cực đại cho phép của tín hiệu đầu vào tại cổng I1.2 và I1.3 là 7KHz.
- Trong những chế độ 0  8, tần số đếm của HSC2 bằng tần số thay đổi trạng thái của ngõ vào do đó tần số đếm cực đại là 7KHz, riêng chế độ 9,10 và 11, tùy theo khai báo sử dụng mà tần số này có thể bằng hoặc gấp 4 lần tần số biến thiên trạng thái kết quả của phép tính XOR giữa I1.2 và I1.3.
- Bởi vậy trong chế độ 9, 10, 11 tần số đếm cực đại cho phép của HSC2 sẽ là 28KHz.
- Hệ thống sử dụng bit SM57.2 để định nghĩa tần số đếm của HSC2 trong chế độ 9,10,11 là: SM57.2 = 0: tần số đếm gấp 4 lần tần số thay đổi trạng thái I1.2 XOR I1.3 1: tần số đếm bằng tần số thay đổi trạng thái I1.2 XOR I1.3 Trong các chế độ và 11, HSC2 sử dụng tín hiệu reset từ ngòai là I1.4.
- Bit SM57.0 được hệ thống sử dụng nhằm định nghĩa kiểu reset của HSC2 cho các chế độ này: SM57.0 = 0: reset khi I1.4 có giá trị logic 1 1: reset khi I1.4 có giá trị logic 0 Cũng tương tự như vậy cho các chế độ 2, 5, 8 và 11, khi HSC2 sử dụng tín hiệu kích từ ngoài cổng I1.5, hệ thống sử dụng bit SM57.1 để định nghĩa kiểu kích HSC2 như sau: SM57.1 = 0: HSC2 làm việc khi khi I1.5 có giá trị logic 1 1: HSC2 làm việc khi khi I1.5 có giá trị logic 0 HSC2 sử dụng byte SMB57 để xác định kiểu hoạt động như đếm tiến, lùi, cho phép hay không cho phép thay đổi giá trị đếm tức thời CV cũng như giá trị đặt trước PV, cho phép hay không cho phép kích bộ đếm.
- Cấu trúc byte SMB57 như sau: SM57.0 Kiểu reset cho tín hiệu xóa tại cổng I1.0 SM57.1 Kiểu start cho tín hiệu kích tại cổng I1.1 SM57.2 Tần số đếm của HSC2 SM57.3 Chiều đếm: 0 đếm lùi, 1 : đếm lên Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 30 SM57.4 Cho phép đổi chiều đếm, 0: không cho phép, 1: cho phép SM57.5 Cho phép sửa đổi giá trị đặt trước, 0: không cho phép, 1: cho phép SM57.6 Cho phép sửa đổi giá trị đếm tức thời, 0: không cho phép, 1: cho phép SM57.7 1- cho phép kích HSC2, 0 – cho phép hủy HSC2 Các bit SM57.0, SM57.1 và SM57.2 được gán cho bộ đếm bằng lệnh HDEF, các bit còn lại gán cho bộ đếm sau lệnh HSC.
- Các bước khai báo sử dụng HSC2 (nên thực hiện trong vòng quét đầu tiên.
- Nạp giá trị điều khiển phù hợp cho SMB57 - Xác định chế độ làm việc cho bộ đếm bằng lệnh HDEF - Nạp giá trị đếm tức thời và giá trị đặt trước - Khai báo sử dụng chế độ ngắt vào/ra và kích tín hiệu báo ngắt HSC2 bằng lệnh ATCH.
- Khi sử dụng HSC2 cùng với chế độ ngắt vào/ra, các tín hiệu báo ngắt sau đây sẽ được phát.
- Báo ngắt khi có thay đổi chiều đếm từ I1.3 (ngắt 14.
- Báo ngắt khi HSC2 bị reset bởi I1.4 (ngắt 15) sau khi đựơc kích hoạt bằng lệnh HSC, bộ đếm HSC2 sử dụng byte SMB56 để báo trạng thái hoạt động của nó như sau: SM56.0 Không sử dụng SM56.1 Không sử dụng SM56.2 Không sử dụng SM56.3 Không sử dụng SM56.4 Không sử dụng SM56.5 Chiều đang đếm, 1 – đếm lên, 0 – đếm xuống.
- SM56.6 Kết quả so sánh tức thời, 0 – nếu CV  PV, 1 – nếu CV = PV SM56.7 Kết quả so sánh tức thời, 0 – nếu CV  PV, 1 – nếu CV > PV b) Thủ tục khai báo sử dụng bộ đếm tốc độ cao: Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 31 Khai báo sử dụng các bộ đếm HSC0, HSC1, HSC2 nên thực hiện tại vòng quét đầu tiên, khi mà bit SM0.1 có giá trị là 1.
- Thủ tục tốt nhất nên đựoc lập thành một chương trình con và chương trình con đó được gọi trong vòng quét đầu tiên bằng lệnh CALL.
- Các công việc của chương trình con khai báo sử dụng bộ đếm tốc độ cao bao gồm.
- Nạp giá trị về kiểu hoạt động phù hợp cho byte điều khiển.
- Xác định chế độ làm việc cho bộ đếm bằng lệnh HDEF.
- Nạp giá trị đếm tức thời ban đầu và giá trị đặt trước.
- Khai báo sử dụng chế độ ngắt vào ra và kích tín hiệu báo ngắt.
- Các lệnh sử dụng như sau.
- Lệnh HDEF Lệnh này xác định chế độ làm việc cho bộ đếm tốc độ cao.
- Chế độ làm việc được chọn là nội dung của toán hạng MODE.
- Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 32 Bài 6.
- SỬ DỤNG HÀM PHÁT XUNG TỐC ĐỘ CAO CPU 214 sử dụng hai cổng Q0.0 và Q0.1 để phát dãy xung tần số cao hoặc tín hiệu điều xung theo độ rộng.
- Nếu độ rộng xung được quy định lớn hơn chu kỳ của PWM thì một tín hiệu có giá trị logic bằng 1, ngược lại sẽ có một tín hiệu logic 0.
- Các nguồn phát PTO và PWM sử dụng.
- Địa chỉ những ô nhớ này như sau: Cổng ra Byte điều khiển Chu kỳ Độ rộng xung Số xung Q0.0 SMB67 SMW68 SMW70 SMD72 Q0.1 SMB77 SMW78 SMW80 SMD82 Các ô nhớ này phải được nạp những giá trị thích hợp trước khi thực hiện lệnh tạo xung.
- Cú pháp sử dụng lệnh PLS như sau: Tài liệu tham khảo ĐIỀU KHIỂN LẬP TRÌNH NÂNG CAO Trang 33 Lệnh PLS sử dụng các byte điều khiển SMB67 (cho cổng Q0.0) và SMB77 (cho cổng Q0.1) theo cấu trúc như sau: Q0.0 Q0.1 Mục đích 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 cho xung PTO: 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: 0 – PTO, 1 – PWM SM67.7 SM77.7 Khai báo: 1 – kích, 0 – hủy.
- Nếu như các chế độ ngắt kiểu 19 hoặc 20 được khai báo cùng với việc tạo xung thì đối với dãy xung PTO, tín hiệu báo ngắt PLS0 hoặc PLS1 sẽ xuất hiện tại thời điểm sườn xuống của xung cuối cùng (trong nửa sau của chu kỳ cuối), còn đối với dãy xung PWM tín hiệu báo ngắt xuất hiện tại thời điểm sườn lên của xung cuối cùng.
- Muốn tạo những xung có nhiều dạng khác nhau thì sử dụng chương trình ngắt tương ứng để khai báo dạng xung mới.
- Thủ tục khai báo sử dụng hàm phát xung tốc độ cao tốt nhất là nên được thực hiện trong vòng quét đầu và bao gồm các bước sau.
- Ghi giá trị cho byte điều khiển.
- Nạp các giá trị về chu kỳ (độ rộng xung) và số xung của dãy vào những ô nhớ tương ứng - Khai báo sử dụng chế độ ngắt (nếu cần sử dụng

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt