一 字符串类
1.字符串的查找
查找STR2在STR1中第一次出现的位置,如果没有,返回0。
2.字符串的替换
将STR1中P(position)开始的L(length)个字符串,用STR2替换掉。
3.转义字符串含义
二 结构体数据操作
1.结构体数据的清0:
1)原理:从地址中访问数据并且赋值为0.
FUNCTION_BLOCK POU
VAR_INPUT
PtSrc : POINTER TO BYTE; //起始地址
iNumByte : DWORD; //字节长度
END_VAR
VAR
i : DWORD;
PtByte : POINTER TO BYTE;
END_VAR
*********************************************
FOR i:=0 TO iNumByte DO
PtByte:=PtSrc+i;
PtByte^:=0;
END_FOR
2)使用MEMSET功能块将所有结构体的数据写0
MEMSET(destAddr:=stTest , fillByte:=16#00 , n:=sizeof(stTest) )
2.结构体数据比较
MEMCMP(pBuf1:=ADR(stError), pBuf2:=ADR(stErrorCmp), n:= SIZEOF(stError))
返回值:
3.结构体数据复制
将srcAddr地址区的数据复制到destAddr地址区
MEMCPY(destAddr:=ADR(stErrortemp), srcAddr:=ADR(stError), n:= SIZEOF(stError))
三 事件类操作
该操作可以通过twincat软件的输出栏,实时记录事件信息
详细的例子参照我写的LOG处理文档第二部分,事件记录器
1.定义时间严重性
TcEventSeverity
它有以下五个等级:
2.定义事件参数
FB_TcArguments
具体子方法使用查找倍福帮助文档
3.事件记录器
FB_TcEventLogger
具体子方法使用查找倍福帮助文档
4. 错误检查
FAILED:使用此函数检查 HRESULT 类型的错误代码或状态代码是否无效。
hr:HRESULT;
result:bool;
if failed(hr) then
result:=1;
else
result:=0;
四 其他
1.读取变量地址或注释(PLC_ReadSymInfoByName)
或者下面这种简单的方式:
MyVarInfo : __SYSTEM.VAR_INFO;//定义
MyVarInfo:=__VARINFO(test1);//实现
五 通过倍福电脑的系统日志查看系统故障(EventLog)
虚拟学院搜索----通过Eventlog文件分析故障
一般有3个我们用到
Application:应用程序,用于看倍福模块的信息
Security:登录信息,用于查看登录时间和状态
System:系统信息,用于查看系统级别的信息,比如异常开关机等