1概念 与在标准的系统中一样,在TIA安全系统中具有PROFINET接口的S7300F和S71500FCPU之间可以进行安全相关的控制器与智能设备通信。通信通过两个安全应用程序指令进行,即SENDDP指令用于发送数据,而RCVDP指令用于接收数据。这些指令由用户在FCPU相应的安全程序中调用,可用于固定数量的BOOL和INT类型的数据进行安全传送。2安全相关的PN控制器和智能设备之间的通信 在本例程中,将CPU317F2PNDP作为一个PROFINET控制器,CPU1511F1PN作为一个PROFINET智能设备,SENDDPRCVDP指令实现两个CPU的安全相关的通信。 2。1示例所使用的软硬件环境STEP7ProfessionalV14SP1STEP7SafetyAdvancedV14SP1CPU1511F1PN固件版本V2。1订货号6ES75111FK010AB0CPU317F2PNDP固件版本V3。2订货号6ES73172FK140AB0 测试目的:通过FCPU之间的PROFINET控制器与智能设备的安全通信,使用安全程序指令SENDDP进行发送,用RCVDP进行接收。以安全方式一次传送16个BOOL型数据和2个INT型数据,如图11。 2。2硬件配置 1)打开TIA软件,点击新建项目输入项目名称,设置项目文件存储路径;点击确定,完成项目创建,如图21。 2)新建控制器站点,点击添加新设备,选择的订货号和版本,将设备名称命名为:300FIOCONTROL,如图22。 3)在设备视图界面创建新的以太网子网,设置IP地址,如图23。 4)重复上面的步骤,在项目中添加S71500FCPU(智能IO设备),将以太网接口连接到同一个子网,设置IP地址,如图24。 5)在操作模式中激活S71500FCPUIO设备功能,并分配给S7300FCPU控制器,如图25。 6)在下面的传输区域中,组态两个CPU之间的通信地址区,在类型中一定要选择FCD,箭头向左方向表示S71500FCPU发送数据到S7300FCPU,如图26。如果需要发送的数据多于16Bool和2INT,可以再配置多个同样的传输地址区。S7300FCPU如果需要发送数据到S71500FCPU也是相同配置方法,只不过箭头方向要向右。 7)将两个安全CPU都编译保存,然后下载,以S7300F下载为例,如图27。 8)S7300F1500F项目都编译保存下载后,网络视图在线后状态,说明两个CPU之间通信正常,如图29。 2。3通讯编程 1)在项目树中打开S7300F,安全运行组在添加安全CPU硬件时系统已经自动生成,默认在OB35中调用安全主程序MainSafetyRTG1FB1,如图210。 2)添加FDB,用于RCVDP指令输出变量接口连接,如图211。 3)打开程序块下面的安全主程序MainSafetyRTG1(FB1),在程序段1中调用RCVDP数据接收功能指令。注意:F通讯程序接收指令,必须在主程序的开始调用,如图212。 4)接收功能指令RCVDP管脚定义,如图213。 5)在指令中,LADDR参数需要填写传输区本侧的起始地址,如S7300F侧,起始地址从4116开始,如图214。 6)同样在S71500F智能设备侧,新建FDB,然后在MainSafetyRTG1(FB1)中,调用发送程序指令SENDDP,如图215,216。 7)在S71500F系统常量表中找到与S7300FCPU通信数据区的硬件标识符填写在LAADR,如图217。 8)将两个PLC的程序分别进行编译,然后下载到各自PLC,如图218。 9)使用监控表监控测试结果,S71500F通过SENDDP指令将M100。0、M100。1和MW102发送,S7300F通过RCVDP指令接收数据放置在建立的DB3中,如图219。