码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-12 14:41:04      阅读:258      评论:0      收藏:0      [点我收藏+]

标签: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指令,在梯形图中,将相应的图标拖入编辑区即可。




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

标签:plc

原文地址:http://blog.csdn.net/fengshuiyue/article/details/42641421

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!