0 引言
随着科学技术的进步及生产力水平的提高, 工业生产朝着集成自动化方向发展
1 硬件系统组成与功能
1.1 硬件系统组成
该文硬件系统由触摸屏、托利多称重仪表
图1 系统硬件结构图 下载原图
系统工作原理:称重传感器读取称重重量并在托利多称重仪表显示出来, 供产品检测人员记录查看;托利多称重仪表通过RS232串口数据线把重量数据传到触摸屏内部的数据内存区中, 内部处理器对传来的数据进行截取、校验、二次校验, 再转换成有效信息, 最后在触摸屏上显示出来, 实现与称重仪表的同步显示, 方便工作人员对工业现场称重状态的实时监视。
1.2 硬件系统功能
触摸屏:由24 V直流电源供电, 通过RS232串口通信数据线接收称重仪表传来的实时数据, 然后对接收的数据进行截取、存储、校验、转换, 没有错误后实时显示出来, 最后在触摸屏上以大字号实时显示称重仪表上的数据值。
称重仪表:由220 V交流电源供电, 通过信号线对称重传感器传来的模拟量数据进行A/D转换
称重传感器:用于称重重量, 获得具体的重量测量信息, 并通过RS232串口通信数据线将获得的重量数据以模拟量的形式传输给称重仪表。
2 上位机程序设计
2.1 程序设计流程
软件设计流程如图2所示。
图2 软件设计流程图 下载原图
基于威纶通EasyBuilder Pro开发环境, 一方面对组态界面开发环境的显示进行合理地组态布局, 另一方面对通信方式进行编程, 借助内部函数对仪表实时发过来的数据进行加工处理, 进行数据截取、校验、转换、显示等步骤。
2.2 通信数据传送与处理
为使硬件系统与软件系统很好地结合, 两者通信方式的参数设置需要一致, 上电后对与通信数据有关的称重仪表进行参数设置, 而软件编程的算法是保证系统准确实时显示的核心部分。
2.2.1 对IND236称重仪表通信设置
IND236称重仪表通过RS232接口进行数据传输
连续输出格式说明:
1) ASCII 文本开始字符 (0x02) , 始终发送。
2) 显示的重量, 可以是毛重或是净重。6位, 没有小数点或符号。不足6位前补空格。
3) 皮重, 具有6位皮重数据。在此显示的字段中没有小数点。
4) ASCII 回车<CR>字符 (0x0D) 。
5) 启用和校验时需要校检位的发送。校验和用于检测数据发送中的错误
由于触摸屏MT8150iE使用COM1口与托利多仪表进行通信, 故将接口类型设置为“RS232”。然后对COM1口进行通信参数设置, 点击COM1口对应的“设置”, 根据IND236对参数配置的要求, 选用其默认参数配置, 将波特率设定为“9600”, 数据位设定为“8Bits”, 校验位设定为“None”, 停止位设为“1Bits”, 超时设为“1.0”, 设备属性窗口和通信端口设置如图3所示。
表1 标准连续输出格式 导出到EXCEL
状态 | 指示的重量 | 皮重 | ||||||||||||||||||||||||||||
字符 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | ||||||||||||
数据 | STX | SB-A | SB-B | SB-C | MSD | - | - | - | - | LSD | MSD | - | - | - | - | LSD | CR | CHK |
图3 设备属性窗口和通信端口设置 下载原图
2.2.2 利用内建函数接收数据
首先用到通信相关的函数即INPORT为内建函数, 使得触摸屏可以接收仪表数据, 具体格式为:INPORT (read_data[start], "device_name", read_count, return_value) , 从串行端口或者以太网络读取数据至HMI。这些资料保存在read_data[start]~ read_data[start+read_count-1]一维数组中, device必须选择为“Free Protocol”PLC类型。read_count是设定需要读取的命令位组长度, 可以是常数或者变量。若此函数能够成功的从PLC或者控制器中读取数据, 则return_value值为1, 否者为0。触摸屏每个周期从仪表获得数据后, 根据开始标志与结束标志从中提取出所需信息, 存入数组中等待进行下一步解读, 程序语句如下:
2.2.3 数据截取与校验程序
为保证数据同步显示, 需要对仪表发来的数据实时处理, 通过INPORT内建函数对称重仪表发来的数据进行截取、校验、转换处理, 才能保证截取的数据达到同步显示的效果, 是保证称重仪表同步正常显示的关键一步。程序如下:
为保证称重数据在触摸屏上显示正确无误, 又增加了二次校验功能, 使得显示更加稳定, 经过实验, 在半年多的实际应用中, 没出现任何错误, 保证了用户在实际应用中的体验, 程序段如下:
当完成二次校验时, 则需要对截取的数据分段进行译码处理, 把带有负数的单位以及称重仪表中的单位对应起来的数据进行转换处理, 当完成这些必要的步骤后, 需要在触摸屏上对应位置正确显示出称重数值以及单位。根据IND236的连续输出格式, 数组中第5~第10为重量的数值信息, 故从数组中取出第5~第10的数据, 因组态软件提供了众多十分方便的转换函数, 故在此可直接调用组态软件携带的函数ASCII2FLOAT, 将数据由ASCII码转为浮点数。再从数组中分别取出3个状态位对应的数据, 即数组中的第2~第4个数据, 根据表提供的参数设置手册, 对IND236的状态字节位的定义分别确定小数点位置、数值的正负和单位, 对数值进行相应的处理并传送到相应的地址。程序如下:
2.3 触摸屏与称重仪表大字号实时显示
把需要的数据都解析出来后, 调用内建函数, 使传过来的数据以与称重仪表上的称重值和所对应的单位在触摸屏中显示出来
图4 触摸屏与仪表大字号实时显示实物图 下载原图
3 结语
该文依托威纶通触摸屏, 使用梅特勒-托利多的工业电子秤为硬件基础, 借助威纶通触摸屏自带的开发工具, 使得系统上下位机更稳定地配合;使用RS232串口通信接口来传输数据, 实现对称重仪表数据大字号同步显示。该系统经调试运行后现已投入使用, 经过半年多的现场运行, 表明该文数据传输可靠, 效果理想, 满足了生产需求。程序代码可移植性好, 具有较大的市场推广价值。系统设计方案简单, 经济、有效, 同步性稳定可靠, 也提高了设备的可维护性, 成本低, 使用方便。