查看: 2851|回复: 4
收起左侧

[故障反馈] 【提问】AM400系列如何实现文件操作?

小陈 2020-2-27 09:16:08 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
各位大神,我想做一个日志功能,请问汇川有没有实现csv或者txt格式文件操作的库或者例程?




上一篇:AM400_600_H5U-SD卡固件升级工具
下一篇:关于InoProShop(V1.4.5)插件

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

fg6992 2020-2-27 09:48:02 | 显示全部楼层

File - Standard (EXAMPLE)
.
.
.
.
.
(* example of how to use the CAA_FILE.library - file standard function blocks *)

                     
PROGRAM FILE.STANDARD_PRG

VAR
        xFileStdInit:       BOOL:=FALSE;
        uiFileStdState:     UINT:=0;
        sFileName:          CAA.FILENAME:= 'TestFile.txt';
        hFile:              CAA.HANDLE;
        sFileTestString:    STRING:='Hello caa library user';
        sFileString:        STRING(100):='';
        szFileSize1:        CAA.SIZE := 0;
        szFileSize2:        CAA.SIZE := 0;
        filop:              FILE.Open;
        filwr:              FILE.Write;
        filrd:              FILE.Read;
        filcl:              FILE.Close;
        filsp:              FILE.SetPos;
END_VAR


IF NOT xFileStdInit THEN
    filop(xExecute:=FALSE);
    filcl(xExecute:=FALSE);
    filwr(xExecute:=FALSE);
    filrd(xExecute:=FALSE);
    xFileStdInit:=TRUE;
    uiFileStdState:=0;
ELSE
    CASE uiFileStdState OF
        0:(* create a new file *)
            filop.sFileName:=sFileName;
            filop.eFileMode:=FILE.MODE.MRDWR;
            filop.xExclusive:=TRUE;
            filop( xExecute:=TRUE);
            IF filop.xDone THEN
                hFile:=filop.hFile;
                uiFileStdState:=1;
            END_IF
            IF filop.xError THEN
                (* error handling*)
                ;
            END_IF

        1:(* write text in the file *)
            filwr.hFile:=hFile;
            filwr.pBuffer:=ADR(sFileTestString);
            szFileSize1:=SIZEOF(sFileTestString);
            filwr.szSize:=szFileSize1;
            filwr.udiTimeOut:=100000;    (* 100ms Timeout *)
            filwr( xExecute:=TRUE);
            IF filwr.xDone THEN
                uiFileStdState:=2;
            END_IF
            IF filwr.xError THEN
                (* error handling*)
                ;
            END_IF

        2:(* set the internal positon file pointer *)
            filsp.hFile:= hFile;
            filsp.udiPos:=0;
            filsp( xExecute:=TRUE);
            IF filsp.xDone THEN
                uiFileStdState:=3;
            END_IF

            IF filsp.xError THEN
                (* error handling*)
                ;
            END_IF
           
        3:(* read file - TestFile.txt*)
            filrd.hFile:=hFile;
            filrd.udiTimeOut:=100000;    (* 100ms Timeout *)
            filrd.pBuffer:=ADR(sFileString);
            filrd.szBuffer:=SIZEOF (sFileString);
            filrd( xExecute:=TRUE);
            IF filrd.xDone THEN
                szFileSize2:=filrd.szSize;
                IF szFileSize2 = szFileSize1 THEN
                    uiFileStdState:=4;
                ELSE
                    (* error handling*)
                    ;
                END_IF
            END_IF
            IF filrd.xError THEN
                (* error handling*)
                ;
            END_IF

        4:(* close file  - TestFile.txt *)
            filcl.hFile:=hFile;
            filcl( xExecute:=TRUE);
            IF filcl.xDone THEN
                uiFileStdState:=4;
            END_IF
            IF filcl.xError THEN
                (* error handling*)
                ;
            END_IF

        5:(* end of example *)
            ;
    END_CASE
END_IF

回复 送花

使用道具 举报

小陈 2020-2-27 10:23:56 | 显示全部楼层
y2490 发表于 2020-2-27 09:48
File - Standard (EXAMPLE)
.
.

非常感谢!!!请问输出的文档是保存在plc里吗?
回复 送花

使用道具 举报

fg6992 2020-2-27 16:43:41 | 显示全部楼层
小陈 发表于 2020-2-27 10:23
非常感谢!!!请问输出的文档是保存在plc里吗?

是的,默认文件路径“/am600-nand/文件名”
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部