基于modbusru协议的矿用智能遥控接收机的实现_第1页
基于modbusru协议的矿用智能遥控接收机的实现_第2页
基于modbusru协议的矿用智能遥控接收机的实现_第3页
基于modbusru协议的矿用智能遥控接收机的实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于modbusru协议的矿用智能遥控接收机的实现

0基于对国外plc的通信协议由于ltc-u作为控制单元,数据采集和管理制度主要应用于工业控制系统。因为它的电路结构简单、稳定可靠,所以它被广泛应用于工业控制系统。目前,广泛应用的S7-200PLC产品中大多集成了串行通信接口,其支持的串行通信协议有PPI、MPI、PROFIBUS、Modbus等。在这些协议中,PPI和MPI协议是西门子公司特有的协议,对外不公开,通用性差;PROFIBUS协议虽然对外公开,但成本高;而Modbus协议是全开放的,具有诊错能力强、数据传输量大、成本低等特点,主要实现上位机对S7-200PLC内部存储器区域的直接读写操作,无需用户对其进行通信编程,但S7-200PLC只能作为Modbus从站使用。然而,随着工业自动化技术的不断发展,Modbus协议已不仅仅应用在PLC与上位机之间的通信上,许多智能仪器厂商也纷纷采用该协议作为自己产品的从站通信协议。因此,在越来越多的自动化工程中,PLC需要作为主站设备完成与智能仪器或其它支持该协议的PLC的通信。针对这一情况,西门子公司最新推出支持ModbusRTU主站的协议库,实现S7-200PLCModbusRTU的主站功能。通过调用库指令,用户可以将S7-200系列PLC上的原Mod-busSlave通信口作为ModbusMaster通信口或标准口使用,大大扩展了S7-200系列PLC的通信功能。本文利用S7-200PLCModbusRTU主站协议库实现了S7-200PLC与智能遥控接收机的主从通信,并将其应用到采掘设备的控制系统中,实现了对采掘设备的遥控控制。1基于不同介质的两步并行通信Modbus协议是工业串行通信事实上的标准,标准定义了应用层的通信协议,位于ISO/OSI模型的第7层。Modbus协议可以实现不同媒介的异步串行通信(以太网、RS232、RS485、光纤、无线电等)。其通信为主/从方式,报文形式为请求/响应帧结构,每次通信均由主机发起,从机根据主机的要求,回应响应帧,其主从查询、回应周期表如图1所示。Modbus协议有2种传输模式:ASCII模式和RTU模式,其通信格式如表1所示。本系统中采用了RTU模式。Modbus协议定义的24种功能都有相应的功能代码。2主要站系统的通信距离为s7-200pc2.1基于pp的读写操作S7-200PLCModbusRTU主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该指令库只对port0口有效,如图2所示。图2中有2个功能块,分别为初始化功能块MBUS-CTRL和读写功能块MBUS-MSG,其参数意义:初始化功能块中EN为使能端,必须保证每一个扫描周期都被使能;Mode为协议模式选择,当为1时,使能Modbus协议功能,当为0时恢复为系统PPI协议;Baud为通信波特率;Parity为校验方式选择,0为无校验,1为奇校验,2为偶校验;Timeout为主站等待从站响应的时间,以ms为单位;Done为完成位,初始化完成后该位会自动置1,可以用该位启动读写操作;Error为初始化错误代码。读写功能块中EN为使能端,同一时刻只能有1个读写功能使能;First为写请求位,每一个新的读写请求必须使用脉冲触发;Slave为从站地址;RW为选择从站的读写端,0为选择读,1为选择写;Addr为选择读写从站的数据地址;Count为通信数据个数(位或字的个数);DataPtr为数据指针,如果是读指令,读回的数据放到这个数据区中,如果是写指令,要写出的数据放到这个数据区中;Done为读写功能完成位,完成后该位会自动置1;Error为初始化错误代码。由上述可知,通过对S7-200PLCModbusRTU主站指令库中RW、Addr和Count的设置,就可以实现对从站特定数据段的读写操作。其中,RW、Addr决定了从站执行的功能和所要操作数据段的起始地址,Count决定了所要操作数据段的数据量。2.2保持读取了初始数据遥控接收机的电气接口为二线制RS485;通信波特率为9600bps;每个字符的数据格式为1位起始位,8位数据位,无奇偶校验位,2位停止位;支持Modbus从站,地址为1;遥控接收机的数据存放于保持寄存器中,保持寄存器操作的功能代码如表2所示。在遥控接收机的Modbus协议中,读写保持寄存器按字寻址,保持寄存器中需要通信的数据帧格式如表3所示。表3中字节1~8支持读操作,其余的字节支持写操作。2.3基于对从站使用的保持读取数据s1-200lcsS7-200PLC与遥控接收机通信前,必须将它们之间的波特率和数据格式设定一致。主站S7-200PLC中初始化功能块MBUS-CTRL按照从站遥控接收机的通信规格设定如下:Baud为9600bps,Parity为0,无校验。根据Modbus通信协议,在通信过程中,主站读写功能块要对从站地址、功能码、寄存器地址、数据量等进行设定。尽管从站遥控接收机已经具备了Modbus通信所需要的功能码和存放数据的保持寄存器号,但S7-200PLCModbusRTU主站读写功能块中并没有直接写出对从站操作的功能码和保持寄存器号,而是通过对RW、Addr和Count几个参数的设置,由S7-200PLC系统程序转换为符合Modbus协议规定的功能码和存放数据的保持寄存器号。其中Modbus数据地址Addr尤为重要,有00xxx、10xxx、30xxx和4xxxx四种形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址,Modbus数据地址对应的数据类型如表4所示。表4中开关量输出和保持寄存器支持读和写功能,开关量输入和模拟量输入支持读功能。S7-200PLCModbus数据地址访问的数据,是通过各种功能读写实现的,所谓的功能就是Mod-bus协议中的功能代码,例如:10xxx表示对开关量输入操作,对应Modbus协议中的功能代码01。根据从站遥控接收机数据帧格式和功能码,主站S7-200PLC只需读写其保持寄存器中的数据。因此将S7-200PLC读写功能块中的Modbus数据地址Addr设置为4xxxx,其中4代表对从站保持寄存器操作,xxxx代表从站遥控接收机中保持寄存器号。主站S7-200PLC功能块中设置的Modbus数据地址与对应的从站保持寄存器号如表5所示。要实现主从站数据通信,需要分配S7-200PLC数据区。VB0~VB7存放从遥控接收机读入的数据,VB8~VB128存放从S7-200PLC写出的数据。根据S7-200PLC读写功能块MBUS-MSG中数据指针DataPtr的意义,PLC读功能块中数据指针DataPtr设置为&VB0,写功能块中数据指针DataPtr设置为&VB8,从站保持寄存器号与对应的S7-200PLC数据区如表6、7所示。2.4中断服务程序处理不需要任何硬件电路,就可以实现符合Mod-busRTU协议的S7-200PLC和遥控接收机之间的主从通信,同时对软件的编写没有任何特殊要求。遥控接收机的通信采用串行中断方式,一旦PLC有通信要求,则响应中断,执行中断服务程序。PLC主动联络遥控接收机:首先发送地址,遥控接收机接收到地址后与本机地址相比较,如果地址符合,就回送地址表示确认,当PLC收到确认地址后,就可以接收遥控接收机发送的数据。发送数据时,Modbus以LSB在先的形式传送数字量,以MSB在先的形式传送模拟量。PLC侧的通信程序可直接利用S7-200PLCModbusRTU主站指令库。调用Modbus指令库时,需要分配指令数据区,用于给库的子程序和中断程序提供所要用到的变量存储空间。另外,ModbusRTU主站指令库使用了一些用户中断功能,编其它程序时不能在用户程序中禁止中断,其程序流程如图3所示。3基于面向电机的控制系统采掘设备的控制器选型为西门子PLCCPU226,将其作为ModbusRTU主站,利用PLCCPU226自由口Port0实现ModbusRTU主从站通信。遥控发射机将电机、油缸的控制信号及变频器的外部频率指令信号传送给采掘设备的控制器CPU226,CPU226接收到数据后,完成相应的处理和显示。试验表明:采用上述原理构成的通信方法,主机编程简单,数据通信可靠。4情况二:s1-200plc利

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论