VB与PLC通信

合集下载

VB与PLC通信程序(欧姆龙PLC).doc

VB与PLC通信程序(欧姆龙PLC).doc

VB与PLC通信程序(欧姆龙PLC)关于VB的MSCOMM控件可参考相关资料。

通信程序摘要如下:(1)初始化程序mport=2 ’选择COM2Mscomm1.Settings=”9600,N,8,2”’设置通信参数Mscomm1.Inputlen=0 ’读入接收缓冲区全部字符Mscomm1.OutbufferSize=256 ’设置发送缓冲区大小Mscomm1.InbufferSize=512 ’设置接收缓冲区大小Mscomm1.PortOpen=True ’打开COM2(2)发送命令程序比如读取节点号03的PLC中IR000到IR009的内容,并放到tag1字符串变量中,此时有:Dim Command, node, begin, number as stringDim Answerlen as integernode=”03”’节点号Command=”RR”’命令为读IR区begin=”0000”’从IR000开始number=10 ’读取长度Answerlen=51 ’计算接收字符串长度进行命令发送和接收应答处理:Dim FCS, I as integerDim s ,f as strings=”@”+node+Commad+begin+numberFCS=0For i=1 to Len(s)FCS=FCS xor Asc(Mid$(s,i,1) ) ’帧校验码FCSNext if=Hex$(FCS)If Len(f)=1 Then f=”0”+fCommfrm.MSComm1.Output=s + f + ”*” + CHR$(13) ’命令帧发送DoDummy=DoEvents()Loop Untill Commfrm.MSComm1.InbufferCount >= Answerlen ’等待应答帧Do tag1= Commfrm.MSComm1.InputLoop Untill Commfrm.MSComm1.InbufferCount=0 ’读完应答帧上述程序具有相当的通用性,对于其它设备不同的只是各自的数据帧格式,因而只需做相应少量修改即可。

VB与PLC通讯

VB与PLC通讯

5.3 利用VB6.0编写通信程序命令报文中10F6H为D123的地址,04H表示要读入4个字节的数据。

校验和SUM=30H+31H+30H+46H+36H+30H+34H+03 H=174H,溢出部分不计,故SUMH=7,SUAIL=4,相应的ASCⅡ码为“37H”,“34H”。

应答报文中4个字节的十六进制数,其相应的ASCⅡ码为8个字节,故应答报文长度为12个字节。

根据PC与FX系列PLC的传输应答过程,利用VB的MSComm控件可以编写如下通信程序实现PC与FX系列PLC之间的串行通信,以完成数据的读取。

MSComm控件可以采用轮询或事件驱动的方法从端口获取数据。

在这个例子中使用了轮询方法。

(1)通信口初始化Private Sub Initialize()MSComm1.CommPort =1MSComm1.Settings = “9600,E,7,1”MSComm1.InBufferSize = 1024MSComml.OutBuffersize = 1024MSComm1.InputLen = 0MSComml.InputMode = comInputTextMSComm1.Handshaking = comNoneMSComm1.PortOpen = TrueEnd Sub(2)请求通信与确认Private Function MakeHandshaking()As BooleanDim InPackage As StringMSComml.OutBufferCount = 0MSComml.InBufferCount = 0MSComml.OutPut = Chr(&H5)DoDoEventsLoop Until MSComml.InBufferCount = 1InPackage = MSComml.InputIf InPackage = Chr(&H6)ThenMakeHandShaking = TrueElseMakeHandshaking = FalseEnd IfEnd Function(3)发送命令报文Private Sub SendFrame ()Dim Outstring As StringMSComml.OutBufferCount = 0MSComml.InBufferCount = 0Outstrin = Chr(&H2)+″on″+″10F604″+Chr(&H3)+″74″MSComml.Output = OutstringEnd Sub(4)读取应答报文Private Sub ReceiveFrame()Dim Instring As StringDoDoEventsLoop Until MSComml.InBufferCount = 12InString = MSComml.InpultEnd Sub5.4 MSCOMM控件的属性CommPort:设定通信连接端口代号,程序必须指定所要使用的串行端口号,Windows系统使用所设定的端口与外界通信。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术基于VB6.0的上位机与PLC实时通信技术主要是通过VB6.0编程语言与PLC进行通信,实现实时数据的传输和控制操作。

要实现VB6.0与PLC的通信,首先需要通过串口连接VB6.0和PLC。

VB6.0中提供了MSComm控件,可用于实现与PLC的串口通信。

该控件可以配置串口的波特率、数据位、校验位等参数,并可以通过编程实现串口的打开和关闭操作。

在VB6.0中需要编写相应的程序代码,通过串口与PLC进行数据的发送和接收。

VB6.0提供了相应的函数和方法,可以用于读取和写入串口的数据。

通过与PLC进行数据交互,可以实现对PLC的监控和控制操作。

在进行通信时,需要定义好数据的格式和协议,以确保VB6.0与PLC之间能够正确地进行数据的传输和解析。

对于不同的PLC型号和厂商,通信协议可能会有所不同,因此需要按照PLC的通信协议进行编程开发。

在实时通信过程中,需要注意以下几个关键点。

要确保VB6.0与PLC的通信速度要足够快,以实现实时数据的传输和控制操作。

要确保数据的准确性和可靠性,可以通过校验位等方式进行数据的校验和验证。

还需要进行错误处理和异常处理,以避免通信故障和数据丢失等问题的发生。

通过使用VB6.0编程语言,结合PLC的串口通信功能,可以实现上位机与PLC的实时通信。

这样,就能够方便地进行工业控制和监测等操作,提高了生产效率和设备的运行稳定性。

基于VB6.0的上位机与PLC实时通信技术也为后续的数据分析和处理提供了基础。

这对于工业自动化领域的发展和应用具有重要意义。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术VB6.0是一种编程语言,可用于开发上位机与PLC之间的实时通信技术。

PLC是一种可编程逻辑控制器,用于控制和监控自动化设备。

通过实时通信,上位机可以与PLC进行数据交换和控制操作。

1. 通信协议选择:PLC与上位机之间的通信需要选择适当的通信协议。

常见的通信协议包括Modbus、OPC、Profibus等。

根据实际需求和设备的支持情况选择合适的通信协议。

2. 串口通信:VB6.0通过串口通信与PLC进行连接。

通常采用RS232、RS485等串口通信方式。

在编程中,需要设置串口的波特率、数据位、停止位、校验位等参数。

通过VB6.0的串口通信类库,可以实现数据的读取和写入。

3. 数据采集和监控:通过VB6.0实现对PLC数据的采集和监控。

可以使用定时器触发方式,周期性的读取PLC设备的数据。

通过VB6.0的数据处理和显示功能,可以实时显示PLC设备的状态和数据信息,如温度、压力、流量等。

4. 控制指令的发送:通过VB6.0向PLC发送控制指令,实现对设备的控制。

根据PLC 的控制逻辑,编写相应的控制程序,将控制指令发送给PLC设备。

通过串口通信,将控制指令发送出去,实现设备的开关、调节等操作。

5. 异常处理:在实时通信中,可能会出现通信故障、数据错误等异常情况。

需要在编程中添加异常处理的代码,对异常情况进行处理,保证通信的稳定性和可靠性。

基于VB6.0的上位机与PLC实时通信技术可以广泛应用于自动化控制、工业监控、智能家居等领域。

通过实时通信,可以实现对设备的远程监控和控制,提高设备的自动化程度和工作效率。

在编程过程中,需要注意通信协议的选择和参数的设置,以确保通信的正确和可靠。

需要添加适当的异常处理机制,提升系统的稳定性和可靠性。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术一、引言随着自动化技术的不断发展,PLC(可编程逻辑控制器)已经成为自动化领域中不可或缺的设备。

PLC通常用于控制工业生产线上的设备和机器,而上位机则是用来监控和管理PLC系统的设备。

众所周知,实时通信是保证PLC系统正常运行的重要因素之一。

在这篇文章中,我们将重点介绍基于VB6.0的上位机与PLC实时通信技术。

二、VB6.0简介VB6.0是微软公司于1998年发布的一款集成开发环境(IDE),它是一种编程语言,被广泛用于开发Windows平台下的应用程序。

VB6.0具有简单易学、功能丰富、开发效率高等特点,因此在工业领域得到了广泛应用。

考虑到VB6.0的这些优势,我们可以利用它来开发上位机程序,并实现与PLC的实时通信。

三、PLC实时通信技术1. 串口通信PLC通常通过串口与上位机进行通信。

在VB6.0中,我们可以利用MSCOMM控件来实现串口通信。

通过在VB6.0的界面中添加MSCOMM控件,并设置相应的串口参数(如波特率、数据位、校验位、停止位等),就可以实现与PLC的串口通信。

2. Modbus通信Modbus是一种通信协议,被广泛用于工业控制领域。

通过Modbus协议,我们可以实现上位机与PLC之间的实时通信。

在VB6.0中,我们可以使用第三方的Modbus通信库来实现Modbus通信,例如Modbus ActiveX控件等。

通过这些控件,我们可以轻松地实现Modbus通信,从而实现上位机与PLC的实时数据交换。

3. Socket通信1. 配置MSCOMM控件接下来,我们需要编写VB6.0代码,实现与PLC的串口通信。

您可以编写相应的串口通信代码,例如打开串口、发送数据、接收数据等。

示例代码如下:Private Sub Form_Load()mPort = 1 ' 串口号MSComm1.Settings = "9600,n,8,1" ' 波特率、校验位、数据位、停止位MSComm1.PortOpen = True ' 打开串口End SubPrivate Sub Command1_Click()MSComm1.Output = "010*********FF01" ' 发送数据End Sub3. 运行程序并测试您可以运行程序,并测试与PLC的串口通信是否正常。

plc网口vb 通讯

plc网口vb 通讯

plc网口vb 通讯PLC网口VB通讯——实现智能化生产控制的利器随着工业自动化的快速发展,PLC(Programmable Logic Controller,可编程逻辑控制器)已经成为现代生产线上不可或缺的设备之一。

而要使PLC实现与计算机的通讯,以实现更高级别的控制和监测功能,则需要借助VB(Visual Basic)编程语言。

本文将介绍PLC网口VB通讯的基本原理以及其在实际应用中发挥的重要作用。

一、PLC网口VB通讯基本原理PLC网口VB通讯主要是通过以太网接口实现的。

PLC通过网口与上位机进行通信,由VB程序控制上位机与PLC之间的数据交换。

具体而言,PLC网口VB通讯需要解决以下几个关键问题:1. 协议选择:PLC通常支持多种通信协议,例如MODBUS、OPC等。

在选择协议时需要根据具体应用场景和PLC型号进行判断,并根据协议规范进行编程。

2. IP地址设置:为了确保上位机与PLC能够互相识别和连接,需要为PLC和上位机分配合适的IP地址,并设置子网掩码和默认网关等网络参数。

3. 数据格式与交换:在PLC网口VB通讯中,数据格式的定义和交换非常关键。

通常情况下,可以利用VB编程实现数据的读取、写入和解析,以实现与PLC之间的数据交互。

二、PLC网口VB通讯的实际应用PLC网口VB通讯在许多领域都得到了广泛的应用,为企业的生产控制和监测提供了可行的解决方案。

下面以几个实际案例进行介绍:1. 智能制造:在智能制造领域,PLC网口VB通讯可以实现生产流程的高度自动化和集成化管理。

通过与上位机的通讯,PLC 可以接收指令进行实时控制,并将生产数据反馈给上位机,以便进行数据分析和优化。

2. 物流仓储:在物流仓储领域,PLC网口VB通讯可以实现仓库的自动化控制和货物追踪。

利用上位机与PLC进行通讯,可以实时监测仓库存货情况,并对货物进行分类、分拣和入库等操作。

3. 能源管理:在能源管理领域,PLC网口VB通讯可以实现对能源设备的监控和控制。

vb与plc网口通讯

vb与plc网口通讯

vb与plc网口通讯在工业自动化领域,VB和PLC之间的网口通讯是非常重要的一项技术。

VB(Visual Basic)是一种基于Windows操作系统的编程语言,而PLC(Programmable Logic Controller)是一种专门用于控制工业过程的计算机控制系统。

通过实现VB与PLC之间的网口通讯,可以实现双方之间的数据交互,从而实现工业自动化系统的监控和控制。

一、背景介绍随着工业自动化的快速发展,PLC在工业控制领域中的应用越来越广泛。

而VB作为一种高级对象化、事件驱动的编程语言,具有编写人机界面友好的优点。

因此,将VB与PLC进行网口通讯,不仅可以充分发挥PLC的控制能力,还可以利用VB的强大的界面开发能力,实现工业自动化系统的可视化管理。

二、VB与PLC网口通讯的原理VB与PLC之间的网口通讯主要基于TCP/IP协议。

PLC通过提供基于TCP/IP的通信模块,作为服务器等待VB的连接请求。

而VB则作为客户端,向PLC发起连接请求。

一旦连接成功,VB就可以通过TCP/IP协议与PLC进行双向数据交互。

三、VB与PLC网口通讯的步骤1. 确定PLC的IP地址和端口号。

在进行VB与PLC的网口通讯之前,首先需要确定PLC的IP地址和端口号。

通常情况下,这些参数会在PLC的配置软件中进行设置。

2. 使用VB的Socket控件实现通信。

在VB中使用Socket控件,可以方便地实现与PLC的网口通信。

通过设置Socket的IP地址和端口号,VB可以与PLC进行连接,并通过Socket发送和接收数据。

3. 编写VB程序与PLC进行数据交互。

通过Socket控件,VB可以发送指令给PLC,以实现对PLC的控制。

同时,VB还可以从PLC中读取数据,实现对工业自动化过程的监控。

四、VB与PLC网口通讯的应用1. 监控工业过程。

通过VB与PLC的网口通讯,可以实时获取PLC中的数据,并将这些数据可视化地呈现在VB的界面上。

VB与PLC通讯

VB与PLC通讯

VB与PLC之间通讯VB与AB PLC之间通讯AB系列PLC一般都有专用驱动程序用于实现PLC和计算机之间通讯,如RSLINX 就是专门用于做这项工作,但使用RSLINX也具有一定局限性,这里提供一个使用VB编程实现PLC和计算机之间通讯程序,使用协议是DF1,可以支持Micrologix、SLC500等系列PLC。

使用代码如下:Option ExplicitDim tns%, comunicatingPrivate Sub Command1_Click()ReDim tb%(10)Dim stIf ReadTable(0, tb%()) ThenFor st = 0 To 9 '显示结果Text1.SelText = Str(tb%(st)) + Chr(32)Next stText1.SelText = Chr(13) + Chr(10)End IfEnd SubPrivate Sub Command2_Click()ReDim tm%(5)tm%(0) = Rnd * 32768tm%(1) = Rnd * 32768tm%(2) = Rnd * 32768tm%(3) = Rnd * 32768tm%(4) = Rnd * 32768If Not WriteTable(4, tm%()) Then Text1.SelText = "写入错误!!" End SubPrivate Sub Exit_Click()Unload MeEndEnd SubPrivate Sub Form_Load()Comm1.PortOpen = TrueEnd SubPrivate Sub Form_Unload(Cancel As Integer)Comm1.PortOpen = FalseEnd SubPrivate Sub CalcCRC(mes$)Dim byt%, res&'对消息进行crc校验,然后将结果添加到消息结尾。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术一、实时通信技术在工业控制系统中的重要性实时通信技术在工业控制系统中扮演着十分重要的角色。

在现代工业控制系统中,各种设备之间需要进行及时、准确的信息交换,以保证整个系统的正常运行。

在许多工业控制系统中,PLC往往承担着实时数据采集、逻辑控制、设备状态监测等任务,而上位机则需要通过实时通信技术与PLC进行数据交换和控制命令的下发。

实时通信技术的稳定性和可靠性对整个工业控制系统的运行至关重要。

基于此,基于VB6.0的上位机与PLC实时通信技术成为了工程师们需要深入研究和掌握的技术。

二、VB6.0在上位机开发中的应用VB6.0是一种非常成熟、功能强大的软件开发工具,拥有良好的可视化设计界面和强大的编程功能。

在工业自动化领域,基于VB6.0的上位机开发具有以下几个优势:1. 易于学习和使用。

VB6.0的编程语言结构清晰、简单易懂,对于工程师来说比较容易上手。

2. 丰富的控件库。

VB6.0提供了丰富的控件库,可以方便地实现各种窗体界面的设计和功能的实现。

3. 良好的可视化设计界面。

VB6.0提供了良好的可视化设计界面,可以直观地设计界面布局和控件功能。

4. 广泛的应用领域。

VB6.0已在工业控制系统中得到了广泛的应用,积累了大量的经验和案例,为工程师们提供了丰富的技术支持和解决方案。

基于VB6.0的上位机开发在工业控制系统中得到了广泛的应用。

在后文中,我们将结合VB6.0的优势,介绍基于VB6.0的上位机与PLC实时通信的具体实现方法。

基于VB6.0的上位机与PLC实时通信的具体实现方法通常包括以下几个步骤:1. 建立通信连接。

通常情况下,PLC与上位机之间的通信连接可以通过串口、以太网等方式实现。

在VB6.0中,我们可以利用其提供的串口通信、Socket通信等控件来建立与PLC的通信连接。

2. 设计数据交换协议。

在进行实时通信时,上位机与PLC之间需要进行数据的交换。

VB与PLC的通信

VB与PLC的通信

利用VB6.0 实现PC 与三菱PLC 的通信本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用编程电缆作为计算机与 PLC 通信的连线。

FX2系列PLC的编程接口采用RS-422标准,而计算机的串行口采用的是RS-232标准,因此作为实现PLC与计算机通信的接口模块FX-232AW,必须将RS-422标准转换成RS-232标准,同时在实现上述过程中采用光电隔离技术。

图1一、串口的相关知识1)串行通信的概念图2所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。

如图2所示。

这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢2)常见的串口通信规约:目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。

最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,且直接用RS232相连。

RS-232C: “1”=-3~-15;“0”=+3~+15速率:0~20000bps;一般传输距离:15m。

RS-422:采用平衡传输,平衡发送器、差动接收器,速率:10Mbps/15m;90Kbps/1200m抗干扰能力强。

DB9和DB25的常用信号脚说明由于FX 2-232AW 价格过贵所以我们选用选用MAXIM 公司的MAX202实现RS-232与TTL 之间的电平转换。

MAX202内部有电压倍增电路和转换电路,仅需+5V 电源就可工作,使用十分方便;选用MAX490实现RS-485与TTL 之间的转换。

每片MAX490有一对发送器/接收器,由于通信采用全双工方式,故需两片MAX490,另外只需外接4只电容即可。

怎样才能让VB和PLC相互通讯传输数据

怎样才能让VB和PLC相互通讯传输数据
安装s7 OPC Server软件后,在操作系统中将增加一个OPC服务器,服务器的名字是“OPCServer Computing”。VB或Delphi中可编写OPC客户端程序与OPC服务器通信。以下给出在VB开发环境下编写OPC客户端程序的过程:首先在VB开发环境中的ProjectkReferences中添加OPC Automation2.0,然后编写连接OPC Server、添加组、添加条目、读写数据的程序。使用到的函数如下:connect函数与OPC Server建
性)按钮,打开属性对话框。将“MPI”栏中的“TransmissionRate”(波特率)设置为187.5 kbit/s,其他参数可以采用默认设置。在“Local Connection”选项卡“COM Port”选择框中设置实际使用的Pc串口的编号,波特率可以设置为19.2 kbit/s
2.用OPC Server软件实现通信连接
西门子的PLC,除了用组态软件可以和PLC通讯外,也可以用VB和它通讯,但是必须利用西门子公司发布的PRODAVE软件包(其实就是一个库函数包).PRODAVE提供了大量函数,我门可以利用这些函数解决PLC与PC的数据交换和处理.当然这些函数是可以在VB中调用的,只要在模块里声明一下就可以了. 给你举两个简单例子: load tool.这个用来将计算机与PLC连接起来, unload tool.是用来断开连接的. a_field_read(a,b,c).这个可以从PLC读取数据到计算机 a_field_write(a,b,c).用来写数据到PLC. 就举这么四个典型例子,看起来似乎挺简单,其实还有好多好多问题需要解决,比如从PLC不同的数据存储区读取数据所用的函数不同.还有初始的参数设置,地址设置,读写函数的参数设置,即使参数都设置对了,如何判断连接上否,即使连上了如何判断,数据读写有没有错误,有了错误如何判断是哪种错误.所以,也许你能看出,PLC和PRODAVE的知识在编写中的关键性并不低于VB. 一般都是用PLC的串口编一个协议,然后利用VB里面的通讯控件进行通讯的。例如omron是用hostlink来做的。三菱一般是用RS指令,松下是用trns来做的。

vb与plc通讯(以西门子S7-200为例)

vb与plc通讯(以西门子S7-200为例)

vb与plc通讯(以西门子S7-200为例)S7-200 PLC之PPI协议通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。

这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。

在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。

在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。

采用这种方式,PLC 编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。

SIEMENSS7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。

如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。

这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。

软件设计系统中测控任务由SIEMENSS7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。

计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。

PPI协议西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术一、通信原理上位机与PLC之间的通信是通过通信协议来实现的。

通信协议是一种规定了通信双方之间通信方式和通信内容的标准化协议。

常见的通信协议有MODBUS、OPC、PROFIBUS等。

在实际应用中,根据不同的PLC型号和通信需求,选择适合的通信协议进行通信。

二、通信协议MODBUS协议是一种基于主从结构的通信协议,包括MODBUS RTU和MODBUS TCP两种通信方式。

MODBUS RTU是基于串行通信的通信方式,通信速度较快,适合于工业现场环境。

MODBUS TCP是基于以太网通信的通信方式,通信速度更快,可实现远程通信。

基于VB6.0的上位机与PLC通信通常采用MODBUS RTU协议。

在VB6.0中,可以通过串口通信控件MSComm控件实现MODBUS RTU通信。

通过设置通信端口、波特率、数据位、停止位等参数,编写相应的通信程序,实现与PLC的通信。

三、软件设计基于VB6.0的上位机软件设计需要考虑可视化界面和通信功能的实现。

在软件设计中,需要设计用户界面,包括监控界面、控制界面、报警界面等。

需要设计通信功能,包括与PLC的连接、数据读写、通信异常处理等。

在VB6.0中,可以通过控件的方式实现软件的界面设计。

通过使用标签、文本框、按钮等控件,设计出符合用户需求的可视化界面。

在通信功能的实现中,可以通过MSComm控件实现与PLC的连接和数据读写功能。

通过编写相应的通信程序,实现与PLC之间的实时通信。

四、实现方法基于VB6.0的上位机与PLC通信的实现方法主要包括以下几个步骤:1. 确定通信协议:根据PLC型号和通信需求,选择适合的通信协议,如MODBUS协议。

2. 设计界面:设计符合用户需求的可视化界面,包括监控界面、控制界面、报警界面等。

3. 编写通信程序:通过VB6.0编写通信程序,实现与PLC的连接、数据读写等功能。

在编写通信程序时,需要考虑通信协议的格式要求,保证通信数据的准确传输。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术一、引言在工业自动化控制领域,上位机与PLC实时通信技术扮演着十分重要的角色。

上位机是指在控制系统中完成对PLC或其他控制设备数据采集和监控的计算机。

PLC (Programmable Logic Controller)是可编程逻辑控制器的缩写,其主要作用是用来控制生产现场的设备以实现自动化操作。

上位机与PLC实时通信技术可以让上位机快速准确地与PLC交换数据,从而实现对生产工艺的实时监控和管理。

本文将重点介绍基于VB6.0的上位机与PLC实时通信技术的实现方法与应用。

二、基于VB6.0的上位机与PLC实时通信技术的实现方法1. VB6.0编程环境的搭建要实现基于VB6.0的上位机与PLC实时通信技术,首先需要在计算机上安装VB6.0开发环境。

然后,创建一个新的VB6.0项目,选择“标准EXE”模板。

2. 使用通讯控件在VB6.0中,实现与PLC的通信可以使用通讯控件。

常用的通讯控件包括MSComm控件和Winsock控件。

MSComm控件用于串口通讯,而Winsock控件用于网络通讯。

根据实际情况选择合适的通讯控件,然后在VB6.0项目中引用相应的控件库。

3. 编写通讯程序在VB6.0中,通过使用通讯控件,可以编写与PLC通讯的程序。

首先需要设置通讯控件的属性,包括端口号、波特率、数据位、停止位等。

然后编写相应的事件处理程序,如接收数据事件、发送数据事件等,以实现与PLC的数据交换。

4. 数据解析与显示通过VB6.0与PLC通讯后,上位机可以接收到PLC发送的数据。

为了实现实时监控,需要对接收到的数据进行解析和处理,然后将其显示在上位机界面上。

可以通过VB6.0提供的界面设计工具,实现数据的动态显示和更新。

5. 错误处理与安全性在实际应用中,基于VB6.0的上位机与PLC实时通信技术需要考虑通讯的稳定性和安全性。

在编写通讯程序时,需要实现错误处理机制,对通讯中可能出现的异常情况进行处理,确保通讯的稳定性。

vb与plc通讯

vb与plc通讯

vb与plc通讯(以西门子S7-200为例)S7-200 PLC之PPI协议通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。

这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。

在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。

在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。

采用这种方式,PLC 编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。

SIEMENSS7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。

如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。

这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。

软件设计系统中测控任务由SIEMENSS7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。

计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。

PPI协议西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术一、引言随着工业自动化的深入发展,工业控制系统的实时性和可靠性要求日益提高。

在工业控制系统中,上位机与PLC之间的通信是非常重要的一环。

而基于VB6.0的上位机与PLC实时通信技术则成为了工业控制领域的一大热点。

本文将从上位机与PLC通信的基本原理、通信协议的选择以及基于VB6.0的通信实现方法等方面展开阐述。

二、上位机与PLC通信的基本原理在工业控制系统中,上位机作为控制和监控的中心,而PLC则作为现场设备的控制器。

上位机与PLC之间的通信,主要是为了实现数据的实时交换和控制指令的下发。

通常情况下,上位机与PLC之间的通信采用的是串口通信或者以太网通信。

串口通信是指通过串行端口来实现上位机与PLC之间的通信。

在实际应用中,常用的是RS-232或者RS-485接口。

而以太网通信则是通过以太网协议来实现通信,实现数据的传输和交换。

无论是串口通信还是以太网通信,其基本原理都是通过特定的通信协议来实现数据的传输和交换。

不同的PLC厂家采用的通信协议可能有所不同。

因此在实际应用中,需要根据具体的PLC型号以及通信协议来进行相应的通信设置。

三、通信协议的选择在实际的上位机与PLC通信过程中,选择合适的通信协议是非常重要的。

常用的PLC通信协议包括Modbus、Profibus、MPI等。

这些通信协议都有其各自的特点和适用范围。

Modbus通信协议是一种较为常用的通信协议,它简单易懂,易于实现。

Modbus协议支持串口通信和以太网通信,可广泛应用于各种PLC和上位机之间的通信。

Profibus通信协议则是一种高速传输的通信协议,适用于对通信速度有较高要求的场合。

而MPI通信协议则主要应用于西门子PLC之间的通信。

在选择通信协议时,需要考虑PLC的型号、通信速度、通信距离等因素。

同时也需要考虑上位机的通信接口及通信协议的支持情况。

在实际应用中,需根据具体的要求和条件选择适合的通信协议。

vb 网口与plc 通讯

vb 网口与plc 通讯

vb 网口与plc 通讯在现代工业领域中,VB(Visual Basic)和PLC (Programmable Logic Controller)在实现设备之间的通讯中起到了重要的作用。

而VB与PLC间的网口通讯更是实现了数据传输的便捷与高效。

本文将探讨VB网口与PLC通讯的相关知识,介绍其基本原理、通讯方式以及应用案例等。

一、VB网口与PLC通讯的基本原理VB网口与PLC通讯的基本原理是通过网线将VB程序与PLC 设备连接起来,实现数据的传输与交互。

在这个过程中,VB程序可以向PLC发送命令,读取或写入PLC内部的数据,同时也可以获取PLC发送的状态或数据。

这种通讯方式具有高速、稳定的特点,为工业自动化控制提供了一种可靠的手段。

二、VB网口与PLC通讯的方式1. Modbus通讯方式Modbus通讯是一种广泛使用的通讯协议,被众多PLC设备所支持。

在VB与PLC通讯中,可以通过Modbus协议实现数据的读写。

通过这种方式,VB程序可以向PLC发送Modbus命令,读取PLC中的参数或状态,并将结果反馈给用户。

2. 自定义通讯协议除了Modbus通讯方式外,还可以根据实际需求自定义通讯协议。

采用自定义通讯协议的方式可以更加灵活地进行数据的传输与处理。

VB程序与PLC通过网口连接后,通过自定义的通讯协议进行数据的读写操作,实现设备间的通讯与控制。

三、VB网口与PLC通讯的应用案例VB网口与PLC通讯的应用案例非常丰富,下面以自动化生产线为例进行说明。

假设在一条自动化生产线上,需要对不同工位的设备进行监控和控制。

通过VB网口与PLC通讯,可以实现以下功能:1. 监测设备状态:通过读取PLC中的状态位,可以实时监测设备的运行情况,如设备是否正常工作、是否存在故障等。

当设备出现异常时,VB程序可以及时发出警报并采取相应的措施。

2. 设备控制:通过向PLC发送控制命令,可以实现对设备的远程控制。

例如,当需要停止某个工位的设备时,VB程序可以向PLC发送关闭信号,PLC接收到信号后即可停止对应设备的运行。

VB通过网口与plc通讯

VB通过网口与plc通讯

VB通过网口与plc通讯在工业自动化领域,控制器之间的通讯是非常关键的一环。

而常用的通讯方式之一就是通过Visual Basic(VB)与可编程逻辑控制器(PLC)进行通讯。

通过VB与PLC的通讯,可以实现对PLC进行数据读写、实时监控和远程控制等功能。

下面将介绍一些关于VB通过网口与PLC通讯的方法和步骤。

1. 环境准备首先,需要确保环境准备工作完成。

这包括安装VB开发环境和PLC通讯驱动程序等。

在VB中,可以使用Socket或者Modbus组件来实现与PLC的通讯。

而PLC通讯驱动程序则需要根据具体使用的PLC品牌和型号进行选择和安装。

2. 确定通讯方式在进行VB与PLC通讯之前,需要确定通讯的方式。

常见的通讯方式有以太网通讯和串口通讯两种。

如果选择以太网通讯,就需要确保PLC和计算机在同一局域网内,并且能够互相访问。

而串口通讯则需要连接串口线,适用于一些没有以太网接口的老型号PLC。

3. 设置通讯参数在进行VB与PLC通讯之前,还需要设置通讯参数。

这包括PLC的通讯地址、端口号、通讯协议等。

通常可以通过PLC通讯驱动程序提供的API或者官方文档来获取这些参数,然后在VB 程序中进行设置。

4. 实现数据读写一旦通讯参数设置完毕,就可以开始实现数据读写了。

在VB 中,可以使用Socket组件来进行数据的读写。

首先需要建立与PLC的连接,然后发送数据请求并接收返回的数据。

根据PLC的不同,数据的读写方式也有所区别,常见的有读取PLC的寄存器值、写入PLC的寄存器值等。

5. 实时监控与远程控制VB通过网口与PLC通讯的一个重要应用就是实现实时监控和远程控制功能。

通过读取PLC的数据,可以实时监测工业生产过程中的各项指标,如温度、压力、流量等。

而通过写入PLC的数据,则可以对生产设备进行远程控制,如启动、停止、调节参数等。

6. 异常处理与调试在进行VB与PLC通讯的过程中,可能会出现一些异常情况,如通讯错误、连接中断等。

Vb与plc通信

Vb与plc通信

Vb与plc通信Private Const StartFlag = &HA0Private Const EndFlag = &H23Private Sub Command1_Click()Static Db() As ByteDim t() As ByteDim i As Long, j As LongCommand1.Enabled = FalsemPort = 1MSComm1.Settings = "9600,N,8,1"MSComm1.InputLen = 0MSComm1.InputMode = comInputModeBinaryMSComm1.PortOpen = TrueReDim Db(0 To 0) As ByteDim found As LongDoDoEventst = MSComm1.InputIf UBound(t) >= 0 ThenReDim Preserve Db(LBound(Db) To UBound(Db) + UBound(t) - LBound(t) + 1) As Bytej = UBound(t)For i = UBound(Db) To LBound(Db) Step -1Db(i) = t(j)Debug.Print t(j)j = j - 1If j < LBound(t) Then Exit ForNext ifound = -1For i = LBound(Db) To UBound(Db)If Db(i) = StartFlag Thenfound = iEnd IfIf Db(i) = EndFlag And found <> -1 ThenExit ForEnd IfNext iIf i <= UBound(Db) ThenDim s As StringFor j = found To is = s & Hex(Db(j)) & " "Next jMsgBox sExit DoEnd IfEnd IfLoopCommand1.Enabled = TrueMSComm1.PortOpen = FalseEnd Subvb6.0的“工程”菜单下面选择“部件”子菜单,在控件栏选择:microsoft comm control6.0 就可以在工具箱里面有该控件了三. PC与PLC通讯程序设计分析在分析具体的VB通讯程序之前,先要介绍有关VB串口通信控件MSComm的应用知识和三菱PLC 通讯协议。

VB 与 PLC 通讯

VB 与 PLC  通讯

Private Sub MSComm1_OnComm()Select Case mEventCase comEvReceive'此处添加处理接收的代码End SelectEnd Sub'发送主代码frmMain.MSComm1.Output = bytSendByte在使用MSComm控件时需注意接收是以ASCII码或二进制码详细可参阅“人名邮电出版社”的“VISUAL BASIC 串口通讯实例导航”一书。

按你提供的C2C7FAE1看为16进制数,其10进制值为-1027081503,如何处理成-99.99要看下位机是如何约定数据的来定.Text1 = &HC2C7FAE1 或Text1 = VAL(&HC2C7FAE1)一般上下位机对数字值传递通常以16位二进制数字传递,而小数点不传递,仅乘一定倍率来实现.同时16位二进制数字按两个8位(ASCII码值)输送,上位机通过程序代码处理成10进制数.串口传送数据实质是传送ASCII码,如是8位二进制数据,其ASCII码值(10进制)为0-255。

用二进制表示为00000000 - 1111111116进制表示为00 - FF传送数据大于255,则用16位二进制(即2字节ASCII码组成)。

10进制范围-32768到+32767。

如有小数,则应由上下位机约定,不进行发送。

串口通信中数制转换必须相当重视。

以上是以二进制方式收发数据。

也可直接以ASCII码的文本方式发送数据,而字节量大。

如何实现串口数据采集,如何分析这些数据?MSCOMM控件在VB6的企业版中有,需通过部件添加方式加载。

Private Sub MSComm_OnComm()Dim bytInput() As ByteDim intInputLen As IntegerSelect Case mEventCase comEvReceiveIf blnReceiveFlag ThenIf Not frmMain.ctrMSComm.PortOpen ThenmPort = intPortfrmMain.ctrMSComm.Settings = strSetfrmMain.ctrMSComm.PortOpen = TrueEnd If'此处添加处理接收的代码frmMain.ctrMSComm.InputMode = comInputModeText '按ASCII 接收intInputLen = frmMain.ctrMSComm.InBufferCountReDim bytInput(intInputLen)bytInput = frmMain.ctrMSComm.InputText1 = bytInputText2 = Text1jscd = Len(Text1)If Left(Text1, 1) <> Chr(27) Or jscd > 25 Then 'bel3.BackColor = vbRedbel3.ForeColor = vbWhitebel3.Caption = "接收信号出错!"ElseIf Left(Text2, 1) = Chr(27) And Mid(Text2, 25, 1) = Chr(13) Thenbel3.BackColor = vbGreenbel3.ForeColor = vbBlackbel3.Caption = "接收信号正常!"If Left(Text2, 6) = Chr(27) & "R0032" And jscd = 25 ThenIf Val(fa2) >= 0 And Len(fa2) = 4 Thenfa2 = "0" & Mid(fa2, 2, 3)End IffrmMain.txtSend = Chr(27) & fa0 & fa1 & "9999" & zhenkong & fa2 & fa3 & fa4 & Chr(13)lenTxtSend = Len(txtSend)bel8.Caption = txtSendbel11.Caption = lenTxtSendIf lenTxtSend = 24 ThenCall commFasongElsebel3.BackColor = vbRedbel3.ForeColor = vbWhitebel3.Caption = "发送信号出错!"End IfblL1 = Mid$(Text2, 19, 2)If blL1 = "01" Thenrecord_jmm(0) = Val(Mid$(Text2, 21, 4)) / 10 '制品1温度ElseIf blL1 = "02" Thenrecord_jmm(1) = Val(Mid$(Text2, 21, 4)) / 10 '制品2温度ElseIf blL1 = "03" Thenrecord_jmm(2) = Val(Mid$(Text2, 21, 4)) / 10 '制品3温度ElseIf blL1 = "04" Thenrecord_jmm(3) = Val(Mid$(Text2, 21, 4)) / 10 '制品4温度ElseIf blL1 = "05" Thenrecord_jmm(4) = Val(Mid$(Text2, 21, 4)) / 10 '制品5温度ElseIf blL1 = "06" Thenrecord_jmm(5) = Val(Mid$(Text2, 21, 4)) / 10 '制品6温度End Ifrecord_jm(0) = Val(record_jmm(0))record_jm(1) = Val(record_jmm(1))record_jm(2) = Val(record_jmm(2))record_jm(3) = Val(record_jmm(3))record_jm(4) = Val(record_jmm(4))record_jm(5) = Val(record_jmm(5))blL = Mid$(Text2, 7, 6)Call Hex_bin '输出口状态鉴别blLg = Mid$(Text2, 13, 6)Call hex_bin1 '输出口故障状态鉴别txtSend = ""ElsetxtSend = ""End IfEnd IfIf Not blnAutoSendFlag And Not blnReceiveFlag ThenfrmMain.ctrMSComm.PortOpen = FalseEnd IfEnd IfEnd SelectEnd Sub以上是一段MSCOMM的ONCOMM事件代码,接收的数据按上下位机约定取出赋值于全局变量,在其它窗体进行数据记录(写入数据库).至于数据分析确如一楼说的可以海阔天空,通过数据控件及SQL语句来完成任务.以下提供MSDN参考:OnComm 常数常数值描述comEvSend 1 发送事件。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
com$ = m1.Input
st = 3
Do
If Mid(com$, st, 1) = Chr(16) Then
com$ = Left(com$, st) + Right(com$, Len(com$) - 1 - st)
st = Timer
Do
DoEvents
Loop While st + 3 > Timer And m1.InBufferCount < 2
m1.InputLen = 2
com$ = m1.Input
com$ = m1.Input
If com$ <> Chr(16) + Chr(6) Then
comunicating = False
Exit Function
End If
st = Timer '等待应答
For st = 0 To 9 '显示结果
Text1.SelText = Str(tb%(st)) + Chr(32)
Next st
Text1.SelText = Chr(13) + Chr(10)
End If
End Sub
com$ = com$ + Chr(8) + Chr(0) + Chr(tns%) + Chr(0)
com$ = com$ + Chr(start) + Chr(0)
For st = 0 To UBound(n%)
com$ = com$ + Chr(n%(st) Mod 256) + Chr(Int(n%(st) / 256))
comunicating = False
Exit Function
End If
'发送确认
m1.Output = Chr(16) + Chr(6)
'得到应答
m1.InputLen = 0
Do
DoEvents
Loop While st + 3 > Timer And m1.InBufferCount < 12 + (UBound(n%)
* 2)
'超时则退出
If m1.InBufferCount < 12 + (UBound(n%) * 2) Then
tm%(4) = Rnd * 32768
If Not WriteTable(4, tm%()) Then Text1.SelText = "写入错误!!"
End Sub
Private Sub Exit_Click()
Unload Me
If comunicating Then Exit Function
comunicating = True
m1.InputLen = 0
com$ = m1.Input
com$ = Chr(16) + Chr(2) + Chr(0) + Chr(0)
End If
st = st + 1
Loop While st < Len(com$) - 4
'保存结果
For st = 0 To UBound(n%) - 1
n%(st) = 256 * Asc(Mid(com$, 2 * st + 10, 1)) + Asc(Mid(com$, 2 * st + 9,
'进行crc计算并附加到结尾。
CalcCRC com$
tns% = tns% + 1
If tns% = 256 Then tns% = 0
'发送命令
m1.Output = com$
'等待确认
End
End Sub
Private Sub Form_Load()
Comm1.PortOpen = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Comm1.PortOpen = False
End If
Next shift%
End Sub
Function WriteTable(start, n%())
Dim st, com$
'写到 PLC CIF数据表, Micrologix=N7 SLC500=N9
WriteTable = True
comunicating = False
End Function
PID程序的实现
一般而言,使用PLC进行控制的场合是不需要进行PID编程的,目前PLC中都带有PLC的控制模块,只要对有关的参数进行设置就可以很好的工作了,可谓是“傻瓜式”的控制,这也大大降低了对开发者的要求。但在使用工业板卡的场合,遇到需要进行PID控制的工艺时,如果不是采用组态软件进行开发的话,就必须使用高级语言做出PID的控制程序,这里给出一个最简单的PID控制程序,以对大家有所启发,这里使用的是PID的增量控制式。因为程序比较简单,这里不做进一步的解释,需要说明的是,这个程序虽然简单,但却有着使用性,稍作修改就可以用于工业实际,当然,仍然由进一步修改的余地,比如进行防积分饱和运算、加入滤波处理等等。代码如下:
End Sub
Function ReadTable(start, n%())
Dim st, com$
'从PLC CIF数据表中读取数据, Micrologix=N7 SLC500=N9
If comunicating Then Exit Function
Private Sub Command2_Click()
ReDim tm%(5)
tm%(0) = Rnd * 32768
tm%(1) = Rnd * 32768
tm%(2) = Rnd * 32768
tm%(3) = Rnd * 32768
rotate res&
If Asc(Mid(mes$, byt%, 1)) = 16 Then
mes$ = Left$(mes$, byt%) + Chr(16) + Right$(mes$, Len(mes$) - byt%)
byt% = byt% + 1
For shift% = 1 To 8
bitout% = res& Mod 2
res& = Int(res& / 2)
If bitout% Then
res& = res& Xor &H1000A001
res& = res& - &H10000000
End Sub
Private Sub CalcCRC(mes$)
Dim byt%, res&
'对消息进行crc校验,然后将结果添加到消息的结尾。
byt% = 3
Do
res& = res& Xor Asc(Mid(mes$, byt%, 1))
1))
Next stnicating = False
End Function
Private Sub rotate(res&)
Dim bitout%, shift%
End If
byt% = byt% + 1
Loop While (byt% <= Len(mes$) - 2)
res& = res& Xor 3
rotate res&
mes$ = mes$ + Chr(res& Mod 256) + Chr(Int(res& / 256))
m1.Output = Chr(16) + Chr(6)
If m1.InBufferCount < 12 Then
comunicating = False
Exit Function
End If
m1.Output = Chr(16) + Chr(6)
VB与AB的PLC之间通讯
AB系列的PLC一般都有专用的驱动程序用于实现PLC和计算机之间的通讯,如RSLINX就是专门用于做这项工作的,但使用RSLINX也具有一定的局限性,这里提供一个使用VB编程实现PLC和计算机之间的通讯程序,使用的协议是DF1,可以支持Micrologix、SLC500等系列的PLC。使用的代码如下:
st = Timer
Do
DoEvents
Loop While st + 3 > Timer And m1.InBufferCount < 2
'从缓冲中移除确认
m1.InputLen = 2
Next st
com$ = com$ + Chr(16) + Chr(3)
tns% = tns% + 1
If tns% = 256 Then tns% = 0
CalcCRC com$
m1.Output = com$
If com$ <> Chr(16) + Chr(6) Then
comunicating = False
Exit Function
End If
st = Timer
Do
DoEvents
相关文档
最新文档