电动机功率 | 3kW | 外形尺寸 | 2mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 2kg |
全新的西门子S7-200SMART带来两种不同类型的CPU 模块,标准型和经济型,*满足不同行业、不同客户、不同设备的各种需求。标准型作为可扩展CPU 模块,可满足对I/O 规模有较大需求,逻辑控制较为复杂的应用;而经济型CPU 模块直接通过单机本体满足相对简单的控制需求。
![]() |
参考价 | ¥300 |
订货量 | 1 件 |
更新时间:2019-09-17 13:50:17浏览次数:550
联系我们时请说明是化工仪器网上看到的信息,谢谢!
北京西门子S7-1200系列PLC代理商价格
西门子S7-300 PLC的数据转换指令
转换指令将累加器1中的数据进行类型转换,转换的结果仍在累加器1中。能够实现的转换操作有:BCD码和整数及长整数间的转换,实数和长整数间的转换,数的取反、取负,字节扩展等。
在STEP 7中,整数和长整数是以补码形式表示的。BCD码数值有两种:一种是字(16位)格式的BCD码数,其数值范围从-999到+999;另一种是双字(32位)格式的BCD码数,范围从-9999999到+9999999。
1.BCD和整数转换指令
(1) BTI指令
说明:将累加器1低字中的3位BCD码数转换为16位整数,装入累加器1的低字中(0~11位);低字的位(15位)为符号位,12~14位未用,一般取与符号位相同的数。累加器1的高字的内容不变。指令执行过程如图4-43所示。
(2) BTD指令
说明:将累加器1中的7位BCD码数转换为32位整数,装入累加器l中(0~27位);高位(31位)为符号位,28~ 30位未用,一般取与符号位相同的数。
图4-43 BTI指令执行过程
在执行BCD码转换为整数或长整数指令时,如果BCD数是无效的(其中的一位值在10~ 15之间),将得不到正确的转换结果,并导致系统出错,有下述之一事件发生:CPU进入STOP状态,“BCD转换错误”信息写入诊断缓冲区;如果OB121已经编程就调用。
(3) ITB指令
说明:将累加器1低字中的16位整数转换为3位BCD码数,16位整数的范围是-999~+999。如果欲转换的数据超出范围,则有溢出发生,同时将状态字中的溢出位OV和溢出保持位OS置位。
累加器1的低字中(0~11位)存放三位BCD码。15位作为符号位。累加器1高字(16~ 31位)不变。
[例4-12] ITB指令应用,执行过程如图4-44所示。
L MW 10
ITB
T MW20
图4-44 ITB指令执行过程
(4) lTD指令
说明:将累加器1低字中的16位整数转换为32位整数,结果仍在累加器1中,符号位被扩展。
[例4-13] ITD指令应用,指令执行过程如图4-45所示。
L MW 10
T MW20
图4-45 ITD指令执行过程
(5) DTB指令
说明:将累加器1中的32位整数转换为7位BCD码数。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS置位。
累加器1中(0~27位)存放7位BCD码。第31位作为符号位。
[例4-14] DTB指令应用,执行过程如图4-46所示。
L MD 10
DTB
T MD20
图4-46 DTB指令执行过程
(6) DTR指令
说明:将累加器1中的32位整数转换为32位浮点数。
[例4-15] DTR指令应用,执行过程如图4-47所示。
L MD 10
DTR
T MD20
图4-47 DTR指令执行过程
[例4-16] 如果输入I0.0为“1”,则MWO的内容作为3位BCD代码(+/- 999)读取,并转换成一个整数。其结果保存在MW2中。如果不执行转换(ENO=EN =0),则输出Q4.0为“1”。参考程序如图4-48所示。 [例4-17] 如果输入端I0.0为“1”,则MW0的内容作为整数读人,并转换为一个3位BCD码。其结果保存在MW2中。若产生上溢或没有执行指令(I0.0=0),则输出Q4.0为“1”。
装入(L)和传送(T)指令可以在存储区之间或存储区与过程输入、输出之间交换数据。L指令将源操作数装入累加器l中,而累加器1原有的数据移入累加器2中,累加器2中原有的内容被覆盖。T指令将累加器1中的内容写入目的存储区中,累加器1的内容保持不变。L和T指令可对字节(8位)、字(16位)、双字(32位)数据进行操作,当数据长度小于32位时,数据在累加器1中右对齐(低位对齐),其余各位填0。CPU在每次扫描中无条件执行数据装入与传送指令,而不受RLO的影响。
[例4-10] 传送指令应用。当I0.0为1时,将MW0单元的内容送入QW4,并使Q4.0为1;当I0.0为0时,不进行传送,Q4.0为0。
图4-42 传送指令
语句表程序如下:
A I0.0
JNB _001
L MW 0
T QW 4
SET //将RLO置1
SAVE //将RLO保存到BR
CLR //将RLO清零
_001: A BR
= Q4.0
(1)读取或传送状态字
L STW //将状态字中0~8位装入累加器1,累加器1中9~31位被清0
T STW //将累加器1中的内容传送到状态字中
注意:对S7-300系列的CPU,T STW不对状态字中的FC、STA、OR位进行操作,仅将状态字中的1、4、5、6、7位装入累加器1的对应位。
(2)装入时间值或计数值
定时器字中的剩余时间值以二进制格式保存,用L指令从定时器字中读出二进制时间值装入累加器1中,称为直接装载。也可用LC、指令以BCD码格式读出时间值,装入累加器1低字中,称为BCD码格式读出时间值。以BCD码格式装入时间值可以同时获得时间值和时基,时基与时间值相乘就得到定时剩余时间。对当前计数值也可以直接装载和以BCD码格式读出当前计数值。
L T1 //将定时器T1中二进制格式的时间值直接装入累加器1的低字中
LC T1 //将定时器T1中的时间值和时基以BCD码格式装入累加器1低字
L C1 //将计数器C1中计数值以二进制格式装入累加器1的低字中
LC C1 //将计数器C1中的计数值以BCD码格式装入累加器1低字中
(3)地址寄存器装入和传送
在S7 -300中,有两个地址寄存器:AR1和AR2。对于地址寄存器,可以不经过累加器1而直接将操作数装入或传出,或将两个地址寄存器的内容直接交换。
·指令格式:LAR1
说明:将操作数的内容装入地址寄存器1 (AR1);
·指令格式:LAR2
说明:将操作数的内容装入地址寄存器2 (AR2);
·指令格式:TAR1
说明:将AR1的内容传送给存储区或AR2;
·指令格式:TAR2
说明:将AR2的内容传送给存储区或AR1;
·指令格式:CAR
说明:交换AR1和AR2的内容
[例4-11] 地址寄存器装入和传送指令应用。
LAR1 P#M10.0 //将输入位M10. 0的地址指针装入AR1
LAR2 P#0.0 //将二进制数2#00000000 00000000 00000000 00000000 装入AR2
LAR1 AR2 //将AR2的内容装入AR1
LAR1 DBD10 //将数据双字DBD10的内容装入AR1
TAR1 AR2 //将AR1的内容传送至AR2
TAR2 //将AR2的内容传送至累加器1
TAR1 MD20 //将AR1的内容传送至存储器双字MD2
CAR //交换AR1和AR2的内容
北京西门子S7-1200系列PLC代理商价格