问题描述: 我目前使用的是 Visual Components 4.10 Premium 版本,并搭配 Siemens S7 连接插件,用于通过物理 S7-1200 G2 PLC 进行虚拟调试。
遇到的问题是:通过sig_TEST.Value = x在 Python 脚本中设置 IntegerSignal 的值时,执行正确且打印结果确认了该值,但运行仿真期间 Connected Variables 中的“Simulation variable”列并未更新。该值仅在仿真停止并重新启动后才会出现在 Connected Variables 中。

观察到的行为:
-
OnRun执行正确,所有打印语句均出现在输出面板中 -
sig_TEST.Value = 99执行,print(sig_TEST.Value)返回 99 -
连接变量“仿真变量”列在整个仿真期间保持为 0
-
仿真重启后:值 99 正确显示在连接变量中,并传输到 PLC
-
通过“预设值”手动写入可立即生效
最小复现脚本:
from vcScript import *
app = getApplication()
comp = getComponent()
sig_test = comp.findBehaviour(“TEST”)
print("Signal found: " + str(sig_test.Value))
def OnRun():
print(“OnRun started”)
delay(3.0)
sig_test.Value = 99
print("Value set to: " + str(sig_test.Value))
while True:
delay(1.0)
预期:在仿真运行期间,连接变量更新为 99 并传输至 PLC。


微信扫一扫,打赏作者吧~