电工学习网

 找回密码
 立即注册

西门子S7-300/400 PLC转换指令编程

2013-8-22 16:04| 编辑:电工学习网| 查看: 24510| 评论: 0

  1.指令特点与编程
  S7-300/400的转换指令功能相对单一,所有代码转换指令均为用于数据形式转换的指令,且不可以实现ASCII码、字符串的转换,也无译码功能。
    S7-300/400的数据形式转换指令主要有如下特点:
    ①转换指令主要有BCDj、I-BCD、BCD_DI、DI—BCD、DI_RI、I_DI、ROUND、TRUNC、CEIL、FLOOR等,可以进行十六进制数与BCD之间的转换、整数与浮点数之间的转换、浮点数的“取整”等操作。
    ②与移位指令一样,S7-300/400的数据形式转换一般只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器l中。
    ③S7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
    数据形式转换指令的梯形图编程与S7-200相似,如需要将输入字IW20的BCD数据(十进制数据)转换为整数(十六进制数据)的程序格式如图10-6.6所示。

    从图10-6.6的指令表程序可以看出,数据形式转换的第一步是将“源数据”IW20装入累加器l中,然后再对累加器l的内容进行转换,结果传送到目标存储器MW100中。
    2.BCD转换指令
    S7-300/400的数据形式转换指令BCD I、I__BCD、BCD—DI、DI__ BCD用于十六进制数与BCD
之间的转换。
    编程需要注意以下几点:
    ①S7-300/400的BCD数据只能对字、双字长的数据进行,不能用于字节。
    ②指令BCD I、LBCD用于16位整数与BCD间的转换,由于数据带符号,因此只能转换3位BCD码,BCD数据的范围为-999~+999。指令BCD DI、DI__ BCD用于32位整数与BCD间的转换,同样带符号,因此只能转换7位BCD码,BCD数据的范围为-9999999~+9999999。
    ③16位整数的BCD存储格式为:


    格式中的空余位(16位整数的bit14~bit12、32位整数的bit30~bit28),一般取与符号位相同的值,如:正数为“O”;负数为“l”。
    ④当16位、32位整数转换为BCD时,如果出现大于9的十进制数值(如1100等),或者转换后的数值超过了BCD格式允许存储的范围,将出现转换错误,并导致plc的停止。
    3.整数、浮点数转换指令
    S7-300/400的数据形式转换指令I DI、DI R用于16位整数与32位整数、32位整数与浮点数之间的转换;ROUND、TRUNC的作用、意义与S7-200相同,用于对浮点数的小数部位处理;CEIL、FLOOR是当浮点与整数相差很大时的两种不同处理方式。
    IDI指令可以将16位整数转换为32位整数,其实质只是将符号位从原16位整数的bit15移到32位整数的bit31上,其余数据不变或增补0而已。
    ROUND指令是将浮点数的小数部分四舍五入转换成双整数;TRUNC指令是将浮点数的小数部分舍去转换成双整数。
    由于浮点数的数据表示范围要远远大于双字长整数。当浮点数的值大于整数时,通过CEIL指令,可以将浮点数转换为大于等于该浮点数的最小整数;通过FLOOR指令,可以将浮点数转换为小于等于该浮点数的最大整数。

看过《西门子S7-300/400 PLC转换指令编程》的人还看了以下文章:

发表评论

最新评论

  • PLC输入端和输出端怎么接线
  • 什么是COM端口?PLC中COM端口如何接线?
  • plc控制电动机正反转梯形图
  • 西门子S7-200系列PLC全套接线图
  • PLC十字路口的交通灯控制编程实例
  • plc基础知识指令27个
热点文章

电工学习网 ( )

GMT+8, 2023-5-4 14:24

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部