封装memset将一片内存区域清零,使代码更精简.
注意:
1.此代码仅用于TwinCAT 3,如果TwinCAT 2要使用的话,要注意BC和X86的memset的size是不一样的
2.请不要滥用Clear,不要一个bool都用Clear.可以用于清空byte类型数组,但是不要用于清空string类型之类的数据类型,因为string类型还有结束符,一般清零结构体的方法是声明一个空的结构体进行赋值操作
3.mem系列的都是直接操作内存,效率会提高,但是要注意内存泄露问题,请谨慎使用
FUNCTION Clear : UDINT
VAR_INPUT
in:any;
END_VAR
Tc2_System.MEMSET(destAddr:=ADR(in.pValue[0]),fillByte:=0,n:=DINT_TO_UDINT(in.diSize));
Clear:=DINT_TO_UDINT(in.diSize);
使用方法:
在主程序中直接使用:
Clear(变量);