智慧型水塔研究

Similar documents
Visual Basic D 3D

Microsoft PowerPoint - VB14.ppt

投影片 1

投影片 1

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

投稿類別:資訊類

CHAPTER VC#

中華民國 第49屆中小學科學展覽會

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5

ActiveX Control

陳韻如 陳榮霖:陣列控制項技術之研究與應用.doc

untitled

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc)

TC35短信发送程序设计

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

Microsoft PowerPoint - 第14章.ppt

多層次傳銷與獎金系統

邏輯分析儀的概念與原理-展示版

untitled

untitled

Chroma 61500/ bit / RMS RMS VA ()61500 DSP THD /61508/61507/61609/61608/ (61500 ) Chroma STEP PULSE : LISTLIST 100 AC DC

untitled

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

行业

行业

IsPostBack 2

行业

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

Chapter 16 集合

行业

VioCard-300 user manual

epub83-1

Microsoft Word - 小心翼翼的二十一點N.doc

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i

SVS26CS Sensors Module User Guide Rev. 1.0 Aug Copyright 2018 Sivann Inc., All Rights Reserved.

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

行业

PowerPoint Presentation

untitled

Microsoft PowerPoint - OPVB1基本VB.ppt

_NT K_SC_A5_ _print.pdf

RUN_PC連載_10_.doc

行业

全汉不间断电源 全汉集团始于 1993 Began in 1993 UPS

solutions guide

untitled

行业

Microsoft Word - InoTouch Editor编程软件手册 doc

Oracle高级复制配置手册_业务广告_.doc

B 6 A A N A S A +V B B B +V 2


(Microsoft Word - wes _\246p\246\363\250\317\245\316watchdog\250\276\244\356\265{\246\241\267\355\276\367.doc)

untitled

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

Visual Basic AD/DA Visual Basic 2

<4D F736F F D20C0B3A5CEB57BA6A1B35DAD70B4C1A5BDB3F8A7692E646F63>

基于ECO的UML模型驱动的数据库应用开发1.doc

GH1220 Hall Switch

MATLAB 1

MT5V4Borchure.cdr

ICD ICD ICD ICD ICD

untitled

行业

内 容 项 页 码 介 绍....2 警 告...2 禁 区 图 表 物 理 描 述 高 压 脉 冲 发 生 器 / 管 头 底 座 控 制 模 块 电 池 组 电 池 充 电 器. 7 电 缆 连 接 器 图

r_09hr_practical_guide_kor.pdf

新 闻 学 46 7 新 闻 传 播 学 院 广 告 学 28 4 广 播 电 视 学 23 3 新 闻 学 广 告 学 ). 级 学 生 申 请 准 入 需 修 完 或 正 在 修 2 门 专 业 准 入 课 程 并 取 得 相 应 学 分 ;2). 级 学 生 申 请 准 入 需

行业

a b c d e f g C2 C1 2

投影片 1

第三篇 第 10 章 - 管理者登入第 11 章 - 更改網路商店 Logo 第 12 章 - 系統設定第 13 章 - 商品上架第 14 章 - 付款方式設定第 15 章 - 出貨方式設定第 16 章 - 特價商品 oscommerce 103

專業式報告

第一章

G99T Dimensions of signal translator ± R ± Pin assignment of signal translator D-sub 9 pin definition

技 术 支 持 电 话 传 真 电 子 邮 件 网 址 CONVERGE PRO 880/880T/840T/8i, CON

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

BC04 Module_antenna__ doc

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual

発表の概要

84

計算機程式及實習 期末報告ppt製作 題目:南台黑心早餐店結帳系統

<B0B8C0FDCAD6B2E15FD3A1CBA2B0E6>

Manual Pulse Generator Catalogue

Unidrive M400 PLC 0.25 kw kw (0.33 hp hp) 100 V 200 V 400 V 575 V 690 V

PROFIBUS3.doc

2001/07/13 DST4600A DST4600A

SeTAQ 是 山 东 西 泰 克 仪 器 有 限 公 司 的 注 册 商 标 本 说 明 书 未 经 书 面 许 可 不 得 翻 印 修 改 或 引 用 警 告 : 请 专 业 人 员 检 测 和 维 修 本 设 备! 警 告 : 本 仪 表 使 用 24V 直 流 电 源, 请 务 必 正 确

untitled

1

52C

The golden pins of the PCI card can be oxidized after months or years

生 醫 光 電 已 成 為 重 要 的 產 業 亮 點 生 醫 光 電 已 成 為 重 要 的 產 業 亮 點 文 / 台 北 市 生 物 技 術 服 務 商 業 同 業 公 會 台 北 市 生 物 技 術 服 務 商 業 同 業 公 會 於 2004 年 成 立, 是 依 法 設 置 的 非 營

T

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

穨ac3-4.PDF

2005.book

Transcription:

投稿類別 : 資訊類 篇名 : 作者 : 劉家豪 高雄市立高雄高級工業職業學校 資訊三乙 何國誌 高雄市立高雄高級工業職業學校 資訊三乙 指導老師 : 莊利吉老師

壹 前言 前言部分有三個小節, 依序是研究動機 研究目的與研究方法 其中研究方法又分研究 步驟與研究工具 一 研究動機 在我們一般所使用的水塔中的水, 有時候會因為一時的疏忽而造成漏水, 讓這個月的水 費爆增, 浪費了許多的水資源及錢, 有鑑於此我們使用乙太網路資料擷取器結合電路及電腦 程式開發了一套符合大眾使用的智慧型水塔, 來避免發生上述這種情況 二 研究目的 1. 設計可連結網路的智慧型水塔以便觀測水位 2. 當用水有異常大量消耗時可簡訊通知管理人員 3. 可根據使用環境自行設定警戒參數 三 研究方法 ( 一 ) 研究步驟 1. 電路設計 : 水位偵測電路的設計 製做與測試 2. 網路資料擷取器測試 :ADAM-6502 的使用測試 3. 程式設計 : 設計可將水位訊號由 ADAM-6502 讀入的程式 4. 系統測試 : 測試系統是否能根據設定的參數發出警示的簡訊 ( 二 ) 研究工具 1. 硬體 : 水位偵測電路 個人電腦 乙太網路資料擷取器 (ADVANTECH ADAM-6502 ) 2. 軟體 :Visual Studio 2008 Professional ADAM-6502.Net Class Library 貳 正文 一 水位偵測電路的設計 本系統中的水位偵測電路架構如圖 1, 有三個輸入 H M L, 三個輸出 W H W M W L 從架構圖中可看出將水塔水位區分成低中高三檔, 當水位到達低水位時 L 輸入為 5V( 邏輯 1) 中水位時 L 與 M 為 5V( 邏輯 1), 高水位時三者皆為 1 W H W M W L 是高中低水位指示燈, 當水位到達時指示燈就會亮 根據上述功能設計的真值表如圖 2, 三個輸出的卡諾圖及化簡 1

後的布林函數如圖 3 ~ 圖 5, 電路圖請參閱 " 四 研究結果 " 處 圖 1 水位偵測電路架構 圖 2 水位偵測電路真值表 圖 3 高水位輸出布林函數圖 4 中水位輸出的布林函數圖 5 低水位輸出的布林函數 二 乙太網路資料擷取器的測試 研華 (Advantech) 的 ADAM-6052 是一個具有 16-ch Source-type Isolated Digital I/O Modbus TCP Module 的網路資料擷取器, 外觀如圖 6, 詳細規格如下表 1 表 1 Advantech ADAM-6052 規格 Digital Input Channels 8 Dry Contact Logic level 0: close to GND,Logic level 1: open Wet Contact Logic level 0 : 0 ~ 3 VDC,Logic level 1 : 10 ~ 30 VDC Supports 3 khz Counter Input(32-bit + 1-bit overflow) Keep/Discard Counter Value when Power-off Supports 3 khz Frequency Input Supports Inverted DI Status Digital Output Channels 8 (Source Type) Voltage Range 10 ~ 35 VDC Current 1 A (per channel) Supports 5 khz Pulse Output Supports High-to-Low and Low-to-High Delay Output Supports Over Current Protection Ethernet: Wired: 10/100 Base-T 透過 ADAM-6052 就可輕易建構一個可利用網路進行遠端設備監控的系統, 例如圖 7 就是利 用此系列設備所構成的系統 2

圖 6 ADAM6052 圖 7 ADAM-60XX 所構成的網路監控系統 另外, 研華 (Advantech) 的 ADAM-6052 還提供 Adam.NET Class Library For Visual Studio.NET 2003, 所以要使用 VB 2008 來設計遠端監控程式就非常簡單 下面是利用此程式庫所設計的一個 全加器監控程式, 圖 8 是監控電路圖 圖 9 是監控程式執行畫面 表 2 是原始程式 D O[ 0] X D O[ 1] Y S D I[0] D O[ 2] Z C D I[1] 圖 8 全加器的監控電路圖 圖 9 全加器的監控程式執行畫面 3

表 2 全加器的監控的原始程式 Imports System.Net.Sockets Imports Advantech.Adam Public Class Form1 Private adammodbus As New AdamSocket Private m_adam6000type As Adam6000Type Private Sub SetFAInput() If XLow.Checked Then adammodbus.modbus().forcesinglecoil(17, 0) If XHigh.Checked Then adammodbus.modbus().forcesinglecoil(17, 1) If YLow.Checked Then adammodbus.modbus().forcesinglecoil(18, 0) If YHigh.Checked Then adammodbus.modbus().forcesinglecoil(18, 1) If ZLow.Checked Then adammodbus.modbus().forcesinglecoil(19, 0) If ZHigh.Checked Then adammodbus.modbus().forcesinglecoil(19, 1) Private Sub ReadFAOutput() Dim bdidata(1) As Boolean If adammodbus.modbus().readcoilstatus(1, 2, bdidata) Then 'When the FA output is low, the DI(i) connects to GND. In the Dry Contact Wiring the bdidata(i) will be true. If bdidata(0) = True Then SLow.Checked = True SHigh.Checked = True If bdidata(1) = True Then CLow.Checked = True CHigh.Checked = True MessageBox.Show("Read Digital Input Error") Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load adammodbus.settimeout(1000, 1000, 1000) ' set timeout for TCP m_adam6000type = Adam6000Type.Adam6052 XLow.Checked = True : YLow.Checked = True : ZLow.Checked = True btnconnect.enabled = True : btndisconnect.enabled = False Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If adammodbus.connected Then adammodbus.disconnect() Private Sub XLow_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles XLow.Click, XHigh.Click, YLow.Click, YHigh.Click, ZLow.Click, ZHigh.Click SetFAInput() ReadFAOutput() 4

Private Sub btnconnect_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnconnect.click 'Connect to ADAM 6052 'txtip.text: "192.168.2.203", modbus slave IP address 'txtmodbusport.text:"502", modbus TCP port is 502 If adammodbus.connect(txtip.text, ProtocolType.Tcp, Integer.Parse(txtModbusPort.Text)) Then SetFAInput() btnconnect.enabled = False btndisconnect.enabled = True MessageBox.Show("Connect " & txtip.text & " failed") End Class 三 如何發送簡訊 我們是利用台灣簡訊的 API 來發送, 做法是表單中隱藏一個 WebBrowser 物件, 利用如 下指令發送簡訊, 其中 TextBox2 中有管理者的手機號碼, 簡訊內容固定是 " 漏水 " WebBrowser1.Navigate("http://api.twsms.com/send_sms.php?username=lichi&p assword=123456&type=now&encoding=big5&mobile=" & TextBox2.Text & "&message= 漏水 &vldtme=3600") 四 研究結果 ( 一 ) 系統電路圖 圖 10 系統電路圖 ( 二 ) 成果展示 5

設定水位高低來回次數, 當在時間內 達到或超過此值時會發送簡訊提醒 管理者 設定在多少分鐘內的來回次數需要 提醒 輸入管理者手機號碼, 以用來傳送簡 訊 當水位處於高位時 當水位處於中位時 當水位處於低位時 圖 11 操作過程 6

圖 12 手機接收到漏水簡訊 圖 13 實際電路及 ADAM ( 三 ) 原始程式 Imports System.Net.Sockets Imports Advantech.Adam Public Class Form1 Private adammodbus As New AdamSocket Private m_adam6000type As Adam6000Type Dim a, b, c, d As Integer Dim r As Integer = 0 Dim j As Integer = 0 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False adammodbus.settimeout(1000, 1000, 1000) ' set timeout for TCP m_adam6000type = Adam6000Type.Adam6052 Private Sub ReadOutput() Dim bdidata(1) As Boolean If adammodbus.modbus().readcoilstatus(1, 3, bdidata) Then If bdidata(0) = False Then a = 1 : PictureBox1.Image = My.Resources. 高 If bdidata(1) = False Then b = 1 : PictureBox1.Image = My.Resources. 中 c = 1 : PictureBox1.Image = My.Resources. 低 Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick ReadOutput() Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick ReadOutput() If a + c = 2 Then d = d + 1 a = c = 0 7

Private Sub Timer3_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer3.Tick ReadOutput() If d >= j Then RadioButton1.Checked = True : d = 0 WebBrowser1.Navigate("http://api.twsms.com/send_sms.php?username=lichi&password=123456&typ e=now&encoding=big5&mobile=" & TextBox2.Text & "&message= 漏水 &vldtme=3600") Private Sub Button1_Click( ) Handles Button1.Click ' 開始監控水塔 r = TextBox3.Text j = TextBox1.Text Timer1.Interval = 1000 Timer2.Interval = 5000 Timer3.Interval = r * 60000 Timer1.Enabled = True Timer2.Enabled = True Timer3.Enabled = True 'Connect to ADAM 6052 'txtip.text: "192.168.2.203", modbus slave IP address 'txtmodbusport.text:"502", modbus TCP port is 502 If adammodbus.connect(textbox4.text, ProtocolType.Tcp, Integer.Parse(TextBox5.Text)) Then MessageBox.Show("Connect " & TextBox4.Text) MessageBox.Show("Connect " & TextBox4.Text & " failed") End Class 叄 結論 一 問題與討論 ( 一 ) 設計水位偵測電路時的注意事項 我們原本使用 TTL 的 IC 來完成我們的電路, 但是由於電路的電流太小, 所以我們後來 換成使用 CMOS 的 IC 來完成我們的電路就解決了問題 ( 二 ) 本系統優缺點探討 優點 : 水位偵測電路已經有十幾年的歷史了, 但都必須在現場才能得知目前狀況, 有異 常狀況時往往都只是斷電處理, 本研究卻使用 " 物連網 " 觀念, 讓使用者可從遠端得知現場狀 況, 也提供自行設定監控參數及簡訊的及時通知, 使得監控變得更有彈性 也更方便 缺點 : 目前的設計只能針對單一家庭的水塔監控, 似乎有點大材小用, 應該擴大到整棟 大樓或工廠更能發揮效益 另外如果水塔有多隻出水管, 無法得知是哪一路水管有問題 二 未來研究建議 8

1. 增設可調整時段偵測的功能讓使用者可以避開洗澡或洗車那些大用水量的時間減少使用者在非必要時接到我們的錯誤簡訊, 造成使用者的困擾 2. 應該電力系統結合, 在必要時機關閉或開啟電源 3. 加上流量感測器, 讓有多隻出水管的水塔能精準得知是哪一路水管有問題 肆 引註資料 莊利吉 (2011, 9 25) 一般教學網站:Windowe 程式設計 (VB 2008) 擷取自高雄高工莊利吉教學網站 :http://lichi.ksvs.kh.edu.tw/webtextbook.aspx?subjectid=wap01&subjectnam e=windows%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88(vb+2008)&webhomedi rectory=/textbook&directoryfilename=directory.txt 台灣簡訊 (2013) 台灣簡訊 TwSMS API 介面協定說明 4.0 版 研華科技 ADVANTECH(2008) Adam.NET Class Library For Visual Studio.NET 2003 In stallation Guide 9