《工业系统驱动与控制绪论及C语言.ppt》由会员分享,可在线阅读,更多相关《工业系统驱动与控制绪论及C语言.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、工业系统的驱动与控制工业系统的驱动与控制任课教师:栗茂林任课教师:栗茂林联系电话:联系电话:82663912-8416办公室:办公室:416室室E-mail:2/16/20231西安交通大学工程训练中心首先需要说明的问题首先需要说明的问题u课时安排(课时安排(32学时学时)u授课方式及学习方法授课方式及学习方法u准备知识(准备知识(C语言语言)u选用教材选用教材u课堂纪律课堂纪律u关于仪器设备(关于仪器设备(损坏按规定赔偿损坏按规定赔偿)u关于考核考试(关于考核考试(期末大作业平时成绩期末大作业平时成绩)u关于训练分组(关于训练分组(程序分别存储程序分别存储:E学生专用学生专用)2/16/20
2、232西安交通大学工程训练中心工业系统测量、驱动与控制工业系统测量、驱动与控制u工业系统测量工业系统测量传感器传感器信号调理电路信号调理电路u工业系统控制工业系统控制给出系统指令信号给出系统指令信号r(t)输入调理后的测量信号并计算偏差输入调理后的测量信号并计算偏差e(t)=r(t)-y(t)根据偏差求出控制量根据偏差求出控制量u工业系统驱动工业系统驱动输出控制信号驱动执行机构消除偏差输出控制信号驱动执行机构消除偏差2/16/20233西安交通大学工程训练中心主要内容主要内容u辅助内容:辅助内容:C语言编程及其环境(语言编程及其环境(2学时学时)u数据通道:开关量数据通道:开关量/模拟量输入模
3、拟量输入/输出(输出(8学时学时)u信号离散化(信号离散化(4学时学时)u系统动静态性能:以系统动静态性能:以温度系统温度系统为例(为例(4学时学时)u系统模型与仿真(系统模型与仿真(6学时学时)u工工业业系系统统的的PID控控制制:以以一一阶阶与与二二阶阶系系统统为为例例(6学时学时)u总结复习(总结复习(2学时学时)2/16/20234西安交通大学工程训练中心课程目的和基本要求课程目的和基本要求u掌握工业系统进出计算机的数据通道;掌握工业系统进出计算机的数据通道;u理解信号离散化原理,掌握其工程实现方法;理解信号离散化原理,掌握其工程实现方法;u掌握系统动静态特性的概念及其测试方法;掌握系
4、统动静态特性的概念及其测试方法;u了解工业系统的建模方法,以及相关的时、了解工业系统的建模方法,以及相关的时、频域分析;频域分析;u掌握工业闭环系统的基本构成;掌握工业闭环系统的基本构成;u掌握掌握PID控制的基本思想,并能针对一阶、控制的基本思想,并能针对一阶、二阶实际系统,完成相应的二阶实际系统,完成相应的PID控制策略。控制策略。2/16/20235西安交通大学工程训练中心控制系统实例控制系统实例伺服电机转速闭环控制系统伺服电机转速闭环控制系统整形整形光电光电对管对管码盘码盘传感器传感器信号调理电路信号调理电路测量电路测量电路实际转速实际转速 nAI变频器变频器M控制器控制器期望转速期望
5、转速 neAO速度伺服速度伺服+-F/V工业计算机工业计算机数数据据通通道道单片机单片机数字信号处理器数字信号处理器嵌入式微处理器嵌入式微处理器可编程控制器可编程控制器2/16/20236西安交通大学工程训练中心机器人 2/16/20237西安交通大学工程训练中心工业计算机及数据通道简介工业计算机及数据通道简介(P9)(第第20章章)自学2/16/20238西安交通大学工程训练中心C语言语言2/16/20239西安交通大学工程训练中心内容提要内容提要uC语言的语法语言的语法uC语言的基本运算语言的基本运算uC语言的流程控制语句语言的流程控制语句u控制系统中常用的控制系统中常用的C语言函数语言函
6、数uTC2.0环境的使用环境的使用uC语言程序的编写和要求语言程序的编写和要求2/16/202310西安交通大学工程训练中心C语言的语法语言的语法-C语言的特点语言的特点u程序以函数为单元,并且有且仅有一个主程序以函数为单元,并且有且仅有一个主函数函数main();u变量的声明和定义必须在函数头部;变量的声明和定义必须在函数头部;u语句必须以语句必须以“;”结束;结束;u注释:注释:/*/;uC语言允许直接访问物理地址;能进行位语言允许直接访问物理地址;能进行位(bit)操作;可以直接对硬件进行操作。)操作;可以直接对硬件进行操作。2/16/202311西安交通大学工程训练中心C语言的语法语言
7、的语法-C语言的数据类型语言的数据类型u基本类型基本类型:整型(整型(int、short、long、unsigned(数(数据在内存中以二进制形式存放)据在内存中以二进制形式存放)、实型(也称浮点)、实型(也称浮点型)(型)(float、double)、字符型(、字符型(char);u构造类型构造类型:数组(数组(inta10)、结构体()、结构体(struct)、)、共用体(共用体(union););u指针类型指针类型:int*、char*、float*;u空类型:空类型:2/16/202312西安交通大学工程训练中心C语言的基本运算语言的基本运算算术运算算术运算运算符运算符名称名称例子例子
8、运算功能运算功能加加a+b求求a与与b的和的和减减a-b求求a与与b的差的差*乘乘a*b求求a与与b的积的积/除除a/b求求a除以除以b的商的商%求余求余a%b求求a除以除以b的余数的余数+自增自增a+a的值加的值加1-自减自减a-a的值减的值减1-取负取负-a求求a的负数的负数2/16/202313西安交通大学工程训练中心C语言的基本运算语言的基本运算算术赋值运算算术赋值运算运算符运算符名称名称例子例子等效于等效于+加赋值加赋值a+baa+b-减赋值减赋值a-baa-b*乘赋值乘赋值a*baa*b/除赋值除赋值a/baa/b%取余赋值取余赋值a%baa%b2/16/202314西安交通大学工
9、程训练中心C语言的基本运算语言的基本运算关系运算关系运算运算符运算符名称名称例子例子运算功能运算功能大于大于aba大于大于b小于小于a=大于等于大于等于a=ba大于等于大于等于b=小于等于小于等于a右移位右移位a2a右移右移2位位左移位左移位a40 x05*在计算机系统中常常采用移位运算以快速实现在计算机系统中常常采用移位运算以快速实现乘法和除法的运算,每乘法和除法的运算,每左移左移1位位等效于等效于乘以乘以2,每,每右移右移1位位等效于等效于除以除以2。2/16/202321西安交通大学工程训练中心C语言的基本运算语言的基本运算屏蔽字屏蔽字MASK8const unsigned char M
10、ASK8=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;u0 x01:00000001u0 x02:00000010u0 x04:00000100u0 x08:00001000u0 x10:00010000u0 x20:00100000u0 x40:01000000u0 x80:100000002/16/202322西安交通大学工程训练中心位运算的应用举例位运算的应用举例u思考:如何从一个字节思考:如何从一个字节byte中取出第中取出第n位?位?p方法方法1:先右移:先右移n位,再与位,再与“0 x01”bit=(byten)&0 x01;p方
11、法方法2:使用屏蔽字:使用屏蔽字unsigned char MASK8=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;bit=byte&MASKn;10 1 1 0 1 1 1 02/16/202323西安交通大学工程训练中心位运算的应用举例位运算的应用举例0 1 1 0 1 1 1 01 30 0 0 0 1 1 010 0 0 0 0 0 010 0 0 0 1 1 00 0 0 0 0 0 0 1&1先右移先右移n位,再与位,再与“0 x01”bit=(byten)&0 x01;2/16/202324西安交通大学工程训练中心C语言的流程控
12、制语句语言的流程控制语句1u顺序控制结构顺序控制结构u选择控制结构选择控制结构pif(表达式表达式)语句语句1else 语句语句2pswitch(表达式)表达式)case 常量表达式常量表达式1:语句语句1;break;case 常量表达式常量表达式2:语句语句2;break;case 常量表达式常量表达式n:语句语句n;break;default:语句语句n+1;2/16/202325西安交通大学工程训练中心C语言的流程控制语句语言的流程控制语句2u循环控制结构循环控制结构(for、while、break、continue)pwhile(表达式表达式)语句语句pdo 语句语句while(表达
13、式表达式);pfor(i=0;iWriteto;F2p编译:编译:F9;运行:运行:Ctrl+F9p调试:调试:l单步:单步:F8l断点:断点:Ctrl+F8l观察变量:观察变量:Ctrl+F7p全屏全屏窗口窗口模式切换:模式切换:Alt+Enter2/16/202333西安交通大学工程训练中心TurboC2.0环境环境u环境配置文件:环境配置文件:2/16/202334西安交通大学工程训练中心C语言程序的编写和要求语言程序的编写和要求u需要解决的问题是什么?需要解决的问题是什么?抓住主要问题抓住主要问题u把自然语言描述转换为计算机语言描述:把自然语言描述转换为计算机语言描述:伪代码伪代码u如
14、何解决?如何解决?理清思路,画出理清思路,画出流程图流程图u记事本上先编写代码,在记事本上先编写代码,在TC环境中调试环境中调试u模块化编程:主函数中的语句尽量清晰明了,多模块化编程:主函数中的语句尽量清晰明了,多用子函数来完成功能模块。用子函数来完成功能模块。2/16/202335西安交通大学工程训练中心程序编写提示程序编写提示u使用帮助:使用帮助:F1或或Ctrl+F1p根据函数说明快速使用根据函数说明快速使用u提高程序可读性:提高程序可读性:p程序模块化程序模块化p简洁、明了、易读简洁、明了、易读p缩进编写缩进编写p多写注释多写注释u程序调试:程序调试:单步执行,加单步执行,加watch
15、,观察变量,观察变量。2/16/202336西安交通大学工程训练中心变量申明变量申明u全局变量与局部变量(作用域)全局变量与局部变量(作用域)intx;/*x就是一个全局变量就是一个全局变量*/main()inty;/*y就是一个局部变量就是一个局部变量*/u尽量少用全局变量,因为系统为其分配固定的尽量少用全局变量,因为系统为其分配固定的永久存储空间;而系统为局部变量分配动态存永久存储空间;而系统为局部变量分配动态存储空间。储空间。2/16/202337西安交通大学工程训练中心程序规范程序规范uIntI/*全局变量全局变量*/umain()uuintDI_in6,DO_out6,i;/*局部变
16、量局部变量*/uDataInput(参数参数)uReadPort(参数参数)uWritePort(参数参数)uControl(参数参数)uDataOutput(参数参数)u2/16/202338西安交通大学工程训练中心训练训练u从屏幕输入两个十进制数,要求程序判断第一个从屏幕输入两个十进制数,要求程序判断第一个数第数第5位,第二个数的第位,第二个数的第0位是否为位是否为0。(字节二。(字节二进制编码由高到低为位的顺序为进制编码由高到低为位的顺序为70)2/16/202339西安交通大学工程训练中心main()int a,b,a1,b1;printf(“Please Input Two inte
17、gersn”);scanf(“%d,%d”,&a,&b);a1=(a5)&0 x01;b1=b&0 x01;printf(“the 5th bit of a is%dn”,a1);printf(“the 0th bit of b is%dn”,b1);训练训练2/16/202340西安交通大学工程训练中心训练训练u将将1左移左移8位,再右移位,再右移8位,并在屏幕上输出每位,并在屏幕上输出每1次次移动的结果。移动的结果。2/16/202341西安交通大学工程训练中心main()int a,j;a=1;for(j=0;j8;j+)printf(“a=%dn”,a);a=a1;for(j=0;j1;printf(“a=%dn”,a);训练训练2/16/202342西安交通大学工程训练中心思考题思考题u将将1左移左移8位,再右移位,再右移8位,并在屏幕上输出每位,并在屏幕上输出每1次移动的结果(要求按键盘上一个键,输出一个次移动的结果(要求按键盘上一个键,输出一个结果)。结果)。2/16/202343西安交通大学工程训练中心