首页 理论教育PROFIBUS-DP接口|现场总线及其应用技术

PROFIBUS-DP接口|现场总线及其应用技术

【摘要】:在这种过程中,下列SAPs服务于DP方式。除了Default SAP、SAP56、SAP57和SAP58,其他的SAPs一直使能,这四个SAPs在DP从站状态机制进入数据交换状态才使能。用户也可以使SAP55无效,这时相应的缓存器指针R_SSA_Buf_Ptr设置为00H。在RAM初始化时已描述过使DDB单元无效。一个缓存器分配给D,用于SPC3发送数据;另一个缓存器分配给U,用于准备新的诊断数据。在U状态下可从Dout缓存中进行Read_Output_Data操作。关于缓存器的起始地址,这8个字节是明确规定的。

下面是DP缓存器结构。

DP_Mode=1时,SPC3 DP方式使能。在这种过程中,下列SAPs服务于DP方式。

SDefault SAP:数据交换(Write_Read_Data)

SAP53:保留

SAP55:改变站地址(Set_Slave_Address)

SAP56:读输入(Read_Inputs)

SAP57:读输出(Read_Outputs)

SAP58:DP从站的控制命令(Global_Control)

SAP59:读配置数据(Get_Config)

SAP60:读诊断信息(Slave_Diagnosis)

SAP61:发送参数设置数据(Set_Param)

SAP62:检查配置数据(Check_Config)(www.chuimin.cn)

DP从站协议完全集成在SPC3中,并独立执行。用户必须相应地参数化ASIC,处理和响应传送报文。除了Default SAP、SAP56、SAP57和SAP58,其他的SAPs一直使能,这四个SAPs在DP从站状态机制进入数据交换状态才使能。用户也可以使SAP55无效,这时相应的缓存器指针R_SSA_Buf_Ptr设置为00H。在RAM初始化时已描述过使DDB单元无效。

用户在离线状态下配置所有的缓存器(长度和指针),在操作中除了Dout/Din缓存器长度外,其他的缓存配置不可改变。

用户在配置报文以后(Check_Config),等待参数化时,仍可改变这些缓存器。在数据交换状态下只可接收相同的配置。

输出数据和输入数据都有三个长度相同的缓存器可用,这些缓存器的功能是可变的。一个缓存器分配给D(数据传输),一个缓存器分配给U(用户),第三个缓存器出现在N(Next State)或F(Free State)状态,然而其中一个状态不常出现。

两个诊断缓存器长度可变。一个缓存器分配给D,用于SPC3发送数据;另一个缓存器分配给U,用于准备新的诊断数据。

SPC3首先将不同的参数设置报文(Set_Slave_Address和Set_Param)和配置报文(Check_Config),读取到辅助缓存1和辅助缓存2中。

与相应的目标缓存器交换数据(SSA缓存器、PRM缓存器和CFG缓存器)时,每个缓存器必须有相同的长度,用户可在R_Aux_Puf_Sel参数单元定义使用哪一个辅助缓存。辅助缓存器1一直可用,辅助缓存器2可选。如果DP报文的数据不同,比如设置参数报文长度大于其他报文,则使用辅助缓存器2(Aux_Sel_Set_Param=1),其他的报文则通过辅助缓存器1读取(Aux_Sel_Set_Param)。如果缓存器太小,SPC3将响应“无资源”。

用户可用Read_Cfg缓存器读取Get Config缓存中的配置数据,但二者必须有相同的长度。

在D状态下可从Din缓存器中进行Read_Input_Data操作。在U状态下可从Dout缓存中进行Read_Output_Data操作。

由于SPC3内部只有8位地址寄存器,因此所有的缓存器指针都是8位段地址。访问RAM时,SPC3将段地址左移3位与8位偏移地址相加(得到11位物理地址)。关于缓存器的起始地址,这8个字节是明确规定的。