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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-01-18 09:55 次阅读

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

下面以S7-400单站系统及Modscan32软件为例,详细介绍如何将S7-400单站系统通过CPU集成PN口配置为Server,Modscan32为Client进行Modbus TCP通讯,下图11为服务器功能块库的程序结构及各功能块完成的功能:

fd7ce400-5711-11eb-8b86-12bb97331649.png

S7-400系统及Modscan32软件组态

打开Step7软件,新建一个工程项目文件,命名为“M_TCP_CPU_V26 (Server)”, 在项目下插入一个S7-400站,如下图12所示:

fde72446-5711-11eb-8b86-12bb97331649.png

图12:新建S7-400 Station

双击插入的SIMATIC 400 Station的“Hardware”,打开硬件组态,在硬件组态界面下分别插入机架,电源PS407、CPU414-3PN/DP,本例中将CPU的PN口IP 地址设为192.168.70.2,如下图13所示:

fe476770-5711-11eb-8b86-12bb97331649.png

硬件组态完成后,编译保存,并将例程站点“SIMATIC 400(Server)”中的程序(System data不需要拷贝)拷贝到该项目中。

由于需要在SIMATIC站与其他通讯伙伴之间建立TCP连接用于Modbus通讯,而对于CPU的集成PN口来说须通过Open IE(开放式以太网通讯)的方式来建立TCP连接,通过S7-CPU的 PROFINET接口进行 Modbus TCP 通信时,需要使用通信块 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和 FB64 "TRCV",要进行 Modbus TCP 通信,必须在数据块中为每个连接指定相应的参数,相应得参数在程序中主要由DB2“MODBUS_PARAM“来完成初始化,其中各参数的含义如下图14、15所示:

fe7484f8-5711-11eb-8b86-12bb97331649.png

feb000d2-5711-11eb-8b86-12bb97331649.png

3.3 通讯测试

由于“ ModbusTCP PN-CPU V2.6”选项包支持功能码FC1,2,3,4,5,6,15,16,不同的功能码测试过程中类似,因此下面以FC03(读写保持寄存器)为例来说明通讯测试的整个过程,对于其他功能码的测试将不再重复᧿述,对于Modbus的数据类型可参考下表4:

fed90f90-5711-11eb-8b86-12bb97331649.png

由于服务器主功能块FB102“MODBUSPN”的参数需要初始化,因此分别在OB100及OB1中调用FB102,在OB100中调用FB102完成相关参数的初始化,FB102的管脚分布如下图16所示:

ff12bb82-5711-11eb-8b86-12bb97331649.png

打开Modscan32软件,在“Connection--->connect”中打开连接属性对话框,连接接口选择“Remote TCP/IP Server”,IP Address分别填入CPU的IP 地址192.168.70.2,Service为远程服务器的端口502,在协议的选择对话框中可以定义传输模式、通讯超时响应时间,报文发送间隔及允许写多个保持寄存器等,这里分别保持缺省设置即可,如下图17所示:

027806a6-5712-11eb-8b86-12bb97331649.png

下载硬件组态及程序到CPU中,将DB2“MODBUS_PARAM”的参数“server_client”使能为1,在 Modscan32 的“Set up->Data Definition”中设置数据扫᧿周期、寄存器连接类型、起始地址、长度等,如下图18所示:

05c7feb0-5712-11eb-8b86-12bb97331649.png

由于Modbus的内部地址编排时基于数据链路层和应用层有一定的映射关系,因此Modbus的地址与SIMATIC中的DB块的地址时按照一定的地址映射关系来相对应,这样造成了DB块中有一定的地址偏移量,在本例中假设数据区的定义如下图19所示,其DB偏移量、Modbus物理编址、应用层编址如下图20所示:

08fa3f4e-5712-11eb-8b86-12bb97331649.png

0c1ebc68-5712-11eb-8b86-12bb97331649.png

在Step7的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以看到Modscan32软件与CPU414-3PN/DP的数据通讯已经建立起来了,双方可以进行正常的保持寄存器数据读写操作,如下图21所示:

0fcf1632-5712-11eb-8b86-12bb97331649.png

责任编辑:lq

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

    关注

    68

    文章

    10826

    浏览量

    211160
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1351

    浏览量

    78989
  • S7-400
    +关注

    关注

    1

    文章

    63

    浏览量

    14674

原文标题:Modbus TCP 作为Server(主)实例

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

收藏 人收藏

    评论

    相关推荐

    如何将PCM9211的RXIN4-RXIN7配置I2S方式输入?

    您好,请问如何将PCM9211的RXIN4-RXIN7配置I2S方式输入?
    发表于 10-14 07:05

    如何将BQ35100配置EOS模式

    电子发烧友网站提供《如何将BQ35100配置EOS模式.pdf》资料免费下载
    发表于 09-11 10:03 0次下载
    <b class='flag-5'>如何将</b>BQ35100<b class='flag-5'>配置</b><b class='flag-5'>为</b>EOS模式

    CANopen主转Profinet从协议网关(JM-PN-COP)

    一,产品主要功能 1、 捷米特JM-PN-COP 型网关可实现Profinet与CANopen网络之间的数据通信。作为Profinet从,支持西门子S7-200 SMART/300/400
    的头像 发表于 08-19 18:30 500次阅读
    CANopen主<b class='flag-5'>站</b>转Profinet从<b class='flag-5'>站</b>协议网关(JM-<b class='flag-5'>PN</b>-COP)

    如何将tc275的cpu0设置空闲模式?

    如何将 tc275 的 cpu0 设置空闲模式? 我试过英飞凌示例,但不起作用。
    发表于 07-04 07:12

    干货分享:宏集物联网HMI通过S7 MPI协议采集西门子400PLC数据

    宏集物联网HMI集成了多个驱动来适配西门子200、300、400、1200、1500、LOGO等系列PLC,本文主要介绍宏集HMI通过S7 MPI协议采集西门子
    的头像 发表于 06-13 13:39 509次阅读
    干货分享:宏集物联网HMI<b class='flag-5'>通过</b><b class='flag-5'>S7</b> MPI协议采集西门子<b class='flag-5'>400</b>PLC数据

    Modbus RTU转PROFINET协议转换网关 HT1S-PNS485-S10

    Modbus RTU/RS485/232 转 PROFINET(S7-400/1500/1200、CPU315-2PN/DP)网关HT1S-PN485-S5最大可支持5个MODBUS
    发表于 06-06 14:43

    如何将S7-1500 CPU重置出厂设置呢?

    如果在项目环境中开始重置出厂设置,必须具有到相关 CPU 的在线连接。
    的头像 发表于 05-21 11:15 3408次阅读
    <b class='flag-5'>如何将</b><b class='flag-5'>S7</b>-1500 <b class='flag-5'>CPU</b>重置<b class='flag-5'>为</b>出厂设置呢?

    西门子网S7-COMM协议300 400如何使用?

    1 驱动简介 西门子3****00 (包括314C-2PN/DP、315-2PN/DP等) 400 (包括412-2PN、414-3PN/D
    的头像 发表于 04-18 16:18 852次阅读
    西门子网<b class='flag-5'>口</b><b class='flag-5'>S7</b>-COMM协议300  <b class='flag-5'>400</b>如何使用?

    如何使用S7-1200 CPU的存储卡呢?

    S7-1200 CPU 使用的存储卡 SD 卡,存储卡中可以存储用户项目文件,有如下3种功能
    的头像 发表于 02-26 09:53 1762次阅读
    如何使用<b class='flag-5'>S7</b>-1200 <b class='flag-5'>CPU</b>的存储卡呢?

    GD32 MCU如何将烧录配置GPIO使用?

    如果大家在进行GD32 MCU开发时发现GPIO引脚使用不足,可以尝试烧录配置GPIO使用,这样就可以多出几个引脚使用,但使用的时候如何配置
    的头像 发表于 02-20 10:18 1870次阅读
    GD32 MCU<b class='flag-5'>如何将</b>烧录<b class='flag-5'>口</b><b class='flag-5'>配置</b><b class='flag-5'>为</b>GPIO使用?

    CPU如何将数据传到GTM模块的?

    ATOM不通过ARU也可以直接写寄存器,从而配置占空比和周期。我的问题是中间发生了什么,CPU如何将数据传到GTM模块的?
    发表于 01-22 08:09

    西门子S7-300(CPU315)做整流系统的PID控制

    电子发烧友网站提供《西门子S7-300(CPU315)做整流系统的PID控制.pdf》资料免费下载
    发表于 01-14 09:43 0次下载

    西门子S7-1200与S7-300PLC之间的区别有哪些?

    1214C例,S7-1200的CPU支持通过信号板来增加IO点数,而S7-300CPU的IO点数是固定的。在硬件组态方面,
    的头像 发表于 01-10 10:54 1015次阅读
    西门子<b class='flag-5'>S7</b>-1200与<b class='flag-5'>S7</b>-300PLC之间的区别有哪些?

    使用PUT和GET指令通过S7连接在两个CPU之间交换数据

    使用 PUT 和 GET 指令通过 S7 连接在两个 CPU 之间交换数据。
    的头像 发表于 12-14 16:53 1.1w次阅读
    使用PUT和GET指令<b class='flag-5'>通过</b><b class='flag-5'>S7</b>连接在两个<b class='flag-5'>CPU</b>之间交换数据

    s7-200smart编程教程

    语言、程序结构、指令集、数据类型、程序调试等方面。通过本教程的学习,您将能够熟练掌握S7-200 Smart的编程技术,工业自动化项目提供可靠的支持。 二、硬件配置
    的头像 发表于 12-14 11:11 2861次阅读