版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开关量通道(DI/DO)的工作过程9/8/20261在计算机控制的工业系统中,顺序控制使得生产工序实现了自动化。开关量逻辑控制可用于单台或多机群设备的自动化流水线。如饮料、点焊机、订书机械等生产线。开关量通道在控制系统中的应用2流水线工作示意简图1.每一块电路板上要焊6点;2.光电感应装置检测到电路板进入工作区,焊接过程开始顺序执行;3.六个焊点完成后,下一块电路板继续进入工作区。电路板点焊流水线9/8/20263利用电路板模拟焊接过程
绿灯——光电感应器(绿灯熄灭时输入开关量信号)
红灯——点焊完成状态(红灯点亮表示焊点已经完成)DI接口DO接口电源光电对管4开关量信息的采集与输出采集卡的操作→寄存器端口进行读写操作inportb——读端口outportb——写端口DI_lbyte=inportb(Base+6);DI_hbyte=inportb(Base+7);outportb(Base+13,DO_lbyte);outportb(Base+14,DO_hbyte);5低字节→BASE+6寄存器高字节→
BASE+7寄存器Base+6D7D6D5D4D3D2D1D0DI低字节DI7DI6DI5DI4DI3DI2DI1DI0Base+7D7D6D5D4D3D2D1D0DI高字节DI15DI14DI13DI12DI11DI10DI9DI8Inportb——读端口(寄存器)16路DI的数据格式(P124,(4))6Base+13D7D6D5D4D3D2D1D0DO低字节DO7DO6DI5DO4DI3DO2DI1DO0Base+14D7D6D5D4D3D2D1D0DO高字节DO15DO14DO13DO12DO11DO10DO9DO8Outportb——写端口(寄存器)16路DO的数据格式(P124,(4))低字节→BASE+13寄存器高字节→
BASE+14寄存器7DI通道子程序intBASE=0x220;intcreat_DI(int*DI_NUM,intnum){inti=0;for(i=0;i<6;i++){DI_NUM[i]=(num>>i)&0x01;
}
return;}指针变量作用:把字节中的每一位取出,放入数组中。设置板卡基地址取第i位数返回到调用函数8DI通道子程序工作过程(续)num=14000011100000000100000000DI_NUM[0]=0i=0“&”i=1右移1位000001110000000100000001DI_NUM[1]=1“&”for(i=0;i<6;i++){DI_NUM[i]=(num>>i)&0x01;
}9i=5右移5位000000000000000100000000DI_NUM[5]=0DI通道子程序工作过程(续)...00001110Num=14“&”for(i=0;i<6;i++){DI_NUM[i]=(num>>i)&0x01;
}10DI通道主程序main()
{intDI[6]={0},DI_out;charc;
clrscr();while(1){
DI_out=inportb(BASE+6);creat_DI(DI,DI_out);printf(“\n%d,%d,%d,%d,%d,%d\n”,DI[0],DI[1],DI[2],DI[3],DI[4],DI[5]);printf("\nPressntonextandotherkeytoquit!\n");c=bioskey(0);if(c=='n'||c=='N')continue;elsereturn;}}/*清屏*//*读DI低字节*//*调用子函数*//*显示输入的开关量*/
/*结束本次循环,继续下次循环*//*退出*//*BIOS接口调用函数,并返回从键盘上输入的字符*/11DO通道子程序(P136)intBASE_ADDRESS=0x220;
intcreat_DO(int*DO_NUM){inttemp=0,inti=0;for(i=5;i>0;i--){temp=(temp+DO_NUM[i])*2;}returntemp+DO_NUM[0];}作用:将存于数组中的位变为整数12DO通道子程序工作过程00111014252423222120a5a4a3a2a1a025*a5+24*a4+23*a3+22*a2+21*a1+20*a0for(i=5;i>0;i--){temp=(temp+DO_NUM[i])*2;}returntemp+DO_NUM[0];作用:将存于数组中的位变为整数((((a5*2+
a4)*2+a3)*2
+a2)*2+a1)*2+a013DO通道主程序main()
{intDO[6],DO_out;charc;while(1){printf("\nPleaseset:eg.1,1,0,1,0,1\n");scanf(“%d,%d,%d,%d,%d,%d”,&DO[0],&DO[1],&DO[2],&DO[3],&DO[4],&DO[5]);
DO_out=creat_DO(DO);outportb(BASE_ADDRESS+13,DO_out);printf("\nPressntonextandotherkeytoquit!\n");c=bioskey(0);
if(c==‘n’||c==‘N’)continue;
elsebreak;
}outportb(BASE_ADDRESS+13,0);}/*输入控制开关量*/
/*调用子函数,把6个开关量合成整数*//*输出端清零*/14训练内容接线示意15TurboC2.0环境1.选择需要监控的变量2.选择Addwatch选项即可16调试程序单步运行程序
F8:不返回子函数
F7:返回子函数17训练内容(E:\运行TSES程序)1.运行e:\\TSES程序→开关量通道演示改变绿色LED状态(遮挡光电对管),观察屏幕上显示的DI信息的变化情况;改变DO的状态信息(0/1),观察红色LED的变化情况2.单步运行e:\\第二层次\DI.C和DO.C程序,跟踪核心变量,观察watch区域中有关变量值的变化情况。18作业1.复习本次实习内容2.阅读附录1-3,进一步熟悉相关设备3.预习“开关量通道综合应用”的内容,编写光电对管遮光控制LED的程序。
19PCL-812PG
ACL-8112PG地址读写Base+0计数器0计数器0+1计数器1计数器1+2计数器2计数器2+3-计数器控制+4AD低字节DA通道1低字节+5AD高字节DA通道1高字节+6DI低字节DA通道2低字节+7DI高字节DA通道2高字节+8-清除中断请求+9-增益控制+10-多路选择控制+11-模式控制+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目五 求职过程指导
- 基础护理协助排尿查房
- 2026年中国航空工业招聘面试题及答案
- 七年级下册英语期末试题汇编(福建)阅读理解(应用文)原卷版
- 胃肿瘤康复方案
- 2026-2027学年译林版(三起)英语六年级上册Unit5综合训练
- 2026年国内乘用车智能辅助驾驶第三方智驾供应商研究报告
- 《高三英语综英》课件
- 会计报表分析2资产负债表
- 员工个人年中总结
- 出版从业考试财务知识点及答案解析
- 耳鼻喉科感染预防综合措施
- 喷漆设备租借合同范本
- 2025年斗轮机司机题库及答案(可下载)
- 食品生产车间三级安全培训课件
- (2024版)人教版 小学体育与健康 一年级全一册 教学设计
- 2024版2025秋季新人教版三年级上册数学全册核心素养教案教学设计
- 红细胞计数课件
- 二手手机回收协议合同
- 重症凝血病标准化评估中国专家共识(2025版)
- 《俗世奇人》整本书导读课件
评论
0/150
提交评论