常规错误代码指示可在任何系统功能中出现的错误。常规错误代码由下列两种数字组成:• 介于 1 到 111 之间的参数编号,其中 1 指示 SFC 的第一个参数,2 指示第二个参数,等等。• 介于 0 到 127 之间的事件编号。该事件编号指示出现了同步错误。下表列出了常规错误的代码以及每个错误的解释。Bits 15 8 7 0SignParameter number Event number 1注释如果在 RET_VAL 中输入了一个常规错误代码,则可能会出现下列情况:• 与 SFC 相关的操作可能已开始或者已经完成。• 可能在执行该操作时已经出现了特定 SFC 错误。但由于之后出现了常规错误而可能不再指示该特定错误。特定错误信息某些系统功能(SFC)有一个可提供特定错误代码的返回值。此错误代码指示在某一特定系统功能执行期间出现了一个与该功能相关的错误(参见下图)。特定错误代码由下列两种数字组成:• 介于 0 到 7 之间的错误类别。西门子工业交换机代理总经销商
与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
输入参数 REQREQ (请求)输入参数只用于启动作业:• 如果您为一个当前未激活的作业调用 SFC,则该作业将用 REQ = 1 进行启动(情况 1)。• 如果某特定作业已启动但尚未完成,并且您再次调用 SFC 来执行相同的作业(例如,在一个循环中断 OB 中),则 SFC 不会判断 REQ (情况 2)。输出参数 RET_VAL 和 BUSY作业执行状态由输出参数 RET_VAL 和 BUSY 指示。另请参见通过输出参数 RET_VAL 判断错误中的注释。• 在第 1 种情况中(第一次用 REQ=1 进行调用),如果系统资源可用且输入参数正确,则会将 W#16#7001 输入到 RET_VAL 中。然后将 BUSY 置位。如果所需要的系统资源当前正在使用中或者输入参数有错误,则会将相应的错误代码输入到 RET_VAL 中,且 BUSY 具有值 0。• 在第 2 种情况中(在相同的作业已激活时进行调用),会将 W#16#7002 输入到RET_VAL 中(这是一个说明该作业仍在处理中的警告),并将 BUSY 置位。• 下列内容适用于作业的最后一次调用:- 对于 SFC 13 "DPNRM_DG"、SFC 67 "X_GET"和 SFC 72 "I_GET",如果未出现任何错误,则会将提供的数据的数目以正的字节数的形式输入到RET_VAL 中。然后,BUSY 便会具有值 0。如果出现一个错误,则 RET_VAL 将包含错误信息。这种情况下,不得使用BUSY 进行判断。- 对于 SFC 59 "RD_REC",如果未出现任何错误,则会将以字节为单位的数据记录大小或者 0 值输入到 RET_VAL 中(请参见使用 SFC 59 "RD_REC" 读数据记录!)。这种情况下,BUSY 具有值 0。如果出现一个错误,则会将错误代码输入到 RET_VAL 中,且 BUSY 具有值 0。)- 对于所有其它 SFC,如果执行作业时未出现任何错误,则会将 0 输入到RET_VAL 中,且 BUSY 具有值 0。如果出现一个错误,则会将错误代码输入到 RET_VAL 中,且 BUSY 具有值 0。注释如果第一次和最后一次调用一起执行,则 RET_VAL 和 BUSY 的执行结果与最后一次调用之描述相同。下表概括了上面所述的关系。特别是,其给出了在已调用 SFC 但未执行完作业的情况下输出参数的可能值。注释在每次调用之后,您必须评估您程序中相关的输出参数。在作业执行期间,调用类型、REQ、RET、RET_VAL 和 BUSY 之间的关系。调用编号 调用类型 RE BUSY1 第一次调用 1 W#16#7001 1 错误代码 02 到(n - 1) 中间调用 不相关 W#16#7002 1N 最后一次调用 不相关 如果未出现任何错误,则为 W#16#0000(例外:SFC 59 "RD_REC"(如果目标区域大于传送的数据记录)及SFC 13 "DPNRM_DG"、SFC 67 "X_GET"和 SFC 72 "I_GET")0 如果出现了错误,则为错误代码 使用 SFC 20 "BLKMOV" 复制存储区描述使用 SFC 20 "BLKMOV” (块移动)可将存储器区(= 源区域)的内容复制到另一个存储器区(= 目标区域)。以下为允许的源区域:• 部分数据块• 存储位• 输入的过程映像分区(部分过程映像)• 输出的过程映像分区(部分过程映像)源参数可以是与程序执行无关的装载存储器中数据块(用关键字 UNlinkED 编译的数据块)的一部分。注释如果 CPU 中包含 SFC 83,则必须使用 SFC 83 读取与程序执行无关的数据块。如果使用 SFC 20,会产生故障信息 W#16#8092。只要源区域不是只存在于装载存储器中的数据块的一部分,就没有嵌套深度的限制。但是,如果在从与程序执行无关的数据块复制时 SFC 20 被中断,则 SFC 20 不能再嵌套执行。参数 描述 数据类型 存储区 描述SRCBLK INPUT ANY I、Q、M、D、L指定被复制的存储区(源区域)。不允许指定STRING 类型的数组。RET_VAL OUTPUT INT I、Q、M、D、L在功能执行时如有故障发生,此参数值中包含故障代码。DSTBLK OUTPUT ANY I、Q、M、D、L指定要将数据复制到的存储区(目标区域)。不允许指定 STRING 类型的数组。注释源区域与目标区域一定不可以交叉。如果指定的目标区域大于源区域,此功能只将源区域中包含的数据复制到目标区域。如果指定的目标区域(DSTBLK 参数)小于源区域(SRCBLK 参数),则功能仅复制所能写入到目标区域的尽可能多的数据。如果实际存在的目标区域或源区域小于源区域或目标区域的存储区的参数集大小(SRCBLK、DSTBLK 参数),则数据将不传送。如果 ANY 指针(源或目标)是布尔类型,则指定的长度必须是 8 的倍数;否则 SFC 将不能执行。源或目标参数(或二者都)的数据类型也可以为 STRING。如果源为字符串,将只复制该字符串的当前字符。如果源和目标为字符串,则复制字符数目的当前长度将被写入。如果要复制包括最大长度和实际长度的字符串,可如下操作:创建自己在 SRCBLK和 DSTBLK 参数中使用的 ANY 指针。请使用 BYTE 数据类型完成此操作。特性:如果用 SFC 20 BLKMOV 将未链接的数据块复制并装载到 RAM(例如,通过编程设备),SFC 将被延时多达几毫秒。这会导致一个长的 OB 循环时间,可能会使循环监控报警。所以应避免在 CPU 通过 SFC 20 复制块时装载这类块。使用 SFC 81 "UBLKMOV" 不间断地复制变量描述使用 SFC 81 "UBLKMOV” (不间断的块移动),可以将存储区(= 源区域)的内容原封不动地复制到另一个存储区(=目标区域)。此复制操作不能被其它操作系统任务打断。使用 SFC 81 "UBLKMOV",可以复制除下列之外的所有存储器区,:• 下列块类型:FB、SFB、FC、SFC、OB、SDB• 计数器• 定时器• 外设 I/O 区存储区• 与运行无关的块可以复制最大 512 字节的数据。请注意不同的 CPU 此数值不同;可以参阅指令列表。源参数也可以加入未链接数据块(用关键字 UNlinkED 编译的数据块)的装载存储器中!中断能力,中断响应时间复制不可以被中断。注意如果使用 SFC 81 "UBLKMOV",可以增加 CPU 的中断响应时间。参数 描述 类型 存储区 描述SRCBLK INPUT ANY I、Q、M、D、L指定要复制的存储区(源区域)。不允许指定STRING 类型的数组。RET_VAL OUTPUT INT I、Q、M、D、L如功能执行时发生故障,则此参数中包含一个故障代码。DSTBLK OUTPUT ANY I、Q、M、D、L指定要将数据复制到的存储区(目标区域)。不允许使用 STRING 数组。