西门子模块6ES7216-2BD23-0XB8参数设置
列车运行控制系统是对列车速度自动控制的各种装置的统称,根据对速度控制程度的不同,一般分为:列车自动停车(ATS)系统,列车超速防护(ATP)系统,列车自动控制系统,列车自动运行(ATC)系统和列车自动运行(ATO)系统。
列车运行控制系统车载人机界面是车载设备与驾驶员进行信息交互的平台,是列车运行控制系统的一个重要组成部分。通过车载人机界面,司机可以对列车的相关参数进行设置,实时地得到有关列车和线路的相关状态和数据,对车载设备发出的命令和警告及时地进行响应。
近年来随着科技水平的不断发展,铁路装各技术水平跃上了一个新台阶,高速铁路的崛起和发展给世界铁路的重新振兴带来了勃勃生机。作为高速铁路的关键设备之一。列车自动控制系统具有以下三大特点:1,以车载显示为行车凭证;2,用速度命令代替色灯含义:3,信号直接控制列车制动。正是因为这样的特点,使得人机界面在整个系统中发挥更大的作用。良好的界面设计可以将更多的信息清晰地显示出来,有助于司机更好地了解要完成的任务,提高速度和jingque性,减少人为失误的可能性,在大程度上保证列车的安全性。
对于一般交互式软件系统来说,GUI设计和实现是软件系统开发中的一个重要部分。人机界面是指软件系统与使用者之间的交互。它为用户提供各种形式的输入,将用户的输入信息进行转换后,传给核心模块进行处理,并将处理结果以可理解的方式反馈给用户。它介于用户和核心应用之间。设计既要针对使用者,义更适应核心模块。用户界面的设计质量,直接影响用户对软件产品的评价,并终影响软件产品的竞争力和寿命。事实上,在很多软件的设计阶段,由于缺乏行之有效的用户界面设计手段,界面设计由实现人员直接编码完成,从而导致了实现与用户需求之间的差距。
本文分析了列车运行控制系统车载人机界面所要满足的设计原则,设计了一种适合这种人机界面的GUI模型。选用UML来描述人机界面的功能需求、总体设计和详细设计的过程并进行建模,并利用其工具RationalRose加以严格定义的图形化语言的描述。后使用Microsoft公司的Visual C++开发工具进行了开发。
1、人机屏面设计的原则
1.1人机界面设计的原则
人机界面设计要讲究艺术性和科学性,利用图形艺术家的见解和人性因素的研究者的发现,并考虑到用户的直观感觉。根据已有的用户界面设计经验,针对列车运行控制系统车载人机界面的特点,出了以下几点设计原则:
1)理解司机要进行的操作。典型的用户界而设计都要进行任务分析来理解用户任务的性质。
2)司机在与系统得交互过程中能够掌握操作的控制权。无论何时用户发起的操作都能够可以被取消。
3)提供多种方式来兜成每个与界面相关的动作(例如关闭一个显示窗口)。
4)当司机进行了错误的操作时,应能够以醒目的方式及时进行提示。
5)重视可读性和可理解性。提示信息应该简明概要,所州的图形信息便丁=-州机理解。运用不同的颜色来表示信息的优先级
6)尽量保持界而构件的尺寸相同。充分利用空间关系。屏幕上的图形构件之间的距离不要太远,必要时可以用一个框将他们包围起来。
1.2采用UML进行设计的优势
UML采用的足一种图形表示法,是一种可视化的图形建模语言 UML定义了建模语言的文法,运用元模型对语言中的基本概念、术语和表示法给出了统一且比较严格的定义和说明,给出了这些概念的准确含义。UML为人们提供了从不同的角度去观察和展示系统的各种特征的一种标准方法。在UML中,从任何一个角度对系统所作的抽象都可能需要用几种模型图来描述,而这些来自不同角度的模型图终组成了系统的完整图像。
UML语言提供了模型管理视图,用以描述系统各种模型之间的关系。通过模型管理视图提供的机制,系统设计者可以将各个模型元素有机地分解为各个不同层次的包,从而从不同的层次粒度上对系统模型问的关系进行描述,极大地提高了系统设计的可读性和可维护性。UML这种层次化、模块化的管理机制非常适合于对列车运行控制系统车载人机界面进行建模。如果由开发人员手工地绘制这些图形,不仅非常烦琐,很难保证不同视图之间的一致性,UML的支持环境在实际的软件开发中是必不可少的。
Rational公司的Rose是目前在国际上应用虽广泛、功能强大的支持UML的CASE工具,在软件开发过程的几个阶段都很有用。在项目开始阶段,Rose可以产生用况模型;在细化与构造阶段,Rose可以开发活动框图,显示事件流程;顺序图和协作图则显示要开发的对象及其相互问的交互;Rose开发的类图显示对象间的相互关系:组件图显示系统组件间的相关性。RationalRose强大的特性之一是具有生成表示模型的代码和逆向转出工程代码的能力,保证了代码与对象模型的同步性。
2、使用UML对列车运行控制系统车载人机界面进行分析和建模
2.1常用GUI模型简介
通常GUI模型抽象为三个部分:界面的表现模型,即与使用者问的接口;界面构件的对话过程,即用户界而构件之间的交互以完成用户任务;核心应用,即完成应用业务逻辑的功能模块。几种主要的GUI模型如,Seeheim模犁,MVC(Model-View-Controller)模型和PAC(Presentation—Abstrbbbbbb.Controller都基于这样的基本思想。F面对基本的Seeheim模型进行简要说明。
Seeheim模型将软件体系结构分为4个部分:核心模块(Functional Core),核心应用接口(Functional CoreAdapter),对话控制器(Dialogue Contro1ler),界面构件(PresentationComponent)。Function Core对领域应用进行建模。Functional CoreAdapter为用户界面与核心应用之间建立一个缓冲区,以减少二者之间的耦合。它通过一些交互协议为用户界面与核心应用之间提供同步或者异步的数据交换。DialogueController是Seeheim模型中的核心部分。它通过界面构件接收来自用户的各种输入请求,通过转换后利用核心应用接口与核心模块进行数据交换,保证多个视图间的一致性,以完成特定的用户任务在DialogueContro11er中可以嵌套定义Seeheim子模型。这样可以从不同粒度上对GUI系统进行建模。PresentationComponent对界面构件的具体交互动作和输入输出进行设计。
2.2车载人机界面建模
(1)系统需求分析
需求分析就是明确从外围系统的角度要求车载人机界面提供什么功能。在以往的需求分析中,始终没有一种合适的工具来保证系统需求的完整表达,直接导致了系统在完成后的检测中发现与真实情况小符。从分析阶段引入全面支持UML的RationalRose这个有效的形式化上具,以完整的,无歧义的语言来表达需求,简化开发过程中的交流。
列车运行控制系统车载人机界面是车载设备与司机进行信息交互的平台。车载人机界面要保证司机可以对列车的相关参数进行设置,实时地得到有关列车和线路的相关状态和数据,对车载设备发出的命令和警告及时地进行响应。运用UML的用例图可以清晰的表示出以上需求。
图1车载人机界面模型用况图
对用况进行形式化的描述。司机在进行操作时,可以根据需要来调整界而的背景色,分辨率等参数,这时执行了界面设置用况。当司机需要对列车长度等参数进行配置时,则要使用数据操作用况。在数据用况中还可以显示列车的初始化信息。考虑到司机需要响应车载设备发出的指令以及进行人工干预。命令操作用况也是必不可少的。司机操作人机界面的过程采用UML的活动图做了描述。
图2车载人机界面模型活动图
(2)GUI模型框架
根据人机界面设计的原则。考虑到实际的应用背景,本文在Seeheim模型的基础上,提出了一种适用于列车运行控制系统车载人机界面的GUI模型,如图3所示。模型由视图模块(ViewMode1),视图控制器(View Controller)和核心应用接口(CoreInterface)三部分组成,是一种面向对象的GUI设计模型。
视图模块(ViewModel)对用户界面的可视部分进行描述。它接受司机的输入,并为司机提供可视化信息,是GUI模型中唯一直接与司机打交道的部分。它的设计采用多级递阶的设计思想,从逻辑功能上分解为各个视图(view),每个视图又可以分解为多个子视(Sub—View)。子视图是对上一层视图的分解和细化。视图的静态特性可以包含视图的大小、位置和可见性等与视图自身表现形式有关的属性。它的动态行为包括视图内部的动作和与其他视图问的协作,以及与司机之间进行的交互。视图模块的建模以消息响应为核心,通过消息响应过程对用户事件进行处理。例如响应车载设备命令或改变界面样式等。当View与其他视图进行交互时。将用户消息发送给ViewController进行调度。由View Controller来实现在不同的视图之间的转换。
当用户完成一项任务涉及到若干视图时,View Controller负责各个视图间的切换调度。它接受从ViewModel发送来的消息,由消息响应函数负责对相关的视图进行控制。相对于View Model,ViewController是一种粗粒度的用户交互模型。它负责将用户要完成的任务分解,映射到用户界面的各个视图中去。视图内部的用户交互动作则由ViewModel去描述。
CoreInterface为用户界面中的视图(View)提供了与车载设备进行数据交互的接口。车载设备把列车相关信息通过这个接口传送给用户界面,向司机进行显示;当需要司机进行操作时,也通过该接口向车载设备进行信息发送。CoreInterface在用户界面与车载设备之间建立起一个缓冲区,减少了两者之间的相互耦合,提高了代码的可维护性和可重用性。
图3车载人机界面设计模型
从图3中可以看出,View Controller负责在各个视图问的切换调度。它接收来自各个视图的事件。ViewController在系统中是非可视化的,它只负责协调各个视图问的调用。运用UML的顺序图可以对调度的过程进行描述(图4)。
图4 ViewController的调度顺序图
(3)包和类的划分和处理
对用况进行详细的描述后,可以对系统的功能模型和车载人机界面模型进行定义和描述。UML提供了在设计初期描述对象总体框架的工具——包(package)。包就是对象组,借助包图,可以描述出系统的对象组之间的联系,确定出系统对象集合之间的层次和结构包图是用况图归纳分类的结果,它往往可从用况图直接导出。作为GUI模型中唯一直接与司机打交道的部分,视图模块包由配置界面、数据界面和操作界面三部分组成(图5)。
图5视图模块包图
对于包图中的每一部分分析可以得出类图。为了便于司机进行操作,在操作界面中,把相关的信息放在一起进行显示,分成了五个不同的类。速度类向司机提供有关列车目标速度,允许速度,缓解速度和当前速度等相关速度信息;计划信息类提供司机选定的距离区域内的提示信息例如车站的位置,坡度信息,起始位置信息,速度曲线相关信息和地理信息,并且能够显示大限制曲线。列车进行制动时,监督距离信息类提供目标停车点的预告距离,干涉预告时问信息。车载设备向司机发出的命令以及司机进行的人工干预,通过辅助驾驶信息类和监测信息类来实现。每个类负责相关的信息显示,在人机界面中分成了五个相对集中的部分。它们在的分布如图6所示。
图6操作界面zhonggong能模块的分布图
对每一个类,我们还应识别属性和操作。操作界面类和CoreInterface类的一些属性和方法定义如图7所示。
UML对面向对象设计的表述能力相当强大,可以较好地描述车载人机界面模型的各个层面。通过UML用例图可以很清晰地导出ViewModel,View Controller以及Core Interface。利用UML的包图和类图对模型进行分解细化。创建顺序图和活动图描述了模块之问的协作关系以及模块内部的状态转移顺序。车载人机界面的层次化和模块化结构可以较好地与UML各个粒度的设计工具相结合,较好地融入到整个软件的设计过程中。
3、列车运行控制系统车载人机界面的实现
Rose在构造阶段根据对象设计创建组件。组件图显示组件间的编译相关性,选择每个组件的语言后,可以产生框架代码。在此,我们采用c++这种面向对象的编程语言,并用Microsoft公司的VisualC++工具进行了软件开发。
根据建立的GUI模型,采用Visualc++中基于对话框的程序架构来开发软件系统。整个软件系统由多个对话框(Dialogue)组成。ViewModel由多个Dialogue组成,每个Dialogue分别表示不同的View。Dialogue之间的转换,由ViewController来控制,通过消息映射来完成这样功能。
在开发过程中,根据包图和类图的描述对界面中的各种视图进行实现人机界面的视图中操作界面是重要也是复杂的,下面以操作界面为例来说明开发的过程。利用RationalRose自动生成表示模型代码的能力,可以产生操作界面的框架代码,将图7中描述的操作界面类转化为用c++描述的代码,操作界面基类和各个子类得到了很好的封装,保证了代码与对象模型的同步性。有了界面的框架代码,我们只需要在函数体中。添加实现具体功能的代码就可以了,采用这种方法避免了设计人员与实现人员之间的理解偏差,提高了软件的整体性。
图7 操作界面和CoreInterface类图
分别对操作界面中的五个子类进行实现。在实现时,要充分结合上文论述的人机界面原则,例如在辅助驾驶信息类中显示当前命令和提示以及系统状态时,遇到要求司机进行操作,将用黄色显示并加上一个黄色闪烁的边框。当操作正确时,闪烁停止。在情况发生后(如离开隧道)或情况开始后(当列车的前端通过命令或提示指出的位置后,如降低受电弓),命令或提示符号从这个区域被删除。当操作不正确时,符号以红色显示并加上一个红色不闪烁的边框,直到命令被正确回应为止。这样可以利于司机及时观察到提示信息,采取相应的措施。
考虑到界面可理解性和美观性的需要,在计划信息类内,采用了特定的图形符号来表示命令和提示信息与速度曲线信息,司机可以激活图形符号来获取第二层信息。在表示距离时,应用对数表示距离范围。因为用纯对数无法显示接近零的距离值,在O到100之间线性插值。图8为驾驶操作界面。
图8驾驶操作界面
View内部的动作以及与司机之间进行的交互以消息响应为基础,通过消息响应过程对用户事件进行处理。例如操作界面收到车载设备发出的制动消息后,触发位于操作界面左上方的制动信息类信息显示。干涉预告时间显示在屏幕左上角的正方形区域内。正方形的尺寸按照距离干涉的时间进行相应的动态变化。竖直的矩形条用来指示距离列车将要停车点的预告距离(见图9)。
图9制动时的操作界面
按照同样的方法,可以对View Model中其他的View进行开发。在ViewModel的基础上,为了实现不同View之间的交互,根据活动图和调度顺序图的描述, 来实现ViewController的功能。ViewController对不同View的调度如图l0所示。司机对界面的参数进行设置,通过数据输入界面对列车的初始数据进行配置配置完成后,进行确认,进入驾驶操作界面。当司机需要查看或者从新配置初始数据时,也可以根据状态图的描述在不同的View间相互转换。
对于GUI模型中CoreInterface,在程序中建立了专用的缓冲区来实现,缓冲区中设置了不同的容器(Vector)来存放View与车载设备之间交互的数据。车载设备把列车相关信息存放在Vector中,用户界面可以从这里提取相应的数据进行显示。因为空间的原因,某些信息不能完全表示在操作界面中。例如检测信息区域可能不能够完全显示出检测信息类中的信息。CoreInterface可以使用户通过功能键从Vector中选择相应的信息显示,避免了重要的信息被忽略或覆盖,提高了代码的完整性。
图10初始数据输入界面
4、结论
本文深入分析了列车运行控制系统车载人机界面所要实现的功能,设计了一种能够很好的完成需求的GUI模型。这种模型为车载人机界面的需求分析、界面结构化和层次化设计,以及界面动态交互任务设计提供了逐步细化的设计框架。
在建模过程中,使用UML及其工具RationalRose建立了静态模型和动态模型的各种视图,描述了系统的功能需求、功能流程、类的结构与关系、对象之间的交互。对软件进行了整体的规划和设计,有效地弥合界面设计与核心应用之间的分歧,提高了软件设计的质量和效率,减少了设计人员对需求的理解偏差、设计人员之间的理解偏差,以及设计人员与实现人员之间的理解偏差,提高了设计的一致性、完整性和可维护性。这种方法的优势,在对列车运行控制系统车载人机界面的实现过程中充分的显示了出来
一、 概述
在人机界面(HMI)的画面工程文件编制过程中离不开软件的修改和调试工作,一般情况下,带触摸功能的人机界面组态软件具有工程文件离线仿真功能,不需要连接用户PLC,工程人员就可以比较方便的调试编制的HMI工程文件,直到工程文件满足设计要求。
但在编制小型文本人机界面时,由于小型文本HMI的画面组态软件一般都不支持工程文件的离线仿真功能,工程人员编制工程文件时,往往要多次连接相应的PLC来完成HMI工程文件的编制工作,比较费时、烦琐。在此,我们就提供一种可以模拟具有ModbusRTUSlave协议的串口设备(如PLC)仿真器,通过这一仿真软件的使用,工程技术人员可以方便的在PC机上调试和修改小型文本HMI的工程文件。
二、 Modbus_Simulator软件简介
Modbus_Simulator为Modbus RTU Slave协议设备的仿真软件,主要可用于Modbus RTUMaster设备的调试。本软件为公益软件,不用注册,可自由使用。使用中发现软件Bug时请告知我们改正!软件发布在本公司网站,下载解压安装后,点击Modbus_Sim图标就可使用。
本软件运行于bbbbbbs平台下,Modbus_Sim.exe执行后,弹出如下画面
其中:寄存器地址项为要显示数据寄存器的初始地址。[0,0]的前一个数据位是通信时所接收数据帧的次数值,后一个数据位是数据帧的长度值,方括号外的数据为接收数据帧值,本项参数仅用于串口正常通信状态的监测。串口正常通讯时,接收帧次数值递增变化;“帧值”按通讯实际值变化。如果这两项值不发生变化,表示通信口未连通!弹出的初始窗口画面中默认显示的数据为:03:Hold,数据格式为:16Bits Dec。
1、 软件支持多窗口显示,点击图标 ,可增加一幅数据窗口,如下图:
2、本软件支持Modbus RTU全部四种数据寄存器的显示,分别为:
寄存器类型的选择也可在“显示”项中选取。
3、软件提供8种数据格式,分别为:
数据格式的选择也可在“显示”项中选取。
4、支持寄存器数据地址两种寻址方式,分别为:
地址类型的选择也可在“显示”项中选取。
5、通信参数设定:点击“通信”选项中的“设置”,软件弹出“通信设置”画面,选择恰当的通信参数值后再“确定”退出。
三、用于POP-HMI文本显示器工程文件调试举例
1、 要求:
硬件:
① 支持Modbus RTU Master协议的POP-HMI文本显示器一台。
② POP-HMI文本 PC下载线一根
软件:POP-HMI文本画面组态软件V5.32 ;Modbus_Sim 仿真软件V1.0。
其中:文本显示器为Modbus RTU Master主设备,Modbus_Sim软件为 Modbus RTUSlave仿真从设备。
2、使用步骤:
① 用POP文本的画面组态软件JB-HMI完成文本的Modbus RTUMaster协议的组态编程(详见POP-HMI文本使用手册),下载组态好需修改、调试的画面工程文件到POP文本中。串口为PC机的COM1端口,文本显示器作为ModbusRTU Master设备,用户设备的Modbus RTUSlave通信参数为:波特率19200,数据位8,停止位1,偶校验,设备站号为0,如下图:
②打开Modbus_Sim软件,选择“通信”中的“通信设置”项,设置与POP-HMI
文本中一样的通信参数值,即
③点击图标 ,或选择“通信”中的“连接”项,POP-HMI文本将与Modbus_Sim软件模拟的ModbusRTU Slave从站设备正常通信。
④ 进入Modbus_Sim的工作画面,根据设计需求选择自己需要查看或设定的数据寄存器,进行POP-HMI文本的调试工作。
⑤如果JB-HMI组态软件产生的工程文件不能满足设计要求,则断开Modbus_Sim与文本显示器的通讯连接,并返回步骤①修改工程文件,直至满足设计需求为止。
四、结束语
Modbus_Sim能很好的仿真Modbus RTU Slave设备,可以作为支持Modbus RTUSlave通讯协议的软件仿真器,用于各种Modbus RTU Maste设备的调试工作。