发表于:2014/7/5 21:11:31
#0楼
我也是一个自学PLC的,当初为了学PLC,买了各类书籍,看了各种视频。却发现讲的都很专业,晦涩,而自己理解能力薄弱,再加上半路出家,总是不得入门。感叹为什么没有一本通俗化的书本用白话而不是专业的形式讲给我们这些总是不上道的人呢?很遗憾没有发现。论坛里高手如云,我一个入门小弟在这里发这个帖让大家取笑了,只是想满足和我一样学习PLC不像我那么难入门的初衷!
就像电压和电流一样,我们可以理解为一个瀑布。从上面到底下有一个压力差,电也一样就是电压,电流就像水流。让人理解起来更为形象和容易。
下面我们就一起来看看西门子的PLC吧,在这里我们以200系列开讲。首先大家要知道一个PLC的工作过程,PLC是怎么工作的呢,它上电以后,就不断的循环处理程序,你写一个程序让它执行,它是不断的从程序的开始执行到末尾,然后又回到开始处再一次执行。每次从开始到末尾的时间称为扫描周期。
所以就像运动员不停的围着一个圆形跑道不停的转圈跑,而你站在跑道的某一处递给它一根接力棒,要求它跑到另一边把这棒子送给那个位置的另一个人。这个时候我们有很多种状况出现了。假如你只想它送一次棒子给对面另一个人,那么你只需要在它跑一圈内送一次就行,这个时候PLC就只在一个扫描周期内执行一次,而如果你每次在它跑一圈到你身边的时候你都给它递棒子,那么它都会把棒子送给对面那个人,那么就不符合只送一根棒子给对方的要求了,PLC是怎么解决呢,就引入P指令,N指令。
下面我们讲讲这个P指令,N指令。有时候我们在传送一个数据时,假如用i0.0的常开点闭合传送一次MW0的数据到MW10。如果我们在程序中写的是||-MOVW VW0 VW10 .||为i0.0的常开点。那么我们来结合PLC的工作过程分析下这个程序。PLC第一次从程序开始执行时,它跑到你这个传送数据的地方,它说哟要我传送一个数据给VW10啊,好吧SO EASY。等到它执行完程序后又开始第二个扫描周期,又跑到你这个传送数据的地方,它说哟还要我传送一个数据给VW10啊,好吧,小CASE。然后继续往下又到程序末端然后又周而复始。这个时候我们有没有发现什么问题?我们的要求是传送一次就可以了,可是它似乎不听你的啊总是送了一次又一次,要是你让它送一次钱,它还好了一次又一次给你送出去,那还不惨了?但PLC也很冤屈啊,它说我没错啊,每次我到这个地方你就要我做啊。唉呀哥们别生气了,要不你给个P指令,让我知道你是在i0.0的上升沿就让我送数据,然后即使i0.0一直通,我也不送了行不。
好吧,以后咱就知道了,我们在写程序时,有些程序我们只希望PLC在一个扫描周期内执行的,就必须给它一个指令让它只执行一次,而有些程序我们希望它一直执行的,就给它一个在每个扫描周期都能执行的指令。把这个理解了,我们就会明白PLC的很多指令的执行结果了。
就像电压和电流一样,我们可以理解为一个瀑布。从上面到底下有一个压力差,电也一样就是电压,电流就像水流。让人理解起来更为形象和容易。
下面我们就一起来看看西门子的PLC吧,在这里我们以200系列开讲。首先大家要知道一个PLC的工作过程,PLC是怎么工作的呢,它上电以后,就不断的循环处理程序,你写一个程序让它执行,它是不断的从程序的开始执行到末尾,然后又回到开始处再一次执行。每次从开始到末尾的时间称为扫描周期。
所以就像运动员不停的围着一个圆形跑道不停的转圈跑,而你站在跑道的某一处递给它一根接力棒,要求它跑到另一边把这棒子送给那个位置的另一个人。这个时候我们有很多种状况出现了。假如你只想它送一次棒子给对面另一个人,那么你只需要在它跑一圈内送一次就行,这个时候PLC就只在一个扫描周期内执行一次,而如果你每次在它跑一圈到你身边的时候你都给它递棒子,那么它都会把棒子送给对面那个人,那么就不符合只送一根棒子给对方的要求了,PLC是怎么解决呢,就引入P指令,N指令。
下面我们讲讲这个P指令,N指令。有时候我们在传送一个数据时,假如用i0.0的常开点闭合传送一次MW0的数据到MW10。如果我们在程序中写的是||-MOVW VW0 VW10 .||为i0.0的常开点。那么我们来结合PLC的工作过程分析下这个程序。PLC第一次从程序开始执行时,它跑到你这个传送数据的地方,它说哟要我传送一个数据给VW10啊,好吧SO EASY。等到它执行完程序后又开始第二个扫描周期,又跑到你这个传送数据的地方,它说哟还要我传送一个数据给VW10啊,好吧,小CASE。然后继续往下又到程序末端然后又周而复始。这个时候我们有没有发现什么问题?我们的要求是传送一次就可以了,可是它似乎不听你的啊总是送了一次又一次,要是你让它送一次钱,它还好了一次又一次给你送出去,那还不惨了?但PLC也很冤屈啊,它说我没错啊,每次我到这个地方你就要我做啊。唉呀哥们别生气了,要不你给个P指令,让我知道你是在i0.0的上升沿就让我送数据,然后即使i0.0一直通,我也不送了行不。
好吧,以后咱就知道了,我们在写程序时,有些程序我们只希望PLC在一个扫描周期内执行的,就必须给它一个指令让它只执行一次,而有些程序我们希望它一直执行的,就给它一个在每个扫描周期都能执行的指令。把这个理解了,我们就会明白PLC的很多指令的执行结果了。
[此贴子已经被jint于2014/7/9 10:00:18编辑过]
西门子S7-1200.S7-1500.S7-300.V90.G120.S120.