以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]第三方DLL引用问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122602) |
||||
-- 作者:54292550 -- 发布时间:2018/7/29 12:29:00 -- [求助]第三方DLL引用问题 VB.net 引用代码有示例。怎么转换到foxtable里面? Namespace WinTcpS7 Public Class PlcClient Public Sub New() Public Function Bit_Reset(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort) As Short Public Function Bit_Set(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort) As Short Public Function Bit_Test(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort) As Boolean Public Function Bit_Test(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort, ByRef State As Boolean) As Short Public Function CmdRead(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort) As String Public Function CmdRead(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Redata() As String) As Short Public Function CmdRead(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Redata() As Object) As Short Public Function CmdReadString(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, PlcDataSize As UShort) As String Public Function CmdWrite(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Data() As String) As Short Public Function CmdWrite(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Data() As Object) As Short Public Function CmdWriteString(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, PlcDataSize As UShort, Data As String) As Short Public Function DataConvert(SourType As DataType, SourData As Object, DestType As DataType, ByRef DestData As Object, Optional StartByte As Short = -1) As Short Public Function DeLink(Handle As Integer) As Short Public Function EntLink(pcIP As String, pcPort As UShort, plcIP As String, plcPort As UShort, Rack As UShort, Slot As UShort, SN As String, ByRef Handle As Integer, Optional WaitTime As UShort = 2000) As Short Public Function GetDataBit(Data As Integer, Bit As Short) As Boolean Public Function SetDataBit(Data As Integer, Bit As Short, SetVal As Boolean) As Integer Public Enum DataType INT16 = 1 UINT16 = 2 DINT32 = 3 HEX32 = 4 REAL32 = 5 BIN16 = 6 CHAR8 = 7 BYTE8 = 8 End Enum Public Enum PlcMemory DI = 1 DQ = 2 MR = 3 DR = 4 AI = 5 AQ = 6 End Enum End Class End Namespace 调用连接 Dim re As Short Dim restr As String = "" re = PLC.EntLink(Trim(txtLocalIP.Text), CUShort(txtLocalPort.Text), Trim(txtRemoteIP.Text), CUShort(txtRemotePort.Text), 0, 2, "DEMO", Handle1) [此贴子已经被作者于2018/7/29 12:32:29编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/7/29 16:09:00 -- 全局代码
Public Class PlcClient Public Function Bit_Reset(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort) As Short Public Function Bit_Set(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort) As Short End Function Public Function Bit_Test(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, Bit As UShort, ByRef State As Boolean) As Short Public Function CmdRead(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort) As String Public Function CmdRead(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Redata() As String) As Short Public Function CmdRead(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Redata() As Object) As Short Public Function CmdReadString(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, PlcDataSize As UShort) As String End Function Public Function CmdWrite(Handle As Integer, Memory As PlcMemory, ValType As DataType, Block As UShort, Address As UShort, Count As UShort, ByRef Data() As Object) As Short Public Function CmdWriteString(Handle As Integer, Memory As PlcMemory, Block As UShort, Address As UShort, PlcDataSize As UShort, Data As String) As Short End Function End Function End Function End Function End Function
Public Enum DataType
|
||||
-- 作者:有点甜 -- 发布时间:2018/7/29 16:10:00 --
具体vb.net实例发上来测试。
|
||||
-- 作者:54292550 -- 发布时间:2018/7/29 16:43:00 -- 甜老师,,这个是不是一个托管的DLL?
|
||||
-- 作者:有点甜 -- 发布时间:2018/7/29 17:37:00 -- 1、你WinTcpS7.dll的版本不对,请去找一个 .net 2.0 或者 .net 3.5 的版本。
2、在foxtable直接引用dll,然后照抄调用的代码即可 |
||||
-- 作者:54292550 -- 发布时间:2018/7/29 17:38:00 -- 直接引用dll。。。。 报错: .NET Framework 版本:2.0.50727.8825 Foxtable 版本:2018.3.9.1 错误所在事件:窗口,窗口1,Button1,Click 详细错误信息: 未能加载文件或程序集“WinTcpS7, Version=3.4.0.2, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。 |
||||
-- 作者:有点甜 -- 发布时间:2018/7/29 17:43:00 -- 1、你WinTcpS7.dll的版本不对,请去找一个 .net 2.0 或者 .net 3.5 的版本。
2、在foxtable直接引用dll,然后照抄调用的代码即可 |
||||
-- 作者:54292550 -- 发布时间:2018/7/29 18:07:00 -- 甜老师,这个是从网上下载的。没看到有别的版本,有其它办法吗? |
||||
-- 作者:有点甜 -- 发布时间:2018/7/29 18:20:00 -- 以下是引用54292550在2018/7/29 18:07:00的发言:
甜老师,这个是从网上下载的。没看到有别的版本,有其它办法吗?
1、如果你有源码,请打开dll的源码,重新编译;
2、不然,你抄厂家给你一个对应版本的dll使用。 |