【Codesys】实现日志记录功能

实现类似于C#上位机那种Log日志功能,即运行一次即可实现记录当前做了何种动作,带时间戳和日期功能。可实现每日机器运行日志的功能。

一共就三个传参,

第一个是要命名的string,

第二个是触发它的bool。

第三个是长度为20的String数组。

每一个Sting内容会用逗号隔开。

最后一起写入日志内容。记录下来。

每天运行都执行日志写入,机器有问题即可查询日志寻找报错。

代码实现部分:


GetTime(GetTimeMs=>NowTime,GetTimeDay=>GetDay);
//写日志
IF bExcute THEN //写操作
    bExcute := FALSE;  //只写一次 上升沿触发   
    strFileName3:=strFileName1;
    TxtName:=Standard.CONCAT(GetDay,TxtName);
    strFileName3:=Standard.CONCAT(strFileName3,TxtName);
    strFileName:=Standard.CONCAT(strFileName3,strFileName2);
    //strFileName:=Standard.CONCAT(GetDay,strFileName3);
    
    astrCsvData[1]:=NowTime;
    astrCsvData[2]:=TO_STRING("----");
    FOR i:=1 TO 20 DO
        astrCsvData[i+2]:=StrArray[i];
    END_FOR
    astrCsvData[23]:='$r$n';
    pbyteFileHandle:= SysFileOpen(szFile:= strFileName, am:= ACCESS_MODE.AM_APPEND_PLUS, pResult:= ADR(udiResult[2]));//打开文件,获取文件句柄
    FOR iCount     := 1 TO  23 BY 1 DO //根据数组长度写值
       WriteCsvData(hFileHandle := pbyteFileHandle, strWriteData := astrCsvData[iCount]);//调用写函数
    END_FOR
    SysFileClose(hFile:= pbyteFileHandle);//释放文件句柄
END_IF

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值