电动机功率 | 5kW | 外形尺寸 | 5mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 4kg |
全新的西门子S7-200SMART带来两种不同类型的CPU 模块,标准型和经济型,*满足不同行业、不同客户、不同设备的各种需求。标准型作为可扩展CPU 模块,可满足对I/O 规模有较大需求,逻辑控制较为复杂的应用;而经济型CPU 模块直接通过单机本体满足相对简单的控制需求。
![]() |
参考价 | ¥322 |
订货量 | 1 |
更新时间:2019-07-10 13:16:20浏览次数:635
联系我们时请说明是化工仪器网上看到的信息,谢谢!
上海西门子S7-200SMART系列PLC
西门子S7 300/400数据块指令
数据块指令见表3-26。在访问数据块时,需要指明被访问的是哪一个数据块,以及访问该数据块中的哪一个数据。在指令中同时给出数据块的编号和数据在数据块中的地址,例如DB2. DBX4.5,可以直接访问数据块中的数据。访问时可以使用地址,也可以使用符号地址。这种访问方法不容易出错,建议尽量使用这种方法。
在语句表中,OPN( Open a Data Block)指令用来打开数据块。访问已经打开的数据块内的存储单元时,可以省略其地址中数据块的编号。
表3-26 数据块指令
指 令 | 描 述 |
OPN | 打开数据块 |
CDB | 交换共享数据块和背景数据块的编号 |
L DBLG | 共享数据块的长度装入累加器1 |
L DBNO | 共享数据块的编号装入累加器1 |
L DILG | 背景数据块的长度装入累加器1 |
L DINO | 背景数据块的编号装入累加器1 |
同时只能分别打开一个共享数据块和一个背景数据块,打开的共享数据块和背景数据块的编号分别存放在DB寄存器和DI寄存器中。
打开新的数据块后,原来打开的数据块自动关闭。调用一个功能块时,它的背景数据块被自动打开。如果该功能块调用了其他的块,调用结束后返回该功能块,原来打开的背景数据块不再有效,必须重新打开它。下面是打开数据块的例程:
OPN DB 2 //打开共享数据块DB 2
A DBX 4.5 //如果DB2.DBX4.5的常开触点接通
L DBW 12 //将DB2.DBW12装入累加器1
OPN DI 3 //打开背景数据块DB 3
L DIB 40 //将DB3.DIB40装入累加器1
T DBB 27 //累加器1的低字节传送到DB2.DBB27
在梯形图中,与数据块操作有关的只有一条无条件打开共享数据块或背景数据块的指令(见图3-72)。因为数据块DB 10已经被打开,图中的数据位DBX1.0相当于DB10. DBX1.0。
图3-72 打开数据块
主控继电器( Master Control Relay)简称为MCR。主控继电器指令用来控制MCR区内的指令是否被正常执行,相当于一个用来接通和断开“能流”的主令开关。MCR指令用得并不多,S7-200没有MCR指令。
在图3-71中,MCRA为激活主控继电器指令,MCRD为取消激活主控继电器指令。
打开主控继电器区指令“MCR<”在MCR堆栈中保存该指令之前的逻辑运算结果RLO(即MCR位),关闭主控继电器区指令“MCR>”从MCR堆栈中取出保存在里面的RLO。“MCR<”与“MCR>”用来表示受控临时“电源线”的形成与终止。
MCR指令可以嵌套使用,即MCR区可以在另一个MCR区之内。MCR堆栈是一种后进先出的堆栈,允许的大嵌套深度为8级。
图3-71的MCR位受到I0.2的控制,I0.2与MCR堆栈中的MCR位的状态相同。MCR位为1状态时,才会执行MCR控制区内的Q4.0的线圈和MOVE指令。MCR位为0状态时,Q4.0为0状态。
梯形图中的CALL线圈可以调用功能(FC)或系统功能(SFC),调用时不能传递参数。调用可以是无条件的,CALL线圈直接与左侧垂直线相连,相当于语句表中的UC指令;也可以是有条件的,条件由控制CALL线圈的触点电路提供,相当于语句表中的CC指令。
调用逻辑块时如果需要传递参数,可以用方框指令来调用功能块。图3-70方框中的FB 10是被调用的功能块,DB3是调用FB 10时的背景数据块。
条件返回指令( Return,RET)以线圈的形式出现,用于有条件地离开逻辑块,条件由控制它的触点电路提供,RET线圈不能直接连接在左侧垂直“电源线”上。如果是无条件地返回调用它的块,在块结束时并不需要使用RET指令。
块调用指令( CALL)用来调用功能块(FB)、功能(FC)、系统功能块(SFB)或系统功能( SFC),或调用西门子预先编好的其他标准块。
在CALL指令中,FC、SFC、FB和SFB是作为地址输入的,逻辑块的地址可以是地址或符号地址。CALL指令与RLO和其他任何条件无关。在调用FB和SFB时,应提供与它们配套的背景数据块(Instance DB)。调用FC和SFC时,不需要背景数据块。处理完被调用的块后,调用它的程序继续其逻辑处理。在调用SFB和SFC后,寄存器的内容被恢复。
使用CALL指令时,应将实参(Actual Parameter)赋给被调用的功能块中的形参(Formal Parameter),并保证实参与形参的数据类型*。
无条件调用指令( Unconditional Block CaIl,UC)和条件调用指令(Conditional Block Call,CC)用于调用没有输入/输出参数的FC和SFC。其使用方法与CALL指令相同,只是在调用时不能传递参数。下面是使用CC指令的例子:
A I 0.1 //刷新RLO
CC FC 6 //如果RLO为1,调用没有参数的功能FC 6;RLO为0则不调用。
逻辑块结束指令包括块无条件结束指令( Block End Unconditional,BEU)和块结束指令BE,以及块条件结束指令(Block End Conditional,BEC)。
执行块结束指令时,将中止当前块的程序扫描,返回调用它的块。BEU和BE是无条件执行的,而BEC只是在RLO =1时执行。
假设逻辑块A调用逻辑块B,执行逻辑块B的无条件结束指令BEU或在条件满足时执行BEC指令,将会中止逻辑块B(当前块)的程序扫描,返回逻辑块A调用逻辑块B的调用( CALL)指令下面一条指令,继续程序扫描。逻辑块B结束后,它的局部数据区被释放出来,调用它的块A的局部数据区变为当前局部数据区。块A调用块B时打开的数据块被重新打开。块A的主控继电器(MCR)被恢复,RLO从块B被带到块A。
表3-25 程序控制指令
语句表 | 梯形图 | 描 述 |
BE | - | 块结束 |
BEU | - | 块无条件结束 |
BEC | - | 块条件结束 |
CALL FCn | - | 调用功能 |
CALL SFCn | - | 调用系统功能 |
CALL FBn1,DBn2 | - | 调用功能块 |
CALL SFBn1,DBn2 | - | 调用系统功能块 |
CC FCn或 SFCn | CALL | RLO =1时条件调用 |
UC FCn或 SFCn | CALL | 无条件调用 |
RET | RET | 条件返回 |
MCRA | MCRA | 激活主控继电器功能 |
MCRD | MCRD | 取消主控继电器功能 |
MCR( | MCR < | 打开主控继电器区 |
) MCR | JMCR > | 关闭主控继电器区 |
BEU指令的执行不需要任何条件,但是如果BEU指令被跳转指令跳过,当前程序扫描不会结束,在块内的跳转目标处,程序将被继续启动。
使用S7系列PLC的硬件时,块结束指令(Block End,BE)与BEU的功能相同。
下面是使用BEC的程序:
A I 0.1 //刷新RLO
BEC //如果RLO=1,结束块
L IW 4 //如果RLO =0,不执行BEC,继续程序扫描。
如果需要重复执行若干次同样的任务,可以使用循环指令。循环指令LOOP <jump label>用累加器的低字作循环计数器,每次执行LOOP指令时累加器低字的值减1,若减1后累加器的低字非0,将跳转到< jump label>的标号处,在跳步目标处又恢复线性程序扫描。跳步目标号应是,跳步只能在同一个逻辑块内进行。
【例子】在I0.0的上升沿,用循环指令和间接寻址求从MW10开始存放的5个字的累加和,累加的结果用MD20保存。
A I 0.0
FP M 0.0
JNB m001 //不是I0.0的上升沿则跳转
L L#0 //32位整数0装入累加器1
T MD 20 //累加和清零
L P#10.0
T MD 2 //起始地址送地址指针
L 5 //循环次数装入累加器1的低字
BACK: T MW 0 //暂存循环计数值
L MW [MD 2] //取数据
ITD //转换为双整数
L MD 20 //取累加值
+D //累加
T MD 20 //保存累加值
L MD 2 //取地址指针值
L L#16
+D //地址值增加两个字节,指针指到下一个字
T MD 2 //保存地址指针值
L MW 0 //循环计数器值装累加器
LOOP BACK //若循环计数器值的内容减1后非0,跳转到标号BACK
m001. NOP 0
本例使用存储器间接寻址,地址指针的低3位用来表示字节中的位地址,因此地址指针实际上是以位为单位的整数。每次累加完成后,为了使地址指针指向下一个字,地址指针的值应加16(1个字由16位组成)。如果是对字节进行操作,每次循环地址指针应加8。如果是对双字进行操作,每次循环地址指针应加32。
上面程序中的指令“L L#16”可改为“L P#2.0”,表示地址指针将增加两个字节。
上海西门子S7-200SMART系列PLC