西门子代理|宜春PLC模块总代理西门子代理|宜春PLC模块总代理
6ES7516-3AN02-0AB0 | CPU 1516-3 PN/DP,1 MB 程序,5MB 数据;10 ns ;集成 X1: 2x PN接口 ,X2: 1x PN接口,X3:1xDP 接口 |
6ES7515-2AM02-0AB0 | CPU 1515-2 PN,500 KB 程序,3MB 数据;30 ns;集成 X1: 2x PN接口 ,X2: 1x PN接口 |
6ES7513-1AL02-0AB0 | CPU 1513-1 PN,300 KB 程序,1.5 MB 数据;40 ns;集成2x PN 接口 |
6ES7511-1AK02-0AB0 | CPU 1511-1 PN,150 KB 程序,1MB 数据;60 ns;集成 2x PN 接口 |
在我们的编程软件里面,是默认提供了一个空的子程序SBR_0的,我们还可以创建子程序,在程序编辑区单击右键,选择“插入-子程序”就可以了。插入的此程序会从0开始递增生成,我们要注意的是对于CPU226XM,为SBR_0-SBR_127,对于其余的CPU,为SBR_0-SBR_63。
说到调用子程序,我们的主程序、子程序、中断程序都可以调用子程序。要调用子程序的时候,我们只需要在指令列表中的“调用子程序”文件夹里找到子程序,把它拖拽出来就可以了。如果子程序的局部变量表是有定义参数的,在调用了子程序后修改了局部变量表的话,那么调用指令是无效的,这样只能重新调用子程序。
对于子程序的调用,我们可以分为带参数的子程序调用和不带参数的子程序调用这两种。不带参数的子程序调用的特点有几个,是直接在子程序中利用**地址进行编程,第二是子程序功能块是没有接口的,第三是不带参数的子程序只能调用一次,这个我们要注意一下,不然会出现双线圈的错误,第四是当跳出子程序时要对内部状态复位或清零。
以下就是不带参数子程序调用的使用的例子。我们可以看到在子程序中利用的是**地址的,并且是没有定义接口的。
而带参数的子程序调用是要对局部变量表定义参数的,变量的地址也是有范围的,为LB0-LB31、LW0-LW30、LD0-LD28。子程序的局部变量表中是有IN、OUT、IN_OUT接口的,IN是把外面的数据传到内部,OUT是把内部的数据传到外部,IN_OUT是把外部的数据传到内部,再经过运算后再把数据传到外部。还有TEMP临时变量,TEMP是用于中间运算的,我们要注意的是它是要先赋值后使用的。子程序中凡是运算的中间过程我们都可以用累加器AC0-AC3,它的使用是没有限制的。还有就是带参数的子程序可以多次被调用,在每次调用时可以对不同的变量、数据进行相同的运算或操作。
以下就是带参数子程序调用的使用的例子。我们可以看到我们在子程序的局部变量表里是有定义接口的,定义了3个变量DW1、DW2和SUM,这些变量就是子程序的参数。我们要注意的是子程序的参数是形式参数,这些参数在调用子程序时是被实际的数据替代的。我们看到在变量符号前面有个“#”号,这就是表示这个变量是局部变量。
还有一个我们要注意的是,子程序在调用执行中,调用条件突然断开的话,所有状态会保持当前状态,100ms定时器会暂停计时,1ms和10ms定时器则不受扫描周期控制,会继续计时。
西门子代理,宜春PLC模块,总代理,电源供应,交换机西门子代理,宜春PLC模块,总代理,电源供应,交换机,西门子代理,宜春PLC模块,总代理,电源供应,交换机,西门子代理,宜春PLC模块,总代理,电源供应,交换机,西门子代理,宜春PLC模块,总代理,电源供应,交换机
西门子代理,宜春PLC模块,总代理,电源供应,交换机
西门子代理,宜春PLC模块,总代理,电源供应,交换机