在博图wincc中,一个变量要按不同的时间间隔依次取值,要怎么实现?变量在0时刻取值x1,经过t1时刻后取值x2,经过t2时刻后取值x3......这样的功能需要怎么实现嘞??
问题补充:
主要是为了实现一个运动序列,希望机构可以在时刻0的时候初始位置x1,停留t1时间后,运动到x2位置,停留t2时间后,运动到x3位置......采用的是wincc+simotion,不太明白如何通过wincc向simotion传递这个运动序列
最佳答案
此回答已完善
你这样做的目的是要实现什么功能?我感觉你的这个功能用plc来做更合适。
补充:T0时刻如果不在x1位置怎么办?需要回到T1吗?
启动按钮计时变量清零,比如你的脚本1s执行一次,那么脚本中用vbs:
dim start,start_sav, runtime,srun,T_sp(10)
start=hmiruntime.tags("Bstart").read
start_sav=hmiruntime.tags("start_backup").read
runtime=hmiruntime.tags("runing_time").read
T_sp(0)=hmiruntime.tags("T0").read
T_sp(1)=hmiruntime.tags("T1").read
T_sp(2)=hmiruntime.tags("T2").read
T_sp(3)=hmiruntime.tags("T3").read
T_sp(4)=hmiruntime.tags("T4").read
T_sp(5)=hmiruntime.tags("T5").read
T_sp(6)=hmiruntime.tags("T6").read
T_sp(7)=hmiruntime.tags("T7").read
if start and not start_sav then
runtime=0
srun=1
end if
start_sav=start
if srun then
runtime=runtime+1
end if
if runtime>T_sp(0) then
发送移动到x1的指令
end if
if runtime>T_sp(1) then
发送移动到x2的指令
end if
if runtime>T_sp(2) then
发送移动到x3的指令
end if
。。。。。。。。。。
if runtime>T_sp(7) then
srun=0
end if
hmiruntime.tags("Bstart").write start
hmiruntime.tags("start_backup").write start_sav
hmiruntime.tags("runing_time").write runtime
提问者对于答案的评价:
好
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367152.html