用户中心

资讯 > 封面特写

控制系统软件编程

作者:Krzysztof Pietrusewicz Łukasz Urbański2012.05.27阅读 19113

        在为工业控制系统应用程序做准备时,都有哪些选择?对于用户来说,控制解决方案的鲁棒性和功能性是否能兼而有之?能否实现工业控制系统的快速搭建?

        大多数成品可编程逻辑控制器(PLC)都可以使用IEC61131-3标准中规定的至少一种编程语言进行编程:
        ■  IL(指令表)——与汇编语言类似的低级编程语言。
        ■  LD(梯形图)——基于电路走线和继电器等规则的图形语言。
        ■  FBD(功能块图)——一种能够实现复杂控制和数字功能的简单的图形语言。用户可以使用库中提供的功能模块或者创建用户自定义功能模块(使用符合IEC 61131-3标准的任何一种编程语言)来创建控制算法。
        ■  ST(结构文本)——语法上与Pascal语言和Basic语言类似的一种文本语言;能够有效应对各种复杂的控制算法。
        ■  SFC(顺序功能图)——描述过程和设备作业的一种图形语言。它是IEC 61131-3标准中规定的唯一一种依赖于至少其他一种编程语言的语言。SFC用来创建过程状态机;每一个状态机都使用另外一种语言编写CONTROL ENGINEERING China版权所有,例如ST或者IL。
        现在最常用的是什么语言?在Control Engineering美国和波兰读者群中,最流行的编程语言是梯形图。
        功能块图与电路类似,都具有逻辑元件CONTROL ENGINEERING China版权所有,在常用PLC编程语言中排名第二位。
        第三位是指令表语言。先进的加法器管理引擎能够在控制系统算法中支撑这种数字依赖性很高的最复杂的编程语言。


使用ST实现简单的PID控制。
资料来源:Control Engineering Poland

        结构文本语言能够用来实现控制算法。高级用户可以很容易地创建自己的功能模块,实现单输入单输出和多输入多输出过程。这种语言在最受欢迎的PLC编程语言中排名第四位。随着新型PLC的计算功能越来越强大控制工程网版权所有,这种语言也变得越来越流行。这种语言是创建自定义库的最佳工具,为PLC增色不少。
        功能块图的使用是通过PLC创建面向对象任务的第一步。对结构文本语言开始了解的人每年都在增加,相比于梯形图,很多年轻的工程师更喜欢结构文本语言CONTROL ENGINEERING China版权所有,所以未来这种语言在业界的应用将会更流行。
        顺序功能图被称为“专家所使用的语言”,用户使用这种语言可以创建整套设备或者过程的流程图。
        有一些PLC现在可以使用符合Kernighan& Ritchie标准的ANSI C语言进行编程,有些型号的PLC甚至支持C++语言编程。工业控制系统生产厂商通常都提供额外的基于自身产品平台的专用编程语言,它们能与硬件更好地整合,例如对BIOS和唯一序列号等进行操作。
        工业PC(IPC)配有传统的操作系统,通常是微软公司的Windows操作系统和运行于同一台计算机上的实时系统。这种组合的优势在于既能利用IEC 61131-3标准中规定的“编程”语言又能利用基于微软公司Windows系统的高级语言,例如C++或者C#。
        最近几年传统PLC获得了长足的发展,有时很难将PLC和IPC进行明确界定。当一台设备的功能超过PLC,计算功能类似于IPC,但是同时又具备了PLC耐用的外壳CONTROL ENGINEERING China版权所有,那么它就被称为可编程自动化控制器(PAC)。PAC获得了分布式控制系统(DCS)生产厂商的关注,一些厂商已经将PAC作为其DCS产品供应市场。PAC支持使用大量的文本形式的高级编程语言(C、C++、C#),还支持图形编程语言(如前文所列)。
版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688