解决方案:
- python通过pyinstaller训练模型文件(深度学习模型),生成model.exe文件。
- 将wincc变量存储到data_input.txt文件。
- 调用shell脚本运行model.exe文件,从data_input.txt文件中读取模型输入值。
- model.exe模型运行输出值写入到data_output.txt文件中。
- wincc从data_output.txt文件读取模型输出值。
代码展示:
Option Explicit
Function action
'将wincc内部变量写入到data_in.txt文件中
Dim fso, f_write, f_read
Set fso = CreateObject("Scripting.FileSystemObject")
'第二个参数 2 表示重写,如果是 8 表示追加
Set f_write = fso.OpenTextFile("D:\model\data_in.txt",2, False)
'f_write.Write(Now) '重写
f_write.WriteLine(Now)
f_write.Close()
'从data_in.txt文件中读取数据并运行模型文件,得到结果存入到data_out.txt文件中
Dim vbbb
Set vbbb=CreateObject("wscript.shell")
vbbb.Run("D:\model\model.exe")
'将模型输出到data_out.txt文件中的结果读取到wincc内部
Dim output
Set f_read = fso.OpenTextFile("D:\model\data_out.txt", 1, False) '第二个参数 1 表示只读打开,第三个参数表示目标文件不存在时是否创建
output = f_read.ReadLine
f_read.Close()
Set vbbb=Nothing
Set f_read = Nothing
Set f_write = Nothing
Set fso = Nothing
End Function