倍福写入txt文件的方法

    倍福Twincat带了文件读写的库,目前用到的主要是写操作。网上搜了一圈,只有一个有关的教程说明,倍福官方的例子也只是展示了函数的使用,没有具体写文件的操作。
    倍福里文件的基本操作逻辑其实和一般的读写差不多,都是打开文件获取对象,然后对文件进行写/读,关闭文件,我是看着网上的教程和官方说明文档一下一下试出来的,所以可能只是能用的版本,不是最优化的方法。
    首先看到帮助文档里关于读写的函数,用到的函数是FileOpen FileClose FileWrite ,作用顾名思义,不过FileWrite和FilePuts都是写入函数,但是对象不同,一般FileWrite用来写数据量比较大的,比如我用来记录实验的数据,所以就用FileWrite函数了。
    倍福写入txt文件的方法
    首先看到FileOpen函数,说明文档有对输入输出的说明,执行FileOpen函数需要实例化,实例化为Open()

sNetId:NetID,如果写在倍福就输入倍福的ID,或者直接输入'',写在自己的PC,就输入电脑的ID
sPathName  :文件路径名
nMode      :操作模式,选择读写的模式(字节或二进制)以及操作(读、写)
ePath      :不用管
bExecute   :函数使能,只有bExecute为true时,调用这个函数才能进行写入,所以一般令bExecute为false,进行一次Open(),就进行了复位。再令bExecute为true,执行Open(),就完成了文件打开操作了。

 

tTimeout   :超时时间

输出方面比较简单

busy表示进行中,error和errid表示错误和错误信息,正常情况下不用管

hFile就是打开文件得到的句柄,后面的写和关闭都要用到这个句柄

 

倍福写入txt文件的方法

接下来是FIleWrite,也需要实例化

输入参数

sNetId     和打开一样
hFile      是打开文件得到的句柄
pWriteBuff 和 cbWriteLen 是写入字节buff的首地址和长度,这里定义了写入的内容。写入的内容可以是一个数据,比如int或者Dint,那么pWriteBuff :=ard(变量),cbWriteLen 等于相应的长度就可以。当然也可以是多个数据,比如创建一个数组BUFF,长度20,将10个int数据放到BUFF中就可以了。
bExecute   使能位,其实和FileOpen一样。但是我实际使用过程中,令bExecute为true,调用了一次Write(),进行了一次写入,不能再写入,好像因为这个使能位是上升沿的,所以在进行了一次写入后,令bExecute为false,再调用一次Write(),这里没有写入因为没有使能,再令bExecute为true,这时再调用Write()就可以进行写入了。

后面的参数都不用管,也比较容易理解

倍福写入txt文件的方法

FileClose相当于是FileOpen的方向操作,所以变量基本上一样,把文件句柄作为输入变量输入就可以了。

倍福写入txt文件的方法

最后展示一下具体使用时的实例化和输入代码

倍福写入txt文件的方法

倍福写入txt文件的方法

倍福写入txt文件的方法

倍福写入txt文件的方法