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

发布时间:2022-11-28  

SIMATIC S7-1500 Modbus TCP通讯概述

S7-1500 PLC需要通过TIA Portal博途软件进行组态配置,从TIA Portal V12SP1开始软件中增加了S7-1500的Modbus TCP块库,用于S7-1500与支持Modbus TCP的通信伙伴进行通信,如下图2-1所示:

53e61aba-6808-11ed-8abf-dac502259ad0.png

配置 S7-1500 CPU作为Modbus TCP Server与通信伙伴建立通讯

打开TIA Portal V13软件,新建一个项目,本例中命名为“S7_1500ModbusTCP_Final_V13”,在项目中添加CPU1516-3PN/DP,为集成的PROFINET接口新建一个子网并设置IP 地址,本例中为“192.168.1.30”,如图3-1所示:

5417b9ee-6808-11ed-8abf-dac502259ad0.png

在CPU1516-3PN/DP的OB1组织块中添加Modbus TCP Server功能块“MB_SERVER”,软件将提示会为该FB块增加一个背景数据块,本例中为DB2“MB_SERVER_DB”,如图3-2所示:

544da680-6808-11ed-8abf-dac502259ad0.png

之后在CPU1516-3PN/DP中添加一个全局数据块用于匹配功能块“MB_SERVER”的管脚参数“CONNECT”,本例中为数据块DB3“MB_TCON”,打开该数据块,手动输入一个“TCON_IP_v4”的数据类型,如图3-3所示:

547fb6f2-6808-11ed-8abf-dac502259ad0.png

54b2bf70-6808-11ed-8abf-dac502259ad0.png

创建一个全局数据块用于匹配功能块“MB_SERVER”的管脚参数“MB_HOLD_REG”,本例中为DB1“Server_DB”,用于存储保持寄存器的通信数据,需要注意的是该数据块必须为非优化数据块(支持绝对寻址),在该数据块的属性中不勾选“优化的块访问”选项,如图3-5所示:

54fad6d4-6808-11ed-8abf-dac502259ad0.png

功能块“MB_SERVER”的其它管脚参数如表3-2所示:

552003dc-6808-11ed-8abf-dac502259ad0.png

上面提到保持寄存器功能块DB1“MB_Server”与管脚参数“MB_HOLD_REG”关联,对于其它数据类型,如线圈、离散输入、输入寄存器等通过功能块均已经与S7-1500的过程映像区进行了映射,其映射地址对应如图3-6所示:

55498cde-6808-11ed-8abf-dac502259ad0.png

设置完上述各管脚参数后,下载项目到CPU1516-3PN/DP中,打开Modsan32应用程序,下面以保持寄存器为例介绍通信测试过程。

在Modscan32的数据定义界面中设置数据类型为保持寄存器,并设置Modbus偏移量及长度,建立与CPU1516-3PN/DP集成PN口的通信连接,可以看到双方可以建立通信连接并进行数据读写,如图3-7所示:

5579cb1a-6808-11ed-8abf-dac502259ad0.png

对于其它数据类型,已与S7-1500CPU的过程映像区进行了映射,其过程类似。

使用功能块“MB_SERVER”的一些注意事项:

1)S7-1500 CPU的集成PN口通过功能块“MB_SERVER”支持与多个Modbus客户端的通信,支持的个数取决于CPU所支持的TCP连接数,必须为每一个客户端连接分别调用一次功能块“MB_SERVER”,其背景数据块、ID、端口号等参数必须唯一。

2)S7-1500 CPU的集成PN口可以同时作为Modbus TCP的Server及Client。

3)S7-1500 CPU的集成PN口支持多协议,除了运行Modbus TCP协议外,同时可以运行PROFINET、TCP/IP、S7等协议。

配置 S7-1500 CPU作为Modbus TCP Client与通信伙伴建立通讯

在上述新建的项目中增加一个CPU1516-3PN/DP的站点,设置PROFINET的IP 地址“192.168.1.30”,之后在CPU1516-3PN/DP的OB1组织块中添加Modbus TCP Client功能块“MB_CLIENT”,软件将提示会为该FB块增加一个背景数据块,本例中为DB1“MB_CLIENT_DB”,如图4-1所示:

55aba482-6808-11ed-8abf-dac502259ad0.png

同样在CPU1516-3PN/DP中添加一个全局数据块用于匹配功能块“MB_CLIENT”的管脚参数“CONNECT”,本例中为数据块DB2“MB_CLIENT_TCON”,打开该数据块,手动输入“TCON_IP_v4”的数据类型,如图4-2所示:

55dfd202-6808-11ed-8abf-dac502259ad0.png

展开DB块后其“TCON_IP_v4”的数据类型的各参数设置如下:

5614f540-6808-11ed-8abf-dac502259ad0.png

563b5e6a-6808-11ed-8abf-dac502259ad0.png

创建一个全局数据块用于匹配功能块“MB_CLIENT”的管脚参数“MB_DATA_PTR”,本例中为DB3“MB_Client_Data”,用于存储Modbus通信的各数据类型,需要注意的是该数据块必须为非优化数据块(支持绝对寻址),在该数据块的属性中不勾选“优化的块访问”选项,如图4-4所示:

56878358-6808-11ed-8abf-dac502259ad0.png

对于功能块“MB_CLIENT”的其它参数管脚含义如表4-2所示:

56cc4ca4-6808-11ed-8abf-dac502259ad0.png

56ee35ee-6808-11ed-8abf-dac502259ad0.png

之后,打开上述功能块“MB_CLIENT”的背景数据块,在“MB_UNIT_ID”参数中表示通信服务器伙伴的从站地址,该地址必须一致,如图4-6所示:

5707b9b0-6808-11ed-8abf-dac502259ad0.png

设置完上述各管脚参数后,下载项目到CPU1516-3PN/DP中,打开Modslave应用程序,下面以保持寄存器为例介绍通信测试过程。

在Modslave的数据定义界面中设置数据类型为保持寄存器,在功能块“MB_CLIENT”的“MB_DATA_ADDR”和“MB_DATA_LEN”设置起始地址和长度,可以看到双方可以建立通信连接并进行数据读写,如图4-7所示:

57fec174-6808-11ed-8abf-dac502259ad0.png

对于其它数据类型,测试过程类似。

使用功能块“MB_CLIENT”的一些注意事项:

1)S7-1500 CPU的集成PN口通过功能块“MB_CLIENT”支持与多个Modbus服务器的通信,支持的个数取决于CPU所支持的TCP连接数,必须为每一个服务器连接需要分别调用一次功能块“MB_CLIENT”,其背景数据块、ID 等参数必须唯一。

2)S7-1500 CPU的集成PN口可以同时作为Modbus TCP的Server及Client。

3)S7-1500 CPU的集成PN口支持多协议,除了运行Modbus TCP协议外,同时可以运行PROFINET、TCP/IP、S7等协议。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>