电子直线加速器程序设计

时间:2022-09-15 09:09:45

电子直线加速器程序设计

1系统背景

加速器控制的中央控制系统现采用西门子S7-200PLC。西门子S7-200PLC之间或者PLC与PC之间的通讯有很多种方式:自由口方式,PPI方式,MPI方式,Profibus方式。控制系统将西门子PPI协议的关键报文格式应用于我们加速器控制的工程实践中,实现了上位机(计算机PC)对PLC的监控[3]。程序设计过程中,我们将控制程序功能中通讯协议的完善、数据库和辅助功能的编程结合在一起,实现数据的自动读取、写入、删除、增加和打印输出的一体化操作。

2设计与测试

2.1分类编程控制系统的功能各异,可总结归纳为通讯协议、数据库和其他辅助功能等方面。由以上几个方面展开程序的编写,资料和编程方法可以资源共享。通讯协议编写主要实现PLC中开关量的读写、置复位、端口侦测与串口选择、通讯状态诊断、运行控制、以及输入输出状态的实时显示等操作;数据库主要是数据的读与写,它包括数据词典、串口记忆、能量记忆、灯丝计时、权限管理、数据报表等,其中数据报表包括了报警统计、系统操作历史、员工工作汇总等;辅助功能是我们学习现有的组态软件的相关功能,得到远程监控、热键屏蔽、端口侦测、自动计算、自适应分辨率、禁用屏保和电源管理等,在此基础上,拓展开发Windows窗体风格(XP、WIN7、office2003、office2007、office2010等)、仿PDF左菜单以及中文提示、完善演示系统等。2.1.1PPI通讯协议与实时监控我们使用通讯控件MSComm编写PLC监控通讯,通过计算机的RS-485端口发送并接收数据。在实际调试过程中,我们采用RS232与RS485的中转,因笔记本只有RS-232端口。在调试中,串口通讯增添了相应的诊断代码,便于控制程序在笔记本和工控机上演示和运行[4]。在本程序中,MSComm控件主要是编写读取PLC中输入I点、输出O、中间继电器M点、寄存器(开关量的值)的循环过程。在西门子能量及自动化公司的可编程逻辑控制器的用户定义端口和协议方案的发明申请专利公开说明书中,PLC的一个扫描周期有如图4所示。我们对MSComm中数字量读取顺序的多种排列方式一一作了实验和调试,验证了PLC的扫描顺序[6]为中间继电器M点、输出O点、输入I点、寄存器(开关量)。根据输入点状态的变化,在程序中添加报警提示和联锁保护;通过改变中间继电器状态,实现运行和停止;寄存器(开关量)的读与写、以及进制转换操作,实现数据的数值显示和预置相关的数值上限,实现时间、积分剂量、重复频率、积分剂量等物理量的预置。在PPI通讯协议中,我们只需要在输入、输出、中间继电器和寄存器值的触发事件中,添加主监控窗体中相应控件的属性状态改变,实时地显示PLC中数字量的变化。这样,主监控界面就可以显示加速器状态中比较核心的物理量。2.1.2数据库应用与开发VB提供了功能强大的数据库管理功能,能够方便、灵活地完成数据库应用中涉及的诸如建立数据库、查询和更新等各种基本操作。在VB中,可用的数据访问接口有三种[2]:ActiveX数据对象(ADO)、远程数据对象(RDO)和数据访问对象(DAO)。数据访问接口是一个对象模型,它代表了访问数据的各个方面。可以在任何应用程序中通过编程控制连接、语句生成器和供使用的返回数据。系统开发时,系统采用数据库与系统不同功能的窗体关联,例如能量选择就是在登陆窗口实现读与写,然后在主监控窗口中选择单能量或多能量切换;权限管理窗体和登陆窗体中用户的新建、修改密码等操作在同一个数据表格中完成。以下简单介绍系统中权限管理的含义和基本功能。权限管理,根据加速器设置的安全规则或者安全策略,用户只能访问自己被授予的资源。系统中用户和密码又紧密地与权限管理交互统一。在本系统中,我们让系统使用者(加速器系统管理员)定义角色,给用户分配角色。成功实施功能级权限控制,用户管理员在功能级进行权限管理,整个过程无需程序编写人员参与。用户管理员可以按照企业需求和管理需要,授予不同用户不同的登陆密码和操作权限,也可以根据需要删除操作员,便于加速器使用的管理。2.2界面设计2.2.1色彩色彩是通过视觉刺激诱发人们生理上的效应,能唤起某种想象和某种情感,这种情感是一个复杂又微妙的问题。就一般人来说,在生理基础等方面有很多相同或相似之处,所以对色彩的感觉大体上相通[7]。在设计中,往往需要各种不同的色彩构成界面,色与色之间必须相互配合、关联,形成色彩总体特征和总体倾向,这就是色彩的基调。把握好色彩基调对于取得良好的整体感觉起着决定性作用[8]。哲学和理工类采用低纯度色调风格较多,低色调它含有一定灰色成分,给人以平稳、含蓄的感觉。具有条理、秩序、深奥等的特点[9]。2.2.2界面美化监控程序的界面美化受自身功能的制约。在本程序中,主监控界面相同控件编译了数组(主要是数据库和辅助功能的实现,考虑到窗体的美化大多隐藏,即设定控件Top属性为负)。VB程序窗体控件的数目不能超过255个独立控件。系统编写中,将部分控件分散到不同窗体间接调用,均衡窗体控件的数目的限制。

3问题与策略

3.1其他问题图2中,系统的辅助功能同时也包括以下十一个方面:1)自适应分辨率。2)窗体风格(XP、WIN7、office2003、office2007、office2010等)。3)仿PDF左菜单以及中文提示等。4)窗体标题栏禁止拖动、屏蔽单双击标题栏触发自适应分辨率。5)系统文件封装和安装盘的制作。6)任务栏隐藏与显示。7)禁用屏幕保护和电源管理。8)启用时,左菜单最小化,左菜单的伸缩和推拉功能。9)刷屏引起控件z轴方向位置的改变,控件相互遮挡。10)防止电脑系统关闭显示器或进入待机状态。11)远程监控。3.2主要问题策略3.2.1远程监控控制系统采用crossloop实现远程监控。ShellExecute函数查找crossloop相关程序的文件名,实现crossloop程序的调用。具体代码如下PrivateDeclareFunctionShellExecuteLib“shell32.dll”Alias“ShellExecuteA”(ByValhWndAsLong,ByVallpOperationAsString,ByVallpFileAsString,ByVallpParametersAsString,ByVallpDirectoryAsString,ByValnShowCmdAsLong)AsLongCallShellExecute(Me.hWnd,“Open”,“E:\RIAMBProgram\PCcontrol\CrossLoop”,“”,App.Path,1)CrossLoop是基于开源的VNC软件TightVNC开发的远程桌面控制软件,它的设计能让非技术的用户均能很容易地从互联网的任何地方,在几十秒钟内进行远程连接控制,而无需改变或关心任何防火墙或路由器设置,CrossLoop扩展了传统屏幕共享的界限。利用CrossLoop大大简化了与用户共享屏幕的过程,不用考虑地理位置和网络环境,也不用过问IP地址和防火墙这种过于专业的问题,CrossLoop允许我们实时观看远端用户的操作界面,并且能够控制对方的鼠标、键盘进行远程控制。你可以利用它与其他地点的用户协同工作。此外,演示程序或帮助别人解决问题都变得更加的便利。CrossLoop还提供其它功能如传送文件、交换控制权等。3.2.2窗体风格控制系统的窗体风格采用VB创建ActiveX控件和采用成熟的工业图形控件等方式,我们采用的成熟图形控件主要包括Iocomp和Codejock。

4结束语

4.1通讯系统编写的思路由西门子PPI协议的报文格式展开,通过分析S7-200CPU与工业控制计算机的通讯数据,深入研究和学习了工程实践中控制程序编写的基本方法和思路。利用PPI协议除了能与上位机(PC)通讯外,更重要的是为现场设备与S7-200CPU之间的通讯提供了捷径。自行开发的设备可以方便的利用PPI协议通过485/232接口接入S7-200CPU,联入PLC的网络,包括控制面板,采集器等[3]。4.2数据库管理控制系统采用的数据库主要包括微软的关联式数据库管理系统access数据库[10]和存储配置信息ini文件等。ini文件的读写效率优于其他数据库管理系统,可以用于简单的记忆功能和读写操作,同时也可以简便地初始化数据。4.3控制系统界面控制系统界面是决定系统能否应用的重要因素。但与控制系统的功能技术相比,色彩搭配、控件选择和控件布局方面的探讨在很多技术资料中是十分欠缺的。两者完美结合,可以取得更高的价值。色彩搭配、控件选择和控件布局在工业设计中的作用不可低估。但同时,也增加了人为因素的影响,不同的个体对系统的美都有自己独有的框架。迎合审美情趣、主宰思想情感、反应性格和生命的设计,可以左右生产和消费,引领潮流。这也给我们控制系统的编写带来了极大的考验和挑战。

作者:马淑栋 单位:北京机械工业自动化研究所

上一篇:程序设计类课程教学 下一篇:计算机程序设计优化