Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 154 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
154
Dung lượng
1,57 MB
Nội dung
Luận Văn Tốt Nghiệp MỞ ĐẦU Điều khiển giám sát thu thập liệu (SCADA) phần thiếu hệ thống tự động hoá đại Từ năm gần đây, tiến lĩnh vực truyền thông công nghiệp công nghệ phần mền thực đem lại nhiều khả mới, giải pháp Chưa bao giờ, việc tạo dựng ứng dụng SCADA lại đơn giản Nếu trước đây, ngành điện cần phải có panel điều khiển tường với chi chít đèn báo, cơng tắc, đồng hồ vài người đứng xem xét, theo dõi mạng lưới cung cấp điện: nơi non tải, hay cố đứt dây, chập mạch với giải pháp dùng hệ SCADA, ta dùng tay tác động vào “chuột” thông số vùng muốn theo dõi lên.Việc điều điện áp, cắt tải hay mở rộng cửa xả nước để tăng cơng suất phát điện cịn truyền đến nhà máy phát điện khác để tham gia hòa điện lên mạng lưới điện quốc gia.Với tiến vậy, em chọn đề tài để củng cố nhiều kiến thức Và từ có nhiều khả để xây dựng nên giải pháp SCADA mà trọng tâm việc xây dựng giải pháp thời điểm dùng công cụ phần mềm thiết kế giao diện tích hợp hệ thống.Vì đề tài phần mềm em chọn phần mềm SCADA WinCC Còn thiết bị bao gồm đo điện Mach 30, PLC S7-300 CPU 314IFM, PLC S7200 CPU 226, contactor, relay, tải bóng đèn động không đồng ba pha Trừ động tất thiết bị gắn panel Và với nhiệm vụ đề tài tìm hiểu WinCC, Simatic S7-200/300, chuẩn truyền thơng Modbus, chuẩn truyền thông Ducati (hỗ trợ cho việc truyền thơng máy tính với Mach 30), thiết kế hệ SCADA-giám sát thu thập số liệu điện Nên luận văn chương em giới thiệu SCADA HMI Và hệ thống SCADA phần phát triển sở phát triển mạng máy tính truyền thơng cơng nghiệp nên em giới thiệu khái quát mạng công nghiệp chương hai Và chương ba giới thiệu PLC S7200, PLC S7-300 Thêm vào chương bốn giới thiệu Mach 30 Cuối chương năm giới thiệu WinCC Vì thời gian thực đề tài có hạn nên luận văn khỏi sai sót Kính mong q thầy độc giả nhiệt tình bỏ qua Tp.HCM, ngày 12/1/2002 Sinh viên thực Luận Văn Tốt Nghiệp MỤC LỤC Trang Chương GIỚI THIỆU VỀ SCADA VÀ HMI I Khái niệm SCADA HMI II Nguyên tắc hoạt động hệ thống SCADA III Chức nhiệm vụ hệ thống SCADA IV Phân loại hệ thống SCADA V Tiêu chuẩn đánh giá VI SCADA lên WEB VII Nhìn tương lai Chương MẠNG TRUYỀN THÔNG CÔNG NGHIỆP 11 I Khái niệm 11 Khái niệm mạng truyền thông công nghiệp 11 Phân loại đặc trưng hệ thống MCN 12 II Cơ sở kỹ thuật 16 Khái niệm thời gian thực 16 Kiến trúc giao thức 17 Chuẩn truyền dẫn 35 III Modbus 43 Cơ chế giao tiếp 44 Chế độ truyền dẫn 46 Cấu trúc điện 47 Bảo toàn liệu 51 Modbus Plus 52 IV Lập trình cổng COM(RS-485) 53 V Cáp chuyển đổi RS-232/485 58 Chương PLC 61 A.Giới thiệu VỀ PLC 61 I Khái niệm PLC 61 II Đặc điểm điều khiển lập trình 61 III Cấu trúc 65 IV Cổng truyền thông 66 V Ưu nhược điểm PLC 67 VI Một vài lĩnh vực tiêu biểu ứng dụng PLC 68 B.PLC SIEMENS S7-200 70 I Giới thiệu 70 II Bộ nhớ 70 III Tập lệnh PLC S7-200 72 IV Bảng kiện ngắt thứ tự ưu tiên 76 V Vùng nhớ đặc biệt 77 VI Giới thiệu SIEMENS SIMATIC S7-200 (CPU 226) 78 C.PLC Siemems S7-300 80 I Thiết bị điều khiển logic khả trình 80 Luận Văn Tốt Nghiệp II Ngơn ngữ lập trình 87 III Tổ chức nhớ CPU 88 IV Giới thiệu CPU 314IFM 90 Chương IV MACH 30 98 I Giới thiệu 98 Các tính MACH 30 99 Các thông số MACH 30 99 Cơng suất trung bình 99 Hệ số dạng THDF 99 Các giá trị đo hiển thị sẵn 100 Mạng nối kết thiết bị máy tính 101 Ứng dụng 102 II Cách sử dụng MACH 30 102 Các menu phím chức 102 Cách kết nối nguồn cung cấp 103 Cách kết nối MACH 30 với tải 103 Cogeneration 104 Hai ngõ vào analog 105 Bốn ngõ cực thu hở 106 Các thông số menu đặt cấu hình 107 III Giao thức truyền thông Ducati 108 Giới thiệu 108 Ứng dụng 108 Diễn tả 108 Frame yêu cầu liệu 111 Những frame lệnh 119 Chương SIMATIC WINCC CONTROL CENTER 124 A.Giới thiệu 124 I Control Center hệ thống WinCC 124 II Project 133 B.Cách lập trình WinCC 136 I Khái niệm 136 Cấu trúc 136 Giao diện WinCC 136 II Cách lập trình 138 Khái niệm tag WinCC 138 Driver WinCC 139 Tạo picture 139 Cách tạo thư viện liên kết động 140 Sử dụng tập tin liên kết động 143 Luận Văn Tốt Nghiệp BÁO CÁO KẾT QUẢ THI CÔNG VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 1.Kết thi công Thu thập tốt liệu từ đo Mach 30 máy tính thơng qua chuyển đổi RS-232/485 phần mềm WinCC đồng thời từ máy tính thơng qua phần mềm điều khiển ngõ Mach 30 Vì WinCC có hỗ trợ Driver cho PLC S7-300 nên việc kết nối máy tính với S7-300 CPU 314IFM dễ dàng nên em đă kết nối thành công việc đọc liệu điều khiển Cịn S7-200 WinCC khơng hỗ trợ nên em viết chương trình riêng viết theo frame truyền Ducati cho PLC S7-200 WinCC Kết kết nối thành cơng WinCC có hỗ trợ việc lưu trữ xử lý liệu (ví dụ giá trị đo thông tin báo động)và nên em tìm hiểu thức mà WinCC lưu liệu đọc liệu mà WinCC thu thập từ Mach 30 PLC S7-220 S7-300 từ phần mềm khác Excel, Access, ISQL…Và em thực phần mềm thành công việc đọc xử lý liệu Cụ thể: Đây hình chụp panel: Luận Văn Tốt Nghiệp Kết thu thập từ Mach30 giá trị:tần số, điện áp tương đương ba pha, áp dây 1-2, áp dây 2-3, áp dây 3-1: Đồ thị U12(t),U23(t),U31(t): Luận Văn Tốt Nghiệp Luận Văn Tốt Nghiệp Luận Văn Tốt Nghiệp 2.Hướng phát triển đề tài Đề tài phần khẳng định tính mở, độ linh hoạt hệ thống SCADA tức dùng mạng truyền thông dựa theo giao thức Modbus chuẩn RS-485 ghép nối nhiều thiết bị (có hỗ trợ giao thức chuẩn này) thuộc hãng khác Hơn với hỗ trợ mạnh sở liệu khả tích hợp WinCC nên ta ghép nối với hệ thống khác có khả mở rộng đến cấp quản lý, không thiết cấp chấp hành cấp điều khiển Vì hệ thống SCADA có khả mở rộng ứng dụng vào nhiều lĩnh vực như: khu công nghiệp, khách sạn, nhà hàng, bảo tàng, trung tâm thương mại, hệ thống chuyển mạch ATS, hệ thống kho chứa phân phối xăng dầu,… Luận Văn Tốt Nghiệp TÀI LIỆU THAM KHẢO WinCC Configuration Manual(Volume1/Volume2) –Edition February 1999 (Siemens) WinCC Getting Started Manual -Edition August 1997 (Siemens) Tự động hố với SIMATIC S7-300 (Nguyễn Đỗn Phước-Phan Xn Minh-Vũ Văn Hà ) Tự động hoá với SIMATIC S7-200 (Nguyễn Đỗn Phước-Phan Xn Minh) Tạp chí Tự Động Hố Ngày Nay(Automation Today) Mạng Truyền Thơng Cơng Nghiệp (Hoàng Minh Sơn) SIMATIC Loadable Driver for Point-to-Point CPs: MODBUS Protocol, S7 is master/slave manual Edition 2(Siemens) SIMATIC Data Highway Reference Manual (Siemens) SIMATIC S7-300 Programmable Controller Hardware and Installation Manual(Siemens) SIMATIC S7-300 Programmable Controller Integrated Functions CPU 312 IFM/314 IFM Manual (Siemens) SIMATIC S7-200 Programmable Controller System Manual (Siemens) Các Kỹ Xảo Lập Trình Với Visual Basic Và Borland Delphi (Lê Hữu Đạt) Kỹ Thuật Lập Trình C (Phạm Văn At) Tin Học II (Đặng Thành Tín) Serial Port Complete (Jan Alexlson) Kỹ Thuật Ghép Nối Máy Tính (Ngơ Diên Tập) Các Luận Văn Tốt Nghiệp khố trước mơn ĐKTĐ Luận Văn Tốt Nghiệp Chương GVHD: Nguyễn Đức Thành GIỚI THIỆU VỀ SCADA VÀ HMI I.Khái niệm SCADA HMI Thị trường tiêu thụ hàng hoá đòi hỏi không ngừng nâng cao chất lượng, giảm giá thành, đổi kết cấu, mẫu mã sản phẩm Nhu cầu đặt yêu cầu tìm kiếm phương thức sản xuất để tạo nên dây chuyền sản xuất tự động cho phép nhanh chóng thay đổi mẫu mã, loại sản phẩm Dây chuyền tự động “cứng” gồm nhiều thiết bị tự động chuyên dùng đòi hỏi vốn đầu tư lớn, nhiều thời gian để thiết kế chế tạo, lúc quy trình công nghệ cải tiến, nhu cầu chất lượng quy cách sản phẩm thay đổi Bởi nhu cầu mền hoá hay linh hoạt dây chuyền sản xuất ngày tăng Các dây chuyền sản xuất có khả thay đổi nhanh chóng lại không tốn nhiều công suất để chuyển sang sản xuất sản phẩm mới, sang quy trình công nghệ Để đáp ứng nhu cầu trên, yêu cầu phải có hệ thống sản xuất Hệ thống sản xuất tự động linh hoạt hay gọi tắt hệ thống sản xuất linh hoạt (FMS) áp dụng thành tựu khoa học kỹ thuật tin học, kỹ thuật điều khiển số, điều khiển người máy Đặt biệt mô hình sản xuất tự động Workcell –tế bào sản xuất tự động –là đơn vị có khả làm việc độc lập hoàn toàn với phận khác nhà máy, đảm đương việc thực hoàn tất công đoạn quy trình sản xuất Một workcell đại biến đổi chức làm việc để phù hợp với nhu cầu kết nối với workcell khác để tạo nên dây chuyền sản xuất linh hoạt Dây chuyền công nghiệp dùng người máy điều khiển máy tính điện tử với thiết bị gia công điều khiển số dạng NC CNC tạo khả dễ dàng thay đổi quy trình làm việc, thuyên chuyển công việc thực chủ yếu thay đổi chương trình cho máy tính Các thiết bị thay dần máy tự động “cứng” Hệ thống sản xuất linh hoạt bao gồm nhiều vấn đề phức tạp như: cấu trúc tổ chức, quản lý phần tử hệ thống đến việc đánh giá lợi ích, vấn đề xã hội mà hệ thống sản xuất gây Hệ thống điều khiển giám sát thu thập liệu (SCADA) phương thức tiên tiến điều khiển hệ thống sản xuất tự động công nghiệp phương thức điều khiển SCADA ứng dụng vào việc giám sát điều khiển tế bào sản xuất workcell Vậy ta giới thiệu sơ lược hệ thống SCADA Hệ SCADA đời vào năm 80 sở ứng dụng kỹ thuật tin học, mạng máy tính truyền thông công nghiệp SVTH: Lưu Văn Khoa Trang Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành 5) Trong menu động mà xuất , chọn mục “Print the print job” để bắt đầu công việc in ấn hệ thống cho feedback documentation Control Center …Xem Feedback Documentation Control Center hình Sử dụng lệnh menu: “File”-“ Preview Feedback Doc” để xem thiết đặt project hình trực tiếp Hoặc: 1) Kích đôi chuột “project navigation window” thành phần project “Editor” để xem tất mục cài đặt 2) Kích mục “Report Designer” 3) Kích “Print Job” để xem tất print jobs hệ thống sẵn có project data window 4) Kích phải chuột mục @Documentation Control Center 5) Trong pop-up menu mà xuất ,chọn lệnh “Print Preview” để hiển thị print job hệ thống cho feedback documentation Control Center hình Những thuật ngữ / chữ viết tắt API Application Programming Interface C Higher programming language that was developed as a system development language (for example, for the UNIX operating system) and also as a universal programming language CEDST Central European Daylight Saving Time CET Central European Time CP5412 A2 PC plug in for connecting a PLC to the system bus DCF77 Time signal transmitter in Frankfurt/Mainflingen, Germany Provides the exact official time of the Federal Republic of Germany with a maximum deviation of s in million years DDE Dynamic Data Exchange DLL Dynamic Link Library DR Drive letter of a storage medium (for example, "C" or "D" for a hard disk) DST Daylight Saving Time GPS Global Positioning System - Satellite system which determines precise position on the earth Individual GPS satellites circle the earth at an approximate SVTH: Lưu Văn Khoa Trang 131 Luận Văn Tốt Nghiệp LAN MFC MMI ODBC ODK OLE OLX OMS OS PDU PLC PMC RS232 RT RTC SQL ST Thread TIS UTC Wizard GVHD: Nguyễn Đức Thành height of 20,000 km on different paths Each satellite contains a very precise atomic clock (precision of a minimum of x 10-12) The data transmitted by the satellites are used to calculate the time Local Area Network Microsoft Foundation Classes Man-Machine Interface Open Database Connectivity WinCC Open Developers Kit (optional description of the programming interface) Object Linking and Embedding OLE Custom Controls Object Management System Operator Station Protocol Data Unit Programmable Logic Controller Process Monitoring Control Serial interface Run Time Real-Time Clock (battery backed CMOS clock chip in the PC) Structured Query Language, Data manipulation language for relational databases Standard Time A thread is a sub-function of a program that handles a very specific task Test and Startup International time scale (Universal Time Coordinated) Auxiliary program for handling complex tasks (Assistant) Pop-Up Menus Pop-up menus menu quan trọng phương tiện hữu dụng Control Center Ta nhận menu cho object chọn cửa sổ project Ta cần kít phải chuột để mở pop-up menus SVTH: Lưu Văn Khoa Trang 132 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành Ví dụ, ta nhận sổ sau chọn mục thành phần “Computers” kít nút phải chuột Mục menu “Find…” Properties” đưa object Những mục menu khác tuỳ thuộc vào object chọn Trong ví dụ này, pop-up menu thành phần project “Computer” mở II Project Thông tin chung project • Cấu trúc project Control Centrol Một project bao gồm nhiều component mà trực tiếp phụ thuộc lẫn Ta tìm thấy component riêng biệt project project navigation window Thiết lập /xem thuộc tính project: Nếu muốn xem thiết lập thuộc tính , ta phải chọn projec project navigation window Sau phải mở pop-up menu tương ứng chọn mục menu “Properties…” sử dụng nút Toolbar SVTH: Lưu Văn Khoa Trang 133 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành pop-up menu project hiển thị data window Project Properties Cách thức thiết lập Project Properties: 1) Trong project navigation window , kích nút phải chuột tên project mà ta nhận biết thông qua phần mở rộng tập tin *.MCP Trong pop-up menu xuất sau , kích chuột mục menu “Properties…”.Một hộp thoại xuất sau đây: Hoặc : Toolbar Sử dụng nút 2) Ta chọn ba tabs hộp thoại “Project properties” Những tab riêng biệt sau đây: Tab Diễn tả General Information Dữ liệu project chung Update Cycles Thiết lập khoảng thời gian mà project liên kết để cập nhật xử lý liệu Hot Keys n định phím tắt cho hoạt động hệ thống WinCC Cách thức thiết lập "General Information" Tab: SVTH: Lưu Văn Khoa Trang 134 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành Trong "General Information" ,kích box mà ta muốn thiết lập Có thể thiết lập box nêu bảng đây: Tên box Diễn tả Type Loại project hiển thị box này.Ta ấn định project "Single-User System" "Multi-User System".Sử dụng box thay đổi loại project Creator Tên người tạo nên project nhập vào box tương ứng tới tên user mà người tạo nên project môi trường Windows 95,Windows 98,hoặc Windows NT sử dụng để hoà nhập vào hệ thống Creator Date Ngày mà project tạo ghi vào box Ngày tương ứng tới ngày hệ thống computer ngày project tạo Changed By Tên người thiết lập(editor) project ghi vào box Last Change Ngày thay đổi cuối tới project ghi vào box Ngày tương ứng tới ngày hệ thống computer mà project soạn thảo Version Số cuả phiên project ghi vào box GUID Số ID(identification)của project ghi vào box Số tạo cho project ID cần thiết cho điều hành sở liệu Comment Ta ghi tới project box SVTH: Lưu Văn Khoa Trang 135 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành B.Cách lập trình WinCC I.Khái niệm Nhìn chung WinCC cung cấp cho ba giải pháp để thiết lập cấu hình: • Sử dụng công cụ chuẩn WinCC • Sử dụng ứng dụng Windows có sẵn với WinCC thông qua DDE, OLE, ODBC, ActiveX • Sử dụng Visual C++ Visual basic để tự phát triển ứng dụng nhúng vào WinCC WinCC hệ thống HMI (giao diện người-máy) cho cấu hình hiệu thực thi Mặc khác tảng cho hệ thống mở vô tận Tính module linh hoạt WinCC đưa cho khả hoàn toàn cho thiết kế thi hành nhiệm vụ, thao tác cách tự động 1.Cấu trúc module WinCC WinCC cung cấp module hệ thống cho việc tạo giao diện đồ hoạ, ghi nhận thông điệp, thu nhận lưu trữ liệu xử lý(process data) tích hợp thủ tục ứng dụng người định nghóa Chúng tích hợp module 2.Giao diện WinCC a.Tính mở WinCC SVTH: Lưu Văn Khoa Trang 136 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành WinCC hoàn toàn mở tới phụ kiện để mở rộng (add-on) người sử dụng (user) Tính mở rộng hoàn toàn thông qua cấu trúc WinCC giao diện lập trình mạnh Hình sau minh hoạ khả kết nối nhiều ứng dụng b.Tích hợp ứng dụng bên vào WinCC WinCC cho ta lựa chọn để tích hợp ứng dụng module khác vào giao diện điều khiển xử lý trình c.Sự bảo trì lưu trữ liệu Trong biểu đồ sau, WinCC tạo toàn phần Sơ đồ cho thấy hệ sở liệu chuẩn Sybase SQL Anywhere phụ thuộc vào WinCC Hệ sở liệu sử dụng để lưu trữ liệu cấu hình hùng liệt kê danh sách (như danh sách tag, bảng thông điệp), liệu sử lý tức SVTH: Lưu Văn Khoa Trang 137 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành thời (như: thông điệp, giá trị đo, ghi liệu người dùng Hệ sở liệu có tính server WinCC truy cập tới sở liệu thông qua ODBE giao diện lập trình mở (C-API) client Những chương trình khác, tất nhiên, làm tương tự Điều cho biểu Windows hệ sở liệu Windows trực tiếp truy cập vào sở liệu WinCC bất chấp ứng dụng thực thi hay trạm nối mạng Với trợ giúp database query language SQL công cụ kết nối thích hợp (như: cầu nối ODBC), client khác (như: UNIX based databases Oracle, Informix, Ingres) truy cập tới sở liệu WinCC Điều làm truy cập qua lại chúng Không phải đứng cách tích hợp WinCC vào xử lý công ty diện rộng II Cách lập trình Trước thiết lập cấu hình, bạn nên rõ phần sau: • Chỉ rõ tên project WinCC • Chỉ rõ tên tag • Chỉ rõ tên giao diện thiết kế • Chỉ rõ quy luật tạo script action • Chỉ rõ quy luật tạo cấu hình • Chỉ rõ kiểu phương thức văn kiện project 1.Khái niệm tag WinCC SVTH: Lưu Văn Khoa Trang 138 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành Tag thành phần trung tâm giá trị xử lý trình truy xuất thông tin Trong project WinCC, tag nhận tên liệu Kết nối logic ấn định vào tag WinCC Kết nối định kênh ấn định đến giá trị xử lý tới tag sử dụng Tag lưu trữ sở liệu project-wide Khi máy chạy WinCC bắt đầu, tất tag thuộc project tải lên cấu trúc run-time set-up Trong data manager có hai loại tag: • Internal tag: tag địa hệ thống PLC cung cấp cung cấp data maganer bên WinCC Internal tag dùng để lưu trữ thông tin chung ngày, thời gian,… • External tag: tag ấn định tới kết nối logic địa layer PLC Trong tag có dạng đặt biệt tag biết “Raw Data Tags” 2.Driver WinCC Driver giao diện PLC WinCC Phần lấy ví dụ cách thức tạo kết nối với PLC(SIMATIC S7 300 sử dụng CPU 314IFM địa mạng MPI) Trước hết kích phải chuột vào “Tag management” cửa sổ Control Center chọn “Add New Driver…”, chọn kênh “SIMATIC S7 Protocol Suite.CHN” từ hộp thoại Sau kích chuột phải vào “MPI” cửa sổ Control Center chọn “New Driver Connect…” Trong hộp thoại “Connection Ppoperities” chọn tab “Connection” thiết lập thông số: • Station Connect: • Segment-ID: • Rack Number: • Slot Number: Kích chuột phải “NewConnection” (tên kết nối mà ta thiết lập mặc định chọn “New Tag…” Từ ta thiết lập tên tag, kiểu liệu mà chứa đựng địa tương ứng với địa vùng nhớ PLC ví dụ: ta chọn kiểu liệu Binary địa Q124.0 Khi cho WinCC PLC run-time, giá trị bit Q124.0 luôn cập nhật tag vừa tạo Vì chương trình lấy giá trị bit nhớ thông qua tag để xử lý 3.Tạo Picture Trong cửa sổ Control Center, vào menu “Editors” chọn “Graphics Designer” chọn “Open” Cửa sổ “Graphics Designer” mở từ SVTH: Lưu Văn Khoa Trang 139 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành ta thiết lập cấu cửa sổ “form” Visual basic hay Borland Delphi Nhưng ta lập trình ngôn ngữ C++ Ở đây, người học Visual C++ việc lập trình không khó khăn WinCC Ví dụ: để tạo thông điệp ta nhấn nút button ta thực sau: • Chọn “Button” “Windows Objects” khung “Object Palette” • Chọn C-Action hình vẽ: • Viết mã cửa sổ “Edit action” nhö sau: #include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { MessageBox(NULL,"Instruction Text","My Instruction Box",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND); } 4.Caùch tạo thư viện liên kết động Vì luận văn ta cần sử dụng hàm outport/input làm tảng để giao tiếp với Mach 30 PLC S7 200 SIEMENTS nên ta cần tạo thư viện liên kết động Ta dùng ngôn ngữ lập trình Visual C++, Borland Delphi,… để tạo thư viện liên kết động để dùng WinCC a.Tạo thư viện liên kết động Visual C++: • Trước hết ta tạo thư mục khdll • Sau tạo tập tin khdll.cpp với mã sau: SVTH: Lưu Văn Khoa Trang 140 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành #include "stdafx.h" BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } int _declspec(dllexport) _stdcall khinp(unsigned short x) { return ( _inp(x)); } unsigned short _declspec(dllexport) _stdcall khinpw(unsigned short x) { return ( _inpw(x)); } unsigned long _declspec(dllexport) _stdcall khinpd(unsigned short x) { return ( _inpd(x)); } int _declspec(dllexport) _stdcall khoutp(unsigned short x , int y) { return ( _outp(x, y)); } unsigned short _declspec(dllexport) _stdcall khoutpw(unsigned short x , unsigned short y) { return ( _outpw(x, y)); } unsigned long _declspec(dllexport) _stdcall khoutpd(unsigned short x , unsigned long y) { return ( _outpd(x, y)); } SVTH: Lưu Văn Khoa Trang 141 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành • Tạo tập tin khdll.def với mã sau: LIBRARY khdll DESCRIPTION "My C DLL" EXPORTS khinp @1 khinpw @2 khinpd @3 khoutp @4 khoutpw @5 khoutpd @6 • Tạo tập tin AtdSfx.cpp với mã sau: #include "stdafx.h" • Tạo tập tin AtdSfx.h với mã sau: #if !defined(AFX_STDAFX_H 8E9D9E43_7D6C_11D2_A69E_C265421147 31 INCLUDED_) #define AFX_STDAFX_H 8E9D9E43_7D6C_11D2_A69E_C26542114731 INC LUDED_ #if _MSC_VER > 1000 #pragma once #endif #define WIN32_LEAN_AND_MEAN #include #include #endif • Cuối ta nhấn F7 để chương trình Visual C++ tạo tập tin khdll.dll b Tạo thư viện liên kết động dùng Borland Delphi • Trước hết Delphi chọn menu File-New-DLL • Sau tạo tập tin dphidll.dpr với mã sau: SVTH: Lưu Văn Khoa Trang 142 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành library dphidll; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results This applies to all strings passed to and from your DLL even those that are nested in records and classes ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters } uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; {$R *.RES} procedure doevents ; stdcall;export; begin application.ProcessMessages ; end; exports doevents index name 'doevents'; begin end • Cuối chọn menu Project-Build dphidll để Delphi tạo tập tin liên kết động dphidll.dll Sử dụng tập tin liên kết động Sử dụng tập tin liên kết động để viết chng trình đọc liệu đo tần số từ Mach 30 thông qua cổng COM1, lưu trữ tag có tên “h” Từ ta sử dụng tag hiển thị hình, vẽ đồ thị, lập ngưỡng báo động (alarm) thông qua thông điệp hiển thị hình WinCC, thông qua loa máy tính,…và lưu trữ giá trị tần số SVTH: Lưu Văn Khoa Trang 143 Luận Văn Tốt Nghiệp GVHD: Nguyễn Đức Thành sở liệu mà ta truy xuất giá trị thông qua hệ sở liệu ISQL thông qua Excel,Access, Chương trình sau: #pragma code("khdll.dll") //Khai báo gọi hàm thư viện DLL, tập tin WORD khinp(WORD x);// kh.dll lưu thư mục hệ thống WORD khoutp(WORD x,WORD y);//Windows: System, Windows, #pragma code() //System32 #pragma code("dphidll.dll") void doevents(void); #pragma code() #define PORT1 0x3F8 // địa cổng COM1 unsigned short i=0,j=0,l,fcs,t; // khai báo biến char truyen[25]; char nhan[25]; char ta[25]; char tam,tam1; char thu[25]; strcpy(truyen,"\x02H01 ?00 "); // löu frame truyền vào biến truyen SetTagChar("a",truyen); // lưu frame truyền vào tag có tên: a l=strlen(truyen); // chiều dài frame truyền fcs=0x55; // giá trị khởi đầu checksum for(j=0;j>4); //lấy bit cao chuyển sang mã ASCII truyen[j]=((t