下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、using System;using Syste m0 .Ports;using System.Text; |using System.Thread ing; |/ /封装COM 口数据/ public class Coml nformatio n|stri ng _wdata;stri ng _wun it;stri ng _qdata;stri ng _qun it;stri ng _perce ntage;/ /获取或设置重量/ public stri ng WData get retur n this._wdata; set this._wdata = value; / /获取或设置重
2、量单位/ public stri ng WUn it get retur n this._w un it; set this._w unit = value; / /获取或设置数量/ public stri ng QData get retur n this._qdata; set this._qdata = value; / /获取或设置数量单位/ public stri ng QUn it get retur n this._ qun it; set this._ qun it = value; / /获取或设置百分数/ public stri ng Perce ntage get ret
3、ur n this._perce ntage; set this._perce ntage = value; / /电子称数据读取类/ public class WeightReader : IDisposable#region字段、属性与构造函数SerialPort sp;int _speed = 300;/ Ill获取或设置电脑取 COM数据缓冲时间,单位毫秒III public int Speedgetretur n this._speed;setif (value 300)300毫秒!);throw new Exception(”串口读取缓冲时间不能小于 this._speed = v
4、alue;public bool In itCom(stri ng PortName)return this.I ni tCom(PortName, 4800, 300);/ /初始化串口/ / 数据传输端口 / 波特率 / 串口读数缓冲时间 / public bool In itCom(stri ng PortName, int BaudRate,i nt Speed)trysp = new SerialPort(PortName, BaudRate, Parity.No ne, 8); sp.ReceivedBytesThreshold = 10;sp.Ha ndshake = Han d
5、shake.RequestToSe nd;sp.Parity = Parity.N one;sp.ReadTimeout = 600;sp.WriteTimeout = 600;this.Speed = Speed;if (!sp.lsOpe n)sp.Ope n();return true; catch throw new Exception(string.Format(” 无法初始化串口 0!,PortName);#en dregi on#region串口数据读取方法public Weight In formati on ReadI nfo()stri ng src = this.Read
6、Com();Weight In formati on info = new WeightI nformatio n();in fo.WData = this.DecodeWeightData(src);info.WUn it = this.DecodeWeight Un it(src);in fo.Perce ntage = this.DecodePerce ntage(src);in fo.QData = this.DecodeQualityData(src);in fo.QU nit = this.DecodeQuality Un it(src); return info;/ /将COM
7、口缓存数据全部读取/ / private string ReadCom()/ 返回信息if (this.sp .I sOpe n)Thread.Sleep(this._speed);stri ng res =;/for (int i = 0; i 5; i+)/byte buffer = new bytesp.BytesToRead;sp.Read(buffer, 0, buffer.Le ngth);res = System.Text.E ncodi ng.ASCII.GetStri ng(buffer);/if (res !=)/ break;/if (res =)throw new Ex
8、ception(”串口读取数据为空,参数设置是否正确r);return res;return ;#en dregi on#region 基本取数方法/ III从字符串中取值/ III 起始字符串 / 间隔位长度 / 值长度 / 源字符串 / private stri ng DecodeValue(stri ng head, int in tervalLe n, int valueLe n, stri ng src) int in dex = srcn dexOf(head);retur n src.Substri ng(i ndex + in tervalLe n, valueLe n);/
9、/取重量/ / 源字符串 / private stri ng DecodeWeightData(stri ng srcStri ng)return this.DecodeValue(GS, 3, 8,srcStri ng);/ /取重量单位/ / 源字符串 / private stri ng DecodeWeight Un it(stri ng srcStri ng)return this.DecodeValue(GS, 12, 2, srcStri ng);/ /取百分数/ / 源字符串 / private stri ng DecodePerce ntage(stri ng srcStri ng)return this.DecodeValue(U.W., 4, 14, srcStri ng);/ /取数量/ / vparam name=srcString 源字符串 / vretur nsprivate stri ng DecodeQualityData(stri ng srcStri ng)return this.DecodeValue(PCS, 3, 9, srcStri ng);/ /取数量单位/ / 源字符串 / private stri ng DecodeQuality Un it(stri ng s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南昌工学院单招职业倾向性测试题库附答案详解(综合题)
- 2026年南充科技职业学院单招职业技能测试题库附参考答案详解(培优)
- 2026年南通科技职业学院单招职业技能测试题库及参考答案详解1套
- 2026年兴安职业技术学院单招职业适应性考试题库附参考答案详解(综合卷)
- 2026年南昌工学院单招职业倾向性测试题库附答案详解(培优a卷)
- 2026年信阳涉外职业技术学院单招职业技能考试题库含答案详解(培优)
- 2026年兰州现代职业学院单招职业倾向性测试题库带答案详解
- 2026年南京视觉艺术职业学院单招职业技能测试题库及答案详解(新)
- 2026年内蒙古包头市单招职业倾向性测试题库附参考答案详解(夺分金卷)
- 2026年南京城市职业学院单招职业适应性考试题库附参考答案详解(典型题)
- 智能网联汽车感知技术与应用 课件 项目1 智能网联汽车感知技术概述
- 电力开工前安全培训课件
- 2026年1月上海市春季高考数学试题卷(含答案)
- 2026年沈阳职业技术学院单招职业技能考试题库及答案详解一套
- 基金管理公司发展规划
- 低空经济在红河州乡村振兴中的实践与探索报告2025
- 手术患者坠床应急预案及流程
- 港口复工复产安全培训课件
- 瘢痕早期预防胜于治疗
- 房屋租赁合同模板下载
- DLT 572-2021 电力变压器运行规程
评论
0/150
提交评论