IEC 61131-3标准编程入门

简介: IEC 61131-3标准编程入门

IEC 61131-3标准分为两个部分:公共元素和编程语言,如图

a5d6c19ae0c844cea56489b77df934c8.png

公共元素部分规范了数据类型定义与变量,给出了软件模型及其元素,并引入配置(Configuration)、资源(Resources)、任务(Tasks)和程序(Program)的概念,还规范了程序组织单元(程序、功能、功能块)和顺序功能图。


语言元素

每个PLC程序可以看做是各种语言元素的集合。IEC 61131-3标准为编程语言提供语言元素,例如,分界符、关键字、直接量和标识符。语言元素示例如

0b94bbc322a64488a6b86e2c4c2a52ce.png

分界符

分界符(Delimiter)用于分隔程序语言元素的字符或字符组合。它是专用字符,不同分界符具有不同的含义。表

e55ed6a998954d8bb29faedd3d8bccee.png

关键字

关键字(keyword)是语言元素特征化的词法单元。关键字是标准标志符。在IEC 61131-3标准中,关键字是结构声明和语句的固定符号表示法,其拼写和含义均由IEC 61131-3标准明确规定。因此,关键字不能用于用户定义的变量或其他名称,这一点与高级编程语言是一致的。

关键字不区分字母的大、小写。例如,关键字“FOR”和“for”是等价的。为了更好地进行区别,关键字通常以大写字母表示。

1bd551c4c7d34efea44b47556deb3afc.png


关键字主要包括基本数据类型的名称、标准功能名、标准功能块名、标准功能的输入参数名、标准功能块的输入和输出参数名、图形编程语言中的EN和ENO变量、指令表语言中的运算符、结构化文本语言中的语言元素、顺序功能图语言中的语言元素。


直接量

直接量用来表示常数变量的数值,其格式取决于变量的数据类型。直接量有3种基本类型。


1)数字直接量

数字直接量可以用于定义一个数值,它可以是十进制或其他进制的数。数值文字分为整数和实数。用十进制符号表示的数中,用小数点是否存在表示它是实数还是整数。通常有二进制数、八进制数、十进制数、十六进制数。为了说明数值的基,可用元素数据类型名称和“#”符号表示,但十进制的基数10#可以省略。

对十进制数值,为了表示数值的正、负,可在数值文字前添加前缀分界符。如-15、-126.83。但对数制的基(即2、8、10和16)不能添加类型前缀的分界符。因此,-8#456是错误的数据外部表示,应表示为8#-456。

布尔数据用整数0和1表示,也可用FALSE和TRUE的关键字表示。


2)字符串直接量

字符串是直接量在单引号之间的表示形式,由单字节字符串或双字节字符串组成。

单字节字符串文字由一系列通用的字节表示或′ 、英文双引号 " 、 '、英文双引号"、

、英文双引号"、与十六进制数组成。例如,‘ABC’,‘“’,‘D 7 ’等。当美元符号 D7’等。当美元符号D7’等。当美元符号用做前缀,使特殊字符能包含在一个字符串内。非印刷体的特殊字符用于显示或打印输出的格式化文本。因此,美元符号和引号本身必须用附加的前缀“”标识。双字节字符串文字由一系列通用的字节表示或由 ”标识。 双字节字符串文字由一系列通用的字节表示或由”标识。双字节字符串文字由一系列通用的字节表示或由”、英文单引号’、与十六进制数组成。它们用双引号在其前后标识。例如,“ A ”, “ ′ ”,“ 与十六进制数组成。它们用双引号在其前后标识。例如,“A”,“'”,“与十六进制数组成。它们用双引号在其前后标识。例如,“A”,“

”,“"”,“$UI8T”等。

需要注意的是单字节字符串不能用单引号开始,双字节字符串不能用双引号开始。字符串可以是空串,如“”和‘’。


9ca4667f0eb94642864517ac4d031f79.png

3)时间直接量

时间直接量用于时间、持续时间和日期的数值。

时间直接量分为两种类型:持续时间直接量和日期直接量。持续时间直接量由关键字T#或TIME#在左边界定,支持按天、小时、秒和毫秒或其他任意组合表示的持续时间数据。持续时间直接量的单位位由下画线字符分隔。允许持续时间直接量最高有效位“溢出”(overflow)。例如,持续时间值t#135m_12s是有效的,编程系统会将该时间转换成“正确”的表达,即t#2h_15m_12s。时间单位可用大写或小写字母表示。持续时间的正值和负值是允许的。时间和日期的前缀关键字如表所示,它分为长前缀和短前缀格式。不论采用长前缀格式还是短前缀格式,表示的时间和日期都是有效的。

相关文章
|
并行计算 Ubuntu Docker
apollo快速入门之安装指南
apollo快速入门之安装指南
372 3
|
4月前
|
存储 人工智能 自然语言处理
DeepSeek R1+Open WebUI实现本地知识库的搭建和局域网访问
本文介绍了使用 DeepSeek R1 和 Open WebUI 搭建本地知识库的详细步骤与注意事项,涵盖核心组件介绍、硬件与软件准备、模型部署、知识库构建及问答功能实现等内容,适用于本地文档存储、向量化与检索增强生成(RAG)场景的应用开发。
1561 0
|
机器学习/深度学习 数据采集 人工智能
大模型升级与设计之道:ChatGLM、LLAMA、Baichuan及LLM结构解析(上)
大模型升级与设计之道:ChatGLM、LLAMA、Baichuan及LLM结构解析(上)
1374 0
|
机器学习/深度学习 传感器 人工智能
ai在气候变化的应用
【7月更文挑战第9天】ai在气候变化的应用
381 3
|
8月前
|
JSON JavaScript 前端开发
怎么安装JSON服务器?JSON服务器最新安装教程
JSON Server是一款轻量级工具,基于Node.js运行,可通过单个JSON文件快速模拟RESTful API,适用于开发与测试场景。其支持CRUD操作、自定义路由及高级功能如排序、搜索、分页等,同时允许通过中间件扩展功能。为确保安全性,建议在受控环境中使用,并避免处理敏感数据。此外,还有Mirage JS、Mockoon、WireMock和Postman等替代方案,可根据项目需求选择合适的工具。
318 0
ModBus Pull的详细安装教程
ModBus Pull的详细安装教程
641 1
|
12月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
337 5
|
数据中心
交换机的电口和光口到底是个啥东东,做网络的这个常识得懂
在网络通信中,交换机的电口和光口是关键组件。电口使用电信号和RJ45接口,适用于短距离传输,成本低,安装简单;光口使用光信号和光纤线缆,适用于长距离、高速传输,抗干扰能力强,但成本较高。本文详细介绍了电口和光口的工作原理、特点、应用场景及选择方法,帮助读者更好地理解和应用这两种接口。
1756 5
SpringBoot实用开发篇第七章(监控技术)
SpringBoot实用开发篇第七章(监控技术)