3 上位计算机端软件设计
上位计算机端的软件设计采用了National Instruments公司的LabWindow-CVI3.0.1编程平台。与Visual Basec Visual C++相比,Labwindow-CVI是专门用于EDA(Electronic Design Automatic)领域软件开发工作的平台。编程用C语言,采用面向对象(OOP,Object Oriented Programming)的编程方法。上位机端的软件控制面板按照所实现的功能被划分为4部分:系统配置面板、高压设置面板、电压显示面板、系统帮助菜单。另外,上位机端软件系统可以通过安装文件Setup.exe简单、方便地实现系统软件安装,其安装过程具有典型的Windows风格。
用上位机对可编程控制器进行监视和控制,在两者之间建立数据传输通道,首先要规定两者之间数据传输的格式,并对命令格式形成和响应格式的解码进行编程。Omron把所有指令帧和应答帧的定义称做Host Link协议(Host Link Protocol)。而在Host Link协议中识别码指令有39种之多,可以完成对可编程控制器各个存储区(IR、SR、DM、AR、EM、LR、HR)的读写、对可编程控制器进行初始化、置位和I/O表生成等各种任务。图4的第一行是一个上位计算机发出的读PLC内部继电器区(IR区)的命令帧,第二行是PLC对这个命令的响应帧。
从图4的Host link帧格式可见,在上位计算机通信编程中不仅要对命令帧的形式做编码工作,而且还要对可编程控制器的响应帧进行解码,提取其中有用的数据,然后再进行进制转换以变成我们所要的数据格式。
为了系统扩展的需要,设置为1:n的上位机连接方式,即一台上位机可以同时控制N台位于现场的可编程控制器组成的网络。这样便和直线加速器其它诸台联锁保护PLC互连成网了。
上位计算机端的软件完成对上位机和PLC通讯端口参数的设定、送设定的高压数值到PLC以间接控制硬件电路完成调压、升压总行程选择、紧急关断高压、自动记录当前高压设定数值和时间以及当班人员名单到以Excel电子表格形式存在的值班日志。
总的来说,本系统是把传统仪器的三大功能块全部通过计算机来实现的:信号采集以及处理由现场控制计算机——可编程控制器来完成;结果表达输出则放到上位计算机上来完成。其中,“电压显示面板”主要就是用来实现一个传统仪器的“结果表达输出”功能块所完成的任务。用计算机屏幕可以形象、方便地模拟各种仪器控制面板,以各种形式表达输出检测结果以及电源运行状态。
采用适当软件和硬件抗干扰措施后,本上位机-PLC控制系统在强电磁干扰的环境中,通过运行调试,达到了设计要求,当电网电压变化±5%,直流高压能稳定在PLC和本上位机-PLC控制系统两套系统之间的切换,使各项功能和两套系统有机地组合在了一起;友好的软件控制面板为操作者提供了直观的数据显示和方便的操作功能选择。