labview与PLC之间的Modbus通信
怎样用LabVIEW和OMRON PLC通讯
怎样用LabVIEW和OMRON CP1H PLC通讯Labview和omron plc通讯有两种方法,第一就是用普通的RS232通讯,第二就是用DSC里面的OPC SERVERS的驱动来定义变量通讯。
首先介绍RS 232通讯方法,第一,串口初始化如下图此串口初始化函数定义一定要和OMRON PLC的232参数一致,不然下面所做的程序绝对和PLC通讯不上。
波特率(每秒位数):115200数据位:7奇偶校验:EVEN停止位:1流控制:无超时:2000其它参数均选择默认设置。
上面所做的设定是所有串口通讯协议必须定义的,只是参数配置不同而已,一定要注意参数要外部元件对应起来。
第二步,是布尔至数组转换OMRON的PLC写入IO位的命令格式是@ 00 WR 4000 0000 0000 FCS * 回车@ 00 WD 4000 0000 0000 57 *不过具体想往PLC里面写入什么命令,要参考相应的命令格式。
可以到PLC 公司查询帧格式命令。
上图中的程序只是反映了字符@ 00 WR 4000 0000 0000 ,剩余FCS * 回车字符在下一个写入串口函数时反映,不过也可以在上面程序里写入,看个人爱好。
流入下一步上图中的布尔1 ,布尔2,和布尔3,就是按钮,也就是反映在PLC中的位,上面的图中我们所做的程序只是向PLC写入一个通道的位状态,比如2000通道的,2000.00 ,2000.01 ,2000.02可以往后增加到16位。
上图中的创建数组函数是把所有布尔组合起来反映一个?数,既布尔1为真的时候就是1,布尔2为真的时候就是2,布尔3为真的时候就是4,那个布尔为真就把所有的布尔值相加所得到的值就是创建数组函数的值,等把布尔函数和数组函数关系建立起来之后,下一步就是建立数组函数和布尔数组至数值函数的关系,在下一步就是建立布尔数组至数值函数和数值至十六进制字符串转换函数的关系建立.上面所解释的内容,只是OMRON的PLC写入IO位的命令格式中的写入数据中的内容,即其他内容可以直接通连接字符函数建立输入常量或者建立常量来直接定义,比如:@ ,00,WR 等都是直接填入即可。
LabVIEW DSC 与 Modbus通讯
(1) Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
在NI的产品中,Modbus主要用于实现PLC的通信。
LabVIEW和PLC通信最简单的方式有两种:Modbus 或者NI OPC Server. 前者需要PLC安装Modbus模块;后者需要对特定PLC设备支持才能保证正常连接,/devzone/cda/tut/p/id/10857网址为OPC Server支持的设备列表。
在实现方面,Modbus实现方式的物理接口有以太网与串口两种,在LabVIEW编程中也得到了体现。
(2) 需要安装LabVIEW Datalogging and Supervisory Control Module,NI官方网站上现在只能搜索到DSC-2011以及DSC-8.6 Module的下载,客户可以点击下载后,将下载地址最后改为2010即可下载2010版本。
(3) Modbus地址为包含数据类型和偏移量的6个字符的数值。
左边两个字符决定数据类型,右边四个字符是该数据类型中的序号。
客户所描述的40001~4xxxx是美国modicon公司和ge公司plc使用的Modbus地址,它是基于1的地址,即同类元件的首地址为1。
西门子plc的Modbus地址是基于0的地址。
美国的Modbus地址左起第2位用来表示元件的类型,例如i0.0的Modbus地址为010001。
因为数据类型已经包含在功能码中了,西门子的i0.0的Modbus地址实际上为000000,i2.0的Modbus地址为000016(或十六进制数16#0010),而不是010017。
某些时候,Modbus地址的后4位被标记为偏置。
这时,可能在第一位和第二位之间添0致使5位地址变为6位。
比如,如果您的用户手册上建议您使用地址40001和某个寄存器通信,你可以在LabVIEW DSC或者在Modbus I/O 服务器上使用400001来与之通信。
LabVIEW使用MODBUS TCP与西门子Smart PLC通信
LabVIEW使用MODBUS TCP与西门子Smart PLC通信1.所需软件①STEP7-Micro/WIN SMART从V2.4② LabVIEW③ NI MODBUS模块2.软件安装STEP7-Micro/WIN SMART从V2.4版本开始,软件直接集成了MODBUS TCP通信的库指令,不用再购买MODBUS TCP通信的库指令。
在西门子官方网站上下载STEP7-Micro/WIN SMART V2.4安装,安装完成后可在库指令中找到MODBUS TCP 通信库子令,如图1所示。
此外,还需安装LabVIEW和NI MODBUS模块,在百度上搜索LabVIEW,选择想要使用的版本下载并安装。
NI MODBUS模块是免费的可以直接使用 VI Package安装。
图1 MODBUS TCP库指令位置3.服务器指令编程LabVIEW与西门子Smart 200 PLC MODBUS TCP通信时,将Smart 200 PL作为服务器,服务器端编程如下:①系统块中设置服务器的IP地址,以确保IP地址设置无误,设置方法如图2所示。
图2 系统块设置IP地址②填写服务器指令参数,如图3所示。
图3 填写服务器参数4.客服端指令编程LabVIEW与西门子Smart 200 PLC MODBUS TCP通信时,LabVIEW作为客服端,客服端指令编程,主要实现以下读写线圈,读写寄存器等编程任务。
⑴客户端相关函数介绍读写线圈需要用到LabVIEW MODBUS 库中的一些函数,在MOBUS库中有MODBUS Master库和MODBUS Slave库, MODBUS Master是专门用于客服端编程的库,MODBUS Slave是用于服务器端编程的库。
①创建主设备实例函数创建主设备实列函数如图4所示,该函数用来创建串口或者TCP主设备实列,必须手动选择所需的动态实例,这里我们选择新建TCP主设备。
在这个函数中我们需要设置服务器的IP地址,客服端的端口号,默认的端口号是502。
LabVIEW使用MODBUS TCP与西门子Smart PLC通信
LabVIEW使用MODBUS TCP与西门子Smart PLC通信1.所需软件①STEP7-Micro/WIN SMART从V2.4② LabVIEW③ NI MODBUS模块2.软件安装STEP7-Micro/WIN SMART从V2.4版本开始,软件直接集成了MODBUS TCP通信的库指令,不用再购买MODBUS TCP通信的库指令。
在西门子官方网站上下载STEP7-Micro/WIN SMART V2.4安装,安装完成后可在库指令中找到MODBUS TCP 通信库子令,如图1所示。
此外,还需安装LabVIEW和NI MODBUS模块,在百度上搜索LabVIEW,选择想要使用的版本下载并安装。
NI MODBUS模块是免费的可以直接使用 VI Package安装。
图1 MODBUS TCP库指令位置3.服务器指令编程LabVIEW与西门子Smart 200 PLC MODBUS TCP通信时,将Smart 200 PL作为服务器,服务器端编程如下:①系统块中设置服务器的IP地址,以确保IP地址设置无误,设置方法如图2所示。
图2 系统块设置IP地址②填写服务器指令参数,如图3所示。
图3 填写服务器参数4.客服端指令编程LabVIEW与西门子Smart 200 PLC MODBUS TCP通信时,LabVIEW作为客服端,客服端指令编程,主要实现以下读写线圈,读写寄存器等编程任务。
⑴客户端相关函数介绍读写线圈需要用到LabVIEW MODBUS 库中的一些函数,在MOBUS库中有MODBUS Master库和MODBUS Slave库, MODBUS Master是专门用于客服端编程的库,MODBUS Slave是用于服务器端编程的库。
①创建主设备实例函数创建主设备实列函数如图4所示,该函数用来创建串口或者TCP主设备实列,必须手动选择所需的动态实例,这里我们选择新建TCP主设备。
在这个函数中我们需要设置服务器的IP地址,客服端的端口号,默认的端口号是502。
labview与PLC之间的Modbus通信
labview与PLC之间的Modbus通信
labview软件
labview是一种功能强大的编程环境,其独特的图形编程方式和各种专业的控件和工具使其非常适合工程测控领域。
安装数据记录与监测(DSC)模块后,可以实现类似于组态软件但功能远比组态软件强大。
安装数据记录与监测(DSC)模块后可以非常方便的实现Modbus通信功能。
Modbus是工业上应用的通用协议,应用非常广泛,几乎所有品牌的PLC都支持Modbus通信功能。
下面我们看看如何实现labview的Modbus通信功能.
首先在labview创建一个空白项目,
创建labview项目
再在项目中新建一个I/O Server
选择Modbus
然后设置Modbus的参数
完成后可以在项目窗口看到新建的Modbus服务器
右击,创建约束变量。
以台达的PLC为例,比如我们需要连接D0的数据,台达的D0寄存器的Modbus地址是404097,我们就添加404097这个地址,
然后我们在编程界面中拖入这个新建的变量
就可以直接远程读写这个PLC中的寄存器。
是不是非常简单实用?。
基于LabVIEW和ModBus TCP的一种PLC通讯方法
专题与综述Topics and reviews0 引言在开发产品的自动测试机时,如果没有特殊要求,PLC 是个非常优秀的选择。
相比于电路板较长的开发时间以及较高的开发难度,PLC功能全面,设计维护方便,可靠性高,抗干扰能力强,占据了相当的优势。
为了从PLC中读取数据和控制PLC的输出,则需要上位机与PLC进行通讯,对相应的寄存器进行操作。
常用的PLC通讯接口有RS-232,RS-422/485和以太网。
本文将以S7-200 SMART系列PLC为例,设计一个适用于测试机的ModBus TCP通讯程序[1]。
1 以太网通讯协议设计一个完整的通讯网络包括硬件和软件。
对于S7-200 SMART PLC,其自带一个以太网口,可以很方便的插上网线进行通讯。
并且,由于该型号PLC有内置ModBus TCP协议,这就使得硬件和软件都不需要额外的工作,可以直接使用基于LabVIEW和ModBus TCP的一种PLC通讯方法杨晨宇(上海交通大学电子信息与电气工程学院,上海 200030)摘要:文章中介绍了使用LabVIEW和PLC通过以太网进行数据交互的一种应用方法及程序的实现。
此方法是基于ModBus TCP协议的,对于几乎所有支持ModBus TCP的设备,都可以使用文中的方法进行数据交互,且可使用字符串直接进行操作,简单方便。
试验运行结果表明,该方法运行稳定,程序易于编写,满足设计要求。
关键字:LabVIEW;PLC;ModBus TCP中图分类号:TB69 文献标识码:A文章编号:2095-6487(2019)12-0122-02除从电源线进入系统或芯片的干扰信号以及该印刷板或芯片产生的干扰信号。
2.1.4 地线抗干扰的措施与单片机控制系统关联的地线具有一定的阻抗,各种电路的电源受到地线阻抗的影响,导致电压降现象,形成地线干扰。
然而,消除地线干扰的最佳方法是将各电路的地线接地。
2.1.5 复位电路的抗干扰分析单片机复位端口的干扰因素主要为电源或按钮传输线串入的噪声,该干扰因素可能导致整个控制系统的功能复位,甚至破坏单片机内CPU程序状态字的某些位的状态。
基于Modbus协议的PLC与LabVIEW的通讯实现
其它域可以使用的传输字符是十六进制的 0… 9, A…F。网络上的设备不断侦测": "字符, 当有一个 冒号接收到时, 每个设备都解码下个域( 地址域) 来 判断是否发给自己。
64
中国测试技术
2008 年 5 月
设其他串口, 端口号依此类推。波特率设为 9 600 b/s, 数据位为 7 位, 停止位设定为 1 位, 奇偶校验设定为 偶 校 验[9]。
( 2) 帧校验采用 LRC( 纵向冗余错误校验) 。LRC 错误校验用于 ASCII 模式。这个错误校验是一个 8 位二进制数, 可作为 2 个 ASCII 十六进制字节传送。 把十六进制字符转换成二进制, 加上无循环进位的 二进制字符和二进制补码结果生成 LRC 错误校验。 这个 LRC 在接收设备进行校验, 并与被传送的 LRC 进行比较, 冒号( : ) 、回车符号( CR) 、换行字符( LF) 和置入的其他任何非 ASCII 十六进制字符在运算时 忽 略 不 计[10]。
中图分类号: TP311.52; TN915.04
文献标识码: A
文章编号: 1672- 4984( 2008) 03- 0062- 03
Communication between PLC and LabVIEW based on Modbus pr otocol
WAN Peng, ZHAO Shi- ping, XU Hong- xuan ( School of Manufacturing Science and Engineering, Sichuan University, Chengdu 610065, China)
labview与汇川plc网口通讯
labview与汇川plc网口通讯在自动化控制系统中,PLC(Programmable Logic Controller)扮演着重要的角色。
而LabVIEW则是一种流行的图形化编程语言,可以与PLC进行通讯,实现更加灵活和强大的控制功能。
一、LabVIEW简介LabVIEW,即Laboratory Virtual Instrument Engineering Workbench,是由美国国家仪器公司(National Instruments)开发的一种图形化编程语言。
它采用图形化界面,在开发过程中可以直观地操作和配置程序。
LabVIEW通过将函数模块拖拽到代码区域,然后通过连接线将模块连接起来,来表示程序的流程和数据传递。
这种图形化的设计方式非常适合工程师和科学家,它简化了编程的过程,使得初学者也能快速上手。
二、汇川PLC网口通讯原理汇川PLC是一种常见的工业控制设备,通常用于自动化控制系统中。
PLC可以通过不同的通讯方式与外部设备进行数据交换,其中网口通讯是一种常见且高效的方式。
通过网口通讯,PLC可以与上位机进行连接,实现远程监控和数据交互。
通常,在LabVIEW中与汇川PLC进行网口通讯,需要使用NI-VISA(National Instruments-Virtual Instrument Software Architecture)库函数来实现。
NI-VISA是一种通用的I/O接口控制和交互软件,可以实现与各种设备的通讯。
通过NI-VISA提供的函数,LabVIEW可以发送和接收数据,与PLC进行交互。
三、LabVIEW与汇川PLC网口通讯的应用案例为了更好地理解LabVIEW与汇川PLC网口通讯的应用,我们可以以一个实际案例来说明。
假设我们需要实现一个温度控制系统,通过LabVIEW与汇川PLC进行通讯,控制温度在一定范围内波动。
首先,我们可以通过LabVIEW来设计一个图形化界面,用于设置目标温度和控制参数。
LABVIEW的MODBUS通讯协议的使用方法
MODBUS-RTU通讯协议简介在本章主要讲述如何利用软件通过通讯口来操控该系列仪表。
本章内容的掌握需要您具有MODBUS协议的知识储备并且通读了本册其它章节所有内容,对本产品功能和应用概念有较全面了解。
本章内容包括:MODBUS协议简述,通讯应用格式详解,本机的应用细节及参量地址表。
MODBUS 通讯协议实际应用案例简介 PLC伺服驱动器使用RS-232/485 串联通讯接口时,每一台伺服驱动器必须预先在参数『0300』上设定其伺服驱动器局号,电脑便根据局号对个别的伺服驱动器实施控制。
通讯的方法是使用MODBUSnetworks 通讯,其中MODBUS 可使用下列两种模式:ASCII(American Standard Code forinformation interchange)模式或RTU(Remote Terminal Unit)模式。
使用者可于参数『0302』上设定所需的通讯协议。
以下说明MODBUS 通讯。
编码意义ASCII 模式:每个8-bits 数据由两个ASCII 字节所组成。
例如:一个1-byte 数据64H(十六进位表示法),以ASCII”64”表示,包含了’6’的ASCII 码(36H)及’4’的ASCII 码(34H)。
数字0 至9 与字母A 至F 的ASCII 码,如下表图示:字节符号‘0’ ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’对应ASCII 码30H 31H 32H 33H 34H 35H 36H 37H字节符号‘8’ ‘9’ ‘A’ ‘B’ ‘C’ ‘D’ ‘E’ ‘F’对应ASCII 码38H 39H 41H 42H 43H 44H 45H 46HRTU 模式:每个8-bits 数据由两个4-bits 的十六进位字节所组成。
例如:1-byte 数据64H。
字节结构10 bits 字节框(用于7-bits 字节)7N2Startbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frameStopbit7E1EvenparityStartbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frame7O1OddparityStartbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frame第八章通讯功能Revision Apr, 2011 8-911 bits 字节框(用于8-bits 字节)8N2Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frameStop7 bit8E1Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frame7 Evenparity8O1Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frame7 Oddparity通讯数据结构通讯数据格式框:ASCII 模式:STX 起始字节’:’(3AH)ADR 通讯地址:1-byte 包含了2 个ASCII 码CMD 指令码:1-byte 包含了2 个ASCII 码DATA(n-1)…….DATA(0)数据内容:n-word =2n-byte 包含了4n 个ASCII 码,n<=12LRC 指令码:1-byte 包含了2 个ASCII 码End 1 结束码1:(0DH)(CR)End 0 结束码0:(0AH)(LF)RTU 模式:STX 超过10ms 的静止时段ADR 通讯地址:1-byteCMD 指令码:1-byteDATA(n-1)…….DATA(0)数据内容:n-word =2n-byte,n<=12CRC 指令码:1-byteEnd 1 超过10ms 的静止时段第八章通讯功能8-10 Revision Apr, 2011通讯数据格式框内各项细目说明于下:STX(通讯起始)ASCII 模式:’:’字节。
LabVIEW模块之Modbus介绍
LabVIEW模块之Modbus介绍Modbus简介Modbus通常用于设备之间的监控和数据采集(SCADA)式网络通信。
例如,大型服务器可用于控制可编程逻辑控制器(PLC)或可编程自动化控制器(PAC),而PLC / PAC可依次掌握传感器,阀门,电动机或任何其他嵌入式设备。
为了满足这些需求,Modbus被设计为一种请求- 响应协议,具有灵活的数据和功能模型功能,这是它至今仍在使用的部分原因。
请求 - 响应周期Modbus协议遵循主从架构,其中主设备向从设备发送请求并等待响应。
该架构使主设备可以完全控制信息流,这对旧的多点串行网络有益。
即使在现代TCP / IP网络上,它也能让主设备对从机行为进行高度控制,这在某些设计中很有用。
图 1. Modbus设备的主从,请求 - 响应关系在Modbus中,此请求是一组分层数据。
第一层是应用程序数据单元(ADU),这是大多数人认为使用的Modbus的“类型”。
有三个ADU:ASCII,远程终端单元(RTU)和TCP / IP。
TCP是一种现代格式,允许在软件中有效处理Modbus请求和响应,以及通过为每个请求使用专用连接和标识符来实现更高效的网络连接。
RTU和ASCII是较旧的串行ADU格式,两者之间的主要区别在于RTU使用紧凑的二进制表示,而ASCII将所有请求作为ASCII字符流发送。
对于大多数应用,首选ADU取决于所需的物理网络(以太网,串行或其他),网络上的设备数量以及网络上主设备和从设备支持的ADU。
从使用Modbus的应用程序的角度来看,数据应该简单地暴露,就好像ADU不存在一样。
在每个ADU中,有一个协议数据单元(PDU),它是Modbus 协议的核心。
每个PDU包含功能代码和相关数据。
每个功能代码都有一个明确定义的响应,您可以将此功能代码视为发送给从站的命令。
在某些情况下,可能会发生错误。
Modbus为异常定义了一个特定的PDU,让主人知道发生了什么。
基于Modbus TCP的LabVIEW与施耐德TWIDO PLC通信教程
基于Modbus TCP的LabVIEW与施耐德TwidoPLC通信教程目录第一章项目所需硬件条件...................................................... - 1 - 第二章项目所需软件条件...................................................... - 2 - 第三章 PLC的编程与程序下载................................................. - 3 -1 打开 Twido Soft V3.5 .................................................. - 3 -2 新建PLC项目程序...................................................... -3 -3 程序下载到PLC......................................................... - 7 - 第四章 OPC中变量的建立..................................................... - 9 -1 添加通道.............................................................. - 9 -2 添加设备............................................................. - 11 -3 PLC添加寄存器........................................................ - 13 - 第五章 LabVIEW的画面组态................................................. - 15 -1 创建LabVIEW项目..................................................... - 15 -2 创建I/O Server....................................................... - 15 -3 创建约束变量......................................................... - 17 -4 创建VI............................................................... - 19 -5 运行VI............................................................... - 22 - 第六章总结与说明........................................................... - 24 -1 关于Twido PLC寄存器地址............................................. - 24 -2 关于共享变量去掉【使用缓冲】......................................... - 24 -第一章项目所需硬件条件要完成本项目需要如下硬件:①施耐德Twido系列PLC一台,型号:TWDLCAE40DRF ;②电脑一台;③网线一根;④导线、螺丝刀等工具。
labview与PLC之间的OPC通信
labview与PLC之间的OPC通信上次说了labview与PLC之间的Modbus通信。
除了Modbus 我们还可以使用OPC来实现labview和PLC的通信,OPC(OLE for Process Control)直译就是过程控制用的OLE,我们把它理解成软件之间互相通信的一个技术。
OPC提供的是类似于桥梁的作用,一头是用户软件,一头是控制的设备。
它包含两部分,服务器和客户端,服务器负责提供数据,比如PLC厂商开发的针对自己的PLC产品的OPC服务器,还有一些第三方的OPC比如KEPServer。
服务器安装了相应的驱动可以读写PLC 的数据。
而客户端负责从服务器取出数据提供给用户软件。
labview安装数据记录与监测(DSC)模块后就自带了客户端,而且还提供了一个服务器打开后这个软件不知道为什么和KEPServer非常像。
不管他,我们只管用就是了。
以三菱PLC为例,比如我想访问输出点Y0,首先我们创建一个通道(channel)选择三菱的FX PLC然后弹出设置通信参数对话框完成后又要在通道下创建一个设备,和创建通道类似,一路下一步设置参数。
完成后又要在设备里创建标签。
创建完成后就完成里服务器端端设置。
然后我们需要到labveiw里面设置客户端,依照上次创建Modbus服务器的方法创建一个OPC Client然后创建约束变量,找到刚刚创建的那个标签就可以了。
使用的时候和Modbus类似,直接拖到编程界面就可以了。
这个OPC服务器支持的PLC有几十种包括AB,三菱,西门子,欧姆龙等等。
但是上次有个朋友回复说西门子的用这个方法会很卡,我也没验证过,哪位朋友验证下告知下结果。
我连接三菱的PLC速度还是可以的。
LabVIEW环境下采用NI OPC与TM218 PLC进行Modbus RTU通讯
《工业控制计算机》2017年第30卷第11期LabVIEW 环境下采用NI OPC 与TM218PLC进行Modbus RTU 通讯张建(昆山艾迅自动化技术有限公司,江苏昆山215330)摘要:介绍了LabVIEW 与施耐德TM218PLC 通过RS485进行Modbus RTU 通讯的方法和要点,介绍了NI OPC 的配置和Modbus 编址方法。
关键词:LabVIEW ,OPC ,Modbus RTU ,编址,通讯Abstract 押This paper introduces the method and key points of LabVIEW and Schneider TM218PLC communication via RS485for ModBUS RTU熏and introduces the configuration of NI OPC and Modbus addressing method.Keywords 押LabVIEW熏OPC Server熏Modbus RTU熏addressing熏communication本文介绍如何在LabVIEW 平台上通过Modbus 协议与PLC 通讯。
1搭建运行环境1)操作系统,微软Windows10或Windows7,32位或64位均可。
2)LabVIEW 的安装。
使用的是LabVIEW 2014X86中文版,其它版本也可以,需要说明的是,如果操作系统是32位的,LabVIEW 必须安装32位版本;操作系统是64位的,则Lab⁃VIEW 可以安装32位或64位的。
3)LabVIEW DSC 的安装。
LabVIEW DSC (Datalogging and Supervisory Control Module 数据记录和监控模块)是开发HMI /SCADA 或多通道数据记录应用程序的理想附加工具。
借助LabVIEW DSC ,用户可以利用少则几十个,多则几万个标签交互地开发分布式监测和控制系统。
LABVIEW的MODBUS通讯协议的使用方法
MODBUS-RTU通讯协议简介在本章主要讲述如何利用软件通过通讯口来操控该系列仪表。
本章内容的掌握需要您具有MODBUS协议的知识储备并且通读了本册其它章节所有内容,对本产品功能和应用概念有较全面了解。
本章内容包括:MODBUS协议简述,通讯应用格式详解,本机的应用细节及参量地址表。
MODBUS 通讯协议实际应用案例简介 PLC伺服驱动器使用RS-232/485 串联通讯接口时,每一台伺服驱动器必须预先在参数『0300』上设定其伺服驱动器局号,电脑便根据局号对个别的伺服驱动器实施控制。
通讯的方法是使用MODBUSnetworks 通讯,其中MODBUS 可使用下列两种模式:ASCII(American Standard Code forinformation interchange)模式或RTU(Remote Terminal Unit)模式。
使用者可于参数『0302』上设定所需的通讯协议。
以下说明MODBUS 通讯。
编码意义ASCII 模式:每个8-bits 数据由两个ASCII 字节所组成。
例如:一个1-byte 数据64H(十六进位表示法),以ASCII”64”表示,包含了’6’的ASCII 码(36H)及’4’的ASCII 码(34H)。
数字0 至9 与字母A 至F 的ASCII 码,如下表图示:字节符号‘0’ ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’对应ASCII 码30H 31H 32H 33H 34H 35H 36H 37H字节符号‘8’ ‘9’ ‘A’ ‘B’ ‘C’ ‘D’ ‘E’ ‘F’对应ASCII 码38H 39H 41H 42H 43H 44H 45H 46HRTU 模式:每个8-bits 数据由两个4-bits 的十六进位字节所组成。
例如:1-byte 数据64H。
字节结构10 bits 字节框(用于7-bits 字节)7N2Startbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frameStopbit7E1EvenparityStartbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frame7O1OddparityStartbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frame第八章通讯功能Revision Apr, 2011 8-911 bits 字节框(用于8-bits 字节)8N2Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frameStop7 bit8E1Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frame7 Evenparity8O1Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frame7 Oddparity通讯数据结构通讯数据格式框:ASCII 模式:STX 起始字节’:’(3AH)ADR 通讯地址:1-byte 包含了2 个ASCII 码CMD 指令码:1-byte 包含了2 个ASCII 码DATA(n-1)…….DATA(0)数据内容:n-word =2n-byte 包含了4n 个ASCII 码,n<=12LRC 指令码:1-byte 包含了2 个ASCII 码End 1 结束码1:(0DH)(CR)End 0 结束码0:(0AH)(LF)RTU 模式:STX 超过10ms 的静止时段ADR 通讯地址:1-byteCMD 指令码:1-byteDATA(n-1)…….DATA(0)数据内容:n-word =2n-byte,n<=12CRC 指令码:1-byteEnd 1 超过10ms 的静止时段第八章通讯功能8-10 Revision Apr, 2011通讯数据格式框内各项细目说明于下:STX(通讯起始)ASCII 模式:’:’字节。
基于Modbus RTU实现的LabVIEW与S7-200系列PLC的串口通信
I T 技术科技创新导报 Science and Technology Innovation Herald42L a bV IE W是美国国家仪器有限公司提供的一套软件开发平台,广泛应用于数据采集、监控、自动化测试测量领域[1]。
西门子S7-200系列PL C 具有紧凑的设计、丰富的扩展能力、极高的可靠性、便捷的操作性和强大的指令系统,广泛的应用于各种工业领域中。
M o d b u s 是一种串行通信协议,它已经成为工业领域的通信协议标准,并且是现在工业电子设备之间常用的连接方式。
M o d b u s 传输协议定义了控制器可以识别和使用的信息结构,而无须考虑通信网络的拓扑结构[2]。
M o d b u s 具有两种串行传输模式:A S CII和R T U。
它们定义了数据如何打包、解码的不同方式。
本文阐述的主要内容是以M o d b u s R T U 为基础实现的L a b V I E W 与S7-200系列PLC之间的串口数据通信。
1 系统架构该文以某企业数据采集与监控系统项目为背景。
该项目中,上位机为工控机运行L a bV IE W 软件,完成各个分系统的数据汇总和人机界面等功能;下位机PLC作为客户端,负责向上位机提供采集的数据,同时接收上位机控制指令。
S 7-200P L C 的通信口是R S -485串行接口,工控机是R S -232串行接口,之间通过RS485/RS232转换模块连接。
2 软件实现本方案,P L C 作为M o d b u s R T U 的从站,通过自由口通信模式实现。
2.1 配置RTU从站M o d b u s R T U从站功能是通过指令库中预先编好的程序功能实现的。
从站指令库只支持CPU上的通信端口0(Port0)。
从站指令库包括初始化程序M B U S _I N I T 和响应主站请求子程序M B U S _SLAVE。
M B U S _I N I T 子程序可以用S M 0.1调用,本方案配置如图1所示,M o d e 置1,A d d r取2,B a u d 设为9600,P a r it y置2,D e l a y 取默认值0,M a x I Q 取默认值128,M a x A I 为32,M a x H o l d 为1000, HoldSta rt设为“&VB0”,使用库存储器命令为M o d b u s从站协议指令所要求的V 存储器分配一个起始地址。
LabVIEW下与MODBUS-RTU设备通讯
目录。
一、要求1 Windows XP/20002 LabVIEW DSC3 NI OPC服务器使用NI OPC服务器查看现有的PLC标签1.选择开始》程序》National Instruments》NI OPCServers》NI OPCServers。
2.File—New2.新建一个channel,我们为其命名“MODBUS-RTU”3.下一步选择MODBUS设备驱动4.下一步设置通讯参数,这需要和设备的参数一致。
然后“下一步”到结束,完成。
5.添加设备,有几个设备就添加几个,看情况,在此我要添加两个设备EFM-14017和EDA9033A,它们都支持MODBUS-RTU协议。
下一步下一步,站地址设为1,与实际设置一致。
然后其它默认,“下一步”直到完成。
6.同理,我添加第二个设备下一步下一步,站地址设为1,与实际设置一致然后其它默认,“下一步”直到完成。
6.完成以上步骤,我们将进行变量的建立,首先我们要了解要读取这两个设备的寄存器地址,如下图对于EFM-14017,我们要读取“第0~7路数据寄存器”对应其8个模拟量采集通道。
别的我们不需要。
对于EDA9033A设备,这公司的说明书做的比较乱。
我们要读取以下有用的7.了解以上资料,可以建立OPC地址了。
为方便,我们采用CSV格式建立好变量在导入到OPC中对应的设备中,注意不支持中文字体以上完成对OPC的建立。
二、下面我们建立LABVIEW项目1、打开软件2、新建“项目”命名“MODBUS-RTU例子”3、添加设备I/O SERVER“继续”服务器框中选择National Instruments.NIOPCServers,设置更新速率(ms)为100。
这将创建LabVIEW 与OPC标签的连接,每隔100 ms迚行更新“OK”,保存为“NI OPC”4、创建通过I/O服务器连接到OPC标签的共享变量在LabVIEW项目窗口中,右击我的电脑,选择新建》库。
LabVIEW与S7300PLC的通信实现方式
LabVIEW 与S7-300PLC 的通信实现方式王乐平,张春(湖北汽车工业学院材料工程学院,湖北十堰442002)摘要:为了实现PC 机(上位机)对PLC 的实时监测与数据的获取,本文介绍了一种基于NIOPC Server 的通讯方式。
建立虚拟仪器LabVIEW 与PLC 运用工业以太网的实时通信系统,利用LabVIEW 本身集成的TCP /IP 协议与西门子S7-300PLC 的通讯模块(CP 343-1Lean )结合,实现上位机和S7-300PLC 的以太网通讯。
使得上位机可以通过以太网从PLC 中获取各阶段状态信息,该方法能够在测试数据的现场通信中运用,具有较好的项目实用价值。
关键词:OPC Server ;LabVIEW ;PLC 通信;PLC 监测中图分类号:TP273文献标识码:A文章编号:2095-8153(2019)01-0063-05收稿日期:2018-12-04基金项目:湖北省高等学校优秀中青年科技创新基金团队计划项目“汽车轻量化用板材塑性成型理论与技术”(T201518)。
作者简介:王乐平(1993-),男,湖北汽车工业学院材料工程学院硕士研究生,研究方向:自动控制数据获取及传输;张春(1976-),男,湖北汽车工业学院材料工程学院教授,博士。
0引言随着工业的发展,对零部件生产工艺技术的要求也越来越高,生产中对各零部件的生产过程实时监控就尤为重要,所以现在由PC 与PLC 所组成的控制系统运用得越来越广泛。
LabVIEW 与PLC 结合,可以搭建出分散且开放的现代智能工业控制系统。
因为LabVIEW 使用的是图形化编程语言G 语言,可以把复杂费时的计算机语言程序简化成菜单或图形的形式进行编程,从而提高编程效率。
又因为其具有丰富的图形界面模块、虚拟仪表、数值分析模块、数字信号处理模块,运用LabVIEW 可以将复杂算法交给电脑完成减轻PLC 的负担,提高整个控制系统响应速度。
基于LabVIEW与PLC之间通信接口的设计
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 武汉理工大学学报・信息与管理工程版! ! ! ! ! ! ! ! ! !
*$
! "##$ Байду номын сангаас %% 月
何从 &’( 接口上获得 ")" 部分和 *+, 部分所需的 电源功率, 如何智能控制 -. / *+, 的收发使能和 如何用互补光隔来提高传输速率。 -. / ")" 通信接口采用电平方式传输, 适用 于点 / 点通信, 无需专门的收发使能控制, 而对于 -. / *+, 通信接口则不同。由于采用差分电平方 式传输且是半双工工作, 任何时候只能处于发送 状态或接收状态, 所以必须控制发送和接收, 使 *+, 接口分别处于接收状态和发送状态, 保证发 送和接收互不影响。为了提高本转换器的通用性 和灵活性, 本转换器充分利用了数据波形的特点, 完全用硬件来实现智能收发。 !" #$ 硬件组成及原理 提 供 ")" 部 分 所 需 的 电 源 电 路 选 用 0(&%"##
!" 结" 论
经实验证明, 该智能转换器在上位机与 ,%之间正常 通 信, 且 在 波 特 率 为 <= A >’ ? @ D 12= A > ? @之间, 可以实现无误码收发, 从而实现对工业 现场的监控与现场数据的分析。本智能转换器设 计简单实用, 除了本身这个产品具有较高的应用 价值外, 这种智能控制 :7 0 ."1 接口的收发使能 的思想, 在扩展基于 :7 0 ."1 接口的网络分支及 延伸通信距离都能够得到很好的应用。 参考文献:
图 )! ")" 电平 / ==’ 电平转换电路
Modbus通讯协议的几种实现方式(LabVIEW) 副本
Modbus通讯协议的几种实现方式(LabVIEW)1. Modbus简介Modbus是Modicon公司(现在已经被施耐德收购成为了施耐德旗下品牌)为其PLC通讯而开发的一种通讯协议,从1979年问世至今,已经成为工业通讯领域的业界标准(De facto),最初的Modbus通讯协议仅支持串口,分为Modbus RTU和ACSII两种信号传输模式(一般基于RS485串口通信媒介),而随着时代进步,Modbus也与时俱进,新增了Modbus TCP版本,可以通过以太网进行通讯,此外,Modbus还有一个Modicon专用的Modbus Plus (Modbus +)版本。
和其他工业通信协议相比,Modbus主要的优点包括内容公开没有版权要求,不用支付额外费用、硬件要求简单容易部署、使用广泛便于系统集成。
Modbus采用半双工的通讯方式,由1个子站和多个从站组成,允许多个设备连接在同一个网络上进行通讯。
2. LabVIEW实现Modbus通讯的方式针对Modbus的串口和TCP两种不同的方式,在LabVIEW中通常可以通过以下几种方法实现Modbus通讯。
其中一些实现方式需要安装LabVIEW 数据记录与监控(DSC)模块.Modbus RTU/ASCII的实现方式通过VISA直接进行串口操作实现通过LabVIEW DSC模块中的Modbus模块实现通过LabVIEW DSC模块中的OPC模块实现Modbus TCP通过LabVIEW标准的TCP模块实现通过LabVIEW DSC模块中的Modbus模块实现通过LabVIEW DSC模块中的OPC模块实现以下就几种实现方式进行示例与说明。
3. LabVIEW通过VISA实现Modbus串口通信VISA(Virtual Instrument Software Architecture,虚拟仪器软件架构),是美国国家仪器公司(NI)推出的通用串行通讯软件,最初用于NI公司LabVIEW等软件与串行设备进行通讯,现在已成为工业通讯的标准之一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
labview与PLC之间的Modbus通信labview是一种功能强大的编程环境,其独特的图形编程方式和各种专业的控件和工具使其非常适合工程测控领域。
安装数据记录与监测(DSC)模块后,可以实现类似于组态软件但功能远比组态软件强大。
安装数据记录与监测(DSC)模块后可以非常方便的实现Modbus通信功能。
Modbus 是工业上应用的通用协议,应用非常广泛,几乎所有品牌的PLC都支持
Modbus通信功能。
下面我们看看如何实现labview
的Modbus通信功能.
首先在labview创建一个空白项目,
再在项目中新建一个I/O Server
上海加垒电气设备有限公司,是一家承接电气自动化程序设计,工业机器人培训,PLC培训,LABVIEW
选择Modbus,然后设置Modbus的参数
完成后可以在项目窗口看到新建的Modbus服务器
右击,创建约束变量。
以台达的PLC为例,比如我们需要连接D0的数据,台达的D0寄存器的Modbus地址是404097,我们就添加404097这学习使人进步
个地址,
然后我们在编程界面中拖入这个新建的变量
上海加垒电气设备有限公司,是一家承接电气自动化程序设计,工业机器人培训,PLC培训,LABVIEW
就可以直接远程读写这个PLC中的寄存器。
是不是非常简单实用?
上海加垒电气设备有限公司,是一家承接电气自动化程序设计,工业机器人培训,PLC培训,LABVIEW。