用VB编写PC与S7-200通讯软件,带原代码

[复制链接]
查看11107 | 回复33 | 2007-10-18 16:06:00 | 显示全部楼层 |阅读模式

最近要做一个项目,使用S7-200,但是数据交换量不是很大,用WINCC感觉比较浪费,所以就想自己做个监控软件,就想到了用VB编写程序,来调用w95_s7.dll动态链接数据库。通过3天的努力,终于小有成果,一下是我试验基本方法。供大家参考!

1.Prodave 是用于pc 与s7 系列plc 之间的数据链接通信的工具箱。其实质就是用户通过调用“w95_s7.dll”等库函数来解决 PLC 与PC之间的数据交换和数据处理问题。 所需硬件为:CPU22x,PC/PPI编程电缆,带COM口的PC。这可能是最简单的配置,很容易实现试验的目的。这里不需要安装Prodave软件,只要把“w95_s7.dll”文件拷贝到您程序相应的目录中去即可。2.通讯设置:打开“控制面板”中“设置PG/PC接口”选项,在“应用程序访问点”列表框内选择“S7ONLINE (STEP7) PC/PPI Cable”,在其属性内的“超时”可以设置大点,这里设置为100ms,“波特率”设置为9.6kbps(因为我的pc/ppi电缆为国产的,不支持多主站),“地址”为0。3。源代码:①PLC程序:LD I0.0 MOVW 4766, VW0 ②VB程序:

****在模块中声明****:

Public plcadr As plcadrtype

Public gb_PlcConnected As Boolean

Type plcadrtype

adr As Byte ‘站地址,默认值为2

SEGMENTID As Byte ‘段标识符,固定值为0

SLOTNO As Byte ‘槽的编号,默认值为2

RACKNO As Byte ‘机架号,固定为0

End Type

Public Res As Long

Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As String, adr As plcadrtype) As Long

。。。。。。。 ‘省略其它定义函数。

Declare Function as200_vs_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long ‘读200PLC V存储区的数据函数

****在窗体中声明****

Private Sub Form_Load()

Dim buffer(1) As Byte

plcadr.adr = 2

plcadr.SEGMENTID = 0

plcadr.SLOTNO = 2

plcadr.RACKNO = 0

Res = load_tool(1, "S7ONLINE", plcadr)

Res = as200_vs_field_read(0, 2, buffer(0))

If Res <> 0 Then

MsgBox ("PLC连接错误")

gb_PlcConnected = False

Else

gb_PlcConnected = True

MsgBox ("plc连接正确")

Label1.Caption = buffer(0) * 256 + buffer(1)

End If

End Sub

通过以上程序可以正确读出PLC中的数据。之后可以扩展内容,编写一个监控软件。

[upload=rar,用vb编写pc与s7-200通讯软件,带原代码.rar]viewFile.asp?ID=1745[/upload]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
liuplc | 2008-1-1 11:20:00 | 显示全部楼层
谢谢提供
wangfec | 2008-1-11 15:56:00 | 显示全部楼层
谢谢提供
wjxin8359 | 2008-2-20 22:48:00 | 显示全部楼层
wjxin8359 | 2008-3-5 20:54:00 | 显示全部楼层
谢了,学习学习\"\"\"\"
wy1112 | 2008-3-16 19:29:00 | 显示全部楼层
[em07]
wsy123459 | 2008-4-8 21:58:00 | 显示全部楼层
非常感谢
xzx8888 | 2008-4-21 13:21:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
wangyanjian | 2008-4-28 16:07:00 | 显示全部楼层
谢谢提供
lyc1234 | 2008-4-28 17:46:00 | 显示全部楼层
谢谢楼主我下载拉,我还想请求个事情,你那有没有VB使用的OPC动态链接库啊,如果有能给我发一个吗?邮箱liyinchuan71@163.com,先谢谢镂主
ldshusheng | 2008-4-30 22:03:00 | 显示全部楼层
看看怎么样,好长时间没看了
lomeya | 2008-5-16 21:25:00 | 显示全部楼层
下载完成,好好学习.楼主辛苦了!
acion | 2009-7-6 09:51:00 | 显示全部楼层
学习下,好帖
zhun | 2009-8-17 10:27:00 | 显示全部楼层

多谢楼主的共享,

顶一下先

liuzhyb | 2009-9-2 09:27:00 | 显示全部楼层

谢谢楼主

eleven29 | 2009-9-30 19:27:00 | 显示全部楼层

谢谢楼主,楼主辛苦了。

afei5645 | 2009-11-22 00:52:00 | 显示全部楼层
测试成功吗?
fschs | 2009-12-2 09:37:00 | 显示全部楼层
谢谢楼主向大家分享
song_fei1 | 2009-12-13 11:35:00 | 显示全部楼层
太好了,正需要这个,谢谢.
438422180 | 2010-3-24 08:40:00 | 显示全部楼层
学习一下
l414685689 | 2010-4-11 17:08:00 | 显示全部楼层
cvbhghfghfghfghfghfgh
19870418 | 2010-4-14 10:35:00 | 显示全部楼层
我正准备学习VB,
ouyang5460 | 2010-6-20 09:50:00 | 显示全部楼层
好东西收藏了。。。
huoxing_99 | 2010-8-6 11:52:00 | 显示全部楼层
谢谢楼主
kl_kf | 2010-8-23 11:43:00 | 显示全部楼层
谢谢楼主, 可否由直接 PC 经过 485 对 S7-200 的通讯方式? (类似 三菱的 485BD 对 PC 的通讯方式的编程 ?
ankaona | 2010-8-25 17:57:00 | 显示全部楼层
xiexie study
shenjie | 2010-10-1 10:42:00 | 显示全部楼层
学习
ahljj | 2010-10-21 13:45:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
ip1688 | 2010-11-29 13:53:00 | 显示全部楼层
感谢楼主的资料
wufengdj | 2010-11-30 16:53:00 | 显示全部楼层
最近想做单片机和PLC通信,希望能够参考下!谢谢!!
huoxing_99 | 2011-1-4 00:31:00 | 显示全部楼层
好思路。。。。。。。。。。
diguodasha | 2011-6-16 09:04:00 | 显示全部楼层
十分感谢 最近正在看这类的东西
qiaolinteng | 2011-8-16 15:20:00 | 显示全部楼层
谢谢
zwk34 | 2021-12-22 11:28:58 | 显示全部楼层
看看,效果如何。
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则