代码如下:
//--------------------------------主程序----------------------------------//
import tkinter
def CVS():
import CvStrSplice
CvStrSplice.CvStrSplice()
#窗口变量定义
win=tkinter.Tk()
#窗口属性
win.title('程序生成')#窗口名称
win.geometry("800x600+200+50")#窗口尺寸,其中尺寸中用的是x字母
#滚筒按钮定义
MotorBut=tkinter.Button(win,
text='输送线',
width=6,
height=2,
command=CVS)
#滚筒编号字母对话框获取信息
MotorInputLe=tkinter.Entry(win)
#MotorInputLe.config(textvariable="输送线编号字母")
MotorInputLe.place(width=30,height=30)
#滚筒编号起始数字对话框获取信息
MotorInputNum=tkinter.Entry(win)
#MotorInputNum.config(textvariable="输送线编号数字")
MotorInputNum.place(width=30,height=30)
#滚筒起始ID对话框获取信息
MotorInputID=tkinter.Entry(win)
#MotorInputID.config(textvariable="输送线ID")
MotorInputID.place(width=30,height=30)
#滚筒循环次数对话框获取信息
MotorInputCirTime=tkinter.Entry(win)
#MotorInputCirTime.config(textvariable="输送线循环总次数")
MotorInputCirTime.place(width=30,height=30)
#提升机编号字母对话框获取信息
#SCarInputLe=tkinter.Entry(win)
#SCarInputLe.config(text="提升机编号字母")
#SCarInputLe.place(width=30,height=30)
#SCar_Le=SCarInputLe.get()
#提升机编号起始数字对话框获取信息
#CarInputNum=tkinter.Entry(win)
#SCarInputNum.config(text="提升机编号数字")
#SCarInputNum.place(width=30,height=30)
#SCar_Num=SCarInputNum.get()
#提升机起始ID对话框获取信息
#SCarInputID=tkinter.Entry(win)
#SCarInputID.config(text="提升机ID")
#SCarInputID.place(width=30,height=30)
#SCar_ID=SCarInputID.get()
#提升机循环次数对话框获取信息
#SCarInputCirTime=tkinter.Entry(win)
#SCarInputCirTime.config(text="提升机循环总次数")
#SCarInputCirTime.place(width=30,height=30)
#SCar_CirTime=20 #SCarInputCirTime.get()
#提升机程序中气缸标志位判断
#m_Cylinder=1
#if m_Cylinder :
# SCar_CySig="TRUE"
#else:
# SCar_CySig="FALSE"
#SCS(SCar_Le,SCar_Num,SCar_ID,SCar_CySig,SCar_CirTime)
#提升机,顶升移栽,阻挡按钮定义
#SCarBut=tkinter.Button(win,
# text='提升机/顶升/阻挡',
# width=6,
# height=2,
# command=SCS) #Command连接对话框函数
#显示框定义
OutShow=tkinter.Text(win,width=60,height=20)
#显示滚动条
yscoll=tkinter.Scrollbar(win,orient=tkinter.VERTICAL,command=OutShow.yview)#垂直滚动条
OutShow.config(yscrollcommand=yscoll.set)
yscollS=tkinter.Scrollbar(win,orient=tkinter.HORIZONTAL,command=OutShow.xview)#水平滚动条
OutShow.config(xscrollcommand=yscollS.set)
#窗口元件排列
MotorBut.grid(row=0,column=0)
MotorInputLe.grid(row=1,column=0)
MotorInputNum.grid(row=2,column=0)
MotorInputID.grid(row=3,column=0)
MotorInputCirTime.grid(row=4,column=0)
#SCarBut.grid(row=0,column=1)
#SCarInputLe.grid(row=1,column=1)
#SCarInputNum.grid(row=2,column=1)
#SCarInputID.grid(row=3,column=1)
#SCarInputCirTime.grid(row=4,column=1)
OutShow.grid(row=0,column=3)
yscoll.grid(row=0,column=2,sticky = "ns")#ns为顶,底部对齐
yscollS.grid(row=1,column=3,sticky = "we")#we为左,右部对齐
#窗口生成显示
win.mainloop()
//--------------------------------调用程序-------------------------------//
#滚筒字符串拼接函数
def CvStrSplice():
#在函数中导入属于延迟导入,可以消除循环导入的错误
i=0
from MainProgram import OutShow
from MainProgram import tkinter
from MainProgram import MotorInputCirTime
CirTime=int(MotorInputCirTime.get())
m_CirTime_m=float(CirTime)
m_CirTime=int(m_CirTime_m)
while i<m_CirTime:
from MainProgram import MotorInputLe
from MainProgram import MotorInputNum
from MainProgram import MotorInputID
MoLetter=MotorInputLe.get()
MoNum=int(MotorInputNum.get())
MoID=int(MotorInputID.get())
#第一行 ID定义
String1="\"Global\".CvIO"
String2=f"{MoLetter}{MoNum+i}" #滚筒电机全局变量编号定义
String3=f"{String1}{String2}.diDeviceID :="
String4=f"{MoID+i}" #滚筒电机ID定义
String5=";"
m_StringF1=f"{String3}{String4}{String5}"
#第二行 正限位定义
String6=f"{String1}{String2}.i_xCWPresent := \"i_xPosDetect"
String7=String2
String8="\";"
m_StringF2=f"{String6}{String7}{String8}"
#第三行 负限位定义
String9=f"{String1}{String2}.i_xCCWPresent := \"i_xNegDetect"
String10=String2
String11="\";"
m_StringF3=f"{String9}{String10}{String11}"
#第四行 正转定义
String12=f"o_xCW"
String13=String2
String14=f"\" := {String1}{String2}.o_xMotorCW;"
m_StringF4=f"{String12}{String13}{String14}"
#第五行 反转定义
String15=f"o_xCCW"
String16=String2
String17=f"\" := {String1}{String2}.o_xMotorCW;"
m_StringF5=f"{String15}{String16}{String17}"
#第六行 状态定义
String18=f"\"State\"."
String19=String2
String20=f" := {String1}{String2}.wState;"
m_StringF6=f"{String18}{String19}{String20}"
#第七行 功能块定义1
String21=f"#Cv{String2}(CvIO := {String1}{String2},"
m_StringF7=String21
#第八行 功能块定义2
String22=f"\tHMI := \"HMI\".PV1);"
m_StringF8=String22
#输出字符串
result=(f"{m_StringF1}\n{m_StringF2}\n{m_StringF3}\n{m_StringF4}"
f"\n{m_StringF5}\n{m_StringF6}\n{m_StringF7}\n{m_StringF8}\n")
Cvresult=result
OutShow.insert(tkinter.END,f"{Cvresult}\n")
#循环自加
i+=1
#循环次数到达后退出
if i>=m_CirTime:
break
求大神们解答一下!!谢谢