自动化工程师:入门必备,如何读取西门子PLC编程STL程序干货
此次着重在分享如何在西门子PLC编程软件中如何读取STL程序,让你如果在读程序时发现自己不明白的时候,可以采取哪些方式来解决!
1、转换成梯形图:快捷键Ctrl+1,当然大多数都转换不过去;
2、按下F1寻求帮助;
3、下载此程序到模拟器中,单步观察效果,看看哪些寄存器发生改变。
系统的逻辑错误造成的停机往往是由于提示错误前面的错误引起的。
DI和DB的区别
访问背景数据块时,使用DI:当然也可以使用DB访问背景数据块
DI的作用体现在:再单个FB里面词用了除背景数据块外的其他数锦块时可以用DB进行操作,面背景数据块可以使用DI进行操作。如图:
可以OPN DB#DBMS∥以后所有的DB操作均是对应DB4,而所有的D操作均对应DB433。
CDB交换数据块内容,例如把背景数据块里面的内容与共享数据块交换,可以访问共享数据块,进行操作处理。
这次分享的如何读取西门子PLC编程STL程序干货就是上面这些了。
以上,欢迎动动手分享及收藏!
S7-300400的STL语言入门:位逻辑指令及其编程方法
本文包含以下内容,高手绕行:
1、STL下的部分位逻辑指令
2、如何根据电路图或梯形图编写STL程序
3、逻辑运算的规则::先"与"(串联)后"或"并联
一、触点与线圈
触点分为常开触点和常闭触点,其在梯形图中表示如图1所示。
图1 梯形图中的触点与线圈
触点、线圈与RLO的关系如下:
· 常开触点,为0时,表示能流未流过该触点,RLO=0;为1时,表示有能流流过该触点,RLO=1;
· 常闭触点,与常开触点相反,0时RLO=1;状态为1时,RLO=0;
· 线圈或输出指令"="将RLO写入相应的地址位,即线圈的状态与当前RLO相同。
二、基本位逻辑指令
由不同触点经过串联、并联或者更复杂的电气连接,可实现很多简单却实用的逻辑控制功能。
1、串联逻辑
图2 触点串联(LAD)
如图2所示,为一个常开触点和常闭触点的串联逻辑梯形图。在STL中,用"A"(即AND,"与")表示常开点的串联;用"AN"(即AND NOT,"与非")表示常闭点的串联。因此,图2的逻辑,用STL描述如下:
图2.1 触点串联(STL)
2、并联逻辑
图3 触点并联(LAD)
如图3所示,为一个常开触点和常闭触点的并联逻辑梯形图。在STL中,用"O"(即OR,"或")表示常开点的并联;用"ON"(即OR NOT,"或非")表示常闭点的并联。因此,图3的逻辑,用STL描述如下:
图3.1 触点并联(STL)
三、位逻辑指令的嵌套
所谓"位逻辑指令的嵌套"是指由基本位逻辑指令"A"、"O"、"AN"、"ON"等,和嵌套指令"(" 及 ")"组合而成的指令,用以编程描述由基本的串、并联组成的复杂的混联逻辑指令。
复杂的逻辑运算采用的规则是:先"与"(串联)后"或"并联 。在初学STL时,可以通过假设中间逻辑,将复杂的逻辑拆分为简单的串联或并联逻辑,以方便编程。下面举几个简单的例子加以说明。
为方便说明,在逻辑表达式中"&"表示"与"、"&N"表示"与非"、"|"表示"或"、"|N"表示"或非"。
1、先"并联"、再"串联"
图4 混联逻辑1:先"并联"后"串联"(LAD)
图4的混联逻辑,由两个并联组件(红框和蓝框)再经由串联后,将逻辑结果赋值给Q3.0。我们可以令:
则:
将(1)、(2)代入(3)得:
因为,逻辑运算的规则是"先与后或" ,因此,(4)不可继续化简。根据(4)即可写出与图4相应的STL逻辑,如图4.1所示。
图4.1 混联逻辑1:先"并联"后"串联"(STL)
2、先"串联"、再"并联"
图5 混联逻辑2:先"串联"后"并联"(LAD)
图5的混联逻辑,由两个串联组件(红框和蓝框)再经由并联后,将逻辑结果赋值给Q4.0。我们可以令:
则:
将(1)、(2)代入(3)得:
因为,逻辑运算的规则是"先与后或" ,因此,(4)中的"括号"是不必须的,即(4)的逻辑运算结果等价于:
由表达式(4)、(4.1)写出的STL如图5.1所示。
图5.1 混联逻辑2:先"串联"后"并联"(STL)
由图5.1可见,通过表达式(4.1)写出的STL语句更为简洁、精炼。因为,我们在编程中,要时刻牢记逻辑运算的铁则:先"与"(串联)后"或"并联 。
3、更为复杂的逻辑
图6 混联逻辑3
在实际应用中,我们可能遇到更为复杂的逻辑运算,比如如图6所示。利用"化繁为简" 的方法,找出其"线圈"与"触点"之间的逻辑关系后,自然可以写出其对应的STL程序。
图6对应的STL语句这里就不给出了,有兴趣的小伙伴不妨可以试着分析一波。
附录:(介绍几个文中提到的概念)
1、能流的概念
"能流"是梯形图中,为方便理解和描述一段程序而提出的一个虚拟概念。左右母线看做是一个直流电源的正负极,左母线是正极,右母线是负极。电流沿着梯形图,从左母线流到右母线,形成一条回路,这里所谓的"电流"就是"能流"。如图1,绿色部分为能流的走向。
附图1 "能流"及其概念
2、状态字寄存器
S7系列PLC中,维护着一个16位的状态字寄存器(如图2所示),用于存储CPU执行指令时的状态。状态字中的某些位用于决定某些指令是否执行以及以什么样的方式执行,同时,指令在执行时可能改变状态字中的某些位。本文,主要用到"RLO"位。
附图2 状态字寄存器
RLO,(Result of Logic Operation),即:逻辑运算结果位。用来存储位逻辑指令、比较指令的执行结果,可以用RLO触发跳转指令。
3、位逻辑指令一览
附图3 位逻辑指令
相关问答
西门子300PLC的stl程序?
是编程语言的名字或者说编程语言的格式,也就是编程方式。西门子300的编程软件STEP7支持七种编程语言分别是:LAD,STL,SCL,CFC,GRAPH,HIGRAPH,FBD。其中标准安装...
PLC的STL程序由什么组成?
STL主要由容器迭代器仿函数算法分配器配接器组成STL主要由容器迭代器仿函数算法分配器配接器组成
三菱PLC的STL指令怎么使用?
三菱PLC的STL指令是一种结构化文本语言,可用于编写程序。其使用方法如下:根据需要编写STL指令。在编写STL指令时,需要注意语法的正确性,确保指令能够被正确...
西门子300系列plc如何用stl编写程序?
stl语言可读性比较差,你可以在portal帮助中找到stl的信息,比较全面。希望对你有帮助。建议多学习SCL语言,这种语言可以在博途程序中轻松实现版本的升级和降级...
三菱PLC,STL指令怎么用的?
三菱plc、stl指令用法:(1)STL触点与母线相连,与STL触点相连的起始触点应使用LD或LDI指令。即使用STL指令后,LD点移至STL触点的右侧,一直到出现下一条STL...
三菱plc的stl指令怎么编写的,stls0,新手求助?
STL为步进接点指令,其功能为接点驱动,标示一个状态的开始,激活其后面的步进程序。输入方式为:F8快捷键,STL空格S0,回车OKSTL为步进接点指令,其功能为接点驱动...
三菱plc中stls0怎么输入?
你好,在三菱PLC编程软件中,STLS0指的是将指定的位设为0的指令。输入方式如下:1.在程序编辑窗口中,选择需要输入STLS0指令的地方。2.在指令栏中选择STLS0...
stl基本指令的用途?
STL(StandardTemplateLibrary)是一个包含许多常用实用工具的程序库,用于C++编程语言。它包括了各种容器(例如向量、队列、栈、集合和映射等)以及标准算法...
三菱PLC中STL指令怎么写?
STL指令用于将一个寄存器或标志位的内容设为1,格式为STLPn.0(其中n为PLC中I/O模块的编号,0为该模块中的第一个输出点),如STLP0.0表示将I/O模块0中的第一个...
三菱PLC,STL指令到底怎么使用?
三菱PLC的STL指令是一种结构化文本语言,可用于编写程序。其使用方法如下:根据需要编写STL指令。在编写STL指令时,需要注意语法的正确性,确保指令能够被正确...