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

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

3天内不再提示

中科易联Profinet OEM嵌入式通讯模块之西门子PLC S7-1200通讯应用指南

王可 来源:jf_39152499 作者:jf_39152499 2025-05-27 14:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OEM嵌入式通讯模块与西门子PLC S7-1200通讯测试指南

一、OEM嵌入式通讯模块介绍

OEM嵌入式通讯模块是一款适用于工业以太网和现场总线协议的嵌入式IC模块,利用该模块可快速又轻松地把您的设备集成到工业网络中。目前该系列模块有支持PROFINET、EtherNet/IP、EtherCAT、Modbus TCP等实时通信协议。OEM模块对用户开放了2种串行接口,包括USART接口(标准Modbus RTU协议)和SPI接口,与主控MCU应用程序交换实时网络数据,从而将您的设备集成到相应的网络而无需大量的开发工作。另外该模块还具备32个引脚的IO信号,可以满足32个点的数字量IO设计,这32个IO引脚可以任意设置成DI或DO。
1.png

二、 案例说明

本案例以OEM模块标准评估板(主控芯片STM32F103VCT6)结合集成PROFINET从站通讯协议的OEM通讯模块,及西门子S7-1200 PLC作为PROFINET主站为例,进行关于PROFINET通讯模块的通讯测试。

2.1 准备工作

① OEM模块标准评估板
2.png

功能说明:

  1. 开发板上X1端子,直流24V供电。。
  2. 本开发板支持2种串行接口,包括USART接口和SPI接口。
  3. 本开发板具备32个引脚的IO信号,可以满足32个点的数字量IO设计。
  4. 本开发板对外提供一路RS232信号,用于打印信息。
  5. 本开发板主芯片使用STM32F103VCT6,开发例程基于此型号芯片编写。
  6. JP2插针是开发板主芯片的程序烧写口。
  7. 拨动开关S1:拨到ON时,开发板供电;拨到OFF时,开发板断电。拨动开关S2始终处于OFF状态。

② 目标系统
3.png

西门子PLC S7-1200作为PROFINET主站,PROFINET通讯模块插在标准评估板上作为从站,通过网线连接两个设备进行通讯。评估板上的RS232端口电脑连接,用Modbus Slave软件查看接收到的来自PROFINET网络中数据,或者向开发板发送数据从而发送给PLC。

三、通讯测试

OEM嵌入式通讯模块的通讯测试实际上包括两个部分:PLC主站与OEM模块之间的通讯,以及OEM模块与评估板之间通过USART(Modbus RTU)或者SPI的数据交互,本示例以USART通讯为例说明。

3.1 基本配置

1) OEM 模块 J1J3 全部断开,开发板拨码 18 全部 OFF;

2) 使用交换机将西门子 PLC、开发板、电脑连到一起,PLC 程序下载到 PLC;

3) 使用RS232 连接线,将电脑与开发板的 DB1 端口连接;

4) 电脑打开 Modbus Slave 软件,建立连接。

3.2 OEM模块与PLC通讯

① 导入对应PROFINET通讯模块的gsd文件到博图软件中,便于之后网络组态与设备配置使用
4.png

② 选择–>添加新设备–>找到并添加所使用的PLC型号,这里以S7-1200为例
5.png

③ 找到所导入的GSD文件对应的设备,并添加到设备组态中,并连接PLC与通讯模块
6.png

④ 配置PLC的IP地址与设备名称(这里使用“自动生成PROFINET设备名称”)
7.png

⑤ 配置OEM模块的IP地址与设备名称,这里使用默认的GSD文件中HI-TOP名称,也可以对设备额外设置其他名称,但需注意与网络组态中的一致,否者无法找到设备。
8.png

⑥ 在设备视图中添加输入输出模块,这里分别添加32 bytes input和32 bytes outputs为例
9.png

⑦ 选择“编译”,检查是否有报错:
10.png

⑧ 选择“下载”,在出现的窗口中分配对应的子网,点击“开始搜索”找到可访问的设备,并“下载”
11.png

⑨ “装载”配置
12.png

⑩ 选择“转至在线”可监控网络状态,所添加设备后显示绿色对勾代表通讯状态正常。
13.png

3.3 OEM模块与评估板通讯

① 状态机

无论使用USART还是SPI,OEM模块都作为主站运行,遵循下面的状态机:
14.png

② 数据区定义

根据功能的不同,OEM模块用到的数据区划分为5个区域,分别是:通讯信息区、下发数据区、下发参数区、设备信息区、上传数据区。OEM模块在“S1 握手”阶段读取设备信息区的数据,由于PROFINET模块目前未使用此区域的内容,所以用户仅需要正确回复报文即可,OEM模块忽略数据值的内容。

下发数据区(4xxxx区 – 10H功能码)(最大1000字节)
15.png

上传数据区(3xxxx区 – 04H功能码)(最大1000字节)
16.png

③ USART通讯

· USART接口波特率支持:9.6Kbps、12Kbps、38.4Kbps、57.6Kbps、115.2Kbps、230.4Kbps、460.8Kbps。

· OEM模块上电后,在S1握手阶段,通过握手报文,OEM模块可以自动适应用户的波特率。用户使用的波特率需要在以上7种波特率之中。

· USART接口数据帧格式:8 个数据位、偶校验、1 个停止位。

· USART使用标准MODBUS协议。

· OEM模块做为USART通讯主站,用户做为USART通讯从站。

· 用户串口的处理机制:用户做为标准的MODBUS从站,只需要在收到OEM模块的报文命令后,按照相应命令回复报文即可。

· 通讯报文约定

A.下发数据

板卡发送:
图片17.png

用户应答:
图片18.png

B.上传数据

板卡发送:
图片19.png

用户应答:
图片20.png

④ Modbus程序示例:

//Modbus数据接收//
intuser_modbus_deal_rev ( void )

{

unsignedint i , tem_start_adr , tem_num ;

unsignedint tem_crc ;

unsignedchar tem_hi , tem_lo ;

tem_crc = modbus_crc( URXDBuf , UART_rev_num-2 );

tem_lo = tem_crc & 0xff ;

tem_hi = (tem_crc>>8) & 0xff ;

//CRC校验

if ( ( URXDBuf[UART_rev_num-2]==tem_hi ) && ( URXDBuf[UART_rev_num-1]==tem_lo ) )

{

if ( URXDBuf[1] == 0x10 ) // 功能码10H

{

tem_start_adr = ( URXDBuf[2] << 8 ) + URXDBuf[3] ;

tem_start_adr = tem_start_adr << 1 ;

tem_num = URXDBuf[6] ;

for ( i=0 ; i

{

modbus_4_data[ tem_start_adr+i ] = URXDBuf[7+i] ;

}

}

user_modbus_deal_txd();

}

return 1 ;

}

//Modbus数据发送//
intuser_modbus_deal_txd ( void )

{
unsignedint tem , i ;
unsignedintfunction_code , tem_start_adr , tem_num1 , tem_num2 ;

function_code = URXDBuf[1] ;

// 04H
if( function_code == 0x04 )

{

tem_start_adr = ( URXDBuf[2] << 8 ) + URXDBuf[3] ;

tem_start_adr = tem_start_adr << 1 ; ַ

tem_num1 = ( URXDBuf[4] << 8 ) + URXDBuf[5] ;

tem_num2 = tem_num1 << 1 ;
for ( i=0 ; i

{

modbus_3_data[ tem_start_adr+i ] = modbus_3_data[ tem_start_adr+i ] + 1 ;

UTXDBuf[3+i] = modbus_3_data[ tem_start_adr+i ] ;

}

UTXDBuf[0] = modbus_adr ;

UTXDBuf[1] = 0x04 ;

UTXDBuf[2] = tem_num2 ;

tem = modbus_crc( UTXDBuf , tem_num2+3 );

UTXDBuf[tem_num2+3] = tem >> 8 ;

UTXDBuf[tem_num2+4] = tem ;

UART_trx_num = tem_num2+5 ;

}

// 10H
elseif ( function_code == 0x10 )

{
for ( i=0 ; i<6 ; i++ )

{

UTXDBuf[i] = URXDBuf[i] ;

}

tem = modbus_crc( UTXDBuf , 6 );

UTXDBuf[6] = tem >> 8 ;

UTXDBuf[7] = tem ;

UART_trx_num = 8 ;

}

UART_trx_ctr = 0 ;

UART_rev_ctr = 0 ;

Modbus_TR_State = TR_TURE ;
for ( i=0 ; i<10 ; i++ )

USART_SendData( RTU_USART , UTXDBuf[0] );

monitor_print(UTXDBuf[0]);
return1 ;

}
④ 数据交互模型
图片21.png

3.4 数据交互测试

在“PLC变量”中添加需要在线监视或修改的变量,在“监控与强制表”中添加监控表,并添加对应的变量,可进行变量的监测。另外,这里可以通过Modbus Slave软件监测从站开发板的收发数据。在博途和Modbus Slave可以分别查看相应的收发数据,PROFINET模块通讯正常,并完成PROFINET数据交互。(注意OEM嵌入式通讯模块数据区Modbus寄存器地址从0x100开始)
图片22.png

图片23.png

审核编辑 黄宇

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

    关注

    5186

    文章

    20155

    浏览量

    328969
  • plc
    plc
    +关注

    关注

    5045

    文章

    14443

    浏览量

    483632
  • OEM
    OEM
    +关注

    关注

    4

    文章

    418

    浏览量

    52727
  • 西门子
    +关注

    关注

    98

    文章

    3272

    浏览量

    119754
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    技术Profinet嵌入式开发板与西门子PLC S7-1200

    本案例以集成PROFINET从站通讯协议的OEM通讯模块,及西门子
    的头像 发表于 11-03 17:06 507次阅读
    稳<b class='flag-5'>联</b>技术<b class='flag-5'>Profinet</b><b class='flag-5'>嵌入式</b>开发板与<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b> <b class='flag-5'>S7-1200</b>

    西门子S7-1200 MODBUS RTU通讯温度控制器和变频器教程

    该触摸屏和S7-1200PLC进行以太网通讯,方便S7-1200的DB块在触摸屏做出对两个从站相关的设定,熟悉S7-1200的串行通讯功能。
    的头像 发表于 10-30 11:30 1831次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-1200</b> MODBUS RTU<b class='flag-5'>通讯</b>温度控制器和变频器教程

    RS485/232转PROFINET网关在台凌变频器与西门子PLC通讯中的配置与应用

    在工业自动化领域,实现不同协议设备间的无缝通讯是提升生产效率的关键。本文将详细介绍如何通过RS485转PROFINET网关,将台凌变频器与西门子PLC(如
    的头像 发表于 08-13 17:00 677次阅读
    RS485/232转<b class='flag-5'>PROFINET</b>网关在台凌变频器与<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>中的配置与应用

    西门子S7-200与S7-1200通过PPI以太网模块通讯,赋能汽车制造行业发展

    在当今工业自动化领域,不同型号PLC之间的高效通讯至关重要。西门子S7200与S71200作为常用的可编程逻辑控制器,其
    的头像 发表于 08-12 14:35 631次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7</b>-200与<b class='flag-5'>S7-1200</b>通过PPI以太网<b class='flag-5'>模块</b><b class='flag-5'>通讯</b>,赋能汽车制造行业发展

    基于Modbus TCP的WinCC监控S7-1200/200SMT应用实例

    测试设备与参数 l 西门子PLC型号:S7-1200 × 1台 l 西门子PLC型号:S7-20
    的头像 发表于 08-12 09:15 729次阅读
    基于Modbus TCP的WinCC监控<b class='flag-5'>S7-1200</b>/200SMT应用实例

    RS232转Profinet网关与西门子S7-1200 PLC的智能化工业通信应用

    在工业自动化领域,设备间的通信如同人体的神经系统,需要精准、高效的信号传递。将密度传感器这类传统设备接入现代工业网络时,RS232转Profinet网关扮演着“翻译官”的角色,而西门子S7-1200
    的头像 发表于 08-02 21:14 1331次阅读

    RS232转Profinet网关实现伟斯扫码枪A898BT与西门子S7-1200 PLC的快速通讯

    在工业自动化领域,实现设备间的高效通信是提升生产线智能化水平的关键。本文将详细介绍如何通过RS232转Profinet网关,将台湾伟斯(A898BT)扫码枪接入西门子S7-1200 PLC
    的头像 发表于 08-02 20:48 1399次阅读

    MPI 转以太网模块案例:西门子 S7-300PLC 借此与 S7-1200、触摸屏及 ModbusRTU 变频器通讯

    一、项目背景与痛点 在新能源储能系统集成场景中,某锂电池生产线采用西门子S7-300PLC作为本地控制器,通过MPI/DP接口连接西门子TP1200Comfort触摸屏实现本地操作。随
    的头像 发表于 07-30 10:02 546次阅读
    MPI 转以太网<b class='flag-5'>模块</b>案例:<b class='flag-5'>西门子</b> <b class='flag-5'>S7-300PLC</b> 借此与 <b class='flag-5'>S7-1200</b>、触摸屏及 ModbusRTU 变频器<b class='flag-5'>通讯</b>

    plc以太网通讯模块西门子 S7-300PLCS7-1200、触摸屏及变频器通讯案例

    TP1200Comfort触摸屏,同时工厂需要将该西门子300PLC西门子1200PLC进行以太网通讯
    的头像 发表于 07-29 09:51 1018次阅读
    <b class='flag-5'>plc</b>以太网<b class='flag-5'>通讯</b><b class='flag-5'>模块</b>:<b class='flag-5'>西门子</b> <b class='flag-5'>S7-300PLC</b> 与 <b class='flag-5'>S7-1200</b>、触摸屏及变频器<b class='flag-5'>通讯</b>案例

    依托PPI以太网模块西门子S7-200与S7-1200通讯助力食品加工行业进步

    在当今工业自动化领域,不同型号PLC之间的高效通讯至关重要。西门子S7200与S71200作为常用的可编程逻辑控制器,其
    的头像 发表于 07-21 09:38 549次阅读
    依托PPI以太网<b class='flag-5'>模块</b>,<b class='flag-5'>西门子</b><b class='flag-5'>S7</b>-200与<b class='flag-5'>S7-1200</b><b class='flag-5'>通讯</b>助力食品加工行业进步

    西门子PLCS7-1200/1500/300/400)的数据采集与监控方案

    西门子PLC S7-1200S7-1500、S7-300/400型号设备,常用协议:PPI(Process Communication I
    的头像 发表于 07-04 10:13 973次阅读

    如何破解三菱PLC西门子PLC通讯难题

    在工业自动化领域,不同品牌PLC之间的通讯一直是工程师们关注的焦点。三菱PLC西门子PLC作为市场主流设备,常因协议差异导致数据交互困难。
    的头像 发表于 06-09 17:14 807次阅读
    如何破解三菱<b class='flag-5'>PLC</b>与<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>的<b class='flag-5'>通讯</b>难题

    EtherCAT转ProfiNet西门子1200PLC与伺服电机通讯案例全解

    。 二.设备介绍 1. 西门子S7-1200PLC S7-1200 PLC采用紧凑型、模块化设计,组成部分包括电源
    的头像 发表于 03-21 09:42 1394次阅读
    EtherCAT转<b class='flag-5'>ProfiNet</b><b class='flag-5'>西门子</b><b class='flag-5'>1200PLC</b>与伺服电机<b class='flag-5'>通讯</b>案例全解

    Profinet转EtherCAT深度解读网关模块如何协议转换赋能西门子PLC与伺服驱动高效协作案例​

    的其它设备或连接到ProfiNetPLC上,并在正常运行中支持EtherCAT协议。本产品可作为EtherCAT主站,做为西门子S7-1200系列PLC的从站并在监控系统中支持PROFINET
    的头像 发表于 03-14 10:58 640次阅读
    <b class='flag-5'>Profinet</b>转EtherCAT深度解读网关<b class='flag-5'>模块</b>如何协议转换赋能<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>与伺服驱动高效协作案例​

    ProfinetProfinet网关应用在霍尼韦尔DCS与西门子1500PLC通讯案例

    ProfinetProfinet网关在霍尼韦尔DCS与西门子1500PLC通讯中的应用案例
    的头像 发表于 12-12 06:31 1300次阅读
    <b class='flag-5'>Profinet</b>转<b class='flag-5'>Profinet</b>网关应用在霍尼韦尔DCS与<b class='flag-5'>西门子</b>1500<b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>案例