Vòng quét của PLC

Một phần của tài liệu THUYẾT MINH ĐỒ ÁN TỔNG HỢP CẤP CAO ĐẲNG NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ Chuyên ngành: TỰ ĐỘNG HÓA (Trang 50)

a) Đọc dữ liệu đầu vào: Đọc các trạng thái vật lý (Input) vào bộ đệm ảo (IR – Input Register).

b) Thực thi chƣơng trình: CPU đọc dữ liệu từ IR, thực hiện chƣơng trình phần mềm,

kết quả dƣợc lƣu lại ở các vùng nhớ thích hợp và bộ đệm ảo đầu ra (OR – Output Register).

c) Xử lý các yêu cầu truyền thông (Option): nếu có yêu cầu truyền thông xử lý ngắt.

d) Tự chuẩn đoán lỗi: CPU kiểm tra lỗi của hệ điều hành trong Rom, các vùng nhớ và

các trạng thái làm việc của các module mở rộng.

e) Xuất kết quả ở đầu ra: CPU đọc kết quả từ OR, và xuất kết quả ra các cổng vật lý.

Một số lƣu ý:

Đầu vào số:

+ Nếu không dùng tính năng I (Immediately) thì dữ liệu đầu vào đƣợc cập nhật tại bộ đệm ảo.

+ Nếu dùng tính năng này, chƣơng trình bỏ qua bộ đệm ảo.

Đầu vào tƣơng tự :

+ Nếu bỏ qua tính năng lọc tƣơng tự, thì chƣơng trình sẽ lấy trực tiếp dữ liệu tại cổng vật lý.

+ Nếu dùng tính năng này, thì chƣơng trình sẽ đọc các giá trị đƣợc lƣu lại.

Mô tả vòng quét :

+ Mỗi một vòng quét cơ bản của PLC mất từ 3ms – 10ms, tùy thuộc vào số lƣợng cũng nhƣ kiểu lệnh viết trong chƣơng trình.

Giới Thiệu Phƣơng Pháp Lập Trình Của S7-200

Có thể lập trình cho PLC S7-200 bằng cách sử dụng phần mềm STEP 7- MicroWIN V4. Sau khi cài đặt phần mềm, trên màn hình desktop sẽ xuất hiện biểu tƣợng của STEP7.

.

Hình 3.5: Biểu tượng của STEP7.

Đồng thời trong menu Start của Windows cung có thƣ mục Simatic với tất cả các tên của những thành phần liên quan.

Hình 3.6: Của sổ lập trình của phần mềm lập trình V4.0 STEP 7 Microwin.

Vùng soạn thảo chứa một chƣơng trình, đƣợc chia thành từng Network. Các thông số nhập đƣợc kiểm tra lỗi cú pháp. Nội dung cửa sổ “ Program Block” tùy thuộc ngôn ngữ lập trình đã lựa chọn. Có thể nhấn đúp vào phần tử lập trình cần thiết trong danh sách để chèn chúng vào chƣơng trình soạn thảo, cũng có thể chèn các phần tử cần thiết bằng cách nhấn và nhả chuột.

Các công cụ thƣờng sử dụng:

-New (File Menu): tạo mới một chƣơng trình soạn thảo.

-Open (File Menu): mở một chƣơng trình đã soạn thảo.

-Cut, Copy, Paste (Edit Menu): cắt, sao chép và dán.

-Download (PLC Menu): tải xuống chƣơng trình điều khiển.

-Network (Insert): chèn network mới.

-Program Elements (Insert): mở cửa sổ các phần tử lập trình.

-Clear/Reset (PLC): xóa chƣơng trình hiện thời trong PLC.

-LAD, STL, FBD (view): hiển thị dạng ngôn ngữ yêu cầu.

PHẦN MỀM MÔ PHỎNG TRONG PLC S7 – 200

S7 – 200 Simulator 2.0 Ing English là một trong những phần mềm dùng để mô phỏng hoạt động của PLC sau khi đƣợc nạp chƣơng trình. Chúng ta có thể mô phỏng chƣơng trình đã viết bằng cách sử dụng phần mềm này mà không cần đến PLC thật. Để thực hiện mô phỏng, ta chỉ cần thực thi file S7 – 200.exe, sau khi khởi động ta đƣợc giao diện nhƣ sau:

Hình 3.7: Giao diện phần mềm S7-200 Simulator 2.0 English.

Trình tự thực hiện khi mô phỏng một chƣơng trình điều khiển:

-Viết chƣơng trình bằng phần mềm Step 7 Microwin.

-Biên dịch chƣơng trình: File/Export.

-Đặt tên tập tin và chọn Save (*.awl).

-Khởi động phần mềm mô phỏng S7-200.exe.

-Chọn loại CPU: Configuration /CPU Type/Chọn loại CPU cần mô phỏng.

-Mở File cần mô phỏng: Program/Load Program/Chọn Accept/Chọn file *.awl.

-Chạy mô phỏng: PLC / Run hoặc biểu tƣợng Run trên thanh công cụ.

-Thay đổi trạng thái ngõ vào bằng các công tắc trên bảng điều khiển màu xanh.

-Quan sát các đèn báo trạng thái ngõ vào ra trên PLC.

-Dừng chƣơng trình: PLC / Stop hoặc biểu tƣơng Stop trên thanh công cụ.

Các loại CPU thông dụng: CPU 221, CPU 222, CPU 224, CPU 224XP, CPU224Psi, CPU22,…

Bảng thông số kỹ thuật của các CPU

3.2. CẤU TRÖC BỘ NHỚ CỦA PLC S7-200 Phân chia bộ nhớ

Bộ nhớ của S7-200 đƣợc phân chia thành 4 vùng với một tụ có nhiệm vụ duy trì dữ liệu trong một khoảng thời gian nhất định khi bị mất nguồn. Bộ nhớ của S7-200 có tính năng động cao, đọc và ghi đƣợc trong toàn vùng, loại trừ phần bit nhớ để đặt biệt đƣợc kí hiệu bởi SM (Special Memory) chỉ có thể truy cập để đọc.

-Vùng chƣơng trình: là vùng bộ nhớ sử dụng để lƣu trữ các lệnh chƣơng trình. Vùng này thuộc kiểu non volatile đọc/ghi đƣợc.

-Vùng tham số: là miền lƣu giữ các tham số nhƣ: từ khóa, địa chỉ trạm… cũng giống nhƣ vùng chƣơng trình, vùng tham số cũng thuộc non volatile đọc/ghi đƣợc.

-Vùng dữ liệu: đƣợc sử dụng để cất các dữ liệu của chƣơng trình bao gồm các kết quả các phép tính, hằng số đƣợc định nghĩa trong chƣơng trình, bộ đệm truyền thông… Một phần của vùng bộ nhớ này (200byte đối với CPU212, một KB đầu tiên với CPU 214) thuộc kiểu non volatile đọc/ghi đƣợc.

Vùng đối tƣợng: Timer, bộ đếm, bộ đếm tốc độ cao và các cổng vào/ra tƣơng tự đƣợc đặt trong vùng nhớ cuối cùng. Vùng này không thuộc kiểu no volatile nhƣng đọc/ghi đƣợc.

Phân chia vùng nhớ trong S7-200

a. Vùng đệm ảo đầu vào ( I ; I0.0- I15.7 ):

CPU sẽ truy cập các đầu vào vật lý tại đầu mỗi chu kỳ quét và ghi dữ liệu vào bộ đệm ảo.

b. Vùng đệm ảo đầu ra ( Q ; Q0.0-Q15.7 ):

 Cuối mỗi chu kỳ quét, CPU S7-200 sẽ truy cập dữ liệu từ bộ đệm ảo xuất ra các đầu ra vật lý.

c. Vùng nhớ biến ( V ; VB0-VB5119):

Vùng nhớ này thƣờng để lƣu các kết quả trung gian của chƣơng trình.

d. Vùng nhớ bít ( M ; M0.0-M31.7 ):

Vùng nhớ này thƣờng để lƣu các kết quả trung gian của một thao tác hoặc các thông tin điều khiển khác.

e. Vùng nhớ bộ đếm tốc độ cao ( HC ; HC0-HC5)

Bộ đếm tốc độ cao hoạt động đọc lập với chu kỳ quét của PLC. Current value là một giá trị đếm 32 bit có dấu, là giá trị chỉ đọc và đƣợc gán địa chỉ dƣới dạng Double Word.

f. Vùng nhớ thời gian ( T ; T0-T255):

Vùng nhớ này dùng cho các bộ thời gian của S7-200. Đối với một bộ Timer có hai hình thức truy cập vùng nhớ, truy cập theo Timer bit hoặc Current Value.

g. Vùng nhớ bộ đếm ( C ; C0-C255 ):

Vùng nhớ này dùng cho các bộ đếm của S7-200. Đối với một bộ Counter có hai hình thức truy cập vùng nhớ, truy cập theo Counter bit hoặc Current Value.

h. Vùng nhớ thanh ghi tổng ( AC ; AC0-AC3 ):

Thanh ghi tổng thƣờng đƣợc dùng để truyền tham số vào và ra cho các thủ tục, lƣu trữ các kết quả trung gian của một phép tính.

m. Vùng nhớ đặc biệt ( SM ) :

 Vùng nhớ này cung cấp các bit truyền thông giữa CPU và chƣơng trình. Các bit này đƣợc dùng để lựa chọn và điều khiển một số chức năng đặc biệt của CPU S7-200.

n. Vùng nhớ trạng thái điều khiển tuần tự ( S ) :

Vùng nhớ này đƣợc dùng khi cần lập chƣơng trình theo logic điều khiển tuần tự.

k. Vùng nhớ đầu vào tƣơng tự ( AL ):

S7-200 chuyển một giá trị tƣơng tự thành một giá trị số có độ lớn 16 bit. Do độ lớn dữ liệu truy cập là một từ, mặt khác khi truy cập đầu vào tƣơng tự luon sử dụng định dạng theo từ,

l. Vùng nhớ đầu ra tƣơng tự ( AQ ):

S7-200 chuyển một giá trị số có độ lớn 16 bít thành một giá trị tƣơng tự dƣới dạng dòng điện hoặc điện áp tỷ lệ với giá trị số đó. Do độ lớn dữ liệu chuyển đỏi là một từ, nên địa chỉ byte cao luôn là số chẵn. Ví dụ AQW0, AQW2, AQW4.

Vùng đối tƣợng

Lƣu giữ dữ liệu cho các đối tƣợng lập trình: giá trị tức thời, giá trị đặt trƣớc của Timer, couter. Dữ liệu kiểu đối tƣợng bao gồm các thsnh ghi của Timer, bộ đếm, bộ đếm tốc độ cao, bộ đếm vào/ra tƣơng tự và các thanh ghi Accumulator(AC).

Kiểu dữ liệu đối tƣợng bị hạn chế rất nhiều vì các dữ liệu kiểu đối tƣợng chỉ đƣợc ghi theo mục đích cần sử dụng đối tƣợng đó.

Quy ƣớc địa chỉ trong PLC S7-200

Truy cập theo bit: t ê n mi ề n (+) địa chỉ byte(+) . (+)chỉ số bit. Ví dụ V150.4 chỉ bit 4 của byte 150 thuộc miền V.

-Truy nhập theo Byte: Tên miền (+) B (+) đỉa chỉ của byte trong miền. Ví dụ VB150 chỉ Byte 150 thuộc miền V.

-Truy nhập theo Word(16 bit) : Tên miền (+) W (+) địa chỉ byte cao của từ trong miền. Ví dụ VW150 chỉ từ đơn gồm hai byte 150 và 151 thuộc miền V, trong đó byte 150 có vai trò là byte cao trong từ.

- Truy nhập theo Double Word (32 bit): Tên miền (+) D (+) địa chỉ byte cao của từ trong miền. Ví dụ VD150 chỉ từ kép gồm 4 byte 150, 151, 152, 153 thuộc miền V, trong đó byte 150 có vai trò là byte cao và byte 153 có vai trò là byte thấp trong từ kép.

3.3. TẬP LỆNH CỦA S7-200 Nhóm lệnh xuất nhập cơ bản Nhóm lệnh xuất nhập cơ bản

PLC S7-200 có ba ngôn ngữ lập trình cơ bản là: LAD, FBD và STL.

LAD (Ladder logic) là ngôn ngữ lập trình dạng hình thang hay là ngôn ngữ đồ họa. Thành phần cơ bản của LAD tƣơng tự nhƣ thành phần cơ bản của điều khiển rơle: có tiếp điểm thƣờng mở, tiếp điểm thƣờng đóng, cuộn dây đầu ra, các hàm chức năng (thời gian, đếm).

STL (Statement list) là ngôn ngữ lập trình thông thƣờng của máy tính, thể hiện chƣơng trình dƣới dạng các câu lệ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 chung là “tên lệnh” + “toán hạng”. FBD (Function Block Diagram) là ngôn ngữ đồ họa thích hợp với ngƣời quen thiết kế mạch điều khiển số. Việc chuyển đổi giữa ba ngôn ngữ LAD, FBD và STL là hoàn toàn tự động.

Dạng lệnh Mô tả chức năng lệnh

LAD Tiếp điểm thƣờng đóng sẽ đóng khi có giá trị logic bit bằng 0, và sẽ mở khi có giá trị logic bằng 1.

Dạng lệnh Mô tả chức năng lệnh

STL LDN n

LAD Tiếp điểm thƣờng hở sẽ đƣợc đóng nếu giá trị logic bằng 1 và sẽ hở nếu giá trị logic bằng 0.

STL LD n

STL LDNI n

LAD Tiếp điểm đảo trạng thái của dòng cung cấp. Nếu dòng cung cấp có tiếp điểm đảo thì nó ngắt mạch và ngƣợc lại.

STL NOT

LAD Vi phân cạnh lên

STL EU

LAD Vi phân cạnh xuống

STL ED

LAD Cuộn dây ở đầu ra sẽ đƣợc kích thích khi có dòng điều khiển đi ra

STL = n

LAD Set bit

STL S bit n

LAD Reset bit

Nhóm các lệnh so sánh

Dạng lệnh Mô tả chức năng lệnh

LAD Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu byte)

STL LDB= IN1 IN2

LAD Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu word) và ngƣợc lại

STL LDW= IN1 IN2

LAD Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Double word) và ngƣợc lại

STL LDD= IN1 IN2

LAD Lệnh so sánh bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu real số thực) và ngƣợc lại

STL LDR= IN1 IN2

LAD Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Byte)

STL LDB >= IN1 IN2

LAD Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Word)

STL LDW >= IN1 IN2

LAD Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Double Word)

Dạng lệnh Mô tả chức năng lệnh

LAD Lệnh so sánh lớn hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Real)

STL LDR >= IN1 IN2

LAD Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Byte)

STL LDB <= IN1 IN2

LAD Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Word)

STL LDW <= IN1 IN2

LAD Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Dword)

STL LDD <= IN1 IN2

LAD Lệnh so sánh nhỏ hơn hoặc bằng sẽ làm cho tiếp điểm đóng khi IN1 bằng IN2 (IN1, IN2 kiểu Real)

Nhóm các lệnh di chuyển dữ liệu

Dạng lệnh Mô tả chức năng lệnh

LAD Sao chép nội dung của byte IN sang OUT

STL MOVB IN OUT

LAD Sao chép nội dung của byte Word IN sang OUT

Dạng lệnh Mô tả chức năng lệnh

LAD Sao chép nội dung của Dword (Double Word) IN sang OUT

STL MOVD IN OUT

LAD Sao chép nội dung của Real (số thực) IN sang OUT

STL MOVR IN OUT

LAD Chép nội dung của một mảng Byte bắt đầu từ địa chỉ byte IN và có N phần tử sang một mảng bắt đầu từ

OUT

STL BMBn IN OUT N

LAD Chép nội dung của một mảng Word bắt đầu từ địa chỉ byte IN và có N phần tử sang một mảng bắt đầu từ

OUT

STL BMW IN OUT N

LAD Chép nội dung của một mảng Dword bắt đầu từ địa chỉ byte IN và có N phần tử sang một mảng bắt đầu từ OUT

STL BMD IN OUT N

LAD Lệnh đảo dữ liệu của 2 Byte trong từ đơn IN

Nhóm các lệnh số học

Dạng lệnh Mô tả chức năng lệnh

LAD Lệnh cộng hai số nguyên 16 bit IN1 IN2 kết quả là một số nguyên OUT 16 bit. Trong STL thì kết quả ghi vào IN1

STL +I IN1 IN2

LAD Lệnh cộng hai số nguyên 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit. Trong STL thì kết quả ghi vào IN1

STL +D IN1 IN2

LAD Lệnh cộng hai số thực 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit. Trong STL thì kết quả ghi vào IN1

STL +R IN1 IN2

LAD Lệnh trừ hai số nguyên 16 bit IN1 và IN2 kết quả là một số nguyên OUT 16 bit. Trong STL thì kết quả ghi vào IN1

STL -I IN1 IN2

LAD Lệnh trừ hai số nguyên 32 bit IN1 và IN2 kết quả là một số nguyên OUT 32 bit. Trong STL thì kết quả ghi vào IN1

Dạng lệnh Mô tả chức năng lệnh

LAD Lệnh trừ số thực 32 bit IN1 IN2 kết quả là một số nguyên OUT 32 bit. Trong STL thì kết quả ghi vào IN1

STL -R IN1 IN2

LAD Lệnh thực hiện phép nhân giữa hai số nguyên 16 bit IN1

IN2 và cho kết quả 32 bit ghi vào từ kép 32 bit OUT, còn trong STL thì ghi vào IN2

STL MUL IN1 IN2

LAD Lệnh thực hiện phép nhân giữa hai số thực 32 bit IN1

IN2 và cho là số thực 32 bit ghi vào từ kép 32 bit OUT, còn trong STL thì ghi vào IN2

STL *R IN1 IN2

LAD Lệnh thực hiện phép chia giữa hai số nguyên 16 bit IN1

IN2 và cho kết quả 32 bit ghi vào từ kép 32 bit OUT, còn trong STL thì ghi vào IN2

STL DIV IN1 IN2

LAD Lệnh thực hiện phép nhân giữa hai số thực 32 bit IN1

IN2 và cho kết quả số thực ghi vào từ kép 32 bit OUT, còn trong STL thì ghi vào IN2

Dạng lệnh Mô tả chức năng lệnh

LAD Lệnh tăng giá trị Bit IN lên một đơn vị kết quả ghi vào

OUT. Trong STL kết quả ghi vào IN luôn

STL INCB IN

LAD Lệnh tăng giá trị Word IN lên một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN luôn

STL INCW IN

LAD Lệnh tăng giá trị Double Word IN lên một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN

STL INCD IN

LAD Lệnh giảm giá trị Bit IN lên một đơn vị kết quả ghi vào

OUT. Trong STL kết quả ghi vào IN

STL DECB IN

LAD Lệnh giảm giá trị Word IN lên một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN

Một phần của tài liệu THUYẾT MINH ĐỒ ÁN TỔNG HỢP CẤP CAO ĐẲNG NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ Chuyên ngành: TỰ ĐỘNG HÓA (Trang 50)

Tải bản đầy đủ (PDF)

(107 trang)