codesys工程ST语言学习笔记(三)读文件操作txt,访问hello world 文件

codesys读取文件的内容

智慧与美貌并存的小编又来了
今天分享文件操作的读取功能

文件的写功能见上篇博客点击codesys工程ST语言学习笔记(二)写文件操作与添加库方法

首先我们展示一些codesys的库文件
功能变量变量变量变量
SysFileClose 关闭文件hFile:RTS_IEC_HANDLE
SysFileDelete删除文件szFileName:REFERENCE TO STRING
SysFileGetSize获取文件大小szFileName:文件名(包括地址)pResult:返回的是指针判断是否成功
SysFileSetPos设置在文件中的起始位置,比如写文件时使用hFile:RTS_IEC_HANDLEulOffset:_XWORD(起始点的位置)
。。。。。。。。。。。。。。。。。。
其余的笔者就不列举了,在codesys中可以查到。找到函数的定义处

在这里插入图片描述

上面有详细的说明

变量区代码

PROGRAM PLC_PRG 
VAR

    xRead         :  BOOL:=TRUE;
    szFileName     : STRING(128) := 'G:/sf_codesys_files/read_file/sf9090.txt';//文件的地址
    hFile          : SysTypes.RTS_IEC_HANDLE;
    iecResult      : SysTypes.RTS_IEC_RESULT;
    recive         : STRING;//存放读取文件的内容
    udiRead       : __XWORD;
	udiSize		: LWORD; //用来存储文件的大小

END_VAR


主程序区代码

IF xRead THEN	
    hFile := SysFileOpen(szFile:=szFileName, am:=SYSFILE.AM_READ , pResult:=ADR(iecResult));//读取文件的方式打开AM_READ;
    IF hFile <> RTS_INVALID_HANDLE    THEN    
		udisize:=SysFileGetSize(szFileName:=szFileName,pResult:=ADR(iecResult));//获取文件的大小
		udiRead := SysFileread(hFile:=hFile, pbyBuffer:=ADR(recive), ulSize:=udisize, pResult:=ADR(iecResult));//读取文件的内容
        iecResult  := SysFileClose(hFile:=hFile);	//关闭文件	
    END_IF
END_IF
xRead:=FALSE;

在本地保存好自己想要访问的文件

在这里插入图片描述
在这里插入图片描述

结果展示

如下图红箭头标出所示,成功访问到文件的内容以及文件的大小。

在这里插入图片描述
在这里插入图片描述

可视化界面输出 文件的内容
下篇博客就会讲解如何使用codesys让输出变量显示出来,方便调试
注意
打开文件的方式记住要改成SYSFILE.AM_READ
笔者测试多次都未能成功读取数据就是因为忘记修改了参数
访问的路径地址如果写错了,也无法读取成功
工程连接

点击下载

【关注微信公众号一起来交流】
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sf9090

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值