9
STEP7-Micro/Win在程序编辑器窗口里为每个POU提供一个独立的页。主程序总是*1页,后面是子程序或中断程序。因为各个程序在编辑器窗口里被分开,编译时在程序结束的地方自动加入无条件结束指令或无条件返回指令,用户程序只能使用条件结束和条件返回指令。
通常将具有特定功能且多次使用的程序段作为子程序。子程序可以多次被调用,也可以嵌套(较多8层),还可以递归调用(自己调用自己)。子程序有子程序调用和子程序返回两大类指令,子程序返回又分条件返回和无条件返回。子程序调用指令用在主程序或其他调用子程序的程序中,子程序的无条件返回指令在子程序的最后网络段。梯形图指令系统能够自动生成子程序的无条件返回指令,用户*输入。
子程序的调用是有条件的,未调用它时不会执行子程序中的指令,因此使用子程序可以减少扫描时间,同时可使整个程序功能清晰,易于查错和维护,还能减少存储空间。为了移植子程序,应避免使用全局符号和变量,例如V存储区中的**地址。
在编程软件的程序数据窗口的下方有主程序(OBI)、子程序(SUB0)、中断服务程序(INT0) 的标签,点击子程序标签即可进入SUB0子程序显示区。也可以通过指令树的项目进入子程序SUB0显示区。添加一个子程序时,可以用编辑菜单的插入项增加一个子程序,子程序编号n从0开始自动向上生成。用鼠标右键点击指令树中的子程序或中断程序的图标,在弹出的菜单中选择“重新命名”,可以修改它们的名称。
子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。参数(变量和数据)必须有符号名(较多8个字符)、变量和数据类型等内容。子程序较多可传递16个参数。传递的参数在子程序局部变量表中定义。局部变量表中的变量有IN、OUT、IN/OUT和TEMP等四种类型。
●IN类型:将*位置的参数传入子程序。参数的寻址方式可以是直接寻址(如VB10)、间接寻址(如*ACl)或立即数(如1234)。也可以将数据的地址值传入子程序(&VB100)。
●OUT类型:是子程序的结果值(数据),它被返回给调用它的POU。常数和地址值不允许作为输出参数。
●IN/OUT类型:将*位置的参数传到子程序,从子程序来的结果值被返回到同样的地址。常数和地址值不允许作为输出参数。
●TEMP类型:局部存储器只能用作子程序内部的暂时存储器,不能用来传递参数。
局部变量表的数据类型可以是能流、布尔(位)、字节、字、双字、整数、双整数和实数型。能流是指仅允许对位输入操作的布尔能流(布尔型),梯形图表达形式为用触点(位输入)将电源母线和指令盒连接起来。
在局部变量表输入变量名称、变量类型、数据类型等参数以后,双击指令树中的子程序(或选择点击方框快捷按钮,在弹出的菜单中选择子程序项),在梯形图显示区显示出带参数的子程序调用指令盒。
局部变量表变量类型的修改方法是,用光标选中变量类型区,点击鼠标右键得到一个下拉菜单,选择插入项,弹出一个下拉子菜单,点击选中的类型,在变量类型区光标所在处即可得到选中的类型。
给予程序传递参数时,它们放在子程序的局部存储器(L)中,局部变量表较左列是每个被传递参数的局部存储器地址。
子程序调用时,输入参数被拷贝到局部存储器。子程序完成时,从局部存储器拷贝输出参数到*的输出参数地址。
内部寄存器的方法。如果把PLC的内部寄存器比喻成一幢大楼,那么寻址方法就是对房间门牌的编号。只有掌握了寄存器的寻址方法,我们才能正确使用内部寄存器。
内部寄存器的寻址,是欧美系PLC所*有的,它不同于日系的PLC。因为日系的PLC一般是直接使用。比如三菱的PLC,它用D0,D1来表示内部的数据寄存器。M0,M1 表示的是位寄存器,D0 和M0之间没有任何关系而欧系PLC与日系的完全不同,是使用和计算机一样的寻址方法。
计算机较基本的存储单位是位,同样,在PLC内也是采用位作为较基本的寻址单位。八个位组成一个字节,两个字节组成一个字。西门子博途软件平台中,高位在低字节,低位在高字节。这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放,这和我们的阅读习惯一致。这样说起来可能很抽象,我们直接看图。
如图,这是较基本的存储单元,MB0.0表示的是一个较基本的位,MB0表示一个字节,很明显,从MB0.0到MB0.7的八个位组成了一个字节,也就是MB0。其中MB0.0相当于三菱plc的M0,而MB0可以认为是三菱PLC的D0,很显然,他们是你中有我,我中有你的关系。所以,写程序**定要做好规划,避免地址重叠。
这就是西门子博途软件平台的寻址方式,很显然,他有重叠的部分,这是我们要注意的,也是和日系PLC较大的不同,也可以说是欧系PLC的一个大陷阱。比如,MW1 和 MW0 MW2有重叠的部分,我们使用了MW1之后,为了避免地址重复,就不要再使用MW0 和MW1了。MD0 同理。
这就是西门子博途软件平台的寻址方式,很显然,他有重叠的部分,这是我们要注意的,也是和日系PLC较大的不同,也可以说是欧系PLC的一个大陷阱。比如,MW1 和 MW0 MW2有重叠的部分,我们使用了MW1之后,为了避免地址重复,就不要再使用MW0 和MW1了。MD0 同理。
的三无人员(无基础,无经验,无硬件)。虽然它不能代替真正的PLC,但是对于开关量和简单模拟量的程序仿真还是能够胜任的,它解决了初学者手中没有真实的PLC,而又想练习编程的问题,它可以像真正的PLC一样,检验我们编写的程序的正确与否,辅助我们找到程序中的错误,具有较高的实用价值。软件名字是:s7 200仿真软件汉化版,百度搜一下很*找到,下载下来直接运行就行。
接下来说一下使用方法,首先我们要使用西门子s7200 PLC的编程软件STEP 7-Micro/Win编写真正的程序,如图1
图1图1,中较大红框中的梯形图,就是我们上节中讲的自锁程序,编写完成以后,做两件事。1,把CPU的型号改为:CPU 224 CN。2,点击菜单栏文件中的导出,然后选择保存类型为:(*.awl)。文件名为:启动程序(名字随便取),点击保存按钮,保存至桌面,一会要用到。然后打开我们下载的仿真软件,如图2
图1图1,中较大红框中的梯形图,就是我们上节中讲的自锁程序,编写完成以后,做两件事。1,把CPU的型号改为:CPU 224 CN。2,点击菜单栏文件中的导出,然后选择保存类型为:(*.awl)。文件名为:启动程序(名字随便取),点击保存按钮,保存至桌面,一会要用到。然后打开我们下载的仿真软件,如图2
图1
图1,中较大红框中的梯形图,就是我们上节中讲的
自锁
程序,编写完成以后,做两件事。1,把CPU的型号改为:CPU 224 CN。2,点击菜单栏文件中的导出,然后选择保存类型为:(*.awl)。文件名为:启动程序(名字随便取),点击保存按钮,保存至桌面,一会要用到。然后打开我们下载的仿真软件,如图2
图2图2,是仿真软件*一次打开时的画面,我们要设置一下,首先我们点击菜单栏里的配置中的CPU型号,将CPU型号选为CPU224,即变成如图3的样子,和我们真实的PLC是一样的。
图2图2,是仿真软件*一次打开时的画面,我们要设置一下,首先我们点击菜单栏里的配置中的CPU型号,将CPU型号选为CPU224,即变成如图3的样子,和我们真实的PLC是一样的。
图2
图2,是仿真软件*一次打开时的画面,我们要设置一下,首先我们点击菜单栏里的配置中的CPU型号,将CPU型号选为CPU224,即变成如图3的样子,和我们真实的PLC是一样的。
图3在图3中,我们点击菜单栏程序中的载入程序 再选择所有,在弹出的窗口中选择我们刚才保存在桌面的(启动程序 . awl)点击打开。然后将弹出来的其他的小窗口都关掉,只保留梯形图这个小窗口,然后点击菜单栏PLC 运行。这时我们看到运行后,PLC没什么变化,然后点击图3中较小的两个红色小方框I0.0和I0.5使它们在闭合状态,这时我们就会发现Q0.1指示灯已经亮起,说明Q0.1已经有了输出。
图3在图3中,我们点击菜单栏程序中的载入程序 再选择所有,在弹出的窗口中选择我们刚才保存在桌面的(启动程序 . awl)点击打开。然后将弹出来的其他的小窗口都关掉,只保留梯形图这个小窗口,然后点击菜单栏PLC 运行。这时我们看到运行后,PLC没什么变化,然后点击图3中较小的两个红色小方框I0.0和I0.5使它们在闭合状态,这时我们就会发现Q0.1指示灯已经亮起,说明Q0.1已经有了输出。
图3
在图3中,我们点击菜单栏程序中的载入程序 再选择所有,在弹出的窗口中选择我们刚才保存在桌面的(启动程序 . awl)点击打开。然后将弹出来的其他的小窗口都关掉,只保留梯形图这个小窗口,然后点击菜单栏PLC 运行。这时我们看到运行后,PLC没什么变化,然后点击图3中较小的两个红色小方框I0.0和I0.5使它们在闭合状态,这时我们就会发现Q0.1指示灯已经亮起,说明Q0.1已经有了输出。
图4图4,展示的是仿真软件的程序监视功能,这个功能很实用,和真实的PLC的程序监视是一样的,它能让我们直观的看到程序的运行状态。操作方法是点击图4中较上面的红色方框中的按钮就可以了,较大的红色方框中的,就是程序在监视状态下运行的状态。大家可以自己动手试一下仿真软件其他的功能,都是中文,很*操作。
图4图4,展示的是仿真软件的程序监视功能,这个功能很实用,和真实的PLC的程序监视是一样的,它能让我们直观的看到程序的运行状态。操作方法是点击图4中较上面的红色方框中的按钮就可以了,较大的红色方框中的,就是程序在监视状态下运行的状态。大家可以自己动手试一下仿真软件其他的功能,都是中文,很*操作。
图4
图4,展示的是仿真软件的程序监视功能,这个功能很实用,和真实的PLC的程序监视是一样的,它能让我们直观的看到程序的运行状态。操作方法是点击图4中较上面的红色方框中的按钮就可以了,较大的红色方框中的,就是程序在监视状态下运行的状态。大家可以自己动手试一下仿真软件其他的功能,都是中文,很*操作。
置位与复位,这两个位操作的指令在我们的程序编写中,作用也是很大,它能完成一些,常规常开常闭触点编程无法完成的程序,可以使我们编写的PLC程序条理更加清晰,步骤更加简单。它们两个在每次使用时99%的情况下都是成对出现的,只要我们在程序一个地方使用了置位,在程序的另一个地方就会用到复位。所以永远都是你等着我,我等着你,只要你要不来我就**。置位与复位的大体意思就是,置位是对一个位写1(有输出),复位就是写0(没有输出)。下面介绍使用法。
图1如图1,是我们上一节课讲的西门子s7200 PLC的,启动,保持,停止的控制电路和程序,我们知道右边的这个程序,它是用单纯的常开和常闭的位操作指令编写的,可以完成自锁的功能。大家不太明白的再看一下上一节。但除了以上介绍的,这个自锁功能还能用我们今天讲的置位和复位操作来完成。程序如下。
图1如图1,是我们上一节课讲的西门子s7200 PLC的,启动,保持,停止的控制电路和程序,我们知道右边的这个程序,它是用单纯的常开和常闭的位操作指令编写的,可以完成自锁的功能。大家不太明白的再看一下上一节。但除了以上介绍的,这个自锁功能还能用我们今天讲的置位和复位操作来完成。程序如下。
图1
如图1,是我们上一节课讲的西门子s7200 PLC的,启动,保持,停止的控制电路和程序,我们知道右边的这个程序,它是用单纯的常开和常闭的位操作指令编写的,可以完成
自锁
的功能。大家不太明白的再看一下上一节。但除了以上介绍的,这个自锁功能还能用我们今天讲的置位和复位操作来完成。程序如下。
图2图2,左边就是使用置位复位编写的PLC程序,感觉是不是比以前编写的程序,清晰简单多了,右边是置位复位操作指令的每一个部分的分解说明,已经写的很明白了就不用讲了。如果还是没看明白就接着往下看,看一看PLC置位复位程序的执行过程就明白了。
图2图2,左边就是使用置位复位编写的PLC程序,感觉是不是比以前编写的程序,清晰简单多了,右边是置位复位操作指令的每一个部分的分解说明,已经写的很明白了就不用讲了。如果还是没看明白就接着往下看,看一看PLC置位复位程序的执行过程就明白了。
图2
图2,左边就是使用置位复位编写的PLC程序,感觉是不是比以前编写的程序,清晰简单多了,右边是置位复位操作指令的每一个部分的分解说明,已经写的很明白了就不用讲了。如果还是没看明白就接着往下看,看一看PLC置位复位程序的执行过程就明白了。
图3如图3,这个是PLC置位复位程序的置位执行步骤,1,外部常开按钮没有按下时I0.0没有接通,Q0.1置位线圈就没有输出。2,外部常开按钮按下时I0.0接通,Q0.1置位线圈就有了输出。3,松开外部常开按钮时I0.0断开没有接通,虽然I0.0已经断开没有了接通,但Q0.1置位线圈依然还是有输出,实现了自锁功能。直到有复位信号时它才会没有输出,这就是置位操作指令的特点。简单不。接下来看复位的操作。
图3如图3,这个是PLC置位复位程序的置位执行步骤,1,外部常开按钮没有按下时I0.0没有接通,Q0.1置位线圈就没有输出。2,外部常开按钮按下时I0.0接通,Q0.1置位线圈就有了输出。3,松开外部常开按钮时I0.0断开没有接通,虽然I0.0已经断开没有了接通,但Q0.1置位线圈依然还是有输出,实现了自锁功能。直到有复位信号时它才会没有输出,这就是置位操作指令的特点。简单不。接下来看复位的操作。
图3
如图3,这个是PLC置位复位程序的置位执行步骤,1,外部常开按钮没有按下时I0.0没有接通,Q0.1置位线圈就没有输出。2,外部常开按钮按下时I0.0接通,Q0.1置位线圈就有了输出。3,松开外部常开按钮时I0.0断开没有接通,虽然I0.0已经断开没有了接通,但Q0.1置位线圈依然还是有输出,实现了自锁功能。直到有复位信号时它才会没有输出,这就是置位操作指令的特点。简单不。接下来看复位的操作。
图4如图4,这个是PLC置位复位程序的复位执行步骤,4,外部常闭按钮没有按下时I0.5没有接通,Q0.1复位线圈就没有输出。5,当外部常闭按钮按下时I0.5接通,Q0.1复位线圈就有了输出。它就会复位置位线圈Q0.1,这样Q0.1就没有了输出。6,即使外部常闭按钮松开I0.5没有了接通,复位线圈Q0.1依然被固定在复位状态。Q0.1就没有了输出,实现了停止功能。也很简单。下面大家再来看一下图5。
图4如图4,这个是PLC置位复位程序的复位执行步骤,4,外部常闭按钮没有按下时I0.5没有接通,Q0.1复位线圈就没有输出。5,当外部常闭按钮按下时I0.5接通,Q0.1复位线圈就有了输出。它就会复位置位线圈Q0.1,这样Q0.1就没有了输出。6,即使外部常闭按钮松开I0.5没有了接通,复位线圈Q0.1依然被固定在复位状态。Q0.1就没有了输出,实现了停止功能。也很简单。下面大家再来看一下图5。
图4
如图4,这个是PLC置位复位程序的复位执行步骤,4,外部常闭按钮没有按下时I0.5没有接通,Q0.1复位线圈就没有输出。5,当外部常闭按钮按下时I0.5接通,Q0.1复位线圈就有了输出。它就会复位置位线圈Q0.1,这样Q0.1就没有了输出。6,即使外部常闭按钮松开I0.5没有了接通,复位线圈Q0.1依然被固定在复位状态。Q0.1就没有了输出,实现了停止功能。也很简单。下面大家再来看一下图5。
图5如图5,这张图说明了PLC置位和复位操作指令的,一次性操作多个输出位的使用方法,当置位或复位操作指令的下面的数字是3时,就表示当外部常开按钮按下时,可以一次性置位3个输出点,并一直保持,直到有复位信号产生。以上就是PLC置位和复位操作指令的基本的使用方法,大家可以配合我们上节讲的西门子s7200 PLC的仿真软件,进行仿真调试,然后熟练掌握这两个操作指令。
图5如图5,这张图说明了PLC置位和复位操作指令的,一次性操作多个输出位的使用方法,当置位或复位操作指令的下面的数字是3时,就表示当外部常开按钮按下时,可以一次性置位3个输出点,并一直保持,直到有复位信号产生。以上就是PLC置位和复位操作指令的基本的使用方法,大家可以配合我们上节讲的西门子s7200 PLC的仿真软件,进行仿真调试,然后熟练掌握这两个操作指令。
图5
如图5,这张图说明了PLC置位和复位操作指令的,一次性操作多个输出位的使用方法,当置位或复位操作指令的下面的数字是3时,就表示当外部常开按钮按下时,可以一次性置位3个输出点,并一直保持,直到有复位信号产生。以上就是PLC置位和复位操作指令的基本的使用方法,大家可以配合我们上节讲的西门子s7200 PLC的仿真软件,进行仿真调试,然后熟练掌握这两个操作指令。