读取CSV文件的用途
在使用TwinCAT3过程中,假如有些参数需要频繁的修改,或者是根据不同的制程要求设置不同的参数,这时候可以把这些参数放到一个CSV文件中,参数修改后,直接让TwinCAT plc重新读取参数就可以了,很方便。
本示例所使用到的功能块
FB_FileOpen, 用来打开CSV文件。
FB_FileGets, 用来取得CSV文件中的一整行数据。
FB_CSVMemBufferReader,更加数据分割符,把一整行数据解析成更小的数据单元。
FB_FileClose,用来关闭上文中打开的CSV文件。
所使用到的CSV文件
文件存放路径:C:\Temp\Demo.csv
CSV文件内容:
假定有四个参数Parameter1~Parameter4 需要经常调整,现场技术员不需要到plc程序里边,而只需要修改此CSV参数,然后重新读取数据就可以了。
在此,我把第一行Parameter1~Parameter4称为title行。
把100,110,120,132,成为参数行(Parameters)
具体代码
- 变量声明代码块
PROGRAM MAIN
VAR
(*Huang HanSheng 2017-03-21*) (* Read CSV file from computer*)
fbFileClose: FB_FileClose;
fbFileGets: FB_FileGets;
fbFileOpen: FB_FileOpen;
fbCSVMemBufferReader: FB_CSVMemBufferReader;
sCSVField,sCSVLine,tmpString: T_maxstring;
fileName:STRING := 'C:\Temp\Demo.csv'; //file directory
lineIdx:INT; //lineIdx=0-->Title, lineIdx=1-->Parameters
Steps:eSteps; // 自己定义的一个枚举变量
bStart: BOOL;
strPara: ARRAY[1..4] OF STRING; //输出参数数组
strTitle: ARRAY[1..4] OF STRING; //输出参数Title数组
END_