VB实现PLC与上位机通信

头像
美丽苗条龙龙   2021-09-19   4453浏览
已有64条回答
头像
水里漂浮的雨
2023-03-28

可利用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
  ‘断开连接

187

头像
粉恋桃心
2022-12-30

用VISUALBASIC实现上位机和PLC的通讯

论文摘要:本文以OMRON C200HS PLC为例,介绍了如何用VISUAL BASIC编程软件实现上位机和PLC的通讯,该方案具有硬件简单,使用灵活的特点.对串小型控制系统实现通讯有一定的参考价值.

论文名称: 用VISUALBASIC实现上位机和PLC的通讯
作 者: 余松 赵忠堂 甘川
专业类别:
论文来源: 转载
刊载杂志: 电气传动

地址:shejis.com/upload_file/upload_lw/2007-5-14lw-wy/200712492035.rar

131

头像
无敌炒米饭
2022-08-31

是232通信吗?你可以看串口调试工具的vb的源代。网上面很容易找到的。

28

头像
我想我是海啊
2021-12-29

skycn.com/soft/25414.html

46

相关问题

用51单片机实现与上位机无线通信
天使之懿727 1970-01-01

比如说温控系统,具体怎样做才能在上位机显示温度变化曲线,具体怎样通信呢?用什么原件??

PLC与变频器上位机通信程序设计
fionazhang77 1970-01-01

最好能有详细点的资料,要写这方面的论文了 ,万分感谢

毕业论文 基于modbus的plc与上位机的通信
起舞徘徊风露下 1970-01-01

跪求!基于modbus的PLC与上位机的通信有没有高手有论文啊。没有论文有代码也行的。没有代码有个大纲也行的。我等着救命呢。高手帮帮忙呀。

毕业论文“基于plc与单片机的通讯系统的设计与实现”可以解决么?
MyronKiven 1970-01-01

用51单片机,有实物求原理图。。。。。。5000字左右。。。。。

如何通过VB的人机界面实现对变频器的分布式网络控制
天道酬勤1212 1970-01-01

请高手指点介绍几本这方面的书 最好是能够给我vb源代码或者编好了的控制软件

最新问答

排水论文在哪发?
伊兰0518 2021-09-19

小区市外排水论文发哪个杂志可以呢?我需要发表一篇这方面的论文。

word转pdf,为什么不显示图片图片?
花花的老妈 2021-09-19

我想把论文从word格式转换成PDF格式,用的金山WPS,可转换完成之后,里面的流程图就不见了,空白~~这是为什么呢?谁能帮我解决一下!谢谢!

公众号与小程序有什么区别
汤糖躺烫湯 2021-09-19

公众号与小程序有什么区别

如何制作电子小报
dream959595 2021-09-19

镀铬什么意思
autumngold 2021-09-19

镀铬什么意思

中国电影艺术的思想
幸福顺延 2021-09-19

中国针灸大纲作者是谁?
王子麻麻 2021-09-19

热门问答

排水论文在哪发?
伊兰0518 2021-09-19

小区市外排水论文发哪个杂志可以呢?我需要发表一篇这方面的论文。

word转pdf,为什么不显示图片图片?
花花的老妈 2021-09-19

我想把论文从word格式转换成PDF格式,用的金山WPS,可转换完成之后,里面的流程图就不见了,空白~~这是为什么呢?谁能帮我解决一下!谢谢!

公众号与小程序有什么区别
汤糖躺烫湯 2021-09-19

公众号与小程序有什么区别

如何制作电子小报
dream959595 2021-09-19

镀铬什么意思
autumngold 2021-09-19

镀铬什么意思

中国电影艺术的思想
幸福顺延 2021-09-19

中国针灸大纲作者是谁?
王子麻麻 2021-09-19

Coptyright © www.lw85.com电脑版