西门子6ES7221-1BH22-0XA8现货库存
4.2 电源部分的抗干扰设计
电源波动造成的电压畸变或毛刺,将对PLC及I/O模块产生不良影响。据统计分析,PLC系统的干扰中有70%是从电源耦合进来的。为了抑制干扰,PLC供电系统可采用如下方式,控制器和I/O系统分别由各自的隔离变压器供电,并与主电路电源分开。当某一部分电源出了故障时,而不会影响其他部分,如输入、输出供电中断时,控制器仍能继续供电,提高了系统的可靠性。
4.3 输入输出信号的抗干扰设计
为了防止输入、输出信号受到干扰,应选用绝缘型I/O模块。
4.3.1 输入信号的抗干扰设计
输入信号的输入线之间的差模干扰可以利用输入模块滤波来减小干扰,而输入线与大地间的共模干扰可通过控制器的接地来抑制。在输入端有感性负载时,为了防止电路信号突变而产生感应电势的影响,可采用硬件的可靠性容错和容差设计技术,对于交流输入信号,可在负载两端并联电容C和电阻R,对于直流输入信号,可并接续流二极管D。一般负载容量在10VA以下时,应选C为0.1μF,R为120,当负载容量在10VA以上时,应选C为0.47μF,R为47 。具体电路如图2所示:
图2 输入信号的抗干扰设计
4.3.2 输出电路的抗干扰设计
对于PLC系统为开关量输出,可有继电器输出、晶闸管输出、晶体管输出三种形式。具体选择要根据负载要求来决定。若负载超过了PLC的输出能力,应外接继电器或接触器,才可正常工作。
PLC输出端子若接有感性负载,输出信号由OFF变为ON或从ON变为OFF时都会有某些电量的突变而可能产生干扰。在设计时应采取相应的保护措施,以保护PLC的输出触点,如图3所示。对于直流负载,通常是在线圈两端并联续流二极管D,二极管应尽可能靠近负载,二极管可为1A的管子。对于交流负载,应在线圈两端并联RC吸收电路,根据负载容量,电容可取0.1μF~0.47μF,电阻可取47Ω~120Ω,且RC尽可能靠近负载。
4.4 外部配线的抗干扰设计
外部配线之间存在着互感和分布电容,进行信号传送时会产生窜扰。为了防止或减少外部配线的干扰,交流输入、输出信号与直流输入、输出信号应分别使用各自的电缆。集成电路或晶体管设备的输入、输出信号线,要使用屏蔽电缆,屏蔽电缆在输入、输出侧要悬空,而在控制器侧要接地。配线时在30米以下的短距离,直流和交流输入、输出信号线好不要使用同一电缆,如果要走同一配线管时,输入信号要使用屏蔽电缆。30米~300米距离的配线时,直流和交流输入、输出信号线要分别使用各自的电缆,并且输入信号线一定要用屏蔽线。对于300米以上长距离配线时,则可用中间继电器转换信号,或使用远程I/O通道。对于控制器的接地线要与电源线或动力线分开,输入、输出信号线要与高电压、大电流的动力线分开配线。
4.5 软件抗干扰设计
硬件抗干扰可滤除大部分干扰信号,但因干扰信号产生的原因很复杂。且具有很大的随机性,很难保证系统完全不受干扰。往往在硬件抗干扰措施的基础上.采取软件抗干扰技术加以补充,作为硬件措施的辅助手段。软件抗干扰方法没计简单、修改灵活、耗费资源少,在PLC测控系统中同样获得了广泛的应用。对于PLC测控装置,其数据输入、输出、存储等系统属于弱电系统,如果工作环境中存在干扰,就有可能使数据受干扰而破坏,从而造成数据误差、控制状态失灵、程序状态和某些器件的工作状态被改变,严重时会使系统程序破坏。一般采用指令重复执行和数字滤波两种方法。
图3 PLC输出触点的保护
4.5.1 指令重复执行
指令重复执行就是根据需要使作用相同的指令重复执行多次,一般适用于开关量或数字量输入,输出的抗干扰。在采集某些开关量或数字量时,可重复采集多次,直到连续两次或两次以上的采集结果完全相才视为有效。若多次采集后,信号总是变化不定,可停止采集,发出报警信号。在满足实时性要求的前提,如果在各次采集数守信号之间插入一段延时,数据的可靠性会更高。如果在系统实时性要求不是很高的情况下,其指令重复周期尽可能长些。
4.5.2 数字滤波
在某些信号的采集过程中,由于存在随机干扰而可能使被测信号的随机误差加大。针对这种情况,可以采用数字滤波技术。该方法具有可靠性高和稳定性好的特点,广泛应用于工业计算机测控系统中。数字滤波的常用方法还有:程序判断滤波法、中值滤波法、算术平均滤波法、递推平均滤波法等。
如今工业控制产品已发展到一个追求个性化、差异化的阶段。传统的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 信号选择电路图
2、软件开发
嵌入式PLC是基于Cygnal公司的C8051f040芯片开发的,二次程序的开发使用51汇编语言。开发选择的编译器是KEILC51,因为它可以生成我们所需要的.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、驱动程序的嵌入
在KEILC51中编译上述程序。使用下载工具软件“DOWNHEX”,把生成的.HEX文件通过串口下载到芯片组的固定地址处,使得内核可以调用它,从而完成二次驱动程序的开发。到此,16路模拟量PLC的开发工作基本完成。
三、功能介绍
基于嵌入式PLC开发的多路模拟量网络节点具有以下功能:
1. 采集工业现场的多路热电偶信号;
2. 支持三菱、台达等多家人机界面;
3. 支持梯形图编程(86条指令);
4. 支持CANbus互连(多机并联运行或扩展单元连接)等。
这里简要介绍下该网络节点的梯形图功能应用。嵌入式PLC的系统软件中内置了温度转换函数,其功能是把热电偶毫伏信号对应的AD值转化成温度值。适用于任意分度热电偶输入信号,应用于不同的控温场合,配合PID调节,使受控温度精度可达±1℃。
下面的梯形图程序就是把一路热电偶信号转换成温度值,该信号AD值放在D5000,转换后的温度值存放在D5160中。
图5 基于嵌入式PLC开发的多路模拟量网络节点梯形图
四、结束语
笔者利用嵌入式PLC芯片组开发的的PLC产品的实例证明,本着软硬件可裁剪的原则,开发出的产品可以很好的满足用户的个性化需求,节约了硬件成本、缩短了研发周期,并且得到了许多强大的功能,相信它的出现必将使得PLC生产厂家生产出越来越多的贴近终端市场的PLC。
随着计算机及相关技术的发展,使用工业PC机、基于开放式结构已成为数控系统发展的主要方向。与这种情况相适应,基于PC平台的嵌入式软件PLC由于无需专门的编程器,可以充分利用Pc机的软硬件资源,直接采用梯形图或语言编程,具有良好的人机界面等优点,在数控系统中正逐渐取代硬件PLC,成为该领域辅助功能控制的新方法。基于PMAC的软件PLC技术就是其中的典型代表,近年来已经在各种机器设备中得到了很好的利用,本文就是对基于PMAC的软件PLC技术中,如何合理、巧妙运用触发条件的应用特别是“影子变量”的引入,使得“边沿触发”的实现变得更为容易,可靠。
1 PMAC简介
PMAC(Brogrammable Multiaxes Controller)可编程运动控制器是美国DelatTau公司推出的开放式多轴运动控制器,该控制器自带高速CPU,并提供快捷的可视化开发平台,是众多运动控制器中性能比较优越的控制器之一。PMAC运动控制器功能强大,它集成了位控板、PLC、I/O等多个功能模块,CNC系统低层的实时任务大多由PMAC来完成,CNC系统的接口也都是围绕PMAC来设计的。它可控制1—8个轴,既可单独执行存储于其内部的运动程序,也可执行运动程序和PLC程序。PMAC内含了可编程逻辑控制器(PLC)。PMAC的I/O点可以扩展至2018位,但所有的I/O点都由软件来控制的,只要使用一个类似程序中的指针变量指向某一个I/O地址,就可以方便地在运动程序和PLC程序中通过指针变量来对该I/O点进行输入或输出控制。该PLC具有强大的逻辑功能判断能力,可编制复杂的逻辑关系。
2 触发的实现
在PMAC中,软PLC程序的大部分动作是依靠PMAC中事先已经定义好了的M、P变量的状态,如输入、输出、计数器等的条件语句来实现的。实际应用中,可能希望通过电平或边沿触发来实现不同的控制功能,这些都可以做到,但使用的方法不同。
2.1电平触发
由电平触发条件控制的分支是很容易实现的。让一个输入变量 。来控制变量 的增加,可用如下程序:
如果输入为真时, 将每秒增加几百次;当输入变为假时, 将停止增加, 开始增加。此时 或 的增加,靠变量 处于高电平或者低电平来控制,叫做“电平触发”。
2.2边沿触发
假设只希望在每次 变为“on”的时候,也就是输入变量 =1的时候,才给 增量一次,即 的上升沿触发,也叫做“一次触发”或“锁定”。要这么做,可能会复杂一些,需要一个复合条件来触发动作。作为触发条件的一部分,设置触发条件中一个条件为假,这样在下一个PLC扫描时该动作就不会发生。这样做简单的办法就是使用一个“影子变量”,它将跟随输入变量值的变化。只有在影子变量与输入变量不匹配时动作才会发生。所编的代再为:
ELSE 如果M11为”假”(即:Mll=0)
P11=0 影子变量P11则随着M11变换为“假”(即:P11=0)
ENDIF 结束
特别在PMAC中,任何PLC程序里的SEND、COMMAND或DISPLAY命令仅仅在一个边沿触发条件中才能执行,因为PLC程序的循环要比这些处理它们的数据操作要快,并且如果在PLC的串行扫描下执行这些程序,通讯通道可能会无法工作。例如:
在本例中,如果没有使用 这个影子变量(即未使用边沿触发),由于PLC的高速循环扫描,PMAC将不停地发送“#1J+”命令,系统将无法正常工作,甚至导致严重事故。
3结束语
本文论述的基于PMAC的开放式数控系统中软件PLC的触发技术,在本课题组为星火机床有限责任公司开发的轧辊磨床数控系统中已多次使用。触发技术的正确运用,可以方便、安全地实现各种复杂的逻辑关系,充分体现了开放式数控系统的优越性。基于PMAC的软件PLC技术具有方便的编程环境、灵活的编程方式,降低了PLC编程的进入门槛,极大地方便了用户的使用,为开放式数控系统的普及奠定了基础。