<nobr id="zkazv"></nobr>

      午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
      首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
      首頁 | 公司簡(jiǎn)介 | 聯(lián)系方式 | 公司動(dòng)態(tài) | 產(chǎn)品 | 供應(yīng) | 應(yīng)用實(shí)例 | 下載 | 文摘 | 誠聘
      基于VB的臺(tái)達(dá)PLC與監(jiān)控計(jì)算機(jī)的串行通信實(shí)現(xiàn)

      中達(dá)電通股份有限公司
      收藏本文     查看收藏
      ----中達(dá)電通上海機(jī)電PLC產(chǎn)品處 王乃全


      Implementation of Serial Communication Between Monitoring Computer and Delta PLC Based on Visual Basic
      Wang Naiquan

      摘要:PLC直接與現(xiàn)場(chǎng)控制層的檢測(cè)儀器儀表設(shè)備連接,是底層控制網(wǎng)絡(luò)的組成部分,是工廠自動(dòng)化系統(tǒng)的基石,因此實(shí)現(xiàn)與監(jiān)控層計(jì)算機(jī)的通信對(duì)系統(tǒng)的優(yōu)化運(yùn)行有重要意義。文章基于VB討論臺(tái)達(dá)DVP PLC與監(jiān)控計(jì)算機(jī)的通信問題。

      關(guān)鍵詞:VB 通信協(xié)議 可編程控制器

      Abstract: The PLC is a composing part of Infranet, it links to the measuring instrument and device in field control layer directly, and is the footstone of factory automation system. Therefore it is very important to realize the communication between PLC and monitoring layer computer for optimization of syste running. The paper discussed the related communication problems between Delta DVP PLC and monitoring computer based on Visual Basic.
      Key Words: Visual Basic Communication protocal Programable logic controller

      [中圖分類號(hào)] TP273 [文獻(xiàn)標(biāo)識(shí)碼] B 文章編號(hào)

      1 引 言
      現(xiàn)場(chǎng)設(shè)備層中的設(shè)備種類繁多,有傳感器、啟動(dòng)器、驅(qū)動(dòng)器、I/O部件、變送器、閥門等等,當(dāng)然也包括現(xiàn)場(chǎng)檢測(cè)儀器儀表設(shè)備。PLC是現(xiàn)場(chǎng)設(shè)備控制層不可缺少的部分,已經(jīng)非常普及,如何簡(jiǎn)便地實(shí)現(xiàn)與PLC的交互已經(jīng)成為眾多廠商新的競(jìng)爭(zhēng)戰(zhàn)場(chǎng)。由此產(chǎn)生了人機(jī)界面等軟件產(chǎn)品,這些產(chǎn)品的出現(xiàn)簡(jiǎn)化了對(duì)PLC的控制、操作,使PLC的應(yīng)用更加方便;但也有其共同的缺點(diǎn),價(jià)格普遍偏高和可二開發(fā)性較差。VB作為“原始”的編程語言在這兩方面無疑有著明顯優(yōu)勢(shì)的,本文結(jié)合一個(gè)簡(jiǎn)單的案例,用比較基礎(chǔ)的概念討論如何通過VB實(shí)現(xiàn)PC與PLC之間的通信問題,這對(duì)剛涉步控制領(lǐng)域的工程師或許是有幫助的。在現(xiàn)場(chǎng)設(shè)備層中各式各樣的設(shè)備都可以和計(jì)算機(jī)聯(lián)機(jī),而最簡(jiǎn)單的自動(dòng)化聯(lián)機(jī)方式就是使用串行通信,VB提供了串行通信控件可以讓開發(fā)者開發(fā)出串行通信的系統(tǒng)程序,以下是對(duì)相關(guān)問題的粗略討論。

      2 串行通信基本概念
      數(shù)據(jù)通訊中有兩種類型的通信形式,即并行通信(Parallel Communication)和串行通信(Serial Communication)。例如,如果有8位數(shù)據(jù)需要傳送,那么并行通信一次就可以完成8位的傳輸量;而串行一次只能傳送1位。圖1表示了兩種不同的通信模式,常用的串行通信也有兩種,分別為RS-232和RS-485。

      按此在新窗口瀏覽圖片

      按此在新窗口瀏覽圖片

      2.1 RS-232 串行通信
      RS-232的信號(hào)準(zhǔn)位是參考地線而言的,如圖2所示。相對(duì)于參考接地端1傳輸端傳送數(shù)據(jù);接收端則相對(duì)于參考接地端2復(fù)現(xiàn)出傳送端的傳送的數(shù)據(jù)。

      按此在新窗口瀏覽圖片
      圖2 RS-232 串行通信示意圖

      由圖2可知,由于兩個(gè)接地端準(zhǔn)位不一定一樣,而且很容易受到干擾,所以信號(hào)在RS-232線路傳輸時(shí),很容易產(chǎn)生錯(cuò)誤。

      2.2 RS-485串行通信
      RS-485的信號(hào)傳輸方式如圖3所示。

      按此在新窗口瀏覽圖片

      RS-485的信號(hào)被傳送出去時(shí)會(huì)分成正負(fù)兩條線路,當(dāng)?shù)竭_(dá)接收端后,在將信號(hào)相減還原成原來的信號(hào);如果將原始的信號(hào)表示成(DT),而被分成的信號(hào)分別標(biāo)示成(D+)及(D-),則DT=(D+)-(D-)。同理,接收端在接收到信號(hào)后,也依據(jù)上式還原成原來的樣子。如果線路受到干擾,兩條線路的信號(hào)分別為(D+)+Noise與(D-)+Noise。接收端還原信號(hào)為(DT)= [(D+)+Noise]-[(D-)+Noise],與先前結(jié)果一樣,所以RS-485可以有效的防止噪聲的干擾。

      3 VB的基本概念
      VB(Visual Basic)是微軟的窗口軟件,提供了很多接口成員,對(duì)象、屬性、事件、方法就是4個(gè)重要的接口,VB提供了許多常用的控件。
      3.1卷標(biāo)控件
      卷標(biāo)控件如圖4(a)所示,該控件專用于顯示文字、數(shù)字用,顯示如圖4(b)所示

      按此在新窗口瀏覽圖片

      3.2 按鈕控件
      按鈕控件如圖5(a)所示,該控件使用率很高,提供一個(gè)供系統(tǒng)用戶操作用的按鈕,如圖5(b)所示。

      按此在新窗口瀏覽圖片

      3.3 定時(shí)器控件
      定時(shí)器控件如圖6所示,該控件的最大作用在固定的時(shí)間內(nèi)可執(zhí)行所設(shè)置的程序代碼一次。


      按此在新窗口瀏覽圖片
      VB提供了大量的控件,在此不再多述。

      4 基于MScomm控件的串行通信
      要完成VB與PLC等設(shè)備的串行通信要用到MScomm控件, 在此有必要對(duì)該控件作較詳細(xì)的說明。Mscomm是一個(gè)非標(biāo)準(zhǔn)控件,需要要手動(dòng)添加許多項(xiàng)目,其步驟如下。
      1) 選擇菜單的【工程】
      2) 選擇【部件】
      3) 在彈出的對(duì)話框中做如圖7的選擇。

      按此在新窗口瀏覽圖片
      圖7 對(duì)話框界面


      4)如圖8所示,在部件選項(xiàng)卡就會(huì)出現(xiàn)MScomm控件。

      按此在新窗口瀏覽圖片
      圖8 MScomm控件

      5)基本屬性

      按此在新窗口瀏覽圖片

      4.1 MODBUS ASCII
      Modbus 分為ASCII和RTU兩種,ASCII采用的格式和校驗(yàn)相對(duì)簡(jiǎn)單,本文采用ASCII格式,并僅對(duì)使用的功能碼進(jìn)行說明,更多的信息,請(qǐng)參看協(xié)議的詳細(xì)說明。
      1)通信格式

      按此在新窗口瀏覽圖片

      LRC算法:ADR H+CMD H+DATA H,然后取2的補(bǔ)碼。
      2)功能碼
      05,寫入線圈

      按此在新窗口瀏覽圖片

      01,讀線圈狀態(tài)

      按此在新窗口瀏覽圖片


      06,寫入單個(gè)字寄存器

      按此在新窗口瀏覽圖片

      4.2 VB與PLC通信的實(shí)現(xiàn)
      以下舉例說明現(xiàn)場(chǎng)設(shè)備與PLC通信的實(shí)現(xiàn)。
      1)控制要求:控制PLC的起動(dòng)、停止,并顯示運(yùn)行狀態(tài)(綠色為運(yùn)行,紅色為停止);能夠用交替型按鈕控制Y0,Y1,并用指示燈顯示Y0,Y1狀態(tài)(綠色為運(yùn)行,紅色為停止);能夠?qū)256,D512兩個(gè)寄存器進(jìn)行數(shù)值寫入的操作。
      2)實(shí)現(xiàn)思路:PLC起動(dòng)停止的標(biāo)志位為M1072,查DVP協(xié)議,知道地址為H0C30,按功能碼01操作; 同樣Y0,Y1的地址分別為H0500,H0501。寫入FF00為ON,0000為OFF,按功能碼05操作;D256,D512地址分別為H1100,H1200,按功能碼06操作即可。
      3)VB接口的設(shè)計(jì)如圖10所示。


      按此在新窗口瀏覽圖片
      圖10 監(jiān)控程序界面

      用按鈕控制PLC的起動(dòng)停止,Y0、Y1的ON/OFF及D256、D512寫完數(shù)據(jù)的發(fā)送;用Shape組件做指示燈,表示PLC的運(yùn)行狀態(tài)和Y的狀態(tài);用timer組件不停的讀取M1072的狀態(tài),以判斷PLC的運(yùn)行情況;用MScomm控件實(shí)現(xiàn)PC與PLC的通信。
      4)編程實(shí)現(xiàn)的代碼構(gòu)成
      (1) LRC算法校驗(yàn)的實(shí)現(xiàn)
      Public Function LRC(str As String) As String
      c = 0
      l = Len(str)
      For c = c + 1 To l
      c_data = Mid$(str, c, 2)
      d_lrc = d_lrc + Val("&H" + c_data)
      c = c + 1
      Next c
      If d_lrc > &HFF Then
      d_lrc = d_lrc Mod &H100
      End If
      h_lrc = Hex(&HFF - d_lrc + 1)
      If Len(h_lrc) > 2 Then
      h_lrc = Mid(h_lrc, Len(h_lrc) - 1, 2)
      End If
      LRC = h_lrc
      End Function
      (2) 運(yùn)行的開始就判斷PLC的狀態(tài)并設(shè)置標(biāo)志位
      '初次運(yùn)行打開串口,并顯示PLC運(yùn)行狀態(tài)
      Private Sub Form_Load()
      Dim s1 As String
      Dim s2 As String
      Dim s22 As String
      Dim s3 As String
      Dim s4 As String
      MSComm1.PortOpen = True
      s2 = "01010C300001"
      s22 = LRC(s2)
      s1 = ":" + s2 + s22 + Chr$(13) + Chr$(10)
      MSComm1.Output = s1
      s3 = MSComm1.Input
      s4 = Mid$(s, 6, 8)
      If s4 = "0C30FF00" Then
      plc = 1 'PLC為運(yùn)行標(biāo)志
      Else
      plc = 0 'PLC為停止標(biāo)志
      End If
      End Sub
      (3) 下面一段為用指示燈表示PLC的運(yùn)行狀態(tài)
      Private Sub Timer5_Timer()
      Dim s1 As String
      Dim s2 As String
      Dim s22
      Dim s3 As String
      Dim s4 As String
      s2 = "01010C300001"
      s22 = LRC(s2)
      s1 = ":" + s2 + s22 + Chr$(13) + Chr$(10)
      MSComm1.Output = s1
      s3 = MSComm1.Input
      s4 = Mid$(s3, 8, 2)
      If s4 = "31" Then
      plc = 1 'PLC為運(yùn)行標(biāo)志
      Else: If s4 = "30" Then plc = 0 'PLC為停止標(biāo)志
      End If
      If plc = 1 Then
      Label2.Caption = "PLC正在運(yùn)行......"
      Shape1.FillColor = RGB(0, 255, 0) 'green
      Else
      Label2.Caption = "PLC已經(jīng)停止"
      Shape1.FillColor = RGB(255, 0, 0) 'red
      End If
      End Sub
      (4) PLC的起動(dòng)與停止
      '起動(dòng)PLC
      Private Sub start_Click()
      Dim strout As String
      Timer5.Enabled = False
      str = "00050C30FF00" 'M1072 為PLC起動(dòng)停止標(biāo)志位。查地址表,M1072為OC30.FF00為置
      ON,0000為置OFF。
      '以上都是固定格式,要牢記。
      LRCC = LRC(str) '計(jì)算 str的lrc校驗(yàn)碼。
      strout = ":" + str + LRCC + Chr$(13) + Chr$(10) '欲傳送之?dāng)?shù)據(jù)。13為D,10為A
      MSComm1.Output = strout
      Timer5.Enabled = True
      End Sub
      '停止PLC
      Private Sub stop_Click()
      Dim strout As String
      Timer5.Enabled = False
      str = "00050C300000"
      LRCC = LRC(str)
      strout = ":" + str + LRCC + Chr$(13) + Chr$(10)
      MSComm1.Output = strout
      Timer5.Enabled = True
      End Sub
      Y0、Y1的ON/OFF與PLC起動(dòng)/停止的控制方式相同,指示燈的表示方式也相同。D256,D512數(shù)據(jù)寫入的操作類似,限于篇幅其它代碼就不再列出了。

      5 結(jié)束語
      VB語言易于編程使用,為與串行設(shè)備的通信提供了很大的方便。臺(tái)達(dá)PLC采用標(biāo)準(zhǔn)的目前廣為流行的MODBUS協(xié)議,為實(shí)現(xiàn)PLC與監(jiān)控計(jì)算機(jī)的通信提供了簡(jiǎn)化的平臺(tái)。由于臺(tái)達(dá)所有的機(jī)電產(chǎn)品都支持MODBUS協(xié)議,所以,掌握了VB與PLC通信過程,也就等于掌握了PC與臺(tái)達(dá)所有機(jī)電產(chǎn)品的通信。

      參考文獻(xiàn)[略]

      作者簡(jiǎn)介
      王乃全(1978-),男,自動(dòng)化設(shè)備工程師,主要從事PLC控制系統(tǒng)的開發(fā)與技術(shù)支持。

       
       
      中達(dá)電通相關(guān)解決方案:
      臺(tái)達(dá)堆垛機(jī)方案:精準(zhǔn)是王道 平穩(wěn)更高效
      不負(fù)期望 強(qiáng)大性能 | 臺(tái)達(dá)ASDA-A3伺服高端應(yīng)用面面說
      云端漫游智能制造 低碳方案盡在眼前!
      看臺(tái)達(dá)三招化解數(shù)據(jù)中心升級(jí)難
      云課堂 | 聽數(shù)據(jù)中心專家開講新一代綠色微模塊
      建設(shè)低碳綠色智能工廠,從優(yōu)化冷水機(jī)開始!
      臺(tái)達(dá)在這個(gè)智慧園區(qū)上展現(xiàn)的“硬功夫“和”軟實(shí)力”
      臺(tái)達(dá)澆鑄控制解決方案 助力發(fā)泡橡膠制程大升級(jí)
      臺(tái)達(dá)為數(shù)據(jù)托管跨國公司提供 28 MW 關(guān)鍵電力解決方案
      低碳模式 綠色主張 臺(tái)達(dá)方案與你分享
      臺(tái)達(dá)LED直流智能照明解決方案,點(diǎn)亮家門口的“指路燈”
      深化“雙碳”牽引目標(biāo) 臺(tái)達(dá)為智能廠務(wù)增加綠色助力
      更多中達(dá)電通解決方案...
      通過中華工控網(wǎng)在線留言中達(dá)電通股份有限公司:
      用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
      請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)
       
      中華工控網(wǎng) GKong.com制作發(fā)布 廣告聯(lián)系
      主站蜘蛛池模板: 国产精品线在线精品| 国产剧情视频一区二区麻豆| 亚洲av激情五月性综合| 国产一区二区日韩经典| 成人午夜看黄在线尤物成人| 国产suv精品一区二区五| 婷婷五月综合丁香在线| 国产性色的免费视频网站| 国产精品亚洲综合久久小说| 精品一区二区三区国产馆| 四虎库影成人在线播放| 日韩乱码人妻无码中文字幕视频| 国产伦精区二区三区视频| 性欧美VIDEOFREE高清大喷水 | 激情综合网五月婷婷| 国产成人精品18| 精品国偷自产在线视频99 | 大尺度国产一区二区视频 | 加勒比中文字幕无码一区| 日本一区二区久久人妻高清| 99亚洲男女激情在线观看| 亚洲综合小说另类图片五月天 | 国产成人综合亚洲精品国产| 亚洲AV美女在线播放啊| 亚洲欧洲一区二区免费| 亚洲AV无码国产永久播放蜜芽| 最近中文字幕免费手机版| 国产影片AV级毛片特别刺激| 国产四虎永久免费观看| 少妇人妻偷人精品免费| a级国产乱理伦片在线观看al| 熟女系列丰满熟妇AV| 日韩美女亚洲性一区二区| 亚洲码和欧洲码一二三四| 中文字幕日韩有码一区| 日韩精品毛片一区到三区| 日本不卡码一区二区三区| 免费人成在线观看成人片| 国产乱码精品一区二三区| 日韩中文字幕精品人妻| 99久久无码一区人妻a黑|