资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Wangyang信捷信捷信捷信捷PLCPLC培训培训培训培训第课时第课时第课时第课时信以致远捷行弘毅Wy信以致远捷行弘毅第章第章 通讯通讯C语言Modbus通讯Block自由格式信以致远捷行弘毅Wy信以致远捷行弘毅触摸屏如何实现可以实时显触摸屏如何实现可以实时显示示PLC的状态?的状态?PLC与变频与变频器通讯程序改怎么编写?器通讯程序改怎么编写?信以致远捷行弘毅Wy信以致远捷行弘毅通讯概述通讯概述信以致远捷行弘毅Wy信以致远捷行弘毅通通讯口口1通通讯口口2的的232通通讯口口2的的485XC2、XC3、XC5、XCM以以及及XCC系系列列可可编程程控控制制器器都都支支持持Modbus协议、自自由由协议通通讯功能。功能。1、通讯口、通讯口信以致远捷行弘毅Wy信以致远捷行弘毅2 2、通、通讯参数参数设置置 通通过上上述述通通讯口口,我我们可可以以使使两两个个串串行行通通讯设备任任意意通通信信,但但是是在在通通讯之之前,必前,必须设置相互可以辨置相互可以辨识的参数,具体的参数,具体见表表 通通讯口口默默认参参数数:站站号号为1、波波特特率率19200bps、8个个数数据据位位、1个个停停止止位位、偶偶校校验。信以致远捷行弘毅Wy信以致远捷行弘毅XCPPro 编程程软件中集成了修改通件中集成了修改通讯口的模口的模块,如下,如下图所示:所示: 通通过软件来修改通件来修改通讯口参数,方便直口参数,方便直观,且不易出,且不易出错,修改完成后,修改完成后,重新上重新上电才能生效。才能生效。信以致远捷行弘毅Wy信以致远捷行弘毅3、通讯相关指令、通讯相关指令信捷通讯指令包括信捷通讯指令包括mudbusmudbus指令指令和和自由格式指自由格式指令令两大类。两大类。信以致远捷行弘毅Wy信以致远捷行弘毅modbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅 (1 1)modbusmodbus通通讯指令指令 Modbus指指令令,分分为线圈圈读写写、寄寄存存器器读写写,采采用用标准准的的mudbus-RTU协议。下面具体介下面具体介绍这些指令的用法。些指令的用法。 A A 线圈圈读COLRCOLR 线圈圈读是是将将指指定定局局号号中中指指定定线圈圈状状态读到到本本机机内内指指定定线圈圈中中的的指指令令。指指令令说明如明如图所示:所示:第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅 其中个操作数的含其中个操作数的含义如下表:如下表: 当当X0由由OFF到到ON变化化时,将将站站号号为1的的远端端设备的的modbus地地址址为K500和和K501的的两两个个线圈圈状状态映映射射到到本本机机的的M1和和M2两两个个线圈圈。本本通通讯指令通指令通过PLC的的port2发送。送。第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅B B 单个个线圈写圈写COLWCOLW 单个个线圈写是圈写是将本机内指定将本机内指定线圈状圈状态写到指定局号中指定写到指定局号中指定线圈的指圈的指令。指令令。指令说明如明如图所示:所示:第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅C C 多个多个线圈写圈写MCLWMCLW 多个多个线圈写是圈写是将本机内指定的多个将本机内指定的多个线圈的状圈的状态写到指定局号中写到指定局号中指定指定线圈的指令。指令圈的指令。指令说明如明如图所示:所示:第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅D D 寄存器寄存器读REGRREGR 寄存器寄存器读是是将指定局号指定寄存器将指定局号指定寄存器读到本机内指定寄存器到本机内指定寄存器的指令。指令的指令。指令说明如明如图所示:所示:第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅E 单个寄存器写个寄存器写REGW 单个寄存器写个寄存器写是将本机内指定寄存器写到指定局号指定寄存器的指令。是将本机内指定寄存器写到指定局号指定寄存器的指令。指令指令说明如明如图所示:所示:第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅F 多个寄存器写多个寄存器写MRGW 多个寄存器写是将本机内指定的多个寄存器写到指定局号指定寄存器的多个寄存器写是将本机内指定的多个寄存器写到指定局号指定寄存器的指令。指令指令。指令说明如明如图所示:所示:第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅Mudbus通讯举例通讯举例1一台信捷一台信捷XC系列系列PLC“A”控制控制1台台XC系列系列PLC“B”,要,要求求“A”PLC的的X0导通时,导通时,“B”PLC的的Y0导通。导通。可编程控制器的软元件可编程控制器的软元件modbusmodbus地址见手册!地址见手册!第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅AABB第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅Mudbus通讯举例通讯举例2一台信捷一台信捷XC系列系列PLC“A”控制控制1台信捷变频器,要求可通台信捷变频器,要求可通过通讯,更改变频器的运行频率以及运行命令。过通讯,更改变频器的运行频率以及运行命令。变频器的软元件变频器的软元件modbusmodbus地址及参数修改详见地址及参数修改详见变频器用户手册!变频器用户手册!第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅AABB第一节第一节 ModbusModbus通讯通讯信以致远捷行弘毅Wy信以致远捷行弘毅自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅(2)自由格式指令)自由格式指令所谓自由格式,即自定义协议通讯,现在市场上很多智能所谓自由格式,即自定义协议通讯,现在市场上很多智能设备都支持设备都支持RS232或者或者RS485通讯,而各家产品所使用的协议通讯,而各家产品所使用的协议不尽相同,例如:信捷不尽相同,例如:信捷PLC使用标准的使用标准的Modbus-RTU协议,一协议,一些温度控制器厂家使用的自定义协议;如果用信捷些温度控制器厂家使用的自定义协议;如果用信捷PLC和温度和温度控制器通讯,读取温度控制器采集的当前温度,则需使用自由控制器通讯,读取温度控制器采集的当前温度,则需使用自由格式通讯,完全按照仪表厂家的协议来发送数据,这样即可通格式通讯,完全按照仪表厂家的协议来发送数据,这样即可通讯上。讯上。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅 自由格式通自由格式通讯指令包括指令包括发送数据和接收数据两条,下面介送数据和接收数据两条,下面介绍这两条指两条指令的用法。令的用法。A发送数据送数据SEND 发送数据将本机内指定的数据写到指定局号指定地址的指令。指令送数据将本机内指定的数据写到指定局号指定地址的指令。指令说明如明如图所示:所示:其中个操作数的含其中个操作数的含义如下表:如下表:第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅M0的一次上升沿的一次上升沿发送一次数据,送一次数据,发送字符的个数由送字符的个数由D100的的值决定,决定,时序序图如如图所示:所示:在数据在数据发送送过程中程中正在正在发送送标志位志位M8132(通(通讯口口2)置)置ON。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅B 接收数据接收数据RCV接收数据是将指定局号的数据写到本机内指定地址的指令。指令接收数据是将指定局号的数据写到本机内指定地址的指令。指令说明如明如图所示:所示:第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅 M0的一次上升沿接收一次数据,接收字符的个数由的一次上升沿接收一次数据,接收字符的个数由D200的的值决决定,定,时序序图如如图所示,在数据接收所示,在数据接收过程中程中正在接收正在接收标志位志位M8134(通(通讯口口2)置)置ON。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅 在举例之前,我们需要先了解在举例之前,我们需要先了解一下一下Modbus-RTUModbus-RTU协议协议,以及,以及C C功能的功能的使用。使用。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅Modbus通讯协议通讯协议Modbus是由是由Modicon(现为施耐德电气公司的一个品牌)在(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线年发明的,是全球第一个真正用于工业现场的总线协议协议。Modbus协议协议是应用于是应用于电子控制器电子控制器上的一种通用语言。通过此协议,上的一种通用语言。通过此协议,控制控制器器相互之间、控制器经由网络(例如相互之间、控制器经由网络(例如以太网以太网)和其它设备之间可以通信。它已)和其它设备之间可以通信。它已经成为一通用工业标准。经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成有了它,不同厂商生产的控制设备可以连成工业网络工业网络,进行集中监控。此,进行集中监控。此协议协议定义了一个定义了一个控制器控制器能认识使用的消息结构,而不管它们是经过何种网络进能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一行通信的。它描述了一控制器控制器请求访问其它设备的过程,如何回应来自其它设请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅Modbus具有以下几个特点:具有以下几个特点:(1)标准、开放,用户可以免费、放心地使用)标准、开放,用户可以免费、放心地使用Modbus协议协议,不,不需要交纳许可证费,也不会侵犯知识产权。目前,支持需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的的厂家超过厂家超过400家,支持家,支持Modbus的产品超过的产品超过600种。种。(2)Modbus可以支持多种电气接口,如可以支持多种电气接口,如RS-232、RS-485等,还等,还可以在各种介质上传送,如双绞线、光纤、无线等。可以在各种介质上传送,如双绞线、光纤、无线等。(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。厂商开发简单。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅控制器控制器通信使用主通信使用主从技术,即仅一设备(主设备)能初始化传输从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器可编程控制器。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。作任何回应。Modbus协议协议建立了主设备查询的格式:设备(或广播)地址、建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由从设备回应消息也由Modbus协议协议构成,包括确认要行动的域、任何要构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅控制器控制器能设置为两种传输模式(能设置为两种传输模式(ASCII或或RTU)中的任何一种在标准)中的任何一种在标准的的Modbus网络通信。网络通信。用户选择想要的模式,包括用户选择想要的模式,包括串口通信串口通信参数(参数(波特率波特率、校验方式等),、校验方式等),在配置每个在配置每个控制器控制器的时候,在一个的时候,在一个Modbus网络上的所有设备都必须选择相网络上的所有设备都必须选择相同的传输模式和串口参数。同的传输模式和串口参数。所选的所选的ASCII或或RTU方式仅适用于标准的方式仅适用于标准的Modbus网络,它定义了在这些网网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。何解码。第二节第二节 自由格式通讯自由格式通讯信以致远捷行弘毅Wy信以致远捷行弘毅C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅C语言功能语言功能梯形图一直以来都是梯形图一直以来都是PLC最主流的编程方式,它有着能最让最主流的编程方式,它有着能最让人理解的方式去完成程序编写的优势,但是随着工艺要求的复杂化人理解的方式去完成程序编写的优势,但是随着工艺要求的复杂化与多元化,传统的梯形图编程语言在很多功能上的实现需要花费很与多元化,传统的梯形图编程语言在很多功能上的实现需要花费很多的精力才能完成程序的编写,而大量的梯形图语言会比较大的影多的精力才能完成程序的编写,而大量的梯形图语言会比较大的影响到整个系统的扫描周期,导致一些无法预料的问题出现,同时在响到整个系统的扫描周期,导致一些无法预料的问题出现,同时在运动控制上面如果依靠梯形图语言来进行误差补偿,可能达不到比运动控制上面如果依靠梯形图语言来进行误差补偿,可能达不到比较好的效果。而较好的效果。而C语言高强度适应性的特点则可以很大程序的去解语言高强度适应性的特点则可以很大程序的去解决梯形图无法解决的问题,因而信捷特别在开发了编程软件在支持决梯形图无法解决的问题,因而信捷特别在开发了编程软件在支持梯形图的同时,最大程度的能够兼容梯形图的同时,最大程度的能够兼容C语言的编写。语言的编写。第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅 C语言功能的使用方法言功能的使用方法四步操作法完成四步操作法完成C语言的使用语言的使用(演示)(演示):(1)添加)添加C语言功能块语言功能块(3 3)调用)调用C C语言功能块语言功能块(2 2)编辑)编辑C C语言功能块语言功能块在进行在进行C函数调用的时候,函数调用的时候,D0,M0分别表示函数里面分别表示函数里面W0,B0的初始地的初始地址,址,W0表示为表示为D0,B0表示为表示为M0,如果调用程序时写为,如果调用程序时写为PAIXUD10M10,则则C程序中程序中W0表示的值为的表示的值为的D10,B10标志的值为标志的值为M20。第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅功能:功能:u支持几乎所有的支持几乎所有的C语言函数;语言函数;u在涉及到复杂的数学运算时在涉及到复杂的数学运算时C语言的优势更加明显;语言的优势更加明显;u增强了程序的保密性增强了程序的保密性(无论何种方式下载,无论何种方式下载,C语言部分都无法语言部分都无法上传上传);u可进行多处调用和不同文件的调用,大大提高了编程人员的可进行多处调用和不同文件的调用,大大提高了编程人员的效率。效率。第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅自由格式通讯举例自由格式通讯举例1一台信捷一台信捷XC系列系列PLC“A”控制控制1台信捷变频器,要求可通台信捷变频器,要求可通过自由格式通讯,更改变频器的运行频率以及读取设定频率。过自由格式通讯,更改变频器的运行频率以及读取设定频率。第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅AABB第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅自由格式通讯举例自由格式通讯举例2信信捷捷PLC与与温温控控仪表表通通讯,而而仪表表使使用用自自己己的的通通讯协议,协议规定定读取温度需取温度需发送送“:” “R” “T” “CR”四个字符,各字符含四个字符,各字符含义如下:如下:第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅 PLC需需要要将将上上述述字字符符的的ASCII码发送送到到仪表表,才才能能读取取到到仪表表测得得的的当当前温度前温度值。通。通过查询ASCII码表可得到各字符的表可得到各字符的ASCII码值(十六(十六进制):制):显然按照上面描述的情况,使用显然按照上面描述的情况,使用MODBUS指令不能通讯,这个时候就需指令不能通讯,这个时候就需要使用自由格式通讯。要使用自由格式通讯。第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅操作步骤:操作步骤:先将硬件线路连接好。先将硬件线路连接好。按照温控仪表的通讯参数将按照温控仪表的通讯参数将PLC的串口参数设定好的串口参数设定好(注意自由通讯(注意自由通讯PLC站号设置成站号设置成255),参数设置好),参数设置好后重新上电才能生效。后重新上电才能生效。按照上一页中描述的协议编写程序。按照上一页中描述的协议编写程序。读取温度需发送:读取温度需发送:“:”“R”“T”“CR”“:”-数据开始数据开始“R”-读功能读功能“T”-温度温度“CR”-回车,数据结束回车,数据结束第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅【控制程序控制程序】第三节第三节 C C语言功能语言功能信以致远捷行弘毅Wy信以致远捷行弘毅BLOCK功能块功能块信以致远捷行弘毅Wy信以致远捷行弘毅顺序功能块,即顺序功能块,即BLOCK(以下简称(以下简称BLOCK)是为了实现某)是为了实现某些功能而存在的一段程序块。可以将些功能而存在的一段程序块。可以将BLOCK理解为一个特殊的流理解为一个特殊的流程,在这个特殊的流程里,所有的程序按照一个原则来执行,顺序程,在这个特殊的流程里,所有的程序按照一个原则来执行,顺序执行原则,即上一条程序执行完成之后,才会去执行下一条程序。执行原则,即上一条程序执行完成之后,才会去执行下一条程序。这也是这也是BLOCK与一般流程最大的不同之处。同时根据与一般流程最大的不同之处。同时根据BLOCK的这个特点,可以解决对同一脉冲口发脉冲导致的双线圈的这个特点,可以解决对同一脉冲口发脉冲导致的双线圈问题,也可以解决不能在同一流程对同一串口发送多条通讯指令问题,也可以解决不能在同一流程对同一串口发送多条通讯指令的问题。的问题。第四节第四节 BlockBlock功能块功能块信以致远捷行弘毅Wy信以致远捷行弘毅用用户执行行语段段脉冲脉冲通通讯变频器配置器配置Wait指令指令命令命令语列表列表SBLOCK 顺序功能序功能块nSBLOCKEBLOCK运行开始运行开始BLOCK内的内的执行行语段,段,所有指令按所有指令按顺序序执行行BLOCK运行运行结束束BLOCK开始于开始于SBLOCK、结束于束于SBLOCKE,中,中间为编程人程人员书写指令区。如果写指令区。如果同一个同一个BLOCK中包含多个中包含多个发脉冲指令(其他指令也适用),那么脉冲指令将按照脉冲指令(其他指令也适用),那么脉冲指令将按照触触发条件成立的先后条件成立的先后顺序依次序依次执行;同行;同时,先,先执行的脉冲指令行的脉冲指令结束后才开始下束后才开始下一条脉冲指令的一条脉冲指令的执行。行。一个完整的一个完整的BLOCK结构,如下构,如下图所示:所示:第四节第四节 BlockBlock功能块功能块信以致远捷行弘毅Wy信以致远捷行弘毅在一个程序文件中,至多不可以调用超过在一个程序文件中,至多不可以调用超过100个个BLOCK程序块。程序块。BLOCK的调用方法为面板配置法,下面带大家演示的调用方法为面板配置法,下面带大家演示BLOCK配置的配置的具体操作。具体操作。第四节第四节 BlockBlock功能块功能块信以致远捷行弘毅Wy信以致远捷行弘毅思考练习题思考练习题信以致远捷行弘毅Wy信以致远捷行弘毅前面的几个例子请用前面的几个例子请用BLOCK功能块的方法重新完成功能块的方法重新完成思考与练习思考与练习Wangyang
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号