产品描述
常州西门子中国一级代理商触摸屏供应商
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中。
一、嵌入式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网络及支持三方设备互连。
在一些电子部件产品测试时,早先很多生产厂家都使用继电接触控制系统。该系统由分立元件组成,由于线路简单,元件控制精度不高,加上抗干扰能力级差,所以运行不够稳定,误动作频繁,使产品的测试和分析不准确。
随着现代工艺的要求,为了适应市场需求,采用可编程控制器对原继电电气控制系统进行改造,但由于各PLC厂家硬件模块和软件结构绝大多数都是的、互不兼容的,系统各模块间的交互方式、通信机制也各不相同,这使得控制系统相对立、彼此封闭。随着技术的进步和市场竞争的加剧,这种体系结构的控制系统越来越暴露了其固有的缺陷。由于基于PC平台的软件PLC专门的编程器,可充分利用PC机的软硬件资源,直接采用梯形图或语言编程,具有良好的人机界面等优点,因此逐渐取代了硬件PLC,成为研究的热点。
1、电气测试系统原理介绍
该寿命测试系统能够利用定时器控制电子部件产品的动作频率,利用计时器来控制动作的次数,基本原理如图1所示。
图1 电气测试基本原理
PLC使用OMRON CQM1H-CPU11 PLC加上扩展模块,其I/O点数可达26个,可满足多路测试,利用控制动作Relay的定时器和负载反馈Relay的定时器时间差进行判断产品或负载的不良状态,并对系统进行停机保护,实验完成后利用产品或负载在机械和电气方面的特性对其产品进行评价。
其中,遮断保护、动作Relay和负载反馈Relay都是用PLC内部定时器进行控制的,其原理都是用低电压控制高电压,实现高低压分离,保证了测试系统的性,这里的遮断保护用的是Fuji Electric Co.Ltd。JapanSC-13AA型接触器,耐压可达600V,单触点额定电流是32A,动作Relay和负载反馈Relay(也可以用光电耦合或电流互感器)都是用的OMRON的MY系列继电器。
实际用DL750 scoper测量发现这两种精度都不是很高,误差往往有8-10ms。
实际中对产品评价需要很多数据,需要测试很多产品,这样需要多立回路,接线走线困难,而且会产生寄生电路,所以,从PLC产品的兼容性及测试成本考虑,采用目前的嵌入式软PLC技术,可大大缩短实验周期并降。
2、软PLC技术
传统的PLC经过十几年的发展,技术已经非常成熟,以高速度、高稳定性、在工业控制领域得到了广泛应用,与此同时,随着现代计算机技术和电子技术的发展,在工程方面逐渐表现出其缺点:传统的PLC厂商市场,其产品户不兼容,缺少明确一致的标准,难以构建开放的硬件体系结构;各厂商产品的编程方法差别很大,技术专有性较强,工作人员培训时间长,造成PLC的性价比增长很缓慢。
20世纪90年代中期,计算机和微电子技术的迅猛发展以及PLC的标准IEC61131的,产生了软PLC技术,所有"软PLC技术",就是用PC作为硬件支撑平台,利用软件实现标准硬件PLC的基本功能,也就是将PLC的控制功能封装在软件内,运行于PC的环境中,以PC为基础的控制系统,同时提供了PLC的相同功能,却具备了PC的各种优点。
软PLC技术一般由开发系统和运行系统两个部分组成。开发系统运行在PC平台上,而运行系统则运行在嵌入式硬件平台上,一般而言,嵌入式硬件平台上都要运行某种嵌入式操作系统,比如μC/OS-II、μClinux等。
现代开发系统的特点一般都是集成化开发环境,界面友好,易于使用。软PLC嵌入式系统是基于IEC61131标准的,所以必然要支持其中的几种语言,系统运行在嵌入式硬件平台上,负责解释执行由开发系统编译、链接后产生的目标文件,运行系统一般由运行内核、通信接口和系统管理三大部分组成,其设计和实现精度很高,它的执行效率将直接影响到系统在现场控制中的反应速度。
3、嵌入式平台的虚拟运行系统
运行系统的结构组成如图2所示。系统管理器的主要任务是处理不同任务、协调程序执行及从I/O映象读写变量。I/O接口可与本地I/O系统和远程I/O系统通信。通信接口使运行系统可以与开发系统或其他设备进行通信。内核解释器是运行系统的部分,负责解释执行由开发系统编译完成的PLC应用程序的目标代码。
图2 运行系统的结构组成
运行系统可在多种支持平台上运行,它通过将数据区和代码区分离,实现程序的动态新和代码的率动态下载。
(1)在μClinux平台上实现软PLC虚拟机实现步骤
将梯形图的指令翻译成宏汇编并建立一个宏库;
把用户编写的梯形图程序编译成中间代码形式的PLM文件;
将PLM文件转变为汇编程序;
用汇编器汇编变成功的汇编程序,将解释执行内部指令(PLM文件)转换为程序,汇编成机器码执行,实现PLC指令机器码执行方案,大大地提高了执行速度,同时大大节约了内存空间;
将PLC指令对应的机器码移植到嵌入式操作系统中执行。
(2)运行系统的两大模块
运行系统主要由两大模块组成:1)梯形图到机器码程序的转换;2)执行机器码文件。每个模块的功能如下:
1)梯形图到机器码程序的转换。把用户编写的梯形图程序编译成中间代码形式的PLM文件,然后将PLM文件转变为汇编程序,后用汇编器汇编转变成功的汇编程序,产生机器码从而生成可执行的PLE文件。
2)执行机器码文件。将PLE文件嵌入配置好的执行环境中并执行,通过工控机的面版指示灯监测程序的正确性。
(3)虚拟机总体设计
根据虚拟机的原理和执行机制,对虚拟机的机器码执行方案进行了总体设计,如图3所示。PLC文件是梯形图程序的保存文件,通过对PLC文件进行词法分析、语法分析和语义分析编译产生PLM文件,然后调用宏汇编库,并进行一系列的转换生成机器码,产生PLE文件;后创建机器运行环境来执行机器码,宏汇编库中是每个梯形图指令对应的宏汇编段。
图2 组控制过程框图
3.3 驱动
驱动分为马达驱动和电磁阀驱动,马达驱动按控制方式分为主驱动和辅助驱动马达。主驱动马达是指为维持正常生产持续运行的马达,其开停与组的开停同步,若遇有分支的情况下,通过选择来确定。辅助驱动马达是指在生产过程中不是每时每刻都需要参与的马达,它的开停是根据生产的需要,是断续运行的设备,其开停依赖于组,但又不由组控制。按马达种类分有单向马达、可逆马达、电动执行器、电动推杆等。根据每种驱动的控制要求编写各自的功能块,在主程序中可以很方便地调用,使得程序结构简单,易于维护。单向主驱动马达的功能块FB200,其驱动过程如图3所示。
图3 驱动过程框图
4 结 论
采用面向对象的编程方法,设置PLC段、组、马达驱动等功能模块,尽可能按功能要求创建各种功能模块,在主程序中进行调用,使得复杂系统PLC的编程问题变得有迹、有序、系统和规范化,复杂问题简单化了,其发展前景无限。
产品推荐