系统功能SFC14、SFC15..
- 格式:doc
- 大小:396.50 KB
- 文档页数:12
一、填空题1.自动控制系统的发展大致经历四个发展阶段,分别是模拟仪表控制系统、直接数字控制系统集散控制系统、现场总线系统。
2. DCS控制系统的结构包括三个部分,分别是分散控制装置、集中操作和管理装置、通信系统部分。
3. 寻址过程是命令者与一个或多个从设备建立起联系的一种总线操作。
通常有以下三种寻址方式:物理寻址、逻辑寻址、广播寻址。
4.通信方式按照信息的传输方向分为单工、半双工、全双工三种方式。
5.在载带传输中的数据表示方法有调幅方式、调频方式、调相方式。
6.在数据通信系统中通常采用三种数据交换方式:线路交换方式、报文交换方式、报文分组交换方式。
7.在分散控制系统中应用较多的拓扑结构是星型、环形和总线型。
8. 在分散控制系统中,常用的传输介质有双绞线、铜芯电缆、光缆。
9.SIMATIC S7系统提供了集成式或插入式总线接口,将分散的设备组成完整的控制系统,再通过的组态编程实现系统控制功能。
10. SIMATIC S7系统硬件包括电源、、通信(CP)、、特殊功能等模块以及编程设备和通信电缆。
11. SIMATIC系统具有三类不同的DP从站:、、智能DP从站。
12.S7-300每个数字量模块的地址寄存器自动按__ 个字节分配,不管实际的I/O点数是否与之相同,每个模拟量模块的地址寄存器自动按__ 个字节分配,不管实际的I/O点数是否与之相同.13.工厂自动化网络的分层结构为_ 、和工厂管理层三个层次。
14.PROFIBUS-DP系统行为有、清除、三种状态。
15.STEP7块的类型有、功能、、背景数据块、共享数据块以及系统功能和系统功能块16.STEP7的三种编程语言分别是、、语句表。
17.PROFIBUS-DP系统可包括、第二类DP主站设备、 , 三种不同设备。
18.PROFIBUS-DP是一种现场级主从循环的通信, 用于和的通信, 可取代 24V DC 或 4—20mA 信号传输。
19.一个S7-300站最多可以有主机架和扩展机架。
sfc14、SFC15、SFC20
在一套400和300的PROFIBUS通讯中,300中用SFC14、SFC15打包发送、接受。
400中没有用这两个,而是用SFC20处理。
这样也运行正常,是不是不用同时用SFC14、15也可以?
最佳答案
一般你在组态S7-400与S7-300之间的PROFIBUS-DP主从通信时,在组态PROFIBUS网络时,打开各自的DP属性界面,选择“Configuration”(组态)子项时,定义S7-400和S7-300主从站的通信接口区时,其中参数Consistence“(持续性)中可以选择Unit(单元)定义按字节或字发送,如果定义为”All“(所有)表示打包发送,每包最多32个字节,如果通信数据字节为3字节或大于4字节时,要调用SFC15给数据打包,调用SFC14给数据解包。
可以分别在OB1中编写S7-400和S7-300的通信程序,同时调用SFC14和SFC15,建立主站-从站通信数据区对应关系。
由于赋值指令MOVE只能复制字节、字或双字数据对象,而SFC20(BLKMOVE)是当用户自定义数据类型(如数组或结构)时复制数据,所有可以在S7-400PLC中调用它作为复制复杂的数据类型。
S7-PLCSIM简介S7-PLCSIM是S7-PLC的模拟软件,它可以在STEP7环境下,不用连接任何S7系列的PLC(CPU 和I/O模板),而是通过仿真的方法运行和测试运行和测试用户的用户的用户的应用程序。
S7-PLCSIM 提供了简单的界面,可以,可以用编程的方法(如如改变输入的通/断/状态、输入值的变化)来监控和修改不同的参数,也可以使用不同的参数,也可以使用变量表(VAT)进行监控和监控和修改修改变量。
一、S7-PLCSIM的特性简介S7-PLCSIM的功能很功能很强,可以使用STEP7的所有所有工具监控调整模拟PLC的性能,通过S7-PLC工作过程与真实的PLCPLC相比,差别很小。
⑴S7-PLCSIM可模拟的S7控制器的存储器区域如下:(DEL_SI,删除动态系统资源),SFC107(ALARM_DQ,生成可确认的与永久确认的块相关的信息),SFC108(ALARM_D,生成可确认的与永久确认的块相关的信息),SFC126(SYNC_PI,同步刷新过程映象区输入表),SFC127(SYNC_PO,同步刷新过程映象区输出表),SFC65091,SFC65092,SFC65093,SFC65094,SFC65095,SFC65096,SFC65098,SFC65099,SFC65102,SFC65103注:SFC26,SFC27,S7-PLCSIM仅支持仅支持输入为0的参数SFC7,SFC11,SFC12,SFC25,SFC35,SFC36,SFC37,SFC38,SFC48,SFC60,SFC61,SFC62,SFC65,SFC66,SFC67,SFC68,SFC69,SFC72,SFC73,SFC74,SFC81,SFC82,SFC83,SFC84,SFC87,SFC102,SFC103,SFC105,SFC106,SFC107,SFC108,SFC126,SFC127是NOP(空操作)用户不需要用户不需要修改调用空操作的程序。
SFC15和SFC14组态步骤
一、准备方案:
1.确定控制对象,确定发送参数和接收参数。
2.根据SFC15的功能,选择合适的组态工具,明确步骤和层次结构。
3.明确发送端和接收端的I/O点,确定PLC节点地址或IP地址,分配合理的系统参数变量,布置合理的控制路径。
二、PLC组态:
1.创建“SFC15”程序块,定义相关的层次结构,设置发送参数和接收参数;
2.创建发送端I/O点,连接到SFC15程序块,并且设置相应的参数,如消息号,消息总长度等;
3.设置PLC节点地址或IP地址,并设置系统参数变量;
4.定义控制路径,将控制路径连接到SFC15程序块,使其能够正常工作;
三、编写程序:
1.打开编程软件,编写SFC15发送程序,将编程结果上传到PLC中;
2.在程序中定义相应的发送函数,以及发送参数,将发送参数与PLC 相连;
3.将控制路径和控制函数连接到SFC15程序块;
4.根据实际情况,编写相应的模块函数,组合成控制参数,以便达到发送的目的。
四、测试调试:
1.将发送程序上传到PLC,并确认程序正常运行;
2.进行在线调试,检查发送参数是否设置正确;
3.根据实际情况。
变频器参数设置及DP通讯一、MM440变频器变频器MM440系列(MicroMasster440)是德国西门子公司广泛应用与工业场合的多功能标准变频器,它产用高性能的矢量控制技术,提供低速高转矩输出和良好的动态特性,同时具有超强的过载能力,以满足广泛的应用场合。
对于变频器的应用,必须首先熟练对变频器的面板操作,以及根据实际应用,对变频器各种功能参数进行设置。
1.变频器参数设置方法(一)参数结构MM440变频器有两种参数类型:以字母P开头的参数为用户可改动的参数;以字母r 开头的参数表示本参数为只读参数。
变频器的参数只能用基本操作面板BOP,高级操作面板AOP 或者通过串行通讯接口进行修改。
用BOP 可以修改和设定系统参数使变频器具有期望的特性例如斜坡时间最小和最大频率等选择的参数号和设定的参数值在五位数字的LCD 可选件上显示。
(二)基本操作面板BOP操作利用基本操作面板BOP 可以更改变频器的各个参数。
为了用BOP 设置参数,首先必须将SDP 从变频上拆卸下来然后装上BOP 。
BOP 具有五位数字的七段显示用于显示参数的序号和数值报警和故障信息以及该参数的设定值和实际值BOP 不能存储参数的信息♦在缺省设置时用BOP 控制电动机的功能是被禁止的如果要用BOP 进行控制参数P0700 应设置为1 ,参数P1000 也应设置为1;♦变频器加上电源时也可以把BOP 装到变频器上或从变频器上将BOP 拆卸下来;♦如果BOP 已经设置为I/O 控制P0700=1 在拆卸BOP 时变频器驱动装置将自动停车;(1)BOP按键功能介绍(图2-5-1)(2)BOP修改参数下面通过将参数P1000的第0组参数,即设置P1000[0]=1的过程为例,介绍一下通过操作BOP面板修改一个参数的流程(图2-5-2):2.变频器调试通常一台新的MM440变频器一般需要经过如下三个步骤进行调试:参数复位,是将变频器参数恢复到出厂状态下的默认值的操作。
如何创建并组态Profibus DP主站和DP从站利用CPU上所集成的DP接口,可直接组成Profibus子网。
只要你组成Profibus网络,你就必须或只单独组建DP主网站或组建DP主从网,二者必具其一。
如果是几个PLC之间必须要进行数据交换的,可组成主从网。
如果是几个PLC之间(哪怕是只有一个PLC)不需要进行数据交换的,可只组成DP 主网站,前提条件是:使用DP接口来组网的话。
那么,如何创建并设置Profibus DP主站和DP从站呢?1.在项目窗口下,生成你所预设的DP主站,DP从站和Profibus子网。
2.在你所预设的从站硬件组态窗口下,打开DP属性对话框(而不是DP接口属性对话框),共有4个标签,可分别设置以下参数:⑴组态该CPU为DP从站系统⑵设置Profibus从站地址⑶设置从站的诊断地址区域(缺省值为2047)3.在你所预设的主站硬件组态窗口下,打开DP属性对话框(而不是DP接口属性对话框),共有4个标签,可分别设置以下参数:⑴组态该CPU为DP主站系统⑵设置Profibus主站地址⑶设置主站诊断地址(缺省值为2047)⑷将DP从站集成到DP主站系统中单击DP master system鼠标右键,打开insert object,可插入一个“刚才已组态的从站”到主站中。
在所插入的“DP Slave Properties”从站属性对话框中,共有3个标签,可设置以下参数:★在主站地址区域中,设置从站诊断地址(缺省值2046)和模块的诊断地址(缺省值为2045)★激活主站与从站之间的连接★设置主站与从站之间进行一致性数据交换的中间存储区域和数据长度4.在DP主站和DP从站中,使用系统功能块SFC14、SFC15或装载/传送指令定义和设置数据传送的具体地址区域(来源和去处)。
注:⑴DP诊断地址:在DP的输入地址区域内必须为每个DP主站和每个DP从站分配一个字节的诊断地址。
如果用户没有指定任何的DP诊断地址,则S7系统将从最高字节向下自动分配地址给DP诊断地址。
打包式发送与接收主要用到SFC15(打包发送)和SFC14(打包接收)。
本例以S7-400 为主站,S7-300 为从站为例来说明打包式发送和接收的组态步骤。
先组态从站S7-300。
1、新建项目“打包式发送与接收例”,插入S7-300 站点。
2、双击“硬件”进入“HW Config”(硬件组态)环境,组态S7-300的硬件(先放入导轨,再放入电源模块,最后放入CPU 模块)。
在放入CPU 模块时,会出现“属性-RPOFIBUS 接口DP”对话框(设置CPU的地址及通信波特率),可以先点击“取消”以后再设置。
3 、双槽架中的DP 项,弹出“ 属性-DP ” 对话框。
4、,点击“常规”标签中的“属性…”按钮,出现“属性-Profibus接口”对话框,设置从站的地址。
双击进入下一步5、点击“新建…”,出现“属性-新建子网PROFIBUS”对话框,设置传输传输的波特率及配置文件(DP)。
6、点击两次“确定”,重新回到第三步的画面。
点击“工作模式”标签,选择为“DP 从站”模式。
设置从站的地址7、点击“组态”标签,进行通信接口数据区的组态。
8、点击“新建…”按钮,先组态输入数据区。
9、点击第7 步中的“新建…”,组态输出数据区域。
地址类型选择输入一致性选择全部以上选择完后点击确定10、从站S7-300 发送和接收数据区组态完后如下图所示:地址类型选择输出,一致性选择全部,以上选择完后后确定从站组态完毕,再组态主站。
11、和组态从站一样,先组态主站S7-400 的硬件。
12、在组态CPU 模块时,会自动弹出“属性-PROFIBUS 接口”,点击子网中已有的PROFIBUS(1),再点击“属性…”,设置通讯参数(波特率和配置文件)。
13、从站S7-300 挂于主站网络中。
14、从站挂于主站网络后,会自动弹出“DP 从站属性”窗口,点击“连接”标签,已经组态的所有未连接的从站显示在列表中。
鼠标按住此处,拖至PROFIBUS 图标,已经组态的从站(未连接)15、选中要连接的从站,再点击“连接”按钮,显示连接完成后的状态信息。
SFC14读模块说明:
W#16#294:格式必须这样写,294是组态直流装置对应的P I W 660转化来的16进制数。
: P#DB9.DBX0.0表示PLC 从装置读的状态,从DB9.DBW0开始,长度是20个字节也就是10个字。
DB9.DBW0是第一个状态字(必须的(装置中设
U734[1]=K32)),DB9.DBW2是读出的速度值(装置
中设U734[2]=166),DB9.DBW4读出的电流值(装置
中设U734[3]=116)。
当然后两个到第10个字都可以
自定义(设置参数就可)。
DB9.DBW42没有什么实际意义,随便填一个。
P#DB9.DBX0.0
BYTE 20
SFC15写模块说明:
W#16#294:格式必须这样写,294是组态直流装置对应的P Q W 660转化来的16进制数。
: P#DB9.DBX20.0表示从PLC 写入装置的控制,从DB9.DBW20开始,长度是20个字节也就是10个
字。
DB9.DBW20是第一个控制字(必须的(装置中
设P648=3001)),控制字第0位是DB9.DBX21.0,
第15位是DB9.DBX20.7;DB9.DBW22是给定速度
值(装置中设P438=3002); 给定转矩(装置中设
P607=3003)。
DB9.DBW40没有什么实际意义,随便填一个。
P#DB9.DBX20.0
BYTE 20。
PROFIBUS教程(十三)——系统功能SFC14与SFC15▪作者:PLC-CNC发表于:现场总线回复QQ留言收藏此帖发表日期:2010-06-0318:14▪关键字:PROFIBUS SFC14 SFC15 教程PROFIBUS教程在STEP7中的I/O存取命令不允许用单字节、单字或双字命令去存取具有3个或大于4字节的相连续的DP数据区域(模块)。
为了存取这种封闭结构的相连续的数据区域,使用系统功能DPRD_DAT和DPWR_DAT。
一、系统功能SFC14 DPRD_DAT为了读一个DP从站的相连续的输入数据区域,使用系统功能SFC14 DPR D_DAT,每个读存取涉及一个专用输入模块。
如果一个DP从站有若干个相连续的输入模块,则必须为所要读的每个输入模块分别安排一个SFC14调用。
表1列出了你必须定义的SFC14的输入和输出参数。
表1 SFC14 DPRD_DAT的参数参数描述RECORD参数RECORD描述在S7 CPU上用于从DP从站读取的相连续输入数据的目的区域。
在这里你定义的长度必须与用HW Config程序为DP从站的输入模块所定义的长度相一致。
请注意,RECORD参数属于数据类型ANY-Pointer。
对于ANY-Pointer只允许的数据类型是BYPE。
RET_VAL表2 中指出了系统功能SFC14的参数RET_VAL的出错代码。
表2 SFC14 DPRD_DAT的参数RET_VAL返回值二、系统功能SFC15 DPWR_DAT从S7 CPU传送一个连续的输出数据到DP从站,使用系统功能SFC15 DP WR_DAT。
每个写存取涉及一个专用的输出模块。
如果DP从站有若干个连续的数据输出模块,则对每个要写入的输出模块必须分别安排一个SFC15调用。
表3指出了必须定义的SFC15的输入和输出参数。
表3 SFC15 DPWR_DAT的参数参数描述RECORD参数RECORD描述要从S7 CPU写入DP从站的连续的输出数据的源区域。
在 S7-SCL 中如何进行 SFC14 和 SFC15 ANY 参数的编程?使用说明操作指南:在 S7-SCL 和 LAD/FBD/STL 编辑器中,要在 UDT 或 DB 中声明一个 ANY 数据类型的变量是不可能的,因为 ANY 变量是一个参数类型。
但是,可以声明 ANY 变量是一个临时变量。
当调用 SFC14 或 SFC15 时,应确保通过 ANY 变量“记录”被参数化的用户数据区的长度必须与HW Config 中的模块组态中的用户数据区长度相同(例如 3 字节。
这就是为什么建议要在 STL 中调用这些块,目的是可以定义 ANY 指针到精确的字节上(例如 DB100.DBX0.0 BYTE 3。
如果在符号编程过程中,在 SCL 或LAD/FBD/STL中,传送 STRUCT 或 ARRAY 到 ANY 类型的块参数时,编译器传送适当的 ANY 指针。
如果直接调用 SFC14 或 SFC15 并通过“STRUCT”或“ARRAY”类型的变量用符号提供“记录”参数,若从站组态的字节数是奇数,则 SFC14/15 报告错误代码 80B1。
这个动作的原因是 STEP 7 中的 STRUCT 与 ARRAY 总是按字的边界储存在存储器中,所以总是传输的是偶数长度。
如果在 S7-SCL 中调用 SFC14 或 SFC15 并要动态地提供 ANY 指针,建议在SCL “变量区域声明视图”中使用“AT” 结构。
图. 01程序描述"CALL_SFC14_15" 功能块提供了 SFC14读取和SFC15写一致性的数据到一个标准的从站。
数据被储存在"DB_Number"所指的DB块中"DB_Byte_Addr"所指的地址开始的地址区中。
字节的长度(“BYTE_COUNT” 一定要与 STEP 7 组态所选模块的长度相同。
如果 "SFC15_Select"参数的状态指示未 "1" (True, 用SFC15传输数据到从站,若指示为 "0" (False, 用SFC14从从站读取数据。
系统功能SFC14和SFC15在STEP7中的I/O存取命令不允许⽤单字节、单字或双字命令去存取具有3个或⼤于4字节的相连续的DP数据区域(模块)。
为了存取这种封闭结构的相连续的数据区域,使⽤系统功能DPRD_DAT和DPWR_DAT。
⼀、系统功能SFC14 DPRD_DAT为了读⼀个DP从站的相连续的输⼊数据区域,使⽤系统功能SFC14 DPRD_DAT,每个读存取涉及⼀个专⽤输⼊模块。
如果⼀个DP从站有若⼲个相连续的输⼊模块,则必须为所要读的每个输⼊模块分别安排⼀个SFC14调⽤。
表1列出了你必须定义的SFC14的输⼊和输出参数参数描述RECORD参数RECORD描述在S7 CPU上⽤于从DP从站读取的相连续输⼊数据的⽬的区域。
在这⾥你定义的长度必须与⽤HW Config 程序为DP从站的输⼊模块所定义的长度相⼀致。
请注意,RECORD参数属于数据类型ANY-Pointer。
对于ANY-Pointer只允许的数据类型是BYTE。
RET_VAL.表2 中指出了系统功能SFC14的参数RET_VAL的出错代码。
⼆、系统功能SFC15 DPWR_DAT从S7 CPU传送⼀个连续的输出数据到DP从站,使⽤系统功能SFC15 DPWR_DAT。
每个写存取涉及⼀个专⽤的输出模块。
如果DP从站有若⼲个连续的数据输出模块,则对每个要写⼊的输出模块必须分别安排⼀个SFC15调⽤。
表3指出了必须定义的SFC15的输⼊和输出参数。
RECORD参数RECORD描述要从S7 CPU写⼊DP从站的连续的输出数据的源区域。
在这⾥指定的长度必须与⽤HW Confi组态的DP从站的输出模块的长度相⼀致。
请注意,参数RECORD属于数据类型ANY-Pointer,对于ANY-Pointer只允许是数据类型BYTE。
RET_VAL表4中列出了SFC15的参数RET_VAL出错代码。
三、⽤I/O存取命令的数据通信SIMATIC S7系统的CPU通过⽤STEP7程序编写的专⽤的I/O存取命令来寻址分散外围设备模块的I/O数据。
PROFIBUS教程(十三)——系统功能SFC14与SFC15▪作者:PLC-CNC发表于:现场总线回复QQ留言收藏此帖发表日期:2010-06-0318:14▪关键字:PROFIBUS SFC14 SFC15 教程PROFIBUS教程在STEP7中的I/O存取命令不允许用单字节、单字或双字命令去存取具有3个或大于4字节的相连续的DP数据区域(模块)。
为了存取这种封闭结构的相连续的数据区域,使用系统功能DPRD_DAT和DPWR_DAT。
一、系统功能SFC14 DPRD_DAT为了读一个DP从站的相连续的输入数据区域,使用系统功能SFC14 DPR D_DAT,每个读存取涉及一个专用输入模块。
如果一个DP从站有若干个相连续的输入模块,则必须为所要读的每个输入模块分别安排一个SFC14调用。
表1列出了你必须定义的SFC14的输入和输出参数。
表1 SFC14 DPRD_DAT的参数参数描述RECORD参数RECORD描述在S7 CPU上用于从DP从站读取的相连续输入数据的目的区域。
在这里你定义的长度必须与用HW Config程序为DP从站的输入模块所定义的长度相一致。
请注意,RECORD参数属于数据类型ANY-Pointer。
对于ANY-Pointer只允许的数据类型是BYPE。
RET_VAL表2 中指出了系统功能SFC14的参数RET_VAL的出错代码。
表2 SFC14 DPRD_DAT的参数RET_VAL返回值二、系统功能SFC15 DPWR_DAT从S7 CPU传送一个连续的输出数据到DP从站,使用系统功能SFC15 DP WR_DAT。
每个写存取涉及一个专用的输出模块。
如果DP从站有若干个连续的数据输出模块,则对每个要写入的输出模块必须分别安排一个SFC15调用。
表3指出了必须定义的SFC15的输入和输出参数。
表3 SFC15 DPWR_DAT的参数参数描述RECORD参数RECORD描述要从S7 CPU写入DP从站的连续的输出数据的源区域。
在这里指定的长度必须与用HW Confi组态的DP从站的输出模块的长度相一致。
请注意,参数RECORD属于数据类型ANY-Pointer,对于ANY-Pointer只允许是数据类型BYTE。
RET_VAL表4中列出了SFC15的参数RET_VAL出错代码。
表4 对SFC15 DPWR_DAT规定的返回值808x对外部DP接口系统出错80Fx‥‥85xy‥‥80C2‥‥三、用I/O存取命令的数据通信SIMATIC S7系统的CPU通过用STEP7程序编写的专用的I/O存取命令来寻址分散外围设备模块的I/O数据。
这些命令直接调用I/O存取或通过过程映象调用I/O存取。
用于读和写分散I/O信息的数据格式可以是字节、字或双字。
图1解释用不同数据格式与DP从站的I/O通信。
然而,有些DP从站模块有更复杂的数据结构。
它们的输入和输出数据区域有3个字节或大于4个字节的长度。
这些数据区域也称谓连续的I/O数据区域。
在使用连续的数据区域的DP从站的参数集中,参数“Consistency”必须设置为“All”。
对于连续的数据,输入和输出数据不能通过过程映象来传送,也不能用通常的I/O存取命令来调用数据交换。
原因在于对DP主站上的输入/输出数据的CP U更新循环。
DP输入/输出数据的更新只能由DP主站与DP从站间的循环数据交换(总线循环)而确定(见图2)。
因此,从DP主站来的数据或到DP主站的数据可能已经在寻址的DP从站I/O数据的一条STEP7存取指令与下一条I/O 存取指令之间被更改了。
由于这个缘故,仅对用户程序用字节、字或双字命令无任何中断地编址的I/O结构和区域才能保证数据的连续性。
更新PII(过程映象输入表)。
传送PIO(过程映象输出表)到输出。
必须控制复杂功能的DP从站,如闭环控制器或电气驱动等,它们通常不能用简单的数据结构来完成这些任务。
这些DP从站需要更大的输入和输出区域,而且在这些I/O区域中的信息常常是相连不可分割的。
因此,它们不能用字节、字和双字的结构来存贮。
这样的数据区域称之为“连续的”。
在一个输入/输出模块内,用组态报文可以指定长度可达64字节或字(128字节)的数据区域。
为了对这些相关的模块读或写信息,必须使用DP从站的连续的输入/输出数据区域和特殊的功能。
在SIMATI S7中,系统功能SFC14 DPRD_DAT和SFC15 DP WR_DAT是为此目的保留的。
图3指出系统功能SFC14和SFC15的工作原理。
SFC的参数LADDR是一个指针,它指向要读出的输入数据区域或指向要写入的输出数据区域。
在SFC 参数中,所指定的DP从站的输入或输出模块的起始地址必须与早先用HW Co nfig程序组态时规定的地址相同,而且这些地址用十六进制数表示。
四、用SFC14 DPRD_DAT和SFC15 DPWR_DAT交换连续的数据下面的实例项目解释SFC14和SFC15的使用。
实例中所使用的硬件与前面教程十的描述相同(S7-300/CPU315-2 DP作为I-从站),但此项目限于一个S7 DP主站(S7-400)和一个I-从站(S7-300)。
因此,必须去掉在前面实例中已组态的ET200B和ET200M节点。
用合适的PROFIBUS电缆将S7-300的DP接口与S7-400控制器彼此连接,并接通设备的电源。
此项目基于假定两个可编程控制器均已复位,即它们的工作内存、装载内存和系统内存均被完全清零。
两个PLC都处在RUN状态(开关位置RUN-P)。
I-从站的两个连续的输入/输出数据区域每个都有10字节长,且参数“Consistency”设置为“All”。
这就是说,在I-从站上和DP主站的输入/输出数据通信必须使用系统功能SFC14和SFC15。
用于I-从站(带CPU315-2 DP的S7-300)的用户程序本实例项目中的I-从站具有大于4字节的连续的输入/输出区域。
因此,正如使用S7 DP主站一样,必须使用系统功能SFC14和SFC15来传送I/O数据。
切记,由DP主站用SFC15发送的输出数据被I-从站用SFC14来读出并作为其输入数据,反之也适用于从I-从站来的作为DP主站的输入数据。
图4对此作了解释。
SIMATIC S7-300控制器的CPU不识别编址错误。
因此,对于CPU315-2 DP,可以将用SFC发送的I/O数据放在另外的未被占用的过程映象区域中,例如可以用IB100~IB109和QB100~QB109。
因此在用户程序中,就可以用简单的位、字节、字和双字指令来编址这个数据。
现在,让我们来生成用于I-从站所需的用户程序。
在SIMATIC Manager中,打开项目S7-PROFIBUS-DP,双击文件夹SIMA TIC 300,再通过文件夹CPU315-2DP和S7-Program进入Blocks文件夹(图5)。
双击Blocks文件打开它,由HW Config生成的组织块OB1和系统数据块(SD Bs)已经设置在此文件夹中。
注意,必须节省并符合HW Config中配置的硬件,否则HW Config不能生成系统数据,此时将看到无系统数据文件夹。
·双击OB1打开它,自动打开STEP7程序LAD/STL/FBD。
用STL视图为OB1编程。
·在程序编辑器中,键入命令“CALL SFC14”,并用RETURN键确认。
SF14 DPRD_DAT显示出输入和输出参数。
如图6所示定义这些输入和输出参数。
输入装载和发送指令,然后调用SFC15,再为此系统功能定义输入和输出参数。
当这两个SFC被调用时,用于这些标准功能的相关块的外形就自动地从STEP7标准库(…\SIE-MENS\STEP7\S7Libs\STDLIB30)中拷贝给命名为Blocks的文件夹。
图5 带有打开的Blocks文件夹的SIMATIC Manager图6 带OB1(用于CPU315-2 DP的实例程序)的STEP7中的STL程序编辑器·为了能容易地监视DP主站上的数据通信,用适当的装载和传送指令(见图6)将所接收的第1个数据字节(IB100)转送到要被发送的第1个数据字节(QB100)。
此后,将拷贝来自I-从站输入数据区域的由DP主站发送的第1个数据字节立刻返回到I-从站的输出数据区域,然后返回DP主站。
·用Save保留OB1,并关闭用于OB1的程序编辑器(在本例中,即STL编辑器)。
在Windows 95/NT的工具条中,转换到SIMATIC Manager。
现在,这B locks文件夹应包含块对象System data、OB1、SFC14和SFC15。
当DP主站改变它的运行模式或崩溃时,操作系统通过调用I-从站上的某个OB作出反应。
如果在I-从站上这些OB丢失,则CPU立即自动地切换到ST OP。
因此,下一步是在I-从站上建立相关的出错OB,以防止CPU在此情况下进入STOP。
·当DP主站的CPU从RUN转换到STOP时,在I-从站上的组织块OB82(诊断中断)被调用。
为了防止CPU由于不存在OB82而STOP,应在SIMATIC30 0(1)站的Blocks文件夹中插入OB82。
请按下面的过程进行:右击Blocks文件夹打开上下文菜单,然后选择I NSERT NEW O BJECT→O RGANIZATION B LOCK,在“Pro perties-Organization Block”对话框中的“Name”字段中键入“OB82”,用OK 退出对话框。
返回SIMATIC Manager就可以看到对象OB82观已插入在Blocks 文件夹中。
·当DP主站崩溃时,在I-从站上调用组织块OB86(机架故障)。
为防止I-从站的CPU在这样的情况下进入STOP,必须建立OB86。
其建立过程与建立OB8 2的过程相同。
·用工具条中的DOWNLOAD按钮或从菜单条中选择PLC→DOWNLOAD,拷贝Blocks文件夹中的所有块进入CPU315-2 DP。
为此,必须用MPI电缆把PG 编程装置或PC连接到CPU315-2DP,PLC的电源必须打开。
在下载时,CPU31 5-2DP的运行模式开关必须处在RUN-P或STOP位置。
·下载后,切换CPU315-2DP的开关回到RUN。
这就是说,如果在下载期间运行模式开关处于STOP,则现在把它从STOP转换到RUN-P。
如果在下载期间此开关已经处在RUN-P位置,则将自动地询问现在是否起动CPU315-2DP。
用O K确认。
用于DP接口的CPU315-2DP的LED具有如下状态:“SF DP”LED 点亮,而“BUSF”LED闪烁。