专业的微特电机产品发布平台
用户名: 密码: 注册
设为首页 加入收藏 联系我们
免费注册 企业免费建站
新技术论坛 会员产品发布
TB6600QQ群:70241714   步进电机论文   六轴工业机器人解决方案  
步进电机     驱动器     控制器     马达IC     伺服电机     无刷直流电动机     微特电机文献     工控器件     运动控制新产品     六轴工业机器人    
  六轴工业机器人应用案例  
  混合式步进电机选型手册  
  步进电机配套行星减速器  
  步进电机应用网  
  三轴桌面机械臂参数介绍  
  六轴工业机器人应用参数  
  东芝TB6600HQ/HG芯片  
  tb6600hq步进驱动芯片  
  论坛热帖  
  步进电机应用资料  
  价格****的86步进电机  
  60W无刷直流电机  
  100W无刷直流电机  
  48V,250W无刷直流电机  
  48V,550W无刷直流电机  
  步进驱动器芯片LV8731V  
  42/57直线T型滚珠丝杆电机  
  有霍尔直流无刷控制器  
  3相2轴步进驱动器  
  步进电机论坛  
  ZM-6618直流无刷驱动器  
  无刷直流电机选型  
  SCM6716MF直流无刷驱动芯片  
  86步进驱动器2HD8080  
  北京时代超群公司  
  稀土永磁直流力矩电机  
  永磁直流力矩电机  
  86双出轴电机  
  伺服电机知识  
  关于步进电机转速  
  步进电机转矩与功率换算  
  关于步进电机控制  
  关于步进电动机驱动  
  tb62209fg的开发应用  
  tb6588fg的应用资料  
  ET-DS100C型取断锥机  
  五自由度取断锥机  
  步进驱动器及产品  
  步进控制器产品  
  ****马达IC产品  
  无刷直流电机及控制器  
  微特电机论文  
  马达IC应用论文  
  步进电机网工控企业会员  
  步进电机网数控企业会员  
  步进电机网新闻动态  
  步进电机网会员产品信息  
  现货销售TB62214FG  
  现货销售三洋芯片LV8731  
  2轴步进驱动器ZD-8731-D  
  57步进驱动器外壳  
  时代超群无刷直流电机  
  步进电动机制造****技术  
  减速步进电机  
  无刷直流电机  
  无刷直流减速电机  
  35减速步进电机  
  减速步进电机系列产品  
  单轴步进电机控制器  
  多轴步进电机控制器  
  ******的步进控制器  
  信浓步进电机  
  电机联轴器  
  更多>>  
 
微特电机论文:PLc串口在获取传感器数据中的应用
 
 
PLc串口在获取传感器数据中的应用
    张坤
(解放军电子工程学院,安徽合肥230037)
    摘要:介绍了用西门子s7—200可编程控制器通过Rs-485串口连接两个传感器测量转速与角度,从中获取转速和角度数据,并进行数据处理。
    关键词:PLc;s7—200;Rs-485;串口通信
    中图分类号:T3/1383.2  文献标识码:A  文章编号:1004-7018(2008)06—0013—03
0引  言
    S7—200是西门子公司研制的一种薪型可编程控制器,它工作可靠,功能强,存储容量大,编程方便,抗干扰能力强,并且有较强的通信功能。因此可以通过它的串口与计算机或其他智能装置进行联网及通信,现代工业设备大都具有智能化、模块化的特点,往往只需要上位机发出一条指令就可以独自完成工作,并将结果通过总线返回给上位机,在其工作期间不需要任何其它设备的干预,这就给上位机留有时间来完成其它工作,对于保障系统的稳定性起到了重要作用。本文介绍的系统由s7—200通过Rs-485总线连接速度和角度传感器,角度和速度传感器分布于工业现场的不同位置,PLc向它们发送测量指令,传感器收到指令后向PLc回传含有速度和角度值的数据,并由PLc完成数据处理任务。
l系统硬件构成
    本系统主要由电源模块、PLc、两个分布在不同场地的旋转变压器、FB900c及FB900v变送器构成,如图1所示。电源模块向PLc提供24 V直流电,市电向FB900c、FB900V提供220 V交流电,PLc上Rs-485口的3、8是数据4、B端,而FB900c/V的8、9是Rs一485的数据A、B端,因此FB900c/V串口的8、9分别与PLc串口的3、8相连。FB900c/V上的端子号从左至右依次为1~7,其中1、2为供电端口,3、4为FB900c/V向旋转变压器提供的8 V交流电,5、6、7为旋转变压器向FB900C/V提供的信号。
2软件设计总体思路
    FB900c/V将旋转变压器传来的信号分别转换成角度和速度数据,通过Rs-485总线传向PLc再由PLc对其进行处理。为了避免数据传输过程中发生数据冲突,将FB900C/V设置成指令传送模式,FB900C/V收到相应的指令就会向Rs 485总线上传含有角度和速度的数据,没有收到相应的指令就不会发送数据。为了避免数据冲突,采用分时读取FB900C和FB900V数据方式,即PLc先发送读取速度数据指令,FB900V收到后就立即向总线上传送速度数据,PLc收到总线上的数据后将其存储下来并对其进行处理,完成数据处理后PLc再发送读取角度数据指令,FB900C收到指令后立即向总线上传送角度数据,PLc收到总线上的数据后将其存储下来并对其进行处理,完成数据处理后PLc再发送读取角度速度数据指令,依次不断循环下去。分时工作由PLc的定时器B2和T196完成,T32定时则T96复位,如果T96定时,则T32复位,依次循环。它们的周期都为40 ms,T32等于40 ms时,PLc发送读取速度指令,并打开中断事件25,FB900V传送速度数据后,PLc响应字符中断接收完数据后就将其处理完毕,接着将T32复位。再打开T96直到T96等于40 ms,PLc发送读取角度指令,并打开中断事件25,FB900C传送角度数据后,PLc响应字符中断接收完数据后就将其处理完毕,接着将T96复位并打开T32,如此不断循环。流程图如图2所示。在流程图中两个定时器依次打开和复位,当每个定器计时到40 ms,就触发程序发送相应的读数指令,响应字符接收中断接收传感器发送过来的数据,处理接收到的数据。定时器T32、T96起到了作为采集速度、角度数据标志信号的作用,此外还可以通过更改定时器的延时值来控制采集传感器信号的周期。发送指令、接收数据及数据处理在文章的后续部分作详细介绍,主程序流程中就不作叙述了。
3 PLc及FB900C/V串口参数的设定
    SMB30和SMBl30是s7—200的通信控制字,用来设置通信的波特率,奇偶校验位、停止位和字符长度。SMB30对应端口0,SMBl30对应端口1。SMB30和SMBl30的各位及含义如表1所示。
其中,校验方式:00和11均为无校验、Ol为偶校验、10为奇校验;字符长度:O为传送字符有效数据是8位、l为有效数据是7位;波特率:000为38 400、001为19 200、010为9 600、叫l为4 800、100为2 400、101为1 200、110为600、111为300;通信协议:00
为PPI协议从站模式、01为自由口协议、10为PPI协议主站模式、1l为保留,缺省设置为PH协议从站模式。
    FB900V/c变送器的信号采用波特率为9 600,数据位为7位,校验方式为偶校验,它们的设定通过购买时自带的软件来设定。PLc的通讯协议采用自由口协议。为了实现PLc与FB900V/c之间能够传送数据,寄存器SMBl30的各位的值的设定如表2所示,从表2中可得出SMBl30对应的16进制数为69。
4数据的发送与接收
    FB900C/V的读数指令格式如表3所示。
    FB900C/V读取速度和角度数据指令的字符位都是52H,结束位都是ODH(厂家规定值),模块编号可以根据需要自行设定。FB900V的模块编号设为30H、32H负责传送速度数据,FBOOD的模块编号设为:30H、31H负责传送角度数据。FB900V速度变送器的数据输入指令格式如表4所示。
    FB900C角度变送器的数据输入指令格式如表
5所示。
    PLc发送指令(XMT)激活发送数据缓冲区(TBL)。数据缓冲区第一个数据指明了要发送的字节数,****数为255个。PORT指定了用于发送的端口。发送读取速度数据指令,就将04、52、30、32、OD(都为16进制)填人发送缓冲区,发送读取角度数据指令,就将04、52、30、3l、0D(都为16进制)填人发送缓冲区。发送完后打开字符接收中断,本系统中用的是端口1,对应的中断号是25。每接收一个字符产生一次中断,中断链接到中断处理程序,中断处理程序将接收到存储在SMB2中的字符,再转存到PLc里的存储区。
    传感器发送数据格式如表6所示,l是开始位,2、3是变送器编号,4是状态位(指输出数据的状态其中D=角度数据,y=速度数据,E=变送器出错)5为数据的符号,6位以后为数据(角度数据最多为8位数据+l位小数点,速度数据最多为4位数据+1位小数点),最后一位为结束位cR(0DH)。
    表中都是16进制的角度数据,并且变送器编号为01,输出角度为268。。对应字符(ASCⅡ码)如表7所示。
速度数据格式如表8所示。
    表中都是16进制的速度数据,并且变送器编号为02,输出速度数据为12.O时,对应字符(ASCⅡ码)如表9所示。
    PLc接收传感器发送来的数据以是否收到02H为开始,如果没有收到02H则中断返回,收到02H则将后续字符转移到PLc所指定的存储单元并检验是否接受到0DH,接收到结束位0DH就开始对所收到的数据进行处理。数据的接收流程如图3所示,在数据接收流程中,每接收一个字符就会产生一次字符接收中断,IN皿和INTl都是中断服务程序。在没有收到起始字符时INTO为产生的字符中断服务,INTD中先判断收到的字符是否是02H,若是,就将字符缓冲区的第一个字节VBl00清零,调用子程序2将02H存入vBl00之后的存储单元中,接着就将INTl连接到字符中断,这时INTl为产生的字符中断服务(INT0不起作用)。在收到起始字符后产生的每次字符中断,中断服务程序INTl都调用子程序2,将收到的字符存人起始字符的后续单元中。INTl在存储收到的字符后还判断收到的是否为结束字符,若收到,就调用子程序3进行数据处理并将IN阳再次连接到字符中断(此时INTl不起作用),准备进行下一组数据的接收。
  子程序2代码如下:
LD SM0.0//装载指令
INCB VB100//字符计数器加1
INCD VD86//指针VD86加1
MOVB SMB2,VD86//字符存入指针所指单元子程序3为数据处理程序,在后面的文字中将作详细介绍并配有流程图. 5数据处理
    从传感器接收过来的数据只是从02H~0D11之间的一组16进制字符,还无法直接将其中所包含的角度和速度值以一个数的形式来使用。本文所讲的数据处理,只是从接收过来的一组字符中取出所包含的速度和角度值。数据处理的关键在于找出02H~0DH之间的数据位和符号位,并将其按照:Y=±(x1-30H)×1+(x2—30H)×lO+(x3-30H)×100+(x4—30H)×1000+(x5—30H)×10000……,计算出对应的十进制值。x1为0DH前的第一个字符,x2为0DH前的第二个字符,x3为0DH前的第三个字符,依次类推直至符号位后面的第一个字符,本文中对数据精度的要求不需要精确到小数位,所以若0DH前的第二个字符为2E,则令x1为ODH前的第三个字符,x2为0DH前的第四个字符,x3为0D}I前的第五个字符依次类推直至符号位后面的第一个字符。软件实现时指针V1396、vD86都指向0DH,V1376指向02H,VD86-VD76—6为含有数据位的个数,若个数大于6则继续执行后续指令,否则收到的字符组中不含有数据(这种情况下起始字符、模块编号、状态位、符号位加结束字符不会超过6位),返回即可。VW520存放了数据结果,符号位为“-”时只需用O减去Vw520结果再存入VW520即可,符号位为“+”时不需要作任何变化。软件处理流程如图4所示。流程图中,指针VD86和VD96都指向结束字符,VI)76在数据接收流程中已指向起始字符,VD86-VD76可求出
接收缓冲区字符的个数,移动指针VD96可依次找出个位、十位、百位等对应的字符。VW60里是传感器所测数据有效数据的个数,用来判断乘累加是否结束,VW600里是传感器所测数据有效位对应的十进制数乘以权值后所得的结果,VW500存放乘累加的结果,VW510存放的是有效数据位个位、十位、百位等对应的权值,在乘累加过程中Vw510的值会依次为1、10、100、1000等,VW400、Vw420里都存放了由指针VD96所取出的字符,VW410里存放了由ASCII码转换的十进制数,VW520保存了上一次十进制所测的数据。
6结语
   综上所述,本系统在80 ms的周期内分别对角度和速度值各采集一次,并将它们转换成十进制,为PLc后续工作提供了数据来源。经实践证明,可靠性、稳定性比较好,能够满足实时性要求不是较高的工业应用场合。
 
高精线性模组 上海生化培养箱 大容量恒温摇床 振动筛网 计价秤 液压剪板机 孵化机 箱式炉
物联网设备 步进电机 除氧器 造纸设备 步进驱动器 深圳机械加盟 带式干燥机 硫酸泵
直流屏 激光打标机 机械论文 中国控制阀网-调节阀 移动式升降机 食品机械网 电机 电子称
酷刻刻字机 中国电动滚筒网 北京时代超群 中国数控机床维修网 超声波裥棉机 步进电机论坛
设为首页  |  加入收藏  |  关于我们  |  站长留言  |  广告服务  |  友情链接申请  |  网站介绍
网站实名:步进电机网 步进电机驱动器网 微特电机网 网站地图 新闻中心
版权所有:北京时代四维科技有限公司 © Copyright By www.zgbjdj.com
京ICP备11042559号-1