您现在的位置是:首页 > PLC技术 > PLC技术
S7-200 PLC的双字整数与实数的互转
来源:艾特贸易2017-06-04
简介双字整数与实数的互转指令有三种,其中实数转换成双字整数有两种方式,如图 3-80 所示。 图 3-80 双字整数与实数的互换指令 (a) 双字整数转换成实数指令; (b) 实数转换成双字整数(
双字整数与实数的互转指令有三种,其中实数转换成双字整数有两种方式,如图3-80所示。 图3-80 双字整数与实数的互换指令 (a)双字整数转换成实数指令;(b)实数转换成双字整数(四舍五入)指令;(c)实数转换成双整数(舍去尾数)指令 (1)双字整数转换为实数指令。双字整数转换为实数指令的梯形图由助记符(DI_R)、使能信号(EN)、整数输入端(IN)和实数输出端(OUT)构成;其语句表由操作码(DTR)、整数输入(IN)和实数输出(OUT)构成,如图3-80 (a)所示。 双字整数转换为实数指令可以将32位有符号整数转换成32实数,当使能信号EN -1时,双整数IN被转换成实数,结果传送到OUT中。 数据范围: 1)双整数IN:VD、ID、QD、MD、SD、SMD、AC、LD、HC、常数、*VD、*AC、*LD。 2)实数OUT: VD、ID、QD、MD、SD、SMD、AC、LD、*VD、*AC、*LD。 (2)实数转换成双字整数指令之四舍五入取整。实数转换成双字整数(四舍五入)指令的梯形图由助记符( ROUND)、使能输入(EN)、32位实数输入端(IN)和双字整数输出端( OUT)构成;其语句表由操作码(ROUND)、实数输入(IN)和双字整数输出(OUT)构成,如图3-80 (b)所示。 实数转换成双字整数(四舍五人)指令可以将实数转换成32位有符号整数,如果小数部分大于等于0.5就进一位,当转换允许时,实数IN被转换成有符号整数,结果传送到OUT中。 数据范围: 1)实数IN:VD、ID、QD、MD、SD、SMD、AC、LD、HC、常数、*VD、*AC、*LD。 2)整数OUT:VD、ID、QD、MD、SD、SMD、AC、LD、*VD、*AC、*LD。 (3)实数转换成双字整数指令之舍去尾数取整。实数转换成双字整数(舍去尾数)指令的梯形图由助记符( Truncate,TRUNC)、使能输入(EN)、32位实数输入端(IN)和32位整数输出端( OUT)构成;其语句表由操作码(TRUNC)、32位实数输入(IN)和双字整数输出( OUT)构成,如图3-80 (c)所示。 实数转换成双字整数之舍去尾数指令可以将32位实数转换成32位有符号整数,小数部分被舍去,当转换允许时,32位实数IN被转换成有符号32位整数,结果传送到OUT中。 数据范围: 1)实数IN:VD、ID、QD、MD、SD、SMD、AC、LD、HC、 常数、*VD、*AC、*LD。 2)整数OUT: VD、ID、QD、MD、SD、SMD、AC、LD、*VD、*AC. *LD。 【例3-27】 图3-81给出了一个数据转换指令的应用实例,计数器C40的计数值为现场测得的以英寸为单位表示的长度,现在要把这个长度单位改为厘米,且把该长度的整数部分保存。 因为1in = 2.54cm,需把C40的计数值乘以2.54。这是一个实数运算,需先把整数转换成实数,再进行实数运算;得到的乘积是一个实数,为了得到整数值,还需要进行实数到整数的转换。 在梯形图中,第一条指令的作用是把计数器C40的计数值(一个16位无符号整数)转换成双字整数并存入ACO中(ACO的高16位用0填充);第二条指令的作用是把双字整数ACO的内容转换成实数存入VD64中;第三条指令的作用是把实数VD64的内容与2.54相乘,结果存于VD72中;最后一条指令的作用是把实数VD72的内容四舍五人转换成双字整数并存于VD12中。
图3-81 数字转换指令的编程
点击排行
