当前位置: 首页 » 技术文献 » 装备与自动化 » 正文

基于python的叠加式力标准机控制系统的优化设计

放大字体  缩小字体 发布日期:2020-12-11  作者:吕品  浏览次数:540
 
核心提示:摘 要:力标准机是国家统一力值的主要依据,而设备配套的控制软件一般不能及时随着规程、规定等的更改而升级,不能满足检定工作中出现的各种状况。本文针对目前叠加式力标准机控制系统难以升级适应新规、不能连接检定系统等问题,使用python语言,对控制系统进行升级,是系统具有良好的适应性及扩展性。 关键词:Python;叠加式力标准机;tkinter;pycharm
 基于python的叠加式力标准机控制系统的优化设计

吕品

(邯钢邯钢自动化部)

  要:力标准机是国家统一力值的主要依据,而设备配套的控制软件一般不能及时随着规程、规定等的更改而升级,不能满足检定工作中出现的各种状况。本文针对目前叠加式力标准机控制系统难以升级适应新规、不能连接检定系统等问题,使用python语言,对控制系统进行升级,是系统具有良好的适应性及扩展性。

关键词:Python;叠加式力标准机;tkinter;pycharm

0  引言 

力标准机是力学计量中对各种力传感器、测力仪和称重仪表进行检定或测试的设备,力标准机是力值计量的最高标准,在保障力值的量值传递和溯源性方面具有非常重要的作用【1-3】。力标准机按结构可以分为杠杆式、静重式、液压式和叠加式。叠加式力标准机(BFSM),是一种比对式标准机,用一个比被测定传感器精度高的传感器作为标准,与被测定的传感器进行串联,施加力值进行比较,从而完成设备各项性能的测力。这种力标准机既能解决大力值传感器的检定问题,又能保证比杠杆式力标准机高的精度,因此得到了比较广泛的应用。

由于叠加式力标准机系统由PC机、PLC、伺服电机、液压系统、变频模块、数据采集卡等诸多元部件组成,一般均配套自动控制软件。然而,由于系统庞杂,价格昂贵,目前大部分设备较为陈旧,其控制软件不能很好的适应自动化控制系统的发展,无法和办公自动化进行数据传输,严重拖滞了检定工作的效率。更为严重的是,当相应检定规程、标准进行更改时,软件不及时升级会造成检定工作无法开展。因此,使用python编程语言编写程序,对其控制系统进行改造升级,使系统具备良好的可扩展性及易用性。

1  开发环境的搭建

Python 一种面向对象、解释型、动态数据类型的优秀高级通用程序设计语言,具有简洁性、易读性以及可扩展性,拥有大量功能强大的内置对象、标准库和扩展库,适合完成各种高难度任务,而且几乎可以在所有的操作系统中运行,虽然仅有十多年的发展历史,深受广大程序员喜爱,很多著名的项目,例如谷歌的alphago项目,微软的小冰,苹果的siri,谷歌的无人驾驶,python在其中得到了良好的应用。

1.1安装python   

Python也可在多种平台开发运行首先,确定好操作系统,Python 版本,系统64 位或者32位,在www.python.org找到相应的下载包,进行安装。

本文以64位WINDOWS系统作,Python3.8.2为开发平台。

1.2  安装库文件

默认的Python 程序通过命令行界面实现,为了使程序便于使用,需要通过GUI 工具开发图形用户接口来与用户进行交互。常用的Python 的GUI 开发工具有tkinter、wxPython、PyQt 等。tkinter 是Python 标准库的GUI 模块,提供标签、按钮、菜单等图形接口,小巧轻便,能满足日常的图形用户接口开发要求。

   由于系统还需要进行数据绘图,数据库的配置及数据的读写,因此需要安装相应的库文件来实现功能,本系统使用matplotlib、、pyodbc、mysql库来实现上述功能。

   通过使用pip命令安装mysql ,安装画面如图1。

Py –m pip install mysql

图1 

图1  使用pip 命令安装 mysql 库文件

2  优化系统

2.1  创建Bfsm项目和应用

PyCharm 是一款功能强大的 Python 编辑器,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。本项目使用pycharm创建项目。

首先,进入PyCharm官网进行程序下载安装程序。然后打开程序,点击Create New Project,选择Location的路径,建立编译环境,右键点击“python_pycharm”选择“New”,选择“python file”,以此建立main.py,test.py,ver.py,record.py等文件。

之后,配置解释器。点击“File”,选择“Settings”,点击“Project:bfsm”,在“Project Interpreter”页面点击“+”按钮,在打开页面中搜索“mysql”,点击“Apply”。

项目结构如图2。

图2 

                    图2   pycharm下项目结构

 

2.2 项目模块划分及实现

通过对现有叠加式力标准机控制系统的分析,新增自动检定程序、检定证书模板设置、检定记录模板设置三个模块,以适应规程规章的更改、批量进行检定等检定状况。

2.2.1自动检定程序模块

原检定程序每次检定前,都需要输入检定规程、规格型号、产品编号、 测量范围、执行标准、试验类型、预加荷力、检测点数、检测次数、 温度、湿度、报告编号、证书编号等大量参数,而且同型号仪表进行检定时每一个都需要输入相似的内容,耗用大量人力成本,效率低下。更改后新增自动检定功能,当输入检定仪表型号后,参数会根据规程规定自动设置,无特殊需求无需手动依次更改各个选型直接进入检定程序。同时可以选择个体检定或批量检定,当选择批量检定时,系统依据设置自动为每个仪表进行编号。

2.2.2检定证书模板设置模块

原系统检定证书格式不能修改,无法根据不同仪表、委托方要求及规程更改而改动,因此,新增检定证书模板设置模块,可以按照不同检定情况变更检定证书页数及内容样式,其设置模块画面如图3所示。

图3 

图3   检定证书模板设置页面

 

2.2.3检定记录模板设置模块

检定记录模板设置模块同检定证书模板设置模块,可以在检测仪表、检定要求、检定状态变更时修改记录内容,以适应不同检定状况。

2.3  项目数据库配置

使用Python进行数据库操作,需要安装相应的数据库库文件,python针对不同的数据库有不同的模块,如mysql来接和操作MySQL数据库,cx_oracle来连接和操作oracle数据库。本项目使用mysql数据库来存储叠加式力标准机系统数据,通过mysql库文件在Python环境中进行数据库管理、数据查询、数据操作等活动。

Python连接数据库包括引入应用程序编程接口模块、连接数据库、执行SQL语句和存储过程、关闭数据库四个步骤。

连接数据库需使用连接函数connect。Connect函数 使用connect方法生成connect对象,再使用此对象访问所需要访问的数据库,代码如下:

try:

conn=smsql.connect(host=' localhost',user='admin' ,passwd='admin ',db='machine' )

except Exception.e:

print e

sys.exit 0

然后用这个对象定义一个游标,对数据库的增、删、改,就要通过这个游标来实现,获取cursor对象代码如下:

cursor=conn.cursor 0

之后用游标执行“execute”方法进行查询,“fetchall”方法执行取结果。

2.4  项目打包

python 开发的程序需要在已安装Python 以及相关第三方模块的计算机上运行。为了使程序能够在没有安装Python的计算机上直接运行,需要通过第三方模块pyinstaller 将开发好的Python 程序打包成一个可执行文件。经过pyinstaller打包后的exe 程序可以复制到其他32 位或64 位的计算机上运行。

在windows控制台下 输入命令如下命令进行pyinstaller模块安装:

py –m pip install pyinstaller

    在python中输入如下命令进行程序打包:

pyinstaller –F d:\bfsm\main.py –noconsole

3  结语

通过使用python编程语言,搭建pycharm编程环境,安装gui等库文件,对叠加式力标准机系统进行了升级改造。新系统具备自升级功能,能很好的与外部应用程序进行数据传输,提高了系统自动化水平,使检定工作的效率得到大幅提升。

参考文献

[1]  沙树静.国家基准机力值控制问题的研究与应用[D].吉林:吉林大学,2004.

[2]  刘士平.全自动叠加式力标准机的控制技术[I].自动化仪表,1999,(1O).

[3]  谢显奇.叠加式力标准机应用技术研究[J].衡器,2003,(1).

[4]  刘卫国. Python语言程序设计[M]. 北京: 电子工业出版社, 2016.

[5]  洪锦魁.PythonGUI 设计tkinter 菜鸟编程[M]. 北京:清华大学出版社,2019,8(1):64-70.

[6] Di Giacomo M.MySQL:Lessons Learned on aDigital Library[J].IEEE Software,2005,22(3):

 

 
 
[ 技术文献搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 

 

 
关于我们 联系方式 付款方式 电子期刊 会员服务 版权声明 冀ICP备13016017号