威纶通触摸屏读写s7-300的浮点数
- 格式:doc
- 大小:166.00 KB
- 文档页数:4
触摸屏读取s7-300的浮点数--液位值:,用DBDn读取s7-300的DBD,地址格式分
为两部分DB块号(前三位,范围是0~255)和DBD号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:Dn,地址格式是FFFDDDD(FFF:设定块的地址;DDDD:设定块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB块10中的第2个字 DB10_0002 DBDn 100002(2+4)。
S7-300PLC组态 DBDn 010122是指DB块1中的第122个字
DB位的表示方法:
如
在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如威纶通里面选择DBDn,后面写入 20003.
同理,字节地址一样。
触摸屏读取s7-300的浮点数--液位值:,用DBDn读取s7-300的DBD,地址格式分为两部
分DB块号(前三位,范围是0~255)和DBD号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:Dn,地址格式是FFFDDDD(FFF:设定块的地址;DDDD:设定块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB块10中的第2个字 DB10_0002 DBDn 100002(2+4)。
S7-300PLC组态 DBDn 010122是指DB块1中的第122个字
DB
位的表示方法:
如在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如威纶通里面选择DBDn,后面写入 20003.
同理,字节地址一样。
【最新整理,下载后即可编辑】
触摸屏读取s7-300的浮点数--液位值:DB1.DBD20,用DBDn 读取s7-300的DBD,地址格式分为两部分DB块号(前三位,范围是0~255)和DBD号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:DB Dn,地址格式是FFFDDDD(FFF:设定DB块的地址;DDDD:设定DB块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB 块10中的第2个字 DB10_0002 DBDn 100002(2+4)。
S7-300PLC 组态 DBDn 010122是指DB块1中的第122个字
DB位的表示方法:如DB1.DB2.3
在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如DB2.DBD3 威纶通里面选择DBDn,后面写入 20003.
同理,字节地址一样。
触摸屏读取s7-300的浮点数--液位值:,用DBDn读取s7-300的DBD,地址格式分为两部分DB块号(前三位,范围是0~255)和DBD号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:DB Dn,地址格式是FFFDDDD(FFF:设定DB块的地址;DDDD:设定DB块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB块10中的第2个字 DB10_0002 DBDn 100002(2+4)。
S7-300PLC组态 DBDn 010122是指DB块1中的第122个字
DB位的表示方法:
如
在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如威纶通里面选择DBDn,后面写入 20003.
同理,字节地址一样。
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。
*作者:蛇从梁*
作品编号:125639877B 550440660G84
创作日期:2020年12月20日
实用文库汇编之触摸屏读取s7-300的浮点数--液位值:DB1.DBD20,用DBDn读取s7-300的DBD,地址格式分为两部分DB块号(前三位,范围是0~255)和DBD号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:DB Dn,地址格式是FFFDDDD(FFF:设定DB块的地址;DDDD:设定DB块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB块
10中的第2个字 DB10_0002 DBDn 100002(2+4)。
S7-300PLC组态 DBDn 010122是指DB 块1中的第122个字
DB位的表示方法:
如DB1.DB2.3
在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如DB2.DBD3 威纶通里面选择DBDn,后面写入 20003.
同理,字节地址一样
作者:蛇从梁
作品编号:125639877B 550440660G84
创作日期:2020年12月20日。
STEP7中的基本数据类型W^(BGGL)位数据的数据类型为BOOL (布尔)型,在软件编程中BGGL 变量的值1和0常用英语单词TURE (真)和FALSE (假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。
⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE, 表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0〜B#16#FF。
⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。
二进制:二进制的格式为2#,如2#101,取值范围为2#0〜2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。
十六进制:十六进制的格式为W#16#,W代表WORD, 表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0〜W#16#FFFF。
BCD码:BCD码的格式为C#,取值范围为C#0〜C #999。
BCD码是用4位二进制表示1位十进制数,4位二进制中的0000〜1001组合分别表示十进制中的0〜9, 4位二进制中的1010〜1111组合放弃不用。
BCD码的最高4位用来表示符号,十六位86口码的取值范围为一999〜+999。
在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。
无符号十进制数:无符号十进制数的格式为B#(X, 义),取值范围为B#(0, 0)〜B#(255, 255),无符号十进制数是用十进制的0〜255对应二进制数中的0000_0000〜1111_1111 (8位),16位二进制数就需要两个0〜255的数来表示,例如:B# (12, 254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者8#(9,135)。
双精度浮点数转换单精度浮点数双精度浮点数转换整型数最近经常需要读取流量计数据,但流量计总量通常采用64位双精度浮点数(double)储存,但无论是电脑组态软件还是触摸屏组态软件,都只能读取32位数据,查询大量资料,不得其法。
只能自己动手!经过研究,通过威纶触摸屏宏指令,可以将双精度浮点数转为单精度浮点数或整型数据,转换过程分享给大家,希望对遇到相同问题的难兄难弟有帮助。
(没有转换的数据截图)(转换后的数据截图)以下为doule转float原程序:双精度浮点数转换单精度浮点数比较容易,将以下代码复制到宏文件即可。
macro_command main()bool bit[48],ba[8]short e[2]GetData(bit[0], "Local HMI", LW_Bit, 1000, 48)SetData(bit[4], "Local HMI", LW_Bit, 1400, 11)GetData(e[0], "Local HMI", LW, 14, 1)e[1]=e[0]-1023+127SetData(e[1], "Local HMI", LW, 15, 1)GetData(ba[0], "Local HMI", LW_Bit, 1500, 8)SetData(bit[45], "Local HMI", LW_Bit, 1600, 3)SetData(bit[16], "Local HMI", LW_Bit, 1603, 16)SetData(bit[0], "Local HMI", LW_Bit, 1703, 4)SetData(ba[0], "Local HMI", LW_Bit, 1707, 8)SetData(bit[15], "Local HMI", LW_Bit, 1715, 1)end macro_command如果看不懂,以下是加标注的完整原程序,供大家参考。
触摸屏读取s7-300的浮点数--液位值:,用DBDn读取s7-300的DBD,地址格式分为两部分DB块号(前三位,范围是0~255)和DBD 号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:Dn,地址格式是FFFDDDD(FFF:设定块的地址;DDDD:设定块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB块10中的第2个字DB10_0002 DBDn 100002(2+4)。
S7-300PLC组态 DBDn 010122是指DB块1中的第122个字
DB位的表示方法:
如
在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如威纶通里面选择DBDn,后面写入 20003.
同理,字节地址一样。
触摸屏读取s7-300的浮点数--液位值:DB1.DBD20,用DBDn读取s7-300的DBD,地址格式分为两部分DB块号(前三位,范围是0~255)和DBD号(后四位,范围是0~8192)。
在显示浮点数时,设备类型必须设定为:DB Dn,地址格式是FFFDDDD(FFF:设定DB块的地址;DDDD:设定DB块里面的字地址,当字地址不满4位时,需要以零补齐。
)。
例如DB块10中的第2个字 DB10_0002 DBDn 100002(2+4)。
S7-300PLC组态 DBDn 010122是指DB块1中的第122个字
DB位的表示方法:
如DB1.DB2.3
在威纶通里面如选择DBnbit 后面就是100023
上面表格中,FFFFF表示DB块地址,DDDD表示字节地址,o表示位地址。
如果要表示浮点数,则必须用DBDn
FFFFF表示DB块地址,DDDD表示字起始地址
如DB2.DBD3 威纶通里面选择DBDn,后面写入 20003. 同理,字节地址一样。