我之前写的一篇文章《西门子SCL编程实例——(电机)周期性运行》收到小伙伴反馈:
若程序在运行中停止使能,则再次使能后不能正常运行。
网友@毛
测试了一下,的确如他所说。今天这篇文章,就来修复之前代码中的问题,并向@毛表示感谢。
先前代码的问题出现在第一部分,现将先前代码中的一句删除,如下:
#q := FALSE;//删除该代码
更新为:
#statQ := FALSE//新增该代码
然后添加如下代码:
#statTimerRunningActive := FALSE;//新增该代码
更新后的第一部分代码如下:
IF NOT #enable THEN //未使能状态进行复位 #statQ := FALSE; #statEnableTimerRunning := FALSE; #statTimerRunningActive := FALSE; //V1.1 增加 END_IF;
整体代码如下:
该代码我测试过,能够解决之前的问题。
本文提供该功能块的SCL源代码,感兴趣的小伙伴可以下载测试。
注:提供的是源代码,需要在博途环境下导入源代码并生成才能使用(先解压)。
好了,关于周期性运行的更新版就先介绍到这里。
下面是西门子SCL编程的文章归档链接:
我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件,比较详细的介绍了SCL语言的编程,感兴趣的话可以扫描下面的二维码查看:
来源:本站| 大小:4 KB| 下载次数:696次
发表评论
请问这个SCL的源码是怎么生成的,是matlab/simulink么?
博途就可以生成