上位机vb毕业论文(VB实现PLC与上位机通信)

1.VB实现PLC与上位机通信

可利用OPC服务器来完成,比较方便。

可适用于各类PLC。 下面以西门子PLC为例说下实现方法: 一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC 300站和一个PC 站,其中PLC站中第四个槽安装的CP343模块。

PC站的第一个槽 为OPC SERVER ,第三个槽为 IE GENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接) 二、通过station configurator软件 配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE (STEP7)--->;PC internal(local))。 三、打开OPC Scout,(Start>;SIMATIC>;SIMATICNet>;OPC Scout), 双击“OPC SimaticNet”在随之弹出的“ADD Group”对话框中输入组名,本例命名为“OPC”。

点击OK 确认 ; ;双击已添加的连接组(OPC),即弹出“OPC Navigator”对话框,此窗口中显示 所有的连接协议。双击“S7”,在PC Station 组态NetPro 中所建的连接名会被显示(S7 connection_1)。

双击此连接,即可出现有可能被访问的对象树(objects tree),在PLC CPU 中已存在的DB 块也会出现 以上完成的OPC SERVER部分的配置。 四、用VB编写了OPC客户端应用程序。

主要程序代码如下: 在VB中引在VB中还要引用 siemens opc daautomation 2.0 (1) 连接OPC服务器 Dim WithEvents MyOPCServer As OPCServer '定义服务器对象变量MyOPCServer Dim WithEvents MyOPCGroup As OPCGroup '定义OPC组对象变量MyOPCGroup Set MyOPCServer = New OPCServer MyOPCServer.Connect " OPC.SimaticNET" '连接SIMATICNET 的OPC服务器 (2) 添加OPC组对象 Set MyOPCGroup=MyOPCServer.OPCGroups.Add("Group1") '添加OPC组对象 MyOPCGroup.IsSubscribed= True '设置该组数据为后台刷新 MyOPCGroup.IsActive = True '设置该组为激活状态 MyOPCGroup.UpdateRate=1000 '设置数据刷新时间为1000 (3) 添加数据项 Dim abItemIDs() As String '项标识符 Dim abClientHandles() As Long '客户端句柄 Dim abServerHandles() As Long '服务器端句柄 Dim abErrors() As Long Dim i As Long ItemCount=3 abItemIDs(1) = " S7:【S7 connection_1】IB1" abItemIDs(2) = " S7:【S7 connection_1】MB1" abItemIDs(3) = " S7:【S7 connection_1】QB1" for i=1 to 3 abClientHandles(i) = i '给客户端句柄赋值 Next MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors '添加数据项操作 (4) 同步数据读写 OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。

同步读写数据简单,直接使用OPCItem的方法即可。 Dim One As OPCItem Dim Index As Long 'Index为标签顺序号 Dim OneRead As String Dim Xie As String Set One = MyOPCGroup.OPCItems(Index) One.Read OPCCache OneRead = One.Value '读数据 MyOPCGroup.SyncWrite ItemCount, ServerHandles, valuess, Errors '同步写数据 MyOPCGroup.SyncRead OPCCache, ItemCount, ServerHandles, ReadValue, Errors '同步读数据 One.Write (Xie) '写数据 若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。

Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date) '自动刷新数据 Dim i As Long For i = 1 To NumItems txtValue(ClientHandles(i)) = ItemValues(i) '获取项的值 txtTime(ClientHandles(i)) = TimeStamps(i) '获取项的时间戳 txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i)) '获取项的品质 Next i End Sub (5) 断开OPC服务器 MyOPCServer.OPCGroups.RemoveAll '移除所有OPC Group,空出资源 Set MyOPCGroup = Nothing MyOPCServer.Disconnect '断开连接。

2.毕业论文 基于modbus的plc与上位机的通信

1 引言 随着微电子技术和计算机技术的进步,可编程控制器以其可靠性高、抗干扰强、开发周期短,已经成为一种较为普及的、适应多种应用环境的工业控制器。

现已从最初的简单顺序控制、逻辑控制发展到可进行模拟量控制、位置控制,特别是PLC与PLC、PLC与计算机通信功能的实现,可组成多级控制系统,形成工厂自动化网络。PLC可以多种方式如直接采用现有的组态监控软件与上位监控机通信,但针对小规模的控制系统,找到一种高性价比的通信方法,具有积极的实际意义。

本文就是讨论如何利用Modbus通信协议来实现施耐德电器公司的NanoPLC与上位监控PC机的通信。2 硬件描述及串口设置2.1 接口电路设计 PLC与PC间实现通信,可使二者互补功能上的不足,PLC用于控制方面既方便又可靠,而PC机在图形显示、数据处理、打印报表以及中文显示等方面有很强的功能。

因此,各PLC制造厂家纷纷开发了适用于本公司的各种型号PLC机通信的接口模块,不同的通信方式,有着不同的成本价格和不同的适用范围。NanoPLC的CPU单元本身带有1个RS-485扩展口,可不配备专用通讯模块,而通过此接口与上位机进行串行通信。

在此介绍一种通过PLC的RS485扩展口与PC机的RS-232串行口进行通信的方法。由于NanoPLC的扩展口采用RS-485标准,RS485是RS422的变型。

RS422为全双工,可同时发送与接收;RS485则为半双工,在某一时刻,1个发送另1个接收。RS485是一种多发送器的电路标准,允许双导线上1个发送器驱动32个负载设备,负载设备可以是被动发送器、接收器或收发器。

而计算机的串行口采用RS-232标准。因此,作为实现PLC与计算机通信的接口电路,必须将RS-485标准转换成RS-232标准。

我们利用SC-485转换器实现RS485与RS232之间的转换。转换电路如图1所示。

图1 RS485与RS232转换电路图2.2 PLC串行口设置 施耐德的NanoPLC对通信参数的设置通过设置扩展口来实现,系统采用PC 机作为Modbus通信网络主站,NanoPLC作为从站。通信格式设置如下:波特率4800bps,图2 PLC串行口设置8位数据位,1位停止位,无奇偶校验。

如图2所示。2.3 PC机的串口初始化 在微机数据通信中,经常使用大规模集成串行接口电路芯片,它们的种类和型号很多,如UART、USRT、USART等。

能完成异步通信的硬件电路称为UART。作为可编程的异步串行通信芯片UART,应根据协议的要求对其初始化。

可编程串行异步通信控制器8250是IBM PC串行通信控制器I/O接口电路的核心,通过对8250的编程,可以控制串行数据传送格式和速度。PC机有2个串行通信接口COM1和COM2。

若选COM1,则8250各寄存器地址为3F8H~3FEH;选COM2,则8250各寄存器地址为2F8H~2FEH。这里介绍用Tubro C直接对PC机中的UART 8250中各寄存器进行初始化。

本例采用COM2口,初始化如下:outportb(0x2fb,0x80); /*btp=4800*/ outportb(0x2f8,0x18); outportb(0x2f9,0x0); outportb(0x2fb,0x1b); /*initialize (8、1、n)*/ outportb(0x2f9,0x0); outportb(0x2fc,0x3);3 软件描述3.1系统通信协议 NanoPLC采用Modbus通信协议。任何根据此通信协议进行通信的主、从机之间进行数据信息交换时,信息格式都必须遵守通信协议所规定的格式。

Modbus的数据交换模式有2种,1种为ASCII编码制,1种为RTU编码制。本例采用RTU码传输模式,它包括一些特殊标志码、PLC站号、呼叫字和校验码等,其数据帧格式如附表。

(1) 帧开始:数据帧以至少3.5个字符间隔时间(T1-T2-T3-T4)标志开始和结束。整个信息帧必须以连续的信号进行传输,从而保证CRC的校验正确。

(2) 从站地址:1个字节。各从站识别码,站号取值范围01H-F7H,共有247种不同站。

但Nano系列PLC通讯网络最多允许32个从站。(3) 功能号:1个字节。

表示主站对从站的各种操作工作,主机发功能号给从机,如果从机响应正常,则回送相同的功能码;如有错误发生,则将原功能码符号位置“1”后回送,并将错误代码写入数据区回送。各功能号具体功能如下:01或02:读n个内部位%Mi03或04:读n个内部字%Mwi05:写1个内部位%Mi06:写1个内部字%Mwi15:写n个内部位% Mi16:写n个内部字%Mwi(4) 数据区:数据区由一串2位16进制数据组成,从00-FFH。

如果通信正确,数据区存放PLC回应上位机的信息;如发送数据有误,则返回异常代码。NanoPLC处理的2种异常代码:*01:功能未知(PLC不支持的请求) 如发送: 01H 16H 00H 00H FFH 00H 09H F9H 返回: 01H 96H 01H 8EH 60H*03:无效数据(位或字的数据错误,如写位时数据既非16#FF00,又非16#0000) 如发送:01H 05H 00H 00H 03H 06H 4DH 38H 返回:01H 85H 03H 02H 91H(5) 校验码:2个字节。

采用CRC循环冗余码。它的基本原理是将一段信息看成一个很长的二进制数,然后用一个特定的数(如11021H)去除它,最后将余数作为校验码附在信息代码之后一起传送(或存储),在进行接收(或读出)时进行同样的处理,如有差错就可发现。

需特别注意的是,如果发送信息中的CRC校验码计算错误,则通信不能成功。3 按。

3.紧急求助:鄙人要写一篇关于VB的论文

1991年,美国微软公司推出了Visual Basic(可简称VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。

Visual 意即可视的、可见的,指的是开发像windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。 Basic 实际上是一个短语的缩写,这个短语就是 Beginners all_purpose symbolic instruction code ,其中文意思为“初始者通用符号指令代码语言”。

Visual Basic有学习版、专业版和企业版三种版本,以满足不同的开发需要。学习版适用于普通学习者及大多数使用Visual Basic开发一般Windows应用程序的人员,但是;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序。

VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windowsr专业开发工具SDK相媲美。

在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。

5.0版以后,Visual Basic推出了中文版,与前个版本相比,其功能有了很大提升。 但是,功能再强大,Visual Basic仍然有一个缺点:在没有MSVBVM**.DLL的计算机上必须安装所需的DLL文件。

用它可设计操作系统,不过,比较困难。 在二十一世纪初,microsoft公司推出Visual Studio 2003与Visual Basic之间有了重大变化,Visual Studio为各种编程工具做了一个平台,Visual Basic.NET可在这种平台上运行。

相对于传统VB,有很大的不同。VB.Net,首次使用.Net构架进行可视化编程,并且能很好地与COM构架兼容。

2005年Visual Studio 2005则运用了NET 2.0的技术,更加的方便了程序员的工作。可是新的程序对系统配置要求也较高,需要微软.Net Framework 2.0以上的.Net构架支持。

2007年12月,微软(Microsoft)推出了Visual Studio 2008 Beta 2 发生了重大的变化(见附图)在代码输入的时候,可以比VB2005快很多,在非特殊的情况下,VB2008都会自动开启 自动完成关键字 这个命令 而且开始支持最新的.NET Framework 3.5 Beta 2。

4.我的毕业论文 基于modbus的plc与上位机的通信

先熟悉MODBUS协议规范 网上一搜一堆 对于上位机通讯 只需要定义4个区 OX0 OX1 OX3 OX4

OX0 离散量只读 相当于DI OX1离散量读写 相当于DO

OX3 读取过程量 OX4 读写数据 相当于位内存M区

不同的PLC对应的MODBUS地址也不同 如果是施耐得的TWIDO或者M340 只支持M区读取 对于上位机变量

只是OX1 OX4

上位机那边简单 把通讯配置好 波特率 奇偶校验 停止位等 在该连接下按照上述我说的建立变量连接就可以

5.求VB写的上位机程序,与51单片机之间进行通信

用mscommand32控件,设置好波特率等,设置方式是binary,不要用text方式。然后你要把文本框中的string "0x55" 转成数字的0x55,然后用mscomm1.output输出,单片机就能收到了。你设置好事件中断,mscomm1.RThreshold=1 当单片机发一个字节时,就会产生这个中断,你就可以到mscomm1.input里收到这个字节了。

easy, if any problem contact me freely. qq.1057106

6.VB 上位机程序与PLC通讯

'窗体上添加一个MSCOMM,一个按钮,然后粘贴如下代码,点一下按钮,然后PLC发送数据,如果程序收到了,会给出确认消息

Private Const StartFlag = &HA0

Private Const EndFlag = &H23

Private Sub Command1_Click()

Static Db() As Byte

Dim t() As Byte

Dim i As Long, j As Long

Command1.Enabled = False

MSComm1.CommPort = 1

MSComm1.Settings = "9600,N,8,1"

MSComm1.InputLen = 0

MSComm1.InputMode = comInputModeBinary

MSComm1.PortOpen = True

ReDim Db(0 To 0) As Byte

Dim found As Long

Do

DoEvents

t = MSComm1.Input

If UBound(t) >= 0 Then

ReDim Preserve Db(LBound(Db) To UBound(Db) + UBound(t) - LBound(t) + 1) As Byte

j = UBound(t)

For i = UBound(Db) To LBound(Db) Step -1

Db(i) = t(j)

Debug.Print t(j)

j = j - 1

If j Next i

found = -1

For i = LBound(Db) To UBound(Db)

If Db(i) = StartFlag Then

found = i

End If

If Db(i) = EndFlag And found -1 Then

Exit For

End If

Next i

If i Dim s As String

For j = found To i

s = s & Hex(Db(j)) & " "

Next j

MsgBox s

Exit Do

End If

End If

Loop

Command1.Enabled = True

MSComm1.PortOpen = False

End Sub

不明白的请百度HI

上位机vb毕业论文

转载请注明出处众文网 » 上位机vb毕业论文(VB实现PLC与上位机通信)

资讯

问卷型毕业论文题目性质(本科毕业论文选题性质说明)

阅读(83)

本文主要为您介绍问卷型毕业论文题目性质,内容包括本科毕业论文选题性质说明,问:论文题目的性质是什么意思急~~,毕业论文选题的性质都有几种。去百度文库,查看完整内容>内容来自用户:杨桥柳本科毕业论文选题说明毕业论文的性质、目的与任务按

资讯

模拟炒股毕业论文(求一篇模拟炒股论文,悬赏100分)

阅读(76)

本文主要为您介绍模拟炒股毕业论文,内容包括求一篇模拟炒股论文,悬赏100分,我要写一篇关于股票的论文(我们这学期在网上模拟炒股了)希望,我的股票操作规划论文1500字。在股市里面,只有三件事情是可以确定的:1.你买的股票名称,所代表的公司。2.你

资讯

页眉上毕业论文题目太长怎么办(论文题目过大怎么办)

阅读(91)

本文主要为您介绍页眉上毕业论文题目太长怎么办,内容包括论文题目过大怎么办,毕业论文封面の题目太长该怎么办,使用latex软件,其页眉显示标题内容,由于标题太长,不能一行显示,。创新医学网 上对医学论文的写作辅导有很全面的讲解 人们常

资讯

毕业论文三万字写多久(论文一般要写多少字)

阅读(99)

本文主要为您介绍毕业论文三万字写多久,内容包括一般写一篇3万字的硕士毕业论文需要多长时间,三万字硕士毕业论文要多久才能写完,写一篇三万字的硕士论文要多久。一般而言,专科毕业文正文字数一般应在5000字以上,非21985的学校的本科毕业论文

资讯

临床检验专业毕业论文(医学检验毕业论文有哪些题目)

阅读(81)

本文主要为您介绍临床检验专业毕业论文,内容包括医学检验毕业论文题目,医学检验本科毕业论文格式及范文,医学检验毕业论文怎么写呢学校要求自选题目,更不知道从哪方面入。网上很多题目,都不是原创,最好别用。之前也是网上down的一篇,老师直接

资讯

毕业论文所有人都是良(毕业答辩成绩好坏有没有影响)

阅读(187)

本文主要为您介绍毕业论文所有人都是良,内容包括有毕业生论文必须是良以上才能读研的说法么,保研毕业论文良以上包括良吗,毕业设计良等于多少分。会影响毕业论文的成绩,只要及格就行了。毕业论文答辩是一种有组织、有准备、有计划、有鉴定的

资讯

餐盒设计的毕业论文(方便饭盒上盖注塑模设计毕业论文)

阅读(84)

本文主要为您介绍餐盒设计的毕业论文,内容包括方便饭盒上盖注塑模设计毕业论文,毕业设计课题《常用塑料饭盒注射模设计》我只需要这个课题的目的,写一篇关于一次性餐具的利与弊的论文。我毕业的时候就是这个题目的论文,你看看是不是这份图纸

资讯

stm32毕业论文设计结论(毕业设计论文结束语怎么写)

阅读(76)

本文主要为您介绍stm32毕业论文设计结论,内容包括毕设结论怎么写,毕业论文的结论怎么写啊,要求多少字啊,毕业设计论文结束语怎么写。要写500字左右2、首先说本文研究的成果是什么,简单总结一下;然后说本文研究时间有限,还有许多问题没解决;最后

资讯

学院毕业论文专项检查总结(毕业论文总结怎么写)

阅读(60)

本文主要为您介绍学院毕业论文专项检查总结,内容包括毕业论文总结怎么写,毕业论文学生工作总结怎么写,论文的检查方式和检查情况该怎么填。原发布者:lidajian9781.结论写作的内容结论既然不能简单重复研究结果,就必须对研究结果有进一步的认

资讯

毕业论文好写的题目有哪些(论文选什么题目好写)

阅读(56)

本文主要为您介绍毕业论文好写的题目有哪些,内容包括论文选什么题目好写,毕业论文什么题目好写,毕业论文哪些题目比较好写。选择具有现实意义的题目。我们选的题目,应是与社会生活密切相关、为众人所关心的问题,是亟待解决的问题。这类问题反

资讯

药房药事管理方面的毕业论文(药事管理论文)

阅读(65)

本文主要为您介绍药房药事管理方面的毕业论文,内容包括药事管理论文,求一篇关于药学的论文,药房管理类有关论文范文,与药房管理的体会相关论文怎么写。中草药是我国几千年传统文化的结晶,是中华文化的瑰宝。几千年来,无数的中华儿女为中草药

资讯

问卷型毕业论文题目性质(本科毕业论文选题性质说明)

阅读(83)

本文主要为您介绍问卷型毕业论文题目性质,内容包括本科毕业论文选题性质说明,问:论文题目的性质是什么意思急~~,毕业论文选题的性质都有几种。去百度文库,查看完整内容>内容来自用户:杨桥柳本科毕业论文选题说明毕业论文的性质、目的与任务按

资讯

模拟炒股毕业论文(求一篇模拟炒股论文,悬赏100分)

阅读(76)

本文主要为您介绍模拟炒股毕业论文,内容包括求一篇模拟炒股论文,悬赏100分,我要写一篇关于股票的论文(我们这学期在网上模拟炒股了)希望,我的股票操作规划论文1500字。在股市里面,只有三件事情是可以确定的:1.你买的股票名称,所代表的公司。2.你

资讯

页眉上毕业论文题目太长怎么办(论文题目过大怎么办)

阅读(91)

本文主要为您介绍页眉上毕业论文题目太长怎么办,内容包括论文题目过大怎么办,毕业论文封面の题目太长该怎么办,使用latex软件,其页眉显示标题内容,由于标题太长,不能一行显示,。创新医学网 上对医学论文的写作辅导有很全面的讲解 人们常

资讯

毕业论文三万字写多久(论文一般要写多少字)

阅读(99)

本文主要为您介绍毕业论文三万字写多久,内容包括一般写一篇3万字的硕士毕业论文需要多长时间,三万字硕士毕业论文要多久才能写完,写一篇三万字的硕士论文要多久。一般而言,专科毕业文正文字数一般应在5000字以上,非21985的学校的本科毕业论文

资讯

临床检验专业毕业论文(医学检验毕业论文有哪些题目)

阅读(81)

本文主要为您介绍临床检验专业毕业论文,内容包括医学检验毕业论文题目,医学检验本科毕业论文格式及范文,医学检验毕业论文怎么写呢学校要求自选题目,更不知道从哪方面入。网上很多题目,都不是原创,最好别用。之前也是网上down的一篇,老师直接

资讯

毕业论文所有人都是良(毕业答辩成绩好坏有没有影响)

阅读(187)

本文主要为您介绍毕业论文所有人都是良,内容包括有毕业生论文必须是良以上才能读研的说法么,保研毕业论文良以上包括良吗,毕业设计良等于多少分。会影响毕业论文的成绩,只要及格就行了。毕业论文答辩是一种有组织、有准备、有计划、有鉴定的

资讯

观光农业农业毕业论文提纲(生态农业论文)

阅读(72)

本文主要为您介绍观光农业农业毕业论文提纲,内容包括生态农业论文,关于农业的毕业论文,生态农业论文。摘要:21世纪是农业持续发展的世纪。随着人们物质生活水平的提高,绿色消费将会成为本世纪的主要消费趋势,生态农业将作为绿色需求是农业发展