Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
4,54 MB
Nội dung
NGUYỄN THÀNH NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Nguyễn Thành Nam ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA NGHIÊN CỨU CẢI TIẾN HỆ THỐNG THU THẬP VÀ GIÁM SÁT DỮ LIỆU TỪ MỎ DẦU LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA CH2012B Vũng Tàu – 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Nguyễn Thành Nam NGHIÊN CỨU CẢI TIẾN HỆ THỐNG THU THẬP VÀ GIÁM SÁT DỮ LIỆU TỪ MỎ DẦU Chuyên ngành : Điều khiển Tự động hóa (KT) LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HĨA NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Hồng Nam Vũng Tàu - 2014 LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu” cơng trình nghiên cứu khoa học thân, đúc kết từ trình học tập nghiên cứu suốt thời gian qua Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Vũng Tàu, tháng 05 năm 2014 Học viên Nguyễn Thành Nam LỜI CẢM ƠN Trước hết em xin gửi tới TS Nguyễn Hoàng Nam lời cảm ơn chân thành lòng biết ơn sâu sắc! Thầy trực tiếp hướng dẫn, bảo tận tình suốt trình em làm luận văn Em xin chân thành cảm ơn Ban Tự Động Hóa – Xí Nghiệp Khai Thác Dầu khí – Liên Danh Việt Nga VietsovPetro tạo điều kiện, trang thiết bị cho em trình làm luận văn Em xin chân thành cảm ơn thầy cô giáo Trường Đại học Bách Khoa Hà Nội hết lòng dạy bảo, giúp đỡ em năm theo học Cao học trường, giúp em có kiến thức kinh nghiệm quý báu chuyên môn sống Những hành trang tài sản vơ giá nâng bước cho em tới với thành công tương lai Cuối cùng, em xin cảm ơn người thân gia đình bạn bè giúp đỡ, động viên em hồn thành khóa học Vũng Tàu, tháng 05 năm 2014 Học viên Nguyễn Thành Nam TÓM TẮT NỘI DUNG LUẬN VĂN Luận văn tập trung nghiên cứu cải tiến hệ thống thu thập giám sát liệu công nghệ từ mỏ dầu bờ (Data Acquisition and Management System) Luận văn nêu ưu điểm, nhược điểm giải pháp cải tiến so sánh với hệ thống truyền số liệu truyền thống khác Luận văn đưa mơ hình hệ thống với thành phần thiết bị cấu hình Trên sở thiết kế chi tiết cho hệ thống , lên cấu hình, thực thi thiết kế giao diện người máy Trong phần kết thu được, luận văn trình bày giao diện giám sát bao gồm báo cáo (daily report), mơ hình thực tế triển khai bao gồm đầy đủ chức từ đánh giá tính ổn định cần thiết hệ thống, ngồi hệ thống cịn phát triển thêm nhiều tính tương lai cách linh hoạt MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN TÓM TẮT NỘI DUNG LUẬN VĂN DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC BẢNG DANH MỤC HÌNH VẼ MỞ ĐẦU Chương THỰC TRẠNG CÁC HỆ THỐNG THU THẬP VÀ GIÁM SÁT DỮ LIỆU TỪ MỎ DẦU 1.1 Tổng quan hệ thống truyền số liệu mỏ dầu 1.2 Hệ thống truyền số liệu sử dụng PLC kết hợp hệ thống HC24-SR500 1.2.1 Hệ thống truyền số liệu hữu mỏ dầu 1.2.2 Hệ thống truyền số liệu hữu mỏ Rồng 1.2.3 Hiện trạng sở hạ tầng hệ thống thông tin liên lạc 1.3 Hệ thống sử dụng PLC kết hợp đường truyền TCP/IP 1.4 Kết luận Chương THIẾT KẾ CẢI TẠO HỆ THỐNG THU THẬP VÀ GIÁM SÁT DỮ LIỆU TỪ MỎ DẦU [1,2,3,4,5,6,7] 2.1 Hệ thống thu thập giám sát liệu sử dụng giải pháp SCADA kết hợp đường truyền TCP/IP 2.1.1 Nhu cầu thu thập liệu 2.1.2 Giới thiệu giao thức truyền thông OPC hệ thống SCADA 10 2.1.3 Giải pháp thiết kế chi tiết 10 2.1.4 Đánh giá ưu nhược điểm giải pháp thiết kế 12 2.2 Cấu hình phần cứng hệ thống 13 2.2.1 Máy Server chứa liệu 13 2.2.2 Máy DCI (máy thu thập liệu) 13 2.3 Giao diện phần mềm 14 2.3.1 OLE for Process Control (OPC) 14 2.3.2 Proficy Historian 18 2.4 Cấu hình thực thi hệ thống 20 2.4.1 Các thành phần hệ thống bước thực 20 2.4.2 Cấu hình Historian Server 23 2.4.3 Cấu hình OPC Collector iFix Collector 33 2.4.4 Cấu hình Server to Server Collector 38 2.5 Thiết kế, lập trình giao diện người máy (HMI) 44 2.5.1 Thanh điều hướng, overview hệ thống 44 2.5.2 Các trang giám sát hệ thống công nghệ 45 2.5.3 Historical Trend 46 2.5.4 Report 47 Chương KẾT QUẢ ĐẠT ĐƯỢC 51 3.1 Giao diện giám sát người máy – iFix Webspace 51 3.2 Hệ thống thiết bị 54 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO PHỤ LỤC DANH MỤC CÁC TỪ VIẾT TẮT Kí hiệu viết tắt Viết đầy đủ Ý nghĩa DAMS Data Acquisition and Hệ thống thu thập giám sát Management System liệu Manufacturing Execution Hệ thống điều hành sản xuất MES System PLC Programmable Logic Bộ điều khiển khả trình Controller DCI Data Collection Interface Giao diện thu thập liệu DCU Data Collection Unit Điểm thu thập liệu SCADA Supervisory Control And Hệ thống điều khiển giám sát thu Data Acquisition thập liệu HMI Human Machine Interface Giao diện người - máy PCS Process Control System Hệ thống điều khiển trình ESD Emergency Shutdown Hệ thống tắt khẩn cấp System F&G Fire and Gas System Hệ thống báo cháy báo khí DCS Distributed Control System Hệ thống điều khiển trình API Application Programming Giao diện lập trình ứng dụng Interface SDK Software Development Kit CNTT&LL VBA Bộ phát triển phần mềm Công nghệ thông tin liên lạc Visual Basic for Ngôn ngữ VB cho ứng dụng Application VBS Visual Basic Script Tập lệnh VB ADO Active X Data Objects Thư viện ADO DAO Data Access Objects Thư viện DAO SQL Structured Query Ngôn ngữ truy vấn mang tính cấu Language trúc DB Database Cơ sở liệu Portal Proficy Real-Time Ứng dụng sở Web hãng GE Information Portal CPP-2 Central Process Platform Giàn công nghệ trung tâm OPC OLE for Process Control OLE for Process Control OLE Object Linking and Object Linking and Embedding Embedding ES Engineering Station Trạm kỹ thuật OS Operation Station Trạm vận hành TCP/IP Transmission Control Transmission Control Protocol/ Protocol/ Internet Protocol Internet Protocol DANH MỤC BẢNG Bảng Nội dung Trang Băng thông cho kết nối từ máy DCI tới Historian Data Server Băng thông cho kết nối máy Historian Data Server Dung lượng lưu trữ DANH MỤC HÌNH VẼ Hình Nội dung Trang Hệ thống sử dụng PLC kết hợp đường truyền RS232 Wireless Broadband - Mỏ Rồng Wireless Broadband - Mỏ Bạch Hổ Hệ thống sử dụng PLC kết hợp đường truyền TCP/IP Hệ thống sử dụng SCADA kết hợp với đường truyền TCP/IP 11 Heterogeneous Computing Environment 15 OPC client 15 Mối quan hệ OPC client – server 16 Mối quan hệ Group/Item 16 10 Giao diện giao tiếp OPC Client Server 18 11 Hệ thống Historian tiêu chuẩn 20 12 API 21 Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu 3.2 Hệ thống thiết bị Máy DCI Trên giàn máy DCI vừa có nhiệm vụ thu thập lưu trữ liệu từ hệ thống công nghệ, vừa có nhiệm vụ chuyển tiếp liệu tới Historian Server – CPP2HIS giàn trung tâm Ngoài máy cài đặt iFIX HMI-SCADA để hiển thị số liệu giàn có liên quan (dữ liệu Historical từ máy Historian Server - CPP2HIS) Vị trí máy đặt gần với máy SCADA cơng nghệ để người giám sát vận hành theo dõi số liệu giàn có liên quan Các máy phải cấp nguồn từ nguồn UPS giàn để tránh cố đảm bảo tính ổn định liệu Hình 55 Máy DCI giàn 54 Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu Máy Historian Server – CPP2HIS Đây máy Data Server có nhiệm vụ tập hợp tất số liệu giàn để lưu trữ truyền máy Data Server bờ Máy đặt Telecommunication Room giàn công nghệ trung tâm CPP2 Được quản lý trung tâm CNTT Vietsovpetro Máy Historian Server – ONSHORE Máy Data Server nhận liệu từ máy Data Server CPP2HIS lưu trữ đây, máy bao gồm ứng dụng iFIX Webspace – ứng dụng Web Sau cài đặt cấu hình, tồn trang picture iFIX người dùng truy cập thơng qua trình duyệt Hình 56 Máy Server trung tâm CNTT 55 Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu KẾT LUẬN Trong khoảng thời gian có hạn, luận văn giải vấn đề sau : Nghiên cứu thực trạng hệ thống truyền số liệu từ mỏ dầu đất liền theo phương thức truyền số liệu truyền thống Phân tích làm rõ ưu điểm vượt trội hệ thống truyền số liệu sử dụng SCADA kết hợp với đường truyền TCP/IP so với hệ thống truyền số liệu hữu Nghiên cứu thiết kế mô hình cho hệ thống truyền số liệu từ mỏ dầu đất liền Xây dựng sở liệu (database) cho hệ thống, xây dựng giao diện SCADA để triển khai cài đặt cấu hình thực nghiệm Bước đầu thử nghiệm giao diện, sở liệu phần truyền thông cho thấy hệ thống chạy tính thiết kế Trên sở hệ thống vừa xây dựng được, ta mở rộng chức cho hệ thống : Liên kết với nhiều sở liệu SQL, Access, Excel … Giúp quản lý nhiều liệu với kho lưu trữ chung Là sở liệu cho ứng dụng phân tích, tính tốn, báo cáo, lên kế hoạch sản xuất, bảo dưỡng Historian Analysis, Plant Applications, MAXIMO Là sở liệu cho ứng dụng hệ thống ERP Kết nối với hệ thống quản lý lưu trữ liệu nhiều hãng OSIsoft, P2 … Đề tài hội đồng tạp chí khoa học công nghệ trường đại học kỹ thuật thơng qua đăng tạp chí (Journal of Science & Technology 101 (2014) 092-095) với tựa đề : Realizing Data Acquisition and Management System for Oil Fields - Nguyen Thanh Nam, Nguyen Hoang Nam, Bui Dang Thanh - Hanoi University of Science and Technology, Vietsovpetro 56 Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh: [1.] Mollah Int., Islamic C., Islam S “Towards IEEE 802.22 based SCADA system for future distributed system,” International Conference on Informatics Electronics & Vision (ICIEV), pp1075-1080 18-19 May, 2012, Dhaka, Bangladesk [2.] Di C., “Oil-Field Services Data Acquisition System - A Globally Distributed Development,” IEEE International Computer Software and Applications Conference, 28 Jul., 2008, USA [3.] Wenyan W., Jinliang G., Yixing Y., “Water distribution network real-time simulation based on SCADA system using OPC communication,” IEEE International Conference on networking, Sensing and Control (ICNSC), pp329-334, 11-13 Apr., 2011, Delft, Netherlands [4.] Wang C., Fang L., Dai Y “A Simulation Environment for SCADA Security Analysis and Assessment,” International Conference on Measuring Technology and Mechatronics Automation (ICMTMA), pp342-347, 13-14 Mar., 2010, Changsha, China [5.] Lakshmi A., Sangeetha B., Naveenkumar A., Ganesh B “Experimental validation of PID based cascade control system through SCADAPLC-OPC interface,” International Conference on Computer Communication and Informatics (ICCCI), pp1-4, 10-12 Jan., 2012, Coimbatore, India [6.] Proficy HMI/SCADA iFIX Fundamentals (GFS – 154B Vol of 2) – Developed by GE Fanuc Automation [7.] Proficy Historian Development (GFS – 345A) – Developed by GE Fanuc Automation, February 2005 57 Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu PHỤ LỤC DCI Report cho tàu dầu sử dụng VB Script Public SourceDB As String Public COUNT As Integer value(5) = READVALUE("EXP1_BATCH_NET1.F_C V") Public ReportFilePath As String value(6) = Public DesTankDataFilePath As String Public SourceTankDataFilePath As String Public TankDataLastDate As String READVALUE("EXP1_BATCH_NET2.F_C V") value(7) = READVALUE("EXP1_BATCH_NET3.F_C V") Public Sub WriteReportData() value(8) = On Error Resume Next READVALUE("EXP1_BATCH_NET_STAT Dim strSQL As String ION.F_CV") Dim Rs As DAO.Recordset Dim db As Database value(9) = READVALUE("EXP2_BATCH_TOTAL1.F _CV") Set db = OpenDatabase(ReportFilePath) value(10) = Dim value(23) As String value(1) = READVALUE("EXP1_BATCH_TOTAL1.F _CV") value(2) = READVALUE("EXP1_BATCH_TOTAL2.F _CV") value(3) = READVALUE("EXP1_BATCH_TOTAL3.F _CV") value(4) = READVALUE("EXP1_BATCH_GROSS_S TATION.F_CV") READVALUE("EXP2_BATCH_TOTAL2.F _CV") value(11) = READVALUE("EXP2_BATCH_TOTAL3.F _CV") value(12) = READVALUE("EXP2_BATCH_GROSS_S TATION.F_CV") value(13) = READVALUE("EXP2_BATCH_NET1.F_C V") value(14) = READVALUE("EXP2_BATCH_NET2.F_C V") Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu value(15) = READVALUE("EXP2_BATCH_NET3.F_C V") value(16) = READVALUE("EXP2_BATCH_NET_STAT ION.F_CV") value(17) = READVALUE("EXP_START_DATE.A_CV strSQL = strSQL & ", data5 =" & "'" & value(5) & "'" strSQL = strSQL & ", data6 =" & "'" & value(6) & "'" strSQL = strSQL & ", data7 =" & "'" & value(7) & "'" strSQL = strSQL & ", data8 =" & "'" & value(8) & "'" ") strSQL = strSQL & ", data9 =" & "'" & value(18) = value(9) & "'" READVALUE("EXP_START_TIME.A_CV" ) strSQL = strSQL & ", data10 =" & "'" & value(10) & "'" value(19) = READVALUE("EXP_STOP_DATE.A_CV" ) value(20) = READVALUE("EXP_STOP_TIME.A_CV") 'value(21) = "" strSQL = strSQL & ", data11 =" & "'" & value(11) & "'" strSQL = strSQL & ", data12 =" & "'" & value(12) & "'" strSQL = strSQL & ", data13 =" & "'" & value(13) & "'" 'value(22) = READVALUE("EXP_NET_VOLUME.A_C V") 'value(23) = "" strSQL = strSQL & ", data14 =" & "'" & value(14) & "'" strSQL = strSQL & ", data15 =" & "'" & value(15) & "'" strSQL = "" strSQL = strSQL & ", data16 =" & "'" & strSQL = strSQL & "UPDATE Data SET value(16) & "'" data1 =" & "'" & value(1) & "'" strSQL = strSQL & ", data17 =" & "'" & strSQL = strSQL & ", data2 =" & "'" & value(17) & "'" value(2) & "'" strSQL = strSQL & ", data18 =" & "'" & strSQL = strSQL & ", data3 =" & "'" & value(18) & "'" value(3) & "'" strSQL = strSQL & ", data19 =" & "'" & strSQL = strSQL & ", data4 =" & "'" & value(19) & "'" value(4) & "'" strSQL = strSQL & ", data20 =" & "'" & value(20) & "'" Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu strSQL = strSQL & ", data21 =" & "'" & value(21) & "'" 'strSQL = strSQL & ", data22 =" & "'" & value(22) & "'" 'strSQL = strSQL & ", data23 =" & "'" & value(23) & "'" Fix32.THISNODE.CA_EXP1_REP_BATCH_NET = CStr(Rs!data5) Fix32.THISNODE.CA_EXP1_REP_BATCH_NET = CStr(Rs!data6) Fix32.THISNODE.CA_EXP1_REP_BATCH_NET = CStr(Rs!data7) Fix32.THISNODE.CA_EXP1_REP_BATCH_NET strSQL = strSQL & " WHERE ID = " db.Execute (strSQL) _STATION = CStr(Rs!data8) Fix32.THISNODE.CA_EXP2_REP_BATCH_GR OS1 = CStr(Rs!data9) db.Close Fix32.THISNODE.CA_EXP2_REP_BATCH_GR Set db = Nothing COUNT = End Sub -Public Sub ReadReportData() On Error Resume Next OS2 = CStr(Rs!data10) Fix32.THISNODE.CA_EXP2_REP_BATCH_GR OS3 = CStr(Rs!data11) Fix32.THISNODE.CA_EXP2_REP_BATCH_GR OS_STATION = CStr(Rs!data12) Fix32.THISNODE.CA_EXP2_REP_BATCH_NET = CStr(Rs!data13) Dim Rs As DAO.Recordset Fix32.THISNODE.CA_EXP2_REP_BATCH_NET Dim db As Database Set db = OpenDatabase(ReportFilePath) Set Rs = db.OpenRecordset("SELECT * FROM Data") Fix32.THISNODE.CA_EXP1_REP_BATCH_GR OS1 = CStr(Rs!Data1) Fix32.THISNODE.CA_EXP1_REP_BATCH_GR OS2 = CStr(Rs!Data2) Fix32.THISNODE.CA_EXP1_REP_BATCH_GR OS3 = CStr(Rs!Data3) Fix32.THISNODE.CA_EXP1_REP_BATCH_GR OS_STATION = CStr(Rs!Data4) = CStr(Rs!data14) Fix32.THISNODE.CA_EXP2_REP_BATCH_NET = CStr(Rs!data15) Fix32.THISNODE.CA_EXP2_REP_BATCH_NET _STATION = CStr(Rs!data16) Fix32.THISNODE.CA_EXP_START_DATE = Rs!data17 Fix32.THISNODE.CA_EXP_START_TIME = Rs!data18 Fix32.THISNODE.CA_EXP_STOP_DATE = Rs!data19 Fix32.THISNODE.CA_EXP_STOP_TIME = Rs!data20 Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu 'Fix32.THISNODE.CA_TANK_DATA_UPDATE = Rs!data21 'Fix32.THISNODE.CA_EXP_NET_VOLUME = -Sub WriteTankDataLastModified() On Error Resume Next CStr(Rs!data22) Dim strSQL As String 'Fix32.THISNODE.CA_EXP1_BBL_TOT1 = CStr(Rs!data23) db.Close Set db = Nothing End Sub -Sub UpdateStartDateTime() On Error Resume Next Dim Rs As DAO.Recordset Dim db As Database Dim value As String value = TankDataLastDate Set db = OpenDatabase(ReportFilePath) strSQL = "" strSQL = strSQL & "UPDATE Data SET data21 =" & "'" & value & "'" Dim strSQL As String strSQL = strSQL & " WHERE ID = " Dim Rs As DAO.Recordset db.Execute (strSQL) Dim db As Database db.Close Set db = OpenDatabase(ReportFilePath) Set db = Nothing Dim value(2) As String End Sub value(1) = Date -value(2) = TIME Sub ReadTankData() strSQL = "" 'On Error Resume Next strSQL = strSQL & "UPDATE Data SET data17 =" & "'" & value(1) & "'" strSQL = strSQL & ", data18 =" & "'" & value(2) & "'" Dim i As Integer Dim Ull(14) As Single Dim Vol(14) As Single strSQL = strSQL & " WHERE ID = " Dim strSQL As String db.Execute (strSQL) Dim Rs As DAO.Recordset db.Close Dim db As Database Set db = Nothing Set db = End Sub OpenDatabase(DesTankDataFilePath) Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu Set Rs = db.OpenRecordset("SELECT * FROM RPT_UR") Rs.MoveFirst For i = To 14 Ull(i) = Rs!Ullage Fix32.THISNODE.TNK_L_C5C = Ull(12) / 100 Fix32.THISNODE.TNK_L_C5P = Ull(13) / 100 Fix32.THISNODE.TNK_L_C5S = Ull(14) / 100 Vol(i) = Rs!CBM Rs.MoveNext Fix32.THISNODE.TNK_V_C1P = Vol(1) Next Fix32.THISNODE.TNK_V_C1C = Vol(2) Fix32.THISNODE.TNK_L_C1P = Ull(1) / 100 Fix32.THISNODE.TNK_L_C1C = Ull(2) / 100 Fix32.THISNODE.TNK_L_C1S = Ull(3) / 100 Fix32.THISNODE.TNK_L_C2P = Ull(4) / Fix32.THISNODE.TNK_V_C1S = Vol(3) Fix32.THISNODE.TNK_V_C2P = Vol(4) Fix32.THISNODE.TNK_V_C2C = Vol(5) Fix32.THISNODE.TNK_V_C2S = Vol(6) Fix32.THISNODE.TNK_V_C3P = Vol(7) Fix32.THISNODE.TNK_V_C3S = Vol(8) 100 Fix32.THISNODE.TNK_V_C4P = Vol(9) Fix32.THISNODE.TNK_L_C2C = Ull(5) / 100 Fix32.THISNODE.TNK_L_C2S = Ull(6) / 100 Fix32.THISNODE.TNK_L_C3P = Ull(7) / 100 Fix32.THISNODE.TNK_V_C4C = Vol(10) Fix32.THISNODE.TNK_V_C4S = Vol(11) Fix32.THISNODE.TNK_V_C5C = Vol(12) Fix32.THISNODE.TNK_V_C5P = Vol(13) Fix32.THISNODE.TNK_V_C5S = Vol(14) Fix32.THISNODE.TNK_L_C3S = Ull(8) / 100 Set Rs = db.OpenRecordset("SELECT * Fix32.THISNODE.TNK_L_C4P = Ull(9) / FROM UllMa") 100 Fix32.CA_TANK_DATA_UPDATE.A_CV = Fix32.THISNODE.TNK_L_C4C = Ull(10) / Rs!PrintTime 100 Fix32.THISNODE.TNK_L_C4S = Ull(11) / 100 db.Close Set db = Nothing Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu End -Summary Report sử dụng VB Script Private Sub CFixPicture_Initialize() User.CurPic = Me.Name CommandText = "SELECT value,timestamp FROM IHRAWDATA WHERE TAGNAME LIKE CHILINH_DCI.IN_DIP_GTOT and Dim time(13) As String intervalmilliseconds=7200000 and Dim data(13) As Single Dim delta(12) As Single calculationmode=maximum" CommandType = adCmdText Dim i As Integer Dim ihConnectString As String Dim ihRecordSet timestamp>=yesterday and As ADODB.Recordset Dim ihConnection As ADODB.Connection Dim ihParameter As ADODB.Parameter Dim ihCommand As ADODB.Command ihConnectString = "Provider=ihOLEDB.iHistorian.1;User Id=;Password=" Set ihConnection = Parameters.Refresh End With Set ihRecordSet = ihCommand.Execute ihRecordSet.MoveLast data(1) = Round(ihRecordSet!Value, 1) time(1) = ihRecordSet!timestamp ihRecordSet.MovePrevious i=2 Do While i < 14 CreateObject("ADODB.Connection") data(i) = Round(ihRecordSet!Value, 1) Set ihRecordSet = CreateObject("ADODB.Recordset") Set ihCommand = CreateObject("ADODB.Command") ihConnection.ConnectionString = ihConnectString ihConnection.Open With ihCommand ActiveConnection = ihConnection time(i) = ihRecordSet!timestamp delta(i - 1) = Round(data(i - 1) - data(i), 1) i=i+1 ihRecordSet.MovePrevious Loop ihRecordSet.Close time1.Caption = time(1) time2.Caption = time(2) Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu time3.Caption = time(3) time4.Caption = time(4) If delta(4) >= Then time5.Caption = time(5) chilinh4.Caption = delta(4) time6.Caption = time(6) Else time7.Caption = time(7) chilinh4.Caption = data(4) time8.Caption = time(8) End If time9.Caption = time(9) time10.Caption = time(10) If delta(5) >= Then time11.Caption = time(11) chilinh5.Caption = delta(5) time12.Caption = time(12) Else chilinh5.Caption = data(5) If delta(1) >= Then End If chilinh1.Caption = delta(1) Else If delta(6) >= Then chilinh1.Caption = data(1) chilinh6.Caption = delta(6) End If Else chilinh6.Caption = data(6) If delta(2) >= Then End If chilinh2.Caption = delta(2) Else If delta(7) >= Then chilinh2.Caption = data(2) chilinh7.Caption = delta(7) End If Else chilinh7.Caption = data(7) If delta(3) >= Then End If chilinh3.Caption = delta(3) Else If delta(8) >= Then chilinh3.Caption = data(3) chilinh8.Caption = delta(8) End If Else Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu chilinh8.Caption = data(8) End If If delta(11) >= Then chilinh11.Caption = delta(11) If delta(9) >= Then Else chilinh9.Caption = delta(9) chilinh11.Caption = data(11) Else End If chilinh9.Caption = data(9) End If If delta(12) >= Then chilinh12.Caption = delta(12) If delta(10) >= Then Else chilinh10.Caption = delta(10) chilinh12.Caption = data(12) Else End If chilinh10.Caption = data(10) End If End Sub -Daily Report sử dụng VB Script Khai báo Option Explicit Global xlApp As Excel.Application Public Declare Function PostMessage Lib "user32" _ (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Global xlsbook As Excel.Workbook Public Const Folder_Name_1 As String = Global xlSheet As Excel.Worksheet Global xlDesSheet As Excel.Worksheet Public Const FileName As String = "D:\SCADA\Report.xlsx" Public Const WM_CLOSE = &H10 "D:\SCADA\DATA" Public Const Folder_Name_0 As String = "D:\SCADA" Public FullFileName As String -Private Sub ExportData() Nghiên cứu cải tiến hệ thống thu thập giám sát liệu từ mỏ dầu Dim data() As String CommandText = "SELECT TAGNAME, Dim timestp() As Date VALUE, TIMESTAMP FROM IHRAWDATA WHERE TAGNAME LIKE 'FQI8501.F_CV' AND Dim tag_name() As String timestamp >= now-25h AND timestamp