6ES7222-1EF22-0XA0技术支持
如今工业控制产品已发展到一个追求个性化、差异化的阶段。传统的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 I/O:可复用成SPI、I2C接口及外中断、外计数、AD等。
●4 AD: 12位精度,100 KPS。
●2 DA: 12位精度,100 KPS。
④ 通信接口
●CANBUS:系统软件管理,使用工具软件CANSet构建CANBUS总线网络。
●UART0:系统软件管理,用于梯形图编程、监控,支持人机界面及用户驱动程序下载。
●UART1:系统软件管理,用于下载CANBUS网络参数、构建RS485网络及支持第三方设备互连。
2)芯片组原理框图:
二、应用开发
基于加载了系统软件的核心芯片组,我们可以根据工艺需要来开发自己的嵌入式PLC产品。下面就介绍基于嵌入式PLC芯片组开发的16路输入的模拟量PLC产品(可输入标准信号或热电偶信号)。
1、硬件设计
硬件整体结构图如下:
AI0是芯片组内的一个AD转换通道,P1.0—P1.4作为模拟开关的通道控制线来进行16个模拟信号通道间的切换。
(1)信号采集电路
用AD公司的高精密放大器OP07构成模拟信号放大电路,OP07具有低输入偏移电压(10uV)、低漂移电压(0.2uV/℃)和宽范围的供电电压(±3V-±18V), 可以很好地满足该产品的要求。在这里OP07由±5V供电,R18、R79作为调零电阻,输出电压由下式给出:Vout=Vin(1+R98/R56)。
(2)信号选择电路
选择16通道的模拟开关CD4067构成信号选择电路,A、B、C、D、INH接到芯片组的P1.0-P1.4引脚,做为模拟开关的通道选择控制信号。OUT引脚接到芯片组的AIN0,即个AD转换通道。
2、软件开发
嵌入式PLC是基于Cygnal公司的C8051f040芯片开发的,所以二次程序的开发使用51汇编语言。开发选择的编译器是KEIL C51,因为它可以生成我们所需要的.HEX文件。
内核留出了七个用户嵌入程序接口,我们只需要充分理解各个接口的功能就可了进行二次开发了,需要熟悉如下内容:a、内核功能b、内核结构c、内核任务管理d、内核存储空间分配。【1】由于系统软件中已经加入了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中。
四、结束语
笔者利用嵌入式PLC芯片组开发的的PLC产品的实例证明,本着软硬件可裁剪的原则,开发出的产品可以很好的满足用户的个性化需求,节约了硬件成本、缩短了研发周期,并且得到了许多强大的功能,相信它的出现必将使得PLC生产厂家生产出越来越多的贴近终端市场的PLC。
PLC工作原理
在此就OMRON公司PLC(可编程控制器)的SYSMAC PLC中共通的基本动作,对初次选用本公司PLC的客户以必要的术语为中心进行解说。但不包括您购买后的FA系统和PLC编程设计时所需要的技术信息。
I/O刷新
在PLC(可编程控制器)中,客户所设计的用户程序通过一边读写PLC内的存储器区域(欧姆龙称「I/O存储器」)的信息一边将指令从开始到后逐个执行的方式来进行处理。另一方面,对于与PLC或I/O单元直接相连的感应器/开关等PLC外的数据,按照一定时序,会与PLC内的「I/O存储器」的数据一并更新。这种PLC外的数据与PLC内的I/O存储器的数据的一并更新,即称为「I/O刷新动作」。
了解按照怎样的时序进行I/O刷新,在研究客户所设计的FA系统和用户程序的动作时非常重要。SYSMAC PLC的情况下,该I/O刷新动作会在执行完所有的指令后马上进行。(参见下图)
周期时间
在PLC处理周期中,从I/O刷新执行(开始)到下一次的I/O刷新执行(处理)之间的时间,即周期时间。周期时间包含共通处理(自我诊断)、用户程序执行处理、I/O刷新处理、外围服务处理等所需要的时间。
1 如周期时间过长,则与PLC外部进行数据更新的周期变长,输入输出的响应时间变长,导致无法获取比周期时间短的输入的变化。
2 如周期时间短,则输入输出的响应时间变短,可进行高速处理。
3 如更改周期时间,则命令的执行间隔及输入输出的响应时间也会改变。
SYSMAC PLC的情况下,可按照以下的步骤计算出周期时间。
周期时间(Cycle time)=共通处理时间+指令执行时间+I/O刷新时间+外围服务时间
各SYSMAC PLC机种的执行时间的计算方法,在产品手册中有记载。
中断任务
通常,在PLC的处理周期内,用户程序包括I/O刷新等其他处理,将按顺序执行。(参见「I/O刷新」项)。在这个处理周期中能够优先执行的处理,即中断任务。如事先指定的中断条件成立,则中断处理周期,优先执行该处理。(根据SYSMAC PLC机种的不同,也有将「中断任务」表示为「中断程序」的情况,在本文中采用CS/CJ系列中使用的「中断任务」的表示法进行说明)。例如,在SYSMAC CS/CJ系列中,作为中断任务,可提供断电中断、定时中断、I/O中断、按内部计时器的恒定周期中断、外部中断等方式。
主要的中断任务
内容
断电中断
电源切断时执行
定时中断
按一定的时间间隔执行
I/O中断
在中断输入单元的接点上升沿处执行
外部中断
有来自高功能I/O单元、CPU高功能单元、内插板(仅CS系列)的请求时执行
I/O分配
在用户程序中,为了对PLC内装载的输入输出单元的输入、输出信号进行处理,有必要事先为其分配PLC内的I/O存储器的地址。将PLC内装载的单元的输入、输出信号分配到I/O存储器上,即为I/O分配。CPU单元即根据该I/O分配信息执行装载单元及I/O刷新动作。将PLC内装载的单元的输入、输出信号分配到I/O存储器上,即为I/O分配。CPU单元即根据该I/O分配信息执行装载单元及I/O刷新动作。
在线自动登录
离线自动登录
CPU单元的存储区域
在PLC内,进行用户程序、I/O存储器的数据及注释信息、CPU单元及高功能单元的设定信息、登录I/O表信息等各类的数据的处理。保存这些PLC所处理的全部数据的地方,即CPU单元内的存储区域。SYSMAC PLC时,有以下3种存储区域,由电池支持。此外,在SYSMAC CS/CJ系列,因有内置闪存,可将存储区域的内容受到支持,即使电池的电压降低,用户程序和参数区域的数据也不会消失。
用户程序区域
记录客户所设计的用户程序。
I/O存储器区域
通过指令的操作码,可以访问该区域。记录通道I/O(CIO)、内部辅助继电器、保持继电器、特殊辅助继电器、数据存储器、扩展数据存储器、计时完成标志?当前值、计数完成标志?当前值、任务标志、变址寄存器、数据寄存器、条件寄存器、时钟脉冲等的信息。I/O
存储器区域的数据中包括:断电后恢复时,内容会被清除的区域,以及可保持以前的信息的区域。
参数区域
PLC所处理的各种初始设定信息。记录PLC系统设定、登录I/O表、路由表、CPU高功能单元系统设定等的信息。