基于RIA和软PLC的现场总线监控系统的设计
首先准备后台服务端的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进行分类和描述的UDDI(universaldeseription,discovery,andintegration)协议注册表,在完成对指定WebServ-ice的定位后,由代理类对象实现与实际的远程WebService以SOAP协议进行通信,然后由WebService完成相应的业务逻辑。这样,WebService组件作为中间层,形成了与表示层和业务层之间的纽带。
4 结束语
软PLC+现场总线+分布式远程I/O的控制系统集成和利用了PC平台上的硬件和软件资源,简化了工控系统的组成结构,提高了效率,也降低了系统成本。以此为基础,再将其与基于RIA的Weh技术集成,借助RIA架构带来的数据异步传输和局部刷新,可实现数据快速交互。这样,只需通过浏览器,就可以在远程对控制系统完成组态、诊断和实时监控,其中的RIA技术又大大改善了Web监控的可视化体验性能与系统的响应性能。
评论