设置MODBUS通讯,以PLC为主站,流量计为从站,建立通讯。这里,8 位二进制,以十六进制数09,AF来表示。编写SEND子程序来完成16进制查询命令的生成和数据的发送;RECV子程序完成接收到的数据的处理;CRC子程序完成发送数据和接收数据的校验码生成 SEND子程序调用指令格式为-[ECALLP “SEND” P700 W30 W35 W3A]。ECALLP是子程序调用指令;“SEND”是子程序名称;P700是公用指针号;链接寄存器W30、W35和W3A是子程序的传递参数,分别表示设备号、功能代码和数据。例如:链接寄存器W30、W35和W3A的值分别为1、5和64(16进制);则表示设定设备号为1的质量流量计的流量输出值为100sccm,QJ71C24-R4将发送16进制查询命令0106 0011 0064 D824。
485口的配套口是RS232,所以编写的代码与RS232数据传输相同
我不久前写了一段相关代码,你看是否有用:用MSCOMM控件通信的
Private Sub initcom() 串口初始化程序块
MSComm1CommPort = 1 '选用com1串行口
MSComm1Settings = "9600,N,8,1" '波特率9600,无奇偶校验位,8位数据位1位停止位
MSComm1InputLen = 0 'input将读取接收缓冲区的全部内容
MSComm1InBufferSize = 1024 '设置接收缓冲区的字节长度
'MSComm1PortOpen = True '打开通信口
MSComm1InBufferCount = 0 '清除接收缓冲区数据
MSComm1OutBufferCount = 0 '清除发送缓冲区数据
MSComm1InputMode = comInputModeText
'MSComm1InputMode = comInputModeBinary
'periodicinteval = 100 '设置ls定时间隔,使遥测命令每隔ls发送1次
End Sub
Private Sub MSComm1_OnComm() 接收,发送处理事件
MSComm1RThreshold = 0
Dim b As String
If MSComm1CommEvent = comEvReceive Then
b = MSComm1Input
Text1Text = Text1Text & b & " "
Text1SelStart = 0 'Len(Text1Text)
Call confirm(b)
End If
MSComm1RThreshold = 148
End Sub
更多相关:还有以后我的网站yu3zxcom有相关代码收集自加>
第一步:CP1H的程序设置里还按默认的‘标准’及host link,别更改。
第二步:CP1W-CIF11内部的DIP开关,用螺丝刀调整为1、4 关,其余ON
第三步:CP1W-CIF11与接收装置的接线为
CP1W-CIF11 接收端
RD+ RX+
RD- RX-
第四步:接收端设置为RS485-2模式。
完成以上四步即可正常通讯。
以上就是关于台达PLC与带有485功能输出的流量计如何通讯且读写数据,程序怎么写~~全部的内容,包括:台达PLC与带有485功能输出的流量计如何通讯且读写数据,程序怎么写~~、主板上面有com1,com2,485口,我想编写vb程序通过485传输数据,我vb里面串口部分应该怎么写、欧姆龙CP1H XA40DR如何用CP1W-CIF11设置rs485通信,相关程序怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)