外文翻译--基于ST语言(结构化文本语言)可编程控制器(中文)

2020-06-27 07:36:49

【导读】的控制逻辑应用,在此过程中我们使用的是IEC61131-3标准ST语言。可编程控制器是大多数控制项目的骨干,例如发电,钢铁生产,化工,石油化工,核电站等各行业。一个可编程控制器是一种工业计算机控制系统,它能连续监。测设备的输入状态,并且根据某种程序来控制输出设备的状态。条件是一段时间,要求可编程控制器的输出结果应该为一个实时的系统。PLC生产厂商使用自己的编程语言,这些语言与他人是不兼容的。为了提高不同产品之。IEC61131标准的第三部分规定了统一的基于可编程控制器的编程语言套件的语。如一个SCADA站)发送信息。使用要求1:读取以下内容的输入情况。时间扫描为每10ms读取一次。2.如果P1停止按钮被按下,或者排水压力过高则停止工作。对任意外部查询设备发送相应响应数据。制器系统的程序必须支持该系统。系统所利用的所有资源组织在一起,并提供他们之间交换数据的协议。源进行任务分配。执行某个组织单位的方案,其中包括程序集和功

  

【正文】

第1页共8页

中文2670字

基于ST语言(结构化文本语言)可编程控制器

组态控制和编程经验

作者:G.Karmakar,AshutoshKabra,JoseJoseph,B.B.Biswas,R.K.Patil

反应器控制部分巴哈马原子能研究中心

摘要:本文的主要内容为在可编程控制器的配置过程中,根据运行过程中的配置情况进

行程序代码编写,并且将实时操作系统抽象的嵌入PLC硬件之中,从而实现一个典型

的控制逻辑应用,在此过程中我们使用的是IEC61131-3标准ST语言。

关键词:PLC,ST语言,POU(程序组织单元),配置,资源,程序,功能

可编程控制器是大多数控制项目的骨干,例如发电,钢铁生产,化工,石油化工,

核电站等各行业。一个可编程控制器(PLC)是一种工业计算机控制系统,它能连续监

测设备的输入状态,并且根据某种程序来控制输出设备的状态。针对生产过程中的输入

条件是一段时间,要求可编程控制器的输出结果应该为一个实时的系统。在过去,许多

PLC生产厂商使用自己的编程语言,这些语言与他人是不兼容的。为了提高不同产品之

间重用组件的兼容性和互操作性,国际电工委员会61131标准针对主要不同引入统一的

做法。IEC61131标准的第三部分规定了统一的基于可编程控制器的编程语言套件的语

法和语义。在本文中,我们描述了一个运用PLC的典型控制逻辑应用,包括实时的程序

写入,实时的代码生成配置,和PLC硬件部分的实时操作系统嵌入,在此过程中我们运

用的是ST编程语言。

案例定义

一个简单的应用案例,控制一个水泵P1和排放阀V1并且根据要求向指定设备(例

如一个SCADA站)发送信息。

使用要求:

使用要求1:读取以下内容的输入情况。

a)P1的启动按钮的状态(离散输入)

b)P1的停止按钮的状态(离散输入)

第2页共8页

c)V1的启动按钮的状态(离散输入)

d)V1的关闭按钮的状态(离散输入)

e)P1的开/关状态(离散输入)

f)读取P1排水压力(模拟输入)

时间扫描为每10ms读取一次。

使用要求2:控制联锁

水泵P1:P1开始按钮按下,水泵启动并持续工作直到P1停止

按钮被按下。

2.如果P1停止按钮被按下,或者排水压力过高则停止工作。

阀门V1:V1的开启按钮按下或者水泵已经开启并已经运行3

秒钟

2.如果V1的停止按钮按下或者水泵没有运行。

使用要求3:通信协议/服务器

对任意外部查询设备发送相应响应数据。

的域模型

下图3-1描述的是PLC的域模型

图3-1PLC的域模型

4.软件模块和基于IEC61131-3标准的工程模块

IEC61131-3标准的软件模型包括由运用该标准及其组态要点定义的语言编写的程

序元素,既组态,资源,任务,全局变量和实例,具体的初始化,其中安装到可编程控

制器系统的程序必须支持该系统。基于IEC61131-3标准的软件体系结构图如图4-1所

示。

结构应用程序

编码生成器构建和下载功能

框架和实时操作系

第3页共8页

图4-1基于IEC61131-3标准的软件体系结构

组态,资源,任务

在最高的等级中,针对一个特定问题的控制软件是包含在一个组态系统中,他把PLC

系统所利用的所有资源组织在一起,并提供他们之间交换数据的协议。

资源就是其中的处理设施,能够执行IEC方案,它的定义为,向PLC系统的物理资

源进行任务分配。一个组态中可以有一个或多个资源。组态和资源不会像程序组织单元

那样包含相互指示,但仅仅定义它们的元素之间的关系。

任务是定义为一个能够援引的执行控制单元,他可能发生在一个定期时间段,或者

时间段之后,或者某个变量的上升沿。执行某个组织单位的方案,其中包括程序集和功

能模块。

像其他PLC应用方案一样,我们需要定义复合要求的I/O硬件设备和他的类型,对

于我们研究的案例,包括一个数字输入卡,一个数字输出卡和一个模拟输入卡。配置ST

程序如下:

组态过程控制程序

TYPE

组态元素

组态

资源

任务/运行时程序

程序功能模块

功能模块

功能模块

功能功能

第4页共8页

DISCRETE_DATA:BOOL;(*离散输入的数据类型*)

END_TYPE

TYPE

DISCRETE_16_DATA:ARRAY[1..16]OFDISCRETE_DATA;

END_TYPE

TYPE

ANALOG_DATA:INT(-4095..4095);(*分区域中的数字*)

END_TYPE

TYPE

ANALOG_16_DATA:ARRAY[1..16]OFANALOG_DATA;

END_TYPE

TYPECOMM_CHANNEL

SENDER_IP:UINT;

SENDER_PORT:INT;

REC_IP:UINT;

REC_PORT:INT

END_TYPE

RSOURCERes_1ONCPU001

VAR_GLOBALCONSTANT

NUM_DIGIN_CARD:UINT:=1;

NUM_ALOGIN_CARD:UINT:=1;

NUM_DIGOUT_CARD:UINT:=1;

NUM_ALOGOUT_CARD:UINT:=0;

P1psh:ANALOG_DATA:=P1PSH;(*setpointforPSH*)

END_VAR

VAR_GLOBAL

DV_I_X:ARRAY[1..NUM_DIGIN_CARD]OFDISCRETE_16_DATA;

DV_I_W:ARRAY[1..NUM_ALOGIN_CARD]OFANALOG_16_DATA;

DV_Q_X:ARRAY[1..NUM_DIGOUT_CARD]OFDISCRETE_16_DATA;

(*DV_Q_W:ARRAY[1..NUM_ALOGOUT_CARD]OF

ANALOG_16_DATA;*)

END_VAR

第5页共8页

TASKT1(INTERVAL:=t#50ms,PRIORITY:=3);

TASKT2(INTERVAL:=t#10ms,PRIORITY:=2);

TASKT3(INTERVAL:=t#500ms,PRIORITY:=4);

PROGRAMPumpCtrlWITHT1:PumpP1Control(P1on_off=>

DV_Q_X[1,1],P1startC:=DV_I_X[1,1]P1stopC:=DV_I_X[1,2],

P1disPr:=DV_I_W[1,1]);

PROGRAMValveCtrlWITHT1:ValveV1Control(V1open=>

DV_Q_X[1,2],V1close=>DV_Q_X[1,3],V1openC:=

DV_I_X[1,3],V1closeC:=DV_I_X[1,4],P1startC:=DV_I_X[1,1],

P1status:=DV_I_X[1,5]);

PROGRAMScanInWITHT2:ScanInput();

PROGRAMCommWITHT3:ComSlave();

END_RESOURCE

END_CONFIGURATION

.程序

一个程序是一个功能网络和一个可以通过软件连接交换数据的功能模块,他可以用

任何已经定义过的编程语言来进行编辑,一个程序可以同时读取和写入输入/输出变量

并能实现和其他程序进行通信。执行程序的不同部分,例如执行选择功能模块,也许会

被使用中的任务控制。

对于我们研究的范例,我们有以下的程序:

水泵P1控制

阀门V1控制:用ST语言编写的阀门控制程序除了使用了其他一般的ST编程功

能外,还是用了延迟计时器。

PROGRAMValveV1Control

VAR_INPUT

V1openC:BOOL;

V1closeC:BOOL;

P1startC:BOOL;

P1status:BOOL;

END_VAR

VAR

第6页共8页

Vtimer:TON;

END_VAR

VAR_TEMP

T:BOOL;

END_VAR

VAR_OUTPUT

V1open:BOOL;(*V1MOVtoOpen*)

V1close:BOOL;(*V1MOVtoClose*)

END_VAR

Vtimer(IN:=P1startC,PT:=T#3s);

T1:=;

IF(V1openCORT1)THEN

V1open:=TRUE;

V1close:=FALSE;

END_IF

IF((V1closeC=TRUE)AND(P1status=FALSE))THEN

V1open:=FALSE;

V1close:=TRUE;

END_IF

END_PROGRAM

功能和功能模块

这些是基本的组成部分,包含一个数据结构和算法。

对于我们的范例:

•ReadAnalogIn

所要求的功能模块:在任何的PLC中,从物理I/O卡输入是无可避免的。

FUNCTION_BLOCKReadAnalogIn

VAR_EXTERNALCONSTANT

NUM_ALOGIN_CARD:UINT;

END_VAR

VAR_OUTPUT

ALOGIN1:ARRAY[1..NUM_ALOGIN_CARD]

第7页共8页

OFANALOG_16_DATA;

END_VAR;

ALOGIN1:=ReadAlogIn(NUM_ALOGIN_CARD);

END_FUNCTION_BLOCK

•ReadDigitalIn

•TON

所要求的功能

•ReadAlog

FUNCTIONReadAlog:ARRAY[1..NUM_ALOGIN_CARD]

OFANALOG_16_DATA

VAR_INPUT

NoAlogCards:UINT;

END_VAR

(*功能部分*)

END_FUNCTION

•ReadDig

5通信模型

通过改变变量的值,有许多种方法来实现软件之间的通信。

1)在程序中,变量的值可以由一个程序元素的输出直接连接到另一个的输入,如

图5-1所示。

图5-1程序间变量直接通信

2)变量的值在程序之间传递也可以通过在同一组态中全局变量,如图5-2所示。

这些变量组态系统中被定义为全局变量

3)变量的值也可以通过特定的标准通信功能,在一个程序不同部分、不同程序之

间、在相同和不同的组态系统中、抑或在不同的PLC之间以及可编程控制器与非可编程

控制器之间来进行通信。如图5-3所示。

程序

FB1FB2

FBX

a

FBY

b

第8页共8页

图5-2通过全局变量通信

图5-3通过标准通信功能通信

在我们研究的范例中,我们通过通信功能模块来实现与外部之间的通信,程序如下:

PROGRAMComSlave

VAR

CHAN_ID:COMM_CHANNEL;

CON1:CONNECT;

REQ_SEND:BOOL;

RDATA:ARRAY[0..16]OFBYTE;

SDATA:ARRAY[0..16]OFBYTE;

US1:USEND;

UR1:URCV;

END_VAR;

CON1(EN_C:=1,PARTNER:=‘PC2’);

(*PC2=IDofremotem.partner*)

IFTHEN

Error_Handler();

END_IF

IFTHEN

第9页共8页

CHANNEL_ID:=;

UR1(EN_R:=1,ID:=CHANNEL_ID,

R_ID=’PACK1’,RD_1:=RDATA);

IFTHEN

SDATA;=Respond(RDATA);

US1(REQ:=REQ_SEND,ID:=

CHANNEL_ID,R_ID=’PACK2’,

SD_1:=SDATA);

IFTHEN

Error_Handler();

END_IF

END_IF

IFTHEN

Error_Handler();

END_IF

END_IF

END_PROGRAM

FUNCTION_BLOCKUSEND(*Programmeddataacq.*)

(*Functionbody*)

END_FUNCTION_BLOCK

FUNCTION_BLOCKURCV(*Programmeddataacq.*)

(*Functionbody*)

END_FUNCTION_BLOCK

FUNCTION_BLOCKCONNECT(*Connectionmgmnt*)

(*Functionbody*)

END_FUNCTION_BLOCK

6IEC61131-3标准的主要优势

方便和安全的变量和数据类型

1)局部和全局变量是用来代替硬件地址。该编程系统能够自动区分全局变量和局部

变量。

2)变量保留定义。

3)在PLC系统运行时,数组索引变量的范围和界限值可以被编程系统实时监测。

第10页共8页

模块的扩展

1)模块(POUs)的设计为独立目标体系。这使得它有可能为多种平台模块重复使用。

2)对于避免数据模块间传输过程中的由于机制不同而发生错误,是一个有效的手段。

•VAR_INPUT:Valueofavariable

•VAR_IN_OUT:Pointertoavariable

•VAR_OUTPUT:Returnvalue

•VAR_EXTERNAL:GlobalvariableofanotherPOU

6.3对于PLC组态系统的运行

在一个硬件PLC组态系统中能够有利于任务和方案分配到控制器。

7.总结

我们都知道,理解一个标准,使工业控制产品能够以它为基础,最好是从头到尾由

它来引导使用一个优秀的范例,我们希望我们的研究能够对基于IEC-61131-3标准开发

的软件工程项目有所帮助。

8.致谢

作者感谢Shri.Srivastava,DirectorE&IGroup给我们机会进行PLC方面

的研究。

9.参考摘要

[1].IEC.ProgrammableControllers-Part3:ProgrammingLanguages,

IEC61131-3.TechnicalReport,InternationalElectrotechnical

Commission-Geneva,SecondEdition,2020.

[2].IEC.ProgrammableControllers-Part5:Communications,IEC

61131-5.TechnicalReport,InternationalElectrotechnical

Commission-Geneva,2020.

[3]..Jhon,M.Tiegelkamp.IEC1131-3ProgrammingIndustrial

AutomationSystems,Springer,1995.

毕业设计相关推荐

文库吧 www.wenkub.com

鄂ICP备17016276号-1

c编程语言外文翻译及原文,外文翻译--基于ST语言(结构化文本语言)可编程控制器(中文)...相关推荐

  1. st计算机编程语言,ST(结构化文本语言(ST))_百度百科

    ST (结构化文本语言(ST)) 语音 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 结构化文本/结构式文件编程语言(英语:Structured ...

  2. StructBERT:将语言结构纳入深度语言理解的预训练中——中文翻译

    STRUCTBERT:将语言结构纳入深度语言理解的预训练中 Wei Wang, Bin Bi, Ming Yan, Chen Wu, Zuyi Bao, Jiangnan Xia, Liwei Pen ...

  3. 可编程控制器有几种编程语言以及它们的特点

    有五种主要编程语言:1.梯形图 2.语句表 3.功能块图 4.顺序功能图 5.结构化文本. 各种编程语言的特点为: 1.梯形图: (1)是一种图形语言,沿用传统控制图中的继电器触点.线圈.串联等术语和 ...

  4. c编程语言外文翻译及原文,面向对象和C语言-外文文献译文-Object-Orientation and C语言编程外文文献及中文翻译...

    面向对象和C语言-外文文献译文-Object-Orientation and C语言编程外文文献及中文翻译 外文资料译文1外文资料原文Object-Orientation and C++C++ is ...

  5. 常用的Linux外文文献,Linux大学外文文献翻译及原文.doc

    Linux大学外文文献翻译及原文.doc 毕业设计(论文) 外文文献翻译 文献.资料中文题目:Linux 文献.资料英文题目: 文献.资料来源: 文献.资料发表(出版)日期: 院(部): 专 业: 班 ...

  6. 基于SSM和Boostrap实现的电影评论网站设计 毕业论文+外文翻译及原文+项目源码

    https://ym.maptoface.com/archives/45000 项目介绍: 基于SSM和Boostrap实现的电影评论网站设计 毕业论文+外文翻译及原文+项目源码 系统说明: 摘 要 ...

  7. 基于SSH的通讯网络电子计费系统 毕业论文+任务书+开题报告+文献综述+外文翻译及原文+答辩PPT+代码清单+项目源码及数据库文件

    下载地址:https://download.csdn.net/download/junkyio321/40671271 项目介绍: 基于SSH的通讯网络电子计费系统 毕业论文+任务书+开题报告+文献综 ...

  8. 基于JavaSSH框架的网上商城设计与实现 毕业论文+任务书+外文翻译及原文+项目源码及数据库文件

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/20720855 项目介绍: 基于JavaSSH框架的网上商城设计与实现 毕业论文+任 ...

  9. 大学计算机专业全英文论文,5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文.doc...

    5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文 外文JSP application frameworks brian wright.michael freedman ...

  10. 如何快速的翻译并阅读外文文献

    本文适用一些想要快速了解文献内容的童鞋.在进行查找文献时,不可避免要查找外文文献,其中以英文居多,当然也有可能涉及到其他语言.像楼主这样学了十几年英语,然而听说读写弱鸡的人,面对英语时,会头痛.要是查 ...

最新文章

  1. 关于ASP.NET页面打印技术的总结
  2. 在eclipse中创建web项目(非myeclipse)
  3. 网络工程师技能图谱,这些你都会吗?
  4. 【安全漏洞】CVE-2021-42287CVE-2021-42278 域内提权
  5. 学银在线python课程_Python 从入门到精通:一个月就够了!
  6. GPLinker:基于GlobalPointer的事件联合抽取
  7. 一篇文章助你理解Python3中字符串编码问题
  8. java sentence_Java Sentence類代碼示例
  9. 北大师兄告诉你,怎样顺利完成自己的博士生涯
  10. 公司搞不好,除了坑股东,还坑的是客户
  11. Webpack SourceMap快速定位错误位置
  12. gopher协议总结
  13. 复购率/回购率/新购人数
  14. 使用Axure制作手风琴菜单
  15. 如果有一天我老无所依,请把我埋在,新疆的田野上
  16. 浅谈Linux USB设备驱动
  17. npm配置镜像、设置代理cnpm和取消代理的方法
  18. html使表格位于页面的右下方,在 HTML 页面中,要显示如下图所示的表格,应在下方 HTML 代码的下划线处填写()。 table border=”1” trtd =”2” 性别 /...
  19. Uva207 PGA Tour Prize Money
  20. 五、需求分析建模之数据库建模

热门文章

  1. python爬虫做毕业设计_毕业设计之 --- 爬虫
  2. 女版乔布斯的覆灭,这是今年我听过最唏嘘的真人故事
  3. 服务器被恶意攻击可以报警吗?
  4. Excel中对合并单元格后不同行数对应数据处理的三种特技
  5. C语言 6习题13 编一程序,将两个字符串连接起来,不要用strcat函数。
  6. ora-01652无法通过128(在表空间temp中)扩展temp段
  7. python 画出决策边界_决策边界用python实现
  8. ArcMap下停靠栏的设计与实现
  9. 在mybatis中怎么书写工具类,也就是创建一个sqlsessionFactory
  10. 教你用冰点还原批量处理文件