Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 33 - Xoá những phần duy trì của bít nhớ , bộ thời gian , bộ đếm - Loại bỏ tất cả các thông báo dự trữ xử lý và thông báo chuẩn bị làm việc . - Nội dung danh sách địa chỉ và bảng ảnh I/O . - Nạp thông số các modul vào . - Đọc cấu hình I/O và so sánh trạng thái thực tế của I/O vật lý với trạng thái xảy ra . 4.3 Chế độ RUN Thực hiện ch ơng trình của ng ời sử dụng , cập nhật I/O , xử lý các tín hiệu vào ra đ a ra . Hoạt động của CPU S7-300 đ ợc mô tả nh hình sau : - Trạng thái 1 : Khi bật nguồn - Trạng thái 2 : Khi lựa chọn RUN or RUN_P , lúc này CPU trong chế độ START_UP . - Trạng thái 3 : Nếu có lỗi CPU chuyển sang chế độ STOP . - Trạng thái 4 : Nếu START_UP xử lý thành công thì CPU chuyển sang chế độ RUN . - Trạng thái 5 : Nếu có lỗi thì CPU chuyển sang chế độ STOP . 5. Cách đọc và ghi dữ liệu của CPU . 5.1 Cách đoc dữ liệu từ đầu vào . - CPU đọc giá trị từ đầu vào nh một phần của chu kỳ quét . Giá trị của mỗi đầu vào đ ợc nạp xuống bảng ảnh vào (bảng ảnh có 128 byte) . - Dựa trên việc xác định địa chỉ bằng lệnh , ch ơng trình đọc giá trị đầu vào hoặc thông qua bảng ảnh hoặc vùng nhớ đầu vào ngoại vi (truy cập trực tiếp tới modul đầu vào) . RUN STOP START_ UP 2 3 4 5 1 Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 34 5.2 Cách viết dữ liệu đầu ra - Cách viết tới đầu ra 1 cách tuần tự . Ch ơng trình chuyển dữ liệu hoặc là tới vùng nhớ hoặc là tới đầu ra ngoại vi (truy cập trực tiếp tới modul đầu ra) . Việc chuyển dữ liệu có thể là bits , byte , từ . - CPU cập nhật đầu ra nh một phần của chu kỳ quét . Giá trị trong bảng xử lý ảnh ra đ ợc chuyển tới đầu ra vật lý . 6. Địa chỉ tuyệt đối cho I/O vật lý . Địa chỉ I/O vật lý của hệ PLC S7-300 t ơng ứng với các vùng nhớ ngoại vi thông qua đó ta có thể truy cập I/O qua bảng ảnh vào và bảng ảnh ra . Việc định địa chỉ tuyệt đối của mỗi đầu vào và ra phụ thuộc vào số khe (slot) mà modul đó cắm . Ngoài ra việc gán địa chỉ cho I/O có thể truy cập theo biểu t ợng . Trong một ch ơng trình có thể lặp 2 địa chỉ : biểu t ợng và giá trị tuyệt đối nh ng không xen lẫn vào nhau đ ợc .Việc mặc định địa chỉ cho I/O đ ợc mô tả bằng hình III_15 . III_3 : Một số lệnh cơ bản trong ngôn ngữ lập trình STEP7 . Các loại PLC nói chung th ờng có nhiều ngôn ngữ lập trình nhằm phục các đối t ợng sử dụng khác nhau . PLC S7-300 có 3 ngôn ngữ lập trình cơ bản : - Ngôn ngữ 'liệt kê lệnh' , ký là STL (Statement list) . Đây là dạng ngôn ngữ lập trình thông th ờng của máy tính . Một ch ơng trình đ ợc ghép bởi nhiều câu lệnh theo một thuật toán nhất định, mỗi lệnh chiếm một hàng và đều có cấu trúc 'tên lệnh' + 'toán hạng' . - Ngôn ngữ 'hình khối' , ký hiệu là FBD (Function block diagram) . Đây cũng là kiểu ngôn ngữ đồ họa dành cho ng ời có thói quen thiết kế mạch điều khiển số . - Ngôn ngữ 'hình thang' , ký hiệu là LAD (Ladder logic) . Đây là dạng nhôn ngữ đồ hoạ thích hợp với những ng ời quen thiết kế mạch điều khiển logic . Một ch ơng trình viết trên LAD hoặc FBD có thể chuyển sang đ ợc dạng STL, nh ng ng ợc lại thì không đ ợc . Trong STL có nhiều lệnh không có trong LAD hay FBD . Chính vì lý do đó , trong đồ án này em chỉ giới thiệu ngôn ngữ STL để lập trình minh họa . Nh đã nói ở trên , cấu trúc của một lệnh STL có dạng : 'tên lệnh' + 'toán hạng' Ví dụ : Nhãn : L PIW304 // Đọc nội dung cổng vào của modul analog Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 35 tên lệnh toán hạng trong đó toán hạng có thể là một dữ liệu hoặc một địa chỉ ô nhớ . Khi thực hiện lệnh , CPU sẽ ghi nhận lại trạng thái của pháp tính trung gian cũng nh của kết quả vào một thanh ghi đặc biệt 16 bits ,đ ợc gọi là thanh ghi trạng thái (Status word) . Mặc dù thanh ghi trạng thái này có độ dài 16 bits nh ng chỉ sử dụng 9 bits với cấu trúc nh sau : 8 7 6 5 4 3 2 1 0 BR CC1 CC0 OV OS OR STA RLO FC - FC (First check) : Khi phải thực hiện một dãy lệnh logic liên tiếp nhau gồm các phép tính , và nghịch đảo , bit FC có giá trị bằng 1 . Nói cách khác , FC=0 khi dãy lệnh logic tiếp điểm vừa đ ợc kết thúc . - RLO (Result of logic operation) : Kết quả tức thời của phép tính logic vừa đ ợc thực hiện . - STA (Status bit) : Bít trạng thái này luôn có giá trị logic của tiếp điểm đ ợc chỉ định trong lệnh . - OR : Ghi lại giá trị của phép tính logic cuối cùng đ ợc thực hiện để phụ giúp cho việc thực hiện phép toán sau đó . Điều này là cần thiết vì trong một biểu thức hàm hai trị , phép tính bao giờ cũng phải đ ợc thực hiện tr ớc các phép tính . - OS (Stored overflow bit) : Ghi lại giá trị bít bị tràn ra ngoài mảng ô nhớ . - OV (Overflow bit) : Bít báo kết quả phép tính bị tràn ra ngoài mảng ô nhớ . - CC0 và CC1 (Condition code) : Hai bít báo trạng thái của kết quả phép tính với số nguyên , số thực , phép dịch chuyển hoặc phép tính logic trong ACCU - BR (Binary result bit) : Bít trạng thái cho phép liên kết hai loại ngôn ngữ lập trình STL và LAD . Chẳng hạn cho phép ng ời sử dụng có thể viết một khối ch ơng trình FB hoặc FC trên ngôn ngữ STL nh ng gọi và sử dụng chúng trong một ch ơng trình khác viết trên LAD . Để tạo ra một mối liên kết đó , ta cần phải kết thúc một khối ch ơng trình trong FB , FC bằng lệnh ghi . 1. Các lệnh logic . A : quét giá trị toán hạng với '1' , kết quả kết hợp với RLO qua phép toán AND . Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 36 AN : quét giá trị toán hạng với '0' , kết quả kết hợp với RLO qua phép toán AND . O : quét giá trị toán hạng với '1' , kết quả kết hợp với RLO qua phép toán or . ON : quét giá trị toán hạng với '0' , kết quả kết hợp với RLO qua phép toán or . 2. Lênh SET và RESET . S : gán giá trị '1' cho toán hạng nếu RLO = '1' . R : xoá toán hạng về '0' nếu RLO = '1' . SET : gán giá trị '1' cho các bít . CLR : xoá giá trị các bít về '0' . 3. Các lệnh nạp và chuyển . L : nạp nội dung toán hạng vào thanh ghi ACC1 . T : chuyển nội dung của thanh ghi ACC1 đến toán hạng . 4. Các lệnh so sánh nội dung của 2 thanh ghi ACC1 và ACC2 . a. So sánh bằng : == I : so sánh bằng nhau giữa 2 số nguyên chứa trong 2 thanh ghi . == D : so sánh bằng nhau giữa 2 số nguyên d ới dạng từ kép chứa trong 2 thanh ghi . == R : so sánh bằng nhau giữa 2 số thực chứa trong 2 thanh ghi . b. So sánh khác : <> I : so sánh khác nhau giữa 2 số nguyên chứa trong 2 thanh ghi . <> R : so sánh khác nhau giữa 2 số thực chứa trong 2 thanh ghi . <> D : so sánh khác nhau giữa 2 số nguyên d ới dạng từ kép chứa trong 2 thanh ghi . c. So sánh hơn : >I , >D , >R : giá trị nội dung chứa trong thanh ghi thứ nhất lớn hơn giá trị nội dung chứa trong thanh ghi thứ hai (d ới dạng số nguyên , từ kép , số thực) . d. So sánh nhỏ hơn : Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 37 <I , <D , <R : giá trị nội dung chứa trong thanh ghi thứ nhất nhỏ hơn giá trị nội dung chứa trong thanh ghi thứ hai (d ới dạng số nguyên , từ kép , số thực) . e. So sánh lớn hơn hoặc bằng : >=I, >=D, >=R : giá trị nội dung chứa trong thanh ghi thứ nhất lớn hơn hoặc bằng giá trị nội dung chứa trong thanh ghi thứ hai (d ới dạng số nguyên , từ kép , số thực) . f. So sánh nhỏ hơn hoặc bằng : <=I, <=D, <=R : giá trị nội dung chứa trong thanh ghi thứ nhất nhỏ hơn hoặc bằng giá trị nội dung chứa trong thanh ghi thứ hai (d ới dạng số nguyên , từ kép , số thực) . 5. Các lệnh nhảy . JC < nhãn > :nhảy đến nhãn khi kết quả của RLO = '1' . JU < nhãn > : nhảy đến nhãn không phụ thuộc vào RLO . Ngoài ra còn có các lệnh nhảy khác nh : JZ , JN , JP , JPZ , JPM . 6. Các lệnh gọi . CALL < khối > : ch ơng trình quét tiếp tục ở khối đ ợc gọi . CC < khối > : gọi khối khi RLO = '1' . UC < khối > : gọi khối không phụ thuộc vào RLO . 7. Các lệnh toán học . Các lệnh toán học ( +, - , * , / ) đ ợc thực hiện giữa 2 thanh ghi ACC1 và ACC2 kết quả đ ợc gửi vào ACC1 . a. Đối với số nguyên : +I , -I , *I , /I : cộng , trừ , nhân , chia nội dung của 2 thanh ghi d ới dạng số nguyên . b. Đối với dữ liệu ghi d ới dạng từ kép : +D , -D , *D , /D : cộng , trừ , nhân , chia nội dung của 2 thanh ghi d ới dạng từ kép . c. Đối với số thực : +R , -R , *R , /R : cộng , trừ , nhân , chia nội dung của 2 thanh ghi d ới dạng số thực . 8. Các bộ thời gian . . Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 33 - Xoá những phần duy trì của bít nhớ , bộ thời gian , bộ đếm - Loại bỏ tất cả các. ngoại vi (truy cập trực tiếp tới modul đầu vào) . RUN STOP START_ UP 2 3 4 5 1 Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt. + 'toán hạng' Ví dụ : Nhãn : L PIW304 // Đọc nội dung cổng vào của modul analog Điều khiển và khống chế lò tạo khí ebook@free4vn.org T.g: Phan Việt C ờng 35 tên lệnh toán