一、PLC原理简介
工业生产和科技的发展都离不开PLC的自动化控制,PLC可以广义的理解为:
集中的继电器延伸控制柜,实际的生产应用中,PLC大大的节省了工业控制的成本,加强了设备的集中管理和自动控制。
PLC(Programmable Controller,可编程程序控制器)它是一个以微处理器
为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。
PLC是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接
触控制系统中的机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。用户在购到所需的PLC后,只需按说明书的提示,做少量的接线和简易的用户程序编制工作,就可灵活方便地将PLC应用于生产实践。
1、PLC结构及各部分作用
PLC的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小
异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC的硬件系统结构如下图所示:
主机:主机部分包括中央处理器(CPU)、系统程序存储器和用户程序及数据存
储器。CPU是PLC的核心,它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等,中央处理器通常具有存储器、定时器、计数器、通信端口等外设,可以处理多种输入输出信号的组合逻辑关系,并输出相应的控制信号。PLC的内部存储器有两类,一类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。
输入/输出(I/O)接口:I/O接口是PLC与输入/输出设备连接的部件。输入
接口接受输入设备(如按钮、传感器、触点、行程开关等)的控制信号,将信号转化为数字信号传输给中央处理器。输出接口是将主机经处理后的结果通过功放电路去驱动输出设备(如接触器、电磁阀、指示灯等)。I/O接口一般采用光电耦合电路,以减少电磁干扰,从而提高了可靠性。I/O点数即输入/输出端子数是PLC的一项主要技术指标,通常小型机有几十个点,中型机有几百个点,大型机将超过千点。输入输出模块通常由模块盒和插件构成,可以根据不同的应用需求进行扩展或更换。
电源:电源是指为CPU、存储器、I/O接口等内部电子电路工作所配置的直流
开关稳压电源,通常也为输入设备提供直流电源。
编程:编程是PLC利用外部设备,用户用来输入、检查、修改、调试程序或
监示PLC的工作情况。通过专用的PC/PPI电缆线将PLC与电脑联接,并利用专用的软件进行电脑编程和监控。
输入/输出扩展单元:I/O扩展接口用于将扩充外部输入/输出端子数的扩展
单元与基本单元(即主机)连接在一起。
外部设备接口:此接口可将打印机、条码扫描仪,变频器等外部设备与主机相
联,以完成相应的操作。
2、PLC工作原理
PLC工作原理:
PLC是采用“顺序扫描,不断循环”的方式进行工作的。即在PLC运行时,CPU根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。
PLC的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。
PLC在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入。随即关闭输入端口,进入程序执行阶段.
PLC在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。
输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶闸管)输出,驱动相应输出设备工作。
这种工作方式的特点:
(1)集中采样:在一个扫描周期内,对输入状态的采样只在输入采样阶段进行, 当进入程序执行阶段后输入端将被封锁。
(2)集中输出:在一个扫描周期内, 只有在输出刷新阶段才将输出映像寄存器中与输出有关的状态转存到输出锁存器中, 对输出接口进行新,在其他阶段输出 状态一直保存在输出映像寄存器中。
采用这种工作 方式可提高系统的抗干扰能力,增强系统的可靠性,但会引起PLC输入/输出响应的滞后。
PLC的程序编制:
编程元件:PLC是采用软件编制程序来实现控制要求的。编程时要使用到各种编程元件,它们可提供无数个动合和动断触点。编程元件是指输入寄存器、输出寄存器、位存储器、定时器、计数器、通用寄存器、数据寄存器及特殊功能存储器等(可以联想FPGA的IP)。
PLC内部这些存储器的作用和继电接触控制系统中使用的继电器十分相似,也有“线圈”与“触点”,但它们不是“硬”继电器,而是PLC存储器的存储单元。当写入该单元的逻辑状态为“1”时,则表示相应继电器线圈得电,其动合触点闭合,动断触点断开。所以,内部的这些继电器称之为“软”继电器。
编程语言:所谓程序编制,就是用户根据控制对象的要求,利用PLC厂家提供的程序编制语言,将一个控制要求描述出来的过程。PLC最常用的编程语言是梯形图语言和指令语句表语言(封装好的功能,类似软件中开发的API和FPGA的IP),且两者常常联合使用。
- 梯形图(语言)
梯形图是一种从继电接触控制电路图演变而来的图形语言。它是借助类似于继电器的动合、动断触点、线圈以及串、并联等术语和符号,根据控制要求联接而成的表示PLC输入和输出之间逻辑关系的图形,直观易懂。
- 指令语句表
指令语句表是一种用指令助记符来编制PLC程序的语言,它类似于计算机的
汇编语言,但比汇编语言易懂易学,若干条指令组成的程序就是指令语句表。一条指令语句是由步序、指令语和作用器件编号三部分组成。
3、PLC基本指令及可编程控制器梯形图编程规则
基本指令简介:(略,参考制造商官网资料)
可编程控制器梯形图编程步骤:
(一)决定系统所需的动作及次序:
当使用可编程控制器时,最重要的一环是决定系统所需的输入及输出。输入及输出要求:
(1)第一步是设定系统输入及输出数目。
(2)第二步是决定控制先后、各器件相应关系以及作出何种反应。
(二)对输入及输出器件编号:
每一输入和输出,包括定时器、计数器、内置寄存器等都有一个唯一的对应编号,不能混用。
(三)画出梯形图:
根据控制系统的动作要求,画出梯形图。
梯形图设计规则:
- 触点应画在水平线上,并且根据自左至右、自上而下的原则和对输出
线圈的控制路径来画。
(2)不包含触点的分支应放在垂直方向,以便于识别触点的组合和对输出线
圈的控制路径。
(3)在有几个串联回路相并联时,应将触头多的那个串联回路放在梯形图的
最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。这种安排,所编制的程序简洁明了,语句较少。
(4)不能将触点画在线圈的右边。
(四)将梯形图转化为程序:
把继电器梯形图转变为可编程控制器的编码,当完成梯形图以后,下一步是
把它的编码编译成可编程控制器能识别的程序。
这种程序语言是由序号(即地址)、指令(控制语句)、器件号(即数据)组
成。地址是控制语句及数据所存储或摆放的位置,指令告诉可编程控制器怎样利用器件作出相应的动作。
(五)在编程方式下用键盘输入程序。
(六)编程及设计控制程序。
(七)测试控制程序的错误并修改。
(八)保存完整的控制程序。
二、PLC+FPGA(SOC)架构方案
PLC是一种专为在工业现场应用而设计、广泛应用于自动化控制系统中的计
算机控制设备,通过编程实现对自动化生产设备的控制、监视、保护等功能,加强了设备的集中管理和自动控制。
PLC有其自身的优点和适用领域,但是随着科技的发展,工业现场对自动化
设备的科技含量和智能化要求越拉越高,此时PLC的就可能无法满足人们日益对提升科技含量和智能化迫切需求。例如在工业现场通过人工智能、图像识别、高速信号采集及分析、高速计算等技术以实现低延迟的实时解算及通信,保证控制系统的实时性。
而FPGA 最大优势是其并行处理机制,即利用并行架构实现数字信号处理的
功能。可编程逻辑器件 (FPGA) 是一种可以根据实际需要进行编程的集成电路,其广泛应用于数字信号处理、通信、计算机、控制系统等领域。随着数字信号处理、通信、计算机、控制系统等领域的不断发展,FPGA 也将发挥越来越重要的作用。
例如在人工智能领域,如果大家比较喜欢关注科技板块的新闻的话会发现人
工智能方面的新闻充斥眼球,确实 21 世纪已经不知不觉走到了 2023年,在这 20多年间,人工智能迅速发展,5G的顺利研发也使人工智能如虎添翼,可以预见,未来必将是人工智能的天下。
FPGA在人工智能系统的前端部分也是得到了广泛的应用,例如自动驾驶,
需要对行驶路线、红绿灯、路障和行驶速度等各种交通信号进行采集,需要用到多种传感器,对这些传感器进行综合驱动和融合处理就可以使用 FPGA。还有一些智能机器人,需要对图像进行采集和处理,或者对声音信号进行处理都可以使用 FPGA去完成,所以FPGA在人工智能系统的前端信息处理上使用起来得心应手。
那么在某些复杂的工业现场,单独通过PLC采集传感器输入信号或其他设备的信号可能不能满足要求,此时如果针对特定场景,如需要人工智能、图像识别的领域可以使用FPGA平台作为专门的信息采集处理模块,实现高速并行运算,充分发挥FPGA的优势,将采集处理的结果通过特定的通信接口和PLC交互, PLC只需针对接收到的结果或命令作出相应的控制动作,这样FPGA板卡即可作为PLC的一个外设(从机),也可FPGA板卡做主机,PLC做从机。
基于上述问题,可以采用一种PLC+FPGA(SOC)架构进行扩展设计作为解决上述问题的一种技术方案。
1、初步构想
PLC作为一种专为在工业现场应用而设计、广泛应用于自动化控制系统中的
计算机控制设备,继续发挥其在自动控制系统中高可靠性的优点不做大的变动,只是在做功能扩展和其他功能开发时做为主机或从机针对不同的架构对通信接口和控制逻辑进行小幅度改动,以保证原产品的通用性。
而对其他功能,如图像识别、高速信号采集分析、高速计算等则采用FPGA或FPGA+ARM(SOC)的方案实现,通过FPGA(SOC)作为主控芯片的板卡实现上述复杂的功能,然后通过预留的通信接口和PLC控制板卡通信。
PLC和FPGA两者可根据需要互为主从,例如,根据不同开发方案,PLC作为控制主机,FPGA作为从机进行复杂功能的实时处理,然后将计算结果通过合适的通信接口和PLC通信,此时FPGA可以看做PLC主控板的一个外设。反之亦然,即FPGA板卡作为主控,PLC作为从机,框图如下图所示。
2、PLC和FPGA(SOC)通信
由于FPGA在通信接口方面可以支持多种接口(可以灵活的选择),因此两者的通信方式主要以PLC支持的通信接口为主。PLC通讯一般通过不同的通讯方式和通讯协议来实现,通讯方式包括串口通讯、以太网通讯、CAN总线通讯、光纤通讯、硬件通讯等;通讯协议包括MODBUS、Profibus、DeviceNet、Ethernet/IP、CANopen等。不同的PLC设备和控制系统通常使用不同的通讯方式和协议,因此在进行PLC通讯时需要选择适当的通讯方式和协议,以确保通讯的稳定性和可靠性。
PLC通讯协议:是用于规范和描述PLC设备之间通讯协议和数据格式的标准。不同的PLC通讯协议支持不同的通讯方式和数据交换方式。下面将介绍一些常见的PLC通讯协议。
1、MODBUS
MODBUS是一种应用层协议,用于串行通信,可以在RS-232、RS-485等串行通讯方式上运行,也可以在以太网上运行。MODBUS协议结构简单,易于实现,支持点对点和多点通讯。MODBUS协议广泛应用于工业控制领域,可以实现PLC之间的通讯,也可以实现PLC与上位机之间的通讯。
2、Profibus
Profibus是一种基于现场总线技术的通讯协议,广泛应用于自动化控制系统。Profibus协议可以在RS-485和光纤等介质上运行,支持高速通讯,最高速度可达12Mbps。Profibus协议支持多种数据格式和通讯方式,可以实现PLC之间、PLC与I/O设备之间、PLC与上位机之间的通讯。
3、Ethernet/IP
Ethernet/IP是一种以太网通讯协议,用于工业控制和自动化领域。Ethernet/IP协议是一种基于TCP/IP协议的协议,支持高速通讯和实时通讯。Ethernet/IP协议可以实现PLC之间、PLC与上位机之间的通讯,也可以实现PLC与其他以太网设备之间的通讯。
4、CAN协议
CAN是一种常见的控制器局域网协议,用于在控制系统中进行数据交换。CAN协议规定了PLC设备之间通讯的数据格式和通讯协议,包括数据帧格式、数据类型、寄存器地址等。CAN协议支持多种通讯方式,如CAN总线、CANopen等。
PLC通讯方式:是指PLC设备之间进行通讯时所采用的物理连接方式。通讯方式的不同会影响通讯速度、通讯距离、通讯稳定性等。下面将介绍一些常见的PLC通讯方式。
1、串口通讯
串口通讯是一种基于串行通讯方式的PLC通讯方式,常用的串口包括RS232、RS485等。串口通讯速度较慢,但通讯距离较近,适用于需要进行点对点通讯的应用场景。
2、以太网通讯
以太网通讯是一种基于以太网通讯方式的PLC通讯方式,通讯速度快,通讯距离远,适用于需要进行多点通讯的应用场景。以太网通讯还支持TCP/IP协议,可以进行远程访问和控制。
3、CAN总线通讯
CAN总线通讯是一种基于CAN协议的PLC通讯方式,通讯速度较快,通讯距离较远,适用于需要进行多点通讯和实时控制的应用场景。CAN总线通讯还支持节点的热插拔,方便系统维护和升级。
4、光纤通讯
光纤通讯是一种基于光纤传输的PLC通讯方式,通讯速度快,通讯距离远,通讯稳定性高,适用于需要进行远距离通讯和抗干扰能力较强的应用场景。光纤通讯还可以通过光纤交换机进行网络扩展。
5、硬件通讯
硬件通讯是一种基于PLC硬件接口的PLC通讯方式,通讯速度快,通讯距离短,适用于需要进行高速实时控制的应用场景。硬件通讯还可以支持节点的热插拔,方便系统维护和升级。
以上,在设计方案时可根据不同的使用场景或需求选择合适通信接口,也可以将所有接口在不同板卡上均引出预留,作为通用接口根据不同的方案灵活选择。