10-STEP7-300-400的编程语言与指令系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.装入时间值或计数值
L T5 //将定时器T5中的二进制时间值装入累加器1的低字中
LC T5 //将定时器T5中的BCD码格式的时间值装入累加器1低字中
L C3 //将计数器C3中的二进制计数值装入累加器1的低字中
LC C16 //将计数器C16中的BCD码格式的值装入累加器1的低字中
6.地址寄存器的装入与传送指令
可以不经过累加器1,与地址寄存器AR1和AR2交换数据。
下面是应用实例:
LAR1 DBD20 //将数据双字DBD20中的指针装入AR1
LAR2 LD180 //将局域数据双字LD180中的指针装
入AR2
LAR1 P#M10.2 //将带存储区标识符的32位指针常数
装入AR1
LAR2 P#24.0 //将不带存储区标识符32位指针常数装入AR2
TAR1 DBD20 //AR1中的内容传送到数据双字DBD20
TAR2 MD24 //AR2中的内容传送到存储器双字
MD24
梯形图中的传送指令:
I0.1
MW
图3-50 传送指令
A I1.0
JNB _001 //如果I1.0 = 0,则跳转到标号_001处
L MW2 //MW2的值装入累加器1的低字
T MW4 //累加器1低字的内容传送到MW4
SET //将RLO置为1
SA VE //将RLO保存到BR位
CLR //将RLO置为0
_001: A BR
……
如果功能被正确执行,BR位为1,ENO也为1。
3.5.2 比较指令
比较指令用于比较累加器1与累加器2中的数据大小,被比较的两个数的数据类型应该相同。
如果比较的条件满足,则RLO为1,否则为0。
状态字中的CC0和CC1位用来表示两个数的大于、小于和等于关系(见表3-7)。
表3-7 指令执行后的CC1和CC0
表3-8 比较指令
?可以是==, <>, >, <, >=, <=。
下面是比较两个浮点数的例子: L MD4
//MD4中的浮点数装入累加器1 L 2.345E+02
//浮点数常数装入累加器1,MD4装
入累加器2 >R
//比较累加器1和累加器2的值 = Q4.2
//如果MD4 > 2.345E+02,则Q4.2为1
梯形图中的方框比较指令可以比较整数(I )、双整数(D )和浮点数(R )。
方框比较指令在梯形图中相当于一个常开触点,可以与其他触点串连和并联。
IN1IN2
CMP<=I
I0.6
Q4.1MW 2MW 4
图3-51 比较指令
S
I0.3
表3-9 数据转换指令
sxxx
1615
31图3-53 7位BCD码的格式
个位
十位百位千位万位十万位百万位符号位1111
15图3-52 3位BCD码的格式
个位
十位百位符号位1000
0110
0010
下面是双整数转换为BCD 码的例子: A I0.2 //如果I0.2为1
L MD10 //将MD10中的双整数装入累加器1 DTB //将累加器1中的数据转换为BCD 码,结果仍在累加器1中 JO OVER //运算结果超出允许范围(OV =1)则跳转到标号OVER 处 T MD20
//将转换结果传送到MD20
A M4.0
R M4.0 //复位溢出标志
JU NEXT //无条件跳转到标号NEXT 处 OVER: AN M 4.0
S M4.0 //置位溢出标志
NEXT: ……
【例3-5】 将101英寸转换为以厘米为单位的整数,送到MW0
中。
L
101
//将16位常数101(65H)装入累加器1
ITD //转换为32位双整数 DTR //转换为浮点数101.0
L
2.54
//浮点数常数2.54装入累加器1,累加器1
的内容装入累加器2
*R
//101.0乘以2.54,转换为256.54厘米 RND
//四舍五入转换为整数257(101H)
T
MW30
7.取反与求补指令
表3-12 取反与求补指令
图3-55 取反与求补指令EN IN
ENO INV_DI
OUT
EN IN
ENO NEG_I
OUT
L MD20
//将32位双整数装入累加器1 NEGD //求补
T
MD30
//运算结果传送到MD30
表3-13 取反与求补。