通信编程
用于DP主站的用户程序
用于DP主站的用户程序都已集成在Profibus-DP通信模块FM208中,用户只需完成以下几个方面的组态及设置即可完成主站的用户编程。
(1) DP网络组态,用WinNCS软件完成。
① 启动WinNCS软件,网络类型选取Profibus。然后在Profibus网络中插入主站,系统默认CPU24x为主站,指定其DP主站地址为2,总线网络的传输速率为1.5Mbps。
③ 编译并保存文件,然后下载到通信处理器FM208中。
(2)FM208配置的从站I/O数据地址在CPU241中的地址分配。
根据用WinNCS配置的从站数及设定的I/O数据起始地址和长度,可以在PLC程序的数据块DB1中为其指定数据寻址地址。例如上述从站I/O起始地址都是从0开始,数据总长度各为28个字,在DB1中加入地址配置指令:
KC=‘UAT: 0 28 0 28 ;END’
在PLC用户程序中,直接根据上述设定的地址就可寻址从站的过程数据,不需要额外的通信编程。
用于DP从站S7-300的用户程序
S7-300 PLC通过CP342-5作为主站和利时PLC的从站,为确保数据通信的实现,需完成以下工作。
① 组态CP342-5做从站。
② 编写从站用户程序,并下载到S7 PLC。
③ 启动和调试DP从站和DP主站。
④ 通信异常诊断。
(1)CP功能
CP342-5用作DP从站可以被DP主站组态为智能从站或模块化主站,做从站时可以组态为被动从站或主动从站,但不允许在组态为从站的同时组态为主站。用作主动从站时除了提供从站服务功能外,还可以提供如FDL连接服务等其它的通信服务。CP342-5的主要功能有:
① 从主站接收用于配置和组态的参数,包括过程输出数据和传递到CPU的数据。
② 从CPU的DP数据域接收输入数据,为DP主站准备数据。
③ 给DP主站准备拾取和评估的诊断数据。
④ 给2类主站准备读取的I/O数据。
(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。
通信编程
用于DP主站的用户程序
用于DP主站的用户程序都已集成在Profibus-DP通信模块FM208中,用户只需完成以下几个方面的组态及设置即可完成主站的用户编程。
(1) DP网络组态,用WinNCS软件完成。
① 启动WinNCS软件,网络类型选取Profibus。然后在Profibus网络中插入主站,系统默认CPU24x为主站,指定其DP主站地址为2,总线网络的传输速率为1.5Mbps。
③ 编译并保存文件,然后下载到通信处理器FM208中。
(2)FM208配置的从站I/O数据地址在CPU241中的地址分配。
根据用WinNCS配置的从站数及设定的I/O数据起始地址和长度,可以在PLC程序的数据块DB1中为其指定数据寻址地址。例如上述从站I/O起始地址都是从0开始,数据总长度各为28个字,在DB1中加入地址配置指令:
KC=‘UAT: 0 28 0 28 ;END’
在PLC用户程序中,直接根据上述设定的地址就可寻址从站的过程数据,不需要额外的通信编程。
用于DP从站S7-300的用户程序
S7-300 PLC通过CP342-5作为主站和利时PLC的从站,为确保数据通信的实现,需完成以下工作。
① 组态CP342-5做从站。
② 编写从站用户程序,并下载到S7 PLC。
③ 启动和调试DP从站和DP主站。
④ 通信异常诊断。
(1)CP功能
CP342-5用作DP从站可以被DP主站组态为智能从站或模块化主站,做从站时可以组态为被动从站或主动从站,但不允许在组态为从站的同时组态为主站。用作主动从站时除了提供从站服务功能外,还可以提供如FDL连接服务等其它的通信服务。CP342-5的主要功能有:
① 从主站接收用于配置和组态的参数,包括过程输出数据和传递到CPU的数据。
② 从CPU的DP数据域接收输入数据,为DP主站准备数据。
③ 给DP主站准备拾取和评估的诊断数据。
④ 给2类主站准备读取的I/O数据。
(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。
举报