您现在的位置是:首页 > PLC技术 > PLC技术

IEC的转换功能

来源:艾特贸易2017-06-05

简介1 .概要 转换功能转换变量的数据类型。要转换的值位于功能的输入中,转换后的功能值具有新的数据类型。 常用调用: var_aus := Conversion_function (var_in); 如果转换时有错误发生,部分转

    1.概要

    转换功能转换变量的数据类型。要转换的值位于功能的输入中,转换后的功能值具有新的数据类型。

    常用调用:

   var_aus  :=

   Conversion_function (var_in);

    如果转换时有错误发生,部分转换功能会将二进制结果BRENO输出置位为FALSE。此时,转换将不会发生。

    举例:变量Speed中的INT值将转换为一个字符串并存储到变量Display中。

   Display  := I_STRNG( Speed);

   IF ENO

   THEN (*Conversion in order*);

   ELSE (*Error occurred*);

   END_IF;

    如果把一个STRING功能值赋值给位于暂态局部数据中的STRING变量,在程序中必须将一个按照必需长度定义过的值赋给这个变量(在暂态局部数据中不允许在声明前预赋值)。

    对于在暂态局部数据中声明的STRING变量,将会给其预留特定的空间(字节数)。在编译器属性中可以设置这个长度值。如果不设定,默认值为254 (+2)字节。

    2FC 33 S5TI_TIM数据类型S5TIMETIME的转换

    功能FC 33 S5TI_TIM把数据格式S5TIME转换为TIME格式。

    该功能不报告错误。

    3FC 40 TIM_S5TI数据类型TIMES5TIME的转换

    功能FC 40 TIM_S5TI把数据格式TIME转换为S5TIME格式,转换按照四舍五入进行。

    如果输入参数大干S5TIME格式所能表示的范围(大于TIME#02:46:30.000),将会输出S5TIME#999.3作为结果,二进制结果或ENO输出将设为FALSE

    4FC 16 I_STRNG数据类型INTSTRING的转换

    功能FC 16 I_STRNGINT类型的变量转换为STRING类型,字符串使用一个前导符(数位加上符号)表示。

    如果功能值指定的变量太短,转换不会发生,二进制结果BRENO输出将设为 FALSE

    5FC 5 DI_STRNG数据类型DINTSTRING的转换

    功能FC 5 DI_STRNGDINT类型的变量转换为STRING类型,字符串使用一个前导符(数位加上符号)表示。

    如果功能值指定的变量太短,转换不会发生,二进制结果BRENO输出将设为 FALSE

    6FC 30 R_STRNG数据类型REALSTRING的转换

    功能FC 30 R_STRNG把数据格式REAL转换为一个字符串。字符串用14个数字表示:

    ±v.nnnnnnnE±xx    ±    符号

                                 v    小数点前一位

                                 n    7个小数位

                                  x    2个指数位

    如果功能值指定的变量太短,或输入参数中没有有效的浮点数,转换不会发生,二进制结果BRENO输出将设为FALSE

    7FC 38 STRNG_I数据类型STRINGINT的转换

    功能FC 38 STRNG_I把字符串转换为INT格式的变量。字符串的第一个字符可能为一个符号或者数字,其他后续字符必须为数字。

    如果字符串的长度值为0或长度大于6字节,或者字符串中存在非法字符,或转换值超出INT的数值范围,转换不会发生,二进制结果BRENO输出将设为FALSE

    8FC 37 STRNG_DI数据类型STRINGDINT的转换

    功能FC 37 STRNG_DI把字符串转换为DINT格式的变量。字符串的第一个字符可能为一个符号或数字,其他后续字符必须为数字。

    如果字符串长度为0或大于11字节,或者字符串中存在非法字符,或转换值超出DINT的数值范围,转换不会发生,二进制结果BRENO输出将设为FALSE

    9FC 39 STRNG_R数据类型STRINGREAL的转换

    功能FC 39 STRNG_R把字符串转换为REAL格式的变量,字符串必须符合下列格式:

    ±v.nnnnnnnE±xx    ±    符号

                                 v    小数点前一位

                                 n    7个小数位

                                 x    2个指数位

    如果字符串长度小于14字节,或者其结构和上述结构不符,或转换值超出REAL的数值范围,转换不会发生,二进制结果BRENO输出将设为FALSE