西门子6ES7231-7PB22-0XA8代理直销
1. PID控制
在工业控制中,PID控制(比例-积分-微分控制)得到了广泛的应用,这是因为PID控制具有以下优点:
1)不需要知道被控对象的数学模型。实际上大多数工业对象准确的数学模型是无法获得的,对于这一类系统,使用PID控制可以得到比较满意的效果。据日本统计,目前PID及变型PID约占总控制回路数的90%左右。
2)PID控制器具有典型的结构,程序设计简单,参数调整方便。
3)有较强的灵活性和适应性,根据被控对象的具体情况,可以采用各种PID控制的变种和改进的控制方式,如 PI、PD、带死区的PID、积分分离式PID、变速积分PID等。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法相结合,可以实现PID控制器的参数自整定,使PID控制器具有经久不衰的生命力。
2. PLC实现PID控制的方法用PLC对模拟量进行PID控制时,可以采用以下几种方法:
1)使用PID过程控制模块。这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户在使用时只需要设置一些参数,使用起来非常方便,一块模块可以控制几路甚至几十路闭环回路。但是这种模块的价格昂贵,一般在大型控制系统中使用。如三菱的A系列、Q系列PLC的PID控制模块。
2)使用PID功能指令。现在很多中小型 PLC都提供PID控制用的功能指令,如FX2N系列PLC的PID指令。它们实际上是用于PID控制的子程序,与A/D、D/A模块一起使用,可以得到类似于使用PID过程控制模块的效果,价格却便宜得多。
3)使用自编程序实现PID闭环控制。有的PLC没有有PID过程控制模块和 PID控制指令,有时虽然有PID控制指令,但用户希望采用变型PID控制算法。在这些情况下,都需要由用户自己编制PID控制程序。
3. FX2N的PID指令
PID指令的编号为FNC88,如图6-36所示源操作数[S1]、[S2]、[S3]和目标操作数[D]均为数据寄存器D,16位指令,占9个程序步。[S1]和[S2]分别用来存放给定值SV和当前测量到的反馈值PV,[S3]~[S3]+6用来存放控制参数的值,运算结果MV存放在[D]中。源操作数[S3]占用从[S3]开始的25个数据寄存器。PID指令是用来调用PID运算程序,在PID运算开始之前,应使用MOV指令将参数(见表6-3)设定值预先写入对应的数据寄存器中。如果使用有断电保持功能的数据寄存器,不需要重复写入。如果目标操作数[D]有断电保持功能,应使用初始化脉冲M8002的常开触点将其复位。
PID指令可以同时多次使用,但是用于运算的[S3]、[D]的数据寄存器元件号不能重复。
PID指令可以在定时中断、子程序、步进指令和转移指令内使用,但是应将[S3]+7清零(采用脉冲执行的MOV指令)之后才能使用。
控制参数的设定和 PID运算中的数据出现错误时,“运算错误”标志M8067为 ON,错误代码存放在D8067中。
PID指令采用增量式PID算法,控制算法中还综合使用了反馈量一阶惯性数字滤波、不完全微分和反馈量微分等措施,使该指令比普通的PID算法具有更好的控制效果。
PID控制是根据“动作方向”([S3]+1)的设定内容,进行正作用或反作用的PID运算。PID运算公式如下:
以上公式中:△MV是本次和上一次采样时PID输出量的差值,MVn是本次的PID输出量;EVn和 EVn-1分别是本次和上一次采样时的误差,SV为设定值;PVn是本次采样的反馈值,PVnf、PVnf-1和PVnf-2分别是本次、前一次和前两次滤波后的反馈值,L是惯性数字滤波的系数;Dn和Dn-l分别是本次和上一次采样时的微分部分;K p是比例增益,T S是采样周期,T I和T D分别是积分时间和微分时间,αD是不完全微分的滤波时间常数与微分时间TD的比值。
4.PID参数的整定
PID控制器有4个主要的参数K p、T I、T D和T S需整定,无论哪一个参数选择得不合适都会影响控制效果。在整定参数时应把握住PID参数与系统动态、静态性能之间的关系。
在P(比例)、I(积分)、D(微分)这三种控制作用中,比例部分与误差信号在时间上是一致的,只要误差一出现,比例部分就能及时地产生与误差成正比的调节作用,具有调节及时的特点。比例系数K p越大,比例调节作用越强,系统的稳态精度越高;但是对于大多数系统,K p过大会使系统的输出量振荡加剧,稳定性降低。
积分作用与当前误差的大小和误差的历史情况都有关系,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化。因此,积分部分可以消除稳态误差,提高控制精度,但是积分作用的动作缓慢,可能给系统的动态稳定性带来不良影响。积分时间常数T I增大时,积分作用减弱,系统的动态性能(稳定性)可能有所改善,但是消除稳态误差的速度减慢。
微分部分是根据误差变化的速度,提前给出较大的调节作用。微分部分反映了系统变化的趋势,它较比例调节更为及时,所以微分部分具有超前和预测的特点。微分时间常数T D增大时,超调量减小,动态性能得到改善,但是抑制高频干扰的能力下降。
选取采样周期T S时,应使它远远小于系统阶跃响应的纯滞后时间或上升时间。为使采样值能及时反映模拟量的变化,T S越小越好。但是T S太小会增加CPU的运算工作量,相邻两次采样的差值几乎没有什么变化,所以也不宜将T S取得过小。
目前,国内用户选用的可编程控制器(PLC)仍以国外产品为主,造成这种局面的一个重要原因是欧、美、日等发达工业国家掌握了高端PLC的核心技术,其硬软件技术对应用者来说完全是封闭的,使用者只能从应用的角度学习PLC,而不能参与PLC的开发[1-2]。近年来,IEC61131-3的颁布和实施为各PLC生产厂家提供了统一的软件开发准则,开放的高性能单片机技术的发展,为硬件开发提供了有效的物质基础[3]。在这样的背景下,研制开放的PLC系统无论对于科学研究还是促进PLC行业的发展都有积极的现实意义。 PLC是一种专用于工业控制的计算机,其硬件主要由中央处理器、存储器、输入/输出接口等组成[4],其硬件结构如图1所示。1 开放式可编程控制器 开放式PLC硬件结构采用CPU+外围模块+接口构成,各个接口都按标准设计,大大提高了PLC的开放性,使其能方便地与大系统连接。编程语言遵循IEC61131-3,并将基于PC的编程软件作为PLC编程工具。系统硬件部分采用高性能51内核处理器STC89C51,其为模块化设计,采用滤波、隔离电路,以降低成本。主要电路有:微控制器STC89C51RC、开关量输入电路、继电器输出电路、晶体管输出电路、RS232通信接口电路、电源电路、时钟复位电路和USB通信接口电路等,PLC硬件系统框图如图2所示,软件采用Borland公司集成开发软件C++ Builder,通过集成平台对51内核处理器指令集进行解释、编译,使梯形图语言转换为能被51内核处理器识别的代码。2 系统硬件设计 可编程控制器单片机部分电路图如图3所示。USB通信部分选择Philips公司的PDIUSBD12[5]芯片作为系统的USB接口器件,片内集成了高性能USB接口电路、SIE、FIFO存储器、收发器以及电压调整器等,可与任何外部控制器或微处理器实现高速并行通信,其速率为2 Mb/s,完全能够满足设计所要求的数据传输速度。USB通信接口模块电路如图4所示。3 系统软件设计 系统软件结构如图5所示。图中,系统编辑模块为用户提供编辑环境,接收用户的梯形图程序输入,并将其存储为相应的文件。梯形图语言为一种图形语言,要直接对其进行编译十分困难,因此并不是直接对梯形图程序进行编译,而是先将其翻译成指令语言的文本形式,再对指令语言进行编译。图形语言编译问题的解决,提高了代码的利用率[6-7]。通过提取数据结构中的数据,形成C语言程序文件,经过C51编译器、连接器、转换器的编译、连接、转换过程,生成能够在PLC硬件上运行的可执行文件。3.1 用户界面PLC用户界面是实现可编程人机交互的重要部分,它以梯形图语言的形式录入用户控制程序,以二进制形式通过串口下载到PLC硬件,其梯形图表示的用户编程区如图6所示。PLC在进行逻辑运算之前,必须对外部信号进行采样[8],若要实现指令的功能,首先要设置外部I/O在梯形图中的地址,系统才能够对用户程序中所使用的I/O地址与单片机的引脚地址相匹配。本设计在I/O设置对话框底层设计了如表1所示的数据处理函数。3.2 USB通信 PDIUSBD12的固件设计成完全的中断驱动,当CPU处理前台任务时,USB的传输可在后台进行;后台中断服务程序和前台主程序循环之间的数据交换可以通过事件标志和数据缓冲区来实现。当PDIUSBD12从USB收到一个数据包,即对CPU产生一个中断请求,CPU立刻响应中断。在中断服务程序中,固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并将PDIUSBD12的内部缓冲区清零,以便接收新的数据包,使CPU可以继续执行当前的前台任务直到完成。本文利用PDIUSBD12的端点1进行命令的传输和应答,端点1每次接收计算机发送过来的8 B指令,其指令格式如表2所示。例如,接收到十六进制码52 01 00 03 00 07 00 50,表示读24C01器件从03字节开始的7个字节的数据。52H为R的ASCII码,57H为W的ASCII码。端点2用于数据的传输。 本文在了解PLC国内外研究状况以及其市场需求的基础上,提出了研发开放式PLC的概念,完成了PLC集成开发系统的C51模块实现方案的设计,将USB通信方式引入PLC领域,所设计的梯形图编辑器提供了梯形图编辑平台,实现了PLC的基本逻辑指令,完成计算机与控制器的USB通信。
通过 DP/AS-i LINK Advanced,PROFIBUS DP 主站可以循环访问较低层次 AS-Interface 网段的所有从站的 I/O 数据。
DP/AS-Interface LINK Advanced 占用以下地址区域:
作为单主站:32 字节的输入数据和 32 字节的输出数据,其中存储了 AS-Interface 线路所连接的 AS-Interface 从站(标准和A/B 寻址)连接的 I/O 数据。
字节数加倍,作为双主站
可选的附加 I/O 字节用于来自模拟量从站的数据
可以压缩 I/O 图像的尺寸,因此,在 DP 主站的系统中,只占用实际要求的 I/O 地址区。对模拟信号的综合评价与访问数字值同样容易,因为模拟过程数据也直接取决于 CPU 的 I/O 地址区。
PROFIBUS DP-V1 主站还可通过非循环 PROFIBUS 服务来触发 AS-Interface 主站调用(如写入参数、修改地址、读取诊断值)。使用 AS-Interface Link 中的操作显示无 CPU,可以全面调试下层 AS-Interface 总线。
DP/AS-i LINK 增强型配有一个附加以太网端口,从而可使用集成网络服务器。通过标准网页浏览器(例如,Internet Explorer),无需其他软件即可调用网络服务器。无需附加软件,其允许在 PC 上显示所有诊断信息,显示总线配置以及任何调节(若适用)。使用这个端口,还可对固件进行更新。
通过可选的 C-PLUG,不用输入连接参数(PROFIBUS 地址等)即可更换模块,从而将发生故障时的停机时间缩到短。
诊断
使用 LED、显示屏和控制键、web 界面或 STEP 7,可以实现下列诊断:
DP/AS-Interface LINK 增强型的运行状态
作为 PROFIBUS DP 从站的链路的状态
AS-Interface 网络诊断
消息帧统计
在 web 界面中的标准诊断页,用于使用标准浏览器、通过以太网进行快速诊断
如果使用网络界面,则在 PC 上无需进行网络设置(Zeroconf 程序)。
可以选择通过电子邮件或 SNMP Trap 报告诊断事件。集成的诊断缓冲区保存包括时间戳的事件。
安全注意事项
为了保护设备、系统、机器和网络以防受到网络威胁,必须实施并持续保持全面、先进的工业安全概念。西门子的产品和解决方案只是这种概念的一个组成部分。
定义 接口的引脚布局列表中,“信号类型"栏中的字母有如下含义: VI Voltage Input (电源电压) VO Voltage Output (电源电压) GND Ground (接地) I Input (输入端) O Output (输出端) B 双向端子
DRIVE-CLiQ 接口 X100 - X103 接口说明参见 PPU 说明的章节“接口"和“连接"。
数字量输入/输出端 插头名称: X122 插头类型: 弹簧压力端子 1 大可连接横截面: 0,5 mm2
说明 未占用的输入视为“低位"电平。 “快速输入端"可用于位置扫描。
西门子6EP1333-4BA00
7 创建一个发送数据块DB3
打开创建的发送数据块,在数据块中定义发送数据区为 8个字节的数组,如图8所示。
图8 创建发送数据区
然后在OB1 中调用“TSEND"发送通信指令,并为“TSEND"参数。使用M0.3( 2Hz 的时钟脉冲)上升沿激活发送任务,发送数据区为P# DB3.DBX0.0 BYTE 8,连接 ID = 1与连接参数里面的设置相同,发送长度LEN=8。分配好参数的“TSEND"块如图9所示。
图9 调用“TSEND"发送通信块
5、在 PLC_1 的 OB1 中调用“TRCV"接收通信指令
同样,先创建一个接收数据块DB4 ,如图10所示。“TRCV"接收通信指令的调用方法与“TSEND" 发送通信指令的调用方法相同,M8.1作为接收指令的使能位,如图11所示。
图10创建接收数据区
图11 调用“TRCV"接收通信块
6、在 PLC_1 的 OB1 中调用 “TDISCON"通信指令
不同型号的 PLC ,其输入 / 输出通道的范围是不一样的,应根据所选 PLC 型号,查阅相应的编程手册,决不可“张冠李戴"。必须参阅有关操作手册。
( 2 )部辅助继电器
内部辅助继电器不对外输出,不能直接连接外部器件,而是在控制其他继电器、定时器 / 计数器时作数据存储或数据处理用。
从功能上讲,内部辅助继电器相当于传统电控柜中的中间继电器。
未分配模块的输入 / 输出继电器区以及未使用 1 : 1 链接时的链接继电器区等均可作为内部辅助继电器使用。根据程序设计的需要,应合理安排PLC 的内部辅助继电器,在设计说明书中应详细列出各内部辅助继电器在程序中的用途,避免重复使用。参阅有关操作手册。
( 3 )分配定时器 / 计数器
PLC 的定时器 / 计数器数量分别见有关操作手册。
7.3 PLC 软件系统设计方法及步骤
7.3.1 PLC 软件系统设计的方法
在了解了 PLC 程序结构之后,就要具体地编制程序了。编制 PLC 控制程序的方法很多,这里主要介绍几种典型的编程方法。
后,为了断开通信链接,我们需要调用“TDISCON"通信指令,如图12所示。
图12 调用“TDISCON"通信块
3.3下载程序
至此,S7-1200侧的组态和编程都已经完成,可以在项目编译无错误后,直接下载到S7-1200 CPU中,并启动CPU的运行。
4 S7-300 CPU的组态编程
S7-300带PN接口的CPU支持ISO on TCP通信功能,通过该集成以太网接口组态ISO on TCP通信时,只能使用开放式通信的功能块,这些的功能块可以在STEP7 “ 通讯块"的 “标准库 "中找到,如图13所示。
图13 S7-300 CPU通信指令库
库中提供了下列通信功能块:
′> FB 65 "TCON",用于建立连接,连接时需要UDT65来提供参数
> FB 66 "TDISCON",用于终止连接
> FB 63 "TSEND",用于发送数据到S7站点、S5站点、PC站或者第三方设备
> FB 64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据
要通过CPU 的 集成PN 接口实现开放的ISO on TCP通信,不能在Netpro网络组态中直接建立连接,必须通过程序每个连接的参数。用于通信的FB标准功能块,请参见附件提供的例程 "Sample_1 ( 50 KB ) " 或参考下载中心文档《A0284 使用西门子PLC集成的PN口实现S5 兼容通信使用入门》提供的例程。下载链接:80490650
从附件提供的例程 "Sample_1 ( 50 KB ) " 中将把需要的程序块拷贝到新建的项目中,包括:
> UDT 65 "TCON_PAR",存放用户通信参数
> FB420 "SET_ISO_ENDPOINT" ,用于修改UDT65内通信对象参数
> FC21, 被FB420调用
随后,使用通信功能块 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND" 和 FB64 "TRCV" 完成程序的编写。
4.1创建新项目
1、打开STEP7,新建一个项目
2、在项目中插入一个SIMATIC 300的站
3、组态硬件,插入一个CPU317-2PN/DP的CPU,并为PN接口分配IP地址“192.168.0.3",如图14所示。同时,在CPU的“Cycle/Clock Memory"属性页中MB0为时钟存储器,在程序中可以使用M0.3(2Hz 的时钟脉冲)去自动激活发送任务,如图15所示。
图14为PN接口分配IP地址