基于PC架构的可编程序控制器项目实战.docx
- 文档编号:9179881
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:86
- 大小:12.17MB
基于PC架构的可编程序控制器项目实战.docx
《基于PC架构的可编程序控制器项目实战.docx》由会员分享,可在线阅读,更多相关《基于PC架构的可编程序控制器项目实战.docx(86页珍藏版)》请在冰豆网上搜索。
基于PC架构的可编程序控制器项目实战
设计报告
名称基于PC架构的可编程序控制器项目实战
指导教师
学院自动化学院控制工程系
专业自动化
学生姓名Luke
班级/学号
成绩
前言
可编程控制器(PLC)的发展与现状
可编程控制器(PLC)早期是一种开关量逻辑控制装置,被称为可编程逻辑控制器,即PLC(ProgrammableLogicController)。
随着计算机技术和通信技术的发展,可编程控制器采用微处理器作为其控制核心,它的功能已不限于逻辑控制的范畴,因此,1980年美国电器制造协会(NEMA)将其命名为ProgrammableController(PC),但为避免与个人计算机(PersonalComputer)的简称PC混淆,习惯上仍将其称为PLC。
现代PLC以3C技术(Control、Computer、Communication)为基础,逐步趋于PC架构、网络化、组态化,以IEC61131-3为统一的编程标准,可构成具有开放性和拓展性的控制系统及信息系统,因此,这里将其称为PC_BasedPLC。
PLC的编程概念和控制思想是任何其他工业控制器都无法与之相提并论的巨大知识资源。
21世纪的工业控制领域,PLC仍然能够引导自动化行业的发展。
当今的工业控制市场上一些PLC生产商早在十年前就已经开始利用IT业的一些最新的软硬件成果不断完善和扩充PLC的功能,许多功能强大的CPU,包括PC同类的芯片都可以作为新一代PLC控制器的核心处理器的选择对象。
这样,基于PC机开放结构的PC_basedPLC应运而生,并得到迅速的发展和广泛的应用,它既具有传统PLC在功能、可靠性、速度、故障查找等方面的特点,又可利用软件技术将标准的工业PC转换成全功能的PLC过程控制器。
PC_BasedPLC综合了计算机的数学运算、数值处理、网络通信、高级语言编程和PLC的开关量控制、模拟量控制、PID调节等功能,通过一个多任务控制内核,提供强大的指令集、快速而准确的扫描周期、可靠的操作和可连接各种I/O系统及网络的开放式结构。
PC_BasedPLC是以PC软硬件技术、网络技术为基础,在通用操作系统(DOS,WINCE)上增加驱动引擎,给用户标准的与传统PLC类似的符合工业控制的编程开发界面,用户可以
(1)自由选择PLC硬件。
(2)不需要再对底层硬件直接操作,而是通过操作系统对硬件进行管理。
(3)利用标准界面开发、移植传统PLC的程序、算法。
(4)充分享受标准平台带来的益处:
不同硬件之间的软件无缝移植。
(5)用熟悉的编程语言编制程序,例如可以利用c语言直接开发底层控制程序。
软件编程和监控都可以在Windows操作平台上操作和运行。
(6)与其他PLC或计算机网络的通讯方式采用通用的通信协议,方便地与其互连。
享受直接获得的低成本的以太网接口。
(7)获得PC领域技术/价格优势,而不受某个PLC制造商本身专利技术的限制。
(8)对超过几百点I/O的PLC系统来说,用户可以节省投资费用。
PLC的兼容性,不仅是PLC与PLC的兼容,而且是PLC与计算机的兼容,使之可以充分利用计算机现有的软件资源。
以IEC61131作为统一的工业控制编程标准,逐步网络化,不仅能广泛地取代继电器控制,更利于实现机电一体化,来控制高度复杂的自动化过程,而且可将控制功能和信息管理功能融为一体,并与工业控制计算机(工控机)、集散型控制系统、嵌入式计算机等系统进一步渗透和结合,使之能对大规模系统进行综合性的自动控制。
一.LABS-1000/1001开发学习套件介绍
1.ADAM-4080D介绍
ADAM-4080D
ADAM-4080D计数器/频率输入模块具有两个32位的计数器输入通道(计数器0和计数器1),带有频率测量用的内置可编程计时器。
选用此模块,你就能方便地监视计数/测频数据。
前面板LED指示器
ADAM-4080D的5位LED显示器使你能现场监视计数器值。
只要计数器超过编程设定的计数值就能够立刻显示出上下限报警信息(直接显示)。
另一个可选特性是显示由主计算机送来的数据。
模块先将要变换或计算的数据送到计算机,主机送回数据到ADAM-4080D,然后模块将该数据在其LED显示器上显示出来(遥控显示方式)。
信号输入方式
ADAM-4080D提供独立的光隔离的输入端和非光隔离的输入端以简化连线。
光隔离输入提供500VDC隔离以保护你的设备,防止地回路干扰。
在你进行物理连接之后,对模块编程标识两个端中的哪个端应该有效(隔离或非隔离的输入端接点)。
可编程数字滤波器
ADAM-4080D模块包含一个独特的可编程数字滤波器以滤掉输入端上的噪声。
你能分别设定时间常数,如高电平时最小信号宽度,低电平时最小信号宽度,以给出稳定的输出读数。
可编程控制阀值
当ADAM-4080D被编程用作非隔离输入时,你可以设定高电平和低电平触发。
和可编程数字滤波一样,可编程控制阀值去掉输入线上的噪声并给出稳定的输入读数。
外部控制(门控方式)
除了GND(地)和计数器端外,每个通道都具有门控端连接外部控制信号。
门控信号(高电平或低电平)可触发计数器开始计数或停止计数。
门控方式可以是高、低电平,或禁止(当门控信号为低时开始计数,当门控信号变为高电平时停止计数)。
可编程报警输出
ADAM-4080D模块的计数器提供上下限报警功能。
上下报警极限可以由计算机下载到模块的EEPROM内。
报警功能可以遥控允许或禁止。
当允许报警功能时,两个数字量输出通道用来指示上限和下限报警状态。
数字量输出通道1对应Hi上限)报警状态,数字量输出通道0对应L0(下限)报警状态。
主机可在任何时刻读取Hi和Lo的报警状态。
每次A/D转换之后接着进行报警上、下限值比较,当输入量超出其中一个量值时,Hi或Lo报警状态就被置ON。
有两种报警方式可供选择:
瞬态方式和锁存方式。
如果处于锁存方式,即使输入量值恢复到极限值以内,报警状态仍然保留下来。
在锁存方式下报警状态可通过主机发出“清除报警”命令将报警状态置成OFF。
当相反方向的报警状态被设置时,模块就将原来的锁存报警状态清除。
例如:
报警功能为锁存方式,Hi报警状态为ON,当模块接收到输入量值低于报警下限时,该模块就将Hi报警清0,而将Lo报警置成ON。
当报警功能为瞬态方式时,只要输入量值恢复到极限范围内就将报警状态转换成OFF。
用数字量输出通道的输出线连接报警装置的Hi和Lo端可以用来构成脱离主机干预的开关控制器。
通道:
两个独立的32位计数器(计数器0和计数器1)
输入频率:
最高50KHZ
输入方式:
隔离和非隔离方式
隔离输入电平:
—逻辑“0”电平:
最大+1V
—逻辑“1”电平:
+3.5V~+30V
—非隔离输入电平(阀值可编程):
—逻辑“0”电平:
0~+5V(缺省值=0.8V)
—逻辑“l”电平:
0~=5V(缺省值=2.4V)
计数器设置命令:
数字滤波和编程设置阈值命令:
数字量输出和报警命令:
2.ADAM-5510M/HC介绍
ADAM-5510M/HC是基于PC的可独立完成数据采集与控制的可编程控制器。
采用坚固的工业级塑封外壳可确保系统在恶劣的工业环境中可靠运行。
ADAM-5510M/HC具备通用编程功能,可用
于信号的程控放大、模拟I/O、数字I/O及通讯参数的设定。
模拟开放式PC环境
ADAM-5510M/HC类似于一台紧凑式计算机,包括80188CPU、FLASHROM、SRAM、COM1、COM2及一个编程端口,内置的ROM-DOS兼容MS-DOS操作系统,提供了除BIOS之外的基本MS-DOS功能调用,允许运行用C或C++等高级语言编译的应用程序。
除此之外,ADAM-5510M/HC还提供ROM及RAM空间,供程序下载及程序运行。
任何程序在下载之前,应转化为80186或80188兼容性代码,下载使用程序内附通信软件。
内置RS232/485通信口
为便于同其它设备进行通信,ADAM-5510M/HC设置了两个串行通信口COM1和COM2。
COM1固定在RS232方式,COM2固定于RS485方式。
这种独特的设计方式使ADAM-5510M/HC可适用于多种应用场合。
内置三路隔离保护功能
ADAM-5510M/HC提供输入/输出(3000VDC)、通信(2500VDC)、电源(3000VDC)隔离功能,可阻绝地线电流,减少电气躁声对系统的影响,保护系统不受高压和放电所引起的浪涌电流冲击。
内置实时钟和看门狗定时器
ADAM-5510M/HC也包括实时钟和看门狗定时器功能。
实时钟可实时记录事件发生的时刻;而当系统死机时看门狗定时器可重置处理器,这不仅减少了系统维护工作,而且使ADAM-5510M/HC可应用于系统稳定性要求较高的场合。
完整的I/O模块及库函数支持
为便于I/O模块的拆装,ADAM-5510M/HC采纳了底板结构。
ADAM-5510M/HC具有完整的I/O
模块供用户选择:
所有数字模块均支持10~30VDC电压输出和继电器输出;所有模拟量模块均提
供16位分辨率模入和模出,同时可编程设定输入范围。
为节省用户开发成本,ADAM-5510M/HC随机提供了完整的C语言库函数。
用户用C语言在MSC6.0和BC2.0环境下可方便地调用这些子程序,来执行ADAM-5510M/HC的所有I/O功能。
ADAM-5510M/HC系统技术参数
系统:
CPU:
80188-40,16位微处理器
FLASHROM:
256KB(用户可用170KB)
操作系统:
ROM-DOS
计时器BIOS:
YES
实时时钟:
YES
看门狗计时器:
YES
COM1(3F8):
RS-232
COM2(2F8):
RS-485
编程口(RS232接口,DB-9连接器):
TX,RX,GND
I/O能力:
4
CPU电源消耗:
1.0W
状态显示:
电源、CPU、通讯
电池后备(可选):
两年
RS-232接口:
信号:
TXD,RXD,RTS,CTS,DTR,DSR,DCD,RI,GND
模式:
异步,全双工,点对点
连接器:
DB-9针(COM1)
传输速度:
最大115.2KBPS
最大传输距离:
50英尺(15.2m)
RS-485接口
信号:
DATA+,DATA-
模式:
半双工,多站
连接器:
螺丝端子
传输速率:
最大115.2KBPS
最大传输距离:
4000英尺(1220米)
隔离
电源:
3000VDC
I/O:
3000VDC
通讯:
2500VDC(COM2)
电源
。
+10到+30VDC
。
电源反向保护
。
电源消耗2.0W
环境
。
操作温度-10---70
。
储存温度-25---70
。
湿度5-95%,非凝结
。
大气:
非腐蚀气体
注意:
设备应在30%湿度下进行操作,因为在低湿度下很容易发生静电反应。
如果在低湿度下使
用,应采取足够的预防措施,例如使用接地环、防静电地板等等。
基本结构框图
ADAM-5510M/HC的系统配置
图2-1配置图
3.ADAM-5000系列介绍
模拟量输入模块
模拟量输入模块用来将来自传感器的电压、电流、热电偶(TC)、热电阻(RTD)信号转换成数字量。
ADAM-50133通道RTD热电阻输入模块
ADAM-5013可以连接PT100或者Ni热电阻。
ADAM-5017/H8通道模拟量输入模块
ADAM-5017/H是16位8通道差动输入模块,通道输入范围均可程控。
输入量程包括:
mV(±150mV,±500mV),V(±1V,±5V,±10V)及电流输入(±20mA,需要250Ω电阻)。
5017提供了3000Vdc光电隔离输入保护。
ADAM-5017H采集速度在ADAM-5510可达100samples/second,在ADAM-5511上可达8000samples/second。
ADAM-50187通道热偶输入模块
ADAM-5018是16位7通道热偶输入模块,所有通道的输入范围均可程控。
输入范围包括:
mV(±15mV,±50mV,±100mV,±500mV),V(±1V,±2.5V),电流输入(±20mA,需要250Ω热偶)及热电偶输入(J,K,T,E,R,S,B)。
模块的接线端子接有CJC电路。
模拟量输出模块
ADAM-50244通道模拟量输出模块
ADAM-5024是4通道模拟量输出模块,用来将数字量信号转换成模拟量信号。
通过配置软件可定制斜率和启动电流,输出可配置成电流或电压。
数字量输出/输入模块
ADAM-505016通道通用数字量输出/输入模块
5050具有16个数字量输入/输出通道,每个通道可通过DIP开关分别配置成输入或输出。
数字量输出为集电极开路输出,可用来控制固态继电器(SSR),进而控制加热器、泵及动力设备;数字量输入可用来监测限制、安全开关等信号。
注意:
当已经设置成输出的通道接强迫接收输入信号将会损坏通道。
ADAM-5051/5051D/5051S16通道数字量输入模块
ADAM-50528通道隔离数字量输入
5052提供了8通道全隔离型数字量输入通道。
所有通道均提供5000Vrms的隔离,防止接地环流及电源浪涌对信号的干扰。
ADAM-5055S8通道隔离数字量输入输出,带LED显示
5055S提供了8通道全隔离型数字量输入输出通道。
所有通道均提供2500Vrms的隔离,防止接地环流及电源浪涌对信号的干扰,并且带有LED显示,可以清楚的看到输入输出状态。
ADAM-5056/5056D16通道数字量输出模快/LED显示
5056提供了16路输出通道,数字量输出为集电极开路输出,用户可用来切换固态继电器(SSR)。
ADAM-5056S/5056SO16通道隔离数字量输出模快/LED显示
5056S/SO提供了16路隔离输出通道,数字量输出为集电极开路输出,用户可用来切换固态继电器(SSR)。
继电器输出模快
ADAM5060/50686/8路继电器输出模快
ADAM-5060提供了6路继电器输出通道,其中两个为A型,四个为C型。
ADAM-5068提供了8路继电器输出通道,8路A型继电器
计数器模块
ADAM-5080计数器/计频器模块
串口通讯模块
ADAM-50904×RS232串行口模块
4.ADAM-5510SERIES介绍
ADAM-5510SERIES概述
ADAM-5510SERIES是基于PC的可独立完成数据采集与控制的可编程控制器。
采用坚固的工业级塑封外壳可确保系统在恶劣的工业环境中可靠运行。
ADAM-5510SERIES具备通用编程功能,可用于信号的程控放大、模拟I/O、数字I/O及通讯参数的设定。
ADAM-5510SERIES提供输入/输出(3000VDC)、COM2口通信(2500VDC)、电源(3000VDC)隔离功能,可阻绝地线电流,减少电气躁声对系统的影响,保护系统不受高压和放电所引起的浪涌电流冲击。
ADAM-5510series也包括实时时钟和看门狗定时器功能。
实时钟可实时记录事件发生的时刻,而当系统死机时看门狗定时器可重置处理器,这不仅减少了系统维护工作,而且使ADAM-5510SERIES可应用于系统稳定性要求较高的场合。
ADAM-5510series可编程控制器包括:
ADAM-5510M:
4槽可编程控制器
ADAM-5510E:
8槽可编程控制器
ADAM-5510/TCP:
带以太网口的可编程控制器
ADAM-5510E/TCP:
8槽带以太网口的可编程控制器
注意:
ADAM-5510不属于ADAM-5510series可编程控制器。
因为上述四种可编程控制器有相同的硬件结构和软件函数库,而ADAM-5510有独立的硬件结构和函数库。
ADAM-5510SERIES设置了四个串行通信口COM1(RS232/485)、COM2(RS485)、COM3(Program口/RS232)和COM4口(RS232/485),可适用于多种应用场合。
二.实验项目及结果
项目一显示输入电压
项目目的:
将ADAM-5017的输入电压在屏幕上显示出来。
项目装置:
PC机、ADAM试验箱、AdamApax.NETUtility软件等。
项目源程序:
#include"5510drv.h"//调用5510函数库
voidmain(void)
{
intpvalue,i;//创建变量pvalue和i
intch;//创建变量ch
Init501718
(2);//选择使用2号模块,即5017八通道模拟量输入模块
adv_printf("getfirst8-channeldata\n");//输出括号内内容
for(i=0;i<8;i++)
{
while(AiUpdate(2,&ch)!
=0);//当2号模块字符值不为0时
Get501718(2,ch,&pvalue);//将2号模块(5017)字符值赋给变量pvalue
adv_printf("\n\rdata=%d(unit:
mv)",pvalue);//输出5017模块数值pvalue数值
}
Release_All();
}
项目操作步骤:
1.点击图标
打开编程工具。
进入后界面如下图:
图1BC.EXE界面
2新建一个工程DEMO.prj
点击project菜单按钮选择openproject选项
图2打开\新建工程
选择目录C:
\BORLANDC\20130710\输入工程名DEMO,新建DEMO.PRJ
图3新建工程
3.将源文件EX1.c和ADAM-5510的函数库UTILITYS.LIB,LIOS.LIB,加入到工程中。
点击project按钮,选择additem添加.c文件以及函数库
图4添加ex1.c
图5添加函数库
添加完成后,显示如下:
图6添加完成后结果图
4.执行编译命令生成可执行文件DEMO.exe
Compiling结果如下:
图7compiling结果图
Linking结果如下:
图8linking结果图
Make结果如下:
图9make结果图
5.使用下载工具将DEMO.exe下载到ADAM-5510的D盘中
对实验箱连接电源和数据线后,点击
打开下载工具。
双击选择
连接成功后打开以下界面
图10加载完成后界面
在localsystem中更改路径,找到生成的DEMO.EXE文件,加载到ADAM-5510的D盘中
同理,找到C:
\borlandC\Adam.NETUtility\Source\Drive_D\Default_files的CFGIO.EXE文件,加载到ADAM-5510的D盘中。
图11下载过程
下载后显示如下:
6.修改量程
点击
按钮,修改各个模块的量程。
图13选择5510模块
选择后出现如下画面:
图14在Slot0中选择Description的窗口图
选择Slot1,画面如图显示:
ch0、ch1、ch2、ch3都选择0~10V
图15.在Slot1中对ch0、ch1、ch2、ch3范围进行修改的窗口图
选择Slot2,画面如图显示:
选择+/-10V
图16.在Slot2中对InputRange范围进行修改的窗口图
选择Slot3,画面如图显示:
选择K电偶
图17.在Slot3中对InputRange使用电偶进行修改的窗口图
量程选择成功!
出现下图
:
图18.configADAM相关设定成功框图
7.执行DEMO.EXE程序。
点击
执行程序
8.结果:
旋转旋钮,屏幕打印显示相应的ADAM-5017的输入。
图19显示结果
项目二利用电压表显示输入电压
项目目的:
将ADAM-5017的输入电压在电压表上显示出来。
项目装置:
PC机、ADAM试验箱、AdamApax.NETUtility软件等。
项目源程序:
#include"5510drv.h"//调用5510函数库
voidmain(void)
{
intpvalue,i;//创建变量pvalue和i
intch;//创建变量ch
Init501718
(2);//选择使用2号模块,即5017八通道模拟量输入模块
adv_printf("getfirst8-channeldata\n");//输出括号内内容
for(i=0;i<8;i++)
{
while(AiUpdate(2,&ch)!
=0);//当2号模块字符值不为0时
Get501718(2,ch,&pvalue);//将2号模块(5017)字符值赋给变量pvalue
adv_printf("\n\rdata=%d(unit:
mv)",pvalue);//输出5017模块数值pvalue数值
}
Release_All();
}
项目操作步骤:
1.
点击图标
打开编程工具。
进入后界面如下图:
2新建一个工程DEMO.prj
点击project菜单按钮选择openproject选项
选择目录C:
\BORLANDC\20130710\输入工程名DEMO,新建DEMO.PRJ
3.将源文件EX1.c和ADAM-5510的函数库UTILITYS.LIB,LIOS.LIB,加入到工程中。
点击project按钮,选择additem添加.c文件以及函数库
添加完成后,显示如下:
4.执行编译命令生成可执行文件DEMO.exe
Compiling结果如下:
Linking结果如下:
Make结果如下:
5.使用下载工具将DEMO.exe下载到ADAM-5510的D盘中
点击
打开下载工具。
选择
打开以下界面
在localsystem中更改路径,找到生成的DEMO.EXE文件,加载到ADAM-5510的D盘中。
同理,找到C:
\borlandC\Adam.NETUtility\Source\Drive_D\Default_files的CFGIO.EXE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PC 架构 程序 控制器 项目 实战