基于Profibus-DP的控制系统的通信互连
(2)数据交换原理
DP主站与DP从站的数据交换采用轮循方式,使用DP数据域中的接收缓冲区与发送缓冲区来完成。DP主站启动数据交换,将数据输出到输出缓冲区,并从输入缓冲区将数据取回,其原理如图2所示。
CPU和CP间的数据交换是通过在CPU循环中调用S7的DP_RECE和DP_SEND功能来实现的。其中,DP_RECE功能是接收由DP主站发送到从站CP的接收缓冲区的数据,然后把数据输出至CPU指定的DP数据域。而DP_SEND则是把CPU中指定的DP数据域中需传输的数据传送至CP的发送缓冲区,然后传输到DP主站。
(3)用户程序
在S7 PLC中,CPU中的用户数据域可以为过程映像、位寄存器以及数据块,在本用户程序中使用了数据块。在S7用户程序的Blocks目录下,定义两个数据块DB1和DB2,分别用于存放接收和发送的数据,然后在循环执行的组织块OB1中调用DP_RECE和DP_SEND功能。
当DP主站改变运行模式或崩溃时,操作系统通过调用从站上的某个OB作出反应。如果从站上的这些OB丢失,则CPU会立即自动地切换到STOP。因此为了防止这种情况,需在从站建立相关的OB。
当主站的CPU从RUN转换到STOP时,在从站的组织块OB82(诊断中断)将被调用。为防止CPU由于不存在OB82而停止,需在S7-300站的Blocks文件夹中插入组织块OB82。
同理,当DP主站崩溃时,在从站上将调用组织块OB86(机架故障)。为了防止S7-300从站的CPU在这样的情况下进入STOP,需在S7-300站的Blocks文件夹中插入组织块OB86。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码