公开课
丨公开课丨串口那些事儿-基础篇
分享者:狂奔的蜗牛
一、硬件接口
串口和并口的区别
- 串并口是输入、输出接线插座的俗称,它位于主板上。
- 电脑连接打印机可用并行输出口,与其他电脑实施通讯都要用串行接口。并口多为25孔阴插座,串口是9针或25针阳插座。
- 串口与并口的传输方式不一样,串口传输是一位接一位的,象串起的珠子一样,并口是可以并发数据的,可以同时传输多位。
- 串行接口,简称串口,也就是COM接口,是采用串行通信协议的扩展接口。
- 并行接口,并行接口简称并口,也就是LPT接口,是采用并行通信协议的扩展接口。
现场总线层次和OPC简介
ISO七层网络模型
上图是一个通用的通信七层网络模型,工业上常用也就2层:物理层和应用层
-
- 物理层常用接口类型– RS232(COM口)、RS485、RS422、RJ45(以太网口)、GPRS(3G/4G)、CAN– USB转RS232或485,RS232转RS485(安装驱动,虚拟出串口)– 板卡– 串口转以太网网关(串口服务器)
- 应用层标准协议Modbus、Profibus、Devicenet、自定义协议
- 如何理解?很多人容易弄混,下面打几个比方:快递>>– 应用层:包裹、信件
– 物理层:快递公司(韵达、顺丰、海陆空运输等)
文章>>
– 应用层:文字(中文、英文)
– 物理层:传输>甲骨、竹筒、纸张、Email、短信、微信、QQ
常用接口类型-RS232与RJ45
常用的台式机主机后面一般都自带2个COM口,默认都是RS 232,而RJ45接t口就是常说的网口。
DB9在设计时一定要注明公母头。
台式机、PLC、串口线,DB-9定义,/2收, /3发,/5交叉
232:接收端、发送端交叉接线
RJ45接口,就是所谓的水晶头。有100Mb、1Gb、10Gb,8根数据线。
家用的一般都是不带屏蔽的,工业上使用最好买带铜片屏蔽的。
RJ45早期有2种接线方式,586A和586B,现在由于芯片厂商优化了芯片,全部B接线方式,颜色色号顺序可以从下图中看出来。
普通的网络:1/2/3/6脚接线,其它脚不接,万兆网络其他4个也接上了。
网线类型有很多种:UTP/FTP/SFTP
- 非屏蔽双绞线(UTP):UTP无金属屏蔽材料,只有一层绝缘胶皮包裹,价格相对便宜,组网灵活,目前国内应用最多的布线系统,其线路优点是阻燃效果好,不容易引起火灾。适用于传输带宽250MHZ以下,没有特殊性能要求的网络应用。
- STP, Shielded Twisted Pair 屏蔽网络线;
- FTP, Foiled Twisted Pair, 铝箔屏蔽网络线; 前者是一个广义名字,后者是一个狭义名词。但实际上,目前屏蔽网络线就是铝箔屏蔽网络线,所以,STP、FTP实际上是一样的。相对于UTP,FTP/STP只是在芯线的外面多了一层铝箔,目的在于减少信号的衰减。带宽较大、抗干扰性能强,具有低烟无卤的特点。相对的,屏蔽线比非屏蔽线价格及安装成本要高一些,线缆弯曲性能稍差。 六类线及之前的屏蔽系统多采用这种形式。
- SFTP: 双屏蔽网络线。这种线的结构,是在FTP/STP的铝箔基础上,再加上一层镀锡铜编织网,最外面是PVC外被。由于多了一层镀锡铜编织网,可以大大减少外界磁场,信号的干扰,也可以减少内部信号的衰减,增加线缆的拉力。缺点在于这种线的柔软度很差,造价昂贵;这种线的价格一般是UTP的两倍。这种线只在特殊环境里使用。用量少。
六类网线通常指的是六类非屏蔽双绞线,超六类网线是在性能上都要比六类线上一个层次的网线。六类网线和超六类网线在结构上都增加了绝缘的十字骨架,并将双绞线的四对线缆分别置于十字骨架的四个凹槽内。
- CAT 6 六类网线
- CAT 6e 超六类网线 带塑料十字架 铝箔+铜网,超六类网线的线芯绞距更密些,而且导体也比较粗
- SFTP CAT6A 超六类双屏蔽网线 千兆网络 2-3元1米
- SFTP CAT7 七类双屏蔽网线 万兆网络 6-7元1米 直径0.58以上
常用接口类型-USB转RS232或485与RS232转RS485
介绍下串口转换工具,自动化人必备。如下图所示,网上很多这种接口转换设备,其实都一样,一个芯片(CH-340)用来电平转换,自带驱动,USB插入电脑后设备处理器里面会多出来一个虚拟的COM口
现场经常出差的同学肯定会带一根这样的线吧
常用接口类型-板卡
-
接口PCI/PCIE
-
COM口数量:2/4/8
-
安装驱动才能出现COM口
工控机扩展COM口用,插电脑主板插槽上,外部加一根信号分配线。
常用接口类型-串口转以太网网关(串口服务器)
原理:现场设备串口转成以太网或者光纤接到电脑,电脑安装软件虚拟成串口,对于组态软件和plc编程软件来说,还是串口通信
-
品牌:台湾moxa nport5100系列
-
串口转GPRS或者3g、4g——城市自来水网、天然气网、电力网
好了,以上硬件接口就介绍完了,下面介绍通信原理。
二、通信原理
基础知识-TTL电平和CMOS电平
-
- TTL电平(TRANSISITOR-TRANSISTOR LOGIC)晶体管-晶体管逻辑集成电路输出:+5V为逻辑1 0V为逻辑0输入:H:大于2.0V,高于2.0为1 L:小于1.2V,小于1.2为0数字电路课程中的,适合厘米级别,芯片传输,PCB板。
- 232电平不同于TTL和CMOS
EIA-RA-232C:EIA:美国电子工业协会
负逻辑 输出: -9V代表1,+9V代表0
RS232接口电平:
– 接收端:逻辑1(MARK)=-3到-15V,输出-9V
– 接收端:逻辑0(MARK)=3到15V,输出9V
只能1对1,即总线上只能挂2个设备,最大传输距离15m,接收和发送独立,全双工。
有几个特点:
-
- 负逻辑,1bit起始位,8bit数据位,1bit停止位
- 起始位值:0 停止位值:1
- 数据为:0x55AA
- 波特率(Baud Rate),一秒传送多少bit位
基础知识-485
-
- 485与232最大的区别我认为就是传输方式,232是两根线,接收发送可以同一时刻,485采用的是差分方式,虽然也是两根线,但芯片只认压差。下图是TI公司的一个文档,介绍了485传输最多同时带32个设备,并且波特率和传输距离也有关系
下图中RT为终端电阻,120欧0.25W,
发送端与接收端的定义,对于接收端,两根线的压差1.5V之外才算有信号,而对于接收端,两根线的压差200mV之外才算有信号。
为什么232传输的近?485传输的远呢?主要就是因为差分方式,传输路径产生的共模干扰,被差值减掉了。
-
- 485通信优缺点– 理论传输距离:1200米– 理论最大波特率:10Mbps– 距离越长,波特率越小,15米最大1Mbps
– 半双工,双绞线(总线),只能干一个事情,被一个设备控制
– 同时刻要不只能主站发数据,所有从站接收
– 同时刻要不只能某个从站发数据,主站接收
– 对讲机,一个总指挥,多个干活的
缺陷:轮训机制
RS485类似1个皇帝N个妃子,一夫多妻制,挂的设备越多,数据更新就慢,32个设备,0.5s一个,也要16秒,主站才能轮训完所有设备
而RS232为一夫一妻制。
- 485双绞线电缆介绍RVS,S代表双绞线,麻花线,能够避免干扰,增加传输距离 RVSP:带屏蔽网 RVVSP:屏蔽双绞线,比RVSP多层护套,绝缘等效果好一些
一般现场施工,远距离都会放4芯线,2芯备用。截面积:0.5mm2以上,越远要求越粗,线越细阻抗越大,衰减越厉害 R=ρL/S,也可以省事直接用Prifibus电缆,西门子进口10元1米,国产3元1米,紫色pvc护套,铝箔纸,100%纯铜芯 2*0.64,128编织网。当然也有1平方的。
485与profibus区别:
输出电压:485是正负1.5V,profibus是正负2.1V,所以抗干扰能力更强,波特率更大,profibus可以达到40Mbps,232和485最大都是10Mbps
对于有上千米的传输要求时,可以用485转光纤,可自行百度一下,工业现场用的很多。
光纤口3种:SC/FC/ST
光纤2种:多模、单摸
基础知识-422和以太网
- 422比485出现的早,应用范围小
- 区别:两对双绞线,1对发,1对收,全双工
485是一根双绞线,422是两根,刚才说到485同一时间要么收,要么发,422两根可以同时收发,所以他是全双工,还有个不同的地方:输出±2V,不同于485,1.5V,接收200mv,以太网也是双绞线差分传输,千兆网络把4,5,7,8也用上了。
二、软件接口
什么是OPC?
OPC大家应该不陌生了,为啥要有OPC呢?世界这么大,这么多厂商,各家为政,我们不可能每次都为不同的设备开发一款驱动。
OPC了解后来看下工业现场总线
现有的总线类型达2~30种,例如常见的:
Controlnet=AB公司
Profibus profinet=西门子公司
Modbus rtu tcp=施耐德公司
工业总线网络可归为三类:485网络、HART网络、FieldBus现场总线网络。
-
485网络:RS485/MODBUS是现在流行的一种工业组网方式,其特点是实施简单方便,而且支持RS485的仪表又特别多。仪表商也纷纷转而支持RS485/MODBUS,原因很简单, RS485的转换接口不仅便宜而且种类繁多。至少在低端市场上,RS485/MODBUS仍将是最主要的工业组网方式。
-
HART网络:HART是由艾默生提出的一个过渡性总线标准,主要特征是在4-20毫安电流信号上面叠加数字信号,但该协议并未真正开放,要加入他的基金会才能拿到协议,而加入基金会要一定的费用。HART技术主要被国外几家大公司垄断,近些年国内也有公司在做,但还没有达到国外公司的水平。有很多智能仪表带有[HART圆卡],支持HART通讯功能。但从国内情况来看,还没有真正用到这部分功能来进行设备联网监控,最多只是利用手操器对其进行参数设定。从长远来看,由于HART通信速率低、组网困难等原因,HART仪表的应用将呈下滑趋势。
-
FieldBus现场总线网络:现场总线是当今自动化领域的热点技术之一,被誉为自动化领域的计算机局域网。它的出现标志着自动化控制技术又一个新时代的开始。现场总线是连接控制现场的仪表与控制室内的控制装置的数字化、串行、多站通信的网络。其关键标志是能支持双向、多节点、总线式的全数字化通信。现场总线技术成为国际上自动化和仪器仪表发展的热点,它的出现使传统的控制系统结构产生了革命性的变化,使自控系统朝着“智能化、数字化、信息化、网络化、分散化”的方向进一步迈进,形成新型的网络通信的全分布式控制系统——现场总线控制系统FCS(Fieldbus Control System)。然而,现场总线还没有形成真正统一的标准,ProfiBus、CANbus、CC-Link等多种标准并行存在,并且都有自己的生存空间。何时统一,遥遥无期。支持现场总线的仪表种类还比较少,可供选择的余地小,价格又偏高,用量也较小。
这么多类型的总线,把设备比喻成一把锁,驱动比喻成1把钥匙,正确的钥匙才能开对应的锁,那么OPC就是一把钥匙串.
做过OPC server或client开发的同学知道,分三层结构:
Server是一个班级
group是一个组
item是一个学生
OPC基金会官网:
https://opcfoundation.org/
http://opcfoundation.cn/about/opc-foundation/history/index.aspx
https://www.opcconnect.com/index.php?q=source.php
主要的厂商有:kepware、wintech、matrikon OPC、Light OPC。TOP Server OPC与kepware分家,研发部分开了。
-
OPC server开发包
-
Wintech公司WTOPCsvr.dll
-
Iconics和FactorySoft 的服务器开发工具
-
IFIX的OPC Server Toolkit
下面我们在来理解下传输协议:
-
-
搭建测试环境
-
数据帧
-
Modbus RTU数据传输协议
-
1.搭建测试环境
-
Win7 32位
-
VSPD虚拟串口
-
Modsim32仿真plc或设备
2.数据帧:
-
画、胶片、快递包
-
数据包(快递包)由三部分组成,头部,数据,尾部
-
基础知识:8bit=1byte,4个bit组成1个16进制位
-
Byte用十六进制表示
-
1个byte是2个16进制位
-
传输1个byte需要11bit,起始位,结束为,校验位
-
数据帧和字节byte之间的关系:byte相当于汉子,数据帧相当于短信
-
数据帧之间如何隔断:时间,modbus是3.5个byte传输时间,差不多4ms,1/9600*11*3.5
文章底部附着Honeywell写的ModeBus集成指南,比官方要好。
ModeBus是莫迪康公司提出的公开协议,接下来公司被施耐德收购,主要关注两点:去哪里?去干什么?
去哪里:设备编号、设备内部数据编号。
去干什么:读、写
这张图可以解释为什么有的上位机软件地址是400100,有的是40010.
分为六位和五位,标法不一样。
另外其功能码要牢记,蓝色的为常用的。
Modbus RTU
数据帧是多个数据的组合,不同的协议规定不同,可以理解成,数据是一个汉字,数据帧是一个短信。由三部分组成:头部+数据+尾部
数据帧的构成,传输1个byte需要11bit,起始位+结束位+校验校正。
-
帧首:设备地址1-247,1个byte
-
帧尾:循环冗余校验(CRC),2个byte
-
CRC校验和奇偶校验区别: CRC检验数据帧,奇偶校验一个Byte
同一个串口,只能一个软件占用,有的数据位是7位的另算,大部分都是8位。
3.数据的传输协议:
CRC校验占2个Byte
-
低8位先传输
-
高8位后传输
PDU里面的数据,地址
-
高8位先传输
-
低8位后传输
为什么要约定协议呢?
协议可以理解成语言,汉语、英语、日语等,你说汉语、我说英语,互相听不懂。
以上文件都可从页底的下载链接中获取。
好了,今天的基础课程就到这里,下一节将分享:如何使用VB开发监控软件。
本文中所有附带资料及工具软件的下载方法:
公众号:电气CAD论坛后台回复
串口资料
即可获取下载链接。欢迎继续关注“串口那些事儿-应用篇”。如果这篇文章对你有帮助,欢迎向作者打赏!
本分享课来自电气CAD论坛微信群
始发于微信公众号: 电气CAD论坛