[FS1专题]__FS1简介
前言: 在公司授权下,我开这个Flexem Studio 1专题来介绍Flexem Studio的一些开发常识.以便新手了解FlexemStudio是个什么东西.
先介绍几个行业概念.
1.组态软件
以下摘录于百度百科:
组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,它解决了控制系统通用性问题。其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和I/O产品,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,进行系统集成。 组态软件通常有以下几方面的功能:
(1)强大的界面显示组态功能。目前,工控组态软件大都运行于Windows环境下,充分利用Windows的图形功能完善界面美观的特点,可视化的m风格界面、丰富的工具栏,操作人员可以直接进人开发状态,节省时间。丰富的图形控仵和工况图库,既提供所需的组件,又是界面制作向导。提供给用户丰富的作图工具,可随心所欲地绘制出各种工业界面,并可任意编辑,从而将开发人员从繁重的界面设计中解放出来,丰富的动画连接方式,如隐含、闪烁、移动等等,使界面生动、直观。
(2)良好的开放性。社会化的大生产,使得系统构成的全部软硬仵不可能出自一家公司的产品,“异构”是当今控制系统的主要特点之一。开放性是指组态软件能与多种通信协议互联,支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。 组态软件向下应能与低层的数据采集设备通信,向上能与管理层通信,实现上位机与下位机的双向通信。
(3)丰富的功能模块。提供丰富的控潲功能库,满足用户的测控要求和现场荽求。利用各种功能模块,完成实时监控 产生功能报表 业示历史曲线、实时曲线、提供报警等功能,使系统具有良好的人机界面,易于操作,系统既叫适用于单机集中式控制、DCS分布式控制,也可以是带远程遇信能力的远程测控系统.
(4)强大的数据库。配有实时数据库,可存储各种数据,如模拟量、离散量、字符型等,实现与外部设备的数据交换。
(5)可编程的命令语言。有可编程的命令语言,使用户可根据自己的需要编撰程序,增强图形界面
(6)周密的系统安全防范,对不同的操作者,赋予不同的操作权限,保证整个系统的安全可靠运行。
(7)仿真功能.提供强大的仿真功能使系统并行设计,从而缩短开发周期。
2.上位机与下位机
以为摘录于百度百科
上位机是指人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。
在概念上
控制者和提供服务者是上位机
被控制者和被服务者是下位机
也可以理解为主机和从机的关系
但上位机和下位机是可以转换的
两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯,里面会举大量例子,一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。
通常上位机和下位机通讯可以采用不同的通讯协议, 可以有RS232的串口通讯,或者采用RS485串行通讯,当用计算机和PLC通讯的时候不但可以采用传统的D形式的串行通讯,还可以采用更适合工业控制的双线的PROFIBUS-DP通讯,采用封装好的程序开发工具就可以实现PLC和上位机的通讯。当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。
3.Flexem Studio
而我们的Flexem Studio很明显就是上位机系统. 下位机由另外一组人开发. 打个不是很恰当的比喻: FlexemStudio就好像VisualStudio一样.工业设备就好像Windows操作系统和主机一样.而.Net就差不多相当于下位机了.虽然实际意义不是这样. 在Windows上,我们通过VS开发应用程序.写好后通过编译器编译成可执行文件由操作系统来执行. 而且在开发工业设备软件上,我们在Windows上是通过FS开发好设备上的应用程序.然后通过FS编译功能将你的应用程序打包成下位机可以识别的格式文件.接着烧到设备中.通过设备上运行的解释程序.就可以在设备上运行我们在windows上开发的程序了.
现场开发模式大致为:FS1 <-> 触摸屏(HMI) <-> PLC <-> 工业设备. 而HMI与PLC之间通过地址通信,读写PLC地址就间接控制了工业设备.
4. Flexem Studio 开发
事实上FlexemStudio是一款基于.Net WPF技术.以MVVM架构的行业软件. 开发将按照MVVM模式(MVVM实践采用Caliburn.Micro)进行.
比如说某一个模块开发.流程如下:
- 最先将有需求人员在Wiki上作出需求规格说明书.
- 设计师提出Model设计.
- Model设计人员进行Model设计.Model将采用CSLA.Net的业务对象概念.设计Model时候需要在其中写有关于该模块的对外属性数据验证.该部分最好写单元测试进行验证
- 同时View设计人员也进行View设计.
- 在Model设计人员做完Model设计后.由View设计人员将View和ViewModel整合一起.并进行调试.
在这里面View设计师是不必要了解CSLA业务对象的.只需要了解Model会提供给你那些属性和属性验证.View设计人员只需要在数据验证的地方使用PropertyStatus进行数据验证失败时的显示.
至于有关更多开发细节将在后面提及