S7-200SMARTV2.2与组态王6.55进行ModbusTCP通讯 点击:3668 | 回复:17



卫郡紫

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 137回
  • 年度积分:3
  • 历史总积分:339
  • 注册:2013年10月12日
发表于:2019-09-04 10:29:51
楼主

S7-200 SMART V2.4版本的软件已经发布,V2.4版本的软件增加了Profinet通讯,还增加了Modbus TCP库。本次试验前期工作实现组态王SMART200进行Modbus TCP通讯,我的目的最终要实现labviewSMART200进行Modbus TCP通讯。

PLC软件由v2.2升级至v2.4后,不知道哪里出现问题,始终无法与组态王(6.536.55)通讯(如果哪位大神知道原因,请不吝赐教),不得已重新安装V2.2版本,下载SMART200 Modbus TCP文件,最终在V2.26.55运行环境下实现 Modbus TCP通讯。

本次通讯能成功参考了‘串口通信之家’这位大神的帖子,此大神在爱奇艺以‘关育谋’的名称上发布了不少教程视频,深受启发。

我在上一篇帖子上发布过组态王与SMART200以太网通讯(通讯协议是S7-200 TCP),以上一篇为基础,在连接成功的基础上进行本阶段试验。

PLCIP地址为192.168.1.35,主机IP地址为192.168.1.50

1MB_Server指令库安装

A打开STEP 7-Micro/WIN SMART V2.2 版本软件,鼠标右键项目树的“库”节点,并从快捷菜单中选择“打开库文件夹”,如图 1. 所示。

图片1.png

1.打开库文件夹


BMB_Server指令库添加到打开的STEP 7-Micro/WIN SMART库文件夹中,如图2. 所示。(将解压之后的库文件复制到下列路径)

图片2.png


2.添加MB_Server指令库

备注:STEP 7-Micro/WIN SMART库文件夹一般存储路径为C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib

C关闭STEP 7-Micro/WIN SMART库文件夹,然后鼠标右键项目树的“库”节点,并从快捷菜单中选择“刷新库”。刷新后,您可以看见“MB_Server_0”指令库已经被添加到项目树的库节点下。

2调用MB_Server指令库

MB_Server指令库包含MBS_ConnectMBS_Slave2个指令。MBS_Connect指令用于建立或断开Modbus TCP连接;MBS_Slave指令用于处理来自Modbus TCP客户端的请求,并且该指令必须在每次扫描时执行,以便检查和响应 Modbus 请求。

每个 MB_Server指令库只能创建一个Mdobus TCP连接,如果一个S7-200 SMART 需要连接多个Modbus TCP 客户端,则需要购买多个名称不同的MB_Server指令库(例如MB_Server_0MB_Server_1MB_Server_2)。

AMAIN”主程序中调用MBS_ConnectMBS_Slave指令,如图 3. 所示

图片3.png

3.主程序中调用MB_Server指令库

 

MBS_Connect指令各个参数定义如下:

· EN 使能:必须保证每一扫描周期都被使能。

· Connect:启动TCP 连接建立操作。

· Disconnect: 断开TCP连接操作。

· ConnID: TCP 连接标识。

注意:Modbus TCP 属于TCP通信,也是开放式用户通信中的一种,所以ConnID参数不能与其他TCPISO-on-TCPUDP通信相同。

· IPaddr1~IPaddr4: Modbus TCP 客户端的IP地址,IPaddr1 IP 地址的最高有效字节,IPaddr4 IP 地址的最低有效字节。如果不指定伙伴 IP ,则可以设置为0.0.0.0

· LocPort: 本地设备上端口号

· MaxHold: 用于设置 Modbus 地址 4xxxx 4yyyyy 可访问的 V 存储器中的字保持寄存器数。

· HoldStart: 间接地址指针,指向 CPU V 存储器中保持寄存器的起始地址。本例中VW0 即对于 Modbus 地址 40001

· ConnectDoneModbus TCP连接已经成功建立。

· Busy: 连接操作正在进行时。

· Error: 建立或断开连接时,发生错误。

· Status:如果指令置位 “Error” 输出,Status 输出会显示错误代码。

 

MBS_Slave指令各个参数定义如下:

· EN 使能:必须保证每一扫描周期都被使能。

· Done:当 MB_Server 指令响应 Modbus 请求时,Done 完成位在当前扫描周期被设置为 1 ; 如果未处理任何请求,Done 完成位为 0

· Error: 错误代码,只有在 Done 位为1时错误代码有效。MB_Server指令库错误代码见3.3章节。

3MB_Server指令库分配库存储器地址

MB_Server指令库需要占用 300个字节 V 存储区用于库存储器地址分配。该库存储器分配地址不能与 MBS_Connect 指令参数 HoadStart指向的 V 存储器地址重叠,也不能与其它程序使用的地址有重叠,库存储器地址分配过程见图4.所示。

图片4.png


4.MB_Server指令库分配库存储区

    

MB_Server指令库错误代码

MB_Server错误代码

描述

0

无错误

1~31

开放式用户通信库指令错误代码,请参考STEP 7-Micro/WIN SMART在线帮助

50

TCP连接未成功建立

51

HoldStart存储器范围错误

52

保持寄存器地址与库存储区地址重叠

53

TCP接收数据长度错误

54

Modbus TCP报文长度校验错误

55

非法的Modbus TCP功能码

56

请求的存储区地址非法

 

4、写PLC其他程序

为了验证通讯成功与否,我这里随便写了5个流水灯及1个状态位

PLC地址

Q0.0

Q0.1

Q0.2

Q0.3

Q0.4

VW0

组态王地址

00001

00002

00003

00004

00005

40001

图片5.png

5、组态王组态

1)添加设备,设备-PLC-莫迪康-Modbus TCP。设备地址192.168.1.35:502 1/50

6.55版本ModbusTCP驱动成功连接后没继续做6.53版本的试验,感兴趣的可以自己试一下。

图片6.png

2) 添加变量,数据库-数据词典

图片7.png

3)添加画面,连接地址,运行。

图片8.png

正在下载,请等待……
下载附件需1积分!

1分不嫌少!



早早。学习

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 62回
  • 年度积分:3
  • 历史总积分:599
  • 注册:2016年11月13日
发表于:2019-09-06 16:47:48
1楼

这个回去可以试验一下。

Smile-lyc

  • [管理员]
  • 精华:114帖
  • 求助:50帖
  • 帖子:2793帖 | 22283回
  • 年度积分:311
  • 历史总积分:144042
  • 注册:2006年8月04日
发表于:2019-09-06 16:53:46
2楼

技术性帖子,大家多分享一下!给楼主点赞

大穴叫兽

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 56回
  • 年度积分:0
  • 历史总积分:148
  • 注册:2019年7月05日
发表于:2019-09-06 17:29:19
3楼

赞啊,楼主很细心

chun1989

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 1151回
  • 年度积分:33
  • 历史总积分:1087
  • 注册:2012年11月20日
发表于:2019-11-03 23:48:08
4楼

赞啊,楼主很细心

lin5979

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1783回
  • 年度积分:0
  • 历史总积分:148
  • 注册:2003年9月12日
发表于:2019-11-20 11:46:41
5楼

技术性帖子,大家多分享一下!给楼主点赞

nm63428

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 70回
  • 年度积分:100
  • 历史总积分:672
  • 注册:2012年11月11日
发表于:2019-11-20 22:40:18
6楼

学习一下,谢谢楼主分享

yancheng_123

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 756回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2017年3月17日
发表于:2019-11-21 12:53:49
7楼


我想要E32A的中文手册



zhcwos

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 64回
  • 年度积分:2
  • 历史总积分:333
  • 注册:2010年2月27日
发表于:2020-06-17 16:57:13
8楼

这个不错,值得学习哦

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 12回
  • 年度积分:5
  • 历史总积分:53
  • 注册:2006年7月26日
发表于:2020-09-27 18:33:43
9楼

我用V2.5也不成功!

huoshi

  • 精华:0帖
  • 求助:22帖
  • 帖子:347帖 | 2576回
  • 年度积分:517
  • 历史总积分:23145
  • 注册:2020年3月27日
发表于:2020-09-27 20:04:38
10楼

谢谢老师分享,学习学习!

rudolph001

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 291回
  • 年度积分:0
  • 历史总积分:99
  • 注册:2018年3月24日
发表于:2020-09-28 15:41:19
11楼

谢谢分享,非常满意

chenrenfu

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 651回
  • 年度积分:21
  • 历史总积分:125
  • 注册:2011年9月08日
发表于:2020-10-04 20:59:33
12楼

学习一下,谢谢楼主!

小夏

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 69回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2018年5月26日
发表于:2020-11-26 14:27:13
13楼

支持一下支持一下,感谢楼主分享

郭溢

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 65回
  • 年度积分:0
  • 历史总积分:78
  • 注册:2016年3月02日
发表于:2020-12-14 11:14:01
14楼

技术性帖子,大家多分享一下!给楼主点赞

tanwei138

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 69回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年7月15日
发表于:2020-12-16 15:37:41
15楼

学习一下

牛牛南阳

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 26回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2019年5月05日
发表于:2020-12-16 18:17:16
16楼

学习哦

郭溢

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 65回
  • 年度积分:0
  • 历史总积分:78
  • 注册:2016年3月02日
发表于:2020-12-14 11:14:01
17楼

技术性帖子,大家多分享一下!给楼主点赞


热门招聘
相关主题

官方公众号

智造工程师