西门子200PLC中顺序控制指令的简单讲解
西门子200的PLC编程软件Micro/win中是配置有实现顺序控制功能的指令的,因为我个人也也很少用,最近有个项目想使用这个方法,就研究了一下,顺便给小伙伴们分享一下。其实,我最终还是使用的很多set/reset指令去做的程序,不过喜欢用哪种方式,还是看个人的爱好,不过还是发出来让想用的朋友们了解一下!
先看一下西门子200中顺序控制的指令吧:
顺序控制的3个指令
如图,红框中是梯形图编程时候指令树下的程序控制指令中的3个指令。来看一下这3个指令的大概意思:
SCR是装载顺序继电器,作为顺序控制段的段首,也就是开始顺序控制。
SCRT是转换,就是条件转换的意思,从一个顺序继电器转换到另外一个顺序继电器。
SCRE是结束顺序控制。
指令大概了解了,就来看一段程序吧:
程序的第一段监控截图
该图片上网络1我用M0.0去置位S0.0,目前大家看到S0.0不为1,是因为被网络5的SCRT指令转换了,S0.0就自动被复位为0了。从下边的图片可以看到, S0.0为0,而S0.1为1了,就是已经转换了。
程序执行第一段时的监控状态图
从这个图片上还可以看到更多的信息,就是M10.0为1,而Q0.0不为1; Q0.0不为1,所以T1就没有再计时了。原因是什么呢?就是前一个图片上我写的,S0.0=1的时候,SCR和SCRE那段之间的程序才能被执行;现在S0.0=0了,中间的这段程序就不能被执行了。--这就是和300PLC或者其他PLC中顺序控制的作用一样的地方了。
接着往下边看程序:
如下图,上边说SCRT转换指令使得S0.0被复位,而S0.1被置位,就使得网络7和网络9之间的程序处于可以执行状态。我把M0.2设置为1,Q0.1和Q0.2就输出了。
当S0.1为0的时候,即使M0.2的值为1,Q0.1和Q0.2依然是无法输出的。
程序的后一段监控截图
程序讲完了,再来说一些使用中的约束
约束1: 在西门子200micro\win中编程的时候,一般是要求母线和后边的指令之间是必须要有一个接点指令的,所以我们常常要使用SM0.0。但是,SCR和SCRE指令是个例外,以及LBL和NEXT指令,它们可以直接接母线,而中间不能有其他指令,否则将出现编译错误!如下图:
SCR和SCRE指令必须直接接母线
约束2: 这3个顺序控制继电器指令的操作数只能是S区,注意不是SM,如果你指定的操作数是V区或者M区,总之不是S0.0这样的顺序控制继电器,直接会显示红色波浪线提示错误。
约束3: SCRT转换指令应该写在前一个顺控的SCRE结束指令之前,否则会出现非致命错误,导致无法下载。这个是可以理解的,因为如果前一个顺控结束了,还何谈转换呢?
如下图,我把结束指令SCRE本应该写在网络7的,提取到网络5,就是在SCRT指令之前。
SCRT指令如果在SCRE指令之后程序无法下载
在下载的时候,就出现了如下的错误,这错误是和未下载之前在输出窗口输出的编译错误是不同的。这种情况是编译时候输出窗口没有报错,而下载的时候报错的!
下载是提示非致命错误
至此,文章就结束了,实现顺序控制的编程方法多种多样,但是主流的PLC都配置有顺序控制的专门指令,西门子200也不例外。希望通过本文,能让想使用顺序控制专用指令的小伙伴对西门子200PLC中的编程有更多了解。
感谢阅读,如果觉得对你有帮助请关注,如果有问题请关注+留言,谢谢!
西门子PLC STL编程指令中英文对照表,收藏备用!
1、LD ( Load 装载 ) :动合触点
2、LDN ( Load Not 不装载 ) : 动断触点
3、A ( And 与 动合) : 用于动合触点串联
4、AN ( And Not 与 动断 ) :用于动断触点串联
5、O ( Or 或 动合 ) :用于动合触点并联
6、ON ( Or Not 或 动断 ) : 用于动断触点并联
7、= ( Out 输出 ) :用于线圈输出
8、OLD ( Or Lode): 块或
9、ALD ( And Lode): 块与
10、LPS ( Logic Push ) :逻辑入栈
11、LRD ( Logic Read ) :逻辑读栈
12、LPP ( Logic Pop ) :逻辑出栈
13、NOT ( not 并非 ) :非
14、NOP ( No Operation Performed ) : 无操作
15、AENO ( And ENO ) :指令盒输出端ENO相与
16、S ( Set 放置 ) : 置1
17、R ( Reset 重置,清零 ) :清零
18、P ( Positive) :上升沿
19、N ( Negative) :下降沿
20、TON ( On_Delay Timer ) :接通延时定时器21、TONR ( Retentive On_Delay Timer ) : 有记忆接通延时定时器
22、TOF ( Off_ Delay Timer ) :断开延时定时器
23、CTU ( Count Up ) : 增计数器
24、CTD ( Count Down ) : 减计数器
25、CTDU ( Count Up/ Count Down ) :增减计数器
26、ADD ( add 加 ) : 加注意
//ADD_I (_ I 表示整数)
ADD_DI( DI表示双字节整数)
ADD-R (R 表示实数)
它们都是加运算只是数的大小不同。
27、SUB ( Subtract 减去,减少) :减
28、MUL ( Multiply ) : 乘
29、DIV ( Divide ) : 除
30、SQRT ( Square root ) : 求平方根
31、LN ( Napierian Logarithm 自然对数 ) : 求自然对数
32、EXP ( Exponential 指数的 ) :求指数
33、INC_B ( Increment 增加 ) :增1
//其中_B代表数据类型 还有W(字节)、DW双字后面几个都是这样的。
34、DEC_B ( Decrement 减少 ) :减1
35、WAND_B ( Word and 与命令 ) :逻辑与
36、WOR_B ( Word or 或命令) : 逻辑或
37、WXOR_B ( Word exclusive or 异或命令) :逻辑异或
38、INV_B ( Inverse 相反 ) : 取反
39、MOV _B ( Move 移动 ) :数据传送
40、BLKMOV_B ( Block Move 块移动) :数据块传送
41、SWAP ( Swap 交换 ) :字节交换
42、FILL ( Fill 填充 ) :字填充
43、ROL_B ( Rotate Left 循环 向左) :循环左移位
44、ROR_B ( Rotate Right 循环 向右) : 循环右移位
45、SHL_B ( Shift Right 移动向左) :左移动
46、SHR_B ( Shift Right 移动向右 ) :右移动
47、SHRB ( Shift buffer 移动缓存) :寄存器移位
48、STOP ( Stop 停止 ) :暂停
49、END /MEND ( End /Mend ) : 条件/无条件结束
50、WDR ( Watch dog reset ) :看门狗复位
51、JMP ( Jump 跳) :跳转
52、LBL ( Label 位置 ) :跳转标号
53、FOR ( For 循环 ) :循环
54、NEXT ( Next 再下去) :循环结束
55、SBR ( Subprogram Regulating子程序控制 ) : 子程序调用
56、SBR_T ( Subprogram Regulating Take ) : 带参数子程序调用
57、SCR ( Sequence Control 顺序控制 ) : 步开始
58、SCRT ( Sequence Control Transfer 顺序控制转移 ) : 步转移
59、SCRE ( Sequence Control End 顺序控制结束 ) : 步结束
60、AD_T_TBL ( Add data to table 添加数据到表格中) :填数据表
61、FIFO ( First in First out 先进先出 ) :先进先出
62、LIFO ( Last in First out 后进先出 ) :后进先出
63、TBL_FIND ( Table Find 表格查找 ) :表查找
64、BCD_I ( Binary Coded Decimal _I 二进制编码的十进制 ) :BCD 码转整数
65、I_BCD ( I_ Binary Coded DecimaL ) :整数转BCD码
66、B_I ( Bit to int ) :字节转整数
67、I_B ( int to bit ) :整数转字节
68、DI_I ( Double int to int ) :双整数转整数
69、I_DI ( int to double int ) :整数转双整数
70、ROUND ( Round 取整 ) : 实数转双整数
71、TRUNC ( Trunc 截取 ) :转换32位实数整数部分(舍去小数取整)
72、DI_I (double int to int ) :双整数转实数
73、ENCO ( Encode 编码) :编码
74、DECO ( Decode 译码) :译码
75、SEG ( Segment decoder分断译码器 ) : 七段显示译码器
76、ATH ( ASCII码 turn hex ) : ASCII码转16进制
77、HTA ( Hexadecimal to ascii) : 16进制转ASCII码
78、ITA ( // int to ascii) : 整数转ASCII码
79、DTA ( // double int to ascii ) : 双整转ASCII码
80、RTA ( // real to ascii) : 实数转ASCII码
81、ATCH (//attach ) : 中断连接
82、DTCH ( Depatch ) : 中断分离
83、HDEF ( High speed counter definition ) : 高速计数器定义
84、HSC ( High Speed Counter 高速计数器 ) :启动高速计数器
85、PLS ( Pulse 脉冲 ) :脉冲输出
86、READ_ RTC ( Read real time clock 读实时时钟 ) :读实时时钟87、SET_RTC ( Set real time clock ) : 写实时时钟88、XMT ( Transmitter ) : 自由发送
89、RCV ( Receive 接收 ) : 自由接收
90、NETR ( Net read 网络读 ) : 网络读
91、NETW ( Net write 网络写 ) : 网络写
92、GET_ADDR ( Get address 获取地址 ) : 获取口地址
93、SET_ADDR ( Set address 设置地址 ) : 设定口地址
94、PID ( Proportional Integral Differential 比例、积分、微分 ) :比例积分微分调节器。
来源:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?
操作指引如下!
相关问答
西门子200scr是什么指令?
西门子200SCR是一个控制器的指令。它是西门子STEP7软件中可编程逻辑控制器(PLC)的指令之一,用于操纵SCR(可控硅)电路。SCR是一种电子元件,具有控制电流的...
dhscr是什么指令?
dhscr是三菱高速计数器复位指令。dhscr指令,C241为带复位输入的高速计数器,它的脉冲计数端是X0,复位端是X1,那么当X1接通时,C241复位为,当X1断开后,又重...
ctu在程序中什么意思?
PLC编程指令:TONR有记忆接通延时增计数器(CTU)顺序状态转移指令:当SCRT指令的输入端有效时,一方面置位下一个SCR段的状态器,已便使下一个SCR段开...
S7-200的PLC可以用S7-graph编程吗?
不能,S7-graph语言是附加在S7-STEP上的顺序执行编程语句,如果你用西门子S7-200的话,用STEP7-Micro/WIN,里面有自带的顺序控制继电器SCR,类使用S7-graph,可.....
变频器主要预置了哪些功能?有什么作用?
变频器是利用电力半导体器件的通断作用将工频电源变换为另一频率的电能控制装置。简单说变频器是电源转换装置。也可以通俗理解为把工频电源(50Hz或60Hz)变换成各...
各位大佬!急需!!东凤西门子PLC编程培训地方,西门子PLC编程...
[回答]有需要的可以在网上找一下他们的官方网站深入去了解一下。火炬开发区有一家专门是培训数控编程的学校,可以去了解下。可以去看看,他们是专门教数控...
前辈们,在线等 上海放心选购钢坯在线连续加热设备有哪些,...
[回答]由间歇精馏中得知:间歇精馏时,馏出液的浓度是随蒸馏操作的进行而改变,为了使馏出液的浓度不变,则可用连续精馏工艺来解决。典型的连续精馏流程是这...
在线的资深人士在线等AI-3502MSCR三相电力调整器公司,SCR...
[回答]三相调压器又称晶闸管电力调整器、可控硅电力调整器或简称电力调整器。主要工作原理是将四层三端半导体器件,接在电源和负载中间,配上相应的触发控...
灯具的以下安装标识为何种安装方式?W:CS:SW:R:请给予解答...
[回答]灯具安装方式标识为W:壁装式CS:顶棚内嵌入式SW:直附式R:嵌入式C:吸项式
行家们 帮忙答一下 50Hz三相调压器技术参数是多少?
[回答]“三相调压器”又称“晶闸管电力调整器”“可控硅电力调整器”或全称“电力调整器”。“晶闸管”又称“可控硅”(SCR)是一种四层三端半导体器件,把...