长春西门子6GK工业交换机一级代理商
长春西门子6GK工业交换机一级代理商
3.编写子程序的梯形图
局部变量表的下面是程序区(见上图),输入参数“转换值"是来自模拟量输入模块的与模拟量成正比的转换值,输出参数“模拟值"是计算出的对应的模拟量(例如压力、温度等)的工程值。子程序中变量名称前的“#"表示该变量是局部变量,它是编程软件自动添加的,输入局部变量时不用输入“#"号。特殊存储器位SM0.0的常开触点总是闭合。
4.子程序的调用
可以在主程序、其他子程序或中断程序中调用子程序,调用子程序时将执行子程序中的指令,直至子程序结束,然后返回调用它的程序中该子程序调用指令的下一条指令之处。
创建子程序后,在上图左边指令树*下面的“调用子程序"文件夹中自动生成刚创建的子程序“模拟量计算"对应的图标。
在梯形图程序中插入子程序调用指令时,首先打开主程序,显示出需要调用子程序的网络。打开指令树*下面的“调用子程序"文件夹,用鼠标左键按住需要调用的子程序图标,将它“拖"到程序编辑器中需要的位置。放开左键,子程序块便被放置在该位置。
子程序方框中左边的“转换值"等是在子程序“模拟量计算"的变量声明表中定义的输入参数,右边的“模拟值"是输出参数。它们被称为子程序的形式参数,简称为形参,形参在子程序内部的程序中使用。调用子程序时,需要为每个形参实际的参数(简称为实参),例如为形参“转换值"的实参为模拟量输入字AIW2(见上图)。
子程序调用指令中的实参的有效操作数为存储器地址、常量、全局符号和调用指令所在的POU中的局部变量,不能被调用子程序中的局部变量。
CPU调用子程序时,输入参数被复制到子程序的局部存储器,子程序执行完后,从局部存储器复制输出参数到的输出参数地址。
西门子S7-300/400的子程序分为功能(Function)和功能块(Function Block)。
1.功能(FC)
功能是用户编写的没有固定的存储区的程序块,其临时变量存储在局部数据堆栈中,功能执行结束后,不再保存这些数据。可以用共享数据区来存储那些在功能执行结束后需要保存的数据。
功能与S7-200的子程序的局部变量基本上相同(见下图)。与S7-200的子程序相比,其局部变量多了个返回值(RET_VAL)。返回值实际上属于输出参数。
联系方式
- 地址:上海杨浦 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 电话:15618722057
- 联系人:占亦
- 手机:15618722057
- 微信:AU77780
- QQ:1716560245
- Email:1716560245@qq.com