产品描述
西门子模块6ES7216-2BD23-0XB8使用选型
系统程序由PLC制造厂商设计编写的,并存入PLC的系统存储器中,用户不能直接读写与改。系统程序一般包括系统诊断程序、输入处理程序、编译程序、信息传送程序、监控程序等。
PLC的用户程序是用户利用PLC的编程语言,根据控制要求编制的程序。在PLC的应用中,重要的是用PLC的编程语言来编写用户程序,以实现控制目的。由于PLC是专门为工业控制而开发的装置,其主要使用者是广大电气技术人员,为了满足他们的传统习惯和掌握能力,PLC的主要编程语言采用比计算机语言相对简单、易懂、形象的语言。
PLC编程语言是多种多样的,对于不同生产厂家、不同系列的PLC产品采用的编程语言的表达方式也不相同,但基本上可归纳两种类型:一是采用字符表达方式的编程语言,如语句表等;二是采用图形符号表达方式编程语言,如梯形图等。
以下简要介绍几种常见的PLC编程语言。
1.梯形图语言
梯形图语言是在传统电器控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电器控制线路图相似,继承了传统电器控制逻辑中使用的框架结构、逻辑运算方式和输入输出形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用广泛的PLC的编程语言,是PLC的编程语言。
如图1所示是传统的电器控制线路图和PLC梯形图。
图1 电器控制线路图与梯形图
a) 电器控制线路图 b)PLC梯形图
从图中可看出,两种图基本表示思想是一致的,具体表达方式有一定区别。PLC的梯形图使用的是内部继电器,定时/计数器等,都是由软件来实现的,使用方便,修改灵活,是原电器控制线路硬接线无法比拟的。
2.语句表语言
这种编程语言是一种与汇编语言类似的助记符编程表达方式。在PLC应用中,经常采用简易编程器,而这种编程器中没有CRT屏幕显示,或没有较大的液晶屏幕显示。因此,就用一系列PLC操作命令组成的语句表将梯形图描述出来,再通过简易编程器输入到PLC中。虽然各个PLC生产厂家的语句表形式不尽相同,但基本功能相差无几。以下是与图1中梯形图对应的(FX系列PLC)语句表程序。
步序号 指令 数据
0 LD X1
1 OR Y0
2 ANI X2
3 OUT Y0
4 LD X3
5 OUT Y1
可以看出,语句是语句表程序的基本单元,每个语句和微机一样也由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。
3.逻辑图语言
逻辑图是一种类似于数字逻辑电路结构的编程语言,由与门、或门、非门、定时器、计数器、触发器等逻辑符号组成。有数字电路基础的电气技术人员较容易掌握,如图2 所示。
图2 逻辑图语言编程
4.功能表图语言
功能表图语言(SFC语言)是一种较新的编程方法,又称状态转移图语言。它将一个完整的控制过程分为若干阶段,各阶段具有不同的动作,阶段间有一定的转换条件,转换条件满足就实现阶段转移,上一阶段动作结束,下一阶段动作开始。是用功能表图的方式来表达一个控制过程,对于顺序控制系统特别适用。
5.语言
随着PLC技术的发展,为了增强PLC的运算、数据处理及通信等功能,以上编程语言无法很好地满足要求。近年来推出的PLC,尤其是大型PLC,都可用语言,如BASIC语言、C语言、PASCAL语言等进行编程。采用语言后,用户可以像使用普通微型计算机一样操作PLC,使PLC的各种功能得到好的发挥。
1 系统简介
为改善生产环境,沱牌公司清洁水技改工程并建成一座日产水2.5万顿的供水系统,分别建设了抽水泵系统、加压泵系统和高位水池。根据公司用水需求特点,从抽水泵系统过来的水一部分直接供给生产用水部门,一部分则需通过加压泵输送到高位水池,而供给生产用水部门的水压与供给高位水池的水压相差较大。同时高位水池距抽水泵房较远达十多公里,高位水池的液位高低和加压泵系统的设计以及如何与抽水泵系统“联动”也是较难解决的。
鉴于以上特点,从技术和经济实用角度综合考虑,我们设计了用PLC控制与变频器控制相结合的自动恒压控制供水系统,同时通过主水管线压力传递较经济地实现了加压泵系统与抽水泵系统“远程联动”的控制目的。
2 系统方案
系统主要由三菱公司的PLC控制器、ABB公司的变频器、施耐德公司的软启动器、电机保护器、数据采集及其辅助设备组成
2.1 抽水泵系统
整个抽水泵系统有150KW深井泵电机四台,90KW深井泵电机两台,采用变频器循环工作方式,六台电机均可设置在变频方式下工作。采用一台 150KW和一台90KW的软起动150KW和90KW的电机。当变频器工作在50HZ,管网压力仍然系统设定的下,软起动器便自动起动一台电机投入到工频运行,当压力达到高,自动停掉工频运行电机。
系统为每台电机配备电机保护器,是因为电机功率较大,在过载、欠压、过压、过流、相序不平衡、缺相、电机空转等情况下为确保电机的良好使用条件,达到延长电机的使用寿命的目的。
系统配备水位显示仪表,可进行高低位报警,同时通过PLC可确保取水在合理水位的水质监控,同时也保护电机制正常运转工况。
系统配备流量计,既能显示一段时间的累积流量,又能显示瞬时流量,可进行出水量的统计和每台泵的出水流量监控。
2.2 公司内不同压力供水需求的解决
为稳定地满足公司内部分区域供水太力(0.4~0.45Mpa)主管网水压力(0.8~0.9Mpa)的要求,配备稳压减压阀来调节,可调范围为0.1~0.8Mpa。
2.3 加压泵系统
由于抽水泵房距离高位水池较远,直接供水到高位水池抽水泵的扬程不足,为此在距离高位水池落差为36米处设计有一加压泵房,配备立式离心泵两台(一用一备)电机功率为75KW,扬程36米。该加压泵的控制系统需考虑以下条件:
(1)若高位水池水位低和主管有水,则打开进水电动蝶阀和起动加压泵向高位水池供水;
(2)若高位水池水位满且主管有水,则给出报警信号并关闭加压泵和进水电动蝶阀;
(3)若主管无水表明用水量增大或抽水泵房停止供水,开启出水电动蝶阀由高位水池向主管不。
像抽水泵一样,我们为加压泵配备了软起动器和电机保护器,确保加压泵长期地运转,同时配备了高位水池的水位传感器和数显仪和缺水传感器。
为保证整个主水管网的恒压供不,当高位水池满且主水管有水时,加压泵停止,此时主管压力将“憋压”,终导致主管压力上升,并将此压力传递到抽水泵房,抽水泵的控制系统检测到此压力进行恒压变频控制,进而达到整个主管网的恒压供水,这是整个控制系统设计的关键。
3 系统实现功能
3.1 全自动平稳切换,恒压控制
主水管网压力传感器的压力信号4~20mA送给数字PID控制器,控制器根据压力设定值与实际检测值进行PID运算,并给出信号直接控制变频器的转速以使管网的压力稳定。当用水量不是很大时,一台泵在变频器的控制下稳定运行;当用水量大到变频器全速运行也不能保管网的压和稳定时,控制器的压力下限信号与变频器的高速信号同时被 PLC检测到,PLC自动将原工作在变频状态下泵投入到工频运行,以保持压力的连续性,同时将一台备用的泵用变频器起动后投入运行,以加大管网的供水量保证压力稳定。若两台泵运转仍,则依次将变频工作状态下的泵投入到工频运行,而将另一台备用泵投入变频运行。
当用水量减少时,表现为变频器已工作在速信号有效,这时压力上限信号如仍出现,PLC将工频运行的泵停掉,以减少供水量。当上述两个信号仍存在时,PLC再停掉一台工频运行的电机,直到后一台泵用主频器恒压供水。另外,控制系统设计六台泵为两组,每台泵的电机累计运行时间可显示,24小时轮换一次,既保证供水系统有备用泵,又保证系统的泵有相同的运行时间,确保了泵的寿命。
3.2 半自动运行
当PLC系统出现问题时,自动控制系统失灵,这时候系统工作处于半自动状态,即一台泵具有变频自动恒压控制功能,当用水量不够时,可手动投入另外一台或几台工频泵运行。
3.3 手动
当压力传感器故障或变频器故障时,为确保用水,六台泵可分别以手动工频方式运行。
4 实施效果
实际运行证明本控制系统构成了多台深井泵的自动控制的经济结构,在软件设计中充分考虎变频与工频在切换时的瞬间压力与电流冲击,每台泵均采用软起动是解决该问题关键。变频器工作的上下限频率及数字PID控制的上下限控制点的设定对系统的误差范围也有不可忽视的作用。
本文介绍了一种用Atmel89S51单片机PLC控制的方法,设计适合刚性离合器冲床的控制器,介绍了用光电隔离的输入输出电路的基本构成和工作原理,介绍了内部键盘显示电路的设计思想,同时给出了冲床控制的电器原理图。
系统硬件配置以AT89S51单片机为。AT89S51是一个低功耗,CMOS 8位单片机,片内含4Kb ISP(In-system programmable)可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,内置(WDT)电路。
功能强大的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。采用该单片机设计的冲床控制器,具有以下几个特点:
● 控制器采用PLC设计的理念,性高,抗干扰能力强。
● 面板上6位七段LED显示,既可以用来调节参数,工作时也可以显示计数值。
● 模块化设计,体积小巧,便于安装。
● 利用AT89S51具有ISP的功能,可现场下载程序以实现可编程控制器的功能。
硬件设计
控制器的硬件结构如图1所示,主要有键盘显示电路、EEPROM电路、掉电检测、程序下载接口、光电隔离输入输出等模块组成。电源模块是用TOP220Y设计的具有+24V和+5V输出的开关电源。当系统断电瞬间掉电检测电路发信号给AT89S51,系统立即把参数和计数值存放到EEPROM电路中。
键盘显示电路如图2所示,为了节省I/O口线,这里复用了P0口的低3位。下面介绍该电路的工作原理:显示时,先置P3.3,P0.0~P0.5为高电平,再依次将显示内容所对应的编码经串入并出的移位寄存器74HC164输出到共阴数码管,然后把要显示的位选置低,延时1ms,再把该显示的位选置高。只要这种动态扫描的频率足够高,本控制器采用80Hz,由于人眼的视觉暂留特性,就可以实现显示的功能,并没有闪烁的现象。扫描键盘时,把P3.3置为低电平,这时74HC164的输出均为低电平,这样就防止了在扫描键盘时干扰显示。当没有键按下时,读出的P0.0~ P0.2均为低电平,当有键盘按下时,相应输入会读出为高电平,再经延时去抖动法可判断出是哪个键被按下,再转到相应键的功能程序。本控制器的显示扫描、键盘扫描、键的去抖动都是放在定时器中断中完成的。
光电隔离输入电路如图3所示,输入端子和COM端子之间用无电压接点或NPN开集电晶体管连接,为了起见,输入电流为7mA,则输入为ON。当输入电流1.5mA则输入为OFF。输出电路采用光电隔离的继电器输出,将控制器内部电路与外部电路进行电气隔离,防止外部的干扰。
具体应用
冲床控制接线如图4所示,工作时,面板上的6位数码管显示计数值,当需要设置参数时,按下功能建5秒后,可依次设定单次动作持续时间、需润滑的工作次数、润滑持续时间等参数。
转动选择开关到单次行程位置,滑块处于上死点范围内时,左手右手按钮同时按下,则双联阀得电,滑块往复运动一次,当凸轮转到制动位置时,控制器使双联阀失电,使滑块停在上死点的位置。
当选择开关置于寸动位置时,同时按下左、右手按钮,控制器使双联阀得电,可使滑块动作,松开按钮,控制器使双联阀失电,滑块随即停止。
总结
本文所述的用AT89S51单片机设计的冲床控制器,经试验运行,该控制器的运行、抗干扰能力强,与软件算法设计以及光电保护的配合,可有效防止冲床的连冲,了操作人员的。另外,AT89S51单片机因其指令系统丰富、小巧、、灵活易扩展等特的优点,在所设计的冲床控制器使整个系统的性价比得以大幅度的提高。
设计了一组基于CPLD的PLC背板总线协议接口芯片,协议芯片可以区分PLC的背板总线的周期性数据和非周期性数据。详细介绍了通过Verilog HDL语言设计状态机、协议帧控制器、FIFO控制器的过程,25MHz下背板总线工作稳定的试验结果验证了协议芯片设计的可行性。
可编程逻辑控制器(PLC)主机是通过背板总线支持扩展模块的连接, 背板总线是PLC 主机同I/O扩展模块之间的高速数据通路,支持主机和扩展模块之间的I/O 数据刷新。背板总线的技术水平决定了PLC 产品的I/O 扩展能力,是PLC 设计制造的技术。目前,PLC 大多采用串行通信技术实现背板总线,串行总线引线少、硬件,跟并行总线相比不容易受干扰,串行总线可以提高在恶劣的工厂和工业环境下自动化设备的性。用于串行通信技术的可选类型包括I2C、UART、SPI、USB 和以太网等,一般来说,很多作为PLC 主芯片的单片机自身都集成了这些外设部件。但是单片机内部集成的I2C、UART、SPI 外设通信速率太慢,根本不能满足底板总线的通信速度要求。USB 和以太网的通信速度虽然很快但由于它们都是通用的接口,在通信协议处理时需要单片机的干预, 单片机处理数据速度较慢,因此整体通信速度仍然很慢。一台大型的PLC 采集上千点I/O 数据的时间一般不到1ms,要满足如此高速的通信要求设计专门的背板总线。
1 背板总线工作原理
如图1 所示,基于背板总线的数据通信流程如下:
(1)PLC 主机的命令通过主机协议芯片发送到背板总线;(2)从机协议芯片把接收到的命令给扩展模块的单片机, 某一个扩展模块的单片机做出应答,通过从机协议芯片把应答数据送往背板总线;(3)主机协议芯片收到应答数据,并送往PLC主机的单片机。
PLC 主机发往背板总线的数据可以分成两类:一类是I/O 刷新数据,具有周期性,数据交换非常频繁;另一类是诊断性数据,具有非周期性,出现机会较少。
2 协议芯片设计
本设计定义背板总线采用类似SPI 串行通信的规格,用于通信的引线共4 根,包括时钟信号SCLK、片选信号SSEL、写数据引线MISO 和读数据引线MOSI;支持主机和从机同时收发数据,
协议芯片内部有状态机控制器、帧控制器、移位寄存器、接收/发送FIFO 和读写缓存。单片机发送的周期性、非周期性数据帧,都写到写缓存,在发送FIFO 中进行排队发送,在SPI 时钟SCLK 的驱动下数据帧被转换为串行数据发送到背板总线;在SPI 时钟的作用下, 接收来自背板总线上的串行数据;在状态机和帧控制器的协调下,接收FIFO 中的有效数据帧被提取并放进读缓存区,等待单片机来读取,如果是非周期性数据则发中断信号通知单片机来取数据。读缓存中的周期性数据是可以覆盖的,新接收到的周期性数据直接覆盖旧的周期性数据,而非周期性数据是单存放的,不能覆盖,由单片机读取并。
协议芯片使得外接的单片机可以在空闲的情况下访问读缓存和写缓存,单片机不必频繁地通过中断技术处理周期性数据,也使得PLC 主机可以无等待地访问从机的周期性数据。
3 基于CPLD 的协议芯片实现
3.1 CPLD 芯片选型。
本设计选用lattice 公司的MachXO 系列芯片,该系列CPLD 集成了部分FPGA 的功能, 除了内置丰富的LUT 资源以外,还有大量分布式的SRAM 位和嵌入式的于FIFO 设计的SRAM 块, 并有模拟锁相环(PLL)支持时钟信号的倍频、分频等,I/O引脚可配置成1.2/1.5/1.8/3.3V 电平兼容。
3.2 基于Verilog HDL 语言的硬件程序设计
本设计采用Verilog HDL 语言进行协议芯片的程序设计,Verilog HDL 语言是一种硬件描述语言,设计数字芯片时可以按照层次描述,并可以序建模。本设计采用混合设计模式,主要设计的模块有状态机、协议帧检测、FIFO 控制器设计等。
1)状态机设计。
协议芯片的层模块是状态控制器部分,协议芯片共有四个状态, 分别处理基于Verilog HDL 程序语言的状态机描述伪代码如下:
2)协议帧检测。
本协议芯片的帧校验和采用简单的加和形式进行,在接收一方,如果数据帧中有用数据的加和同后续的校验和字节相同,则协议是正确的,否则丢弃该帧。
3.3 协议芯片综合
Verilog HDL 程序通过Lattice 公司的CPLD 开发软件ispLEVER 7.0 进行编译、综合,多次尝试后终选择了Lattice 公司MachXO 系列CPLD 中的MachXO2280 芯片, 综合后的主机协议芯片占用CPLD 资源的60%左右, 从机协议芯片占用CPLD资源的45%左右,FIFO 控制器充分利用了MachXO2280芯片内部的嵌入式RAM 块, 同时利用了锁相环实现高频率的时钟工作。后通过LSC ispVM(R)System 烧写软件经JTAG 口下载到CPLD 芯片中进行协议芯片功能验证测试。
4 结语
本文设计的背板总线协议芯片在背板串行总线时钟频率为25MHz、信号电平为LVTTL,底板引线长度为40cm,1 台主机连接3 台扩展模块的情况下工作稳定并通过了群脉冲试验,验证了这一组协议芯片的设计是成功的。由于该组协议芯片是针对PLC 的周期性和非周期性数据传送专门设计的,硬件实现的协议帧控制器支持高速率通信、支持数据帧检验功能,避免了数据传送的错误,大大降低了外围单片机的软件开销,增强了性,是一组非常适合用于PLC 背板总线或者需要多模块协同工作的背板总线系统协议芯片。
设计了一组基于CPLD的PLC背板总线协议接口芯片,协议芯片可以区分PLC的背板总线的周期性数据和非周期性数据。详细介绍了通过Verilog HDL语言设计状态机、协议帧控制器、FIFO控制器的过程,25MHz下背板总线工作稳定的试验结果验证了协议芯片设计的可行性。
可编程逻辑控制器(PLC)主机是通过背板总线支持扩展模块的连接, 背板总线是PLC 主机同I/O扩展模块之间的高速数据通路,支持主机和扩展模块之间的I/O 数据刷新。背板总线的技术水平决定了PLC 产品的I/O 扩展能力,是PLC 设计制造的技术。目前,PLC 大多采用串行通信技术实现背板总线,串行总线引线少、硬件,跟并行总线相比不容易受干扰,串行总线可以提高在恶劣的工厂和工业环境下自动化设备的性。用于串行通信技术的可选类型包括I2C、UART、SPI、USB 和以太网等,一般来说,很多作为PLC 主芯片的单片机自身都集成了这些外设部件。但是单片机内部集成的I2C、UART、SPI 外设通信速率太慢,根本不能满足底板总线的通信速度要求。USB 和以太网的通信速度虽然很快但由于它们都是通用的接口,在通信协议处理时需要单片机的干预, 单片机处理数据速度较慢,因此整体通信速度仍然很慢。一台大型的PLC 采集上千点I/O 数据的时间一般不到1ms,要满足如此高速的通信要求设计专门的背板总线。
1 背板总线工作原理
(1)PLC 主机的命令通过主机协议芯片发送到背板总线;(2)从机协议芯片把接收到的命令给扩展模块的单片机, 某一个扩展模块的单片机做出应答,通过从机协议芯片把应答数据送往背板总线;(3)主机协议芯片收到应答数据,并送往PLC主机的单片机。
PLC 主机发往背板总线的数据可以分成两类:一类是I/O 刷新数据,具有周期性,数据交换非常频繁;另一类是诊断性数据,具有非周期性,出现机会较少。
2 协议芯片设计
本设计定义背板总线采用类似SPI 串行通信的规格,用于通信的引线共4 根,包括时钟信号SCLK、片选信号SSEL、写数据引线MISO 和读数据引线MOSI;支持主机和从机同时收发数据,数据帧在SSEL 信号为低电平时传输。
协议芯片内部有状态机控制器、帧控制器、移位寄存器、接收/发送FIFO 和读写缓存。单片机发送的周期性、非周期性数据帧,都写到写缓存,在发送FIFO 中进行排队发送,在SPI 时钟SCLK 的驱动下数据帧被转换为串行数据发送到背板总线;在SPI 时钟的作用下, 接收来自背板总线上的串行数据;在状态机和帧控制器的协调下,接收FIFO 中的有效数据帧被提取并放进读缓存区,等待单片机来读取,如果是非周期性数据则发中断信号通知单片机来取数据。读缓存中的周期性数据是可以覆盖的,新接收到的周期性数据直接覆盖旧的周期性数据,而非周期性数据是单存放的,不能覆盖,由单片机读取并。
协议芯片使得外接的单片机可以在空闲的情况下访问读缓存和写缓存,单片机不必频繁地通过中断技术处理周期性数据,也使得PLC 主机可以无等待地访问从机的周期性数据。
3 基于CPLD 的协议芯片实现
3.1 CPLD 芯片选型。
本设计选用lattice 公司的MachXO 系列芯片,该系列CPLD 集成了部分FPGA 的功能, 除了内置丰富的LUT 资源以外,还有大量分布式的SRAM 位和嵌入式的于FIFO 设计的SRAM 块, 并有模拟锁相环(PLL)支持时钟信号的倍频、分频等,I/O引脚可配置成1.2/1.5/1.8/3.3V 电平兼容。
3.2 基于Verilog HDL 语言的硬件程序设计
本设计采用Verilog HDL 语言进行协议芯片的程序设计,Verilog HDL 语言是一种硬件描述语言,设计数字芯片时可以按照层次描述,并可以序建模。本设计采用混合设计模式,主要设计的模块有状态机、协议帧检测、FIFO 控制器设计等。
2)协议帧检测。
本协议芯片的帧校验和采用简单的加和形式进行,在接收一方,如果数据帧中有用数据的加和同后续的校验和字节相同,则协议是正确的,否则丢弃该帧。
3)FIFO 设计。
FIFO 利用了MachXO 系列CPLD 的嵌入式SRAM 块的资源,Lattice 公司的ispLEVER 7.0 软件提供了可配置的IP 软核,该软核可以采用基于嵌入式SRAM 块实现, 也可以使用查找表实现,FIFO 的IP 核框图如图4 所示,FIFO 的可配置参数包括FIFO字节深度、EmptyFull、Almostempty 和AlmostFull触发字节深度、数据宽度、大小端模式等。
3.3 协议芯片综合
Verilog HDL 程序通过Lattice 公司的CPLD 开发软件ispLEVER 7.0 进行编译、综合,多次尝试后终选择了Lattice 公司MachXO 系列CPLD 中的MachXO2280 芯片, 综合后的主机协议芯片占用CPLD 资源的60%左右, 从机协议芯片占用CPLD资源的45%左右,FIFO 控制器充分利用了MachXO2280芯片内部的嵌入式RAM 块, 同时利用了锁相环实现高频率的时钟工作。后通过LSC ispVM(R)System 烧写软件经JTAG 口下载到CPLD 芯片中进行协议芯片功能验证测试。
4 结语
本文设计的背板总线协议芯片在背板串行总线时钟频率为25MHz、信号电平为LVTTL,底板引线长度为40cm,1 台主机连接3 台扩展模块的情况下工作稳定并通过了群脉冲试验,验证了这一组协议芯片的设计是成功的。由于该组协议芯片是针对PLC 的周期性和非周期性数据传送专门设计的,硬件实现的协议帧控制器支持高速率通信、支持数据帧检验功能,避免了数据传送的错误,大大降低了外围单片机的软件开销,增强了性,是一组非常适合用于PLC 背板总线或者需要多模块协同工作的背板总线系统协议芯片。
产品推荐