自动化工程师:入门必备,如何读取西门子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 位逻辑指令
相关问答
三菱PLC,STL指令到底怎么使用?
三菱plc、stl指令用法:扩展资料:三菱PLC,STL指令注意事项:1、STL指令不能与MC-MCR指令一起使用。2、在转换条件对应的电路中,不能使用ANB,ORB,MPS,MR...三.....
信捷PLCSTLST怎么使用?
stl是流程开始每个流程的开头都是写stlST和set对流程的操作有区别ST意思是不关闭本流程同时打开下个流程SET意思是关闭本流程同时打开写个流程具体你下...
诸位前辈有没有人能告诉我!信捷plcstl指令如何使用?信捷PLC...
PLC结构和工作原理。信捷PLC编程软件XCPPro安装和使用;程序流程指令,触点比较指令,数据传送指令,数据运算指令,数据移位指令,数据转换指令,浮点数运...
怎样提高PLC编程能力?
怎样提高PLC编程能力?所谓“天下文章一大抄”,想要提高PLC的编程能力,除了基础知识掌握以外,最有有效直接的方法,就是多去看看别人的程序,或者别的公司的...怎...
stl与scl区别?
STL和SCL是两种不同的数据存储格式,它们主要在以下几个方面存在差异:1.数据类型:STL是一种三角面片(TriangleMesh)格式,每个三角面片包括三个点和三个法...
台达Plc数组怎么用?
台达PLC的数据寄存器使用比较简单,没有数据类型的转换,整数浮点数都可以直接用D寄存器,比如LDM0.0LTMRT0D0TY0MOVK50D具体台达PLC的STL指令我忘了.....
pLc与pLC通讯要写程序,原pLC里的程序不会覆盖么?
就西门子的PLC而言,是这样的。通讯程序可以放很多个在PLC中,因为程序的执行是循环扫描的方式,当然在写通讯程序时,可以采用循环指令,减少代码量,通过循环和...
简单搬运机械手PLC程序?
用步进指令地址分配是:下降电磁阀YV1Y1SBX0夹紧电磁阀YV2Y2SQ1X1上升电磁阀YV3Y3...用步进指令地址分配是:下降电磁阀YV1Y1...
将PLC中的程序导出来?还有就是如何在线修改某个功能块?
两种情况:1,你电脑中没有程序,在SIMATICManager管理界面中一片空白,此时点击“可访问节点”即可在线,读取PLC内的程序,不可编辑,没有符号。2,你电脑中...两...
怎样将plc里的程序导入电脑中?
1.安装PLC编程软件:首先,你需要从PLC制造商或官方网站上下载和安装PLC编程软件。这个软件通常是专门为该型号或该品牌的PLC定制的。2.连接PLC和电脑:使用相...