侵权投诉

搜索
更多>> 热门搜索:
订阅
纠错
加入自媒体

基于VB的台达PLC与监控计算机的串行通信实现

2013-03-06 11:33
天堂的苦涩
关注

  (3) 下面一段为用指示灯表示PLC的运行状态

  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为运行标志

  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已经停止”

  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

  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与台达所有机电产品的通信。

<上一页  1  2  3  4  5  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号