VB 与西门子 S7-300 的通讯
西门子 S7-300 通讯协议不公开,我们无法按相应的协议写程序,但是
西门子提供给我们更为简单的方式来与之通讯。
大家可以在某些组态软件中找到这样一个 DLL:w95_s7.dll,就是这个
DLL,使的我们与 PLC 进行数据交互极为简单
在 DLL 时定义了如下一些接口函数:
PublicDeclareFunctionload_toolLib"w95_s7.dll"(ByValnr
AsByte,ByValdevAsString,adrAsType_PlcAddressType)AsLong
这个函数是初始化连接用的,这个过程比较慢,大约要 20S 左右,这大
概也是西门子为什么启动那么慢的原因吧;包括了如下几个参数:nr 是指
激活的连接数,范围是 1-4
dev 是设备名,SetPG/PC 里面有这个指定,一般用 S7ONLINE 就可以了,
adr 是指参数表,它是这样的一个 type:
TypeType_PlcAddressType
bytAddressAsByte’这是站号,默认是 2
bytPlcSegmentIDAsByte’SegmentID,默认是 0
bytPlcSlotNoAsByte’槽号,默认是 2
bytPlcRackNoAsByte’Rack 号,默认是 0
EndType
PublicDeclareFunctionnew_ssLib"w95_s7.dll"(ByValnrAs
Byte)AsLong
这个函数没用到,可以去找一些资料来看
PublicDeclareFunctionunload_toolLib"w95_s7.dll"()AsLong
’这个函数是程序退出时用的,用来断开连接
’no,amount,value
PublicDeclareFunctiond_field_readLib"w95_s7.dll"(ByValdb
AsLong,ByValnrAsLong,ByValanzAsLong,valueAsByte)AsLong
’这是读取 DB 块中数据的函数
db是指 DB 块号,比如 DB10,则这个参数指定为 10 就可以了
评论3
最新资源