• 沒有找到結果。

通过输出参数RET_VAL判断出错

2 SFC的公共参数

2.1 通过输出参数RET_VAL判断出错

出错信息的类型

在用户程序中执行的系统功能(SFC)将指示CPU是否能够成功执行SFC的功能。

您可获取有关已出现的任何出错的信息,这些信息将以如下两种方式显示:

• 在状态字的BR位中

• 在输出参数RET_VAL(返回值)中

注意

在判断某个特定SFC的输出参数前,您应始终执行以下步骤:

• 首先,判断状态字的BR位。

• 然后,检查输出参数RET_VAL。

如果BR位指示出现了出错或者如果RET_VAL包含一个常规出错代码,则您不得判 断该SFC的输出参数!

返回值中的出错信息

系统功能(SFC)通过在状态字的二进制结果位(BR)中输入值“0”来指示执行时出现了 一个出错。某些系统功能会在称为返回值(RET_VAL)输出的输出处提供附加出错代 码。如果在输出参数RET_VAL中输入一个常规出错(相关解释请参见下文),则只能 通过状态字BR位中的值“0”指示。

返回值为整型数据类型(INT)。返回值与值“0”之间的关系指示出在执行该功能时是否 出错。

在CPU上执行SFC BR 返回值 整数符号

出现出错 0 小于“0”

(符号位为“1”)

未出现出错 1 大于或

等于“0”

(符号位为“0”)

长沙工控帮教育科技有限公司整理

对出错信息的响应

RET_VAL中有如下两种不同类型的出错代码:

• 所有系统功能均可输出的常规出错代码以及

• 系统功能可输出的特定出错代码,该代码与其特定功能相关。

您可以编写程序,使其对系统功能执行期间出现的出错作出响应。这样,您便可防 止由第一个出错而导致的更多出错的出现。

常规和特定出错信息

系统功能的返回值(RET_VAL)将提供下列两种出错代码类型之一:

• 与可在任何系统功能中出现的出错相关的常规出错代码。

• 仅与特定系统功能相关的特定出错代码。

虽然输出参数RET_VAL的数据类型为整型(INT),但会根据十六进制值对系统功能的 出错代码进行编组。如果您要检查某个返回值并将该值与本手册中列出的出错代码 进行比较,则请用十六进制格式显示出错代码。

下图给出了十六进制格式的系统功能出错代码结构。

Error code, for example W#16#8081

Sign bit = 1 indicates that an error has occurred.

15 8 7 0

1

X

Event number or error class and single error x = ‘0’ indicates that this is a specific error code from an SFC. The error codes are listed in the section entitled "Error Information" in the

descriptions of the individual system functions.

x > ‘0’ indicates that this is a general error code from an SFC. In this case, x is the number of the SFC parameter that caused the error. The possible error codes are shown in the following table.

长沙工控帮教育科技有限公司整理

常规出错信息 Bits 15

Sign

Event number Parameter number

1

注意

如果在RET_VAL中输入了一个常规出错代码,则可能会出现下列情况:

与SFC相关的操作可能已开始或者已经完成。 Bits 15

Sign

Error no.

Error class 1

3 4

0 1

长沙工控帮教育科技有限公司整理

常规出错代码

8x01 ANY参数中的非法语法ID 8x22 打开的,则系统功能将始终返回值W#16#8x30。

8x32