特点:一键GSD生成,简化编程,快速入门
1. 快速生成从站配置GSD文件:
运行Profibus_DP_GSD_Maker.exe,版本为 CV230708后,如下图顺序执行操作:
输入下面描述的“Profibus_DP从站GSD文件配置参数”
点击“生成GSD”按钮,即可自动生成从站模块的Profibus_DP配置文件,如下:
KWGS_DPGW_120Wo_122Wi.gsd
从站交换数据定义与选择:
WO_Ln UINT16/INT16 输出数据数量,可为0
WI_Ln UINT16/INT16 输入数据数量,可为0
WO_Ln UINT16 输出数据,用于开关量或无符号变量的输出:
1个UWO为16bit, 如12个DO,用1个UWO,17个DO,就得用2个UWO;
WO_Ln INT16 输出数据,用于有正或负符号变量的输出:
如温度 =-12.6℃,可用1个INT16表示,如-126/10,
如压力 =1342.7656Pa,可用2个INT16表示,如1342,7656/10000;
WI_Ln UINT16 输入数据,用于开关量或无符号变量的输入;
1个UWI为16bit, 如12个DI,用1个UWI,17个DI,就得用2个UWI;
WI_Ln INT16 输入数据,用于有正或负符号变量的输入:
如温度 =12.6℃,可用1个INT16表示,如126/10,
如高度 =-1342.7656mm,可用2个INT16表示,如-1342,-7656/10000;
2. 配置文件GSD导入:
将 上面生成的***.GSD从站配置文件 导入到DP 主站模块中,DP主站导入配置,如果运行正常,DP主站可与DP从站交换AI、AO数据。
3. 简化编程Keil程序示例:
2个函数即可完成DP的初始化及调用
main.cpp 中定义:
///数据数量同*.GSD 的定义数量
#define WO_Nm 120
#define WI_Nm 122
int main(void){ //程序初始化:
DP_MainInit(WO_Nm,WI_Nm,DP_WOut, DP_WIn);
for(;;)
{
//WO_Nm=120,WI_Nm=122
DP_WIn[0]=DP_WOut[0];
DP_WIn[1]=DP_WOut[1];
///..............................
DP_WIn[20]=DP_WOut[20];
DP_WIn[21]=DP_WOut[21];
DP_WIn[31]++;
DP_WIn[32]++;
DP_Main_for();
} //end of for
}//End of Main()
源程序为 Keil V5.22开发环境;客户必须自己安装、注册并会使用!!!!!
4. 程序验证:
将从站开发模块与 Profibus_DP 主站连接,观察参数,WI_31、WI_32会不停递增;
强制对 WO_0、WO_1、WO_2、WO_3 置值,
可观察到WI_0、WI_1、W_2、W_3 的变化。
5. Profibus_DP从站开发板:
含GD32F303RC芯片
6. 已经标准化的模块:
Profibus_DP从站+多RS485 Modbus主站网关
RS485转单地址Profibus_DP网关模块
RS485转多地址Profibus_DP从站网关
网关模块内最多可集成6个单串口转DP网关,通过1个DP接口,可传送大于122个WORD的数据,最多可传送6X122=732个AO或AI的WORD数据。
Profibus_DP_GSD_Maker.exe下载见: