西门子6ES7241-1AA22-0XA0品质好货
西门子6ES7241-1AA22-0XA0品质好货
1、引言
可编程序控制器(Programmable Logic Controller)简称为PLC,它具有可靠性高、抗干扰能力强等突出优点,因而广泛应用于工业控制领域,已经成为现代工业自动化的主要支柱之一。在PLC控制系统的设计中,经常会遇到I/O点资源紧张以及性价比矛盾的问题。有些被控设备需要具有手动、自动的工作方式,且手动部分控制按钮较多;有些自动生产线中,进行位置检测的行程开关或者用于系统工作状态指示的输出比较多,都会使占用的I/O点大为增加。一般通过增加扩展模块来解决,但PLC的I/O点价格昂贵,且还有扩展模块数目和I/O点数目的限制,如SIEMENS的CPU 226大扩展模块数目为7,大扩展168路数字量I/O点或35路模拟量I/O点。若此时再增加CPU,势必使得系统性价比大为降低,在这种情况下,扩展I/O点数具有较大的实际意义。本文以SIEMENS的S7-200 PLC为例,探讨如何扩展PLC控制系统中I/O点数的方法。
2、硬件电路I/O点扩展方法
2.1 分时分组输入
对于既有手动方式又有自动方式,而二者不可能同时执行的PLC工作方式,不同工作方式的输入可以共用一个PLC的输入点。分时分组输入扩展I/O点数接线图如图l所示。I1.0用来输入自动/手动命令信号,供自动和手动程序切换用;二极管用来切断寄生电路,避免错误信号的产生;SA用来切换自动和手动操作方式。
图1 分时分组输入接线图
2.2 共用输出触点
对于通断状态完全相同的负载,在输出点功率允许的情况下,可以并联于同一输出点上,即用一个输出点带动多个负载,需特别注意的是不能超出每个输出点的允许负载能力。接线方式如图2所示。
图2 共用输出点接线图
2.3 合并输入触点
对于一个由如图3所示的按钮和接触器实现的电动机多点起动、停止的控制要求,例如可在三处实现启动和停止,其中,SB1、SB2、SB3为起动按钮,SB11、SB12、SB13为停止按钮。可以将每个按钮接PLC的一个输入点,很容易便可实现。若PLC的输入点较为紧张,则可以用图4所示的方式接线,与每个按钮占用一个输入点的方式相比,该方法的软件编程更为简单。
图3 电动机电气控制原理图
图4 电动机PLC控制接线图
2、软件开发
嵌入式PLC是基于Cygnal公司的C8051f040芯片开发的,所以二次程序的开发使用51汇编语言。开发选择的编译器是KEIL C51,因为它可以生成我们所需要的.HEX文件。
内核留出了七个用户嵌入程序接口,我们只需要充分理解各个接口的功能就可了进行二次开发了,需要熟悉如下内容:a、内核功能b、内核结构c、内核任务管理d、内核存储空间分配。由于系统软件中已经加入了232通信、485通信和CAN通信的功能,所以16路模拟量PLC的二次驱动软件的开发主要集中在模拟量的AD转换和PLC资源区中AD值的实时刷新上。
(1)程序规划
T4中断:完成AD转换和16个通道的切换程序
USER_SCAN:PLC资源区中AD值的刷新。
AD转换过程如下:每一通道连续采样16次,采样完后得到累加和,然后启动下一通道的AD转换。
PLC资源区中AD值的刷新过程如下:在梯形图扫描周期结束时进行,把各路AD值的累加和求平均值后放入PLC的资源区的对应位置处。
(2)程序代码
INIT_AD ;AD初始化
MOV SFRPAGE, #ADC0_PAGE
MOV REF0CN, #07H ;内部参考电压输出到VERF;启动内部温度传感器
MOV AMX0CF, #00H ;单极性输入
MOV ADC0CF, #0B8H ;D7--D3=SYSCLK/采样时钟-1
;采样转换时钟=1US
;D2--D0=GAIN
;000 GAIN=1
MOV ADC0CN, #90H ;启动AD采样
MOV AD_CHANNEL, #00H ;AD通道号,初值为0
MOV AD_COUNT, #00H ;16次采样次数计数。初值为0
RET
SAMPLE_AD ;AD采样开始
MOV SFRPAGE, #ADC0_PAGE ;AD控制寄存器页
MOV A, AD_CHANNEL ;采样值的累加和是一个字基地址为#XAI,偏移地址为AD_CHANNEL
RL A
MOV DPTR, #XAI ;XAI存放16次采样值的累加和
ADD A, DPL ;低字节相加
MOV DPL, A
MOVX A, @DPTR
MOV B, A
MOV A, ADC0L
CLR C
ADDC A, B
MOVX @DPTR, A
INC DPTR ;高字节相加
MOVX A, @DPTR
MOV B, A
MOV A, ADC0H
ANL A, #0FH
ADDC A, B
MOVX @DPTR, A ;#XAI中存放格式为低字节、高字节
MOV SFRPAGE, #ADC0_PAGE ;AD控制寄存器页
MOV ADC0CN, #090H ;启动下次AD采样
INC AD_COUNT
MOV A, AD_COUNT
CLR C
SUBB A, #16
JNC FILL_XAI_XAD ;当16次采样完成后,把XAI中16个采样和(2字节)存放到XAD RET
3、驱动程序的嵌入
在KEIL C51中编译上述程序。使用下载工具软件“DOWNHEX”,把生成的.HEX文件通过串口下载到芯片组的固定地址处,使得内核可以调用它,从而完成二次驱动程序的开发。到此,16路模拟量PLC的开发工作基本完成。
三、功能介绍
基于嵌入式PLC开发的多路模拟量网络节点具有以下功能:
1. 采集工业现场的多路热电偶信号;
2. 支持三菱、台达等多家人机界面;
3. 支持梯形图编程(86条指令);
4. 支持CANbus互连(多机并联运行或扩展单元连接)等。
这里简要介绍下该网络节点的梯形图功能应用。嵌入式PLC的系统软件中内置了温度转换函数,其功能是把热电偶毫伏信号对应的AD值转化成温度值。适用于任意分度热电偶输入信号,应用于不同的控温场合,配合PID调节,使受控温度精度可达±1℃。
下面的梯形图程序就是把一路热电偶信号转换成温度值,该信号AD值放在D5000,转换后的温度值存放在D5160中。
图5 基于嵌入式PLC开发的多路模拟量网络节点梯形图
四、结束语
笔者利用嵌入式PLC芯片组开发的的PLC产品的实例证明,本着软硬件可裁剪的原则,开发出的产品可以很好的满足用户的个性化需求,节约了硬件成本、缩短了研发周期,并且得到了许多强大的功能,相信它的出现必将使得PLC生产厂家生产出越来越多的贴近终端市场的PLC。
如今工业控制产品已发展到一个追求个性化、差异化的阶段。传统的PLC产品已经无法满足更加细分化的市场需求,为了满足这种需求,出现了嵌入式PLC产品。
一、嵌入式PLC
嵌入式PLC是将PLC系统软件构建于控制器内,根据用户控制需要定制硬件,以PLC的应用方式解决对象控制问题的PLC。它由两部分组成:嵌入式PLC系统软件和芯片组
1、嵌入式PLC系统软件
嵌入式PLC系统软件将PLC语言(梯形图语言)、CAN总线嵌入到单片机中,使单片机的产品开发从使用汇编语言变为使用PLC梯形图语言,并具有CAN总线的互连特性。
该系统软件具有以下特点:1.以梯形图语言为内核,添加了中断管理系统,能实现PLC无法实现的硬实时操作;2.强化运算能力,增加了CANBUS函数库、浮点数库、专家自整定PID、嵌入式WEB等,丰富了PLC的功能;3.提供开放式扩展结构,支持第三方开发扩展单元的接线;4.增加了网络互连功能,在远程端加载专用浏览器后,即可实现远程监控。
系统软件包括三个部分。
① 嵌入式PLC内核:它完成实时任务调度、梯形图语言解释、执行、通讯等基本功能,并提供二次开发驱动接口;
② 二次开发驱动程序 通过系统软件提供的外挂任务,使用内核开发各种面向具体对象个性化、差异化的驱动程序;
③ 终端应用程序 指面向工艺流程控制的梯形图语言程序
2、嵌入式PLC芯片组
EASY CORE 1.00 是一个加载了嵌入式PLC系统软件的核心芯片组,作为一款加载了系统软件的硬件平台,可以用来设计通用和专用PLC。
1)芯片组基本性能:
① 供电:+5V 200mA,RAM掉电保护5年。
② CPU: C8051F040。
③ 嵌入扩展能力
·32 IO:可复用成SPI、I2C接口及外中断、外计数、AD等。
·4 AD: 12位精度,100 KPS。
·2 DA: 12位精度,100 KPS。
④ 通信接口
·CANBUS:系统软件管理,使用工具软件CANSet构建CANBUS总线网络。
·UART0:系统软件管理,用于梯形图编程、监控,支持人机界面及用户驱动程序下载。
·UART1:系统软件管理,用于下载CANBUS网络参数、构建RS485网络及支持第三方设备互连。
2)芯片组原理框图
图1 芯片组原理框图
二、应用开发
基于加载了系统软件的核心芯片组,我们可以根据工艺需要来开发自己的嵌入式PLC产品。下面就介绍基于嵌入式PLC芯片组开发的16路输入的模拟量PLC产品(可输入标准信号或热电偶信号)。
1、硬件设计
硬件整体结构图如下:
图2 硬件整体结构图
AI0是芯片组内的一个AD转换通道,P1.0—P1.4作为模拟开关的通道控制线来进行16个模拟信号通道间的切换。
(1)信号采集电路
用AD公司的高精密放大器OP07构成模拟信号放大电路,OP07具有低输入偏移电压(10uV)、低漂移电压(0.2uV℃)和宽范围的供电电压(±3V-±18V), 可以很好地满足该产品的要求。在这里OP07由±5V供电,R18、R79作为调零电阻,输出电压由下式给出:Vout=Vin(1+R98R56)。
图3 模拟信号放大电路
(2)信号选择电路
选择16通道的模拟开关CD4067构成信号选择电路,A、B、C、D、INH接到芯片组的P1.0-P1.4引脚,做为模拟开关的通道选择控制信号。OUT引脚接到芯片组的AIN0,即个AD转换通道。
图4 信号选择电路图
一、引言
以变频调速器为调速控制器的同步控制系统、比例控制系统和同速系统等已广泛应用于冶金、机械、纺织、化工等行业。以比例控制系统为例,一般的系统构成如图1所示。
图1
工作时操作人员通过控制机(可为PLC或工业PC)设定比例运行参数,然后控制机通过D/A转换模件发出控制变频调速器的速度指令使各个变频调速器带动电机按一定的速度比例运转。此方案对电机数目不多,电机分布比较集中的应用系统较合适。但对于大规模生产自动线,一方面电机数目较多,另一方面电机分布距离较远。采用此控制方案时由于速度指令信号在长距离传输中的衰减和外界的干扰,使整个系统的工作稳定性和可靠性降低;同时大量D/A转换模件使系统成本增加。为此我们提出了PLC与变频调速器构成多分支通讯控制网络。该系统成本较低、信号传输距离远、抗干扰能力强,尤其适合远距离,多电机控制。
二、系统硬件构成
图2
系统硬件结构如图2所示,主要由下列组件构成:
1、FX0N—24MR为PLC基本单元,执行系统及用户软件,是系统的核心。
2、FX0N—485ADP为FX0N系统PLC的通讯适配器,该模块的主要作用是在计算机—PLC通讯系统中作为子站接受计算机发给PLC的信息或在多PLC构成n:n网络时作为网络适配器,一般只作为规定协议的收信单元使用。本文作者在分析其结构的基础上,将其作为通讯主站使用,完成变频调速器控制信号的发送。
3、FR—CU03为FR—A044系列比例调速器的计算机连接单元,符合RS—422/RS—485通讯规范,用于实现计算机与多台变频调速器的连网。通过该单元能够在网络上实现变频调速器的运行控制(如启动、停止、运行频率设定)、参数设定和状态监控等功能,是变频器的网络接口。
4、FR—A044变频调查器,实现电机调速。
在1:n(本文中为1:3)多分支通讯网络中,每个变频器为一个子站,每个子站均有一个站号,事先由参数设定单元设定。工作过程中,PLC通过FX0N—485ADP发有关命令信息后,各个子站均收到该信息,然后每个子站判断该信息的站号地址是否与本站站号一致。若一致则处理该信息并返回应答信息;若不一致则放弃该信息的处理,这样就保证了在网络上同时只有一个子站与主站交换信息。
三、软件设计
1、通讯协议
FR—CU03规定计算机与变频器的通讯过程如图3所示。
图3
该过程多分5个阶段。1、计算机发出通讯请求;2、变频器处理等待;3、变频器作出应答;4、计算机处理等待;5、计算机作出应答。根据不同的通讯要求完成相应的过程,如写变频器启停控制命令时完成?~?三个过程;监视变频器运行频率时完成?~?五个过程。不论是写数据还是读数据,均有计算机发出请求,变频器只是被动接受请求并作出应答。每个阶段的数据格式均有差别。图4分别为写变频器控制命令和变频器运行频率的数据格式。
图4
2、PLC编程
要实现对变频器的控制,必须对PLC进行编程,通过程序实现PLC与变频器信息交换的控制。PLC程序应完成FX0N—485ADP通讯适配器的初始化、控制命令字的组合、代码转换及变频器应答信息的处理等工作。PLC梯形图程序(部分程序)如图5所示。
图5
程序中通讯发送缓冲区为D127~D149;接受缓冲区为D150~D160。电机1启动、停止分别由X0的上升、下降沿控制;电机2启动、停止分别由X1的上升、下降沿控制;电机3启动、停止分别由X2的上升、下降沿控制。程序由系统起始脉冲M8002初始化FX0N—485ADP的通讯协议;然后进行启动、停止信号的处理。以电机1启动为例,X0的上升沿M50吸合,变频器1的站号送入D130,运行命令字送入D135,ENQ、写运行命令的控制字和等待时间等由编程器事先写入D131、D132、D133;接着求校验和并送入D136、D137;后置M8122允许RS指令发送控制信息到。变频器受到信号后立刻返回应答信息,此信息FX0N—485ADP收到后置M8132,PLC根据情况作出相应处理后结束程序。
四、结语
1. 实际使用表明,该方案能够实现PLC通过网络对变频调速器的运行控制、参数设定和运行状态监控。
2. 该系统多可控制变频调速器32台,大距离500m。
3. 控制多台变频器,成本明显低于D/A控制方式。
4. 随着变频器的增加,通讯延迟加大,系统响应速度低于D/A控制方式。