首页 理论教育 西门子通信网络同步输出和输入冻结

西门子通信网络同步输出和输入冻结

时间:2023-11-16 理论教育 版权反馈
【摘要】:每执行一次SYNC控制命令,该组从站将新的输出数据发送到输出模块上。当FREEZE命令被发送到一组DP从站时,组内所有的DP从站切换到FREEZE模式,即它们的输入模块上的信号被冻结,并将它们传送到CPU的过程映像输入区,以便DP主站来读取这些信号。接收到下一个FREEZE命令时,DP从站更新和重新冻结它们的输入数据。这些命令用来实现一组DP从站的同步输出或冻结它们的输入。

西门子通信网络同步输出和输入冻结

1.同步输出与解除同步

通常情况下,DP主站周期性地将输出数据发送到DP从站的输出模块上。DP主站调用用SFC 11发送SYNC(同步)控制命令,组态的DP从站组中的从站将切换到“同步”模式,DP主站将当前的输出数据发送给从站,并指示相关DP从站冻结各自的输出。DP从站组将主站随后的输出数据存放在它们的内部缓冲区,将它们送到输出模块,并保持输出状态不变。这样可以同步激活一组DP从站上的输出数据。每执行一次SYNC控制命令,该组从站将新的输出数据发送到输出模块上。

只有用SFC 11发送控制命令UNSYNC,才能解除DP从站组的SYNC模式,使该组DP从站返回正常的循环数据传送状态,即DP主站发送的数据立即被传送到从站的输出点。

2.输入信号的冻结与解除冻结

通常情况下,DP主站按照PROFIBUS-DP的总线周期,周期性地读取DP从站的输入数据,供CPU使用。如果需要得到一组DP从站上同一时刻的输入数据,可以通过SFC11将FREEZE控制命令发送到该组DP从站来实现。

当FREEZE命令被发送到一组DP从站时,组内所有的DP从站切换到FREEZE模式,即它们的输入模块上的信号被冻结,并将它们传送到CPU的过程映像输入区,以便DP主站来读取这些信号。接收到下一个FREEZE命令时,DP从站更新和重新冻结它们的输入数据。

只有用SFC11发送UNFREEZE命令,才能解除DP从站的FREEZE模式,使DP主站重新开始周期性地接收从站当前的输入状态。

在暖启动和热启动后,DP从站不进入SYNC或FREEZE模式,只有当它们接收到由DP主站发出的第一个SYNC或FREEZE命令之后,才进入SYNC或FREEZE模式。

3.生成主站和DP网络

打开STEP 7,用新建项目向导创建一个名为“Syncfrez”的项目(见随书光盘中的同名例程),CPU为CPU 313C。选中该站,双击右边窗口的“硬件”图标,打开硬件组态工具HWConfig,将电源模块和信号模块插入机架。

将支持SYNC和FREEZE功能的CP342-5插入机架,其订货号为6GK7342-5DA01-0XE0。在自动打开的“属性­PROFIBUS接口”对话框的“参数”选项卡中,默认的DP站地址为2。点击“新建”按钮,生成一个新的PROFIBUS子网络,在出现的“属性­新建子网PROFIBUS”对话框的“网络设置”选项卡中,采用默认的传输速率(1.5Mbit/s)和配置文件(DP),点击“确定”按钮返回CP属性对话框,将CP连接到DP网络上。点击“确定”按钮返回HWConfig,双击CP342-5,打开它的属性对话框,在“常规”选项卡中设置它的MPI地址为3。在“工作模式”选项卡中设置它的工作模式为DP主站。

4.组态从站

在硬件目录中打开文件夹“\PROFIBUSDP\ET200B”,将模块“B-16DI/16DODP”拖放到图5-32中的DP主站系统网络线上。在自动打开的模块的PROFIBUS接口属性对话框的“参数”选项卡中,设置其站地址为3。用同样的方法将一块“B-24DI/8DODP”模块和一块“B-16DO DP”模块拖放到DP网络线上,它们默认的站地址分别为4和5。

5.组态SYNC/FREEZE功能

双击图5-32中的“PROFIBUS(1):DP主站系统(180)”网络线,出现“属性-DP主站系统”对话框。首先指定组的属性,为此打开“组属性”选项卡(见图5-33),用“属性:”下面的复选框选择要指定给各组的属性。图中定义组1为FREEZE组,组2为SYNC组。实际上只使用了组1和组2。在“注释:”列可以为各组附加注释。

978-7-111-28256-3-Chapter05-49.jpg

图5-32 组态DP从站

978-7-111-28256-3-Chapter05-50.jpg

图5-33 设置SYNC/FREEZE组的属性

在“组分配”选项卡(见图5-34中),将DP从站分配到各组。列表框中的每一行对应一个DP从站,最左边是从站的地址和模块的型号,例如3号从站对应于“(3)B-16DI/16DO”。列表框的上面给出了每一组的属性,例如,第1组下面的“--”表示它不属于“SYNC(同步)”组,“X”表示它属于“FREEZE(冻结)”组。

选中列表框中的第一行(3号从站B-16DI/16DO),用鼠标在列表框下面的1和2前面的复选框中打勾,第一行中第1组和第2组对应的位置出现字符“X”,表示3号从站分别属于第1组和第2组。

978-7-111-28256-3-Chapter05-51.jpg

图5-34 分配SYNC/FREEZE组

用同样的方法,使4号从站属于第1组,5号从站属于第2组。从图5-34可以看出,3号从站和4号从站属于冻结组(第1组),3号从站和5号从站属于同步组(第2组)。设置好后点击“确定”按钮,关闭对话框。点击工具栏上的978-7-111-28256-3-Chapter05-52.jpg按钮(编译与保存),在保存组态信息的同时对硬件组态进行编译。编译成功后将硬件组态信息下载到CPU 313C。下载结束后关闭“HW Config”。

6.系统功能SFC11“DPSYC_FR”

SFC 11“DPSYC_FR”用于将控制命令SYNC(同步输出)、UNSYNC(解除同步)、FREEZE(冻结输入)和UNFREEZE(取消冻结)发送给一个或多个DP从站。这些命令用来实现一组DP从站的同步输出或冻结它们的输入。

DP主站使用全局控制报文(广播报文),同时发送控制命令SYNC和/或FREEZE给一组DP从站。在用SFC11发送上述控制命令之前,应使用STEP7的硬件组态工具将有关的DP从站组合到SYNC/FREEZEDP组中,一个主站系统最多可以建立8个组。

SFC 11用输入参数MODE指定的控制命令可能的组合见表5-1。(www.xing528.com)

表5-1 SFC 11的控制命令可能的组合

978-7-111-28256-3-Chapter05-53.jpg

参数LADDR是DP主站的逻辑基准地址。如果已触发的系统功能还未结束执行,则BUSY为1。在块执行过程中发生错误时,RET_VAL参数中是返回的故障代码。

SFC 11是异步执行的,需要执行多个SFC调用周期。REQ为1时,调用SFC 11来执行同步和冻结操作。在同一时间只能初始化一条SYNC/UNSYNC命令或一条FREEZE/UNFREEZE命令。

若调用了SFC 15“DPWR_DAT”(写DP数据),在发送SYNC给有关的输出之前,SFC 15必须执行完毕。若调用了SFC14“DPRD_DAT”(读DP数据),在发送FREEZE给有关的输入之前,SFC 14必须执行完毕。

7.SYNC/FREEZE功能的编程

SFC 11在程序编辑器左边窗口的文件夹“\Libraries\Standard Library\System Function Blocks”中。

双击SIMATIC管理器的“块”文件夹中的“OB1”图标,打开程序编辑器,然后输入下面的语句表程序。在I0.0的上升沿调用FC 11“DPSYC_FR”,发送FREEZE命令,在I0.1的上升沿发送SYNC命令。

Network1:检测I0.0的上升沿

978-7-111-28256-3-Chapter05-54.jpg

978-7-111-28256-3-Chapter05-55.jpg

Network2:发送FREEZE命令

978-7-111-28256-3-Chapter05-56.jpg

Network3:检测I0.1的上升沿

978-7-111-28256-3-Chapter05-57.jpg

Network4:发送SYNC命令

978-7-111-28256-3-Chapter05-58.jpg

用PROFIBUS电缆连接CPU 313C和3个ET 200B模块的DP接口,并将CPU 313C和CP的运行模式切换到RUN。

在SIMATIC管理器中生成变量表,在RUN模式打开变量表。在变量表中监视“冻结”组中的3号从站的IW0和4号从站的IB2~IB4,以及“同步”组中3号从站的QW0和5号从站的QW3。用I0.0来触发FREEZE组的操作,用I0.1来触发SYNC组的操作。

系统进入RUN模式后,主站与各DP从站循环地传送数据。将I0.0置为1状态,SFC 11发送FREEZE控制命令,使3号从站和4号从站的输入处于FREEZE模式。用输入点外接的小开关改变3号从站或4号从站的输入信号的状态,因为处于冻结模式,这些变化不会传送给主站的CPU,在主站的变量表中也不能观察到这些变化。

将I0.1置为1状态,SFC 11发送SYNC命令,使3号从站和5号从站的输出处于SYNC模式。在变量表中修改QW0或QW3的值后,不能将它们传送到3号从站或5号从站的输出模块。

在I0.0的下一个上升沿,重新发送FREEZE命令,读取3号从站和5号从站当前的输入数据。在I0.1的下一个上升沿,重新发送SYNC命令,把设置好的数据传送到3号从站和5号从站的输出模块。使用CP342-5时,需要调用FC1,将数据打包后发送给ET 200B,调用FC2,将来自ET 200B的数据存放到指定的地址区。

Network5:发送数据到ET200B

978-7-111-28256-3-Chapter05-59.jpg

Network6:接收来自ET200B的数据

978-7-111-28256-3-Chapter05-60.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈