1.项目说明
在实际工程中,往往为了实现复杂的控制功能,需要传送复杂类型的数据。这类存储复杂的比双字更大的连续不可分割的数据区称为“一致性”数据区。需要绝对一致性传送的数据量越大,系统中断反应的时间越长。
本项目实现DP主站和智能DP从站的“打包”通信,即通过调用系统功能SFC进行一致性数据通信。相比“不打包”通信,这种方式一次可以传送更多的数据。通信组态的关键是组态DP从站的传输存储区。
本项目需要实现如图6-31所示的通信任务,即将一个站点的DB1的10个字的数据映射到另一个站点的DB2中。
图6-31 通信任务
2.系统组成
DP主站使用CPU 315-2PN/DP,站地址为3;智能DP从站同样使用CPU 315-2PN/DP,站地址为2。PC通过CP5613接入网络中,作为编程和调试设备。各站之间通过PROFIBUS电缆连接,网络终端的插头,其终端电阻开关放在“ON”的位置;中间站点的插头其终端电阻开关必须放在“OFF”位置。系统组成如图6-32所示。
3.硬件组态
(1)新建项目,插入主从站点
新建项目“MS_PACK”,单击右键,在弹出的菜单中选择“Insert New Object”中的“SIMATIC 300 Station”,插入两个S7-300站点,分别命名为SIMATIC 300(M)和SIMAT-IC 300(S),对应主站和从站。如图6-33所示。
图6-32 系统组成图
图6-33 插入站点
(2)组态从站
选中SIMATIC 300(S),双击“Hardware”选项,进入“HW Config”窗口。单击“Catalog”图标打开硬件目录,展开“SIMATIC 300”目录,按硬件槽号和订货号依次插入机架、电源(1号槽)、CPU 315-2PN/DP(2号槽),输入/输出模块(4~7号槽),如图6-34和图6-35所示。
图6-34 从站组态
图6-35 配置从站
(3)配置从站PROFIBUS DP网络
双击“MPI/DP”,打开“Properties-MPI/DP”对话框,如图6-36所示。在“General”选项卡中,选择接口类型为“PROFIBUS”。单击“Properties”按钮,打开“Properties-PROFIBUS interface”对话框,如图6-37所示,设置该CPU在DP网络中的地址为2。
图6-36 Properties-MPI/DP
图6-37 Properties-PROFIBUS interface
单击“New”按钮,新建PROFIBUS网络,设置PROFIBUS网络的参数。一般采用系统默认参数:传输速率为1.5Mbps,配置文件为DP,如图6-38所示,单击“OK”按钮,返回“Properties-PROFIBUS interface”对话框。此时在图6-37中可以看到“Subnet”子网列表中出现了新的PROFIBUS(1)子网。
单击“OK”按钮,返回“Properties-MPI/DP”对话框,在“Operating Mode”工作模式选项卡中,设置工作模式为“DP slave”DP从站模式,如图6-39所示。单击“OK”按钮,完成DP从站的配置。单击“Save and Compile”按钮,保存并编译组态信息。
图6-38 Properties-New subnet PROFIBUS
图6-39 Operating Mode
(4)组态主站
选中SIMATIC 300(M),双击“Hardware”选项,进入“HW Config”窗口。单击“Catalog”图标打开硬件目录,展开“SIMATIC 300”目录,按硬件槽号和订货号依次插入机架、电源(1号槽)、CPU 315-2PN/DP(2号槽),输入/输出模块(4~7号槽),如图6-40和图6-41所示。
图6-40 主站组态(1)
图6-41 主站组态(2)
(5)配置主站PROFIBUS DP网络
双击“MPI/DP”,打开“Properties-MPI/DP”属性对话框。在“General”选项卡中,选择接口类型为“PROFIBUS”。单击“Properties”按钮,打开“Properties-PROFIBUS in-terface”对话框,设置该CPU在DP网络中的地址为3。
选择“Subnet”子网列表中的PROFIBUS(1)子网,单击“OK”按钮,返回“Proper-ties-MPI/DP”属性对话框。在“Operating Mode”工作模式选项卡中,设置工作模式为“DP master”DP主站模式。单击“OK”按钮,返回“HW Config”。此时“MPI/DP”插槽引出了一条PROFIBUS(1)网络。
(6)将DP从站连接到DP主站
选中PROFIBUS(1)网络线,在如图6-42所示的硬件目录中双击“CPU 31x”,自动打开“DP slave properties”DP从站属性对话框。在“Connection”连接选项卡中,选中CPU315-2PN/DP,单击“Connection”按钮,DP从站就连接到DP网络中了,此时“Discon-nect”按钮由灰色变为黑色,如图6-43所示。单击“OK”按钮,可以看到DP从站连接到了PROFIBUS(1)网络线上。
(7)通信组态
双击图6-44中的DP从站,打开“DP slave properties”DP从站属性对话框,选择“Configuration”组态选项卡。单击“New”按钮,出现“DP slave properties-Configuration-Row 1”从站属性组态行1对话框,按照图6-45所示配置,单击“OK”按钮生成行1。每次只能设置主站与智能从站之间一个方向的通信所使用输入/输出区。同样步骤按照图6-46配置行2,配置完成如图6-47所示。单击“Edit”按钮,可以编辑所选中的行。单击“De-lete”按钮可以删除所选中的行。
图6-42 DP从站路径
图6-43 将从站连接到网络
(www.xing528.com)
图6-44 DP从站连入网络
图6-45 行1组态
图6-46 行2组态
图6-47 通信组态
行1表示通信模式为“MS”主从通信,通信伙伴(主站)通过QB100~QB119把数据传送给本地(从站)的IB100~IB119,“Consistency”一致性为“ALL”表示数据将进行打包;行2表示通信模式为“MS”主从通信,通信伙伴(主站)用IB100~IB119接收本地(从站)通过QB100~QB119发送的数据,“Consistency”一致性为“ALL”表示数据将进行打包。
数据连续性是“Unit”时,表示直接访问输入和输出区;如果数据连续性是“All”或“Total length”,需要在程序中调用SFC14/15对数据进行打包/解包。需要注意的是,通信双方所使用的输入/输出区不能与实际硬件占用的过程映像输入/输出区重叠。
单击“OK”按钮,返回“HW Config”,单击“Save and Compile”按钮,保存并编译组态信息。
4.网络组态
单击快捷菜单中的“Configure Network”按钮,打开Netpro网络组态界面,可以看到如图6-48所示的网络组态,两个站点均连接到PROFIBUS网络。
图6-48 网络组态
5.资源分配
根据项目需要进行软件资源的分配,见表6-3。
表6-3 软件资源分配表
6.程序设计
通过硬件组态完成了主站和从站的接收区和发送区的连接,要使主站的从站对应的I/O区进行通信,还需要进一步编程实现。程序结构如图6-49所示。
图6-49 程序结构图
在初始化组织块OB100中,为主站和从站的DB1置初值,DB2清零。在循环中断组织块OB35中,DB1.DBW2每100ms循环加1。如果通信成功,一个站点的DB1的10个字的数据映射到另一个站点的DB2中。
STEP 7提供了两个系统功能SFC15和SFC14来访问一致性的输入/输出数据区。SFC15的功能是对要发送的数据进行打包,并传给发送区;SFC14的功能是对接收的数据进行解包,并转存至数据存储区。
1)SFC15参数说明,见表6-4。
表6-4 SFC15参数说明表
2)SFC14参数说明,见表6-5。
表6-5 SFC14参数说明表
为了避免不存在诊断OB和错误处理OB而导致DP主站的CPU转向STOP模式,应当在DP主站CPU中设置OB82和OB86。主站程序块如图6-50所示。
图6-50 主站程序块
(1)生成DB块
选中“SIMATIC 300(M)”主站,展开分级目录,单击“Blocks”,在右侧单击右键,选择“Insert New Object”插入“Data Block”,单击“OK”按钮插入DB1。双击“DB1”打开DB编辑器,输入长度为10个字的WORD-ARRAY。右键单击临时生成的INT型的占位符变量,在出现的菜单的“Complex Type”复杂类型中选择“ARRAY”数组类型。在ARRAY后面的方括号中输入“1…10”,表示该数组有10个元素。删除原有初值,双击两次回车键,ARRAY下方出现新的空白行,右键单击“Type”列的空白单元,选择“Elementary Type”元素类型为“WORD”,表示元素类型为单字型。命名为SEND,生成的DB块如图6-51所示,保存数据块,用同样方法生成主站的DB2(RECEIVE)、从站的DB1(SEND)和DB2(RECEIVE)。
(2)主站OB100和OB35
OB100初始化组织块完成数据接收区的清零和数据发送区的置初值。
图6-51 主站数据发送DB块
OB35循环中断组织块在完成数据的发送和接收,在“Libraries/Standard Library/System Function Block”路径下选择SFC14/15,编写程序如图6-52和图6-53所示。
图6-52 主站OB100
图6-53 主站OB35
(3)从站OB100和OB35
从站的程序与主站基本一致,只需将从站的OB100中DB1的初值改为W#16#123。
7.通信调试
下载组态和程序到PLC中,确保PLC处于“RUN”模式。分别打开主站和从站的数据接收区DB2,单击工具栏“Monitor”按钮进入监控模式,此时DB2进入“Data View”数据视图显示方式。如果通信成功,可以看到主站的DB2中的数据均为16#123,DB2.DBW2在不断变化。从站DB2的数据均为16#47E,DB2.DBW2在不断变化。
如果通信不成功,首先检查硬件连接是否正确,总线连接器终端电阻是否打开;然后检查硬件组态中的通信组态是否正确,是否与程序中所用到的地址一致;程序块中是否有OB82、OB86。确保无误,再重新调试,直至通信成功。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。