下面显示的是适用于CPU上插槽0中的PROFIBUSDP模块的示例程序,该程序使用SM存储器中DP端口信息。该程序通过SMW1402确定DP缓冲区位置,通过SMB1404和SMB1405确定缓冲区大小。这些信息用于将DP输出缓冲区的数据复制到CPU的过程映像输出寄存器。同样,CPU的过程映像输入寄存器中的数据则被复制到V存储器输入缓冲区。
在适用于插槽0中DP模块的如下示例程序中,SM存储区的DP组态数据提供了DP设备的组态。该程序使用以下数据:
SMB1406
DP状态
SMB1401
主站地址
SMW1402
输出的V存储器偏移量
SMB1404
输出数据的字节数
SMB1405
输入数据的字节数
VD1000
输出数据指针
VD1004
输入数据指针
示例:组态与S7-200SMARTCPU的DP通信
程序段1:

计算输出数据指针。若处于数据交换模式:
输出缓冲区是相对于VB0的偏移量。
将V存储器偏移量转换为长整数。
与VB0地址相加获得输出数据指针。
LDB=SMB224,2
MOVDVB0,VD1000
ITDSMW226,AC0
+DAC0,VD1000
程序段2:

计算输入数据指针。若处于数据交换模式:
复制输出数据指针。
获取输出字节数。
与输出数据指针相加获得起始输入数据指针。
LDB=SMB224,2
MOVDVD1000,VD1004
BTISMB228,AC0
ITDAC0,AC0
+DAC0,VD1004
程序段3:

将主站输出传送到CPU输出。将CPU输入复制到主站输入。若处于数据交换模式:
将主站输出复制到CPU输出。
将CPU输入复制到主站输入。
LDB=SMB224,2
BMB*VD1000,QB0,VB1008
BMBIB0,*VD1004,VB1009
LAD/FBD
说明
STL