我是初学者,想问下关于西门子PLC的跳变指令的问题。如下图:
书里说接通一个扫描周期,那就是说在按下开关I0.1之后,M0.2和M0.3都
应该接通。但是书里又输只有M0.2会接通,M0.3不会接通。请问是为什么?
你好,我是初学者,你讲的有点深,不大明白。原图是这样子的,因为太麻烦没贴出来,可能是我理解有误。
这个程序利用M0.6来实现单步跟非单步的模式的。非单步的时候,M0.6一直处于接通,可以连续运行。而单步的时候,只能通过按I2.6来启动,每按一次I2.6,就执行一步(书里说的,我就是这个不理解。按照定义所说,接通一个周期,不是按下I2.6之后,会连续不断地运行吗?为什么是按一次执行一步)。
是单步或者连续是由I2.2控制的。
单步时m0.6直接通一个扫描周期。每一步执行的条件都是以上一步执行完为条件的,所以当I2.2为单步状态时,每按一次i2.6执行一步。
书上的程序没问题。
我有个小建议,你需要看看s7-200系统手册的最初的第四章和第五章,详细了解PLC的运行机理。不建议一开始就学习命令,还是要把基础打好才行。这两章很浅显。容易理解,容易忽视,其实这才是最基础的,对于最终写出好程序也是最重要的。
你好,我还是不懂。比如现在按一下M0.6,那么M2.0就执行一次并自保持,那么M2.1就会跟着执行一次并自保持,同时M2.0断开,一直这样下去,不是吗?你说“每一步执行的条件都是以上一步执行完为条件的”,请用上面的例子说明一下可以吗?
另外,我不是直接学命令的哦,我有看PLC的工作机理,但是太抽象,看不懂,所以我本着边看实例边回头看理论的方法学习。现在就是看到这里对前面的扫描周期的理论有怀疑了
还有其它的到位信号要触发呢,比如i0.1、t37、i0.2等等都保证了在一个扫描周期内不会触发两步操作。
怀疑就实践,当然实践的结果也可能是片面的,不准确的,只有反复的失败才会成长。
好好看看200的系统手册,很多网上的问题,都可以用上面的话回答。那是最权威、最准确的教材。我学plc只看了200的手册,现在学dsp我也只看datasheet,其它的教材,怎么说呢,能借鉴的只是实例,(实例还有可能不准确)。
相信我没有比系统手册、datasheet更准确的教材,因为那是开发这个产品的人写的。
那请问I0.6后面为什么要加上个上升沿呢?不用上升沿效果不是也一样吗
追答通用的标准做法了,防止按钮抖动,也防止按键时间过长造成误动作。不用的效果不完全一样。
你好,书里原题是这样的:程序利用M0.6来实现单步跟非单步的模式的。非单步的时候,M0.6一直处于接通,可以连续运行。而单步的时候,只能通过按I2.6来启动,每按一次I2.6,就执行一步(书里说的,我就是这个不理解。按照定义所说,接通一个周期,不是按下I2.6之后,会连续不断地运行吗?为什么是按一次执行一步)。
按一次只执行一次是因为M0.6之前串联的条件不会同时满足,因为它们是位置开关,一个机器不可能同时在不通的位置同时接通所有的输入I点,否则会出现所有步均执行。因此当机器到达不通的位置时,会自动的走到下一步,我现在没看到你的具体的开关位置,所以不好举例,你自己看一下真实的位置开关,你就明白了,这个程序和你一开始提问的其实不太一样,因为这里的步条件更多,M0.6仅仅代表按了一下开关,但是具体走到哪一步依赖于M0.6前面串联的条件。
追问哦,我有点明白了。那请问I0.6后面为什么要加上个上升沿呢?不用上升沿效果不是也一样吗
追答你说的是I2.6吧,不加上升沿就完全不一样了,因为PLC的扫描很快,当你按下I2.6的时候PLC都能扫描很多个周期了,这样M0.6就会接通很多个周期,这样就相当于你同时的按了很多下(加P的话可以避免按钮引起的不正常动作).当然,如果你的机器运行很慢的话,影响不大。当运行很快,特别是当人操作时开关坏了造成一直接通,会造成机器误动作(这样就不是单步运行而是连续不断的运行了)。而且程序的逻辑运行会受影响。
本回答被提问者采纳