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

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

3天内不再提示

S7-1500系统内使用ET200S 1SI模块实现Modbus主站通信

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

1 硬件列表

表1 实验所需硬件列表

设备名称 设备型号
CPU 1518-4PN/DP 6ES7 518-4AP00-0AB0
S7-1500 存储卡 6ES7 954-8LF03-0AA0
ET200S 接口模块 6ES7 151-3AA23-0AB0
ET200S PM-E电源模块 6ES7 138-4CA01-0AA0
ET200S 1SI串口模块 6ES7 138-4DF11-0AB0
功率模块的终端模块 6ES7 193-4CC20-0AA0
1 SI模块的终端模块 6ES7 193-4CA40-0AA0

2 组态和配置

1、打开软件TIA PORTAL STEP7 V16,点击项目->新建...创建一新项目,项目名称为S7-1500_ET200S_ModbusMaster。

055fed02-90ea-11ed-bfe3-dac502259ad0.png

图1 新建项目

2、用鼠标点击“添加新设备”,选择SIMATIC S7-1500->CPU->CPU 1518-4 PN/DP->6ES7 518-4AP00-0AB0。

057fb7b8-90ea-11ed-bfe3-dac502259ad0.png


图2 添加站点CPU 1518-4PN/DP

3、双击“设备组态”进入设备视图。双击以太网接口,进入以太网接口属性界面,新建一个子网“PN/IE_1”,并分配IP地址。

05a7607e-90ea-11ed-bfe3-dac502259ad0.png


图3 组态硬件

4、点击菜单栏"在线"->"硬件检测"->"网络中的PROFINET设备",在线检测所连接的ET200S站点,如图4所示。

05c5c8ac-90ea-11ed-bfe3-dac502259ad0.png


图4 在线检测ET200S站

在弹出的"PROFINET 设备的硬件检测"窗口内勾选搜索到的ET200S站点,并点击添加设备。

05e21b42-90ea-11ed-bfe3-dac502259ad0.png


图5 添加ET200S站

5、设备添加成功后,在"网络视图"内,可以看到新添加的ET200S站。另外,用户也可以从选件目录中找到正确的ET200S接口模块型号,将它拖拽到网络视图中,添加模块时需要注意组态的模块版本应与实际一致。

0640c91c-90ea-11ed-bfe3-dac502259ad0.png


图6 添加ET200S站法二

6、点击ET200S站左侧“未分配”,选择IO控制器PLC_1.PROFINET接口_1”,为ET200S分配好IO控制器。

065693be-90ea-11ed-bfe3-dac502259ad0.png


图7 Profinet网络配置

同时为ET200S的以太网接口分配好IP地址,注:此时给ET200S分配了一个设备名称为"im151-3pn"(该名称不唯一,以实际项目为准),确保离线和在线的设备名称一致。

下面介绍如何修改设备名称。如需离线修改该设备名称,可以进入ET200S模块的属性-〉以太网地址。

06807b16-90ea-11ed-bfe3-dac502259ad0.png


图8 离线修改ET200S的设备名称

下面介绍如何在线分配IO设备名称。如ET200S的实际设备名称与组态设置的不一致,也可以在线修改。右击网络“PN/IE_1”,点击“分配设备名称”,在线修改ET200S的设备名称。

06a03316-90ea-11ed-bfe3-dac502259ad0.png


图9 分配设备名称

确保ET200S的设备名称的状态是“确定”,如果出现不一致的情况,选择问题站点后点击“分配名称”,确保该站点最后的状态是“确定”,如下图所示。

06bc5bfe-90ea-11ed-bfe3-dac502259ad0.png


图10 确认ET200S设备名称在线与离线一致

7、双击“im151-3pn”,进入ET200S组态界面,(自动检测已经将电源模块PM-E和ET200S 1SI串口模块组态到1、2槽;手动组态时需要用户手动从选件目录中拖拽添加),双击1SI_1串口通信模块,进入属性框,协议选择"Modbus Master",波特率为9600,地址区为32字节。

06d55276-90ea-11ed-bfe3-dac502259ad0.png


图11 1SI_1选择协议

8、点击“报文”,进行报文设置,停止位:1,奇偶校验:无。

06f3416e-90ea-11ed-bfe3-dac502259ad0.png


图12 报文设置

9、点击“接口”,接口选择“半双工(RS-485两线制模式)”,接收线路初始状态选择“信号R(A)0V/信号R(B)5V”。

07712a16-90ea-11ed-bfe3-dac502259ad0.png


图13 接口设置

3 编写通信程序

1、双击"添加新块",创建发送数据块DB10和接收数据块DB11,发送数据块的名称为Send,接收数据块的名称为Rev;如下图所示,发送数据块中新建几个变量,从站地址为2,功能码为3,起始地址为0,读4个寄存器数据,具体功能码3 的使用参见手册"Simatic ET200S 串行接口模块" 3.5章节的说明。

07a4789e-90ea-11ed-bfe3-dac502259ad0.png


图14 新建发送数据块

如下图所示,接收数据块中新建1个数据类型Array的变量,数组元素的数据类型为Word,数量为101。

07ba1276-90ea-11ed-bfe3-dac502259ad0.png


图15 新建接收数据块

07deac76-90ea-11ed-bfe3-dac502259ad0.png1.注意以上两个DB块,右键其属性对话框,一定要确保"优化的块访问"参数未勾选。

2、进入主程序OB1,从通信->通信处理器->ET200S串行接口,调用发送功能块S_SEND和接收功能块S_RCV。S_END的背景数据块为DB3,S_RCV的背景数据块为DB4。

07f45170-90ea-11ed-bfe3-dac502259ad0.png


图16 调用发送接收功能块

1SI串口模块的发送与接收功能块的参数设置见以下表格。


表2 发送功能块S_SEND 参数表

管脚 解释描述
REQ 发送数据触发位,上升沿触发,本例中为M10.5(M10.5为1Hz的时钟脉冲,具体设置见图17)。
R 取消通讯,本例中不用。
LADDR 模块的硬件标识符,本例中为264,具体查找方法见常见问题2。
DB_NO 发送数据块号,本例中为10(DB10)。
DBB_NO 发送数据的起始地址,本例中为0(DB10.DBB0)。
LEN 发送数据的长度,本例中为MW2,本例中MW2赋值为6。
COM_RST 如果为1,重新启动FB,本例中为M0.2。
DONE 发送完成位,发送完成且没有错误时为TRUE。
ERROR 错误位,为TRUE说明有错误。
STATUS 状态字,标识错误代码,查看ET200S串行模块手册获得相应的说明。


表3 接收功能块S_RCV 参数表

管脚 解释描述
EN_R 使能接收位,本例中为M1.0,常闭点, 始终保持接收状态。
R 取消通讯,本例中不用。
LADDR 模块的硬件标识符,本例中为264,具体查找方法见常见问题2。
DB_NO 接收数据块号,本例中为11(DB11)。
DBB_NO 接收数据的起始地址,本例中为0(DB11.DBB0)。
LEN 接收数据的长度,本例中为MW6,只显示一个扫描周期,即:只有在接收到数据的当前周期,此值不为0。
COM_RST 如果为1,重新启动FB,本例中为M1.2。
NDR 接收完成位,接收完成并没有错误为TRUE。
ERROR 错误位,为TRUE说明有错误。
STATUS 状态字,标识错误代码,查看ET200S串行模块手册获得相应的说明。

打开设备视图->CPU属性->系统和时钟存储器,可以设置M10.5的时钟脉冲,具体参考以下截图。

08236aa0-90ea-11ed-bfe3-dac502259ad0.png


图17 CPU时钟存储器设置

4 设备连接

RS485的方式接线为例说明,ET200S 1SI 模块按照RS485的接线方式连接到电脑USB口,连接示意图如下。

092a0954-90ea-11ed-bfe3-dac502259ad0.png


图18 硬件结构和接线示意图

5 通信测试

前面使用 TIA Step7 软件已经将通信ET200S的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件ModSim32软件来测试ET200S和计算机的通信,步骤如下:

1、双击ModSim32软件图标,新建项目,点击Port1,进入端口1做设置,本例计算机只有一个端口,所以就对端口1做设置,如果计算机有多个端口,要注意所选端口。

094a227a-90ea-11ed-bfe3-dac502259ad0.png


图19 测试软件新建测试项目

2、进入Port1设置界面,设置波特率、数据位、奇偶校验等参数,要和ET200S的参数相同。

096c01d8-90ea-11ed-bfe3-dac502259ad0.png


图20 设置从站端口

3、点击"OK",选择软件的03功能码界面,本例设置03功能码的10个数据,其中前4个数据分别设置成1—4。

0983dd8a-90ea-11ed-bfe3-dac502259ad0.png


图21 从站03功能码设置数据

4、1SI串口模块发送数据到SSCOM32。

(1).将硬件配置和程序下载到CPU1518-4PN/DP中

(2).设置需要发送的数据长度MW2=6(字节)

(3).将DB10中前6个字节以默认值设置,如图22所示

(4).当M10.5从FALSE置成TRUE时,1SI串口模块将发送请求数据

09c7cb3a-90ea-11ed-bfe3-dac502259ad0.png


图22 ET200S的03功能码发送数据

5、M1.0为常闭点,程序下载完成,CPU运行后,就始终处于接收状态。在STEP7中打开接收数据块DB11监控接收到的数据,从站响应的2个寄存器数据被正确的接收。

09f91fc8-90ea-11ed-bfe3-dac502259ad0.png


图23 ET200S 1SI接收到的从站响应的结果

常见问题

0a19d9f2-90ea-11ed-bfe3-dac502259ad0.png1.为什么程序下载后,CPU突然不能正常启动,并报错“编程错误(OB启动事件)”和“FB97中的区域长度错误”?

如下图所示,CPU切换为STOP模式,报错“编程错误(OB启动事件)”和“FB97中的区域长度错误”。

0a3d3fb4-90ea-11ed-bfe3-dac502259ad0.png


图24 ET200S 调试软件发送数据1SI接收数据测试结果

可能的原因是:发送或者接收的数据块(例中DB10或者DB11)是优化的DB块,那么在执行发送或者接收操作时会报以上错误,并且CPU停机,所以务必注意该DB块的属性必须是非优化的,如图15。

0a19d9f2-90ea-11ed-bfe3-dac502259ad0.png2.为什么发送或者接收指令块报错"16#1E0E"?

可能的原因是:发送或者接收功能块的“LADDR”管脚设置错误,正确的应该设置该模块的硬件标识符,而不是模块的I/O起始地址,具体查找步骤参考下表。


表4 模块硬件标识符查找方法

方法一 方法二

0a8847e8-90ea-11ed-bfe3-dac502259ad0.png

0a9f7de6-90ea-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    68

    文章

    10803

    浏览量

    210796
  • 通信
    +关注

    关注

    18

    文章

    5948

    浏览量

    135777
  • MODBUS
    +关注

    关注

    28

    文章

    1757

    浏览量

    76757
  • ET200S
    +关注

    关注

    0

    文章

    5

    浏览量

    6623
  • S7-1500
    +关注

    关注

    3

    文章

    300

    浏览量

    6287

原文标题:S7-1500系统内使用ET200S 1SI模块实现Modbus 主站通信

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

收藏 人收藏

    评论

    相关推荐

    基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门

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

    s71500的说明及例程

    S7-1500 可以在主机架或分布式 IO 使用点对点通信模块实现Modbus-RTU
    发表于 09-22 15:05 33次下载
    <b class='flag-5'>s</b>71500的说明及例程

    S7-1500与MV340自由口通信方案

    SIMATIC S7-1500ET200MP 自动化系统包含各种应用模块,其中包括通信模块
    发表于 09-26 18:09 11次下载
    <b class='flag-5'>S7-1500</b>与MV340自由口<b class='flag-5'>通信</b>方案

    基于S7-1500ET 200MP的自动化系统

    系统手册和入门指南中详细介绍了 SIMATIC S7-1500ET 200MP 系统的组态、安装、接线和调试等信息。对于 CPU 15
    发表于 09-27 10:55 10次下载
    基于<b class='flag-5'>S7-1500</b>、<b class='flag-5'>ET</b> <b class='flag-5'>200</b>MP的自动化<b class='flag-5'>系统</b>

    基于ET 200S串行接口模块通信及操作

    对串行通信的访问。可以使用接口模块ET200S 1Sl 在自动化系统或计算机之间通过点对点连接交换数据。所有
    发表于 10-25 09:41 19次下载
    基于<b class='flag-5'>ET</b> <b class='flag-5'>200S</b>串行接口<b class='flag-5'>模块</b><b class='flag-5'>通信</b>及操作

    基于SIMATIC S7-1500 PLC通信模块及接口模块

    S7-1500通信模块集成有各种接口,可与不同接口类型设备进行通讯,而通过具有安全功能的工业以太网模块,可以极大提高连接的安全性。 1、可连
    发表于 10-27 09:47 37次下载
    基于SIMATIC <b class='flag-5'>S7-1500</b> PLC<b class='flag-5'>通信</b><b class='flag-5'>模块</b>及接口<b class='flag-5'>模块</b>

    S7-1500ET200MP及ET200SP的计数测量和位置检测详细说明

    SIMATIC S7-1500 自动化系统、基于 SIMATIC S7-1500 的 CPU 1516pro-2 PN 和分布式 I/O 系统 SIMATIC
    发表于 09-25 08:00 3次下载
    <b class='flag-5'>S7-1500</b>和<b class='flag-5'>ET200</b>MP及<b class='flag-5'>ET200</b>SP的计数测量和位置检测详细说明

    西门子S7-1500使用ET200S 1SI模块实现自由口通信

    设备添加成功后,在“网络视图”,可以看到新添加的ET200S。另外,用户也可以从选件目录中找到正确的ET200S接口模块型号,将它拖拽到
    发表于 02-09 16:53 1813次阅读
    西门子<b class='flag-5'>S7-1500</b>使用<b class='flag-5'>ET200S</b> <b class='flag-5'>1SI</b><b class='flag-5'>模块</b><b class='flag-5'>实现</b>自由口<b class='flag-5'>通信</b>

    ET200S高速计数模块使用说明

    ET200S高速计数模块使用说明免费下载。
    发表于 04-23 09:37 8次下载

    S7-1500/ET200MP热电偶补偿方式及组态配置

    S7-1500/ET200MP热电偶模块使用内部参比端对热电偶进行温度补偿。组态方法是将测量通道的基准结参数设置为 “内部参比端” ,如下图。
    的头像 发表于 07-12 11:03 6274次阅读

    西门子S7-1500ET200系列Eplan宏文件

    西门子S7-1500ET200系列Eplan宏文件,方便画图,值得下载收藏
    发表于 07-31 09:04 113次下载

    使用ET200S 1SI模块实现自由口通信

    1、打开软件TIA PORTAL STEP7 V16,点击项目-》新建。..创建一新项目,项目名称为S7-1500_ET200S_ASCII。
    的头像 发表于 10-12 16:49 1491次阅读
    使用<b class='flag-5'>ET200S</b> <b class='flag-5'>1SI</b><b class='flag-5'>模块</b><b class='flag-5'>实现</b>自由口<b class='flag-5'>通信</b>

    电工知识—SIMATIC S7-1500 PLC的常用模块

    SIMATIC S7-1500 PLC的硬件系统主要包括电源模块、CPU模块、信号模块通信
    发表于 01-16 09:59 7064次阅读

    如何在S7-1500ET200SP中实现Modbus RTU和从的功能

    在本示例中,RTU 程序和 RTU 从程序将在一个 S7-1500 CPU 中执行。在该应用示例中,Modbus RTU
    的头像 发表于 02-13 11:05 1w次阅读

    SIMATIC S7-1500 PLC与ET200MP的PROFIBUS-DP通信

    用CPU1516-3PN/DP作为主,分布式模块作为从,通过PROFIBUS现场总线,建立与这些模块(如ET200MP、
    的头像 发表于 11-06 09:21 4063次阅读
    SIMATIC <b class='flag-5'>S7-1500</b> PLC与<b class='flag-5'>ET200</b>MP的PROFIBUS-DP<b class='flag-5'>通信</b>