vb 和上位机通信软件 vb上位机串口通信
发布日期:2020-09-18摘要:VB做一个串口通信的上位机控制软件,还有吗,亲! 窗体上添加一个MSCOMM,一个按钮,然后粘贴如下代码,点一下按钮,然后PLC发送数据,如果程序收到了,会给出确认消息Private Const S...
VB做一个串口通信的上位机控制软件,还有吗,亲!
"窗体上添加一个MSCOMM,一个按钮,然后粘贴如下代码,点一下按钮,然后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 = FalseMSComm1.CommPort = 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 Next 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 Dim s As StringFor j = found To is = s & Hex(Db(j)) & " "Next jMsgBox sExit DoEnd IfEnd IfLoopCommand1.Enabled = TrueMSComm1.PortOpen = FalseEnd Sub不明白的请百度HI
请问触摸屏和VB上位机之间是怎么通信的,触摸屏是威伦通型号的。
说到底还是串口通讯,通讯协议可以是标准的MODBUS协议,也可以根据产品附带的协议编写通讯程序。
维纶的屏和西门子200的PLC通讯是最简单的,用它自带的触摸屏编程软件很快就搞定。
如果实际需要的是上位机+PLC+触摸屏,个人认为最好通讯核心放在PLC,电脑上位机通过串口(RS232或者RS485)、网口或者PLC的专用通讯板卡(如西门子的5611卡)和PLC交互数据(可以用组态软件,也可以用官方提供的开发包自己写),PLC再通过串口(RS232或者RS485)与触摸屏通讯。
纯粹的触摸屏+电脑上位机的系统没怎么接触过。
实现你上面问题的功能,只需要拿到触摸屏的通讯协议(可以找厂家要,或者官网上下),根据协议给触摸屏发指令就可以了,前提是触摸屏支持这种功能。
vb用mscomm控件使用直接查MSDN(就是VB的帮助手册或开发文档)就不错(安装完VB6,再把MSDN也装上),里面说的详细还权威,再有就是找个虚拟串口的软件,这样调试程序就很方便了。
如果完全没有学过编程,建议找一本入门级的vb6的书籍看看,把基本的控件、数据类型、语法、程序结构控制等了解了就可以了,剩下的用到哪 了随时查资料就行。
有问题追问,需要资料我这有一些。
是关于VB程序的,编写一个上位机程序,读取甚至修改下位机的参数...
MSComm 作为一个串行通讯控件为程序员串口通讯编程节省了很多时间。
在基于对话框的应用中加入一个MSComm控件非常简单。
只需进行以下操作即可: 打开“Project->Add To Project->Components and Controls->Registered Activex Controls”(工程/部件/控件),然后选择控件:Microsoft Communication Control,version 6.0(Microsoft Comm Control 6.0)插入到当前的工程中。
这样就将类 CMSComm 的相关文件 mscomm.cpp 和 mscomm.h 一并加入到了工程中。
编程时只需将控件对话中的 MSComm 控件拖至你的应用对话框中就OK了。
上位机和下位机指什么?
上下位机都需要编程.baidu上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,使用一些新的API罢了。
一般对编程人员而言一看也就那么回事。
在概念上 控制者和提供服务者是上位机 被控制者和被服务者是下位机 也可以理解为主机和从机的关系 但上位机和下位机是可以转换的两机如何通讯,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。
里面会举大量例子.htm" target="_blank">http,一般取决于下位机。
TCP/IP一般是支持的。
上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。
多语言支持功能模块,水位,温度等),一般同时支持数种高级语言为上位机编程。
http://baike.baidu.com/view/554441.htm下位机下位机是直接控制设备获取设备状况的的计算机,一般是PLC/://baike,一般是PLC/单片机之类的。
但是下位机一般具有更可靠的独有通讯协议。
下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。
简言之如此,真实情况千差万别不离其宗,都有专门的开发系统;单片机之类的。
参考资料:百度百科本回答由提问者推荐答案纠错|评论 " id="evaluate-143937687" data-evaluate="172"> " id="evaluate-bad-143937687" data-evaluate="5">...
鄙人是搞电气设备方面的,我想问哈西门子S7300与上位机VB如何通...
我个人觉得你想通过PROFIBUS很难!1、如果你计算机232口接一个232-485通讯转换器,是可以完成硬件接口的转换,然后你可以用VB来实现串口通讯,但是前提是你要明白PROFIBUS通讯协议,有了这个协议的具体说明,你用VB访问串口读写CPU里的数据。
难点在于你要弄明白PROFIBUS通讯协议,而且要知道西门子PLC相应变量存储地址访问方式。
2、通过SIMATIC NET+CP5611,这个情况下你可以通过CP5611走PROFIBUS协议,然后SIMATIC NET转换成OPC服务器,这个时候你需要懂OPC协议,并开发相应的OPC通讯,去读SIMATIC NET里的数据。
3、其实我还是建议用串口直接读取,不走PROFIBUS协议,这个情况你需要在300系统里加入一块CP340或CP341,这两块通讯卡都支持自由串口通讯,自己定义协议这样就好办多了。
以上只是大概的一些提示,具体操作还是比较复杂的,有兴趣的话,自己再研究研究。
VB编写上位机监控与西门子PLC以太网通信程序,到底用winsock控件...
在概念上 控制者和提供服务者是上位机 被控制者和被服务者是下位机 也可以理解为主机和从机的关系 但上位机和下位机是可以转换的 两机如何通讯。
一般对编程人员而言一看也就那么回事。
上下位机都需要编程。
下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。
简言之如此,真实情况千差万别不离其宗,水位,温度等)。
上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备,一般是PLC/单片机之类的,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。
里面会举大量例子。
但是下位机一般具有更可靠的独有通讯协议。
多语言支持功能模块,一般取决于下位机。
TCP/IP一般是支持的。
下位机是直接控制设备获取设备状况的的计算机,使用一些新的API罢了,都有专门的开发系统上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压...
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省三明市 -
给我们发邮件
E-mail:[email protected]
在线沟通