0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S7-300/400集成PN口 MODBUS TCP通讯(TIA)

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-03-08 11:24 次阅读

2.配置S7-300单站系统通过CPU集成PN口作为Client进行Modbus TCP通讯

下面以S7-300单站系统及Modbus Slave软件为例详细介绍如何将S7-300单站系统CPU的集成PN口配置为ClientModbus Slave作Server进行Modbus TCP通讯

2.1硬件设备及软件

本例中所用的硬件设备如下表:

名称

数量

订货号

S7-300电源模块PS 307 10A

1

6ES7307-1KA02-0AA0

S7-300 CPU317-2PN/DP

1

6ES7317-2EK14-0AB0(V3.2)

网线

若干

笔记本电脑

1

所用到软件如下表:

名称

订货号

STEP7 V16Update3 组态编程软件

Modbus Slave免授权版本

可从网上免费获取

2.2 S7-300单站系统与Modbus Slave软件组态

打开TIA软件,新建一个工程项目文件,命名为“PN_MODBUS TCP Client”,在项目下插入一个S7-300站,如下图1所示:

6a05774a-bce1-11ed-bfe3-dac502259ad0.png

1新建S7-300 Station

打开设备视图,修改CPU的IP地址,本例中将CPUPNIP地址设为192.168.0.220如下图17所示:

6a258cce-bce1-11ed-bfe3-dac502259ad0.png

2设备视图中设置CPUIP地址

2.3组态工艺对象

①选择添加工艺对象“Modbus”---"其他"---“MODBUS TCP”---"MB_PN_PARAM"

6a373bf4-bce1-11ed-bfe3-dac502259ad0.png

3新增工艺对象

②设置“连接设置”

连接ID:连接引用标识符(范围1~4095),在之后调用指令时会使用该参数

连接建立:PLC做MODBUS TCP客户端,选择主动。

远程IP地址:图中的IP地址(192.168.0.228)为 笔记本电脑的IP地址

本地设备ID:选择PLC的设备类型

本地端口:作为客户端,可不指定固定端口

伙伴端口:图中502端口为Modbus Slave的端口号

6a46a846-bce1-11ed-bfe3-dac502259ad0.png

4组态工艺对象

③Modbus 设置“内部”

6a593a24-bce1-11ed-bfe3-dac502259ad0.png

5组态工艺对象

③Modbus 设置“数据区域”

下图中设置了4个Modbus数据区域

6a7dda0a-bce1-11ed-bfe3-dac502259ad0.png

6组态工艺对象

2.4根据工艺对象中创建的数据区域添加数据块

根据步骤3.3工艺对象中设置的数据区域,添加四个数据块,如下图所示

6a92a3a4-bce1-11ed-bfe3-dac502259ad0.png

7创建数据块

6aa9cd40-bce1-11ed-bfe3-dac502259ad0.png

8创建存放MODBUS 线圈数据的数据块

6abb412e-bce1-11ed-bfe3-dac502259ad0.png

9创建存放MODBUS 数字量输入类型的数据块

6ad242c0-bce1-11ed-bfe3-dac502259ad0.png

10创建存放MODBUS 保持寄存器数据的数据块

6ae9693c-bce1-11ed-bfe3-dac502259ad0.png

11创建存放MODBUS 输入寄存器据的数据块

2.5创建具有可用于授权的注册表项的数据块

创建授权密钥数据块DB3(名称REG_KEY),选择类型为“全局DB”,打开该DB块,创建变量“REG_KEY”,数据类型为“String[17]”,如图所示:

6b01329c-bce1-11ed-bfe3-dac502259ad0.png

12创建存放授权码的数据块

授权密钥的获取方法,参考//www.ad.siemens.com.cn/productportal/Prods/published/Comm/Comm_9.4/Comm_9.4.html

2.6调用OB121

由于在获取授权密钥前,“MODBUSPN”指令是无授权状态,会使CPU报错而停机。而为了读取CPU 的“IDENT_CODE”码,需要CPU运行起来,则必须添加编程错误组织块OB121,如下图所示:

6b1d904a-bce1-11ed-bfe3-dac502259ad0.png

13调用OB121

2.7调用通信指令

调用MODBUS TCP指令(通信---其他---MODBUS_TCP---MODBUSPN),填写参数。

为了在通信故障时查找原因,编写程序段2捕获错误代码。

6b35a02c-bce1-11ed-bfe3-dac502259ad0.png

14调用“MODBUSPN”指令

2.8初始化指令

创建启动组织块OB100(名称COMPLETE RESTART),语言为“STL”,打开该OB块,置位初始化位输入管脚寄存器,如图所示:

6b4be936-bce1-11ed-bfe3-dac502259ad0.png

15初始化“MODBUSPN”指令

2.9通信测试

示例1:客户端读取服务器【 数字量输入】,偏移量3,长度为2的数据

6b5b7ac2-bce1-11ed-bfe3-dac502259ad0.png

16通信测试示例

示例2:客户端读取服务器【输入寄存器】,偏移量0,长度为3的数据

6b85a5d6-bce1-11ed-bfe3-dac502259ad0.png

17通信测试示例

示例3:客户端读取服务器【线圈寄存器】,偏移量0,长度为8的数据

6bb594bc-bce1-11ed-bfe3-dac502259ad0.png

18通信测试示例

示例4:客户端读取服务器【保持寄存器】,偏移量0,长度为3的数据

6be0d1e0-bce1-11ed-bfe3-dac502259ad0.png

19通信测试示例

示例5:客户端写入数据到服务器【保持寄存器】,偏移量5,长度为5的数据

6c05c298-bce1-11ed-bfe3-dac502259ad0.png

20通信测试示例

示例6:客户端写入数据到服务器【线圈寄存器】,偏移量0,长度为8的数据

6c50dc7e-bce1-11ed-bfe3-dac502259ad0.png

21通信测试示例

3.配置S7-300单站系统通过CPU集成PN口作为Server进行Modbus TCP通讯

下面以S7-300单站系统及ModScan32软件为例详细介绍如何将S7-300单站系统CPU的集成PN口配置为ServerModScan32作Client进行Modbus TCP通讯

3.1例子中使用的硬件设备及软件

本例中所用的硬件设备如下表:

名称

数量

订货号

S7-300电源模块PS 307 10A

1

6ES7307-1KA02-0AA0

S7-300 CPU317-2PN/DP

1

6ES7317-2EK14-0AB0(V3.2)

网线

若干

笔记本电脑

1

所用到软件如下表:

名称

订货号

STEP7 V16Update3 组态编程软件

ModScan32免授权版本

可从网上免费获取

3.2 S7-300单站系统与ModScan32软件组态

打开TIA软件,新建一个工程项目文件,命名为“PN_MODBUS TCP Server”,在项目下插入一个S7-300站,如下图所示:

6a05774a-bce1-11ed-bfe3-dac502259ad0.png

22新建S7-300 Station

打开设备视图,修改CPU的IP地址,本例中将CPUPNIP地址设为192.168.0.220如下图17所示:

6a258cce-bce1-11ed-bfe3-dac502259ad0.png

23设备视图中设置CPUIP地址

3.3组态工艺对象

①新增工艺对象,选择“Modbus”---"其他"---“MODBUS_TCP”---"MB_PN_PARAM"

6a373bf4-bce1-11ed-bfe3-dac502259ad0.png

24新增工艺对象

②设置“连接设置”

连接ID:连接引用标识符(范围1~4095),在之后调用指令时会使用该参数

连接建立:PLC做MODBUS TCP服务器,选择被动。

远程IP地址:可以指定或者不指定连接伙伴的IP地址。

本地设备ID:选择PLC的设备类型

本地端口:指定固定端口

伙伴端口可不指定

6cbc2fba-bce1-11ed-bfe3-dac502259ad0.png

25组态工艺对象

③Modbus 设置“内部”

6cd50058-bce1-11ed-bfe3-dac502259ad0.png

26组态工艺对象

④Modbus 设置“数据区域”

下图中设置了4个Modbus数据区域

6ceb21f8-bce1-11ed-bfe3-dac502259ad0.png

27组态工艺对象

3.4根据工艺对象中创建的数据区域添加数据块

根据步骤3.3工艺对象中设置的数据区域,添加四个数据块,如下图所示

6a92a3a4-bce1-11ed-bfe3-dac502259ad0.png

28创建数据块

6aa9cd40-bce1-11ed-bfe3-dac502259ad0.png

29创建存放MODBUS 线圈数据的数据块

6abb412e-bce1-11ed-bfe3-dac502259ad0.png

30创建存放MODBUS 数字量输入类型的数据块

6ad242c0-bce1-11ed-bfe3-dac502259ad0.png

31创建存放MODBUS 保持寄存器数据的数据块

6ae9693c-bce1-11ed-bfe3-dac502259ad0.png

32创建存放MODBUS 输入寄存器据的数据块

3.5创建具有可用于授权的注册表项的数据块

创建授权密钥数据块DB3(名称REG_KEY),选择类型为“全局DB”,打开该DB块,创建变量“REG_KEY”,数据类型为“String[17]”,如图所示:

6b01329c-bce1-11ed-bfe3-dac502259ad0.png

33创建存放授权码的数据块

授权密钥的获取方法,参考//www.ad.siemens.com.cn/productportal/Prods/published/Comm/Comm_9.4/Comm_9.4.html

3.6调用OB121

由于在获取授权密钥前,“MODBUSPN”指令是无授权状态,会使CPU报错而停机。而为了读取CPU 的“IDENT_CODE”码,需要CPU运行起来,则必须添加编程错误组织块OB121,如下图所示:

6b1d904a-bce1-11ed-bfe3-dac502259ad0.png

34OB121

3.7调用通信指令

调用MODBUS TCP指令(通信---其他---MODBUS_TCP---MODBUSPN),填写参数。

为了在通信故障时查找原因,编写程序段2捕获错误代码。

6b35a02c-bce1-11ed-bfe3-dac502259ad0.png

35调用“MODBUSPN”指令

3.8初始化指令

创建启动组织块OB100(名称COMPLETE RESTART),语言为“STL”,打开该OB块,置位初始化位输入管脚寄存器,如下图所示:

6b4be936-bce1-11ed-bfe3-dac502259ad0.png

36初始化“MODBUSPN”指令

3.9建立和客户端的连接

按照如下设置,使能服务器端,并使用ModScan32建立连接

6de29262-bce1-11ed-bfe3-dac502259ad0.png

37建立和客户端的连接

3.9通信测试

示例1:客户端读写服务器【 线圈寄存器 】,偏移量0,长度为10的数据

6dface4a-bce1-11ed-bfe3-dac502259ad0.png

38通信测试示例

示例2:客户端读取服务器【 数字量输入寄存器 】,偏移量0,长度为10的数据

6e1545a4-bce1-11ed-bfe3-dac502259ad0.png

39通信测试示例

示例3:客户端读写服务器【 保持寄存器 】,偏移量0,长度为10的数据

6e2a34b4-bce1-11ed-bfe3-dac502259ad0.png

40通信测试示例

示例4:客户端读取服务器【 模拟量输入寄存器 】,偏移量0,长度为10的数据

6e5ce18e-bce1-11ed-bfe3-dac502259ad0.png

41通信测试示例


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1345

    浏览量

    78909
  • S7-300
    +关注

    关注

    8

    文章

    225

    浏览量

    34194

原文标题:S7-300/400集成PN口 MODBUS TCP 通讯(TIA)

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于S7-1500 CPU集成PNModbus TCP通信快速入门

    S7-1500 PLC需要通过TIA Portal博途软件进行组态配置,从TIA Portal V12SP1开始软件中增加了S7-1500的Modb
    发表于 11-21 17:05 5030次阅读

    西门子s7-300s7-400集成PNs7通信

    本文对S7-300s7-400集成PNs7通信作了基本介绍,对其配置步骤以及编程方法作了完
    发表于 10-11 16:35 14次下载
    西门子<b class='flag-5'>s7-300</b>和<b class='flag-5'>s7-400</b><b class='flag-5'>集成</b><b class='flag-5'>PN</b><b class='flag-5'>口</b>的<b class='flag-5'>s7</b>通信

    基于S7-300400 CPU集成PN接口的Modbus TCPTIA Portal的使用入门教程

    基于S7-300400 CPU集成PN接口的Modbus TCPTIA Portal的使用入门
    的头像 发表于 12-03 16:42 4181次阅读

    S7-1200与S7-300 PN/S7-400 PN UDP STEP7通信

    S7-1200 与 S7-300 PN 之间的以太网通信可以通过 UDP 协议来实现,使用的通信指令是在双方 CPU 调用通信-开放式用户通信TSEND_C,TRCV_C(1200支
    的头像 发表于 04-11 10:15 4465次阅读

    如何将S7-400单站系统通过CPU集成PN配置

    配置S7-400单站系统通过CPU集成PN作为Server进行Modbus TCP
    的头像 发表于 07-11 11:27 1835次阅读

    S7-400作为PROFINET IO控制器(TIA

    S7-400集成PN和CP443-1均可作为PROFINET IO控制器。本文以CPU 414-3 PN/DP作为IO设备,分别阐述以CP
    的头像 发表于 12-19 15:04 1306次阅读

    S7-300集成DPS7-200的DP主从通信设计实现

    S7-300S7-200通过EM277 进行PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在
    的头像 发表于 01-29 16:14 4365次阅读

    S7-300集成PN作为Profinet智能设备

    如图1所示,S7-300 PLC(192.168.0.1/24)与 S7-1500 PLC (192.168.0.2/24)通过交换机进行Profinet IO 智能设备通信。
    的头像 发表于 01-30 10:10 1428次阅读

    S7-1200和S7-300集成DP的主从通信(1200做主站,300做从站)

    使用 S7-1200 与 S7-300集成 DP 接口进行主从通信,这里是将 S7-1200 做为主站,将 S7-300 做为从站,即:
    的头像 发表于 02-06 11:16 4733次阅读

    S7-300集成PN作为Profinet智能设备

    S7-300 PLC(192.168.0.1/24)与 S7-1500 PLC (192.168.0.2/24)通过交换机进行Profinet IO 智能设备通信。
    的头像 发表于 03-08 11:16 986次阅读

    S7-400集成PN如何进行Modbus TCP通讯呢?

    打开Step7软件,新建一个工程项目文件,命名为“M_TCP_CPU_V26(Client)”, 在项目下插入一个S7-400
    的头像 发表于 04-03 09:49 2575次阅读

    S7-300/400集成PNMODBUS TCP通讯(STEP7)

    该功能块库可以用于S7-300/400单站系统或ET200S带CPU的接口模块通过CPU的集成PN
    的头像 发表于 05-29 14:23 5346次阅读
    <b class='flag-5'>S7-300</b>/<b class='flag-5'>400</b><b class='flag-5'>集成</b><b class='flag-5'>PN</b><b class='flag-5'>口</b><b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b><b class='flag-5'>通讯</b>(STEP<b class='flag-5'>7</b>)

    S7-300/400的CPx43-1 MODBUS TCP通讯案例

    该功能块库可以用于S7-300单站通过CP343-1或S7-400单站通过CP443-1进行ModbusTCP通讯
    的头像 发表于 05-31 11:12 4428次阅读
    <b class='flag-5'>S7-300</b>/<b class='flag-5'>400</b>的CPx43-1 <b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b><b class='flag-5'>通讯</b>案例

    天拓分享:西门子plc S7-300/400系列的PLC通讯

    今天看一下西门子plc S7-300/400系列的PLC通讯。西门子plc S7-400s7-300之间进行以太网通信的时候,
    的头像 发表于 08-03 16:35 3777次阅读
    天拓分享:西门子plc <b class='flag-5'>S7-300</b>/<b class='flag-5'>400</b>系列的PLC<b class='flag-5'>通讯</b>

    浅谈S7-300 CPU集成PN配置的Modbus TCP通讯技术

    S7-300单站系统及Modbus Slave软件为例,详细介绍如何将S7-300单站系统CPU的集成PN
    发表于 10-17 15:36 2665次阅读
    浅谈<b class='flag-5'>S7-300</b> CPU<b class='flag-5'>集成</b><b class='flag-5'>PN</b><b class='flag-5'>口</b>配置的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>通讯</b>技术