当前位置: 首页 > news >正文

开疆智能ModbusRTU转Profinet网关连接西门子CP341配置案例

本案例是通过开疆智能研发的ModbusRTU转Profinet网关连接西门子1200PLC与CP341的配置案例,CP341作为ModbusRTU从站与网关进行通讯,并把采集上来的数据发送给西门子1200PLC.

配置过程:

Modbus从站配置

组态和配置

1、打开软件TIA PORTAL STEP7 V13,点击项目->新建...创建一新项目,项目名称为341_modbus_Slave。

图2

2、用鼠标点击“添加新设备”,选择SIMATIC S7-300->CPU->CPU 315-2PN/DP->6ES7 315-2EH14-0AB0。

图3

3、双击“设备组态”进入硬件组态界面,导轨RACK和CPU 315-2PN/DP已经存在,只需要插入PS307和CP341。

图4

4、双击CP341模板,进入CP341的属性框,配置CP341参数。

图5

5、在“协议”选项中选择“Modbus从站”。配置Modbus从站通信参数,设定的通信参数要和通讯伙伴的相同。传输率(通信波特率):9600bps,数据位:8位,停止位:1位,奇偶校验:无,从站站址:2,其他的参数都采用默认设置。

图6

6、FC01,05,15:读取、强制输出位的状态;分4个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应MODBUS地址区为00001~00016,对应西门子数据区(标记F.)为M10.0~M11.7;第2范围从16~31对应MODBUS 地址区为00017~00032,对应西门子数据区(输出Q.)为Q0.0~Q1.7;第3范围从地址32~64对应Modbus 地址区为00033~00065,对应西门子数据区(时间T.)为T0~T1;第4范围从地址64~96对应Modbus 地址区为00065~00097,对应西门子数据区(计数器C.)为C0~C1。

图7

7、FC02:读取输入数据位的状态,分2个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应MODBUS地址区为10001~10016,对应西门子数据区(标记F.)为M12.0~M13.7;第2范围从16~31对应MODBUS 地址区为10017~10032,对应西门子数据区(输入I.)为I0.0~I1.7。

图8

8、FC03、06、16:组态保持寄存器数据区,对应西门子数据区为DB块,即MODBUS保持寄存器地址区的地址40001,对应西门子DB块的地址DB10.DBW0,依次40002对应DB10.DBW2,往后依次类推。

图9

9、FC04:组态输入寄存器数据区,对应西门子数据区同样是DB块,即MODBUS输入寄存器地址区的地址30001,对应西门子DB块的地址DB11.DBW0,依次30002对应DB11.DBW2,往后依次类推。

图10

10、设置写参数的限制值,对写操作做访问限制。

图11

11、如果选用的是RS422/485接口的CP341时,还需要设置接口类型,如下图所示,其它参数与RS232的设置一样。

图12

12、查看驱动程序状态,提示在“在线诊断”对话框中更新CP上的驱动程序,如下图所示。

图13

加载驱动

1、右击模块-点击“在线与诊断”-将项目转至在线-点击“功能”-“加载特殊驱动程序

图14

2、点击”加载“,完成在模块上加载驱动程序操作

图15

编写通信程序

1、在设置功能码FC03、06、16中,创建DB10满足设置需要;在设置功能码FC04中,创建DB11满足设置需要。这2个数据块都创建1个数据类型Array的变量,数组元素的数据类型为Word,数量为101。

图16

2、进入主程序OB1,从通信->通信处理器->MODBUS Slave (RTU),调用功能块MODB_341,MODB_341的背景数据块为DB1。

图17

关于功能块MODB_341的管脚说明。

LADDR

硬件组态中的起始逻辑地址,本例中为256,见图15

START_TIMER

超时初始化定时器,本例中为T0

START_TIME

超时初始化时间值,本例中为S5t#1s

OB_MASK

外设访问错误屏蔽位,本例中为M200.0

CP_START

FB初始化始能位,该位需要置1。本例中为M200.1

CP_START_FM

CP_START初始化的上升沿位,本例中为M200.2

CP_START_NDR

从CP写操作位,本例中为M200.3

CP_START_OK

初始化成功标志,本例中为M200.4

CP_START_ERROR

初始化失败标志,本例中为M200.5

ERROR_NR

错误号,本例中为MW202

ERROR_INFO

错误信息,本例中为MW204,可以查看Modbus Slave 手册第10章

图18

设备连接

本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:手册、文档和软件链接部分)。

如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。

通信测试

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

1、将项目程序在线,本示例中手动将M200.1(即:CP_START)置1,M200.2(即:CP_START_FM)和M200.4(即:CP_START_OK)也会为1。

图19

打开网关配置软件“Gateway Configuration Studio”并新建项目选择PN2MRM

设置网关在Profinet一侧的设备名称及IP地址(新版本通过主站组态软件进行分配)

设置网关的Modbus参数,跟从站保持一致。

从站支持4800,9600,19200三种波特率

右键添加Node,填写从站的站地址

添加对应功能码,从手册可知,执行器支持)03 04 06 16,功能码,选取对应选项

使用03功能码,起始地址为0,共10个寄存器的数量。

确认参数后将在配置到网关。

1200PLC:

打开西门子PLC组态软件,新建项目并导入网关GSD文件

给网关分配设备名称以及IP地址

分配输入输出数据长度

确认组态无误后将组态下载进PLC即可正常使用

http://www.dtcms.com/a/302839.html

相关文章:

  • DDD之整体设计流程(2)
  • debian系统分卷是不会影响系统启动速度?
  • 排序算法 (Sorting Algorithms)-Python示例
  • Android 系统架构
  • 阿里云 API 网关 x OKG:游戏连接治理的「最后一公里」
  • 阿里云正式开源 LoongSuite:打造 AI 时代的高性能低成本可观测采集套件
  • 电脑不小心误删了文件怎么恢复??
  • AI资讯日报 - 2025年07月28日
  • EXCEL批量生成超链接引用无效的情况
  • Kotlin中Flow
  • 基于Spring Boot的装饰工程管理系统(源码+论文)
  • 一个典型的微控制器MCU包含哪些模块?
  • kafka开启Kerberos使用方式
  • “本地计算机上的 mysql 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止”解决方式
  • 算法训练营day34 动态规划② 62.不同路径、63. 不同路径 II、343整数拆分、96.不同的二叉搜索树
  • Kafka 顺序消费实现与优化策略
  • linux diff命令使用教程
  • 最长连续数组
  • 【C++11】列表初始化【{ }使用详解】
  • Facenet(MTCNN+InceptionResnetV1)人脸考勤项目(有缺点,但可用)
  • 境外期货Level2高频Tick历史行情数据获取与应用指南
  • 基于LangGraph Cli的智能数据分析助手
  • MCU 中的 PWM(脉冲宽度调制)是什么?
  • 八大神经网络的区别
  • Java Stream流的使用
  • Open CV图像基本操作可莉版
  • Linux:线程同步与线程互斥
  • PBR技术
  • 杭州网站建设公司,哪家擅长做多语言外贸站?
  • SpringCloude快速入门