基于MODBUS协议和PLC的通讯

本文分享了使用VB.NET编写的MODBUS通讯代码,为需要与PLC进行MODBUS协议通信的读者提供参考。

很多人在找MODBUS通讯代码,我把以前用VB.NET写的一些代码贴上来供参考

'判断电机是否在转动
    Public Sub WaitMotorStop()
        '判断电机是否在转动
        Dim str1 As String = "1"
        Do Until str1 = "0"
            Comm2PLC(RCS, Relay901, "")
            System.Threading.Thread.Sleep(50)
            Dim str2 As String = FormMain.RS232.ReadExisting().ToString()
            FormMain.RS232.DiscardInBuffer()
            FormMain.RS232.DiscardOutBuffer()
            '先高低位转换,再16进制转换为10进制。例如把78563412转换为12345678
            If str2.Length > 6 Then
                str1 = str2.Substring(6, 1)
            End If
        Loop
        Thread.Sleep(200)
    End Sub
    ‘----------------------------------------------------------------’
    '写入PLC
    Public Sub Comm2PLC(ByRef _Code As String, ByRef _Address As String, ByVal _Command As String)
        Dim str1 As String = _Code & _Address & _Command         '代码字+中间继电器+命令字
        Dim str2 As String = Calculte_Vertification_bit(str1)
        Dim str3 As String =
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值