# profibus_DP_PA_soft **Repository Path**: fredxuji/profibus_DP_PA_soft ## Basic Information - **Project Name**: profibus_DP_PA_soft - **Description**: profibus DP and PA protocol stacks based on MCU. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 9 - **Created**: 2022-10-15 - **Last Updated**: 2025-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: profibus-DP, profibus-PA, fieldbus, DP-V1, DP-V0 ## README # profibus_DP_PA_soft profibus DP and PA protocol stacks based on MCU. 1、协议栈基于cortex-M4 GD32F30x、STM32L系列实现,协议栈和用户应用程序可共享一颗MCU资源。 2、协议栈占用FLASH小于48K,RAM占用小于12K,占用一个UART、TIMER、I2C资源。 3、支持DPV0 、DPV1 、PA全部功能,支持自适应波特率,STM32系列最大波特率3Mbps。基于此可开发DP 从站、冗余从站、PA设备、PROFIsafe设备。 4、你可以试用Releaselib/libdppa.a,但不得修改、商用,如有需要联系作者。 5、如需demo硬件、移植到其它平台、更详尽资料请联系作者. email: xuji.zhao@foxmail.com , Wechat: fredzxj。 ## DP-V1 demo 介绍 该Demo模拟了一个恒温控制从站,功能说明如下。 从站为模块化DP-V1从站(逻辑的)。 - 模块1:具备实时采集环境温度(int16_t),模拟输入AI,温度值实时返回给主控器PLC,16位温度值定义: 实际温度扩大100倍. (int16_t) temp_trans = (int16_t)((float)temp * 100.0) 。如10.01℃ ,用十进制 1001 表示。; - 模块2:具备加热制冷状态开关监测,并将状态实时反馈给主控器PLC,数字输入DI, bit 0 : 加热开关状态,0 关闭,1 开启;bit 1: 制冷开关状态,0 关闭,1 开启。 - 模块3:具备对加热制冷设备控制驱动能力,控制信号来自主控PLC,数字输出DO,bit 4 : 加热开关控制,0 关闭,1 开启;bit 5: 制冷开关控制,0 关闭,1 开启。 主控PLC根据从站的温度值和当前加热制冷控制状态,完成PID控制算法运算后,响从站发出加热或制冷控制指令。 从站具备温度超温和低温报警功能,最低下限-40℃,最高上限80℃。 ### 从站资源定义 #### 从站IO定义 | 模块号 | 资源定义 | 配置标识字 | | :----: | :----: | :----: | | slot 1 | 温度值AI,2字节 | 0x50 | | slot 2 | 控制状态DI,1字节 | 0x10 | | slot 3 | 控制信号DO,1字节 | 0x20 | #### 从站参数定义 | 模块号 | 资源定义 | 参数标识字(偏移) | | :----: | :----: | :----: | | slot 1 | 温度值上限,2字节,举例:80 ℃,取值:8000 | 0x1F 0x40 (11) | | slot 1 | 温度值下限,2字节,举例:-40 ℃,取值:-4000 | 0xF0 0X60 (13) | | slot 3 | 控制信号使能,1字节,bit4:加热,bit5:制冷 | 0x03 (15) | #### 从站报警定义 | 模块号 | 资源定义 | 报警标识字(偏移) | | :----: | :----: | :----: | | slot 1 | 温度超上限,用户字段3字节,出现 | 0x06 0x01 0x01 0x05 0x01 0x1F 0x43(7)| | slot 1 | 温度超上限,用户字段3字节,消失 | 0x06 0x01 0x01 0x06 0x00 0x1F 0x00(7)| | slot 1 | 温度超下限,用户字段3字节,出现 | 0x06 0x01 0x01 0x05 0x02 0xF0 0X68(7)| | slot 1 | 温度超下限,用户字段3字节,消失 | 0x06 0x01 0x01 0x06 0x00 0xF0 0x00(7)| #### 从站DPV1支持 可通过DPV1的非周期性读写功能实现如下功能: - 重设从站参数 - 设备I&M,I&M功能的主要目的是识别设备,并在设备生命周期的各种场景中提供附加信息,如配置、调试、参数化、诊断、维护、修复、固件更新、资产管理、审计跟踪等,以支持终端用户。 | 模块号 | 索引 | 资源定义 | | :----: | :----: |:----: | | slot 1 | index 2 | 温度值上限,RW | | slot 1 | index 3 | 温度值下限,RW | | slot 2 | index 2 | 控制信号使能,RW | | slot 0 |index 255 | I&M ,RW | | slot 0 |index 240 | 固件下载 ,MSAC2_Doata_Transport | | slot 0 |index 241 | 固件信息获取 ,RO | | slot 0 |index 242 | 固件信息更新 ,MSAC2_Doata_Transport | | slot 0 |index 243 | 执行固件升级 ,WO | ### 操作指南