VB和S7-300PLC通讯

qq_40012515 2017-08-29 02:06:03
我现在手里有段VB的程序在XP系统下能正常运行,调用的是Prodave6.dll,现在要换到WIN7 32位电脑上,运行不了,报编译错误,找不到工程或库,不知道怎么换成6.2的Prodave,希望各位大神给我大力指点,我是VB小白。QQ 3196188956 我是VB小白。如能帮忙,不甚感激。
...全文
364 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40012515 2017-08-30
  • 打赏
  • 举报
回复
Private Sub tmrTime_Timer() On Error Resume Next 'tmrTime.Enabled = False Dim S7_flag As Long Timer_Counter = Timer_Counter + 1 PLC_mnl If (Timer_Counter = 1) Then If (Read1_Power = True) Then staMessage.Panels(1).Text = "功率表1读成功!" Else staMessage.Panels(1).Text = "功率表1读失败!" End If End If If (Timer_Counter = 2) Then If (Read2_Power = True) Then staMessage.Panels(1).Text = "功率表2读成功!" Else staMessage.Panels(1).Text = "功率表2读失败!" End If End If If (Timer_Counter = 3) Then If (Read3_Power = True) Then staMessage.Panels(1).Text = "功率表3读成功!" Else staMessage.Panels(1).Text = "功率表3读失败!" End If End If If (Timer_Counter = 4) Then If (Read4_Power = True) Then staMessage.Panels(1).Text = "功率表4读成功!" Else staMessage.Panels(1).Text = "功率表4读失败!" End If End If If (Timer_Counter = 5) Then If (Read5_Power = True) Then staMessage.Panels(1).Text = "功率表5读成功!" Else staMessage.Panels(1).Text = "功率表5读失败!" End If Timer_Counter = 0 End If tmrTime.Interval = 500 'tmrTime.Enabled = True ReadAll End Sub 运行时第一行Private Sub tmrTime_Timer()总是黄色的。。
qq_40012515 2017-08-30
  • 打赏
  • 举报
回复
引用 7 楼 of123 的回复:
Prodave6.dll 是Windows 系统文件,是支持 Win7 的。你把原机上的文件复制到系统目录中: C:\Windows\System (Windows 95/98/Me) C:\WINNT\System32 (Windows NT/2000) C:\Windows\System32 (Windows XP, Vista) C:\Windows\System32 (Windows 7/8/2008r2) C:\Windows\SysWOW64 (Windows 7/8/2008r2)
复制到System32里去了 ,可是运行时报“编译错误,未找到方法或数据成员”,不知道这是不是要改程序的啊
qq_40012515 2017-08-30
  • 打赏
  • 举报
回复
引用 6 楼 Chen8013 的回复:
你看看你的“能正确运行”的电脑,它的system32目录或者程序所在目录,肯定有Prodave6.dll这个文件。 你把它复制到你的Win7系统的电脑中去!
谢谢你的帮助,可我把6,.DLL这个文件复制到System32里去后,运行时报“未找到方法或数据成员”,您知道为什么吗
of123 2017-08-30
  • 打赏
  • 举报
回复
Prodave6.dll 是Windows 系统文件,是支持 Win7 的。你把原机上的文件复制到系统目录中: C:\Windows\System (Windows 95/98/Me) C:\WINNT\System32 (Windows NT/2000) C:\Windows\System32 (Windows XP, Vista) C:\Windows\System32 (Windows 7/8/2008r2) C:\Windows\SysWOW64 (Windows 7/8/2008r2)
赵4老师 2017-08-30
  • 打赏
  • 举报
回复
放在虚拟机下的WinXP中最稳妥。
qq_40012515 2017-08-30
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
是32位的Win7,只有System32这个文件夹,赵老师,你说我这个是得要改程序吗,好像是得知道Prodave6.2的什么参数值的
赵4老师 2017-08-30
  • 打赏
  • 举报
回复
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
舉杯邀明月 2017-08-29
  • 打赏
  • 举报
回复
你看看你的“能正确运行”的电脑,它的system32目录或者程序所在目录,肯定有Prodave6.dll这个文件。 你把它复制到你的Win7系统的电脑中去!
舉杯邀明月 2017-08-29
  • 打赏
  • 举报
回复
那个是“第三方dll文件”啊! 你要把那个dll文件放在你的工程所在目录中(调试运行时)并双击工程文件打开工程, 或者把那个dll文件放到系统的system32目录中。
赵4老师 2017-08-29
  • 打赏
  • 举报
回复
引用 3 楼 qq_40012515 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] 建议放在WIn7 32位电脑上的虚拟机(比如VMWare、VirtualBox、HyperV、……)下的WinXP中运行。
是因为修改起来太麻烦了吗[/quote] 业界的通行做法。
qq_40012515 2017-08-29
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
建议放在WIn7 32位电脑上的虚拟机(比如VMWare、VirtualBox、HyperV、……)下的WinXP中运行。
是因为修改起来太麻烦了吗
赵4老师 2017-08-29
  • 打赏
  • 举报
回复
建议放在WIn7 32位电脑上的虚拟机(比如VMWare、VirtualBox、HyperV、……)下的WinXP中运行。
qq_40012515 2017-08-29
  • 打赏
  • 举报
回复
自己先顶一下

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧