数据类型转换概述(S7-1200) 程序编辑器将使用灰色三角标记已隐式转换的操作数。深灰色三角表示可以进 行隐式转换,而不会降低准确度。例如,在将SINT数据类型转换为INT时。浅 灰色三角表示可以进行隐式转换,但是运行期间可能会出错。例如,如果在将 数据类型DINT转换为INT时出现上溢,使能输出ENO将被设置为“0”。 有关IEC检查和隐式转换设置的详细信息,请参见“另请参见”。 显式转换 如果因操作数不兼容而不能进行隐式转换,则可以使用显式转换指令。可以在“指 令”(Instructions)任务卡中找到转换指令。 在ENO使能输出处显示了可能发生的溢出。例如,如果源数据类型的值大于目标 数据类型的值,将发生溢出。 说明 位模式的移位 如果显式转换中包含位模式移位,则不置位使能输出ENO。 有关显式转换的详细信息,请参见“另请参见”部分。 下图所示为一个必须执行显式数据类型转换的示例: “Block”函数块中,输入参数“IN_INT”处变量的数据类型应为INT。因此,必须先将变 量“IN_DINT”的值从DINT转换为INT。如果变量“IN_DINT”的值在数据类型INT的允 许值范围内,则进行转换。否则,会发出溢出信号。虽然在发生溢出时仍将进行 转换,但值将会被截断,同时将使能输出ENO置位为“0”。 参见 激活或取消激活IEC检查(S7-1200) 隐式转换(S7-1200) 显式转换(S7-1200) -2- |
|