【摘要】:图4-13 IEC检查的设置设置IEC检查转换条件严格,BYTE、WORD、SINT、INT、DINT、USINT、UINT、UDINT、REAL、CHAR、WCHAR数据类型可以隐式转换。例如,不能将一个DWORD数据类型的操作数声明给WORD数据类型的参数。不设置IEC检查(默认)转换条件宽松,除BOOL以外的所有基本数据类型以及字符串数据类型都可以隐式转换。
1.显式转换
显式转换是指通过现有的转换指令实现不同数据类型的转换,指令包括CONV、T_CONV、S_CONV,这些转换指令包含非常多的数据类型的转换,例如INT_TO_DINT、DINT_TO_TIME、CHAR_TO_STRING。
2.隐式转换
隐式转换是执行指令时,当指令形参与实参的数据类型不同时,程序自动进行的转换。如果形参与实参的数据类型是兼容的,则自动执行隐式转换。
可根据调用指令的FC/FB/OB是否使能IEC检查,决定隐式转换条件是否严格。通过“FC/FB/OB>属性>属性”可以设置该块内部是否启用IEC检查,如图4-13所示。
图4-13 IEC检查的设置(www.xing528.com)
(1)设置IEC检查
转换条件严格,BYTE、WORD、SINT、INT、DINT、USINT、UINT、UDINT、REAL、CHAR、WCHAR数据类型可以隐式转换。
注意:
源数据类型的位长度不能超过目标数据类型的位长度。例如,不能将一个DWORD数据类型的操作数声明给WORD数据类型的参数。
(2)不设置IEC检查(默认)
转换条件宽松,除BOOL以外的所有基本数据类型以及字符串数据类型都可以隐式转换。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。