技术论坛

 • 产品分类
 • 咱工程师的故事
 • 培训与认证答疑专区
 • 服务合作伙伴专区

 关于沿指令的个人见解

返回主题列表
作者 主题
阳春节拍
侠客

经验值:944
发帖数:177
精华帖:2
楼主    2024-06-05 20:45:54
主题:关于沿指令的个人见解

闲来没事,扒之前的帖子,看到有PN沿,感觉有话要说。

个人觉得,smart的PN脉冲沿指令,有两种运行状态(这与三菱是不同的),一个是执行,二是扫描不执行。

执行分两种情况,A是没有历史状态,此时不输出只生成历史状态,比如首循环时,无论是P或N沿都不会输出;B是有历史状态,此时当前状态与历史状态做比较,更新历史状态并据比较结果给出输出(能流)。

扫描不执行,三菱的沿指令是有不扫描不执行这种运行状态的,但smart并没有,无论是不调用的子程序还是被JMP跳过的程序段中的PN沿,smart全部会进行扫描不执行操作,即清除掉历史状态,使该PN沿进入没有历史状态的状态。


基于上述结论,很容易分析出如下执行情况:

1、首次执行的PN沿没有输出,比如首循环,比如间隔调用的子程序中的沿指令。

2、在同一循环中多次执行的同一个沿,可能只有首次执行时输出能流,但也可能多次输出能流。比如for循环中的沿指令(或被多次调用的子程序),如果for循环体中不改变沿指令的输入能流,那么此沿指令最多在首个循环时输出一次能流,之后循环是不会输出能流的;如果for循环体中有指令会在循环中改变沿指令的输入能流状态,那么只要在执行中出现符合沿指令输出条件的情况,沿指令就会输出能流。

yanxiao
版主

经验值:27029
发帖数:11992
精华帖:45
20楼    2024-06-07 22:13:39
精华帖  主题:回复:关于沿指令的个人见解

1、PLC的用户程序是通过扫描方式执行的,从上至下,从左至右,指令只有在被扫描到时,才执行,并产生结果。

2、沿指令的初始化是系统完成的,在STOP转为RUN时即已完成,初始状态下,是没有前次扫描状态记录的。

3、沿指令被扫描到时,会判断是否是首次扫描,如果是首次扫描,规定输出为0,并保存本次能流状态;

如果不是首次扫描,则前次记忆状态与本次能流状态作运算,输出值,并把当前的能流状态保存起来,供下一次扫描时用。

沿指令的执行机制就这些。

另外,每一个沿指令都是独立的,因有内部存贮,所以数量有限的,共1024个。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。