实例介绍
AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信
www.PlcwoRld.cn u变频器触摸屏伺服启动气出程102 Sepam2000与远程监控系统之间的通信是采用 MODBUS协议的通信方式 MODBUS的通信采用的是一种主/从式数据传输,在主从结构的通信方式中 有一台主机,多台从机,主机可与各个从机作双向通信,而各从机之间不能通 信。主机与各个从机通信的报文形式为请求/响应帧方式。每次通信均由主机发 起,不需握手。主机发出请求帧后,等待从机返回响应帧直至响应时间超时。 从机只能通过提供数据响应主机的请求,或根据请求做出相应的动作。 MODBUS协议定义了主札请求的格式,包括:请求的编址,要求动作的功能 码,传输数据和错误校验等。请求中的编址(即地址码)提供接收主机报文霉 的从机地址,从机根据地址判别是否接受该请求,用户必须设置每台从机的地 址。功能编码告诉指定编址的从机完成什么样的动作。数据字段屮包含了从机 执行任务时所需的附加信息。例如,功能编码03表示读取从机的保持寄存器并 w毁w.91{κ其中的内容,数据区中的信息就益领诉从机从哪个寄存器开始读,需要 读的寄冇器数。错淏校验字段为从杋提供了信息完整性校验的方法。同样,响 N→oomo 应的格式也是采用 MODBUS协议结构,从杋响应的功能编码与接受的请求的功能 编码相对应,数据字段包含根据请求返回的数据,错误校验字段允许主机确认 信息内容是合有效。 MODBUS协议共有24种功能编码,但是并不都适用于 Sepam2000,实际应用中 Sepam2000只是支持下面有限的几种: 01读取输出状态 02读取输入状态 03读取内部寄存器内容 04读取输入寄存器内容 05强制单个输出状态 第3页共10页 www.PlcwoRld.cn u变频器触摸屏伺服启动气出程102 06刷新单个寄存器内容 07读取异常事件状态 08诊断测试 11读取计数器和状态字 15强制多个输出状态 16刷新多个寄存器内容 如果主机希望读取2号 Sepam2000从机中寄存器0805h-080Ah的内容,则需要 调用功能03。主机请求和从机响应的帧格式如下: 请求帧 地址功能号数据起始寄存器编址寄存器数目错误校验字段 03 0C05 06 CRC16 w3M9HMo应帧: WwW PLCworld cn 字节数据寄存器 数据寄存器错误校 地址功能号 计数(0805) (080A)验字段 03 OC Datal Data6 CRC16 而如果主机希望刷新2号 Sepam2000从机中寄存器0810h的内容并把寄存器 内容设置为1000,则需要调用功能06。主机请求和从机响应的帧格式如下: 请求帧: 地址功能号 寄存器编址 设置值错误校验字段 06 OCOE 1000 CRC16 响应帧:(返回收到的请求帧) 地址功能号寄存器编址 设置值错误校验字段 06 OCOE 1000 CRC16 第4页共10页 www.PlcwoRld.cn PC变频器触挾屏伺服镦启动電气里程-1521 Sepam2000的帧格式以及所执行的功能都有明确的定义,不能随意更改。在 通信过程中,要确保主机和各从机的对应关系正确。此外,用户可以根据实际 需要配置合适的传输波特率、宁符奇偶校验、停止位的个数等通信参数设置。 四. AB PLC中 MODBUS协议的实现 1.MCM模块的通信控制 PROSOFT TECHNOL0GY公司的3100/3150-MOM通信模块,相当于网络接冂, PLC通过MoM模块与 MODBUS总线相连。MOM模块能快速、可靠地在 AB PLC中实 现 MODBUS协议。 3100/♂315σ0-MM通信模块可供用户选择使用主机模式或者从机模式。当MCM 模块设定为主机,它对连接到总线上的从机进行控制,支持 MODBUS协议屮(01、 02、03、04、05、06、15、16)8种功能编码,可以发送多达一百条定制的请求 WM91H样am并支持以“广播”方式发出请求盖MCM模块指定为从机,它响应主机 §的请求,此时能够支持 MODBUS协议中(01、02、03、04、05、06、08、15、16) 9种功能编码。同时,无论是主机模式或者是从机模式,3100/3150MCM通信模 趴都支持 ASCII和RTU两种传输模式 当 AB PLC配置了3100/3150-MCM通信模块作为主机模式时,PLC采用周期 扫描方式,按请求指令的顺序与从机交换数据。每次扫描期间,处理器使用逻 辑写指令将主机内存中要输出到各从机的数据传送到3100/3150-MM通信模块 屮的发送缓冲区,模块根据存储的功能指令,发送到指定的从机;而各从机响 应后返回的数据,3100/3150-ⅦOM通信模块将其先存放在接收缓冲区,然后PLC 使用逻辑读指令把数据移入相应的输入数据存储区。周而复始,使主机与从机 中的数据得到周期性的刷新。整个数据流程如图2所示: 第5页共10页 www.PlcwoRld.cn u变频器触摸屏伺服启动气出程102 PLC内存PLC指令MCM缓冲 MCM MODBUS 模式 设备 数据 读 数据:-(从机主机 推令一(写)指令一主二一从 参数 参数 配置 配置 图2MCM模块数据流程示意图 2.MCM模块与 MODBUS的硬件连接 MCM模块使用的是与RS232C兼容的标准通讯接口,但在实际应用中由于要实 w{M.91耙通信,所以采用RS485方式。图3是3150-MCM模块9芯串行口与 MODBUS 8 的连接图 3150-MCM MODBUS TxRxD+ 9 TxRxD TxRxD TxRXD RTS 7 G№D5 GND 图33150MCM端口与 MODEUS连接示意图 3.MM模块的缓冲区管理 PLC与MM模块之间是通过模块输入、输出映像文件进行数据传送。PLC与 数据时,将数据写入输出映像文件,然后3100/3150-MM通信模块把数据映射 第6页共10页 www.PlcwoRld.cn u变频器触摸屏伺服启动气出程102 到相应的缓冲区位置上;PLC读数据时,根据映射地址,从输入映像文件屮读取 模块缓冲区中对应地址的数据。映像文件的数据传送单位为一个50字节的数据 块,PLC必须循环地一次传送一个数据块。 MCM把缓冲区按数据传送的单位大小,分为若干个块,并一一标号,用块号 对应起来,并且划分为三个区,分别用于数据、指令、参数设置。数据存储区 从0块号开始,结束于79块号,中间有4000个字节的空间,用于存储接收的 数据和发送的数据,是主札、从札交换数据的场所;指令存储区从第80块至第 99块,共1000°个字节,用于存储主机模式下,模块的功能指令表,每次扫描, 顺序按功能指令列表向从机发出请求帧:第25块号前40个字节则专门定义为 模块设置参数存储区,用于初始化模块。 在通信过程中,首先要对主机进行初始化,即对第255块号对应的缓冲区 ww.91{进行参数配置,主要是定义通信端舶设置,模块缓冲区的详细划分。设 置的有以下参数: N→oomo 定义MCM通信模块两个独立的通讯接口设置。包括:选择主机模式 或者从机模式、定义字符奇偶校验、停止位的个数,传输的波特率, 响应延时等参数。 〈2〉定义模块的缓冲区中冇储接收数据的数据冇储区。包括:接收数据 存储区的起始块号,存储区的连续块数。 ③3〉定乂模块的缓洲区屮存储发送数据的数据存储区。包括:发送数据 存储区的起始块号,存储区的连续块数。 〈4〉定义模块的缓冲区中指令存储区。由于指令储区固定从80号数 据块开始,所以只需指定存储区的块数。 4.MCM模块的功能指令设置 第7页共10页 www.PlcwoRld.cn PC变频器触挾屏伺服镦启动電气里程-1521 MCM模块处于主机模式下时,功能指令列表存放在模块缓区屮的指令存 储区。主机向从札发出请求时,模块从指令存储区逐条读出功能指令,并按照 MODBUS请求帧格式发送数据。 指令存储区中每条功能指令的具体内容如下: 1模块通信端口选择 2从机的站地址。从机在接收数据时将本站编址的值与收到的站 地址比较,以此判定信息是否是发给木站的。而主机在接收压 则将收到的站地址与发送的站地址比较,以判断是否是正确的 从机响应 3指令的功能编码 4源地址。即主机要发送或接收的数据在缓冲区中的起始数据地 Wbn.91Hmi.com-It www.plcworld.Cn 5数据长度。即主机要发送或接收的数据的字节数 6目的地址。即从机要接收或响应的数据的寄存器地址 数据的类型。用于标示读、写的数据是双字节的浮点数还是单 字节的整数 8轮询时间 如果主机希望在1号通讯接冂读取2号 Sepam2000从机中寄存器 0805h-080Ah的内容并存放到模块缓冲区第50个字节开始的连续6个字节中, 功能指令内容如下: 从机功能 数据 端口号 源地址 目的地址类型时间 地址编码 长度 50 6 0805 0 0 第8页共10页 www.PlcwoRld.cn u变频器触摸屏伺服启动气出程102 5. AB PLC通讯程序的开发 程序执行时,在第一个扫描周期,都必须设置MCM的状态,即初始化MM 模块。 通信程序屮,PLC在输入、输出映像文件屮为MCM缓冲区设置当前以及后 续读写指针,分别指向当前MCM缓冲区数据块号,后续缓冲区数据块号。若MCM 处于数据传送允许状态,即I1:1/0=1,00:1/0=0时,PLC判别当前读写 指针,调用相应读写逻辑指令。如果指针指向接收数据的数据冇储区,则PC 从jCM模块中接收数据:如果指针指向发送数据的数据存储区,则PLC向MCM 模块发送数据;如果指针指向指令存储区,则PLC向MM模块传送功能指令, 每次执行一个数据块的传送,并在传送后,把后续读写指针覆盖当前读与指针, w毁w91{M恧砟下个扫描周期进行下一个数据块的传送。PLC自动周期性扫描,按照编定 的功能指令向从机的输入/输出数据进行发送/接收,以满足数据传输的要求。 根据PLC的逻辑指令及MCM的通信原理,画出了图4所示的主机通信程序 结构框图 开始 首次扫描时 MCM初始化 百传送允许?> 是 ∈向接收数据区 读数据指令 一向发送数据区?>据[写数据指令 是 指向指令区? 与功能指 更改读写指针 图4PLC程序框图 第9页共10页 www.PlcwoRld.cn PC变频器触挾屏伺服镦启动電气里程-1521 五.结束语 经过现场调试,实现了1台 AB PLC与13台 SEPAM2000组成的 MODBUS网 络连接。实际应用证明,这种方式组成的系统结构简单,应用方便,能满足复 杂的控制需要。 参考文献 3100/3150 MCM USER Manual, Pro Soft Tcchnology, 1997 吵一 2 AB PLC Programming Reference Manual, AB, 1997 3 Sepam2000 Communication protocol, Schneider, 1999 W点M91HM|com WwW PLCworld cn N→oomo 第10页共10页 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论