广东西门子变频器代理商
广东西门子变频器代理商
在编写复杂的PLC程序时,可以将全部的控制功能划分为几个功能块,每个功能块的控制功能可用子程序来实现,这样会使整个程序的结构清晰简单,易于调试、查找错误和维护。
子程序指令
子程序指令有两条:子程序调用指令(CALL)和子程序条件返回指令(CRET)。
1.指令说明
子程序指令使用要点:CRET指令多用于子程序内部,该指令是否执行取决于它前面的条件,该指令执行的结果是结束当前的子程序返回调用程序。子程序允许嵌套使用,即在一个子程序内部可以调用另一个子程序,但子程序的嵌套深度*多为9级。当子程序在一个扫描周期内被多次调用时,在子程序中不能使用上升沿、下降沿、定时器和计数器指令。在子程序中不能使用END(结束)指令。
2.子程序的建立
编写子程序要在编程软件中进行,打开STEP7-Micro/WINSMART编程软件,在程序编辑器上方有“MAIN(主程序)”“SBR_0(子程序)”“INT_0(中断程序)”三个标签,默认打开主程序编辑器。单击“SBR_0”标签即可切换到子程序编辑器,在下面的编缉器中可以编写名称为“SBR_0”的子程序。另外,在项目指令树区域双击“程序块”内的“SBR_0”,也可以在右边切换到子程序编辑器。
如果需要编写两个或更多的子程序,可在“SBR_0”标签上右击,在弹出的快捷菜单中选择“插入”→“子程序”,就会新建一个名称为“SBR_1”的子程序(在程序编辑器上方多出一个“SBR_1”标签)。在项目指令树区域的“程序块”内也新增了一个“SBR_1”程序块,选中“程序块”内的“SBR_1”,再按键盘上的“Delete”键可将“SBR_1”程序块删除。广东西门子变频器代理商
切换与建立子程序
3.子程序指令使用举例
下面以主程序调用两个子程序为例,来说明子程序指令的使用。先建立一个SBR_1子程序块(可先不写具体程序),这样在项目指令树区域的“调用子例程”指令包内新增了一个调用SBR_1子程序的指令。在编写主程序时,双击该指令即可将其插入程序中;主程序编写完成后,再编写子程序。广东西门子变频器代理商
子程序指令使用举例
主、子程序执行的过程是:当主程序(MAIN)中的I0.0触点闭合时,调用SBR_0指令执行,转入执行子程序SBR_0。在SBR_0程序中,如果I0.1触点闭合,则将Q0.0线圈置位,然后又返回主程序,开始执行调用SBR_0指令的下一条指令(即程序段2)。当程序运行到程序段3时,如果I0.3触点闭合,则调用子程序SBR_1指令执行,转入执行SBR_1程序;如果I0.3触点断开,则执行程序段4的指令,不会执行SBR_1。若I0.3触点闭合,转入执行SBR_1后,如果SBR_1程序中的I0.5触点处于闭合状态,则条件返回指令执行,提前从SBR_1返回主程序,SBR_1中的程序段2的指令无法执行。
带参数的子程序调用指令子程序调用指令可以带参数,使用带参数的子程序调用指令可以扩大子程序的使用范围。在子程序调用时,如果存在数据传递,通常要求子程序调用指令带有相应的参数。广东西门子变频器代理商
1.参数的输入
子程序调用指令默认是不带参数的,也无法在指令梯形图符号上直接输入参数,使用子程序编辑器下方的变量表可给子程序调用指令设置参数。
子程序调用指令参数的设置方法是:打打开STEP 7-Micro/WIN SMART编程软件,单击程序编辑器上方的“SBR_0”标签,切换到SBR_0子程序编辑器,在编辑器下方有一个空变量表;如果变量表被关闭,可执行菜单命令“视图”→“组件”→“变量表”打开变量表,在变量表内填写输入、输出参数的符号并选择数据类型。输入型参数要填写在变量类型为IN的行内,输入/输出型参数要填写在变量类型为IN_OUT类型的行内,输出型参数要填写在变量类型为OUT的行内,表中参数的地址LB0、LB1等是自动生成的。在变量表的左上角有“插入行”和“删除行”两个工具,可以对变量表进行插入行和删除行操作。变量表填写后,切换到主程序编辑器,在主程序中输入子程序调用指令,该子程序调用指令自动按变量表生成输入/输出参数。
子程序调用指令参数的设置
2.指令参数说明
子程序调用指令*多可以设置16个参数,每个参数包括变量名(又称符号)、变量类型、数据类型和注释四部分,注释部分不是必需的。
1)变量名
变量名在局部变量表中称作符号,它需要直接输入,变量名*多可用23个字符表示,并且第一个字符不能为数字。
2)变量类型
变量类型是根据参数传递方向来划分的,它可分为四种类型:IN(传入子程序)、IN_OUT(传入和传出子程序)、OUT(传出子程序)和TEMP(暂变量)。参数的四种变量类型详细说明。
参数的四种变量类型详细说明
3)数据类型
参数的数据类型有布尔型(BOOL)、字节型(BYTE)、字型(WORD)、双字型(DWORD)、整数型(INT)、双整数型(DINT)、实数型(REAL)和字符型(STRING)。
3.指令使用注意事项
在使用带参数子程序调用指令时,要注意以下事项。常数参数必须指明数据类型。例如,输入一个无符号双字常数12345时,该常数必须指定为DW#12345,如果遗漏常数的数据类型,该常数可能会当作不同的类型使用。输入或输出参数没有自动数据类型转换功能。例如,局部变量表明一个参数为实数型,而在调用时使用一个双字,子程序中的值就是双字。在带参数调用的子程序指令中,参数必须按照一定顺序排列,参数排列顺序依次是:输入、输入/输出、输出和暂变量。如果用语句表编程,CALL指令的格式是:
CALL 子程序号,参数1,参数2,…,参数n
4.指令使用举例
程序执行过程为:在主程序中,常ON触点SM0.0处于闭合状态,首先执行第一个带参数子程序调用指令,转入执行子程序,同时将VW0单元中的数据作为X值传入子程序的LW0单元(局部变量存储器)。在子程序中,ADD_I指令先将LW0中的值+20,结果存入LW10中;然后MUL_I指令将LW10中的值×3,结果存入LW12中;DIV_I指令再将LW12中的值÷8,结果存入LW2中;*后子程序结束返回主程序,同时子程序LW2中的数据作为Y值被传入主程序的VW10单元中。子程序返回主程序后,接着执行主程序中的第二个带参数子程序调用指令,又将VW2中的数据作为X值传入子程序进行(X+20)×3÷8运算,运算结果作为Y值返回到VW20单元中。
- 西门子(模块)广东授权销售商 2024-11-22
- 西门子(PLC)广东授权销售商 2024-11-22
- 西门子(PLC)模块广东授权销售商 2024-11-22
- 西门子(模块)广东授权供货商 2024-11-22
- 西门子(PLC)广东授权供货商 2024-11-22
- 西门子(PLC)模块广东授权供货商 2024-11-22
- 西门子(模块)广东授权供应商 2024-11-22
- 西门子(PLC)广东授权供应商 2024-11-22
- 西门子(PLC)模块广东授权供应商 2024-11-22
- 西门子(模块)广东授权总代理 2024-11-22