s7-200 prodave 通讯

vb调用 dll文件的函数实现与s7-200的通讯问题

硬件:一台pc机,无CP5611一类的卡
           编程线缆PC adapter USB(进口),PC/PPI
           CPU224 (6ES7 214-1BD23 0XB0),无扩展模块
实现:VB编写上位机程序(已附于问题后面),调用prodave V5.6  W95_s7.dll

条件:1、PC/PG设定Local地址为0,搜索到的CPU224地址为1
            2、波特率设定为9.6Kbps
            3、PC adapter USB(进口),PC/PPI两种连接均尝试过
问题:上述实验条件下
             Res = load_tool(1, "S7ONLINE", plcadr) ''S7ONLINE Micro/WIN
             返回的Res的值总是0X320,,查手册错误代码的含义是hardware error

求解:上述问题的原因以及解决的办法。

ps. 
      QQ:499051120
      Email:311gip@163.com

/*声明部分*/
Public plcadr As plcadrtype
Public gb_PlcConnected As Boolean
Type plcadrtype
     ADR As Byte
     SEGMENTID As Byte
     SLOTNO As Byte
     RACKNO As Byte
End Type
Public Res As Long
Public Declare Function as200_e_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long 
Public Declare Function as200_a_field_write Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long
Public Declare Function as200_vs_field_read Lib "w95_s7.dll" (ByVal nr As Long, ByVal anz As Long, value As Byte) As Long 
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 unload_tool Lib "w95_s7.dll" () As Long

/*窗体部分*/
Private Sub Test_Click()
Dim buffer(1) As Byte
    plcadr.ADR = 1
    plcadr.SEGMENTID = 0
    plcadr.SLOTNO = 1
    plcadr.RACKNO = 0
    Res = load_tool(1, "S7ONLINE", plcadr) ''S7ONLINE Micro/WIN
    If Res <> 0 Then
        MsgBox ("PLC连接错误")
       gb_PlcConnected = False
    Else
        gb_PlcConnected = True
        MsgBox ("plc连接正确")
        Test.Caption = buffer(0)
    End If
    Res = unload_tool()
End Sub
//---------------------------------------------------------------------------------------------------------

问题补充:
PC机上安装了
Micro Win  4.0 sp4
Step7 V5.4

最佳答案

请参看下述连接:
http://wsj180.blog.163.com/blog/static/298363622010919103243674/
http://www.ad.siemens.com.cn/service/answer/solve_68591_1028.html
http://www.docin.com/p-6061149.html

提问者对于答案的评价:
问题找到了
1、貌似pc/ppi线缆不能用于prodave直接连接pc跟s7-200,pc adapter usb可以
2、连接函数load_tool(1, "S7ONLINE", plcadr)中plcadr的参数应为【1,0,0,0】
3、Micro/Win 由V4.0 sp4 升级为sp8
反正我是这么给解决了问题

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc303099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:09
下一篇 2020年10月31日 下午3:09

相关推荐

  • 两套S7-200通过PPI协议与WINCC通讯的问题

    该项目是工控机上CP5611卡通过DP线连接了两套CPU226,1#CPU226的通讯始终正常,2#CPU226的通讯时而会不通。我在两套CPU中分别测试观察了一个实数变量,发现把…

    自动化系统综合 2018年12月2日
  • Wincc flexible里的层是做什么的?

    在Wincc flexible里发现了层,可以参考图片,不知道这个“层”是做什么用的,有什么功能,请高手指教,谢谢! 问题补充:请问“层”可以通过变量来控制吗? 图片说明…

    2017年6月13日
  • cp341做主站接收不到的问题

    这人项目用了两块CP341,是DP通讯分布式I/0从站模式的,CPU用的315-2DP,现在问题是机头CP与变频器通讯很正常,但中驱CP就是接收不到,硬件诊断说是请求消息已发送,超…

    自动化系统综合 2020年10月31日
  • PLC不能在线

    刚上的四个炉台-罩式炉,今天程序突然不能监控,是怎么回事?程序是300的。 问题补充:HMI监控没有问题,是MPI/DP,可以生产,就是不能在线监控 最佳答案 WinCC监控界面的…

    自动化系统综合 2017年11月12日
  • 关于别的问题

    亲们  我在研究程序  感觉一个人太累了 进度也太慢了  有没有谁是PLC编程的高手  或…

    自动化系统综合 2018年12月9日
  • 最大电流值

    现有一个S300PLC,读取变频器电流,通讯。在触摸屏上能显示电流的实时值,我想在一个时间区间里读取最大电流值,请问各位大仙,程序该怎么写啊。例如:在3分钟里,记录了变频器的实时电…

    自动化系统综合 2020年10月31日
  • 作西门子代理需要什么条件

    如题,自己想做代理商,不知需要什么条件,资金要求如何? 最佳答案 你需要找当地的办事处去谈,看你要做什么产品的代理,会有不同的任务。若完不成任务,则会取消你的代理资格。 …

    自动化系统综合 2021年7月5日
  • 关于S7200程序编辑的问题

    问大家一个比较偏门的问题,工程师站用网线连接S7300的CPU,S7300的CPU用DP缆连接S7200的EM277,我想在工程师站就能编辑S7200里的程序,在现场设备不改动的前…

    自动化系统综合 2017年7月26日
  • 开机死机,s7epatsx和s7oiehsx进程占用CPU100%

    XP系统,以前一直好用,突然开机死机,s7epatsx和s7oiehsx进程占用CPU100%,要是结束进程也能正常用电脑,但经常卡的连进程管理都打不开,好像和网卡驱动有关,不知为…

    自动化系统综合 2020年10月31日
  • 那款工业触摸屏性价比最高

    不想选用西门子触摸屏,主要原因是价格太贵,请用过其它工业触摸屏的朋友推荐一下:那款工业触摸屏性价比最高,要求支持windows XP系统,可以运行西门子人机界面。 问题补…

    自动化系统综合 2020年11月1日