电动机功率 | 6kW | 外形尺寸 | 3mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 4kg |
全新的西门子S7-200SMART带来两种不同类型的CPU 模块,标准型和经济型,*满足不同行业、不同客户、不同设备的各种需求。标准型作为可扩展CPU 模块,可满足对I/O 规模有较大需求,逻辑控制较为复杂的应用;而经济型CPU 模块直接通过单机本体满足相对简单的控制需求。
![]() |
参考价 | ¥433 |
订货量 | 1 |
更新时间:2019-06-13 15:57:09浏览次数:256
联系我们时请说明是化工仪器网上看到的信息,谢谢!
辽宁西门子S7-200SMART代理商(欢迎您)
西门子S7-300/400PLC数据块指令
数据块指令如表3-41所示。
表3-41数据块指令
在语句表中,OPN (Open Data Block)指令用来打开共享数据块或背景数据块。同时只能打开一个共享数据块或一个背景数据块。访问已经打开的数据块内的存储单元时,其地址中不必指明是哪一个数据块的数据单元。例如在打开DB10后,DB10.DBW35可简写为DBW35。
CDB指令交换两个数据块寄存器的内容,即交换共享数据块和背景数据块,使共享数据块变为背景数据块,背景数据块变为共享数据块。两次使用CDB指令,使两个数据块还原。
L DBLG (Load Length of Shared Data Block)指令将共享数据块的长度装入累加器1。
L DBNO (Load Number of Shared Data Block)指令将共享数据块的编号装入累加器1。
L DILG( Load Length oflnstance Data Block)指令将背景数据块的长度装入累加器1。
L DINO (Load Nmber oflnstance Data Block)指令将背景数据块的编号装入累加器1。
在梯形图中,与数据块有关的只有一条无条件打开共享数据块或背景数据块的指令,如图3-64所示,图3-64中Network2,因为数据块DB10已经被打开,其中的数据位DBXl.0相当于DB10.DBXl.0
图3-64打开数据块
主控继电器是梯形图逻辑主控开关,用于控制信号流的通断。
MCRA为激活MCR区指令,表明按MCR方式操作区域的开始,MCRD为取消MCR区,表明按MCR方式操作区域的结束。且MCRA和MCRD要成对出现。MCRA和MCRD指令之间的操作将根据MCR位的状态进行操作。若在其间有BEU指令,则CPU执行此指令,并结束MCR区域。若在其间有块调用指令,则激活状态不能继承至被调用的块中去,所以必须在被调用的块中重新激活MCR区域。注意不能使用MCR指令代替需要使用硬件接线的机械主控继电器来实现紧急停车功能。
“MCR(”为打开主控继电器区,在MCR堆栈中保存RLO值,“MCR)”为关闭主控继电器区,在MCR堆栈中取出保存在其中的RLO值。“MCR(”和“MCR)”指令必须成对出现。
MCR指令可以嵌套使用。允许多嵌套数为8级。因为CPU中有一个深度为8级的MCR嵌套。
主控继电器指令如表3-40所示。
表3-40主控继电器指令
程序控制指令是指逻辑调用指令和逻辑块结束指令。调用块和结束块同样可以是无条件的,也可以是有条件的。而逻辑块在STEP7中,实际为子程序,包括功能、功能块、系统功能和系统功能块。
块调用指令( CALL)用来调用功能块(FB)、功能(FC)、系统功能块(SFB)或系统功能( SFC),或调用西门子预先编好的其他标准块。
在CALL指令中,FC、SFC、FB和SFB是作为地址输入的,逻辑块的地址可以是地址或符号地址。CALL指令与RLO和其他任何条件无关。在调用FB和SFB时,应提供与它们配套的背景数据块(Instance DB)。调用FC和SFC时,不需要背景数据块。处理完被调用的块后,调用它的程序继续其逻辑处理。在调用SFB和SFC后,寄存器的内容被恢复。
使用CALL指令时,应将实参(Actual Parameter)赋给被调用的功能块中的形参(FormalParameter),并保证实参与形参的数据类型*。
使用语句表编程时,CALL指令中被调用的块应是已经存在的块,其符号名也应该是已经定义过的。
在调用块时可以通过变量表交换参数,用编程软件编写语句表程序时,如果被调用的逻辑块的变量声明表中有IN、OUT和IN_OUT类型的变量,输入CALL指令后编程软件会自动打开变量表,只需对各形参填写对应的实参就可以了。
在调用FC和SFC时,必须为所有的形参实参。调用FB和SFB时,只需上次调用后必须改变的实参。因为FB被处理后,实参储存在背景数据块中。如果实参是数据块中的地址,必须完整的地址,例如DBl.DBW2。
逻辑块的IN(输入)参数可以为常数、地址或符号地址。OUT(输出)和IN_OUT(输入一输出)参数必须为地址或符号地址。
CALL指令保存被停止执行的块的编号和返回地址,以及当时打开的数据块的编号。此外,CALL指令关闭MCR区,生成被调用的块的局域数据区。
STL编程语言中包括“CALL”、“CC”和“UC”指令,用于程序的调用,“CALL”指令的使用参考下面的示例程序。
(1)函数的调用
固定格式CALL FC X。X为函数号。
例如函数FC6的调用,FC6带有形参,符号“:”左边为形参,右边为赋的实参,如果形参不赋值,程序调用报错。
(2)系统函数的调用
固定格式CALL SFC X。X为系统函数号。
例如系统函数SFC43的调用,不带有形参。
CALL SFC43 //SFC43实现重新触发看门狗定时器功能
系统函数如果带有形参,与函数的调用相同,必须赋值,否则程序调用报错。
(3)函数块的调用
固定格式CALL FB X,DB Y。X为函数块号,Y为背景数据块号,函数块与背景数据块使用符号“,”隔离。
例如函数块FB99的调用,背景数据块为DB1,带有形参,符号“:”左边为形参,右边为赋的实参,由于调用函数块带有背景数据块,形参可以直接赋值,也可以稍后对背景数据块中的变量赋值。多次调用函数块时,必须分配不同的数据块作为背景数据块。
FB功能块的具体调用(语句表程序)如下。
程序中调用了背景数据块DB1,并将实参(“:一”之后的变量)赋给形参(“:”之前的变量)。又如:
如果函数块A作为函数块B的形参,在函数块B调用函数块A时,不分配背景数据块,例如函数块FB_A的调用:
调用函数块B时,分配的背景数据块中包括所有函数A和B的背景参数,如果在函数块B中插入多个函数块作为形参,程序调用时只使用一个数据块作为背景数据块,节省数据块的资源(不能节省CPU的存储区),这样函数块具有多重背景数据块的能力,在函数块创建时可以选择。
(4)系统函数块的调用
固定格式CALL SFB X,DB Y。X为函数块号,Y为背景数据块号,系统函数块与背景数据块使用符号“,”隔离。
例如函数块SFB4的调用,背景数据块为DB4,带有形参,符号“:”左边为形参,右边为赋的实参,由于调用系统函数块带有背景数据块,形参可以直接赋值,也可以稍后对背景数据块中的变量赋值。多次调用系统函数块时,必须分配不同的数据块作为背景数据块。
(5)程序结束指令
BE(程序结束)与BEU(程序无条件结束)指令使用方法相同,如果程序执行上述指令,CPU终止当前程序块的扫描,跳回程序块调用处继续扫描其他程序,如果程序结束指令被跳转指令跳过,程序扫描不结束,从跳转的目标点继续扫描。指令的使用参考下面的示例程序。
BEC为有条件程序结束,在BEC指令前,必须加入条件触发,示例程序如下。
如果Ml.l为1,程序结束;如果Ml.l为0,程序继续执行。与BE、BEU指令不同,BEC指令触发条件没有满足,置RLO位为1,所以Ml.l为0时,M1.2为1。
CALL指令的应用如图3-62所示。
图3-62 CALL指令的应用
其等效语句表程序如下。
无条件调用指令UC (Unonditional Block Call)和条件调用指令CC (Conditional BlockCall)用于调用没有参数的FC和SFC。其使用方法与CALL指令相同,只是在调用时不能传递参数。CC指令在逻辑运算结果RLO=1时才调用块。用CC指令和UC指令调用块时,不能使用背景数据块。下面是使用CC指令和UC指令的例子。
辽宁西门子S7-200SMART代理商(欢迎您)