当前位置:首页 > 技术知识 > 正文内容

PLC的编程方式有哪些呢?_plc的编程方式有哪些呢图片

maynowei5个月前 (10-19)技术知识71

PLC(可编程逻辑控制器)的编程方式遵循国际标准 IEC 61131-3,同时各厂商也会提供扩展形式,主要包括以下几类:梯形图(LD),指令表(STL),功能块图(FBD),结构化文本ST,顺序功能图(SFC)

1 梯形图:

梯形图是最经典、应用最广泛的编程方式,图形化结构模仿传统继电器控制电路,由母线、触点(常开 / 常闭)、线圈、定时器、计数器等元素组成。

是不是和电路图特别像,直观易懂,与电气工程师熟悉的继电器电路图高度相似,上手门槛低;

逻辑关系清晰,串联表示 “与”,并联表示 “或”,适合表达开关量控制逻辑,缺点是计算复杂算法(如 PID、数据处理)实现繁琐,经常需要中间变量来过度,大型程序易冗长,可读性下降。

2 指令表:

基于文本的编程语言,类似汇编语言,用指令(如 LD、AND、OR、OUT)描述控制逻辑,每条指令对应一个操作。


好处是代码简洁,占用存储空间小,类似于机器语言。适合编写紧凑的逻辑或调试时手动修改指令。但是程序大的时候真心看不懂,尤其指针,感觉现在用这个用的越来越少。

3 功能块图 :

图形化编程语言,用 “功能块”(封装特定功能的模块)和 “连接线” 表示信号流向,类似电子电路中的逻辑门组合


适合表达复杂数学运算和控制算法(如 PID、比较、算术运算);模块化程度高,功能块可重复调用,便于大型程序开发。但是开关量逻辑表达不如梯形图直观;需理解功能块的输入 / 输出参数含义,在老外写的程序见过使用比较多。

4 结构化文本:

高级文本编程语言,语法类似 Pascal 或 C 语言,支持变量定义、条件语句(IF-ELSE)、循环语句(FOR、WHILE)、函数 / 功能块调用等。

适合编写复杂算法(如数据处理、模糊控制、批量配方管理);代码结构化强,便于维护和复用,支持大型程序开发。当然这个也是我自己使用最多,当时有一个小问题就是没有梯形图直观,但是图形化逻辑表达能力弱,不像梯形图监控可以直观的看到哪里条件不通,直接处理。不适合简单开关量控制;对编程者的编程语言基础要求较高。

相关文章

Android让视图折叠(安卓叠加视图设置)

Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时...

btrace 3.0 重磅新增 iOS 支持!免插桩原理大揭秘!

重磅更新btrace 是由字节跳动抖音基础技术团队自主研发的面向移动端的性能数据采集工具,它能够高效的助力移动端应用采集性能 Trace 数据,深入剖析代码的运行状况,进而辅助优化提升移动端应用的性能...

C++ 原子操作与锁的深度解析:为什么原子操作并非万金油?

大噶好,我是henry,今天来和大家浅浅聊一下为啥C++原子操作并非万能钥匙,原因有三,且听我娓娓道来:一、原子操作的线程安全性C++11 的 std::atomic 确实为单个变量的线程安全操作提供...

Linux系统编程:条件变量为什么要用锁

条件变量可以解决线程同步和共享资源访问的问题,条件变量是对互斥锁的补充,它允许一个线程阻塞并等待另一个线程发送的信号,当收到信号时,阻塞的线程被唤醒并试图锁定与之相关的互斥锁。具体定义如下:等待:in...

python-oracledb——利用python连接Oracle数据库的好用方法

这篇文章最早发布在CSDN了,最近想尝试使用一下头条,重新转移过来了。背景介绍之前使用的数据库一直是MySql,偶尔使用PostgreSQL,都是利用的数据库连接池使用;最近需要在Oracle数据库取...

分享收藏的 oracle 11.2.0.4各平台的下载地址

概述oracle 11.2.0.4是目前生产环境用的比较多的版本,同时也是很稳定的一个版本。目前官网上已经找不到下载链接了,有粉丝在头条里要求分享一下下载地址。一、各平台下载地址1.1 Linux x...