• <ul id="ikuqo"></ul>
    <tfoot id="ikuqo"></tfoot>
    <tfoot id="ikuqo"></tfoot>
  • <ul id="ikuqo"><sup id="ikuqo"></sup></ul>
  • 閱讀 | 訂閱
    閱讀 | 訂閱
    控制系統

    基于VB的臺達PLC與監控計算機的串行通信實現(三)

    星之球激光 來源:中電網2013-03-07 我要評論(0 )   

    4.2 VB與 PLC 通信的實現 以下舉例說明現場設備與PLC通信的實現。 1)控制要求:控制PLC的起動、停止,并顯示運行狀態(綠色為運行,紅色為停止);能夠用交替型按鈕控...

        4.2 VB與PLC通信的實現

      以下舉例說明現場設備與PLC通信的實現。

      1)控制要求:控制PLC的起動、停止,并顯示運行狀態(綠色為運行,紅色為停止);能夠用交替型按鈕控制Y0,Y1,并用指示燈顯示Y0,Y1狀態(綠色為運行,紅色為停止);能夠對D256,D512兩個寄存器進行數值寫入的操作。

      2)實現思路:PLC起動停止的標志位為M1072,查DVP協議,知道地址為H0C30,按功能碼01操作; 同樣Y0,Y1的地址分別為H0500,H0501。寫入FF00為ON,0000為OFF,按功能碼05操作;D256,D512地址分別為H1100,H1200,按功能碼06操作即可。

      3)VB接口的設計如圖10所示。

      

      圖10 監控程序界面

      用按鈕控制PLC的起動停止,Y0、Y1的ON/OFF及D256、D512寫完數據的發送;用Shape組件做指示燈,表示PLC的運行狀態和Y的狀態;用timer組件不停的讀取M1072的狀態,以判斷PLC的運行情況;用MScomm控件實現PC與PLC的通信。

      4)編程實現的代碼構成

      (1) LRC算法校驗的實現

      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)

    #p#分頁標題#e#  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) 運行的開始就判斷PLC的狀態并設置標志位

      ‘初次運行打開串口,并顯示PLC運行狀態

      Private Sub Form_Load()

      Dim s1 As String

      Dim s2 As String

      Dim s22 As String

      Dim s3 As String#p#分頁標題#e#

      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為運行標志

      Else

      plc = 0 ‘PLC為停止標志

      End If

      End Sub

        (3) 下面一段為用指示燈表示PLC的運行狀態

      Private Sub Timer5_Timer()

      Dim s1 As String

      Dim s2 As String#p#分頁標題#e#

      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為運行標志

      Else: If s4 = “30” Then plc = 0 ‘PLC為停止標志

      End If

      If plc = 1 Then

      Label2.Caption = “PLC正在運行。。.。。.”

      Shape1.FillColor = RGB(0, 255, 0) ’green

      Else

      Label2.Caption = “PLC已經停止”#p#分頁標題#e#

      Shape1.FillColor = RGB(255, 0, 0) ‘red

      End If

      End Sub

      (4) PLC的起動與停止

      ’起動PLC

      Private Sub start_Click()

      Dim strout As String

      Timer5.Enabled = False

      str = “00050C30FF00” ‘M1072 為PLC起動停止標志位。查地址表,M1072為OC30.FF00為置

      ON,0000為置OFF。

      ’以上都是固定格式,要牢記。

      LRCC = LRC(str) ‘計算 str的lrc校驗碼。

      strout = “:” + str + LRCC + Chr$(13) + Chr$(10) ’欲傳送之數據。13為D,10為A

      MSComm1.Output = strout

      Timer5.Enabled = True

      End Sub

      ‘停止PLC

    #p#分頁標題#e#  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起動/停止的控制方式相同,指示燈的表示方式也相同。D256,D512數據寫入的操作類似,限于篇幅其它代碼就不再列出了。

    5 結束語

      VB語言易于編程使用,為與串行設備的通信提供了很大的方便。臺達PLC采用標準的目前廣為流行的MODBUS協議,為實現PLC與監控計算機的通信提供了簡化的平臺。由于臺達所有的機電產品都支持MODBUS協議,所以,掌握了VB與PLC通信過程,也就等于掌握了PC與臺達所有機電產品的通信。

     

    轉載請注明出處。

    暫無關鍵詞
    免責聲明

    ① 凡本網未注明其他出處的作品,版權均屬于激光制造網,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權范圍內使 用,并注明"來源:激光制造網”。違反上述聲明者,本網將追究其相關責任。
    ② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本媒贊同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯系我們刪除。
    ③ 任何單位或個人認為本網內容可能涉嫌侵犯其合法權益,請及時向本網提出書面權利通知,并提供身份證明、權屬證明、具體鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件后,將會依法盡快移除相關涉嫌侵權的內容。

    網友點評
    0相關評論
    精彩導讀
    主站蜘蛛池模板: 99re6在线播放| 免费一级毛片正在播放| mm1313亚洲国产精品无码试看 | 门国产乱子视频观看| 小sb是不是欠c流了那么多| 亚洲国产欧洲综合997久久| 秋葵app官网免费下载地址| 日韩精品免费视频| 十八禁视频在线观看免费无码无遮挡骂过 | 日韩成年人视频| 国产免费av片在线播放| japanese老熟妇乱子伦视频| 无遮挡亲胸捏胸激吻视频| 亚洲激情小视频| 精品国产v无码大片在线看| 夜夜揉揉日日人人青青| 亚洲国产精品人久久| 精品一区二区三区中文字幕| 国产欧美va欧美va香蕉在线 | 么公的又大又深又硬想要| 美女被羞羞在线观看| 国产网红主播无码精品| 中文字幕国产剧情| 欧美精选欧美极品| 国产午夜在线视频| 中国大陆高清aⅴ毛片| 欧美精品黑人粗大视频| 国产一区二区三区四| 18精品久久久无码午夜福利| 无码视频免费一区二三区| 四虎成人精品在永久免费| 国产真实乱16部种子| 亚洲国产美女精品久久久久| 粉色视频成年免费人15次| 国产成人精品免高潮在线观看| eeuss中文字幕| 日本高清免费一本视频无需下载| 另类ts人妖一区二区三区| 香艳69xxxxx有声小说| 引诱亲女乱小说| 亚洲精品无码不卡|