4.2 VB與PLC通信的實現(xiàn)

  以下舉例說明現(xiàn)場設(shè)備與PLC通信的實現(xiàn)。

  1)控制要求:控制PLC的起動、停止,并顯示運(yùn)行狀態(tài)(綠色為運(yùn)行,紅色為停止)">

小视频免费在线观看_夜夜b_男女隐私免费视频_国产一级性生活视频_久久综合入口_精品国内视频

技術(shù)頻道

基于VB的臺達(dá)PLC與監(jiān)控計算機(jī)的串行通信實現(xiàn)(二)

2)功能碼







  4.2 VB與PLC通信的實現(xiàn)

  以下舉例說明現(xiàn)場設(shè)備與PLC通信的實現(xiàn)。

  1)控制要求:控制PLC的起動、停止,并顯示運(yùn)行狀態(tài)(綠色為運(yùn)行,紅色為停止);能夠用交替型按鈕控制Y0,Y1,并用指示燈顯示Y0,Y1狀態(tài)(綠色為運(yùn)行,紅色為停止);能夠?qū)256,D512兩個寄存器進(jìn)行數(shù)值寫入的操作。

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

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

圖10
圖10 監(jiān)控程序界面




  用按鈕控制PLC的起動停止,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控件實現(xiàn)PC與PLC的通信。
4)編程實現(xiàn)的代碼構(gòu)成

  (1) LRC算法校驗的實現(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)志位

      Rem 初次運(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 Rem PLC為運(yùn)行標(biāo)志
      Else
        plc = 0 Rem 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 Rem PLC為運(yùn)行標(biāo)志
      Else: If s4 = "30" Then plc = 0 Rem PLC為停止標(biāo)志
      End If
      If plc = 1 Then
        Label2.Caption = "PLC正在運(yùn)行......"
        Shape1.FillColor = RGB(0, 255, 0) Rem green
      Else
      Label2.Caption = "PLC已經(jīng)停止"
        Shape1.FillColor = RGB(255, 0, 0) Rem red
      End If

      End Sub


(4) PLC的起動與停止

      Rem 起動PLC
      Private Sub start_Click()
      Dim strout As String
      Timer5.Enabled = False
      str = "00050C30FF00"

      Rem M1072 為PLC起動停止標(biāo)志位。查地址表,M1072為OC30.FF00為置ON,0000為置OFF。
      Rem 以上都是固定格式,要牢記。

      LRCC = LRC(str) Rem 計算 str的lrc校驗碼。
      strout = ":" + str + LRCC + Chr$(13) + Chr$(10) Rem 欲傳送之?dāng)?shù)據(jù)。13為D,10為A
      MSComm1.Output = strout
      Timer5.Enabled = True
      End Sub
      Rem 停止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起動/停止的控制方式相同,指示燈的表示方式也相同。D256,D512數(shù)據(jù)寫入的操作類似,限于篇幅其它代碼就不再列出了。
  5 結(jié)束語
  VB語言易于編程使用,為與串行設(shè)備的通信提供了很大的方便。臺達(dá)PLC采用標(biāo)準(zhǔn)的目前廣為流行的MODBUS協(xié)議,為實現(xiàn)PLC與監(jiān)控計算機(jī)的通信提供了簡化的平臺。由于臺達(dá)所有的機(jī)電產(chǎn)品都支持MODBUS協(xié)議,所以,掌握了VB與PLC通信過程,也就等于掌握了PC與臺達(dá)所有機(jī)電產(chǎn)品的通信。

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

主站蜘蛛池模板: 综合伊人| 精品久久久久久 | 成人免费在线 | 男人在线天堂 | 日韩一区二区三区四区五区六区 | 很很鲁在线视频播放影院 | 懂色av一区二区 | 亚洲精品在线观看视频 | 成人h视频 | 中文字幕第9页 | 日韩精品一区二区三区在线 | 日韩视频91 | 日韩高清免费在线 | 毛片视频免费 | 91av电影在线观看 | 成人免费观看视频 | 一区二区三区不卡在线观看 | 在线观看国产麻豆 | 精品久久久久久亚洲精品 | 欧美久久一区 | 日韩中文在线 | 久久精品免费观看 | 亚洲高清视频在线 | 九九九九精品九九九九 | 秋霞精品 | 日本在线视频一区二区 | 国产中文字幕精品 | a级片在线观看 | 精品国产精品国产偷麻豆 | 国产精品视屏 | 国产精品99999 | 日韩在线观看视频免费 | 精品久久久久久久人人人人传媒 | 高潮白浆女日韩av免费看 | 中文字幕在线视频免费观看 | 亚洲第一在线视频 | 国产精品第一国产精品 | 日韩激情视频 | 成人毛片网 | 日韩在线视频免费 | 亚洲精品乱码久久久久久蜜糖图片 |