Skip to content

zhaoxuji/profibus_DP_PA_soft

Repository files navigation

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

操作指南