发布于 2011-01-17 00:57:53
2楼
PLC和变频器
--------------------------------------------------------------------------------
这是我自己的一些工作体会和个人总结,还有一些从网上收集资料。放在这里,和各位工控同行共同学习。当然还有一些值得商榷的地方,希望大家分辨接受,并欢迎各位老师批评指正。另:有些资料经过多次转载,作者已无从查找,如有侵权,请来信告知,本人会在第一时间内消除影响。如转载请注明来自于“PLC和变频器”,有问题交流请留言或联系MSN:plcjs@126.com(PLC技术)。大家也可以按内容或标题在网页的左下角的搜索栏中查找。同时欢迎大家到我的视频博客来做客:工控视频
--------------------------------------------------------------------------------
[PLC]S7-300的数据类型(原创)
工控学徒 发表于 2005/8/19 18:22:45
S7-300的数据类型分以下三种:基本数据类型、复合数据类型和参数类型。
一、基本数据类型
1、位(bit)
常称为BOOL(布尔型),只有两个值:0或1。如:I0.0,Q0.1,M0.0,V0.1等。
2、字节(Byte)
一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。
3、字(Word)
相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。字的范围为十六进制的0000~FFFF(即十进制的0~65536)。在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。
4、双字(Double Word)
相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。
以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。
5、16位整数(INT,Integer)
整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768~32767。
6、32位整数(DINT,Double Integer)
32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-2147483648~2147483647。
7、浮点数(R,Real)
浮点数为32位,可以用来表示小数。浮点数可以为:1.m×2e,其存储结构如图所示:
8、常数的表示方法
常数可以是字节、字或双字,CPU以二进制方式存储,也可以用十进制,十六进制ASCII码或浮点数形式来表示。如下图所示:
说明:(1)S5T#格式为:S5T#aD_bH_cM_dS_eMS,其中a,b,c,d,e分别是日,小时,分,秒和毫秒的数值,输入时可以省掉下划线,如表中所示。
(2)D#取值范围为:D#1990_1_1~D#2168_12_31。
二、复合数据类型
用户通过复合基本数据类型而生成就是复合数据类型。
复合数据类型包括以下几种:
1、数组(ARRAY)
将一组同一类型的数据组合在一起组成一个单位就是数组。
2、结构(STRUCT)
将一组同不同类型的数据组合在一起组成一个单位就是结构。
3、字符串(STRING)
字符串是由最多254个字符组成的一维数组。
4、日期和时间(DATE-AND-TIME)
用于存储年、月、日、时、分、秒、毫秒和星期的数据。占用8个字节,BCD编码。星期天代码为1,星期一~星期六代码分别是2~7。
如:DT#2004_07_15_12:30:15.200为2004年7月15日12时30分15.2秒。
5、用户定义的数据类型(UDT,User-Defined Data Types)
由用户将基本数据类型和复合数据类型组合在一起形成的数据类型。
可以在数据块DB和变量声明表中定义复合数据类型。
三、参数类型
是为在逻辑块之间传递参数的形参(Formal Parameter,形式参数)定义的数据类型。
菜鸟,向大家多学习。