异构PLC实现三菱伺服绝对位置值的读取

发布者:yunhao最新更新时间:2014-02-17 来源: ofweek关键字:异构PLC  伺服绝对位置值  读取 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  1.1 三菱伺服绝对位置传输功能

  三菱mr-j2s及mr-j3系列伺服系统内置绝对位置数据传输协议,通过驱动器三个输入和三个输出数字量端口与plc的三个输出三个输入口相配合,实现伺服电机绝对位置向plc的传输。plc读取伺服电机的绝对位置数据后,可方便地构成一个绝对位置系统。这在许多情况下,非常有实际应用价值。在这里要说明的是,以上所述的绝对位置传输协议并非是三菱伺服系统本身也具有的通讯协议。前者是通过伺服驱动器和plc的数字i/o口实现的,后者是通过在rs422通讯口实现的。

  1.2 绝对位置读取

  作为配合,三菱fx系列plc也内置了绝对位置读取指令(dabs指令),可方便地读取三菱伺服的绝对位置值。但是在三菱家族的a系列和q系列中并没有提供绝对位置读取指令,当然其它品牌的plc更没有与之配合的绝对位置读取指令了。尽管从三菱的产品线来说,其q系列plc提供了qd75m位置模块,使用b系列的伺服驱动器,通过sscnet总线来实现实时的绝对位置通讯。但是在一些低端应用场合及其它品牌plc作为控制器的场合使用其伺服驱动器绝对位置传输协议来构建绝对位置系统还是非常有意义的。换言之说,有必要对于fx系列之外的plc,开发并提供一种对三菱伺服绝对位置值读取的的方法。下面我们以三菱q系列plc为例就这一问题展开讨论。

2 三菱伺服绝对位置传输协议

  2.1 位置传输协议的信号定义

  图1是伺服驱动器与plc的信号连接图。在本传输协议中,以plc为主机,伺服驱动器为从机,既plc发出传输指令后启动传输过程。在plc输出的四个信号中,y0-y2参与了数据传输,y3并不参与传输。y3用于对所构建的绝对位置系统设置原点。在y0-y2中,y0用于给出伺服开启信号,y1用于对伺服发出abs传输模式指令,使伺服驱动器处于数据传输状态。这时伺服驱动器将改变某些输出端的定义(后述)。y2用于发出数据传输的请求,与“传输数据准备完毕”信号配合,完成伺服驱动器发送数据和plc接收数据的同步。plc的三个输入信号x10-x12接收来自伺服驱动器的输出信号,x10、x11是两位位置数据信号(bit0、bit1),x12为传输数据准备完毕信号,是一个同步信号。该三个信号原来在伺服驱动器内另有定义,伺服驱动器在接收y1给出的传输模式指令后自动切换成当前这种功能。

  2.2 位置传输协议数据交换说明

  在图2中,plc给伺服驱动器同时给出伺服开启信号sv-on和abs传输模式信号abs后,plc和伺服驱动器将按照下列顺序进行进行数据传输:

  (1)伺服驱动器接到absm信号后,检测和计算绝对位置数据,切换do1、zsp、tlc的功能为bit0、bit1、数据传输准备完毕(trd)功能;并将trd置1。[page]

  (2) plc接到trd=1的信号后,将abs请求信号absr置1,送到伺服驱动器。

  (3)伺服驱动器接到absr=1的信号后,在bit0、bit1上输出二位数据,并将trd置0,通知plc,二位数据已输出。plc可以读数据了。

 (4) plc接到trd=0的信号后,读二位数据,然后将abs请求信号absr置0,送至伺服驱动器。

  (5)伺服驱动器接到absr信号=0后,知道plc已将二位数据读取,于是又发出trd=1信号,准备下一次传输。然后重复(2)-(5),直至将全部32位位置数据和6位校验和数据传输完毕。

  (6) plc收到校验和数据后,将abs传输模式absm信号置0。

  在上述传输过程中plc和伺服驱动器的信号配合看似比较复杂 ,其实我们可简单地用图3表示。

  2.3 位置数据和校验和数据结构

  在传输的38位数据中,前32位数据是伺服电机的绝对位置数据,后6位数据是校验和数据。在表示绝对位置的前32位数据中,按读入的顺序排列为最低二位到最高二位。在表示校验和的后6位数据中,其读入顺序也是从低二位到高二位。该6位校验数据是伺服驱动器根据其所传输的绝对位置值计算出的校验和。plc对读入的32位位置数据进行校验和计算,计算的结果与读入的6位校验和数据相比较,若相等则说明传输正确;否则,则说明传输不正确。

  为了实现校验,必须要了解该传输协议所规定的计算方法,也即伺服驱动器内部对位置数据的计算方法,这样才能在plc中按照同样的方法来计算读入位置数据的校验和。只有按同样的方法计算得校验和,其比较才有意义。

  例如,伺服驱动器传输的位置数据是013acf76h,二进制是“00,00,00,01,00,11,10,10,11,00,11,11,01,11,01,10”。该协议规定校验和计算方法如下:将每2位数据相加得,11000b=18h。所以该位置数据的校验和为18h。伺服驱动器传输的数据32位位置数据013acf76h和校验和数据18h。

3 软件编制

  根据上述对绝对位置传输协议的分析,我们可以编制相应的程序。在编制该程序块时,为了使本程序对各种品牌plc具有参考价值并可进行移植,我们采用了各类plc常用的基本指令和各类plc都支持的功能指令来编制,如图5所示。

  3.1 程序结构

  整个位置读取程序从功能上说大致由数据读取、校验和计算、错误判别处理三个部分组成,其中校验和计算可穿插在数据读取程序中。

  在数据读取程序段,根据传输协议规定的信号逻辑配合关系,读取全部32位位置数据和6位校验和数据。[page]

  在读取传输数据的同时,计算32位位置数据的校验和。

  全部数据读取完成后,对读取的校验和数据与计算得到的校验和数据进行比较。若不相同则重新进行传输,重复次数大于3次,则停止传输,并给出报警信号。

  在图5中,σm、σd、σc表示所有的标志位、数据寄存器、计数器,c0、c1用于读取次数(即第几组bit0、bit1数据)计数。c0用于对位置数据的数据读入次数判断,故预置值为17(比应读次数16大1);c1用于对全部数据读入次数判断,故预置值为19(共19次)。c2用于对传输出错重新进行传输的次数判断,故预置值为3。每次读入的2位数据在存储时要进行处理,以恢复其原来定义的数据结构。详细的处理指令见后。

  3.2 样板程序

  上述程序是以三菱q系列plc为例编制的传输程序,由于篇幅所限,我们没有以梯形图形式给出程序,而是以语句表形式列出。在上述程序中,m99是传输启动信号,m214是传输出错标志。y0-y2是sv-on、absm、absr信号,x10-x12是bit0、bit1、trd信号。d10是计算校验和值,d12是绝对位置数据输出值。m120-m157是存储38位传输数据的中间标志位,其中m120-m151用于位置数据,m152-m157用于校验和数据。

  在该程序中,大多数指令为简单的基本指令,仅在读入数据处理时,才使用了wand(逻辑与)、sf(移位)、add(加法)等功能指令。各类其它品牌的plc一般都支持这些指令,所以上述程序的可移植性是比较好的。

  对于上述程序,我们着重介绍每次读入的二位数据的处理方法。为了方便说明,相关程序的梯形图和说明列出如图6所示。

4 应用案例

  典型的方式如图7所示。主流plc一般都内置脉冲输出定位功能或者可配置带有脉冲输出的定位功能模块。为了使控制系统和机械运动位置之间建立同步,一般需要回原点。但是如果采用绝对位置系统,则仅需要在调试时确定一个原点,以后系统就无需回原点了。当系统开机时,plc执行该传输程序,通过伺服驱动器之间的传输信号线将伺服当前位置数据传输到plc中,然后plc将读到的当前机械位置写入定位控制系统的当前位置寄存器中。这样控制系统与机械系统之间就建立了同步关系。以后,机械系统的当前绝对位置由plc的位置控制系统根据发出的脉冲数来确定。

5 结束语

  用普通plc指令实现伺服系统当前绝对位置读取,与用rs422口采用通讯方式读取伺服电机绝对位置的方式相比,该方式实时性较差一些。但是这种方式在构建低端绝对位置系统应用场合,仍具有较大的实际意义。在编制中,考虑到某些plc的低端cpu(如q系列q00cpu)不支持步进指令,所以整个传输程序使用普通指令、采用了类似于步进指令的编程方式,程序的可读性和可移植性都比较好,在使用其它品牌的plc时只需作很少的修改即可。

关键字:异构PLC  伺服绝对位置值  读取 引用地址:异构PLC实现三菱伺服绝对位置值的读取

上一篇:基于S7-300PLC的纸张质量控制系统
下一篇:异构PLC实现三菱伺服绝对位置值的读取

推荐阅读最新更新时间:2024-05-02 22:58

STM32F103单片机读取芯片自身ID
  每一个STM32单片机出厂的时候都有全球唯一的ID,当在数据安全性比较高的地方,需要对每一个接入系统的芯片进行身份验证,那么这个芯片自身的ID号就可以作为它的身份信息。 产品唯一的身份标识非常适合: 用来作为序列号(例如USB字符序列号或者其他的终端应用) 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性。 用来激活带安全机制的自举过程   96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。用户在何种情况下,都不能修改这个身份标识。   这个96位的产品唯一身份标识,按照用户不同的用法,可以以字节(8位)为单位读取,也可
[单片机]
STM32F103单片机<font color='red'>读取</font>芯片自身ID
通过微电阻计直接读取体积电阻率
自今年推出RM3544微电阻计后,获得新老客户一如既往的支持。在此,特别制作本期应用实例分享给大家,希望对今后的计测工作有所帮助。 功能解析: 微电阻计RM3544 带有 温度补偿功能 和缩放功能,因此可以通过提前输入测试片的长 度、横截面积,从而直接读取 体积电阻率 。 测量背景: 在评估金属材料和导电性材料时,并不是使用电阻值,而是使用体积 电阻率 。通过微电 阻计测量的电阻值来计算求得体积电阻率是一件很费工时的事情。微电阻计RM3544 因为 有缩放功能,而且可以显示各种各样的单位,所以可以直接读取体积电阻率。另外,通过使用温度补偿功能的话, 还可以换算成标准温度中的体积电阻率来显示。 体积电
[测试测量]
通过微电阻计直接<font color='red'>读取</font>体积电阻率
STM32笔记--SDIO(SD卡读取)
学习这里首先要了解一下SD卡基本资料: SD卡的协议部分太多,也比较复杂,建议资料:《Simplified_Physical_Layer_Spec.pdf》其主要复杂在繁多的命令,一共有64个命令,各个命令代表什么可查资料。 关于这里大部分都是熟悉函数然后直接调用库就行,但还是需要每个函数都去读一下的,后面会有具体函数的使用实例,到时候再补充。 我们代码中一般用到的是ARM官方给的SD卡的库,但是库中存在问题,SD_Error SD_ReadBlock()缺少代码:(有标注,可直接替换) SD_Error SD_ReadBlock(uint8_t *readbuff, uint32_t R
[单片机]
STM32笔记--SDIO(SD卡<font color='red'>读取</font>)
STM32的IIC端口配置开漏输出,可以随时读取端口电平状态
查了下数据手册,里面有这么一句话:The input data register (GPIOx_IDR) captures the data present on the I/O pin at every AHB1 clock cycle. 在另外一个手册里,有这么一句话:The written data on GPIOx_ODR can be read from GPIOx_IDR register that is updated every AHB clock cycle 就是说,配置成输出之后,照样可以读取端口的电平状态,所以,IIC完全可以只配置成OD(开漏输出)模式,然后直接读取总线电平状态以检测忙闲。 为什
[单片机]
讯宝科技推出第二代RFID嵌体具有更远距离读取能力
美国讯宝科技公司(Symbol Technologies)日前在RFID Journal Live!上推出基于电子产品代码(Electronic Product Code, EPC)标准机构制定的第二代标准(Gen 2)的无线射频识别(RFID)嵌体组合。讯宝还推出了一种坚硬的金属裱框标签原型,这将是讯宝旨在为客户提供智能资产管理解决方案的RFID资产标签产品系列中的首款产品。 讯宝受专利保护的双偶极技术使该公司高性能的第二代RFID嵌体和标签能够在距离远达30英尺的任何方位被读取。创新的RFID天线设计采用两根天线,RFID阅读器天线在任何位置的情况下标签都能够快速地执行读取和书写功能。这对配销仓库和机场行李处理使
[安防电子]
MSP430 Flash的擦除、写入、读取操作
1 Msp430Flash型单片机内部Flash存储器介绍 MSP430的Flash存储器是可位、字节、字寻址和编程的存储器。该模块由一个集成控制器来控制编程和擦除的操作。控制器包括三个寄存器,一个时序发生器及一个提供编程、擦除电压的电压发生器。 Msp430的Flash存储器的特点有: 1)产生内部编程电压 2)可位、字节、字编程,可以单个操作,也可以连续多个操作 3)超低功耗操作 4)支持段擦除和多段模块擦除 2 Flash存储器的分割 Msp430 Flash存储器分成多个段。可对其进行单个字节、字的写入,也可以进行连续多个字、字节的写入操作,但是最小的擦除单位是段。 Flash存储器被分
[单片机]
MSP430 Flash的擦除、写入、<font color='red'>读取</font>操作
三星发布1TB硬盘 单碟容量334GB创业界之最
三星电子8日在北京正式发布1TB(1000GB)3.5寸硬盘SpinPoint F1,其单碟容量高达334GB创业界之最,以3张碟片实现1TB大容量存储。 三星并不是第一个推出1TB硬盘的厂商,今年以来,希捷和日立已相继推出1TB大容量硬盘,不过在单碟容量上,与希捷250GB、日立200GB相比,三星SpinPoint F1以334GB暂时领先。 三星SpinPoint F1基于垂直记录技术,转速7200RPM,缓存16MB/32MB,接口SATA 3Gbps,支持NCQ技术,平均寻道读取时间8.9毫秒,平均潜伏时间4.17毫秒,拥有三星独有的节能降噪和性能增强技术。 除了1TB外,SpinPoint F1还有750GB、5
[焦点新闻]
FPGA与DSl8820型温度传感器通信的实现
l 引言    DS18B20是DALLAS公司生产的一线式数字温度传感器,采用3引脚T0-92型小体积封装;温度测量范围为-55℃~+125~C,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。   一线式(1-WIRE)串行总线是利用1条信号线就可以与总线上若干器件进行通信。具体应用中可以利用微处理器的I/O端口对DS18B20直接进行通信,也可以通过现场可编程门阵列(FPGA)等可编程逻辑器件(PLD)实现对1-WIRE器件的通信。   本文介绍利用ACTEL公司的ProASICplus系列FPGA实现与DS18B20的通信功能。FPGA可以将读出DS18B20
[传感技术]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved