vb vb与s7 300通讯-VB与西门子s7-300通讯,提示w95_s7.dll未找到

问题描述

VB与西门子s7-300通讯,提示w95_s7.dll未找到

我想使用VB与西门子s7-300通讯,使用了w95_s7.dll动态链接库。其代码如下:
在公共模块里:

Option Explicit
Public Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As String, adr As PlcAdrType) As Long
Public Declare Function db_read Lib "w95_s7.dll" (ByVal blockno As Long, ByVal no As Long, Amount As Long, value As Byte) As Long
Public Declare Function db_write Lib "w95_s7.dll" (ByVal blockno As Long, ByVal no As Long, Amount As Long, value As Byte) As Long

Type PlcAdrType
ADDRESS As Byte
SEGMENTID As Byte
SLOTNO As Byte
PACKNO As Byte
End Type

在窗口页面,我建了按钮,按钮下代码如下:
Dim i As Long
Dim a11 As PlcAdrType
a11.ADDRESS = 2
a11.SEGMENTID = 0
a11.SLOTNO = 2
a11.PACKNO = 0
i = load_tool(1, "S7ONLINE", a11)
If (i <> 0) Then
MsgBox ("连接成功")
Else
MsgBox ("连接失败")
End If

运行程序后,点击按钮就会提示我,w95_s7.dll文件未找到,请问列为大神,到底哪里出了问题?

解决方案

把dll放到exe、目录I下

时间: 2025-01-30 10:29:47

vb vb与s7 300通讯-VB与西门子s7-300通讯,提示w95_s7.dll未找到的相关文章

vb与s7 300通讯-VB与西门子s7-300通讯,提示w95_s7.dll未找到

问题描述 VB与西门子s7-300通讯,提示w95_s7.dll未找到 Option Explicit Public Declare Function load_tool Lib "w95_s7.dll" (ByVal nr As Byte, ByVal dev As String, adr As PlcAdrType) As Long Public Declare Function db_read Lib "w95_s7.dll" (ByVal blockno A

代码-vb与c#之间通信,VB不能正常接收数据

问题描述 vb与c#之间通信,VB不能正常接收数据 两个程序之间用WM_COPYDATA方法传递数据,现在VB向c#发送数据,c#可以正常接收(不管VB发送的数据有多长):c#向VB发送的数据长度小于50,VB能正常接收.问题是c#向VB发送的数据长度大于50的话,VB只能接收前50个,不知道问题出现在哪,请各位高手帮忙看一下,也可qq联系我45262121,另源程序代码附上 解决方案 最好把vb接收部分的代码贴一下,把API和结构体的声明类型贴出来. 解决方案二: VB接收部分的代码: Fun

mdk5-观察到一个现象:usb HID设备在成功枚举完了之后就与主机不通讯了,怎么重新开始通讯呢?

问题描述 观察到一个现象:usb HID设备在成功枚举完了之后就与主机不通讯了,怎么重新开始通讯呢? stm32f103zet6,开发环境mdk517,用的是st官方给的hid的键盘的例程,usb能成功被枚举,而且显示有一个标准的输入设备,但是我再debug模式下起初在枚举阶段我能看到在中断函数中设置的中断点出停下来,说明主机给设备发了一些东西,但是当主机成功枚举之后,pc上显示这个设备运转正常,这个时候再在中断函数中任何地方设置断点都没有作用,也就是说这时主机就没有给设备发in包,那岂不是直接

WCF双工通讯以及客户端间的间接通讯

原文:WCF双工通讯以及客户端间的间接通讯 由于学习计划安排不当,对WCF的认知一直停滞不前,最近工作上又用回了WCF,重拾一下,看到蒋老师介绍双工通讯的博文,实践一下,积累一下.原想着WCF的双工通讯就是原本的客户端能调用服务端的方法之余,服务端同样也能调用客户端的方法.把博文看了一遍之后发现这个双工实际上是借助了方法回调实现的.那么下面先介绍一下最基本的双工通讯形式,再介绍一下鄙人利用双工通讯设计了一种形式. WCF通讯都是基于方法调用进行信息交互和传递,在开发基本模式的时候也需要往服务端下

VB外接程序的设计- 得到VB的控制权

程序|控制|设计 VB外接程序的设计一,得到VB的控制权首先,外接,故名思意,当然必须是要和vb一起启动!在新建一外接工程后.新工程中设计器中有 Conncet.Dsr有这一元件,元件中有最为关键的一个事件 Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As

VB外接程序的制做-在VB中创建您自己工具条和菜单

菜单|程序|创建|工具条 VB外接程序的制做二,在VB中创建您自己工具条和菜单 创建工具条依然需要使用到VBI,只要和VB打交道,必须有它,同时在上篇文章所阐述的菜单项的制做方法是对你现在即将做的工作有用的.有一点你必须知道,无论是创建按钮,还是创建菜单项,他们之间是没有区别的.只是有一些地方有一点点不同而已. 怎样创建工具条呢?非常简单. VBI.CommandBars.Add cbsToolsBarName 此方法后面当然有其它可选参数,但是有些东西对于现在我要阐述的问题是无关的. Func

VB.NET全局键盘鼠标钩子[Vb.Net Hook](修正版)

原文有些BUG,因为这是段我从C#中转换而来的代码,所在最初的转换中因为两种语言的性质不同,所以无法完全兼容一些特性. 当然,现在的我已经完全有能力兼容两种语言的特性了,所以就重写了本段代码,将原代码中的事件检测,以及原代码中的KeyPress 时间无法检测输入字符大小写的BUG消除(在此感谢verywzm 同志) . 注意:本段代码如果想要在VS中运行,请将[工程属性] - [调试] - [启动 Visual Studio 宿主进程 ] 设置的勾去掉,或者使用 CTRL+F5 进行编译后调试!

vb编程-三菱plc与上位vb编的界面间以太网通信

问题描述 三菱plc与上位vb编的界面间以太网通信 用vb的winsock编了个服务器,三菱plc做客户端,但一直连接不上,vb还需要装什么驱动软件吗,三菱plc用的是Q系列的,求指点 解决方案 求大神指点呀,江湖救急呀

vb net- if(PalindromeFound != null){}怎么用vb写

问题描述 if(PalindromeFound != null){}怎么用vb写 Public Event EventHandler PalindromeFound if(PalindromeFound != null){ PalindromeFound(this,EventArgs.Empty); }