发布网友
共3个回答
热心网友
程序从第一条指令开始,逐条顺序执行用户的程序直到程序结束。然后重新返回第一条指令,再开始下一次扫描;如此周而复始。整个工作过分为自诊断、通信服务、输入处理、程序执行这五个阶段。这5个阶段称之为扫描周期。
当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
扩展资料:
在输入采样阶段,可编程逻辑控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应的单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。
因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
在程序执行的过程中如果使用立即I/O指令则可以直接存取I/O点。即使用I/O指令的话,输入过程影像寄存器的值不会被更新,程序直接从I/O模块取值,输出过程影像寄存器会被立即更新,这跟立即输入有些区别。
参考资料来源:百度百科--可编程逻辑控制器
热心网友
PLC正常来说是一直循环扫描的。1至100ms完成一次扫描。当然这个时间是可以设定的,也是不一定的,看程序的长度,越长扫描一次的时间越久。
然后上升沿这个东西,就是从0到1的那一瞬间。
如果你的外部开关接在PLC的I0.0,然后程序里面I0.0是上升沿触发,那就是开关按下去不松开,PLC不管怎么扫描,都是只识别一次。如果要识别按下第二次,那就松开开关再按下去,重复一次0到1的过程。PLC就会识别到第二次开关被按下,这就是上升沿触发(从0到1)。
如果不是上升沿触发,开关按下去不松开,PLC每扫描一次就会认为开关被按下一次。实际上开关没有松开过,是一直按着的,但是PLC就是这样的,不停的刷新自己的状态,不停的刷新I/O的状态,速度很快。
你可以试试I0.0外部接一个复位按钮开关,然后程序里面I0.0不做上升沿,后续接一个计数器。
做了上升沿触发的I0.0,开关按下去不松开只能让计数器+1。松开再按下去不松开还是+1,然后总数到2了。
不做上升沿触发的I0.0,PLC的每一次扫描都会让计数器+1。你可能就看到计数器在拼命的+1,一秒钟大概成百上千吧。因为扫描的时间很短,是毫秒级别的。
热心网友
扫描周期的单位是毫秒,不是“次”。
他说3次是随便打个比方,实际可能是3次也可能是30次。