信捷培训通讯.ppt

上传人:石*** 文档编号:35737105 上传时间:2022-08-23 格式:PPT 页数:46 大小:5.10MB
返回 下载 相关 举报
信捷培训通讯.ppt_第1页
第1页 / 共46页
信捷培训通讯.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《信捷培训通讯.ppt》由会员分享,可在线阅读,更多相关《信捷培训通讯.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、信捷培训通讯信捷培训通讯现在学习的是第1页,共46页第9.3章 通讯C语言Modbus通讯Block自由格式现在学习的是第2页,共46页触摸屏如何实现可以实时显示PLC的状态?PLC与变频器通讯程序改怎么编写?现在学习的是第3页,共46页通讯概述现在学习的是第4页,共46页COM9COM8YXX0X1COMCOMX2X3X4X5X6X7X10X11X12X13X14X15X16X17X20X21X22X23X24X25X26X27X30X37X40X36X35X34X33X32X31X41X42X43Y27Y26Y25Y24Y15Y17COM6Y21Y20COM7Y23Y22Y16Y13Y14

2、COM5Y11Y12Y7Y10Y6COM4Y4Y5COM3Y3Y2Y1COM2Y0COM1COM0CAN+CAN-AB0V24VPORT2PORT1XC3-60R-EERRRUNPWR0 1326 7544 5762 310通讯口1通讯口2的232通讯口2的485XC2、XC3、XC5、XCM以及XCC系列可编程控制器都支持Modbus协议、自由协议通讯功能。1、通讯口现在学习的是第5页,共46页站号Modbus站号1254、255(FF)为自由格式通讯波特率300bps115.2Kbps数据位8个数据位、7个数据位停止位2个停止位、1位停止位校验偶校验、奇校验、无校验2、通讯参数设置 通过上

3、述通讯口,我们可以使两个串行通讯设备任意通信,但是在通讯之前,必须设置相互可以辨识的参数,具体见表 通讯口默认参数:站号为1、波特率19200bps、8个数据位、1个停止位、偶校验。现在学习的是第6页,共46页XCPPro 编程软件中集成了修改通讯口的模块,如下图所示: 通过软件来修改通讯口参数,方便直观,且不易出错,修改完成后,重新上电才能生效。现在学习的是第7页,共46页3、通讯相关指令 信捷通讯指令包括mudbus指令和自由格式指令两大类。现在学习的是第8页,共46页modbus通讯现在学习的是第9页,共46页 (1)modbus通讯指令 Modbus指令,分为线圈读写、寄存器读写,采用

4、标准的mudbus-RTU协议。下面具体介绍这些指令的用法。 A 线圈读COLR 线圈读是将指定局号中指定线圈状态读到本机内指定线圈中的指令。指令说明如图所示:COLRK1K500K3M1X0K2S1S2S3D1D2第一节 Modbus通讯现在学习的是第10页,共46页S1指定远端通讯局号S2指定远端线圈首地址编号S3指定线圈个数的数值D1指定本地接收线圈的首地址D2指定串口编号 其中个操作数的含义如下表: 当X0由OFF到ON变化时,将站号为1的远端设备的modbus地址为K500和K501的两个线圈状态映射到本机的M1和M2两个线圈。本通讯指令通过PLC的port2发送。第一节 Modbu

5、s通讯现在学习的是第11页,共46页B 单个线圈写COLW 单个线圈写是将本机内指定线圈状态写到指定局号中指定线圈的指令。指令说明如图所示:COLWK1K500M1X0K2D1D2S1S2操作数作用D1指定远端通讯局号D2指定远端线圈首地址编号S1指定本地发送线圈首地址编号S2指定串口编号第一节 Modbus通讯现在学习的是第12页,共46页C 多个线圈写MCLW 多个线圈写是将本机内指定的多个线圈的状态写到指定局号中指定线圈的指令。指令说明如图所示:MCLWK1K500K3M1X0K2D1S1S2D2D3操作数作用D1指定远端通讯局号D2指定远端线圈首地址编号D3指定线圈个数的数值S1指定本

6、地发送线圈首地址编号S2指定串口编号第一节 Modbus通讯现在学习的是第13页,共46页D 寄存器读REGR 寄存器读是将指定局号指定寄存器读到本机内指定寄存器的指令。指令说明如图所示:REGRK1K500K3D1X0K2S1S2S3D1D2操作数作用S1指定远端通讯局号S2指定远端寄存器首地址编号S3指定寄存器个数的数值D1指定本地接收寄存器首地址编号D2指定串口编号第一节 Modbus通讯现在学习的是第14页,共46页E 单个寄存器写REGW 单个寄存器写是将本机内指定寄存器写到指定局号指定寄存器的指令。指令说明如图所示:REGWK1K500D1X0K2D1S1S2D2操作数作用D1指定

7、远端通讯局号的数值D2指定远端寄存器首地址编号S1指定本地发送寄存器首地址编号S2指定串口编号第一节 Modbus通讯现在学习的是第15页,共46页操作数作用D1指定远端通讯局号D2指定远端寄存器首地址编号D3指定寄存器个数的数值S1指定本地发送寄存器首地址编号S2指定串口编号F 多个寄存器写MRGW 多个寄存器写是将本机内指定的多个寄存器写到指定局号指定寄存器的指令。指令说明如图所示:MRGWK1K500K3D1X0K2D1D2D3S1S2第一节 Modbus通讯现在学习的是第16页,共46页Mudbus通讯举例1 一台信捷XC系列PLC “A”控制1台XC系列PLC “B”,要求“A”PL

8、C的X0导通时,“B”PLC的Y0导通。可编程控制器的软元件modbus地址见手册!第一节 Modbus通讯现在学习的是第17页,共46页AABB第一节 Modbus通讯现在学习的是第18页,共46页Mudbus通讯举例2 一台信捷XC系列PLC “A”控制1台信捷变频器,要求可通过通讯,更改变频器的运行频率以及运行命令。变频器的软元件modbus地址及参数修改详见变频器用户手册!第一节 Modbus通讯现在学习的是第19页,共46页AABB第一节 Modbus通讯现在学习的是第20页,共46页自由格式通讯现在学习的是第21页,共46页 (2)自由格式指令 所谓自由格式,即自定义协议通讯,现在

9、市场上很多智能设备都支持RS232或者RS485通讯,而各家产品所使用的协议不尽相同,例如:信捷PLC使用标准的Modbus-RTU协议,一些温度控制器厂家使用的自定义协议;如果用信捷PLC和温度控制器通讯,读取温度控制器采集的当前温度,则需使用自由格式通讯,完全按照仪表厂家的协议来发送数据,这样即可通讯上。第二节 自由格式通讯现在学习的是第22页,共46页 自由格式通讯指令包括发送数据和接收数据两条,下面介绍这两条指令的用法。A发送数据SEND 发送数据将本机内指定的数据写到指定局号指定地址的指令。指令说明如图所示:SENDD10D100K2S1S2nM0操作数作用S1指定本地发送数据的首地

10、址编号S2指定发送字符个数的数据或软元件地址编号n指定通讯口编号其中个操作数的含义如下表:第二节 自由格式通讯现在学习的是第23页,共46页M0的一次上升沿发送一次数据,发送字符的个数由D100的值决定,时序图如图所示:开始终止数据M0M8132发送数据在数据发送过程中正在发送标志位M8132(通讯口2)置ON。第二节 自由格式通讯现在学习的是第24页,共46页操作数作用S1指定本地接收数据的首地址编号S2指定接收字符个数的数据或软元件地址编号n指定通讯口编号B 接收数据RCV接收数据是将指定局号的数据写到本机内指定地址的指令。指令说明如图所示:RCVD20D200K2S1S2nM1第二节 自

11、由格式通讯现在学习的是第25页,共46页 M0的一次上升沿接收一次数据,接收字符的个数由D200的值决定,时序图如图所示,在数据接收过程中正在接收标志位M8134(通讯口2)置ON。开始终止数据M1M8134接收数据第二节 自由格式通讯现在学习的是第26页,共46页 在举例之前,我们需要先了解一下Modbus-RTU协议,以及C功能的使用。第二节 自由格式通讯现在学习的是第27页,共46页Modbus通讯协议 Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。 Modbus协议是应用于电子控制器上的一种通用语言。通过此协议

12、,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。 有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。第二节 自由格式通讯现在学习的是第28页,共46页Modbus具有以下几个特点:(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Mod

13、bus的产品超过600种。(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。第二节 自由格式通讯现在学习的是第29页,共46页 控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Mo

14、dbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。第二节 自由格式通讯现在学习的是第30页,共46页 控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。 用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。所选的

15、ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。第二节 自由格式通讯现在学习的是第31页,共46页C语言功能现在学习的是第32页,共46页 C语言功能 梯形图一直以来都是PLC最主流的编程方式,它有着能最让人理解的方式去完成程序编写的优势,但是随着工艺要求的复杂化与多元化,传统的梯形图编程语言在很多功能上的实现需要花费很多的精力才能完成程序的编写,而大量的梯形图语言会比较大的影响到整个系统的扫描周期,导致一些无法预料的问题出现,同时在运动控制上面如果依靠梯形图语言来进行误差补偿,可能达不到比较好的效果

16、。而C语言高强度适应性的特点则可以很大程序的去解决梯形图无法解决的问题,因而信捷特别在开发了编程软件在支持梯形图的同时,最大程度的能够兼容C语言的编写。第三节 C语言功能现在学习的是第33页,共46页 C语言功能的使用方法四步操作法完成C语言的使用(演示):(1)添加C语言功能块(3)调用C语言功能块(2)编辑C语言功能块 在进行C函数调用的时候,D0,M0分别表示函数里面W0,B0的初始地址,W0表示为D0,B0表示为M0,如果调用程序时写为PAIXU D10 M10,则C程序中W0表示的值为的D10,B10标志的值为M20。第三节 C语言功能现在学习的是第34页,共46页功能:u支持几乎所

17、有的C语言函数;u在涉及到复杂的数学运算时C语言的优势更加明显;u增强了程序的保密性(无论何种方式下载,C语言部分都无法上传);u可进行多处调用和不同文件的调用,大大提高了编程人员的效率。第三节 C语言功能现在学习的是第35页,共46页自由格式通讯举例1 一台信捷XC系列PLC “A”控制1台信捷变频器,要求可通过自由格式通讯,更改变频器的运行频率以及读取设定频率。第三节 C语言功能现在学习的是第36页,共46页AABB第三节 C语言功能现在学习的是第37页,共46页第三节 C语言功能现在学习的是第38页,共46页自由格式通讯举例2字符含义:数据开始R读功能T温度CR回车,数据结束信捷PLC与

18、温控仪表通讯,而仪表使用自己的通讯协议,协议规定读取温度需发送“:” “R” “T” “CR”四个字符,各字符含义如下:第三节 C语言功能现在学习的是第39页,共46页字符对应ASCII码值:3AR52T54CR0D PLC需要将上述字符的ASCII码发送到仪表,才能读取到仪表测得的当前温度值。通过查询ASCII码表可得到各字符的ASCII码值(十六进制): 显然按照上面描述的情况,使用MODBUS指令不能通讯,这个时候就需要使用自由格式通讯。第三节 C语言功能现在学习的是第40页,共46页操作步骤: 先将硬件线路连接好。 按照温控仪表的通讯参数将PLC的串口参数设定好(注意自由通讯PLC站号

19、设置成255),参数设置好后重新上电才能生效。 按照上一页中描述的协议编写程序。读取温度需发送: “:” “R” “T” “CR” “:” - 数据开始“R” - 读功能“T” - 温度“CR” - 回车,数据结束 第三节 C语言功能现在学习的是第41页,共46页M0M0MOV H3A D0MOV H52 D1MOV H54 D2MOV H0D D3SEND D0 K4 K2RCV D10 K4 K2读取开关D0:“:”ascii码值D1:“R”ascii码值D2:“T”ascii码值D1:“CR”ascii码值D0:“:”ascii码值M8132串口2RS232正在发送标志读取开关D10:接

20、收起始寄存器【控制程序】第三节 C语言功能现在学习的是第42页,共46页BLOCK功能块现在学习的是第43页,共46页 顺序功能块,即BLOCK(以下简称BLOCK)是为了实现某些功能而存在的一段程序块。可以将BLOCK理解为一个特殊的流程,在这个特殊的流程里,所有的程序按照一个原则来执行,顺序执行原则,即上一条程序执行完成之后,才会去执行下一条程序。 这也是BLOCK与一般流程最大的不同之处。同时根据BLOCK的这个特点,可以解决对同一脉冲口发脉冲导致的双线圈问题,也可以解决不能在同一流程对同一串口发送多条通讯指令的问题。第四节 Block功能块现在学习的是第44页,共46页用户执行语段脉冲

21、通讯变频器配置Wait指令命令语列表SBLOCK 顺序功能块nSBLOCKEBLOCK运行开始BLOCK内的执行语段,所有指令按顺序执行BLOCK运行结束BLOCK开始于SBLOCK、结束于SBLOCKE,中间为编程人员书写指令区。如果同一个BLOCK中包含多个发脉冲指令(其他指令也适用),那么脉冲指令将按照触发条件成立的先后顺序依次执行;同时,先执行的脉冲指令结束后才开始下一条脉冲指令的执行。一个完整的BLOCK结构,如下图所示:第四节 Block功能块现在学习的是第45页,共46页 在一个程序文件中,至多不可以调用超过100个BLOCK程序块。BLOCK的调用方法为面板配置法,下面带大家演示BLOCK配置的具体操作。第四节 Block功能块现在学习的是第46页,共46页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁