APP下载

SCL语言在制丝电控集成系统中的应用

2020-01-16陈佳炜吴思振李润增黄瑞环

智能建筑电气技术 2020年1期
关键词:功能块制丝编程语言

陈佳炜, 吴思振, 李润增, 黄瑞环

(1.上海烟草集团有限责任公司,上海200082;2.北京达特集成技术有限责任公司,北京100176)

1 编程语言

1.1 编程语言概述

无论是面向PLC的编程语言还是面向PC机或服务器的编程语言,都是对如何控制设备进行动作的一种描述,这种描述方式就是程序,描述的工具就是编程语言。编程语言经过相应编译器进行编译,形成机器能够识别的指令集,载入(下载)到机器的存储器内,机器通过从存储器中读取一条条指令进行动作。不同的编程语言对应不同的编译器,编译器相当于人们日常所说的翻译。

日常所使用的PLC,不同的生产商所提供的编程语言也不尽相同。尽管有国际标准化组织对一些PLC编程语言进行了标准化,但各供应商对某一标准化语言的支持也略有不同。这就造成系统集成商在控制对象相同的情况下,选择不同的PLC也会导致程序需要重写的情况。是否存在一个统一的语言,适用于不同的PLC编译器?SCL可能会是一个方案。

1.2 PLC的主流编程语言

1.2.1 PLC的编程语言是平等的

语言没有高低贵贱之分,只是面向的机器不同,面向的开发者不同。平时所说的高级语言不是指高人一等的“高级”,只是面向更复杂的设备,程序中用到的指令更加集成化而已。越是高级的语言,其编译后占的空间越大,执行效率越低。

本文未列出所有的PLC编程语言,下文只以使用最广泛的三种语言为例进行比较说明。

1.2.2 梯形图(LAD)

这种编程语言是从电气工程的角度对程序进行的一种描述。程序看起来就是一张电路图,非常适合电气工程师。优点是程序易读,在线纠错时很直观。但也存在缺陷,不易操作数据处理等复杂编程,而且,编程时编辑器空间利用率低,不易标注灵活的注释。当程序语句不便用LAD表达时,通常使用插入语句表(STL)来实现指令,以混合编程的方式实现。

1.2.3 语句表(STL)

这种语言属于汇编语言,通过一些助记符来表示处理器能执行的动作,属于面向处理器的语言。优势是这种程序能实现各种应用要求,经编译后,程序占用的存储器空间小,执行效率高。但语言不易学习,编出的程序不易读懂,编程效率不高。

1.2.4 结构化控制语言(SCL)

英文全名为“Structed Control Language”,语句结构上接近Basic、Pascal、C等高级语言,而语法上接近Pascal语言。这种语言接近高级语言,也更接近自然语言,易于阅读;属于行编辑式语言,编辑器空间利用率高,编程效率高。但也同样存在执行效率低的问题,随着硬件性能的不断提升,这个缺点会持续地改善。在使用中,比语句表和梯形图更容易获得程序员的青睐。

2 SCL语言的特点

2.1 易读性

SCL语言编写的程序更具易读性是因为SCL语言接近高级语言。SCL语言中的关键字或指令的书写形式都是如“IF”“THEN”等这种自然语言的单词。

SCL语言废除了STL语言中的“GOTO”指令。“GOTO”指令不具有逻辑性,使读程序的人难于理解。 SCL通过“IF”“THEN”“WHILE”“CASE”等指令完全实现了“GOTO”指令的功能,而且程序读起来更加容易理解。

2.2 开发的高效性

高级语言的特点就是编程效率高,SCL语言接近高级语言,也是因为 SCL语言的编程效率和Pascal、Basic等语言非常接近。

SCL语言的“REGION”指令是用于将程序分段的,有了这个指令,程序员可以将程序放到不同的自己命名的“REGION”块中,不需要时可将这块程序“合”起来,只看到“REGION”名字,使程序占用的编辑空间减到最小,更易于编写出逻辑性强、结构清晰的程序。

另外,SCL语言因为更接近高级语言,所以对于复杂数据类型(如多维数组等)的运算也更加得心应手。

2.3 通用性

这个特性应该是SCL语言最吸引人的特点。使用SCL语言编写的功能块可以导出一个纯文本文件,在一个项目中,也可以随时导入一个文本文件,并基于这个导入的文件生成一个功能块。而且,生成的功能块能被STL、LAD等其他语言调用。

SCL语言的这一特点可以帮助程序员自行开发一个通用的库文件。将重复使用的功能块放到这个库中,需要时,再把这些功能块从库中导出到特定的项目中。这就能通过功能块的简单重复使用提高程序员的编程效率。

3 在制丝电控集成系统中的应用

3.1 制丝电控集成系统简介

制丝电控集成系统是烟草行业将烟片制成烟丝工艺过程的自动化控制系统。此系统控制的主要设备包括切片机、回潮筒、加料机、预混柜、储叶柜、切丝机、烘丝筒、皮带(振动)输送机等。其中的核心工艺设备(如切片机、切丝机、烘丝筒等)通常自带电控系统。制丝电控集成系统要与这些单机电控系统进行通讯,控制这些设备协调运转,达到用户对工艺数据的要求。除了这些单机设备外,系统还要集成一些智能仪表,如水分仪、温度计、压差仪等。除了工艺上必须的设备和装置外,可能还要和消防、异味处理等系统进行集成,以使制丝电控集成系统与其兼容,满足用户的要求。

3.2 制丝电控集成系统面向的对象

制丝电控集成系统在完成现场调试后,要交付用户使用。为保证制丝电控集成系统能够正常运转,除配置操作人员外,还要配置电气人员对系统进行维护和故障排除。必要时,还要查看PLC程序,帮助判断故障。这些电气人员一般是电工出身,熟悉电路和电控器件。在程序方面,LAD程序最适于电气人员专业使用。所以,从电气人员的角度讲,PLC程序都用LAD的方式编写是最合适的。

但对于系统集成商,开发语言的通用性、高效性才是首先要考虑的。这就产生了矛盾,PLC程序用什么语言开发更加合适?

笔者认为,目前的方案是,对于无需电气工作人员关注的程序块(如报警块、电机块、模拟量转换等功能块)采用SCL语言开发(这些功能块对系统集成商来说是有重复使用价值的),电气人员只需要关注设备的正常运转即可。

3.3 采用SCL语言的效果

经过实际检验,电气工作人员很容易接受这种方案。随着计算机编程越来越普及,很多电气工程师都接触过高级语言的编程,因此,有些电气工程人员在阅读SCL编写的程序时较容易快速理解,SCL语言会有很大的普及空间。

但SCL毕竟是一个“年轻”的语言,还有很大的标准化空间。目前,尽管SCL在各个PLC平台越来越标准化了,但各个平台对其的支持参差不齐。因此,对于PLC程序开发者来说,要想功能块能有更好的兼容性,就需要尽量使用标准的SCL语句书写程序。

猜你喜欢

功能块制丝编程语言
优化烟草制丝设备的具体措施探讨
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
浅谈优化烟草制丝设备提高烟丝质量
计算机软件开发的JAVA编程语言及其实际应用分析
如何编写200SMART程序
基于PLCopen的六轴工业机器人运动控制功能块设计
浅谈不同编程语言对计算机软件开发的影响
自定义功能块编程在反渗透膜自动清洗设备中的应用
Ovation系统FIRSTOUT和FIFO跳闸首出比较
制丝过程对卷烟综合质量影响的研究进展