0.前言 :
之前从嵌入式软件接触到PLC控制器编程,一开始只是了解到简单的梯形图编程。
后面在逐渐学习的过程中发现PLC的使用场合很多。可以说只要是在长时间稳定运行的场合都会涉及到PLC的程序控制。
之前只是在嵌入式领域的学习,其实通过这次机会也从侧面扩展了自己的工作能力和学习的边界,对于整个工业控制领域和自动化领域有了一次全面的认识。借这次机会和CSDN的这个平台进行技术分享和学习,同时也是自己的一份wok记录,希望对广大技术从业者有所启发,在人生的路途中不断开拓新的边界,新的观点和视角。
1.PLC的历史
Programmable Logic Controller可编程逻辑控制器(PLC)的历史是一部工业控制技术从硬接线继电器向数字化、网络化、智能化演进的缩影。
一、诞生背景:继电器时代的困境(1960年代之前)
在PLC出现之前,工业自动化完全依赖继电器逻辑控制系统。控制室内布满成墙的继电器、端子排和密密麻麻的电线,每次产线调整或车型变更都需要重新布线,耗时数周甚至数月。
1968年,通用汽车(GM)自动变速箱分部(Hydramatic)的 Bill Stone 在西屋机床论坛上提出了"标准机器控制器"的概念,并列出详细的技术规格------这就是后来著名的"通用十条"(GM Ten Specifications)。核心诉求很明确:用固态可编程设备取代机械继电器,实现快速重新编程、模块化扩展和高可靠性。
二、破晓时刻:三大原型机的角逐(1968--1969)
通用汽车的招标吸引了多家公司参与,最终有三家交付了原型机进行实测:

Bedford Associates 由 Dick Morley(被誉为"PLC之父")等人于1964年创立。1968年他们成立子公司 Modicon(Modular Digital CONtroller 的缩写),并于1969年11月交付了第84个项目原型机,故名"084"。
关键胜负手:Modicon 084 采用梯形图逻辑(Ladder Logic)编程,这让熟悉继电器电路的工厂工程师和电工能够无缝过渡;而DEC和3-I的产品使用布尔值编程,对现场人员门槛过高。
三、第一代PLC:固态继电器的革命(1970年代)
1970年代是PLC从概念验证走向实用化的关键十年。
技术特征:
• 采用分立元件(存储芯片、ALU、缓冲器),而非微处理器------英特尔4004直到1971年才投产。
• 以离散量I/O控制为主,扫描时间以每KB逻辑数十至数百毫秒计。
• 编程通过手持编程器(如PP105)或专用终端完成,程序备份使用磁带。
竞争格局形成:
• Modicon:1973年推出184,1975年推出284,逐步完善产品线。
• Allen-Bradley:1969--1971年通过收购Information Instruments Inc.和Bunker-Ramo的数控部门进入市场。1971年,Odo Struger 博士团队开发出梯形图图形用户界面,并首创了"Programmable Logic Controller(PLC)"这一术语。AB最初将"PLC"注册为商标,后因行业普遍采用而成为通用名称。
• 西门子:1979年左右推出S3系列,配备七段数码管用于I/O监控,随后被影响深远的S5系列取代。
通信萌芽:1973年,Modicon推出了Modbus协议,使PLC之间能够远距离通信,模拟量也开始介入控制。
四、第二代PLC:微处理器与通信时代(1980年代)
1980年代是PLC技术爆发式增长的黄金期,年增长率一度达到30--40%。
核心突破:
• 微处理器普及:1977年首款基于微处理器的PLC问世,到80年代微处理器已成为标配,运算速度和内存容量大幅提升。
• 编程标准化萌芽:通用汽车推动的 MAP(Manufacturing Automation Protocol) 试图统一工厂自动化通信协议。
• HMI革命:个人电脑(PC)和CRT显示器开始取代控制面板上的按钮和指示灯,图形化监控成为现实。
• 小型化:出现"Brick"型微型PLC,体积与工业继电器相当。
代表产品:
• Modicon 884/984(约1985--1987年):第五代旗舰产品,确立了现代PLC的许多编程惯例。
• Allen-Bradley 1771系列:并行远程I/O系统获得巨大成功。
• 西门子S5系列:S5-95U、S5-100U、S5-115U等成为欧洲工业界部署最广泛的PLC家族之一。
五、第三代PLC:标准化与网络融合(1990年代)
1990年代PLC进入成熟期,关键词是标准化和开放系统。
里程碑事件:
• 1993年:IEC 61131-3 国际标准正式发布(第二版于2001年成为国际标准),定义了五种编程语言:梯形图(LD)、功能块图(FBD)、顺序功能图(SFC)、指令表(IL)和结构化文本(ST)。
• PLCopen组织成立,负责认证各厂商编程语言与IEC 61131-3的符合性。
• 以太网对等网络普及,EEPROM和闪存取代EPROM。
• PLC与DCS融合:PLC开始大规模进入过程控制领域,在某些应用上替代传统DCS系统。
• 安全PLC:出现具备三重冗余(TMR)架构的安全PLC,用于高安全等级场合。
技术特征:
• 运动控制、数据采集、PID调节等功能高度集成。
• 内置诊断工具支持预测性维护。
• 从专有协议向开放网络过渡。
六、第四代PLC:PAC与工业以太网(2000年代)
进入21世纪,PLC制造商经历了一轮大整合(如施耐德1997年收购Modicon),产品形态向可编程自动化控制器(PAC)演进。
核心特征:
• 高速处理:CPU性能大幅提升,支持复杂算法和实时控制。
• 工业以太网:Profinet、EtherNet/IP、Modbus TCP等成为主流。
• 无线通信与现场总线系统深度融合。
• 网络安全:开始引入工业防火墙、访问控制等安全机制。
• 人机界面升级:LCD触摸屏全面取代CRT。
七、当代与未来:工业4.0与边缘智能(2010年代至今)
今天的PLC已不再是孤立的逻辑控制器,而是工业互联网(IIoT)和工业4.0架构中的边缘节点。
当前趋势:
• OPC UA:成为跨厂商数据互操作的标准协议,如西门子S7-1500系列内置Profinet接口并支持OPC UA。
• 边缘计算:PLC本地处理80%以上的现场数据,仅将关键信息上传云端。
• AI集成:三菱iQ-R系列等高端PLC已搭载AI算法,实现预测性维护。
• 国产替代:汇川技术H3U系列等国产PLC已突破16轴联动控制,进入高端应用领域。
未来方向:向更小型化、模块化、智能化演进,与数字孪生、5G、TSN(时间敏感网络)深度耦合,成为智能制造的"隐形指挥官"。
2.国内主流PLC厂家
国内PLC市场目前呈现"外资主导、国产快速崛起"的格局。西门子、三菱、欧姆龙等外资品牌仍占据约55%的市场份额,尤其在大型PLC领域形成垄断;但国产品牌凭借高性价比、快速响应和生态协同,在中小型PLC市场已实现显著突破。以下是按梯队划分的主流国产PLC厂家:
一、头部品牌(第一梯队)
- 汇川技术(Inovance)
• 市场地位:国产PLC龙头,小型PLC市场占有率超20%,位居国产首位。
• 核心优势:"PLC+伺服+变频"一体化解决方案,生态协同效应极强。H5U系列采用ARM Cortex-A9处理器(400MHz主频),支持EtherCAT总线,年出货量超15万台。
• 代表产品:H1U/H2U(小型)、H3U(中型,已突破16轴联动)、H5U(中型,支持EtherCAT)
• 优势行业:新能源、物流自动化、纺织机械、电梯、锂电设备 - 台达(Delta,中国台湾)
• 市场地位:台系自动化代表,在国内中小制造企业及东南亚市场渗透率高,市场份额约15%。
• 核心优势:产品线覆盖工控全场景,与自家变频器、温控器、HMI深度集成;编程软件ISPSoft与三菱Works3相似,迁移友好。
• 代表产品:DVP系列(小型)、AH系列(中大型)
• 优势行业:恒压供水、中央空调、包装机械 - 信捷电气(XINJE)
• 市场地位:国产经济型PLC标杆,市场份额约12%,在纺织、包装机械领域市占率领先。
• 核心优势:高性价比、编程软件Works3上手门槛低、针对国内常见设备(如水箱式包装机)提供现成程序库,调试效率极高。全国设有20余个办事处,服务响应快。
• 代表产品:XC/XD系列(小型,XD支持最多16路高速脉冲输出)
• 优势行业:纺织、机床、建材、包装、塑料机械 - 和利时(HollySys)
• 市场地位:国产大型PLC的代表品牌,流程工业与重大装备控制的"国之重器"。
• 核心优势:LK系列PLC在火电、化工、地铁、核电等关键领域广泛应用;冗余容错、安全仪表系统(SIS)技术深厚,满足最高级别安全标准。
• 代表产品:LK系列(大型PLC)、LE系列(小型PLC)
• 优势行业:轨道交通、电力、石化、市政基础设施
二、中坚力量(第二梯队) - 中控技术
• 定位:与和利时齐名的流程自动化厂商,DCS领域国产替代主力。
• 特点:在石化、电力行业成功实施大量标杆项目,PLC+DCS混合架构能力强。 - 禾川科技
• 定位:伺服驱动与PLC协同开发,运动控制领域新锐。
• 特点:高度集成化方案,在起重、冶金、半导体设备领域定制化能力突出。 - 英威腾
• 定位:变频器起家,PLC与驱动集成方案成熟。
• 特点:上市公司背景,在起重、冶金等领域应用广泛。 - 联诚科技
• 定位:自主可控工业控制器与解决方案服务商。
• 特点:LicOS PLC系列采用自主操作系统,专利50+,聚焦国产替代与数字化转型。 - 永宏(FATEK,中国台湾)
• 定位:老牌PLC厂商,用户界面友好,编程简便。
• 特点:在机械设备制造领域有稳定客户群,但近年被汇川、信捷替代较多。 - 丰炜(Vigor,中国台湾)
• 定位:台湾最大PLC生产商之一。
• 特点:产品以耐用性和抗干扰能力著称,在大陆市场与日系设备配套较多。
三、细分领域专家(第三梯队)

3.国外主流PLC厂家
国外PLC市场呈现高度集中的寡头格局,前五大厂商(西门子、罗克韦尔、三菱、施耐德、ABB)合计占据全球约60%的收入份额。以下按市场地位和影响力分梯队介绍:
一、全球霸主(第一梯队) - 西门子(Siemens)--- 德国
• 全球份额:约 31--40%,连续多年稳居全球第一。
• 核心优势:生态系统最完整,TIA Portal(博途)集成开发环境覆盖从编程到HMI、驱动、安全的全链路;PROFINET工业以太网生态成熟;数字孪生(NX MCD)与MindSphere IIoT平台领先。
• 代表产品:
o S7-1200:紧凑型,集成Web服务器和模拟量I/O,性价比首选。
o S7-1500:旗舰级,1 ns/bit指令速度,支持SIL3安全、TSN-ready PROFINET、TensorFlow Lite边缘AI。
o ET 200SP:分布式I/O,支持热插拔和IO-Link。
• 强势领域:汽车整车、电池制造、制药、能源、流程工业。
• 区域格局:欧洲绝对主导,中国中小型PLC市场半壁江山,北美持续扩张。 - 罗克韦尔自动化 / 艾伦-布拉德利(Rockwell Automation / Allen-Bradley)--- 美国
• 全球份额:约 17--22%,北美市场绝对霸主。
• 核心优势:ControlLogix/CompactLogix平台可靠性极强;EtherNet/IP生态(CIP协议)在北美制造业根深蒂固;Studio 5000编程环境对多语言支持友好;FactoryTalk云分析、MES和远程诊断服务贡献约32%的经常性收入。
• 代表产品:
o ControlLogix 5580:45 MB内存,双1 Gbit EtherNet/IP,原生Python脚本,SIL3安全集成,北美大型离散控制"黄金标准"。
o CompactLogix 5380:紧凑型高性能,集成运动控制。
• 强势领域:汽车制造(福特、特斯拉产线)、轮胎、食品饮料、半导体设备。 - 三菱电机(Mitsubishi Electric)--- 日本
• 全球份额:约 11--14%,亚太市场(尤其日本、韩国、中国)强势。
• 核心优势:运动控制精度极高,伺服+PLC+机器人垂直整合能力强;CC-Link IE TSN网络确定性性能优异(31.25 µs周期);拥有超20,000项自动化专利。
• 代表产品:
o MELSEC iQ-R:0.98 ns指令执行,支持4,096轴同步,内置AI推理,用于三星/台积电3nm晶圆厂、丰田产线。
o FX5U/FX5S:紧凑型,34 ns指令,双以太网,亚洲OEM设备性价比之王。
• 强势领域:汽车装配、半导体制造、锂电池(CATL)、3C电子、包装机械。 - 施耐德电气(Schneider Electric)--- 法国
• 全球份额:约 8--10%,欧洲第二,Modicon品牌历史悠久。
• 核心优势:EcoStruxure机器架构深度融合能源管理与自动化;性价比高,产品线覆盖微型到大型全系列;在基础设施和能源领域根基深厚。
• 代表产品:
o Modicon M580:大型PLC,内置以太网,支持Modbus TCP、PROFIBUS、EtherNet/IP。
o Modicon M340:中型。
o Modicon TM系列:小型。
• 强势领域:基础设施、数据中心、能源管理、水处理、OEM机械设备。 - ABB --- 瑞士/瑞典
• 全球份额:位列前五大厂商之一,过程自动化领域根基深厚。
• 核心优势:PLC与DCS(AC800M/AC500)融合能力强;在电力、机器人、过程控制领域拥有完整解决方案;安全系统(SIL3/AK6)经验丰富。
• 代表产品:AC500系列、AC800M(与DCS集成)。
• 强势领域:电力、冶金、化工、机器人集成、过程工业。
二、技术专精型强者(第二梯队)
- 欧姆龙(Omron)--- 日本
• 特点:技术精密,集成控制能力强,在半导体、电子制造领域渗透率高。PLC与视觉、传感、安全产品协同出色。
• 代表产品:NX系列(中型)、CP系列(小型)。
• 适用领域:半导体、电子组装、食品医药、轻工业自动化。
- 倍福(Beckhoff)--- 德国
• 特点:PC-Based控制(基于Windows的软PLC)先驱,EtherCAT总线技术发明者,性能极致,开放性最强。
• 代表产品:CX系列嵌入式控制器、TwinCAT软件平台。
• 适用领域:高端设备、测试台架、大数据量处理、科研及定制化产线。
- 艾默生(Emerson)--- 美国
• 特点:过程控制领域经验丰富,PLC常与DCS(DeltaV、Ovation)配合使用。
• 代表产品:PACSystems RX3i。
• 适用领域:石油天然气、化工、电力。
- 基恩士(Keyence)--- 日本
• 特点:以传感器和视觉起家,PLC与测量、检测、扫码设备高度集成,"即插即用"体验极佳,溢价高。
• 代表产品:KV系列。
• 适用领域:3C电子、汽车部件检测、精密装配。
- 松下(Panasonic)--- 日本
• 特点:小型PLC性价比高,与自家伺服、传感器生态绑定紧密。
• 代表产品:FP系列。
• 适用领域:家电制造、小型设备、电子组装。
- 博世力士乐(Bosch Rexroth)--- 德国
• 特点:运动控制与液压技术背景深厚,ctrlX AUTOMATION平台倡导"智能手机式"自动化APP生态。
• 代表产品:ctrlX CORE。
• 适用领域:高端机床、压铸、注塑、物流。
- 贝加莱(B&R,已被ABB收购)--- 奥地利
• 特点:高端PC-Based控制,Automation Studio开发环境强大,在印刷、包装、塑料机械领域有极高声誉。
• 代表产品:X20系列、APC系列。
• 适用领域:高端包装、印刷、纺织机械。
三、其他重要玩家

外资PLC的核心护城河在于生态锁定(编程软件、通信协议、驱动/HMI配套)和长期可靠性验证。对于新建大型项目或对安全性要求极高的场合,西门子、罗克韦尔、三菱仍是多数企业的稳妥之选。
4.PLC学习及使用记录
一开始进行接触PLC编程的设备是西门子的S7-1200PLC,西门子PLC的编程是使用博途软件进行操作。里面涉及到PLC的一些参数定义,程序框架的搭建,不同设备之间的组态等操作。150 KB 工作存储器;24VDC 电源,板载 DI14 x 24VDC 漏型/源型,DQ10 x 24VDC 和 AI2;板载 6 个高速计数器和 4 个脉冲输出;信号板扩展板载式 I/O;最多 3 个通信模块用于串行通信;最多 8 个信号模块用于 I/O 扩展;PROFINET IO 控制器,智能设备,TCP/IP 传输协议,开放式用户安全通信,S7 通信,Web 服务器,OPC UA:服务器 DA。博途软件配置如下:
内部数据传输如图所示:

PLC与外部设备连接的示意图:

一般的PLC的程序逻辑:

PLC之间的通信关系:

功能块的一些含义和演示:

PLC主程序和子程序以及功能块之间的调用关系,主要是理解FB和FC之间的一些区别和联系。

在一个系统中可以创建几个不同的OB,每一个OB都相当于是一个mian函数。

怎么将每一个不同的功能的通信组块进行分组?也可以使用SCL自动创建一个功能函数,然后在下一次使用的时候就可以进行直接调用。

PLC编程中的数据长度定义:

PLC与外部伺服驱动器之间的连接示意图:

PLC的导轨安装示意图:

两个PLC之间的通信示意图:



PLC的学习也需要了解一些电气知识,比如一些IO点位和电机或者继电器的连接等:


日常练习的一些使用梯形图方式编程的PLC程序段:












在汇川的中型PLC编程中可以使用ST语言进行编程,其实是类似于西门子里面的SCL语言的。我的感觉是随着技术的进步,目前的趋势是PLC的编程正在往高级语言编程的方向靠拢。现在对日常的一些练习和学习进行一个整理:


进行CPU机架的组态,除了CPU的机架还有EtherCAT的机架配置等:

可以在main_task中进行自己的程序框架的搭建,添加一些自己的任务。比如手动,自动,设备暂停,设备二次启动等情况。在PLC编程中对于FB块封装尤为关键。好的FB块的封装可以让程序的执行更加高效。
还有学习了一下倍福的相机的标定过程和坐标的转换关系:校准成功,点击"写入结果"将结果写入相机的图像提供器。此步骤是必要的,以便PLC中的FB_VN_GevCameraControl 相机功能块能够访问校准结果。在图像提供程序中,选中"显示隐藏参数"选项,可在"参数(初始化)"下查看校准结果。将校准结果加载到PLC中。
c
FB_VN_GevCameraControl 功能块可用于将校准参数加载到 PLC 中
hr : HRESULT;
fbCamera : FB_VN_GevCameraControl;
aCameraMatrix : TcVnMatrix3x3_LREAL;
aDistortionCoefficients : TcVnArray8_LREAL;
aRotationMatrix : TcVnMatrix3x3_LREAL;
aTranslationVector : TcVnVector3_LREAL;
hr := fbCamera.GetCameraMatrix(aCameraMatrix);
hr := fbCamera.GetDistortionCoefficients(aDistortionCoefficients);
hr := fbCamera.GetRotationMatrix(aRotationMatrix);
hr := fbCamera.GetTranslationVector(aTranslationVector);
将像素坐标转换成世界坐标:
然后使用 F_VN_TransformCoordinatesImageToWorld_Points 函数,根据校准图案的零点,确定图像中某一点在真实世界中的坐标
c
aPointImage : TcVnPoint2_LREAL;
aPointWorld : TcVnPoint3_LREAL;
hr := F_VN_TransformCoordinatesImageToWorld_Point(
aSrcPoint := aPointImage,
aDestPoint := aPointWorld,
aCameraMatrix := aCameraMatrix,
aDistortionCoefficients := aDistortionCoefficients,
aRotationMatrix := aRotationMatrix,
aTranslationVector := aTranslationVector,
fZ := 0,
hrPrev := hr);
将世界坐标转换成图像坐标:
可以通过 F_VN_TransformCoordinatesWorldToImage_Points 函数逆转此变换,从而将世界坐标系中的点进行变换,使其能在图像中显示在正确的位置。这对于显示辅助线以更好地定位图像非常有用。
c
i : INT;
aLine : TcVnVector4_DINT;
aCoordinatesWorld : ARRAY[0..4] OF TcVnPoint3_LREAL := [ [0,0,0], [50,0,0], [-50, 0, 0], [0, 50, 0], [0, -50, 0] ];
aCoordinatesImage : ARRAY[0..4] OF TcVnPoint2_REAL;
FOR i:= 0 TO 4 DO
hr := F_VN_TransformCoordinatesWorldToImage_Point(
aSrcPoint := aCoordinatesWorld[i],
aDestPoint := aCoordinatesImage[i],
aCameraMatrix := aCameraMatrix,
aDistortionCoefficients := aDistortionCoefficients,
aRotationMatrix := aRotationMatrix,
aTranslationVector := aTranslationVector,
hrPrev := hr);
IF i > 0 THEN
aLine[0] := REAL_TO_DINT(aCoordinatesImage[0][0]);
aLine[1] := REAL_TO_DINT(aCoordinatesImage[0][1]);
aLine[2] := REAL_TO_DINT(aCoordinatesImage[i][0]);
aLine[3] := REAL_TO_DINT(aCoordinatesImage[i][1]);
hr := F_VN_DrawLine_TcVnVector4_DINT(aLine , ipImageRes, aColorGreen, 3, hr);
END_IF
END_FOR
5.总结
最近这大半年从零开始接触PLC。从中通过自学和向行业内的老师请教,逐渐加深了对于电气自动化或者说是自动化控制专业的理解程度。开始的时候从西门子的S7-1200开始入手,后面学习了一段时间的梯形图编程,之后接触到SCL语言。然后了解到倍福PLC的一些知识和特点。在日常的一些工作中使用到了国产的一些PLC,是比如汇川的,在学习和使用汇川的PLC过程中,一开始上手就直接从ST语言开始进行理解和掌握其中的编程思路和语法知识。其实在实际的日常的PLC编程工作中,中间需要和机械专业的同事或者或其他专业的同事进行沟通。同时在PLC设备编程之外也需要知道实际的物理世界的执行动作的时间差距,以及调试大型项目和单纯的嵌入式调试板子还是有很多的不同,这些设备的使用和调试都需要很注意,需要注意设备人员安全和设备安全。比如一些急停按钮,以及一些二次启动条件等。本次系统地过了一下这段时间的工作和学习的日常,作为一种分享,通过记录,以便回顾和知新。在AI的时代大潮下,用好这门工具,丰富我们的生活,让我们的生活更有活力。