请问labview如何设置串口通信协议的? 怎么在labview编写modbus串口通信协议,有没有详细...

labVIEW \u4e32\u53e3\u901a\u4fe1\u5982\u4f55\u5b9e\u65f6\u4fee\u6539\u914d\u7f6e

\u7a0b\u5e8f\u6709\u95ee\u9898\uff0c\u4e00\u4e2a\u4e32\u53e3\u4e00\u822c\u53ea\u914d\u7f6e\u4e00\u6b21\u3002\u5982\u679c\u53c8\u8981\u8bfb\u53c8\u8981\u5199\uff0c\u53c2\u7167\u4e0b\u56fe
\uff0c\u7528\u540c\u4e00\u4e2a\u4e32\u53e3\u5f15\u7528\u3002
\u6539\u5b8c\u540e ? \u5efa\u8bae\u4ece\u4e00\u4e0b\u51e0\u4e2a\u65b9\u9762\u67e5\u627e\u95ee\u9898\uff0c
1\u3001\u67e5\u770bMax\u4e2d\u4e32\u53e3\u662f\u5426\u80fd\u591f\u6b63\u786e\u8bc6\u522b\uff0c
2\u3001\u67e5\u770bLabVIEW\u4e32\u53e3\u914d\u7f6e\u548c\u5355\u7247\u673a\u662f\u5426\u5bf9\u5e94
2\u3001\u547d\u4ee4\u662f\u5426\u6b63\u786e\uff0c\u4e00\u822c\u90fd\u662f\u5199\u5341\u516d\u8fdb\u5236\u7684\u6570\u5b57\uff0c\u4f60\u7684\u5b57\u7b26\u4e32\u662f\u5426\u662f\u5341\u516d\u8fdb\u5236\u663e\u793a\u6a21\u5f0f\uff1f
3\u3001\u8bfb\u53d6\u7684\u5ef6\u65f6\u662f\u5426\u6b63\u786e\uff0c\u5355\u7247\u673a\u9700\u8981\u4e00\u5b9a\u65f6\u95f4\u6765\u6267\u884c\u4f60\u53d1\u9001\u7684\u547d\u4ee4\u3002\u53ef\u4ee5\u91c7\u96c6visa\u7684\u5c5e\u6027\u8282\u70b9\uff0cVISA\u4e32\u53e3\u5b57\u8282\u6570\u6765\u67e5\u770b\u662f\u5426\u6709\u6570\u636e\u8fd4\u56de\u3002

\u5148\u5f04\u61c2labview\u7684\u4e32\u53e3\u901a\u4fe1\u600e\u4e48\u5f04\u7684\uff0c\u7136\u540e\u5bf9\u7167modbus\u5199\u534f\u8bae\u5c31\u53ef\u4ee5\u3002

我不知道你下位机用的是什么,但是,肯定是以下几步了:

1.Labview发不同的指令给下位机;

2.下位机收到指令,执行对应的命令,控制泵的流量。

所以,归结其来,就是labview通过串口给下位机发送数据。

设置通信协议可用“VISA配置串口”来设置通信协议,其他的串口读写也用VISA里面的模块。

我给你传个图,你就知道了,有问题可以和我联系。



串口通讯—通信协议
所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。

目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。

一、物理接口标准

1.串行通信接口的基本任务

(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。

(2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。

(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。

(4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。

(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。

(6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。

2、串行通信接口电路的组成

为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。
3.有关串行通信的物理标准
为使计算机、电话以及其他通信设备互相沟通,现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于三个方面:传输率,电特性,信号名称和接口标准。

1、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。大多数CRT终端都能够按110到9600范围中的任何一种波特率工作。打印机由于机械速度比较慢而使传输波特率受到限制,所以,一般的串行打印机工作在110波特率,点针式打印机由于其内部有较大的行缓冲区,所以可以按高达2400波特的速度接收打印信息。大多数接口的接收波特率和发送波特率可以分别设置,而且,可以通过编程来指定。

2、RS-232-C标准:RS-232-C标准对两个方面作了规定,即信号电平标准和控制信号线的定义。RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232-C将-5V~-15V规定为“1”,+5V~+15V规定为“0”。图1是TTL标准和RS-232-C标准之间的电平转换。
二、软件协议

1.OSI协议和TCP/IP协议
(1)OSI协议

OSI七层参考模型不是通讯标准,它只给出一个不会由于技术发展而必须修改的稳定模型,使有关标准和协议能在模型定义的范围内开发和相互配合。

一般的通讯协议只符合OSI七层模型的某几层,如: EIA-RS-232-C:实现了物理层。 IBM的SDLC(同步数据链路控制规程):数据链路层。ANSI的ADCCP(先进数据通讯规程):数据链路层IBM的BSC(二进制同步通讯协议):数据链路层。应用层的电子邮件协议SMTP只负责寄信、POP3只负责收信。

(2)TCP/IP协议

实现了五层协议。

(1)物理层:对应OSI的物理层。

(2)网络接口层:类似于OSI的数据链路层。

(3)Internet层:OSI模型在Internet网使用前提出,未考虑网间连接。

(4)传输层:对应OSI的传输层。

(5)应用层:对应OSI的表示层和应用层。
2.串行通信协议

串行通信协议分同步协议和异步协议。

(1)异步通信协议的实例——起止式异步协议
特点与格式:

起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。其格式如图3所示。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。

从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。传送时,数据的低位在前,高位在后,图4表示了传送一个字符E的ASCAII码的波形1010001。当把它的最低有效位写到右边时,就是E的ASCII码1000101=45H。

起/止位的作用:起始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。它的到来,表示下面接着是数据位来了,要准备接收。而停止位标志一个字符的结束,它的出现,表示一个字符传送完毕。这样就为通信双方提供了何时开始收发,何时结束的标志。传送开始前,发收双方把所采用的起止式格式(包括字符的数据位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。传送开始后,接收设备不断地检测传输线,看是否有起始位到来。当收到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定的数据位和奇偶校验位以及停止位。经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。一个字符接收完毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。

由上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。

(2)面向字符的同步协议

特点与格式:这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。它的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字。由于被传送的数据块是由字符组成,故被称作面向字符的协议。

特定字符(控制字符)的定义:由上面的格式可以看出,数据块的前后都加了几个特定字符。SYN是同步字符(synchronous Character),每一帧开始处都有SYN,加一个SYN的称单同步,加两个SYN的称双同步设置同步字符是起联络作用,传送数据时,接收端不断检测,一旦出现同步字符,就知道是一帧开始了。接着的SOH是序始字符(Start Of Header),它表示标题的开始。标题中包括院地址、目的地址和路由指示等信息。STX是文始字符(Start Of Text),它标志着传送的正文(数据块)开始。数据块就是被传送的正文内容,由多个字符组成。数据块后面是组终字符ETB(End Of Transmission Block)或文终字符ETX(End Of Text),其中ETB用在正文很长、需要分成若干个分数据块、分别在不同帧中发送的场合,这时在每个分数据块后面用文终字符ETX。一帧的最后是校验码,它对从SOH开始到ETX(或ETB)字段进行校验,校验方式可以是纵横奇偶校验或CRC。另外,在面向字符协议中还采用了一些其他通信控制字,它们的名称如下表所示:

数据透明的实现:面向字符的同步协议,不象异步起止协议那样,需要在每个字符前后附加起始和停止位,因此,传输效率提高了。同时,由于采用了一些传输控制字,故增强了通信控制能力和校验功能。但也存在一些问题,例如,如何区别数据字符代码和特定字符代码的问题,因为在数据块中完全有可能出现与特定字符代码相同的数据字符,这就会发生误解。比如正文有个与文终字符ETX的代码相同的数据字符,接收端就不会把它当作为普通数据处理,而误认为是正文结束,因而产生差错。因此,协议应具有将特定字符作为普通数据处理的能力,这种能力叫做“数据透明”。为此,协议中设置了转移字符DLE(Data Link Escape)。当把一个特定字符看成数据时,在它前面要加一个DLE,这样接收器收到一个DLE就可预知下一个字符是数据字符,而不会把它当作控制字符来处理了。DLE本身也是特定字符,当它出现在数据块中时,也要在它前面加上另一个DLE。这种方法叫字符填充。字符填充实现起来相当麻烦,且依赖于字符的编码。正是由于以上的缺点,故又产生了新的面向比特的同步协议。
(3)面向比特的同步协议

特点与格式:面向比特的协议中最具有代表性的是IBM的同步数据链路控制规程SDLC(Synchronous Data Link Control),国际标准化组织ISO(International Standard Organization)的高级数据链路控制规程HDLC(High Level Data link Control),美国国家标准协会(Americal National Standard Institute)的先进数据通信规程ADCCP(Advanced Data Communication Control Procedure)。这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向比特”的协议。这中协议的一般帧格式如图5所示:

图6

帧信息的分段:由图5可见,SDLC/HDLC的一帧信息包括以下几个场(Filed),所有场都是从有效位开始传送。

(1)SDLC/HDLC标志字符:SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是 01111110,称标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索“01111110”来探知帧的开头和结束,以此建立帧同步。

(2)地址场和控制场:在标志场之后,可以有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之通信的次站的地址。控制场可规定若干个命令。SDLC规定A场和C场的宽度为8位或16位。接收方必须检查每个地址字节的第一位,如果为“0”,则后面跟着另一个地址字节;若为“1”,则该字节就是最后一个地址字节。同理,如果控制场第一个字节的第一位为为“0”,则还有第二个控制场字节,否则就只有一个字节。

(3)信息场:跟在控制场之后的是信息场I(Information)。I场包含有要传送的数据,并不是每一帧都必须有信息场。即数据场可以为0,当它为0时,则这一帧主要是控制命令。

(4)帧校验信息:紧跟在信息场之后的是两字节的争校验,帧校验场称为FC(Frame Check)场或称为帧校验序列FCS(Frame check Squence)。SDLC/HDLC均采用16位循环冗余校验码CRC(Cyclic Redundancy Code)。除了标志场和自动插入的“0”以外,所有的信息都参加CRC计算。

实际应用时的两个技术问题:

(1)“0”位插入/删除:如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它与标志区分开来,所以采取了“0”位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5个“1”,就自动插入一个“0”,当接收端在接收数据时(除标志字节)如果连续收到5个“1”,就自动将其后的一个“0”删除是,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。

(2)SDLC/HDLC异常结束:若在发送过程中出现错误,则SDLC/HDLC协议常用异常结束(Abort)字符,或称为失效序列使本帧作废。在HDLC规程中,7个连续的“1”被作为失效字符,而在SDLC中失效字符是8个连续的“1”。当然在试销序列中不使用“0”位插入/删除技术。SDLC/HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧之间,发送器可以连续输出标志字符序列,也可以输出连续的高电平,它被称为空闲(Idle)信号。

  • labview鍜屼笅浣嶆満鎬,涓插彛璋冭瘯鍔╂墜铏氭嫙涓插彛
    绛旓細鍒╃敤铏氭嫙涓插彛杞欢鍒涘缓铏氭嫙涓插彛銆傛墦寮涓插彛璋冭瘯鍔╂墜锛岃缃覆鍙e熀鏈睘鎬э紝涓插彛鐨勬尝鐗圭巼锛屾暟鎹綅绛夛紝缂栧啓labview涓插彛鍐欏叆绋嬪簭銆傛墦寮涓插彛璋冭瘯鍔╂墜锛屽湪绋嬪簭閲岄夋嫨鐨刢om6锛岄偅涔堝湪璋冭瘯鍔╂墜涓墦寮com8锛岃緭鍏ユ寚浠わ紝灏卞彲浠ュ緱鍒扮浉搴旂殑鎺у埗鏁堟灉銆
  • 绠杩labview涓插彛閫氫俊鐨勫熀鏈祦绋,浣跨敤鐨勪富瑕佹ā鍧,鍏抽敭閰嶇疆鍙傛暟鏈夊摢浜...
    绛旓細閰嶇疆涓插彛鍙傛暟鍑芥暟锛岄渶瑕侀厤缃殑鍙傛暟涓昏鏈塚ISA璧勬簮鍚嶇О锛堜覆鍙e彿锛/娉㈢壒鐜/鏁版嵁姣旂壒/濂囧伓鏍¢獙/鍋滄浣嶇瓑鍏抽敭鍙傛暟銆俈ISA鍐欏叆鍑芥暟锛岄氳鎵闇瑕佸彂閫佺殑瀛楃涓叉暟鎹俈ISA璇诲彇鍑芥暟锛屽瓧鑺傛绘暟锛屼粠绔彛缂撳瓨鍖洪噷闈㈣鍙栨暟鎹殑闀垮害锛屼竴鑸氳繃灞炴ц妭鐐硅幏鍙栫鍙g紦瀛樺尯鍐呭闀垮害浼犲叆鍒拌鍙傛暟杈撳叆锛屽弽棣堢紦瀛樺尯鏁版嵁鍐呭銆俈ISA鍏抽棴鍑芥暟锛...
  • labview濡備綍缂栬緫涓插彛閫氫俊
    绛旓細寰堢畝鍗曪紝鍦labview NI example涓殑hard ware input and output涓紝鏈変竴浜涓插彛閫氳鐨勪緥绋嬶紝鍏朵腑灏辨湁鏈鍩烘湰鐨勪覆鍙h鍐欑▼搴忋傚彲渚涘弬鑰
  • labview涓插彛濡備綍鍙戦2鏉℃寚浠
    绛旓細1銆佹墦寮涓插彛锛氫娇鐢╒ISAOpen鍑芥暟鎵撳紑涓插彛锛岃缃覆鍙g殑鍙傛暟2銆佸彂閫佺涓鏉℃寚浠锛氫娇鐢╒ISAWrite鍑芥暟鍚戜覆鍙e彂閫佺涓鏉℃寚浠ゃ備娇鐢↙abVIEW鐨勭瓑寰呭嚱鏁版潵寤舵椂涓娈垫椂闂达紝浠ョ‘淇濈涓鏉℃寚浠ゅ畬鍏ㄥ彂閫併3銆佸彂閫佺浜屾潯鎸囦护锛氫娇鐢╒ISAWrite鍑芥暟鍚戜覆鍙e彂閫佺浜屾潯鎸囦护锛屽悓鏍峰皢瑕佸彂閫佺殑鎸囦护鏁版嵁浣滀负杈撳叆浼犻掔粰璇ュ嚱鏁般4銆佸叧闂覆鍙...
  • labview濡備綍杩涜涓插彛閫氳
    绛旓細瀹夎NI-VISA宸ュ叿鍖咃紝鍦ㄢ濅华鍣↖/O鈥滈夋澘閲屽氨浼氭湁鈥濅覆鍙b滈夋澘锛岄噷闈㈡湁鍑芥暟鈥漋ISA璇诲彇銆乂ISA鍏抽棴銆乂ISA閰嶇疆涓插彛銆乂ISA鍐欏叆鈥滅瓑鍙互鐩存帴鐢ㄣ傚叿浣撶紪绋嬫椂鍙互鍙傝僉abview甯姪閲岀殑鑼冧緥
  • labview涓插彛璇诲彇鏇存柊鏁版嵁
    绛旓細labview涓插彛璇诲彇鏇存柊鏁版嵁姝ラ濡備笅锛1銆佹墦寮LabVIEW杞欢锛屽垱寤轰竴涓柊鐨刅I銆2銆佸湪BlockDiagram涓坊鍔燬erialPort鎺у埗鍣紝璇ユ帶鍒跺櫒鍙互閫氳繃涓插彛涓庡閮ㄨ澶囪繘琛岄氫俊銆傚彸閿崟鍑籅lockDiagram锛岄夋嫨FunctionsPalette锛岀劧鍚庨夋嫨MeasurementInput&Output>Serial銆3銆佸皢SerialPort鎺у埗鍣ㄦ嫋鏀惧埌BlockDiagram涓婏紝鍙抽敭鍗曞嚮SerialPort鎺у埗...
  • labview鎬庝箞鐢涓插彛鍙戝懡浠
    绛旓細LabVIEW鏈夆滀华鍣↖/O鈥濇帶浠讹紝涓插彛鎺у埗鍦ㄢ滀华鍣↖/O鈥濅笅銆備娇鐢ㄤ覆鍙f帶鍒跺嵆鍙彂閫佹寚浠ゆ垨鑰呰鍙栬繑鍥炲硷紝鍙傝冧笅鍥
  • 濡備綍鐢labview瀹炵幇涓插彛璋冭瘯鍔╂墜鐨勫姛鑳
    绛旓細鈶狅紝璋冭瘯涓嬩綅鏈烘寚浠わ紝浣跨敤涓插彛璋冭瘯灏忓姪鎵嬶紝杩炴帴浠櫒璋冭瘯銆備竴鑸綘鎷垮埌涓鍙颁华鍣紝寰楀埌鎸囦护鍚庯紝寤鸿鐢ㄤ覆鍙h皟璇曞皬鍔╂墜鏉ユ祴璇曟寚浠わ紝鎸囦护娴嬭瘯娌¢棶棰樺悗锛屽啀鐢 LabVIEW 鏉ヨ繘琛岀紪绋嬨傚緢澶氫汉鎸囦护閮芥病寮勬竻妤氾紝鐒跺悗鐢 LabVIEW 缂栧啓浜嗙▼搴忥紝鐒跺悗鏀朵笉鍒版暟鎹箣绫荤殑锛屽緢鍙兘浣犳寚浠や笉瀵癸紝鍙兘鍙戦佺殑涓嶆槸 16 杩涘埗鐨勶紝鎴栬...
  • 璇烽棶labview濡備綍璁剧疆涓插彛閫氫俊鍗忚鐨?
    绛旓細1.Labview鍙戜笉鍚岀殑鎸囦护缁欎笅浣嶆満锛2.涓嬩綅鏈烘敹鍒版寚浠わ紝鎵ц瀵瑰簲鐨勫懡浠わ紝鎺у埗娉电殑娴侀噺銆傛墍浠ワ紝褰掔粨鍏舵潵锛屽氨鏄labview閫氳繃涓插彛缁欎笅浣嶆満鍙戦佹暟鎹傝缃氫俊鍗忚鍙敤鈥淰ISA閰嶇疆涓插彛鈥濇潵璁剧疆閫氫俊鍗忚锛屽叾浠栫殑涓插彛璇诲啓涔熺敤VISA閲岄潰鐨勬ā鍧椼傛垜缁欎綘浼犱釜鍥撅紝浣犲氨鐭ラ亾浜嗭紝鏈夐棶棰樺彲浠ュ拰鎴戣仈绯汇
  • labview 涓插彛鍙锋槸鎬庢牱璁剧疆鐨??璋㈣阿!
    绛旓細涓插彛鍙锋槸鑷姩妫绱㈢殑锛屼綘鍦ㄨ祫婧愬悕绉拌緭鍏ユ涓偣鍑诲畠鐨勪笅鎷夋寜閿紝涓嬫媺鍒楄〃鑷姩鎼滅储鍒拌祫婧愬苟鏄剧ず
  • 扩展阅读:javascript高级视频 ... labview免费视频教程 ... labview官方入门教程 ... labview自学要多久 ... 免费的labview自学网站 ... 100个labview编程实例 ... labview编程步骤 ... labview如何重新安装范例 ... labview入门视频教程全集 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网