• 欢迎访问爱玩吧
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏爱玩吧

[编程]STEP 7基本数据类型

工控教学 aiwanyule 3年前 (2021-04-30) 已收录

(1)WORD(字)

一个字为16位,以二进制编码表示一个数值时,将16位分为4组,每组4位,分别表示数值中的一个数字。如16进制的W#16#1234的位图如下所示:

使用16进制表示数值时没有符号位,所以16进制表示的数不会有负值。

以BCD码表示时带有符号位,和16进制表示方法一样,也把16位分别4组,每组4位分别表示一个BCD码数字,但每位不能超过9.如+123以BCD码表示时的位图如下所示:

DWORD和WORD的表示方法相同,只不过位数为32位,分为8组,每组4位分别表示一个数字。

(2)INT(整数)

一个INT型数值包括16位,在存储器中占有一个字的存储空间。INT型即可以表示正数,也可以表示负数,最高位为符号位(0表示正数,1表示负数)。以二进制编码表示一个数值时,除符号位以外,将每一位信号的数值相加即可表示一个整数。如+34位图如下图所示:

一个负数的表示方法则是在正数的基础上将所有的位信号取反再加1,如-34的位图如下图所示:

DINT(双整数)和INT的表示方法相同,只不过是32位。

(3)REAL(浮点数)

一个浮点数为32位,占有2个字的存储空间。一个浮点数包括符号位(S),指数(e)和尾数(m),三者分别占有的位图如下所示:

指数(e)和尾数(m)的取值见下表:

REAL数据类型的值都可以表示成1.m×2(e-bias)的形式,其中1≤e≤254,bias=127,S=0时为正值,S=1时为负值。

如12.25的表示方法如下:

S=0;

指数e=27+21=128+2=130;

尾数m=2-1+2-5=0.5+0.03125=0.53125;

浮点值=(1+m)×2(e-bias)=(1+0.53125)×2(130-127)=1.53125×8=12.25.

浮点数12.25的位图表示如下:

SIMENS PLC浮点数小数位数最多为6位,要避免两个相差大于107的浮点数运算,否则会出现不正常的结果,如10000000.0+1.0结果仍是10000000.0。

(4)S5Time(SIMATIC时间)

S5Time时间占有16位,时间格式为:S5T#XH_XM_XS_XMS,其中:H,M,S,MS分别是时,分,秒和毫秒。S5Time的时间数据以BCD码二进制编码的格式存储,例如时基为1S,时间值为127S的位图表示如下:

时基为时间的最小变化率,其定义如下:

BCD码时间的最大值为999,通过选择不同的时基可以改变定时时间的长度,如100MS时间的定时器最长可定时99900MS.在编写程序时,CPU会根据设定的时间值自动选择时基,如S5T#2M_30S,为150要,大于100MS时基的最大定时长度而小于1S时基的最大定时长度,时基自动选定为1S。

(5)Time(IEC时间)

Time时间格式占32位,格式为:T#XD_XH_XM_XS_XMS,其中:D,H,M,S和MS分别表示天,时,分,秒和毫秒。

(6)DATE(IEC日期)

DATE日期格式占有16位存储空间,格式为D#年_月_日。

(7)Time_OF_DAY(时间)

此格式占用32位的存储空间,格式为:TOD#时:分:秒.毫秒(注意秒和毫秒间是一点)。


爱玩吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[编程]STEP 7基本数据类型
喜欢 (0)