基于RIA和软PLC的现场总线监控系统的设计
相应调整即可"本系统中的TwinCAT软件PLC支持IEC61158标准中包含的主要总线协议,无需针对不同总线协议作特别调整。
3 软件系统的实现
3.1 RIA技术
与基于文本的传统Web页面相比,在基于RIA的Web应用中,由于数据能够被异步缓存在客户端,故可实现接口更健壮、反应更灵敏、响应速度更快并具有媲美桌面系统界面功能的Web应用。
RIA是基于XML、脚本语言和WebServiee的。对开发者而言,应用RIA技术有着多种途径:基于Flash的Flex、基于。NET技术的SilverUght及基于Java技术的JavaFX等。相比较而言,Flash的强大影响使得Flex技术成为广受青睐的解决方案,Flex编程模型、Flash等各个产品也构成了完整的RIA开发平台。对用户而言,使用Flex与使用Flash一样,无系统平台和浏览器兼容性问题,只需在客户端运行环境中安装有FlashPlayer就可以了。
由于RIA的应用模型是多层架构的,与此对应,本系统的结构被划分成明显的功能单元和多层逻辑结构:客户层、表示层、业务逻辑层和资源层(见图4)。这种多层架构可以降低系统各层之间的藕合度,使得客户端与数据库隔离,这样既可有效地保证系统的安全可靠,又使系统具有较好的可扩展性与可维护性。

图4系统采用的多层结构
3.2 多层逻辑结构
1.客户层。由基于RIA的Web应用来实现。使用浏览器,系统可以显示所有的动态监控数据和完成控制指令设置等操作。基于RIA的Web应用采用Flex的开发语言ActionScriPt3。0和编译器,使用时Flex会在weh服务器中生成和发布swf文件,并在客户端Web浏览器访问服务器时,由客户端的FlashPlayer下载和运行。
2.表示层。Flex本身不能直接与数据库通信,系统的表示层是用ASP。NET来完成的,当用户需要进行数据交换时,AsP。NET服务器负责与数据库的通信(由ASP。NET经由中间层提供的ServieeInterface接口进行访问)。Flex本身可以通过多种方式和Socket进行数据交换,如WebService、HTTPSerVice、RemoteObject等。本系统采用了WebService方式。下面为使用webservice进行数据交互通信的一个简单示例。
首先准备后台服务端的WebService。

这里,使用wsdl设置WebServiee的URL,最终,由load的onRequest()方法指定testService调用webService的MyTest()。其中onSuccess()方法用于处理调用成功的信息,而onFault()用于处理调用失败的信息。
3.中间层。所有与数据有关的处理,如并发操作,完整性和一致性控制、安全控制等都是在这一层完成。
4.业务层。完成控制系统需求的业务逻辑,由软PLC对经由现场采集的I/O数据按照业务需求加工处理,并保存和更新数据库数据。与常见的多层体系相同,在业务层中完成系统的数据库访问事务。如需要将系统整合到企业的信息管理系统中,可以通过业务层以定制方式组织各公用数据库的连接。通常认为,这是一种值得推荐的企业生产信息管理模式。
5.资源层。资源层是为系统提供资源服务的,如数据库的数据资源。开发者也可以利用该层集成与整合企业的其他信息资源。
3.3完成中间层
系统多层架构中的中间层的实现主要依托WebService。WebService主要利用HTTP和SOAP(simpleobjectaccessprotocol)协议使业务数据在Web传输,也就是说,webService在系统中形成了一种多层应用通信机制的规范。这样,中间层可以做到:远程监控用户可以从Web页面直接调用中间层组件,从而不再需要建立某些相关的互动页面,提高了系统开发效率。系统网页的开发是基于C#的,使用WebService时,直接使用了。NET的SOAP客户端。
系统运行时,用户通过浏览器访问远程监控现场的操控页面并对控制节点发出控制信号。作为响应,web页面以SOAP协议与WebService组件通信,将获得的控制信号以参数形式传递给Webservice,再由webservice调用软PLC中预设的业务控制逻辑(TwinCAT程序中的POU(programorganizationunit)并执行,从而实现了对远程现场节点的控制。
在本系统中,实现WebService的主要步骤是:首先需要生成SOAP代理类:在命令行使用Wsdl。EXE(webservicesDescriptionLanguage)生成代理类:Ws-dl。exe/l:C#/n:mywebservice/out:test。eshttp://292。168。0。4/myControl。asmx;然后,需要编译并部署代理类,以便将代理类文件myControl。cs编译为DLL文件,存放在bin文件夹下:CSC/t:libray/out:bin\\my-Control。dllmyControl。es/r:System。dll/r:System。Web。serviee。dll/r:system。XML,dll。一旦生成代理类后,Web服务就如同系统的内置类般,只需通过在Web应用程序项目中“添加Web引用”来建立与WebService的联系,就可直接使用Web服务了。
系统运行时,Web页面首先查询对WebSercice进行分类和描述的
PLC现场总线系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
