西门子PLC学习笔记十三-(算术运算指令与控制指令)

今天在写一篇PLC的学习笔记,本篇将介绍PLC最基本的运算指令与控制指令,本篇将直接上截图。

1.基本算数运算指令

1)整数运算

2)长整数运算

3)实数运算

STL编程示例(16位整数的算术运算)

L	IW10	//将输入字IW10装入累加器1的低字
L	MW12	//将累加器1低字中的内容装入到累加器2的低字
			//将存储字MW12装入累加器1的低字
+I			//将累加器2低字和累加器1低字相加,结果保存到累加器1的低字中
+68			//将累加器1的低字中的内容加上常数68,结果保存到累加器1的低字
T	DB1.DBW25	//将累加器低字中的内容(结果)传送到DB1的DBW25中

2.扩展运算指令

3.程序控制指令

1)跳转指令

跳转指令即中断原有程序的执行顺序,跳转到目标地址处执行代码。一般目标地址由跳转指令后面的标号指定,即可向前跳也可向后跳,最大跳转距离为-32768到32767字间。

跳转指令分为:无条件跳转指令、多分支跳转指令、条件跳转指令

a)无条件跳转指令

无条件跳转指令,标号JU。其执行时,将直接中断当前程序,跳转到标号后面所指定的目标处。

示例:(当程序执行到跳转指令时将跳转到L1处执行)

b)多分支跳转指令

多分支跳转指令格式如下:

JL <标号>

如果累加器1低字中低字节内容小于JL指令和由JL指令所指定的标号之间的JU指令的数量,JL指令就会跳转到其中一条JU处执行,并由JU指令进一步跳转到目标地址;如果累加器1低字中低字节的内容为0,则直接执行JL指令下面的第一条JU指令;如果累加器1低字中低字节的内容为1,则直接执行JL指令下面的第二条JU指令;如果跳转的目的地的数量太大,则JL指令跳转到目的地列表中最后一个JU指令之后的第一个指令。

示例:

		L	MB0		//将跳转目标地址标号装入累加器1低字的低字节中
		JL	LSTx	//如果累加器1低字的低字节中的内容大于3,则跳转到LSTx
		JU	SEG0	//如果累加器1低字的低字节中的内容等于0,则跳转到SEG0
		JU	SEG1	//如果累加器1低字的低字节中的内容等于1,则跳转到SEG1
		JU	SEG2	//如果累加器1低字的低字节中的内容等于2,则跳转到SEG2
		JU	SEG3	//如果累加器1低字的低字节中的内容等于3,则跳转到SEG3
LSTx:	JU	COMM	//跳出
SEG0:	...			//程序段1
		JU	COMM	//跳出
SEG1:	...			//程序段2
		JU	COMM	//跳出
SEG2:	...			//程序段3
		JU	COMM	//跳出
SEG3:	...			//程序段4
		JU	COMM	//跳出
COMM:	...			//程序出口	

2)条件跳转指令

(JC使用的最多)

示例:(当I0.0、I0.1都为1时,跳转到L2,否则跳转到L1执行)

4.子程序调用指令

上面是STL指令,在梯形图中,将相应的图标拖入编辑区即可。

时间: 2024-11-05 18:31:58

西门子PLC学习笔记十三-(算术运算指令与控制指令)的相关文章

西门子PLC学习笔记十五-(数据块及数据访问方式)

一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的"存储器".FB的参数和静态变量安排在它的背景数据块中.

西门子PLC学习笔记二-(工作记录)

今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2.设计 使用西门子的Step7工具进行梯形图编程,完毕自己主动化控制. 使用西门子的WinCC5.5进行自己主动化人机界面的设计实现. 3.Step7进行编程的步骤 1)进行硬件组态 因为西门子的设备型号已经选定好,故依据实物的型号,先进行硬件组态,组态结果图例如以下: 注: 1.本图需和现场的实物连

西门子PLC学习笔记三(S7-300信号模块)

本篇为阳胜峰老师第二讲视频学习笔记 1.数字量模块 1)数字量输入模块 数字量输入模块将现场过程送来的数字信号电平转换成S7-300内部信号电平. A.数字量输入模块SM321(需要外接24V电源供电) SM321有四种类型的模块:直流16点输入.直流32点输入.交流16点输入.交流8点输入,其中常用的是直流的输入. 附图: B.数字量输出模块SM322(需要外接24V电源供电) 数字量输出模块SM322将S7-300内部信号电平转换成国产所要求的外表信号电平,可直接用于驱动电磁阀.接触器.小型

西门子PLC学习笔记十一-(装入与传送指令)

S7-300/400指令有:装入与传送指令.比较指令.算术运算指令.字逻辑运算指令.移位指令.逻辑控制指令.程序控制指令.主控指令等. 1.装入与传送指令(不能用于梯形图编程) 装入传送指令实现了各种数据存储区的数据交换,其凭借累加器来完成.装入指令标识符:L,传送指令标识符:T. s7-300PLC有2个32位的累加器,当执行装入指令(L)时,首先将累加器1中原有的数据移入累加器2中,累加器2中的原有内容被覆盖,然后将数据装入累加器1中:当执行传送指令(T)时,将累加器1中的数据写入目标存储区

西门子PLC学习笔记四-(控制三项异步电动机的启动停止)

本篇是学习S7-300的一个小程序,用于对PLC开发简单直观的认识. 1.三项异步电动机电路图 2.PLC控制接线图 从图中可以看出控制按钮接PLC 信号模块SM的I0.0.I0.1端口,输出信号从Q4.1输出 3.PLC SM模块选择 1)输入模块选择 SM321 DI32*24V 2)输出模块选择 SM322 DO32*AC120/230/1A 4.硬件组态图如下: 5.编辑符号变量 6.编写梯形图程序 7.编写程序 程序解释: sb1_start使用开路符号表示:当接通时整条线路都接通,默

西门子PLC学习笔记一(S7-300简介)

使用了Step7有几天了,现在系统的学习一下,现记录一下学习的内容. 1.S7-300硬件结构 S7-300或者S7-400的PLC是模块式的PLC,各种模块式相互独立的,分别安装在机架上.硬件结构如图: DI:数字量输入模块,DO:数字量输出模块,AI:模拟量输入模块,AO:模拟量输出模块 2.S7-CPU模块 S7-CPU模块可分为紧凑型.标准型.革新型.户外型.故障安全型.特种型CPU. CPU312C表示是紧凑型CPU: CPU313C-2DP表示集成了PROFIBUS-DP协议的紧凑型

西门子PLC学习笔记七-(位逻辑指令)

位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数为0,则常开触点"复位(断开)".常开触点使用的操作数是I.Q.M.L.D.T.C 2)常闭触点 在PLC中规定:操作数为1,则常开触点"动作(断开)":操作数为0,则常开触点"复位(闭合)".常开触点使用的操作数是I.Q.M.L.D.T.C 3)输

西门子PLC学习笔记五-(编程语言、数据类型)

1.编程语言 PLC的编程语言有STL(语句表).LAD(梯形图).FBD(功能块图).GRAPH(顺序功能图).SCL(结构化控制语言).HiGraph(图形编程语言).CFC(连续功能图)等.Step7中STL.LAD.FBD是基本的编程语言,并且在step7软件中可以进行自动转换. 2.数据类型 1)基本数据类型 2)复杂数据类型 复杂数据类型需要预先定义,其变量只能在全局数据块中声明,可以作为参数或逻辑块的局部变量. Step7中支持的类型有:数组.结构.字符串.日期.时间.用户自定义类

西门子PLC学习笔记十九-(FB编程)

FB块可被OB1调用多次,功能的所有形参和静态数据都存储在一个单独的.被指定给该功能块的数据块(DB)中,该数据块被称为背景数据块.当调用FB时,该背景数据块会自动打开,实际参数的值被存储在背景数据块中:当块退出时,背景数据块中的数据仍然保持. 下面通过案例设计介绍FB如何编写吧. 案例:目前有3个贮水箱,每个水箱有2个液位传感器,UH1.UH2.UH3为高液位传感器,"1" 有效:UL1.UL2.UL3为低液位传感器,"0"有效.Y1.Y2.Y3分别为3个贮水水箱