在 TIA Portal 软件底部的巡视窗口中可以看到,整个 PLC 程序已成功编译,没有发现任何错误或警告。要继续,请按“装载”按钮。
图 8 :将程序下载到仿真器 - 第1步
当弹出“装载结果”窗口时,按“完成”按钮,程序开始下载到 PLC 仿真器。最后,通过单击 S7-PLCSIM Advanced 界面上的 RUN 按钮,将 PLC 仿真器置于运行模式。
图 9 :将程序下载到仿真器 - 第2步
现在,左键单击 SCL 编辑器工具栏中的眼镜图标(启用/禁用监视)即可以在线模式显示程序代码。
图 10 :在线模式下监控程序
正如您所看到的,操作数的结果是 #y = 0,期望值应为 1。这是为什么?
图 11 :程序结果与期望结果
以下是如何得出错误结果的。操作数 a 和 b 在计算的第一阶段相加。调整指数(对阶)后,两个操作数(a = 1.000000*10^8 和 b = 1.000000*10^0)的 Real 值如下:a = 1.000000*10^8和 b = 0.00000001*10^8。第二个数字(操作数 b)的最后两位数字被截断,因为其六位十进制数字的精度导致它们无法显示。结果,加 b 的操作变成加 0 而不是加 1。
图 12 :操作数 a 和 b 相加
在计算的第二阶段,从上一步计算的结果中减去操作数 c(中间结果:y = a + b – c = 1.000000*10^8 - 1.000000*10^8 = 0.000000e^0)。
图 13 :从之前的结果中减去操作数 c
在下一个计算步骤中,您在计算操作数 z 时,尝试将 1 除以 0,结果操作数 z 的值变成一个大数。
图 14 :计算操作数 z
有两种方法可以解决此问题。第一种解决方案:针对这种情况,您可以修改您的计算公式。不要在第一行计算中使用 y = a + b – c,而是将公式变成为 y = a – c + b。由于方程包括加法和减法,因此您可以更改操作数 b 和 c 的位置。因此,您应该首先通过单击顶部工具栏上的“离线”按钮将程序置于离线模式,然后开始在 SCL 编辑器窗口中编辑计算公式,如图15 所示。