西门子plc指令大全,西门子PLC中的STL和SCL指令

1,西门子PLC中的STL和SCL指令STL有点类似汇编语言 , 和机器码对应,无论哪种语言写的PLC程序都可以转换成STL查看,所以掌握基本的STL指令和语法是很有帮助的 。另外STL直接操作寄存器,实现同样功能时可以减少运算量和寄存器调用次数,并且只关心数据类型的长度(例如不区分int和word),减少了数据类型转换,总的来说执行效率高,但实现复杂运算和逻辑时编程繁琐 。SCL类似于高级语言Pascal、C之类,可以通过简单的语句实现复杂的功能,逻辑清晰,在复杂数据类型的处理上也非常方便 , 虽然理论上执行效率比STL低,但实际一般不会有明显的影响 。另外 , 在同一个FC或FB中,STL可以和梯形图混合使用 , 而SCL编写的FC或FB不能混合其他语言
2,西门子PLC 指令西门子PLC基本指令功能介绍一、标准触点 LD、A、O、LDN、AN、ON、 LD,取指令 。表示一个与输入母线相连的常开接点指令,即常开接点逻辑运算起始 。LDN,取反指令 。表示一个与输入母线相连的常闭接点指令 , 即常闭接点逻辑运算起始 。A,与指令 。用于单个常开接点的串联 。AN , 与非指令 。用于单个常闭接点的串联 。O,或指令 。用于单个常开接点的并联 。ON,或非指令 。用于单个常闭接点的并联 。二、正、负跳变 ED、EU ED,在检测到一个正跳变(从OFF到ON)之后 , 让能流接通一个扫描周期 。EU,在检测到一个负跳变(从ON到OFF)之后 , 让能流接通一个扫描周期 。三、输出 = =,在执行输出指令时,映像寄存器中的指定参数位被接通 。四、置位与复位指令S、R S , 执行置位(置1)指令时,从bit或OUT指定的地址参数开始的N个点都被置位 。R,执行复位(置0)指令时 , 从bit或OUT指定的地址参数开始的N个点都被复位 。置位与复位的点数可以是1-255,当用复位指令时,如果bit或OUT指定的是T或C时 , 那么定时器或计数器被复位,同时当前值将被清零 。五、空操作指令NOPNOP指令不影响程序的执行,执行数N(1-255) 。【西门子plc指令大全,西门子PLC中的STL和SCL指令】
3,西门子plc的常用指令1、串联电路块的并联连接指令OLD2、并联电路的串联连接指令ALD 3、输出指令 = 4、置位与复位指令S、R 5、跳变触点EU,ED20个基本指令:LD:取指令(常开触点)LDI:取反指令(常闭触点)AND:串指令(常开触点)ANI:串反指令(常闭触点)OR:并指令(常开触点)ORI:并反指令(常闭触点)ORB:并块指令ANB:串块指令MPS:进栈指令MRD:读栈指令MPP:出栈指令PLS:上跳沿微分指令PLF:下跳沿微分指令MC:主控指令MCR:主控复位指令NOP:空指令OUT:输出指令END:结束指令你应该是初学者,建议买本教材 , 因为常用指令也有很多,主要是一些位指令,定时器,计数器等等dec-w字递减指令ac1 in out vw100 把ac1中的数字递减后其结果放到vw100
4,西门子PLC SCL编程指令讲解在SCL程序编写中,在逻辑控制或者数据处理分析中 , 有一类指令我们用得最多,就是程序控制指令,常见的入IF ,Case ,For 和While 等 。下面我仔细的讲解 , 有疑问可以留言提出:图1 程序控制指令IF .. THEN 指令IF 指令含有含有三个分支,分别是Then ,Else 和ElsIF 。图2 IF 语句图3 浮点数比较条件IF语句应该是SCL里面最常用的语句了,常用于条件判断 。判断类型可以是BOOL类型 , 可以是浮点类型等等,基本上所有类型都可以判断,只要比较的两个变量类型是一样 。在图2中,AByte 是Byte 类型,因为1在0..255之间,所以1会自动转化为Byte类型 。如果比较的是Abyte类型是256,会是什么样子呢?读者可以自己写的程序,试验一下,看看结果,会加深你对数据类型的理解 。上面程序中 , 首先比如AByte是否和1相等,如果相等则Outvalue的值为1,然后和2比较,如果和2相等 , 那么OuValue值为2,如果都满足条件OuValue 的输出值则为5 。上述的IF条件语句,也可以用CASE语句来进行表示 。CASE的比较类型没有IF 范围广 , 只有整形才能做为比较条件 。CASE指令图4 IF语句的CASE表达方式从CASE语句表述中,我们发现语句相对于IF表达式来说 , 更加清晰简单明了 , 所以如果需要用到整形条件作为判断,尽量用CASE来实现,会提高效率 。FOR 指令FOR指令常用来对数组类型数据进行批量处理 , 在上一期讲解中已经举过一个例子,下面举个稍微复杂点的例子 。图5 FOR循环语句在FOR程序,我们对数组的每一个索引值进行赋值,同时判断索引值的奇偶性来进行赋值操作 。图6 FOR循环语句2在上面的程序里面 , 我们发现有一个关键字Continue .当FOR循环执行到该语句的时候,Continue下面的程序都不会执行 。所以,当iCout小于15的时候 , AArray[iCount]:=iCount赋值语句不会执行 。还有一个地方有点区别,就是FOR 语句后面,多了一个关键字 BY。BY的含义是For 执行的间隔按照BY的设定来执行 。如果后面设定为1,则0..99全部执行;如果设定为2,则执行顺序为0,2,4,6,8的顺序来执行 。上述的FOR循环语句,我们同样可以采用WHILE循环来实现 。WHILE 指令图7 WHILE指令WHILE循环的表达方式和FOR循环基本类型 , 但是我们注意一点,这里面对循环变量,手动进行进行递进 。如果没有这一句,iCount的值一直为0,循环条件iCount<100将一直为True,WHILE循环会一直执行 。所以切记一定执行该语句 。我们还注意到一个关键字EXIT,当执行到该指令的时候 , WHILE循环会停止执行 , FOR指令也是一样 。所以上面的程序,运行下来的情况是,数组的赋值只执行到AArray[81]结束 。GOTO指令goto指令主要用来执行跳转过程,可以带来程序操作的便利性,一般不推荐使用 。若操作不当 , 则会打乱整个程序的逻辑性 。在图7 中,如果iCount 大于90 , 那么,程序就会跳出WHILE 循环执行指定标签lable13地方程序#iCount=0,继续从头开始执行WHILE循环 。当然这个操作是毫无意义的,这里只是举个例子而已 。5 , PLC编程问题用西门子指令程序是基于西门子S7-200PLC,I0.0为启动按钮,Q0.0~Q0.3分别是1~4号电机 。程序如下:网络1LD启动:I0.0EUSS0.0, 1MOVW0, VW2000网络2LDS0.0LPSTONT37, 300EUS电机1号:Q0.0, 1S电机3号:Q0.2, 1LPPAT37EUSS0.1, 1RS0.0, 1网络3LDS0.1LPSTONT38, 300EUS电机2号:Q0.1, 1S电机4号:Q0.3, 1R电机1号:Q0.0, 1R电机3号:Q0.2, 1LPPAT38EUSS0.2, 1RS0.1, 1INCWVW2000网络4LDS0.2LPSAWEUR电机2号:Q0.1, 1R电机4号:Q0.3, 1RS0.2, 1SS0.0, 1LPPAW>=VW2000, 5EUSS0.3, 1RS0.2, 1网络5LDS0.3LPSTONT39, 300EUS电机1号:Q0.0, 1S电机3号:Q0.2, 1LPPAT39EUR电机2号:Q0.1, 1R电机4号:Q0.3, 1SS0.0, 1RS0.3, 1MOVW0, VW2000用震荡电路梯形图这里画不出来单独写计时程序,画出梯形图,调用 。1.你是在用200?在200的编程软件内输入一个seg指令框 , 然后选中它,然后按下f1就会出现帮助 。2.假如你把需要输出的数据直接输出到了qb0,那么qb0就可以连接数码管引脚,使数码管输出 。但是你得考虑一个问题:你的数码管是不是可以接受24v的电压?如果可以那么直接接上就没问题 , 如果不能接受24v电压,那么你得想办法把电压降低6,西门子Plc有哪些功能指令西门子PLC除基本逻辑运算指令、定时、计数等常用的开关量控制指令外,还包括大量的用于字节、字、双字逻辑处理,数学运算,程序控制,通信等指令 。这些指令可以为用户的PLC功能开发、编程、使用提供方便,因此,习惯上将其称为功能指令 。一个PLC可以使用的功能指令数量有所不同 , 从某种程度上说 , 功能指令反映了CPU功能的强弱 。为了分别说明,本书对S7系列PLC的功能指令作了如下分类与定义:(1)字节、字、双字逻辑处理指令字节、字、双字逻辑处理指令是指以字节、字或双字的形式进行的逻辑运算与处理,包括字节、字或双字的“与”、“或”、“异或”、“取反”运算等 。(2)比较指令比较指令是对两个存储器内容或数据的比较,通常以字节、字或双字的形式进行 。比较方式可以是“大于”、“小于”、“等于”、“大于等于”、“小于等于”、“不等于”等,比较结果将以二进制位的形式输出 。(3)装载、传送与移动指令装载、传送与移动指令用于存储器间的内容交换,通常以字节、字或双字的形式进行 。在本书中,对装载、传送与移动的定义如下:装载:是指将存储器的内容或者特定的数据读入到累加器或地址寄存器中;传送:是指将累加器或地址寄存器的内容移动到指定的存储器中;移动:是指将某一存储器的内容或特定的数据移动到另一存储器中 。(4)移位指令移位指令是对存储器本身内容所进行的调整,通常以字节、字或双字的形式进行 。移位指令有左移、右移、循环移动等形式 。(5)代码转换指令代码转换指令是指将一个存储器的存储内容以其他代码的形式存储到指定储器中的操作,通常以字节、字或双字的形式进行 。常见的代码转换有二进制与BCD码间的转换、ASCII码与二进制数间的转换等 。(6)数学运算指令代码转换指令是指将两个存储器间的内容进行四则运算、函数运算、增减“l”等处理后,移动到指定存储器中的操作 , 通常以字节、字或双字的形式进行 。常见的代码转换有二进制与BCD码间的转换、ASCII码与二进制数间的转换等 。(7)程序控制指令程序控制指令是指改变PLC内部指令的执行过程或PLC运行状态的操作 。常见的有程序结束、程序跳转、程序中断、程序停止等 。(8)通信指令程序控制指令是指用于控制PLC与外部设备间数据交换(通信)的指令 。常见的有数据发送、数据接收等以上指令在PLC中的具体数量、用法等可能有所区别,应注意实际使用的PLC型号 。此外,对于具体某一型号的PLC,还可能有其他特殊的功能指令 。你可以查看我们的其他文章或通过站内搜索得到 。如果想了解更多西门子plc资料请留意http://www.oyesplc.com/

    推荐阅读