电动机功率 | 2kW | 外形尺寸 | 2mm |
---|---|---|---|
重量 | 1kg |
西门子S7-1200PLC系统有五种不同模块,分别为 CPU 1211C、CPU 1212C 、 CPU 1214C、CPU1215C和CPU1217C。其中的每一种模块都可以进行扩展,以*您的系统需要。可在任何 CPU 的前方加入一个信号板,轻松扩展数字或模拟量 I/O,同时不影响控制器的实际大小。
![]() |
参考价 | ¥544 |
订货量 | 1 |
更新时间:2019-04-01 13:35:31浏览次数:710
联系我们时请说明是化工仪器网上看到的信息,谢谢!
重庆西门子S7-1500PLC代理商(价格实惠)
如果允许FOR/NEXT循环,除非在循环内部修改了终值,循环 体就一直循环执行直到循环结束。当FOR/NEXT循环执行的过 程中可以修改这些值。当循环再次允许时,它把初始值拷贝到INDX中(当前循环次数)。
当下一次允许时,FOR/NEXT指令复位它自己。
例如,给定1的INIT值和10的FINAL值,随着INDX数值增加:1、2、3、 ...10,在For指令和Next指令之间的指令被执行。
如果初值大于终值,那么循环体不被执行。每执行一次循环体,当前计数值增加1,并且将其结果同
终值作比较, 如果大于终值,那么终止循环。
如果程序进入FOR- NEXT循环时,栈顶值为1,则当程序退出FOR- NEXT循环时,栈顶值也将为1。
表6- 57 FOR- NEXT指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
INDX | INT | IW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、*AC |
INIT、FINAL | INT | VW、IW、QW、MW、SMW、SW、T、C、LW、AC、AIW、*VD、*AC、常数 |
实例:For- Next循环指令
跳转指令
跳转到标号指令(JMP)执行程序内标号N的程序分支。 标号指令标识跳转目的地的位置N。
您可以在主程序、子程序或者中断程序中,使用跳转指令。跳 转和与之相应的标号指令必须位于同一段程序代码(无论是主程 序、子程序还是中断程序)。
不能从主程序跳到子程序或中断程序, 同样不能从子程序或中断程序跳出。
可以在SCR程序段中使用跳转指令,但相应的标号指令必须也 在同一个SCR段中。
表6--58 跳转指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
N | WORD | 常数(0到255) |
实例:跳转到标签指令
顺控继电器(SCR)指令
SCR指令使您能够按照自然工艺段在LAD、FBD或STL中编制 状态控制程序。
只要您的应用中包含的一系列操作需要反复执行,就可以使用SCR使程序更加结构化,以至于直接针对应用。这样可以使得 编程和调试更加快速和简单。
装载SCR指令(LSCR)将S位的值装载到SCR和逻辑堆栈中。
SCR堆栈的结果值决定是否执行SCR程序段。SCR堆栈的值会 被复制到逻辑堆栈中,因此可以直接将盒或者输出线圈连接到 左侧的功率流线上而不经过中间触点。
限定
当使用SCR时,请注意下面的限定:
表6--59 顺控继电器指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
S_BIT | BOOL | S |
图6--31给出了S堆栈和逻辑堆栈以及执行LSCR指令产生的影响。以下是对顺控继电器指令的正确 理解:
装载SCR指令(LSCR)标志着SCR段的开始,SCR结束指令则标志着SCR段的结束。在装载SCR指令与SCR结束指令之间的所有逻辑操作的执行取决于S堆栈的值。而在SCR结束指令和 下一条装载SCR指令之间的逻辑操作则不依赖于S堆栈的值。
在以下实例中,*扫描位SM0.1置位S0.1,从而在*扫描中,激活状态1。延时2秒后,T37导致切换到状态2。切换使状态1停止,激活状态2。
实例:顺序控制继电器指令
分支控制
在许多实例中,一个顺序控制状态流必须分成两个或多个不同分支控制状态流。当一个控制状态流分
离成多个分支时,所有的分支控制状态流必须同时激活, 如图6--32所示。
图6--32 控制流的分支
使用多条由相同转移条件激活的SCRT指令,可以在一段SCR程序中实现控制流的分支,如下面的实 例所示。
合并控制
与分支控制的情况类似,两个或者多个分支状态流必须合并为一个状态流。当多个状态流汇集成一个 时,我们称之为合并。当控制流合并时,所有的控制流必须都完成,才能执行下一个状态。图6--33给 出了两个控制流合并的示意图。
在SCR程序中,通过从状态L转到状态L,以及从状态M转到状态M的方法实现控制流的合并。当状态
L、M的SCR使能位为真时,即可激活状态N,如下例所示。
图6--33 控制流的合并
在有些情况下,一个控制流可能转入多个可能的控制流中的某一个。到底进入哪一个,取决于控制流
前面的转移条件,哪一个首先为真,如图6--34所示。
图6--34 条件转换控制流分支
实例:条件转移
诊断LED指令
如果输入参数IN的值为零,就将诊断LED置为OFF。如果输入 参数IN的值大于零,就将诊断LED置为ON(黄色)。
当系统块中的条件为真或者用非零IN参数执行DIAG_LED 指令时,CPU发光二极管(LED)标注的SF/DIAG可以被配置用于显示黄色。
系统块(配置LED)复选框选项:
表6--60 诊断LED指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
IN | BYTE | VB、IB、QB、MB、SB、SMB、LB、AC、常数、*VD、*LD、*AC |
实例1诊断LED指令
移位和循环指令
右移和左移指令
移位指令将输入值IN右移或左移N位,并将结果装载到输出
OUT中。
移位指令对移出的位自动补零。如果位数N大于或等于大允 许值(对于字节操作为8,对于字操作为16,对于双字操作为
32),那么移位操作的次数为大允许值。如果移位次数大于
0,溢出标志位(SM1.1)上就是近移出的位值。如果移位操作 的结果为0,零存储器位(SM1.0)置位。
字节操作是无符号的。对于字和双字操作,当使用有符号数据 类型时,符号位也被移动。
使ENO=0的错误条件:
循环右移和循环左移指令
循环移位指令将输入值IN循环右移或者循环左移N位,并将输 出结果装载到OUT中。循环移位是圆形的。
如果位数N大于或者等于大允许值(对于字节操作为8,对于字操作为16,对于双字操作为32),S7--200在执行循环移位之 前,会执行取模操作,得到一个有效的移位次数。移位位数的 取模操作的结果,对于字节操作是0到7,对于字操作是0到15,而对于双字操作是0到31。
如果移位次数为0,循环移位指令不执行。如果循环移位指令执行,后一个移位的值会复制到溢出 标志位(SM1.1)。
如果移位次数不是8(对于字节操作)、16(对于字操作)和32(对于双字操作)的整数倍,后被移出的
位会被复制到溢出标志位(SM1.1)。当要被循环移位的值是零时,零标志位(SM1.0)被置位。
字节操作是无符号的。对于字和双字操作,当使用有符号数据类型时,符号位也被移位。
使ENO=0的错误条件:
受影响的SM标志位:
表6--61 移位和循环移位指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
IN | BYTE WORD DWORD | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数IW、QW、VW、MW、SMW、SW、LW、T、C、AC、AIW、*VD、*LD、 *AC、常数 ID、QD、VD、MD、SMD、SD、LD、AC、HC、*VD、*LD、*AC、常数 |
OUT | BYTE WORD DWORD | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*ACIW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、 *AC ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC |
N | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 |
实例:移位和循环移位指令
移位寄存器指令
移位寄存器指令将一个数值移入移位寄存器中。移位寄存器指 令提供了一种排列和控制产品流或者数据的简单方法。使用该 指令,每个扫描周期,整个移位寄存器移动一位。
移位寄存器指令把输入的DATA数值移入移位寄存器。其中,
S_BIT移位寄存器的低位,N移位寄存器的长度和
移位方向(正向移位=N,反向移位=-N)。
SHRB指令移出的每一位都被放入溢出标志位(SM1.1)。
这条指令的执行取决于低有效位(S_BIT)和由长度(N)的
位数。
使ENO=0的错误条件:
受影响的SM标志位:
表6--62 移位寄存器指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
DATA、S_BIT | BOOL | I、Q、V、M、SM、S、T、C、L |
N | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 |
位移位寄存器的高位(MSB.b)可通过下面公式计算求得:
MSB.b = [(S_BIT的字节号) + ([N] - 1 + (S_BIT的位号)) / 8].[除8的余数]
例如:如果S_BIT是V33.4、N是14,下列计算显示
MSB.b是V35.1。
MSB.b =V33+([14]- 1+4)/8
=V33+17/8
=V33+2 (余数为1)
=V35.1
当反向移动时,N为负值,输入数据从高位移入,
低位(S_BIT)移出。移出的数据放在溢出标志位
(SM1.1)中。
当正向移动时,N为正值,输入数据从低位(S_BIT)
移入,高位移出。移出的数据放在溢出标志位
(SM1.1)中。
移位寄存器的大长度为64位,可正可负。图6--35中 给出了N为正和负两种情况下的移位过程。
实例:移位寄存器位指令
字节交换指令
字节交换指令用来交换输入字IN的高字节和低字节。
使ENO=0的错误条件:
表6--63 字节交换指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
IN | WORD | IW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、*AC |
字符串指令
字符串长度
字符串长度指令(SLEN)返回IN中的字符串的长度值。
字符串复制
字符串复制指令(SCPY)将IN中的字符串复制到OUT中。
字符串连接
字符串连接指令(SCAT)将IN中的字符串连接到OUT中 字符串的后面。
SM标志位和ENO
对于字符串长度、字符串复制和字符串连接指令,下列条件影 响ENO。
使ENO=0的错误条件:
表6--64 字符串长度指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
IN | STRING | VB、LB、*VD、*LD、*AC、字符串常数 |
OUT | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC |
表6--65 字符串复制和字符串连接
输入/输出 | 数据类型 | 操作数 |
IN | STRING | VB、LB、*VD、*LD、*AC、字符串常数 |
OUT | STRING | VB、LB、*VD、*AC、*LD |
从字符串中复制子字符串
从字符串中复制子字符串指令(SSCPY)从INDX的字符号开 始,将IN中存储的字符串中的N个字符复制到OUT中。
使ENO=0的错误条件:
表6--66 从字符串中复制子字符串指令
输入/输出 | 数据类型 | 操作数 |
IN | STRING | VB、LB、*VD、*LD、*AC、字符串常数 |
OUT | STRING | VB、LB、*VD、*LD、*AC |
INDX、N | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 |
实例:复制子字符串指令
字符串搜索
字符串搜索指令(SFND)在IN1字符串中寻找IN2字符串。从
OUT的起始位置开始搜索(必须位于1至字符串长度范围
内)。如果在IN1中找到了与IN2中字符串相匹配的一段字符,则
OUT中会存入这段字符中字符的位置。如果没有找到, OUT被清0。
使ENO=0的错误条件:
字符搜索
字符搜索指令(CFND)在IN1字符串中寻找IN2字符串中的任意字符。从OUT的起始位置开始搜索(必须位于1至字符串长 度范围内)。如果找到了匹配的字符,字符的位置被写入OUT 中。如果没有找到,OUT被清0。
重庆西门子S7-1500PLC代理商(价格实惠)