关于计算设备运行时间SCL代码的测试与说明
有小伙伴使用西门子PLC仿真软件对我前段时间写的文章《西门子SCL编程实例-计算设备运行时间(2)》进行了测试,发现OB10中的代码并没有执行,他问是不是代码有问题?尤其是这条语句:
"myEquipmentData".equipment_data[0].totalRunningTime += 1;
这种"+="的写法对吗?
因为我基本不用PLC仿真软件,所以我也不确定是不是仿真软件没有循环中断的功能。但是我有PLC硬件——CPU1214FC
,所以我们下载到PLC里来实际测试下吧。

首先,解释下这行代码:
"myEquipmentData".equipment_data[0].totalRunningTime += 1;
代码中的"+="是"相加并赋值"的意思。比如"C+=1;"等同于"C:=C+1;"
我最早学习这种语法是在计算机C语言中,现在西门子SCL语言也支持这种语法,能让代码更加简洁;所以这里,并没有问题;
接下来我把代码下载到CPU 1214FC中,并在线监控。
起初,我发现OB10中的值并没有像预期的那样增加。问题出在哪里呢?
打开OB10的属性,查看时间中断的开始时间为2020/1/1-0:00,判断的依据的是系统时间,如下图:

那么目前系统时间是多少呢?
转到【在线访问】-【功能】-【设置时间】,可以看到PLC当前系统时间为2012-1-19 10:06:53,如下图所示:

这个时间还没有到我们设定的时间,因此OB10并没有启动运行;
勾选【从PG/PC】获取选项,点击【应用】按钮,可将PLC的系统时间设置成PG/PC的当前时间,如下图所示:

设置好时间后,重新对PLC进行在线监控,可以看到计时功能已经启用了。
下图是系统运行了2分钟:

下图是系统运行了5分钟:

好了,关于设备运行时间的SCL代码测试就介绍到这里了。感谢提出问题的小伙伴,在这种提问-回答的过程中,其实对你我都有帮助。大家以后学习过程中有什么问题,欢迎多交流。最后推荐下我的新书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03
