Thực hiện chương trình

Một phần của tài liệu luận văn tốt nghiệp đại học '''' thiết kế hệ thống cân dùng plc '''' (Trang 29 - 88)

12 – 24 VDC

2.5.8Thực hiện chương trình

- PLC thực hiện chương trình theo chu trình lặp. Mỗi vòng lặp được gọi là vòng quét (scan). Mỗi vòng quét được bắt đầu bằng giai đoạn đọc dữ liệu từ các cổng vào vùng bộ đếm ảo, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc bằng lệnh kết thúc

(END). Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra lỗi. Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đếm ảo tới các cổng ra.

Hình 2. 15 Vòng quét trong PLC S7 200

- Như vậy tại thời điểm vào/ra thông thường lệnh không làm việc trực tiếp với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùng nhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi trong các giai đoạn 1 và 4 do CPU quản lý. Khi gặp lệnh vào/ra thì hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt để thực hiện lệnh này một cách trực tiếp với cổng vào/ra [2].

2.5.9 Phần mềm lặp trình của PLC S7 200

- STEP7 MicroWin chạy trên hệ điều hành Windows, phần mềm này làm nhiệm vụ trung gian giữa người lặp trình và PLC. Có 3 khối lập trình chính: khối chương trình (Program Block), khối dữ liệu (Data Block) và khối hệ thống (System Block). Ngoài ra PLC S7 200 còn 4 khối lập trình phụ là: khối định nghĩa các ký hiệu (Symbol table), khối xem trạng thái các biến (Status chart), khối tham chiếu (Cross Reference) và khối truyền thông (Communication) [3].

- Trong STEP7 MicroWin có 3 cách soạn thảo một chương trình: soạn thảo chương trình dưới dạng thang (Ladder), dạng câu lệnh STL (Statement list) và sơ đồ khối FBD (Function Block Diagram). Trong 3 cách soạn thảo trên, soạn thảo chương trình bằng ladder là thông dụng nhất vì cho phép người lập trình quan sát được chương trình đang chạy một cách trực quan, việc chuyển đổi từ dạng soạn thảo này sang dạng soạn thảo khác một cách dễ dàng.

- Cấu trúc chương trình gồm: chương trình chính (Main program), chương trình con (Subroutine) và chương trình con phục vụ ngắt (Interrupt).

+ Ngôn ngữ lập trình Ladder

Ladder là một ngôn ngữ lập trình bằng đồ họa. Những thành phần cơ bản dùng trong Ladder tương ứng với các thành phần của bảng điều khiển bằng rơle

- Các lệnh về Bit:

+ Load (LD): tiếp điểm thường hở NO. Lệnh Load được dùng khi một tín hiệu vào cần hiện hữu để output ON. Chương trình thí dụ: khi I0.0 ON thì Q0.0 ON.

1. Nhập dữ liệu từ ngoại Vi vào bộ nhớ ảo

2. Thực hiện chương trình

3. Truyền thông và tự kiểm tra lỗi

4. Chuyển dữ liệu từ bộ đệm ảo ra ngoại vi

Hình 2. 16 Mô tả lệnh Load

+ Load Not (LDN): tiếp điểm thường đóng NC. Lệnh LOAD NOT được dùng khi tín hiệu vào không cần hiện hữu vẫn làm output ON. Chương trình thí dụ: khi I0.0 OFF thì Q0.0 ON.

Hình 2. 17 Mô tả lệnh Load Not

+ And (A): lệnh đấu nối tiếp một tiếp điểm NC. Chương trình thí dụ: khi I0.0 ON, I0.1 OFF thì ngõ ra Q0.0 ON. Nếu I0.0 và I0.1 đều OFF thì ngõ ra Q0.0 sẽ OFF.

Hình 2. 18 Mô tả lệnh đấu nối tiếp

+ Or (O): lệnh đấu song song một tiếp điểm NO. Chương trình thí dụ: khi I0.0 và M0.0 đều ON thì ngõ ra sẽ ON, nếu một trong hai tiếp điểm ON thì ngõ ra ON, nếu cả hai đều OFF thì ngõ ra sẽ OFF.

Hình 2. 19 Mô tả lệnh đấu song song

+ Set – Reset (S - R): SET (Một khi điều kiện ON, hàm này sẽ giữ tiếp điểm ở ngõ ra trạng thái ON cho dù điều kiện vào có OFF). RESET (Một khi điều kiện vào ON, hàm sẽ giữ trạng thái OFF cho dù điều kiện vào có ON).

Hình 2. 20 Mô tả lệnh Set và Reset

+ Và còn nhiều lệnh về bít khác (Xem thêm phần phụ lục).

- Các lệnh về Timer: Có chức năng tương tự như các rơle thời gian, PLC S7-200 có 3 loại timer: TON (Timer ON Delay), TOFF (Timer OFF Delay) và TONR (Timer ON Delay có nhớ). Và còn nhiều lệnh timer khác.

+ Timer ON Delay: lệnh đếm thời gian khi ngõ vào cho phép ON, bit của Timer ON khi giá trị hiện tại lớn hơn hoặc bằng giá trị đặt trước (PT) và bit OFF khi ngõ vào OFF hoặc gặp lệnh Reset.

Hình 2. 21 Mô tả lệnh TON

+ Timer OFF Delay: lệnh đếm thời gian giống như Timer ON Delay, nhưng khác ở chỗ bit của lệnh sẽ ON ngay lặp tức khi ngõ vào cho phép ON, khi ngõ vào cho phép OFF thì sau khoảng thời gian đặt trước timer sẽ OFF.

Hình 2. 22 Mô tả lệnh Timer Off delay (adsbygoogle = window.adsbygoogle || []).push({});

+ Timer ON có nhớ (TONR): nguyên tắc hoạt động giống như Timer ON delay, nhưng khác nhau ở chỗ giá trị đặt của timer có thể được giữ mặc dù ngõ vào cho phép đã OFF.

Hình 2. 23 Mô tả lệnh Timer ON có nhớ - Giá trị độ phân giải

Timer Độ phân giải(ms) Giá trị đếm cực đại (s) Số hiệu Timer

10 327.67 T1 - T4, T65 – T68

100 3276.7 T5 – T31, T69 – T95

TON, TOFF 1 32.767 T32, T96

10 327.67 T33 – T36, T97 – T100

100 3276.7 T37 – T63, T101 –T255

Bảng 2. 6 Các loại Timer và độ phân giải tương ứng [3]

- Các lệnh điều khiển Counter: Counter là bộ đếm hiện chức năng đếm sườn xung trong S7-200. Các bộ đếm của S7-200 được chia làm 3 loại: Bộ đếm lên (CTU), bộ đếm xuống (CTD) và bộ đếm lên/xuống (CTUD). Và còn nhiều lệnh đếm khác + Bộ đếm lên CTU: đếm số sườn lên của tín hiệu logic đầu vào, tức là đếm số lần thay đổi trạng thái logic từ 0 lên 1 của tín hiệu. Số sườn xung đếm được, được ghi vào thanh ghi 2 byte của bộ đếm.

Hình 2. 24 Lệnh đếm lên được trình bày dưới dạng Ladder

+ Bộ đếm xuống CTD: nguyên tắc hoạt động giống như lệnh đếm lên nhưng đếm số xung xuống ở giá trị đặt trước đến khi bằng 0 thì bit của số hiệu sẽ chuyển trạng thái từ OFF lên ON. Nếu ngõ vào LD lên mức 1 thì bộ đếm sẽ load giá trị đặt trước và không thể đếm được.

Hình 2. 25 Lệnh đếm xuống được trình bày dưới dạng Ladder

+ Bộ đếm lên/xuống CTUD: đếm lên khi gặp sườn lên của xung vào, ký hiệu là CU và đếm xuống khi gặp sườn lên của xung vào cổng đếm xuống, ký hiệu là CD. Đầu vào Reset đặt lại trạng thái đầu của bộ đếm.

Hình 2. 26 Lệnh đếm lên xuống - Lệnh gọi chương trình con và lệnh nhảy:

+ Chương trình con (Subroutine) là tập hợp một số lệnh để thực hiện một công việc nào đó, chương trình con được thực thi khi và chỉ khi có chương trình khác gọi nó. Có thể là chương trình chính hoặc từ một chương trình con khác.

Hình 2. 27 Mô tả lệnh gọi chương trình con

+ Lệnh nhảy (Jumper): Khi ngõ vào cho phép chương trình sẽ thực hiện lệnh nhảy, sẽ nhảy tới nhãn tương ứng, khi đó đoạn chương trình ở giữa lệnh nhảy và nhãn sẽ được bỏ qua ở chu kỳ đó. Ký hiệu của nhãn nhảy phải là một số nguyên n.

Hình 2. 28 Mô tả lệnh nhảy

- Các lệnh so sánh (Compare): Lệnh so sánh số học, so sánh hai byte, so sánh 2 số nguyên đơn hoặc số nguyên kép, so sánh 2 số thực,…Khi IN1 và IN2 thỏa điều kiện so sánh trước đó thì tiếp điểm ngõ ra sẽ kín mạch.

+ IN1 >= IN2 so sánh lớn hơn hoặc bằng + IN1 <= IN2 so sánh nhỏ hơn hoặc bằng + IN1 > IN2 so sánh lớn hơn

+ IN1 < IN2 so sánh nhỏ hơn + IN1 <> IN2 so sánh khác

- Các lệnh di chuyển (Move): Trong S7-200 có các hàm Move sau: + Move_B: di chuyển các giá trị cho nhau trong giới hạn 1 Byte

+ Move_W: di chuyển các giá trị nguyên cho nhau trong giới hạn 1 Word + Move_DW: di chuyển các giá trị nguyên cho nhau trong giới hạn 1 Dword + Move_R: di chuyển các giá trị thực cho nhau trong giới hạn 1 Dint

- Các lệnh số học (Integer Math, Floating-Point Math): + Lệnh ADD_I: cộng 2 số nguyên 16 bit

+ Lệnh SUBB_I: trừ 2 số nguyên 16 bit

+ Lệnh Mul_I, DIV_I: nhân, chia 2 số nguyên 16 bit Tương tự ta có các lệnh đối với số thực, số nguyên 32 bit - Các hàm chuyển đổi

+ B_I: Đổi từ Byte sang Int và ngược lại

+ I_DI: Đổi từ số nguyên 16 bit sang số nguyên 32 bit và ngược lại + DI_R: Đổi số nguyên 32 bit sang số thực

+ BCD_I: Đổi số BCD 16 bit sang số nguyên 16 bit và ngược lại (adsbygoogle = window.adsbygoogle || []).push({});

- Trong trường hợp việc đổi từ số dung lượng nhỏ sang dung lượng lớn hơn (như từ Byte sang Int, từ Int sang Dint,...) thì chương trình luôn thực thi.

- Còn trường hợp ngược lại: Nếu giá trị chuyển bị tràn ô nhớ thì chương trình sẽ không thực thi và Bit tràn SM1.1 sẽ bật lên 1.

+ Phương pháp lập trình điều khiển

- Khác với phương pháp điều khiển cứng, trong hệ thống điều khiển có lập trình, cấu trúc của bộ điều khiển và cách đấu dây độc lập với chương trình.

- Để thay đổi tiến trình điều khiển, chỉ cần thay đổi nội dung bộ nhớ điều khiển, không cần thay đổi cách đấu dây bên ngoài, đó là ưu điểm của phương pháp điều khiển lập trình được so với phương pháp điều khiển đấu cứng. Do đó, phương pháp

này rất mềm dẻo được sử dụng rộng rãi trong lĩnh vực điều khiển trong công nghiệp.

- Phương pháp điều khiển lập trình thực hiên theo các bước sau

Hình 2. 29 Các bước điều khiển chương trình

2.6 GIỚI THIỆU PHẦN MỀM WINCC 6.0 SP22.6.1 Các đặc điểm chính của WinCC 2.6.1 Các đặc điểm chính của WinCC

- WinCC (Windows Control Center) là một phần mềm của hãng Siemens dùng để điều khiển giám sát và thu thập dữ liệu trong quá trình sản xuất. Theo nghĩa hẹp WinCC là chương trình hỗ trợ cho người lập trình thiết kế các giao diện Người và Máy – HMI (Human Machine Interface) trong hệ thống SCADA (Supervisory Control And Data Acquisition), với các chức năng chính là thu thập dữ liệu, giám sát và điều khiển quá trình sản xuất. Những thành phần trong WinCC dễ sử dụng, giúp người dùng tích hợp những ứng dụng mới hoặc có sẵn mà không gặp bất kỳ trở ngại nào [5].

- WinCC cung cấp các modul chức năng thường dùng trong công nghiệp như: hiển thị hình ảnh, tạo thông điệp, lưu trữ và báo cáo.

Xác định thật kỹ yêu cầu công nghệ

Liệt kê số đầu vào/ra cho PLC

Thiết kế giải thuật (Lập lưu đồ cho PLC thực hiện)

Viết chương trình điều khiển

Nạp chương trình vào bộ nhớ

Kiểm tra phần cứng cách đấu dây với thiết bị

- Với WinCC, người dùng có thể trao đổi dữ liệu trực tiếp với nhiều PLC của các hãng khác như Misubishi, Allen Braddly, Siemens,...thông qua cổng COM với chuẩn RS232 của máy tính với chuẩn RS485 của PLC .

- WinCC được ứng dụng phổ biến nhất là tự động quá trình điều khiển và giám sát quá trình sản xuất. Khi một hệ thống dùng chương trình WinCC để điều khiển và thu thập dữ liệu từ quá trình, nó có thể mô phỏng bằng hình ảnh các sự kiện xảy ra trong quá trình điều khiển dưới dạng các chuỗi các sự kiện.

- WinCC cung cấp nhiều hàm chức năng cho mục đích hiển thị, thông báo bằng đồ họa, xử lý thông tin đo lường, các tham số công thức, các bảng ghi báo cáo,...đáp ứng yêu cầu công nghệ ngày một phát triển và là một trong những chương trình ứng dụng trong thiết kế giao diện Người và Máy (HMI)[4].

2.6.2 Các chức năng chính của WinCC

+ Graphics Designer (Bộ thiết kế đồ họa): Thực hiện dễ dàng các chức năng mô phỏng và hoạt động qua các đối tượng đồ họa của chương trình WinCC với nhiều thuộc tính động.

+ Alarm Logging (Cảnh báo): thực hiện việc hiển thị các thông báo hay các báo cáo trong khi hệ thống vận hành. Đảm trách các thông báo nhận được và lưu trữ. Nó chứa các chức năng để nhận các thông báo từ các quá trình, để chuẩn bị, hiển thị, hỏi đáp và lưu trữ chúng. Ngoài ra chức năng Alarm Logging còn giúp chúng ta tìm ra nguyên nhân của lỗi.

+ Tag Logging (Đồ thị): Thu thập, lưu trữ và nén các giá trị đo dưới dạng khác nhau. Tag Logging cho phép lấy dữ liệu từ các quá trình thực thi, chuẩn bị để hiển thị và lưu trữ các dữ liệu đó. Dữ liệu có thể cung cấp các tiêu chuẩn về công nghệ và kỹ thuật quan trọng liên quan đến trạng thái hoạt động của toàn hệ thống.

+ Report Designer (Báo cáo): Có nhiệm vụ tạo các thông báo, báo cáo và các kết quả này được lưu dưới dạng các trang nhật ký sự kiện.

+ User Achivers (Lưu trữ dữ liệu): Cho phép người sử dụng lưu trữ dữ liệu từ chương trình ứng dụng và có khả năng trao đổi với các thiết bị tự động khác. Điều

này có nghĩa các công thức, thông số trong chương trình WinCC có thể được soạn thảo, lưu giữ và sử dụng trong hệ thống.

+ Web Navigator: Hệ thống quản lý, điều khiển và giám sát thông qua Internet giúp người dùng có thể truy cập vào mạng hệ thống, có thể điều khiển hệ thông ở bất cứ nơi đâu.

+ WinCC sử dụng bộ công cụ thiết kế giao diện đồ họa mạnh như: Toolbox, các control,... được đặt dễ dàng trên giao diện thiết kế. Ngoài ra, để phục vụ cho công việc giám sát điều khiển tự động WinCC còn trang bị thêm nhiều tính năng mới mà các công cụ khác không có như:

- Các control thông qua hệ thống quản trị dữ liệu có thể gắn với một biến theo dõi trạng thái của hệ thống điều khiển. Thông qua đó, tác động đến việc giám sát các trạng thái. (adsbygoogle = window.adsbygoogle || []).push({});

- Thông qua hệ thống, thông điệp có thể thực hiện được những hành động tương ứng khi trạng thái thay đổi.

- Trong WinCC, ngôn ngữ C-Sript được dùng để thao tác giúp cho việc xử lý các sự kiện phát triển một cách mềm dẻo và linh hoạt.

WinCC tạo ra một giao diện Người-Máy (HMI) dựa trên cơ sở giao tiếp giữa con người với các hệ thống máy tính, thiết bị điều khiển (PLC) thông qua các hình ảnh, sơ đồ, hình vẽ hoặc câu chữ có tính trực quan hơn. Có thể giúp người vận hành theo dõi được quá trình làm việc, thay đổi các tham số, công thức, quá trình hoạt động, thể hiện các giá trị hiện thời cũng như giao tiếp với quá trình công nghệ thông qua các hệ thống tự động.

Giao diện HMI cho phép người vận hành giám sát các qui trình sản xuất và cảnh báo, báo động hệ thống khi có sự cố. Do đó WinCC là chương trình thiết kế giao diện Người – Máy thật sự cần thiết, không thể thiếu trong các hệ thống có quá trình tự động hóa phức tạp và hiện đại [6].

CHƯƠNG III: THI CÔNG THIẾT KẾ HỆ THỐNG CÂN ĐỊNH LƯỢNG

Sơ đồ các bước thiết kế hệ thống:

Xác định yêu cầu của hệ thống

Vẽ sơ đồ chung cho hệ thống

Thi công Phần cứng Phần mềm Cơ khí: Hàn, tiện, cắt nhôm Khí nén: Lựa chọn xylanh, van 5/2, Động cơ và mạch điều Đấu dây cho PLC Viết chương trình điều Nạp chương trình, kiểm tra Kết nối PLC và WinCC thông Tạo giao diện và điều

Hình 3. 2 Sơ đồ điều khiển hệ thống

3.1 THIẾT KẾ PHẦN CỨNG

3.1.1 Đấu nối PLC S7-200 CPU224 với Modul Analog EM231

- Modul EM231 có 4 ngõ vào Analog RA, A+, A-, RB, B+, B-, RC, C+, C-, RD, D+, D-. Do đề tài chỉ sử dụng duy nhất 1 loacell nên nhóm chỉ sử dụng ngõ vào Analog RA, A+, A-.

Cách đấu nối như sau: L+ và M của EM231 đấu trực tiếp từ nguồn 24VDC trên board thí nghiệm hoặc có thể lấy nguồn từ CPU 224 trên board thì nghiệm.

Hình 3. 3 Sơ đồ đấu nối PLC, EM 231 và bộ khuếch đại

- Kết nối port mở rộng (jack cắm cái) của EM231 vào port mở rộng của CPU 224 theo hình sau:

Hình 3. 5 Kết nối CPU224 với modul EM231 [9]

Một phần của tài liệu luận văn tốt nghiệp đại học '''' thiết kế hệ thống cân dùng plc '''' (Trang 29 - 88)