威纶通官方论坛

维纶HMI里的32位BCD码

[复制链接]
发表于 2013-11-6 21:24:35 | 显示全部楼层 |阅读模式
威纶通TK6070i里的BCD码是代表十进制吗?我用数值输入,数值格式是32位BCD形式,为什么采集到触摸屏里就变成16进制该数了呢?比如我输入BCD形式的64,本来应该是十进制的64,可是PLC里显示是16进制的64,也就是十进制的100了,怎么会这样呢?我问别人,别人说就是这样,我就奇怪了,不对啊,我明明想输入的是十进制,BCD不就是十进制吗?难道要用32无符号吗?谢谢高手指点,谢谢
发表于 2013-11-7 16:44:53 | 显示全部楼层
十进制选择   32-bit unsigned
 楼主| 发表于 2013-11-7 20:59:21 | 显示全部楼层
谢谢楼上的热心帮助 我想问的是BCD本来就是表示十进制的,为什么采集到PLC里数值就变了呢?比如我设的是64, 32位BCD形式,到PLC里就变成16进制的64了,也就是变成100了呢?为什么会这样呢
发表于 2013-11-7 20:59:26 | 显示全部楼层
在PLC里也要用程序转换成BCD码,这样才能显示成64。
 楼主| 发表于 2013-11-8 11:54:53 | 显示全部楼层
回复 4# liql0001


    谢谢您的帮助,麻烦您能说清楚点吗?谢谢,BCD就是十进制呀,我在触摸屏里直接用BCD形式输入一个数,为什么到PLC里就变成十六进制的该数了呢?谢谢 还望不吝赐教
发表于 2013-11-8 22:25:13 | 显示全部楼层
BCD码就是用16进制的0到9表示十进制的一个位,本身还是16进制只是没有了A到F的数。
 楼主| 发表于 2013-11-12 10:48:00 | 显示全部楼层
回复 2# aligashiya


    谢谢您的细心解答,再多请教一下:16位和32位无符号可以表示小数吗,我看别人用维纶通做的项目,直接用16位无符号表示小数,小数点前3位,小数点后1位,我很纳闷,16位和32位无符号不是表示整数的吗?谢谢
发表于 2013-11-12 12:51:57 | 显示全部楼层
只是显示出来的数据有小数点,实际在PLC中的数据还是没有小数点的,如果要用小数的话,要选择32-bit float的数据类型。
 楼主| 发表于 2013-11-12 14:40:15 | 显示全部楼层
回复 8# aligashiya

谢谢您的帮助,您的意思是比如我在触摸屏里用16位无符号表示小数-------小数点前三位、小数点后一位,实际在PLC处理这个这个寄存器数据时还得按照整数指令来处理?是这样吗?谢谢
发表于 2013-11-12 22:35:52 | 显示全部楼层
是的,选择unsigned格式,触摸屏上你勾选小数点后1位,显示的可能是123.4   PLC中的实际数据还是1234
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-30 12:51

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表