1。在工业软件中上位机软件和分析设备的通讯是最常见的,通讯方式也有很多,例如socket,文本文件等等,今天讲解文本文件下传到分析设备和从分析设备上采集结果文件的方法: 1)。文件的下传,在VB中给分析设备下传文件,是最简单的一行代码搞定: 例如: My。Computer。FileSystem。WriteAllText(G:log123。txt,TextBox1。TextvbCrLf,My。Computer。FileSystem。FileExists(G:log123。txt)) 2)解析文本文件,并存入mysql: Subtestdata02() DimmySqlConnectionAsMySqlConnection DimdataiAsInteger1 mySqlConnectionmysqlnet。Mysqlcommand WhileTrue mySqlConnection。Open() IfMy。Computer。FileSystem。FileExists(D:estokupload。txt)Then DimfileReaderMy。Computer。FileSystem。ReadAllText(D:estokupload。txt) DimdtAsDateTimeNewDateTime(1970,1,1,0,0,0,0) My。Computer。FileSystem。MoveFile(D:estupload。txt,D:estokupload(Now()。Ticksdt。Ticks)100。txt) DimfilealllineAsString()fileReader。Split(vbCrLf) 注释 mySqlConnection IfmySqlConnection。StateConnectionState。OpenThen mySqlConnection。Open() DimsqlSelectAsStringselectfromBuffer DimsqlstrInsertIntol2testordersend(SampleId,MatLocalID) Values(parm2,parm4) DimsqlstrInsertIntoManual(钢卷号,委托号,取样位置,委托时间) Values(parm1,parm2,parm3,parm4) DimdtAsDataTableNewDataTable() DimmySqlCommand2AsMySqlCommandNewMySqlCommand(sqlstr,mySqlConnection) mySqlCommand2。Parameters。AddWithValue(parm1,1) mySqlCommand2。Parameters。AddWithValue(parm2,3234fs) mySqlCommand2。Parameters。AddWithValue(parm3,werwr) mySqlCommand2。Parameters。AddWithValue(parm4,Format(Now(),yyyyMMddHH:mm:ss)) Dimi1AsIntegermySqlCommand2。ExecuteNonQuery() EndIf 解析文件 Iffileallline。Length0Then Dimi0AsInteger DimjAsInteger Fori00Tofileallline。Length1 Iffileallline(i0)。Length10Then Invoke(NewJobL2(AddressOfl2logname),解析的数据:,数据fileallline(i0)。Length长度fileallline(i0)) DimfilealallvalueAsString()fileallline(i0)。Split(;) Forj0Tofilealallvalue。Length1 Invoke(NewJobL2(AddressOfl2logname),解析的数据:,数据:Trim(filealallvalue(j)。Replace(,))) Next IfmySqlConnection。StateConnectionState。OpenThen DimsqlstrreplaceIntodatalog(钢卷号,委托号,取样位置,钢种,开始时间) Values(Trim(filealallvalue(0)。Replace(,)),Trim(filealallvalue(1)。Replace(,)),H,datai。ToString,Format(Now(),yyyyMMddHH:mm:ss)) DimmySqlCommand2AsMySqlCommandNewMySqlCommand(sqlstr,mySqlConnection) mySqlCommand2。Parameters。AddWithValue(parm1,H) mySqlCommand2。Parameters。AddWithValue(parm2,Trim(filealallvalue(1)。Replace(,))) mySqlCommand2。Parameters。AddWithValue(parm3,datai。ToString) mySqlCommand2。Parameters。AddWithValue(parm4,Format(Now(),yyyyMMddHH:mm:ss)) Dimi1AsIntegermySqlCommand2。ExecuteNonQuery() EndIf EndIf Nexti0 EndIf EndIf dataidatai1 Thread。Sleep(1000) mySqlConnection。Close() EndWhile 分析设备的数据采集,减少了人工的工作量,也可以为实验室的无纸化提供了解决方案,可以按模板导出想要的数据;