tai lieu wincc flexible tieng viet

26
Chào mọi người, Hi vọng các bạn đọc phần này trước để không phụ lòng của tôi. Wincc Flexible không hề khó, khi lập trình với Flex có thể nói là khá đơn giản và thân thiện nữa. Tài liệu Wincc tiếng việt đã có nhiều, nhưng tài liệu Flex thì rất ít, tuy đơn giản những cái gì khi mới bắt đầu thì chúng ta phải rất nhọc công trong việc tìm hiểu khi học nó, bởi chúng ta chẳng biết nên bắt đầu như thế nào. Hôm nay tôi muốn gởi lên cho mọi người một tài liệu có thể nói là khá đơn giản về Flexible, coi như giúp các bạn học tập tìm hiểu, mong nó sẽ tạo nền tảng cho các bạn để thực hiện các dự án to lớn sau này. Ngày xưa tôi cũng nhọc công lắm để mò ra, hỏi hết người này đến tìm trên mạng, nhất là bó tay với cái manual đọc chẳng hiểu gì hết. Tôi xin gởi một dự án nhỏ mà tôi thực hiện khi học trong trường học, “điều khiển PID động cơ DC bằng S7-200, giám sát điều khiển bằng Flexible”. Ta không thể so sánh Wincc và Flex bởi 2 chương trình được thiết kế để thực hiện hai mục đích khác nhau dù cho trong những dự án nhỏ ta có thể dùng loại nào cũng được. Khi dùng Flex bạn cảm thấy dung lượng nhỏ hơn rất nhiều. Hy vọng với mục tiêu học tập là tiếp thu và chia sẻ, tôi mong các bạn hãy suy nghĩ sâu xa hơn, đừng ích kỷ khi chia sẻ tài liệu với bạn của mình. Người ích kỷ sẽ tự hại mình, hại cho người khác, hại xã hội thôi. Tôi mong rằng tài liệu này tôi gởi lên là miễn phí nên các trang Web không được kinh doanh nó để lấy lợi nhuận với bất kỳ hình thức nào. Xin cảm ơn mọi người. Người viết, Nguyễn Quốc Bình [email protected] Đại học công nghiệp TP HCM

Upload: phong-anh

Post on 27-Oct-2015

383 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Tai Lieu Wincc Flexible Tieng Viet

Chào mọi người,

Hi vọng các bạn đọc phần này trước để không phụ lòng của tôi.

Wincc Flexible không hề khó, khi lập trình với Flex có thể nói là khá đơn giản và thân thiện nữa. Tài liệu Wincc tiếng việt đã có nhiều, nhưng tài liệu Flex thì rất ít, tuy đơn giản những cái gì khi mới bắt đầu thì chúng ta phải rất nhọc công trong việc tìm hiểu khi học nó, bởi chúng ta chẳng biết nên bắt đầu như thế nào. Hôm nay tôi muốn gởi lên cho mọi người một tài liệu có thể nói là khá đơn giản về Flexible, coi như giúp các bạn học tập tìm hiểu, mong nó sẽ tạo nền tảng cho các bạn để thực hiện các dự án to lớn sau này. Ngày xưa tôi cũng nhọc công lắm để mò ra, hỏi hết người này đến tìm trên mạng, nhất là bó tay với cái manual đọc chẳng hiểu gì hết.

Tôi xin gởi một dự án nhỏ mà tôi thực hiện khi học trong trường học, “điều khiển PID động cơ DC bằng S7-200, giám sát điều khiển bằng Flexible”.

Ta không thể so sánh Wincc và Flex bởi 2 chương trình được thiết kế để thực hiện hai mục đích khác nhau dù cho trong những dự án nhỏ ta có thể dùng loại nào cũng được. Khi dùng Flex bạn cảm thấy dung lượng nhỏ hơn rất nhiều.

Hy vọng với mục tiêu học tập là tiếp thu và chia sẻ, tôi mong các bạn hãy suy nghĩ sâu xa hơn, đừng ích kỷ khi chia sẻ tài liệu với bạn của mình. Người ích kỷ sẽ tự hại mình, hại cho người khác, hại xã hội thôi. Tôi mong rằng tài liệu này tôi gởi lên là miễn phí nên các trang Web không được kinh doanh nó để lấy lợi nhuận với bất kỳ hình thức nào.

Xin cảm ơn mọi người.

Người viết,

Nguyễn Quốc Bình

[email protected]

Đại học công nghiệp TP HCM

Page 2: Tai Lieu Wincc Flexible Tieng Viet

MỤC TIÊU:

Điều khiển tốc độ động cơ DC bằng thuật toán PID trên S7-200. Điều khiển giám sát, báo lỗi hệ thống bằng giao diện Wincc Flexible 2008.

NỘI DUNG:

Thiết kế giao diện điều khiển hệ thống trên Wincc Flexible 2008, giao diện gồm có:

Nút nhấn Start/Stop. Đảo chiều quay. Đèn báo lỗi hệ thống. Đồ thị hiển thị trạng thái đáp ứng của động cơ.

Chương trình điều khiển động cơ trên S7-200.

Page 3: Tai Lieu Wincc Flexible Tieng Viet

Khởi động Wincc Flexible:

Giao diện khởi động xuất hiện, chọn Creat an empty project:

Page 4: Tai Lieu Wincc Flexible Tieng Viet

Một cửa sổ có tên Devide selection xuất hiện, đây là cửa sổ cho phép ta chọn loại màn hình HMI sử dụng, nếu quan sát trên máy tính thì chọn PC/ Wincc Flexible Runtime. Click OK.

Đây là giao diện chương trình, chú thích một số tùy chọn đơn giản nhất:

Page 5: Tai Lieu Wincc Flexible Tieng Viet

Và các tùy chọn khác như báo lỗi, Report, Scrip…

Lập trình cho Flexible kết nối với S7-200 gần giống như Wincc, ta không thể kết nối trực tiếp mà phải sử dụng server OPC làm trung gian kết nối. Ở đây ta sử dụng PC Access.

Khởi động PC Access, cửa sổ chương trình hiện ra, chọn File/ New :

Vùng tùy chọn thêm giảm các Screen.

Tùy chỉnh chọn loại kết nối, đặt Tag.

Điều chỉnh độ phân giải, loại màn hình của giao diện khi chạy RunTime

Page 6: Tai Lieu Wincc Flexible Tieng Viet

Click phải vào biểu tượng có hình PLC chọn New PLC:

Page 7: Tai Lieu Wincc Flexible Tieng Viet

Đặt tên là Motor. Click chuột phải vào khoảng trống giữa màn hình chọn New/Item và đặt các biến như sau:

Tiến hành lưu lại và chạy OPC (nhấn vào biểu tượng Test client status). Chú ý phải lưu lại để kích hoạt chương trình trên PC Access vứa tạo.

Sau khi lưu thì nhấn vào đây để kích hoạt OPC

Page 8: Tai Lieu Wincc Flexible Tieng Viet

Vào lại Wincc Flexible. Vào Communication/Connection:

Màn hình hiện ra như sau, tiến hành đổi tên Connection_1 thành S7-200 server 1 (có thể đổi tên bất kỳ).

Trong bảng Communication Driver chọn OPC:

Nhấp chuột phải vào đây chọn Add Connection.

Chọn S7200.OPC Server

Tên S7200 OPC.Server xuất hiện

Page 9: Tai Lieu Wincc Flexible Tieng Viet

Trong bảng có các biểu tượng màu xanh bên dưới chọn S7200 OPC.Server, lúc này tại ô OPC server name sẽ có tên S7200 OPC.Server:

Việc kết nối hoàn tất, lúc này ta tiến hành đặt các biến Tag cho hệ thống.

Vào Communication/Tags:

Page 10: Tai Lieu Wincc Flexible Tieng Viet

Chuột phải chọn Add Tag, một Tag mới vừa tạo hiện ra, các thuộc tính của nó bao gồm:

Name: Tên Tag, nên tiến hành đổi tên Tag cho dể quản lý. Display name: Tên hiển thị, có thể dùng chức năng này hoặc bỏ qua, tên hiển thị

mặc định là tên đặt ở mục Name. Connection: Chọn loại kết nối sử dụng. Ở đây chọn kết nối OPC vừa tạo ra. Data type: Kiểu dữ liệu. Symbol: đây là phần quan trọng nhất, là nơi liên kết giữa Wincc Flex với OPC, ví

dụ kết nối biến start với địa chỉ Start trên PC access vừa tạo ở trên:

Tại mục Acquisition Cycle là nơi chọn chu kỳ update, nên chọn 100ms.

Tương tự ta tạo các Tag và kết nối các biến Tag với PC Access như sau:

Page 11: Tai Lieu Wincc Flexible Tieng Viet

Quay lại màn hình Screen.

Dùng các Object để tạo ra giao diện như sau:

Simple Object: Dùng Text Field tạo chú thích, dùng IO Field để tạo ô xuất nhập dự liệu, dùng

Switch để tạo chọn lựa quay trái quay phải, dùng Button để tạo các nút nhấn, Circle tạo đèn

báo…

Page 12: Tai Lieu Wincc Flexible Tieng Viet

Để vẽ đồ thị ta vào Enhanced Objects/ chọn Trend View:

Ta tạo giao diện như sau:

Bây giờ ta sẽ kết nối thuộc tính của các Object trên giao diện với các Tags mà ta đã tạo.

Trend view

Page 13: Tai Lieu Wincc Flexible Tieng Viet

Với các IO Field: Nhấp chuột phải vào IO Field tại S.P chọn Properties, cửa sổ Properties hiện ra:

Làm theo các bước như trên cho 5 IO Field như sau:

Cửa sổ Properties của IO Field.

Sửa đổi kiểu định dạng cho dữ liệu xuất nhập.

Kết nối IO với Tag tương ứng.

Chọn lựa thuộc tính xuất hay nhập.

Check vào dấu sau khi hoàn thành việc điều

chỉnh để lưu lại.

Cycle: chu kỳ cập nhật dữ liệu, chọn

100ms

Page 14: Tai Lieu Wincc Flexible Tieng Viet

S.P: Vận tốc đặt ngoài giao diện. Ta kết nối với biến Setpoint. Kiểu dữ liệu định dạng là 9999. Chọn lựa xuất nhập là Input (chỉ nhập).

P.V: Vận tốc đo về. Kết nối Tag Feedback, kiểu dữ liệu là 9999, chọn lựa kiểu xuất nhập là Output ( chỉ xuất dữ liệu).

Kp, Ki, Kd: Là các tham số của bộ điều khiển PID, chọn kiểu xuất nhập là Input/Output, kết nối tương ứng với các Tag cùng tên, kiểu dữ liệu là 99.999999.

Với các nút nhấn:

Nút start:

Vào Event/Click:

Chữ hiển thị khi nhấn (Text on)và không nhấn

(Text off).

Button Mode: chọn kiểu hiển thị là hình ảnh hay

text hay ẩn đi. Chọn text.

Hotkey? Chon F1.

Page 15: Tai Lieu Wincc Flexible Tieng Viet

Nơi đây là nơi lập trình cho các biến cố xảy ra khi nhấn nút Start. Tại dòng <no function>, ta nhấp vào nó, biểu tượng bên phải xuất hiện cho phép ta chọn lựa các biến cố, chọn Setbit, tại noi có chữ <no value> ta nhấn và chọn đến tag Start.:

Hoàn thành cho nút nhấn Start. Với nút nhấn stop cũng làm tương tự nhưng function là Resetbit Start.

Page 16: Tai Lieu Wincc Flexible Tieng Viet

Với Switch: chuột phải/Properties:

Đèn báo: Chuột phải vào đèn báo chọn Properties. Bảng điều chỉnh hiện ra:

Vào Amination/Apearance. Ta chọn liên kết với Tag Bao loi tại ô Tag và đặt màu sắc, giá trị cho đèn báo như hình trên.

Chọn lựa kiểu hiển thi, ở đây chọn kiểu

switch.

Chọn như vậy thì khi kích hoạt thì motor sẽ quay

phải, bình thường là quay trái.

Chọn kết nối với Tag Dao chieu. Khi tag này kích lên 1 thì motor quay phải.

Chú ý chọn Value On là 1.

Tùy chỉnh Properties của đèn

báoLiên kết Tag

Chọn giá trị

Chọn màu sắc: màu viền và màu nền.

Page 17: Tai Lieu Wincc Flexible Tieng Viet

Vẽ đồ thị trong Wincc Flexible (TrendView Properties):

Nhấn chuột phải vào TrendView/Properties:

Các thuộc tính Properties cần chú ý tới:

Apearance: Tùy chỉnh màu nền,màu trục tọa độ, màu thước… Layout: Chỉnh vị trí đặt đồ thị. Các tùy chọn Axis: Hiệu chỉnh độ lớn, title… của trục tọa độ. Trend: Tùy chọn này cho phép hiển thị giá trị các Tag lên đồ thị (liên kết Tag,

chọn màu hiển thị…).

Trên đồ thị ta chọn Left Value Axis, Right Value Axis là 1400. Trên trục X Axis ta chon Interval Time là 100.

Kết nối biến Setpoint và Feedback với đồ thị:

Properties/Trend/ Chuột phải/Add Trend.

Page 18: Tai Lieu Wincc Flexible Tieng Viet

Kết nối PLC và nhấn Runtime để bắt đầu chạy chương trình.

Source setting: Tùy chọn kết nối với Tag cần đưa lên đồ thị.

Chọn màu cho đồ thị.

Page 19: Tai Lieu Wincc Flexible Tieng Viet

Bảng Symbol:

XUNG SMD48 //gia tri hien tai hsc1

CHU_KY_XUNG SMW68 //chu ky xung

DO_RONG_XUNG SMW70 //do rong xung

PID0_Table VB100 //dia chi bat dau pid

PID_ENABLE VB140 //cho phep chay pid (1=run, 0=stop)

SP VD12 //toc do dat (vong/ph)

PV VD28 //toc do do (vong/ph)

XUNG_ENCODER VD32 //so xung cua encoder

TOC_DO_MAX VD40 //toc do toi da cho phep (vong/ph)

KP VD80 KP

KI VD84 KI

KD VD88 KD

PID_PV VD100 toc do do

PID_SP VD104 toc do dat trong pid

OUT VD108 ngo ra

PID_Gain VD112 kp

Ts VD116 thoi gian lay mau ts

Ti VD120 thoi gian tich phan ti

Td VD124 thoi gian vi phan td

BIAS VD128 tong vi phan

OUT_N VD132 output truoc do

Page 20: Tai Lieu Wincc Flexible Tieng Viet

Chương trình trên PLC:

TITLE=PROGRAM COMMENTSMain:Network 1 // Nap chuong trinh khoi tao xung Encoder, PID, Phat xung trong chu ky quet dau tien.

LD SM0.1CALL SBR0CALL SBR1CALL SBR2

Network 2 // Reset ngo ra o chu ky quet dau tien, cho ngat timer 0, sau do chay chuong trinh HSC de doc xung va PID de thuc hien thuat toan PID.

LD M0.0O I0.0EU //lenh phat hien xung canh lenR Q0.0, 1ATCH INT0, 10ENI //cho phep ngatHSC 1MOVB 1, VB140

Network 3 // Khi nhan stop thi xoa het cac thong so dang chay cua he thong: Gia tri do duoc, ngo ra, reset HSC, ngat chuong trinh PID.

LD M0.1O I0.1MOVR 0.0, VD100MOVR 0.0, VD108MOVR 0.0, VD28MOVB 0, VB140MOVD 0, SMD48

Network 4 // Neu nhan M0.2 la dem len.

LD M0.2S SM47.3, 1

Page 21: Tai Lieu Wincc Flexible Tieng Viet

Network 5 // neu khong nhan M0.2 la dem xuong.

LDN M0.2R SM47.7, 1

Network 6 //bao loi khi nhan start ma motor van khong quay

LD M0.3AD<= HC1, 5= V48.1= Q0.2

Network 7 //bao loi khi nhan stop ma motor van quay hoac motor quay mat dieu khien

LDN M0.3AD>= HC1, 5= V48.1= Q0.2

Chuong trinh khoi tao HSC:Network 1 // Instruction Wizard HSC// Chon HSC1 chay o MODE9.

LD SM0.0MOVB 16#7C, SMB47 //Set control bits: count UP; reset active HIGH;

start //active HIGH; rate 1X; enabled;

MOVD 0, SMD48 //Load CVMOVD 0, SMD52 //Load PVHDEF 1, 9HSC 1S SM47.7, 1// Lenh cuoi cung (SET SM47.7) la cho HSC1 hoat dong.

Chuong trinh khoi tao PID:

TITLE=SUBROUTINE COMMENTSNetwork 1 // Network Title

// Network Comment// cai dat thong so cho chuong trinh pid, cac he so kp ti td duoc tinh va nap thang tu

giao dien, khong co dung gia tri mac dinh ban dau.

Page 22: Tai Lieu Wincc Flexible Tieng Viet

LD SM0.0MOVR VD12, VD52/R 2000.0, VD52 //chia gia tri dat cho toc do toi dasetpoint. MOVR VD52, VD104MOVB 0, VB140MOVR 0.0, VD132MOVR 0.0, VD28MOVR 0.1, VD128MOVR 0.06, VD116 //thoi gian lay mau 0.06s

Khởi tạo bộ điều xung:Network 1 // Network Title// Network Comment

LD SM0.0MOVB 16#D3, SMB67MOVW 1000, SMW68MOVW 0, SMW70MOVB 16#D3, SMB67PLS 0

Chương trinh ngắt:TITLE=INTERRUPT ROUTINE COMMENTS

Network 1 // Network TitleLD SM0.1MOVR VD12, VD52/R 2000.0, VD52MOVR VD52, VD104PID VB100, 0 //goi vong lap chuong trinh pid 0MOVD HC1, VD0 //dua gia tri hsc vao vd0DTR VD0, VD4MOVR VD4, VD8/R 400.0, VD8MOVR VD8, VD100MOVR VD8, VD28*R 2000.0, VD28MOVR VD108, VD16

Page 23: Tai Lieu Wincc Flexible Tieng Viet

*R 1000.0, VD16ROUND VD16, VD17DTI VD17, AC0MOVW AC0, SMW70PLS 0

Network 2 LD SM0.0MOVD 0, SMD48HSC 1MOVB 1, VB140CRETI