上海耀华地磅串口开发(C#)

耀华地磅通用的型号为XK3190-DS3q1和电脑采用DB9接线方式,RS232协议传输。

首先连接线如图:
上图为DB9,母头共九个接线孔
上图为DB9,母头共九个接线孔

如果需要转接

如果电脑没有RS232接口,可使用RS232转USB连接线,建议采用质量较好的连接线。也可以采用RS232的PCI转接板,转接板可以支持多个磅头连接。

在这里插入图片描述
串口转USB线,串口连接磅头,USB口连接电脑。
接线以后可以在设备管理器查看串口驱动是否运行正常。

接线正常后我们开始通过C#遍历计算机所有的串口设备

using System.IO.Ports;

///
/// 获取本机所有端口
///
///
public static List loadComPorts()
{
List portsList = new List();
string[] ports = SerialPort.GetPortNames();
if (ports != null)
portsList = ports.ToList();
return portsList;
}

打开串口

返回的串口名称是字符串,我们可以直接打开串口了,我们可以使用定时器,每隔一段时间检查串口是否打开,如果没有打开则尝试自动打开。这里用到了SerialPort控件。
//PORT 设置的参数名称为空
if (string.IsNullOrEmpty(PortName))
{
rtxlog.AppendText(DateTime.Now.ToString(“mm:ss”) + “地磅端口名称错误” + PortName );
return;
}

//检查参数,如果没有设置则设置为默认值
if (String.IsNullOrEmpty(Vars.baud)) Vars.baud = “9600”;
if (String.IsNullOrEmpty(Vars.dsite)) Vars.baud = “8”;
if (String.IsNullOrEmpty(Vars.ssite)) Vars.baud = “1”;
if (String.IsNullOrEmpty(Vars.parity)) Vars.baud = “无”;

if (!serialPort1.IsOpen)
{
try
{
serialPort1.PortName = GlobalVars.Port;
serialPort1.BaudRate = Convert.ToInt32(Vars.baud);
serialPort1.DataBits = Convert.ToInt32(lVars.dsite);
//停止位字符串转换为控件接受的格式
string tzw = Vars.tzw;
if (tzw.Equals(“1”))
serialPort1.StopBits = StopBits.One;
else if (tzw.Equals(“1.5”))
serialPort1.StopBits = StopBits.OnePointFive;
else if (tzw.Equals(“2”))
serialPort1.StopBits = StopBits.Two;
//校验位字符串转换为控件接受的格式
string jyw = GlobalVars.parity;
if (jyw == “无”)
serialPort1.Parity = Parity.None;
else if (jyw == “奇校验”)
serialPort1.Parity = Parity.Odd;
else if (jyw == “偶校验”)
serialPort1.Parity = Parity.Even;
serialPort1.Open();
}catch (Exception exp)
{
LogHelper.Err("打开端口失败: " + exp.Message);
}
}
else
{
SetPontStatus("已打开端口 " + serialPort1.PortName, Color.Green);
}

接下来,我们在SerialPort控件的接收数据方法中获取数据。

private string _recv_string = “”;
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int idx_last = _recv_string.LastIndexOf("");
if (idx_last == -1) return;
string leftstr = _recv_string.Substring(0, idx_last + 1);
_recv_string = _recv_string.Substring(idx_last + 1);

   if (!leftstr.EndsWith("")) return;
   int _idx = leftstr.LastIndexOf("+");
   if (_idx == -1) return;
   string lastitem = leftstr.Substring(_idx + 1, leftstr.Length - _idx - 5); 
   leftstr = "";
   decimal weight_value = StringUtil.parseDecimal(lastitem);

}

获取的数据格式如下,每一个数据单元包括特殊起止位字符

在这里插入图片描述
如上图所示,所受到的字符串是其中的一部分,所以有拼接过程。
在这里插入图片描述
我们准备一个字符串,地磅每次传输的数据要追加到字符串后面,然后尝试去除最后一个完整的数据单元,并且计算出来实际公斤数。
如果地磅设置了按吨位传输,则计算出来的数据是吨位数。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 耀华地磅仪表程序C是一种用于控制和管理地磅仪表的计算机软件。耀华地磅仪表是一种用于测量货物重量的设备,通常用于物流和运输行业。 耀华地磅仪表程序C具有以下主要功能: 1. 重量测量:通过仪表传感器测量货物的重量,并显示在计算机屏幕上。程序通过与仪表进行通信,接收并解析传感器的输出数据,并将其转换为可读的重量信息。 2. 数据记录与管理:程序能够将测量的重量数据存储在数据库中,并提供数据检索、查询和分析的功能。用户可以获取特定时间段内的重量数据,并进行统计和报告生成。 3. 测量精度和校准:耀华地磅仪表程序C具备高精度的测量功能,并且还支持校准功能。用户可以通过程序进行校准,以确保仪表的准确性和稳定性。 4. 报警和异常处理:当测量出现异常或超出设定范围时,程序会发出报警并进行相应的处理。例如,当货物重量超过预设的最大值或最小值时,程序可以自动停止测量,并发出警报以提醒操作人员。 5. 用户界面:耀华地磅仪表程序C具有友好的用户界面,使操作人员能够轻松地使用和控制地磅仪表。用户可以通过程序设置和调整仪表的参数,并查看实时的重量测量结果。 总而言之,耀华地磅仪表程序C是一种功能强大的软件,用于管理和控制地磅仪表。它能够实现高精度的重量测量,数据记录与管理,报警和异常处理等功能,提高了物流和运输行业中的重量测量效率和准确性。 ### 回答2: 耀华地磅仪表程序c是一种用于控制耀华地磅仪表的程序,它主要负责实现地磅仪表的各项功能和操作。这个程序使用C语言编写,可以运行在各种支持C编程语言的平台上。 耀华地磅仪表程序c的功能主要包括: 1. 数据采集和处理:程序通过连接地磅传感器,实时采集称重数据,并进行处理和计算以得到准确的重量结果。 2. 重量显示和打印:程序将计算得到的重量结果在仪表上进行显示,并可将数据通过打印机输出打印,以便于记录和统计。 3. 数据存储和管理:程序可以将采集的数据存储到数据库中,实现对数据的持久化存储和管理,并提供查询和统计功能。 4. 报警功能:当称重数据超出预设范围时,程序可以进行报警,通过声音或灯光等方式提醒使用者。 5. 网络通信:程序支持网络通信功能,可以与其他设备或系统进行数据交互,实现远程查询和控制。 6. 用户界面和操作:程序提供友好的用户界面,可以通过键盘或触摸屏等输入设备进行操作,方便用户使用和控制。 为了确保地磅仪表的准确性和稳定性,耀华地磅仪表程序c还需要进行错误处理和异常情况的处理,以确保程序的正常运行和数据的准确性。 总之,耀华地磅仪表程序c是一款功能齐全、稳定可靠的地磅仪表控制程序,能够满足用户对地磅仪表各种功能和操作的需求,并为用户提供准确、可靠的重量数据。 ### 回答3: 耀华地磅仪表程序C是一种用于地磅仪表控制和数据处理的编程语言。这种程序设计语言可以帮助控制地磅仪表的重量测量和数据传输。耀华地磅仪表程序C通过编写一系列的指令和函数实现控制地磅仪表的功能,并将测量结果转化为可读取的数据。 编写耀华地磅仪表程序C需要熟悉该编程语言的语法和特性。程序员可以使用这种语言来定义变量、编写条件语句和循环语句等,以实现对地磅仪表的控制逻辑。通过使用相关的函数和库,程序员可以访问地磅仪表的接口和传感器,获取重量测量数据。然后,程序可以对这些数据进行处理和存储,以满足特定的应用需求。 耀华地磅仪表程序C具有很高的灵活性和可扩展性。程序员可以根据自己的需求定制地磅仪表的功能和界面。例如,可以添加用户界面,以方便用户输入相关信息和查看测量结果。 总之,耀华地磅仪表程序C是一种用于地磅仪表控制和数据处理的编程语言。通过编写指令和函数,程序员可以实现对地磅仪表的控制逻辑,并将测量结果转化为可读取的数据。这种程序设计语言具有很高的灵活性和可扩展性,可以根据需要定制地磅仪表的功能和界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碧海银帆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值