tt99166 发表于 2023-4-12 22:17:33

Codesys 用ST语言读写XML文件说明 + 代码下载

一、开发环境说明

编程软件: Codesys V3.5 SP17运行设备:PC电脑编程语言: ST
二、配置操作

1、新建Codesys工程,依次点击【文件】—【新建工程】—【标准工程】— 输入名称,如下图所示



2、添加依赖库文件,依次点击【库管理器】—【添加库】–【高级】— 输入库名称 —【确定】,如下图所示

需要添加的库:
SysFile : 读文件的操作StringUtils :读字符串的操作SysTypes2 Interfaces :定义相关的数据结构、类型



3、读写文件的函数:

用到的主要库函数
函数名说明SysFileOpen打开或创建文件,并返回文件句柄。SysFileClose关闭句柄指定的文件SysFileRead从文件中读取字节SysFileWrite往文件中写入字节SysFileGetPos获取当前文件指针的位置4、在PLC_PRG中编写代码,调用函数实现XML文件操作

(*0 initial *)
        iPeopleIndex :=0;(*1 open file*)
    pbyteFileHandle:=SysFileOpen(szFile:= strFileName, am:= ACCESS_MODE.AM_READ_PLUS,pResult:=ADR(udiResult));(*2 read file*)WHILE(FC_FileReadLine(pbyteFileHandle,strLineValue =>strTempLine,wSize=>wLineSize)) DO
         StrToUpperA(ADR(strTempLine));IF(FIND(strTempLine,'<PEOPLE>')<>0) THEN
               FC_FileDealLine( pbyteFileHandle,TRUE ,'NAME',ADR(struPeople.strName), E_DataType.eType_STRING );FC_FileDealLine( pbyteFileHandle,TRUE ,'AGE',ADR(struPeople.uiAge), E_DataType.eType_INT    );FC_FileDealLine( pbyteFileHandle,TRUE ,'HEIGHT',ADR(struPeople.rHeighT), E_DataType.eType_REAL   );FC_FileDealLine( pbyteFileHandle,TRUE ,'student',ADR(struPeople.bStudent), E_DataType.eType_BOOL   );
                               iPeopleIndex := iPeopleIndex +1;
               
            END_IF   
    END_WHILE(*3 close file*)SysFileClose(hFile := pbyteFileHandle);三、编写codesys界面,进行效果展示



四、代码下载

李宁dd 发表于 4 天前

代码呢?
页: [1]
查看完整版本: Codesys 用ST语言读写XML文件说明 + 代码下载