作者 | 主题 |
---|---|
阳春节拍 侠客 经验值: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个。 |