社区
PowerBuilder
帖子详情
pb如何连接电子称,做到自动读取重量值
MaxII520
2006-03-12 03:42:18
本人为草脚,望高手说的详细通俗点,没代码给点思路也行。谢谢
...全文
377
2
打赏
收藏
pb如何连接电子称,做到自动读取重量值
本人为草脚,望高手说的详细通俗点,没代码给点思路也行。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
grt
2006-03-13
打赏
举报
回复
你这个太烦了,没必要搞这么多东东。QQ联系:48512482
lzheng2001
2006-03-13
打赏
举报
回复
PB中读取地磅称量数据
在PB开发企业应用时我们经常会遇到与仪器仪表接口的处理,这里我总结了一下与地磅接口读取称量数据的方法。
一般的地磅都有以下的参数组成:
串口编号
串口参数
时钟周期
读数长度
读字符串起始位
读字符串长度
首末位字符标志
首末位判断(是否从首位起读) '0'为首位
字符串是否反序
编码类型(1.ASCII 2.BCD 3.其他)
当前使用的大多数地磅都是使用串口与计算机连接的,仪表在其每一个时钟周期发送一次数据到串口,处理程序需要在设备的每个时钟周期读取仪表数据(在PB中是使用timer来处理的)。
从串口取数方法很多,可以直接用API读取,也可以用第三方空间读取,在此就不在描述了。这里主要描述一下对数据的分析处理过程,分别对应ASCII编码和BCD编码。
ASCII编码的数据处理过程(相对比较简单):
1. 读取串口数据(一般读取后的是Blob类型,需要转换成String类型使用)。
2. 根据仪表参数(读字符串起始位,读字符串长度,首末位字符标志)截取数值字串。
3. 如果仪表参数指示需要对读取的字串反序处理就对截取后的字串进行反序处理。
4. 显示字串。
BCD编码的数据处理过程(相对复杂):
使用BCD编码的仪表可能各厂家的是不一样的,具体实现要参照仪表的技术资料。
大多数使用BCD编码的是一位标志位,一位状态位,三个BCD数字位(低位在前),以前描述的就是这种类型。
BCD是一种压缩数字存储方式,每4个二进制位存放一个
BCD码数值采用压缩格式,用一个字节来存放两位数字.
数值99BCD码的存储方法如下(以数值99压缩后的表现为例):
二进制表示 1001 1001
ASCII码字符表示 153
十六进制字符表示 0x99
压缩存储是采用把一个字节分成两部分来存储数据,高4位和低4位各存储一位数字
PB中二进制操作不方便,所以本方法采用将ASCII值转为16进制字符取其两位数字的方法。
1. 读取串口数据(使用Blob读取)
2. 将Blob数据逐个字段转换为String类型在转换为ASCII编码字符串,并且每个ASCII编码之间用一个符号(不能是仪表使用的符号)分割,新的字串末尾需要一个符号位。
3. 在字串中查找格式标志检查这个时钟周期是否收到格式数据,没有收到格式数据停止处理等待下一个时钟周期。
4. 一般字串的第一位为状态位,取出状态位处理。
状态位的值为一个ASCII码值,我们对ASCII码值进行算术运算加简单的判断即可取出状态信息,程序如下:
if li_State > 128 then li_State -= 128 //数据溢出
if li_State > 64 then li_State -= 64 //稳定
if li_State > 32 then li_State -= 32 //符号
if li_State > 16 then //单位:吨
li_State -= 16
ls_Unit = "T"
end if
if li_State >= 8 then li_State -= 8 //重量 ,此时li_State为小数符号位
5. 取出BCD1处理:将ASCII码值转换为16进制在将16进制字符的两位作为数字转换为两位数的数值,并保存BCD1数值。(此时两位数位个位和十位)
6. 取出BCD2处理:同BCD1。(此时两位数位百位和千位)
7. 取出BCD3处理:同BCD1。(此时两位数位万位和十万位)
8. 合并转换后的三个BCD位的数值:BCD = BCD3 * 10000 + BCD2 * 100 + BCD1
9. 处理小数位:此时的小数位位数存放于状态位ASCII值算术处理的后的结果li_State中,所以只要执行操作:BCD = BCD / 10 ^ li_State即可。
10. 处理单位换算,如果单位为吨则执行操作:BCD = BCD * 10 ^ 3
11. 显示仪表数据。
以上为读取地磅数据中最关键的部分内容,希望大家多提宝贵意见。
mscommctl32一键注册
人人为我,我为人人,控件mscomm32.ocx实现
自动
读取
串口
电子称
称重数据功能,一键注册,好用跟我点个赞
PB
中
读取
地磅称量数据
PB
中
读取
地磅称量数据在
PB
开发企业应用时我们经常会遇到与仪器仪表接口的处理,这里我总结了一下与地磅接口
读取
称量数据的方法。一般的地磅都有以下的参数组成:串口编号串口参数时钟周期读数长度读字符串起始位读字符串长度首末位字符标志首末位判断(是否从首位起读) 0为首位字符串是否反序编码类型(1.ASCII 2.BCD 3.其他)当前使用的大多数地
基于STM32单片机
电子称
重系统设计_最终稿
称重技术自古以来便被人们所重视,与我们生活的各个方面息息相关。
电子称
重技术能够在科学研究、工业生产制造及其他生产和日常生活中得到广泛应用。随着科学技术时代的来临,智能化的仪器已经取代了传统的仪表和控制设备,让我们的传统仪器也有了翻天覆地的发展。给人们的日常生活造成了较大影响,广泛受到老百姓的青睐和热爱。本系统从硬件电路设计、软件编程调试、实物焊接调试三个部分进行设计。硬件电路主要是以STM32单片机为核心的控制单元实现数据的处理,通过
电子称
专用24位AD转换芯片HX711对压力式传感器所采集得到的各种模拟量
STM32 hx711
电子称
老出现8388608或8388607的原因和调试记录
STM32 hx711
电子称
老出现8388608或8388607的原因和调试记录 自己做的板子,STM32F103C8T6和HX711,电路为官网推荐电路。 STM32F103采用
PB
8和
PB
9接HX711的DO和CLK。软件可以参考https://blog.csdn.net/qq_21078557/article/details/80496495。下面记录一下调试过程: 1、老出现8388608...
STM32单片机学习(3)
如图 2 所示为开发板三色LED灯部分的原理图,LED灯的正极直接
连接
了VDD_3V3,LED灯的负极分别
连接
了三个GPIO引脚,红色LED
连接
的
PB
0,绿色LED
连接
的
PB
1,蓝色LED
连接
的
PB
5,只需要控制
PB
0、
PB
1、
PB
5为相应低电平,即可点亮对应LED灯,输出为高电平时熄灭对应LED灯。系列就只有70种异常和中断,其中前10个是系统异常,后面60个是外部中断,如下表 10.2.1 所示。Bit[23:0],一共24位,用来设置系统滴答定时器的初始
值
,因此范围为1~ 16777216。
PowerBuilder
1,072
社区成员
66,436
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章