如何实现labview串口数据采集与PLC大量寄存器数据操作

自动建议可通过在您键入时建议可能的匹配,而快速缩小您的搜索结果范围。
Highlighted
如何用labview实现对大型PLC通讯,数据采集的速度可以达到PLC的一个扫描周期吗?例如5毫秒
采集西门子400系统中的数据,扫描周期能否达到5毫秒
条消息(共 6 条)
回复: 如何用labview实现对大型PLC通讯,数据采集的速度可以达到PLC的一个扫描周期吗?例如5毫秒
你是用什么方式来和PLC通信。如果用TCP/IP直接读写,我觉得很难保证5毫秒的确定周期。如果是通过SIEMENS的OPC,你需要查一查他们的手册,看看支持多高的更新率。如果是用NI OPC SERVER(它是支持SIEMENS S7-400的),最小可以设置的更新周期是1ms。我还不是太清楚你所说的扫描周期的概念。但愿有所帮助!
条消息(共 6 条)
5毫秒是PLC中的程序扫描周期,原来我们用IBA的记录仪软件来记录生产中的一些参数,这个软件要好几万,采用的是USB硬件授权,所有电脑都装成本太高了,想能否用labview开发一个数据记录软件,传动中的各量变化很快,所以要每个周期记录一次,所以要数据传输刷新不能高于5ms.
5毫秒是PLC中的程序扫描周期,原来我们用IBA的记录仪软件来记录生产中的一些参数,这个软件要好几万,采用的是USB硬件授权,所有电脑都装成本太高了,想能否用labview开发一个数据记录软件,传动中的各量变化很快,所以要每个周期记录一次,所以要数据传输刷新不能高于5ms.
条消息(共 6 条)
回复: 5毫秒是.....
PLC在执行程序时是串行扫描,5毫秒可以完成一次扫描,内部的寄存器数据刷新一次,我的目的就能快速完整的记录下这些数据。IBA这款软件没有相关的专用硬件,通过以太网TCP/IP就能完成数据记录,Labview能否替代它,把所有参数每5毫秒记录一次,生成曲线,数据库。连接的介质和协议分别是什么?thank you !!!
条消息(共 6 条)
回复: 5毫秒是PLC中的程序扫描周期,原来我们用IBA的记录仪软件来记录生产中的一些参数,这个软件要好几万,采用的是USB硬件授权,所有电脑都装成本太高了,想能否用labview开发一个数据记录软件,传动中的各量变化很快,所以要每个周期记录一次,所以要数据传输刷新不能高于5ms.
基于TCP/IP能否达到这个速度如我不清楚。但是使用NI OPC server可以做到毫秒级的更新率(见附件图片),结合LabVIEW以及LabVIEW DSC模块可以很方便的采集,显示数据,写入数据库。可以用网线或者串口,底层是NI的共享变量引擎。这种方式对路数多的情况特别有效
条消息(共 6 条)
回复: 5毫秒是PLC中的程序扫描周期,原来我们用IBA的记录仪软件来记录生产中的一些参数,这个软件要好几万,采用的是USB硬件授权,所有电脑都装成本太高了,想能否用labview开发一个数据记录软件,传动中的各量变化很快,所以要每个周期记录一次,所以要数据传输刷新不能高于5ms.
数据传输有规律的发生中断,而且在绑定变量的时候,经常发生失败,使vi不能运行,不知是什么原因?
条消息(共 6 条)如何将PLC与labview通讯,监控模拟量
给TA发消息
加TA为好友
发表于: 23:30:57 楼主
目前在做一套监控程序,以labview为平台,从PLC中采集多个模拟量信号,同时也需要向PLC中输入信号,主要在labview程序中遇到困难,现在可以从串口中读一个信号值,可以在一个循环中读取所有信号吗,怎么编程,希望大家指点一下
给TA发消息
加TA为好友 发表于: 16:01:57 1楼
楼主现在中国工控网在举办答题有奖活动:/d/210_1.shtml(给力奖上奖)每日求助优秀答疑者月度评奖活动第一期所以建议楼主在帖子前面加上求助:
给TA发消息
加TA为好友 发表于: 17:10:08 2楼
可以的,三菱PLC有AD模块,只要用三菱特定的串口通信协议发给PLC指令读取存放模拟量的寄存器就可以了,到了labview经过数据处理和转换就可以了
周点击排行周回复排行
[301] [280] [193] [186] [165] [143] [139] [123] [101] [90]
[23] [20] [18] [15] [14] [14] [11] [11] [9] [8]最新求助
[2] [2] [2] [6] [2] [1] [1] [9] [11] [4]工具类服务
编辑部专用服务
作者专用服务
基于PC和PLC的液压通用监控系统
使用FPX-C40R的计算机链接功能,通过MEWTOCOL - COM通信协议实现PC对PLC的数据寄存器的读写访问,以Labview为平台配套上位机监控系统,提高了整套监控系统的控制运算能力,改善了系统功能拓展能力和实现了人机交互界面的美化.设计的通用监控界面包含了液压系统常用共性监控窗口,能实现对液压系统的逻辑控制和对压力、流量、温度等主要运行参数的监测.由于该系统的开源开放性,因此可以方便地对系统源码加以修改以满足专门的测控界面设计要求.该系统具有成本低、通用性好、易于扩展等特点,适用于低频工作的液压系统的监控.
CHEN Yuan-ling
REN Rui-wen
MA Fang-lan
ZHANG Zhong-nan
作者单位:
广西大学机械工程学院,广西南宁,530004
年,卷(期):
机标分类号:
在线出版日期:
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社Labview与松下PLC通讯收不到反馈 - LabVIEW论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
Hot [精品]
Labview与松下PLC通讯收不到反馈
15:56:59  
用VISA去和PLC通讯,一直接收不到数据,BUS上一直是0数据。命令最后的结束符\r,回车键常量都试过,都没用
Capture.PNG (26.67 KB, 下载次数: 0)
15:55 上传
已退回2积分
工程师职场
Powered by
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
版权所有 (C) 深圳华强聚丰电子科技有限公司LabVIEW与永宏PLC通信
查看: 4254|
摘要: PLC通信包括PLC间的通信及PLC与其他智能设备间的通信。随着计算机控制技术的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方 ...
通信包括PLC间的通信及PLC与其他智能设备间的通信。随着技术的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。本章具体介绍LabVIEW与永宏PLC通信的设计过程。
<FONT color=#.1.1 通信硬件连接
图11-1即为永宏PLC的硬件图,其中的硬件通信板可以选择,图11-2所示为选择的RS485与RS232的通信接口。
<FONT color=#.FBS-CB22通信板(Communication Board简称CB)
<FONT color=#.FBS-CB22通信板对应的盖板(每一种通信板都有其对应的盖板)
图11-1& 永宏FBS系列PLC硬件
图11-2 &FBS-CB22 RS232和RS485接口通信板
<FONT color=#.1.2& PLC串口通信原理
PLC各型主机均内建2个通信接口的标准配置,即一个RS232和一个RS485通信接口,其RS232接口主要用于上下载程序或用来与上位机、通信,而RS485接口主要用于组建使用RS485协议的网络,实现通信控制。
<FONT color=#.RS232接口
RS232-C接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即“发送数据”、“接收数据”和“信号地”即可传输数据,其9个引脚的定义如图11-3所示。
图11-3 &RS232-C接口连接器定义
在RS232的规范中,电压值在+3V~+15V(一般使用+6V)称为“0”或“ON”。电压在-3V~-15V(一般使用-6V)称为“1”或“OFF”;计算机上的RS232“高电位”约为9V,而“低电位”则约为-9V。
RS232为全双工工作模式,其信号的电压是参考地线而得到的,可以同时进行数据的传送和接收。在实际应用中采用RS232接口,信号的传输距离可以达到15m。不过RS232只具有单站功能,即一对一通信。
<FONT color=#.RS485接口
RS485采用正负两根信号线作为传输线路。两线间的电压差为+2V~6V表示逻辑“1”:两线间的电压差为-2V~6V表示逻辑“0”。
RS485为半双工工作模式,其信号由正负两条线路信号准位相减而得,是差分输入方式,抗共模干扰能力强,即抗噪声干扰性好;实际应用中其传输距离可达1200米。RS485具有多站能力,即一对多的主从通信。
在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向可分为3种基本的传送方式:单工、半双工和全双工,如图11-4所示。
图11-4& 单工、半双工和全双工通信
单工通信使用一根导线,信号的传送方和接收方有明确的方向性。也就是说,通信只在一个方向上进行。
若使用同一根传输线既作为接收线路又作为发送线路,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式称为半双工。采用半双工方式时,通信系统每一端的发送器和接收器,通过收发开关分时转接到通信线上,进行方向的切换。
当数据的发送和接收,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传输。全双工方式无须进行方向的切换。
串行通信可分为两种类型,一种是同步通信,另一种是异步通信。采用同步通信时,将所有字符组成一个组,这样,字符可以一个接一个地传输,但是,在每组信息的开始要加上同步字符,在没有信息要传输时,填上空字符,因为同步传输不允许有空隙。采用异步通信时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数据位来作为分隔位。比较起来,在传输率相同时,同步通信方式下的信息有效率要比异步方式高,因为同步方式的非数据信息比例比较小。但是,从另一方面看,同步方式要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每一个信息位的位置。这样一来,如果采用同步方式,那么,在传输数据的同时,还必须传输时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较相近,即不超过一定的允许范围就行了。在数据传输中,较为广泛采用的是异步通信,异步通信的标准数据格式如图11-5所示。
图11-5& 异步通信数据格式
从图11-5所列格式可以看出,异步通信的特点是一个字符一个字符地传输,并且每个字符的传送总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。每一次有一个起始位,紧接着是5~8个的数据位,再后为校验位,可以是奇检验,也可以是偶校验,也可不设置,最后是1比特,或1比特半,或2比特的停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平,这样就保证起始位开始处一定有一个下降沿,以此标识开始传送数据。
<FONT color=#.1.3& 永宏PLC通信协议
永宏通信协议可以简单通过串口来实现,上位机的具体参数如图11-6所示。
永宏PLC除了拥有自己的永宏标准通信协议以外,还支持Modbus通信协议(Porto除外),具体的通信步骤如下:
Port0(RS232或USB)
通信速率4.8 kbps ~ 921.6 kbps(9.6 kbps)
Port1~Port4
(RS232、RS485或Ethernet)
通信速率4.8 kbps ~ 921.6 kbps(9.6 kbps)
Port1~4可提供永宏或Modbus RTU Master/Slave通信协议
最大联机站数
图11-6& 永宏PLC通信参数
(1)设定外围设备的参数。
— 控制方式(如启动、停止):通信控制。
— 频率给定方式:通信设置。
— 设置通信参数:波特率、数据位、校验方式、停止位、RTU或者ASCII方式。
(2)PLC同该设备的RS485接线。
(3)改变设备的控制地址。找到所需要的控制地址,然后变成永宏Modbus地址。
(4)设定PLC通信接口的通信参数和通信方式,PLC和该设备上配置的参数要一致。
(5)在PLC内写M-BUS指令,并填写所需要的相应的通信表格。
(6)程序写好后,接通,进行调试。
<FONT color=#.1.4& 程序结构
本例程序采用循序结构控制,程序流程框图如图11-7所示,主要由打开串口、设置串口、向串口写命令、读返回值、关闭串口4部分组成。
图11-7& 程序流程
程序中对串口的操作使用的是VISA。
VISA是虚拟仪器软件结构体系(Virtual Instrument Software Architecture)的简称。VISA是在所有LabVIEW工作平台上控制VXI、GPIB、RS232以及其他种类仪器的单接口程序库,是组成VXI Plug & Play系统联盟的35家最大的公司所统一采用的标准。采用VISA标准后,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互兼容。VISA的功能模块包含在LabVIEW Instrument I/O的VISA子模板中。
VISA驻留于计算机系统中,是计算机与仪器之间的软件连接层,用以实现对仪器的控制。VISA对于测试软件开发者来说是一个可调用的操作函数集,它本身不提供仪器编程能力,只是一个高层API(应用程序接口),通过调用低层的驱动程序来控制仪器。NI-VISA的层次如图11-8所示。
VISA的内部结构是一个先进的、面向对象的结构,这一结构使得VISA和在它之前的I/O控制软件相比,在接口无关性、可扩展性和功能上都有很大提高。VISA主要由Config模块、Write模块、Read模块、Close模块组成,下面对这些模块做详细介绍。
VISA Config模块对VISA资源信息如波特率、通信端口名称、数据校验、数据位等进行配置,并通过VISA resource Name端口将打开的VISA资源名称传递给下一个节点。
VISA Write模块把write buffer中的字符串写入VISA session指定的设备中。dup VISA session向下传送相同的session值。在UNIX工作平台上,数据同步写入;在其他工作平台上,数据异步写入。return count返回实际传送的字节数。error in和error out字符串用于说明出错状况。
VISA Read模块读取由VISA session指定设备中的数据。byte count指明读入read buffer中的字节数,当收到的字节数小于read buffer中所指定的字节数时,VISA read 将会一直等待,直到收到的字节数等于read buffer中所指定的字节数。VISA session向下传送相同的session值。同样,在UNIX工作平台上,数据同步读入;其他平台上的数据异步读入。
VISA Close模块关闭由VISA session指定设备的通信过程,释放系统资源。
VISA仪器控制流程见图11-9。图11-10为串口读写程序示意图。
&&&&&&&&&&&&&&&&&&
&& 图11-8 &VISA结构层次&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&& 图11-9 &VISA仪器控制流程
图11-10& 串口读写程序
<FONT color=#.1.5& 程序编写
基于LabVIEW的PC与PLC串口通信程序的面板如图11-11所示。
根据永宏PLC的通信协议及数据操作流程,本程序采用顺序结构。顺序结构可实现数据流的顺序流动,首先打开串口和设置串口参数(如图11-12所示),波特率为9600 Bps,串口号为COM1,偶校验(Even),7位数据位,数据停止位为10(如图11-13所示)。
&& 图11-11& 程序面板&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&& 图11-12& VISA串口配置
图11-13& 开串口和设置串口参数
第二步写入命令。先要对命令进行判断,看其是否合法,后面板程序如图11-14所示。然后,判断写入的命令是否超长,并将合法的数据组合成可写入的命令,后面板程序如图11-15所示。
图11-14& 检查输入的命令合法性
图11-15& 根据通信协议进行数据组合
串口写入过程需要时间,所以在这一步之后需要延时250ms,如图11-16所示。接下来就是读串口返回值。通过VISA读取返回的数值(如图11-17所示),然后进行分析检验,判断所接收的数据是否正确。
图11-16& 将数据写入PLC的R0寄存器
检验数据之后这个操作流程就结束了,可以关闭VISA串口(如图11-18所示)。
图11-17& 读串口返回值&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图11-18& 关闭串口
<FONT color=#.1.6& 实例小结
本例运用LabVIEW驱动配置方法通过VISA建立了上位机与永宏PLC通信的程序,对于其他品牌和型号的PLC通信,同样可以使用该方法。同样,Modbus协议的设备间通信也可以使用此类方法。
上一篇:下一篇:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:}

我要回帖

更多关于 labview读取串口数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信