工业通讯领域的总线、协议、规范、接口、数据采集与控制系统

2023-05-16

一、工控安全

工控,指的是工业控制自动化,主要利用电气、机械、软件组合的方式实现, 即是工业控制系统,或者是工厂自动化控制。工控安全指的是工业控制系统的数据、网络和系统安全。

随着工业信息化的迅猛发展,德国的“工业4.0”、美国的“再工业化”风潮、“中国制造2025”等国家战略的推出,以及云计算、大数据、人工智能、物联网等新一代信息技术与制造技术的加速融合,工业控制系统由从原始的封闭独立走向开放、由单机走向互联、由自动化走向智能化。但在工业企业获得巨大发展动能的环境背景下,也滋生了大量安全隐患,工控安全正面临严峻的挑战 。

工控系统安全现状

1. 工控设备(如PLC、DCS等)以及工控协议本身普遍在设计之初就较少考虑信息安全方面的问题 。 工控设备主要关注的是功能安全,系统的稳定性及可靠性方面;互联网通常都通过加密、身份认证等方式来保证协议传输的安全性,如SSH、HTTPS协议。而工控协议基本都是采用明文方式传输,并且缺少身份认证的支持 。

2. 工控系统在建设之初较少考虑信息安全问题 ,比如在进行内外网交互的时候,大多只采用了物理隔离的方式进行安全建设,存在很大的安全隐患。

3. 随着互联网的发展,“两化融合”、“互联网+”、“工业4.0”等概念的推进,工控系统与互联网的信息交互变得十分必要且频繁,这就把系统中隐藏的风险、漏洞暴露出来,同时也会引入新的风险 。

4. 其他问题: 工业控制产品漏洞屡见不鲜 、 缺乏有效的全生命周期安全管理 、操作人员信息安全意识低等问题。

生产场景中常见的安全问题

1. 操作站、工程师站等HMI人机界面通常采用windows系统,并且基本不进行补丁更新。

2. DCS与工程师站、操作站之间进行通信时,基本不进行身份验证、规则校验、加密传输、完整性检查等。

3. 外部运维操作没有审计监管。

4. 工程师站权限非常大,有些是通用的工程师站,只要接入生产网络,就可以对控制系统进行运维。

5. 工控系统普遍存在弱口令问题。

6. 通信协议的安全性考虑不足,容易被攻击者利用。专用的工控通信协议或规约在设计之初一般只考虑通信的实时性和可用性,很少或根本没有考虑安全性问题,例如缺乏强度足够的认证、加密或授权措施等 。

7. 安全策略和管理制度不完善,人员安全意识不足。目前大多数行业尚未形成完整合理的信息安全保障制度和流程,对工控系统规划、设计、建设、运维、评估等阶段的信息安全需求考虑不充分。

工控安全与传统安全的区别

1、工控安全的特殊性

1. 网络通信协议不同,工控安全大多使用各个厂商的私有协议,比如ModBus协议、西门子的S7协议等。

2. 系统稳定性要求高:网络安全造成的误报在一定程度上都等同于攻击。

3. 系统运行环境不同:工控系统运行环境相对原始和落后,大多使用老版本的WinXP、WIn7等系统,并且一般不打安全补丁。

4. 网络结构和行为相对稳定:不能频繁变动调整。

5. 网络防护要求高:不能通过简单的打补丁来解决问题。

2、工控安全的防护目标不同

对于工控系统来说,防护目标与传统安全的防护目标同样存在较大差异,具体情况如下:

3、防护手段不同

4、网络架构区别

5、数据传输区别 

6、运行环境不同 

相关安全防护标准

二、工业通讯领域总线、协议、规范、接口、数据采集与控制系统

主流工业品牌

西门子

罗克韦尔

博世、倍福、三菱、欧姆龙、施耐德

 

其他

 

工业控制网络

CCS

计算机集中控制系统。

控制系统的结构从最初的CCS(计算机集中控制系统),到第二代的DCS(分散控制系统),发展到现在流行的FCS(现场总线控制系统)。

DCS

分散控制系统/分布式控制系统。

DCS是分布式控制系统的英文缩写(Distributed Control System),在国内自控行业又称之为集散控制系统。是相对于集中式控制系统而言的一种新型计算机控制系统,它是在集中式控制系统CCS的基础上发展、演变而来的。

DCS它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机,通信、显示和控制等4C技术,其基本思想是分散控制、集中操作、分级管理、配置灵活以及组态方便。

FCS

现场总线控制系统。

现场总线(Field bus)是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。由于现场总线简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视。

它是一种工业数据总线,是自动化领域中底层数据通信网络。

简单说,现场总线就是以数字通信替代了传统4-20mA模拟信号及普通开关量信号的传输,是连接智能现场设备和自动化系统的全数字、双向、多站的通信系统。

现场总线

工业领域具有自身的特殊性,因此造就了众多的总线,工业以太网,接口,协议,标准。

就现场总线而言,目前世界上依然存在着大概40余种,大家比较熟悉的有西门子的ProfiBus、

PhenixContact公司的InterBus,罗克韦尔的DeviceNet与ControlNet等等。

由于行业特性的不同,在不同的行业,也存在着不同的总线协议,各种各样的现场总线大都用于过程自动化、医药领域、加工制造、交通运输、国防、航天、农业和楼宇等领域,大概不到十种的总线占有80%左右的市场。

CAN

控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。

CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

DeviceNet

DeviceNet是一种用在自动化技术的现场总线标准,由美国的Allen-Bradley公司在1994年开发。DeviceNet使用控制器局域网络(CAN)为其底层的通讯协定,其应用层有针对不同设备所定义的行规(profile)。主要的应用包括资讯交换、安全设备及大型控制系统。在美国的市场占有率较高。

DeviceNet通讯协定是由美国的Allen-Bradley公司(后来被洛克威尔自动化公司合并)所开发,以Bosch公司开发的控制器局域网络(CAN)为其通讯协定的基础。DeviceNet移植了来自ControlNet(另一个由Allen-Bradley公司开发的通讯协定)的技术,再配合控制器局域网络的使用,因此其成本较传统以RS-485为基础的通讯协定要低,但又可以有较好的强健性。

为了要推展DeviceNet在世界各地的使用,洛克威尔公司决定将此技术分享给其他厂商。后来DeviceNet通讯协定是由位在美国的独立组织开放DeviceNet厂商协会(ODVA)管理。ODVA维护DeviceNet的规格、也提供一致化测试),确保厂商的产品符合DeviceNet通讯协定的规格。

后来ODVA将DeviceNet通讯和其他相关的通讯协定整合成通用工业协定(CIP),其中包括以下的通讯协定:

1. EtherNet/IP(其N为大写,此处的IP不是网际协议,为“Industrial Protocol”的简称)
2. ControlNet
3. DeviceNet
4. CompoNet

CCL-Link

CC-Link是Control&Communication Link(控制与通信链路系统)的缩写,在1996年11月,由三菱电机为主导的多家公司推出。在其系统中,可以将控制和信息数据同时以10Mbit/s高速传送至现场网络,具有性能卓越、使用简单、应用广泛、节省成本等优点。其不仅解决了工业现场配线复杂的问题,同时具有优异的抗噪性能和兼容性。

CC-Link是一个以设备层为主的网络,同时也可覆盖较高层次的控制层和较低层次的传感层。

Profibus

PROFIBUS – DP的DP即Decentralized Periphery。它具有高速低成本,用于设备级控制系统与分散式I/O的通信。它与PROFIBUS-PA(Process Automation )、PROFIBUS-FMS (Fieldbus Message Specification )共同组成了PROFIBUS标准。

PROFIBUS是一个用在自动化技术的现场总线标准,在1987年由德国西门子公司等十四家公司及五个研究机构所推动,PROFIBUS是程序总线网络(PROcess FIeld BUS)的简称。PROFIBUS和用在工业以太网的PROFINET是二种不同的通信协议。

1、Profibus-DP

PROFIBUS–DP协议明确规定了用户数据怎样在总线各站之间传递,但用户数据的含义是在PROFIBUS行规中具体说明的。另外,行规还具体规定了PROFIBUS-DP如何用于应用领域。使用行规可使不同厂商所生产的不同设备互换使用,而工厂操作人员毋须关心两者之间的差异。因为与应用有关的含义在行规中均作了精确的规定说明。

Profibus-DP用于现bai场层的高速数据传送。du在这一级,中央处理器(如PLC,PC)通过高zhi速串行线同分散dao的现场设备(i/0,驱动器、阀门等)进行通讯。

PROFIBUS DP(分布式周边,Decentralized Peripherals)用在工厂自动化的应用中,可以由中央控制器控制许多的传感器及执行器,也可以利用标准或选用的诊断机能得知各模块的状态。

2、Profibus-PA

Profibus-PA 适用于Profibus过程自动化。PA 将自动化系统和过程控制系统与压力、温度和液位变送器等现场设备连接起来,并可用来替代4-20mA的模拟技术。

PROFIBUS PA(过程自动化,Process Automation)应用在过程自动化系统中,由过程控制系统监控量测设备控制,是本质安全的通信协议,可适用于防爆区域(工业防爆危险区分类中的Ex-zone 0及Ex-zone 1)。其物理层(缆线)匹配IEC 61158-2,允许由通信缆线提供电源给现场设备,即使在有故障时也可限制电流量,避免制造可能导致爆炸的情形。因为使用网络供电,一个PROFIBUS PA网络所能连接的设备数量也就受到限制。

PROFIBUS PA的通信速率为31.25 kbit/s。PROFIBUS PA使用的通信协议和PROFIBUS DP相同,只要有转换设备就可以和PROFIBUS DP网络连接,由速率较快的PROFIBUS DP作为网络主干,将信号传递给控制器。在一些需要同时处理自动化及过程控制的应用中就可以同时使用PROFIBUS DP及PROFIBUS PA。

3、Profibus-FMS

Profibus-FMS的设计旨在解决车间监控级通信任务,提供大量的通信服务。可编程序控制器
(如如PLC,PC机等)之间需要比现场层更大量的数据传送,用以完成中等传输速度进行的循环与非循环的通信服务,但通信的实时性要求低于现场层。

工业以太网

1、EtherNet/IP

工业以太网协议 (Ethernet/IP) 是由ODVA所开发并得到了罗克韦尔自动化的强大支持。它使用已用于ControlNet和DeviceNet的控制和信息协议 (CIP) 为应用层协议。

EtherNet/IP指的是"以太网工业协议"(Ethernet Industrial Protocol)。它定义了一个开放的工业标准,将传统的以太网与工业协议相结合。

该标准是由国际控制网络(CI, ControlNet International)和开放设备网络供应商协会 (ODVA)在工业以太网协会 (IEA, Industrial Ethernet Association)的协助下联合开发的,并于2000年3月推出。EtherNet/IP是基于TCP/IP系列协议,因此采用以原有的形式OSI层模型中较低的4层。所有标准的以太网通信模块,如PC接口卡、电缆、连接器、集线器和开关都能与 EtherNet/IP 一起使用。

CIP提供了一系列标准的服务,提供“隐式”和“显示”方式对网络设备中的数据进行访问和控制。 CIP数据包必须在通过以太网发送前经过封装,并根据请求服务类型而赋予一个报文头。这个报文头指示了发送数据到响应服务的重要性。通过以太网传输的CIP数据包具有特殊的以太网报文头,一个IP头、一个TCP头和封装头。封装头包括了控制命令、格式和状态信息、同步信息等。这允许CIP数据包通过TCP或UDP传输并能够由接收方解包。相对于DeviceNet或ControlNet,这种封装的缺点是协议的效率比较低。以太网的报文头可能比数据本身还要长,从而造成网络负担过重。因此,EtherNet/IP更适用于发送大块的数据 ( 如程序 ) ,而不是DeviceNet和ControlNet更擅长的模拟或数字的I/O数据。

EtherNet Industry Protocol是适合工业环境应用的协议体系。它是基于控制与信息协议CIP(Control and Informal/on Protoco1)的网络,是一种是面向对象的协议,能够保证网络上隐式的实时I/O信息和显式信息(包括用于组态参数设置、诊断等)的有效传输。

EtherNet/IP采用标准的EtherNet和TCP/IP技术来传送CIP通信包,通用且开放的应用层协议CIP加上已经被广泛使用的EtherNet和TCP/IP协议,就构成EtherNet/IP协议的体系结构。

2、EtherCAT

EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网,最早是由德国的Beckhoff公司研发。
自动化对通讯一般会要求较短的资料更新时间(或称为周期时间)、资料同步时的通讯抖动量低,而且硬件的成本要低,EtherCAT开发的目的就是让以太网可以运用在自动化应用中。

一般工业通讯的网络各节点传送的资料长度不长,多半都比以太网帧的最小长度要小。而每个节点每次更新资料都要送出一个帧,造成带宽的低利用率,网络的整体性能也随之下降。EtherCAT利用一种称为“飞速传输”(processing on the fly)的技术改善以上的问题。 

在EtherCAT网络中,当资料帧通过EtherCAT节点时,节点会复制资料,再传送到下一个节点,同时识别对应此节点的资料,则会进行对应的处理,若节点需要送出资料,也会在传送到下一个节点的资料中插入要送出的资料。每个节点接收及传送资料的时间少于1微秒,一般而言只用一个帧的资料就可以供所有的网络上的节点传送及接收资料。

3、HSE

HSE(高速以太网)连接主机、I/O子系统、网关和现场设备,运行速度为100 Mbps。基金会现场总线协议Fieldbus已经作为IEC 61804中的现场总线标准。

4、Profinet

PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。

PROFINET为自动化通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技术,可以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。

5、EPA

EPA是Ethernet for Plant Automation的缩写,它是Ethernet、TCP/IP等商用计算机通信领域的主流技术直接应用于工业控制现场设备间的通信,并在此基础上,建立的应用于工业现场设备间通信的开放网络通信平台。

2005年 12月EPA被正式列入现场总线国际标准IEC 61158(第四版)中的第十四类型,并列为与IEC 61158相配套的实时以太网应用行规国际标准IEC 61784-2中的第十四应用行规簇(Common Profile Family 14,CPF14)。

2005年 02月我国自主研发的实时以太网EPA通信协议Real time Ethernet EPA (Ethernet for Plant Automation) 顺利通过IEC各国家委员会的投票,正式成为IEC/PAS 62409文件。

2005年 01月 “2004年度工控及自动化领域十大新闻”评选结果揭晓,“EPA为IEC收录,作为PAS国际标准予以发布”荣膺十大新闻之列。

2004年 11月“EPA基于高速以太网技术的现场总线控制设备”荣获第六届上海国际工业博览会创新奖。

2004年 10月EPA实时以太网在第六届中国国际高新技术成果交易会上广受关注。

2004年 09月浙大中控EPA实时以太网震撼MICONEX2004――第十五届多国仪器仪表展览会MICONEX2004。

2004年 05月浙江大学、浙大中控主持制定的《EPA标准》(征求意见稿)通过国家标委会的审核。

2003年 04月在EPA标准的基础上,课题组开发了基于EPA的分布式网络控制系统原型验证系统,并在杭州龙山化工厂的联碱碳化装置上成功试用。

2003年 01月浙江大学、浙大中控主持制定的《用于工业测量与控制系统的EPA系统结构与通信标准》通过专家评审。

2003年 01月EPA国家标准起草工作组成立。

2002年 10月浙大中控“基于以太网的EPA网络通信技术及其控制系统”项目通过了浙江省科技厅组织的技术鉴定。

2001年 10月由浙江大学牵头,以浙大中控为主,清华大学、大连理工大学、中科院沈阳自动化所、重庆邮电学院、TC124等单位联合承担国家“863”计划CIMS主题重点课题“基于高速以太网技术的现场总线控制设备”,开始制定EPA标准。

6、PowerLink

开源实时通信技术Ethernet POWERLINK 是一项在标准以太网介质上,用于解决工业控制及数据采集领域数据传输实时性的最新技术。本文介绍它的基本原理、相关特性如冗余、直接交叉通信、拓扑结构、安全性设计,并定义其物理层与介质等内容。

POWERLINK=CANopen+Ethernet

鉴于以太网的蓬勃发展和CANopen在自动化领域里的广阔应用基础,EthernetPOWERLINK 融合了这两项技术的优点和缺点,即拥有了Ethernet的高速、开放性接口,以及CANopen在工业领域良好的SDO 和PDO 数据定义,在某种意义上说POWERLINK就是Ethernet 上的CANopen,物理层、数据链路层使用了Ethernet介质,而应用层则保留了原有的SDO 和PDO对象字典的结构,这样的好处在于:

- POWERLINK 无需做较多的改动即可实现;
-保护原有投资的利益;
-开放性的接口;

7、Modbus

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成,可应用于各种数据采集和过程监控。

ModBus网络只有一个主机,所有通信都由它发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。

Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其他设备的请求,以及怎样侦测错误并记录。

Modbus是采用请求/应答方式的应用层消息协议,非常方便实现在低级设备和高级设备间通信,它包含三个独特的协议数据单元:modbus请求、modbus应答以及modbus异常应答。modbus请求中包含功能码和请求。modbus功能码有公共功能码、用户定义功能码和保留功能码三种类型。
modbus可以采用多种通信方式,如modbus RTU与Modbus ASCII、Modbus TCP、Modbus Plus。

8、IEC 60870-5-104

IEC 60870-5-104是国际电工委员会制定的一个规范,用于适应和引导电力系统调度自动化的发展,规范调度自动化及远动设备的技术性能。IEC 60870-5-104可用于交通行业,利用IEC104规约实现城市轨道交通中变电站与基于城域网的综合监控系统的集成通信是非常好的一个方法,它既保证了电力监控系统的开放性,又能很好的满足城市轨道交通系统对电力监控系统信息传输的实时、可靠等要求,又有利于利用标准化的优势带来开发的便捷性。

9、BACnet

楼宇自动控制网络数据通讯协议(A Data Communication Protocol for Building Automation and Control Networks)是由美国暖通、空调和制冷工程师协会(ASHRAE )组织的标准项目委员会135P (Stand Project Committee即SPC 135P)历经八年半时间开发的。

BACnet 协议是为计算机控制采暖、制冷、空调系统和其他建筑物设备系统定义服务和协议,从而使BACnet协议的应用以及建筑物自动控制技术的使用更为简单。

10、Siemens S7

Siemens S7属于第7层的协议,用于西门子设备之间进行交换数据,通过TSAP(Transport Service Access Point,传输服务访问点),可加载MPI(Multi Point Interface,多点接口),DP(传输协议,实现控制CPU和分布式I/O之间快速、循环的数据交换),以太网等不同物理结构总线或网络上,PLC一般可以通过封装好的通讯功能块实现。

11、DNP3

DNP3全称是Distributed Network Protocol 3,分布式网络协议3,是一种应用于自动化组件之间的通讯协议,常见于电力、水处理等行业。SCADA可以使用DNP协议与主站、RTU(远程终端设备)、及IED(智能电子设备)进行通讯。

它比起s7comm大刀阔斧做的协议栈要简单的多,是完全基于TCP/IP的,只是修改了应用层(但比modbus的应用层要复杂得多),在应用层实现了对传输数据的分片、校验、控制等诸多功能。

DNP3协议是一个广泛应用于电力系统中子站与主站通讯的协议,因为DNP3协议可以封装在以太网TCP/IP上运行(默认端口为TCP的 20000端口),这样难免就会有暴露在公网的情况,而DNP3协议也比较特殊,其主要应用在电力行业的自动化组件之间的通信,在暴露的数据中肯定不乏一些电力行业的设备以及系统。

12、PCWorx

2005年,菲尼克斯电气公司首次推出中文版大型工控软件 PCWORX,这是欧美公司推出的第一套中文版大型工控软件。该中文版工控软件的推出将极大地方便中国用户对于先进自动化技术的学习和使用,代表了欧美公司对中国市场的又一贡献。

菲尼克斯电气的自动化技术AUTOMATIONWORX 不仅由大量的硬件和支持软件所构成,可以形成各种典型的自动化系统,如单纯的总线系统,具有安全功能的总线系统,以太网与总线相结合的系统,以及正在推出的网络技术”E网到底”的自动化系统;它还涵盖了 INTERBUS、Ethernet PROFINET、工业无线通讯、光纤以及安全等技术,PCWORX3.11是菲尼克斯电气公司的专用协议。

13、OPC

OPC(OLE for Process Control,用于过程控制的OLE)是世界上最广为应用的信息交换的互操作标准,它具有安全性、可靠性以及平台独立性。
工业网络协议总体上可以归类为内部私有网络协议,其协议规约是由厂商根据自己的设备自行规定的,没有统一的协议标准。

14、OMRON FINS

欧姆龙是来自日本的知名电子和自控设备制造商,其中小型PLC在国内市场有较高的市场占有量,有CJ、CM等系列,PLC可以支持Fins,Host link等协议进行通信。支持以太网的欧姆龙PLC CPU、以太网通信模块根据型号的不同,一般都会支持FINS(Factory Interface Network Service)协议,一些模块也会支持EtherNet/IP协议,Omron fins协议使用TCP/UDP的9600端口进行通信,fins协议封装在TCP/UDP上进行通信,需要注意的是TCP模式下组包和UDP模式下在头部上有所差异。具体协议包的构造可以参考欧姆龙官方的协议文档。FINS协议实现了OMRON PLC与上位机以太网通信。

15、Tridium Niagara Fox

Tridium是Honeywell旗下独立品牌运作的全资子公司。采用Tridium技术的世界著名品牌包括:Honeywell,Siemens,JCI,Schneider,Samsung 和IBM等。Tridium创造性的开发了软件框架“Niagara Framework”。基于Niagara框架可以集成、连接各种智能设备和系统,而无需考虑它们的制造厂家和所使用的协议,形成一个统一的平台,实现互联互通互操作,并可以通过互联网基于Web浏览器进行实时控制和管理。另外,基于Niagara框架,客户可以进行二次开发,实现其专有的应用,开发其专有的产品。

NiagaraAX平台到今天已经整合了不同层级的东西,之前谈论的大多数都是设备,硬件设备是为建筑或者园区提供基础设置的,另外一些包括安防系统、访客管理、能源计费系统、管理服务、设备、设施维护计划,资产管理、设施管理等系统,NiagaraAX可以把这些基础设备和系统相互衔接起来,使用专有的Tridium Niagara Fox协议通信,给客户创造价值。

16、ProConOs

ProConOS是德国科维公司(KW-Software GmbH)开发的用于PLC的实时操作系统,ProConOS embedded CLR是新型的开放式标准化PLC运行时系统,符合IEC 61131标准,可执行不同的自动化任务(PLC、PAC、运动控制、CNC、机器人和传感器)。

通过采用国际标准的微软中间语言(依据IEC/ISO 23271标准为MSIL/CIL)作为设备接口,可使用C#或IEC 61131标准语言对ProConOS Embedded CLR编程,ProConOS Embedded CLR为客户提供了实时的嵌入式应用。该操作系统使用ProConOs专有的工控协议通讯,服务端口号是20547。

17、Crimson v3.0

红狮(Red Lion Controls)控制系统制造公司位于美国的宾西法尼亚州,可以制造多种工业控制产品从定时器和计数器到精密复杂的人机界面,具有最新的贴片安装和板上芯片的生产能力。红狮工程团队可以提供各种新产品设计,从应用范围很广的标准控制产品到根据客户和OEM的要求而定做的产品。美国红狮控制公司为其交货迅速、良好的客户服务和高质量的技术支持而引以为豪。

Crimson v3.0 是redlion公司最受欢迎的工控系统配置软件,产品协议成为自动化市场最受欢迎的协议之一,免费的Crimson3.0软件拥有强大的功能,支持拖拉式组态结构,显示,控制,数据记录仪功能,是为了充分发挥MC系列产品的功能而设计开发的。大部分简单的应用程序可以一步步建立,配置相关的通讯协议和数据标签。内置多种串口和以太网口驱动程序选择菜单,可以数秒内将数据下载到MC上,内置各种驱动程序,无需编写任何代码就可以和各种PLC,PC机和SCADA系统通讯。

18、MELSEC-Q

三菱Q系列PLC以太网模块系统默认开放了TCP的5007端口和UDP的5006端口用于与GX软件进行通信,通过对通讯协议的分析,可以实现对该系列PLC设备的识别和发现。

19、Tcnet

TCnet是一种网络技术,由国际电工委员会(IEC)认证为国际标准,并批准作为公共可用规范(PAS)发布。它基于以太网,具有实时性和高可靠性的特点。

20、Wnet

WNET (a.k.a. NetBEUI) protocol no longer performs client impersonation.

In all previous Firebird versions, remote requests via WNET are performed in the context of the client security token. Since the server serves every connection according to its client security credentials, this means that, if the client machine is running some OS user from an NT domain, that user should have appropriate permissions to access the physical database file, UDF libraries, etc., on the server filesystem. This situation is contrary to what is generally regarded as proper for a client-server setup with a protected database.

工业无线网

1、IEEE 802.11(a/b/g/n)

IEEE 802.11是现时无线局域网通用的标准,它是由IEEE所定义的无线网络通信工业的标准Wi-Fi——IEEE802.11系列。

无线局域网路的第一个版本发表于1997年,其中定义了介质访问接入控制层(MAC层)和物理层。物理层定义了工作在 2.4GHz的ISM频段上的两种无线调频方式和一种红外传输的方式,总数据传输速率设计为2Mbit/s。

两个设备之间的通信可以自由直接(ad hoc)的方式进行,也可以在基站(Base Station, BS)或者访问点(Access Point,AP)的协调下进行。为了在不同的通讯环境下取得良好的通讯品质,采用 CSMA/CA (Carrier Sense Multi Access/Collision Aviodance)硬件沟通方式。

1999年加上了两个补充版本: 802.11a定义了一个在5GHz ISM频段上的数据传输速率可达54Mbit/s的物理层,802.11b定义了一个在2.4GHz的ISM频段上但数据传输速率高达11Mbit/s的物理层。 2.4GHz的ISM频段为世界上绝大多数国家通用,因此802.11b得到了最为广泛的应用。

苹果公司把自己开发的802.11标准起名叫 AirPort。1999年工业界成立了Wi-Fi联盟,致力解决符合802.11标准的产品的生产和设备兼容性问题。

802.11a,1999年,物理层补充(54Mbit/s工作在5GHz) 。

802.11b,1999年,物理层补充(11Mbit/s工作在2.4GHz) 。

802.11g,2003年,物理层补充(54Mbit/s工作在2.4GHz) 。

802.11n,更高传输速率的改善。

2、Rfieldbus

Wireless Fieldbus-RFieldbus

RFieldbus是在现场总线PROFIBUS基础上研制的一种具有传送IP数据包能力的无线实时通讯系统,又称无线现场总线。

3、ZigBee

ZigBee,也称紫蜂,是一种低速短距离传输的无线网上协议,底层是采用IEEE 802.15.4标准规范的媒体访问层与物理层。主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑、低复杂度、快速、可靠、安全。

工业协议常用端口

协议名称端口号牵头组织应用行业
MODBUS502Modicon公司的,被施耐德电气收购仪器仪表、RTU、过程自动化领域等
EtherNet/IP44818罗克韦尔自动化公司过程自动化领域
BACnet47808ISO、ANSI、ASHRAE智能楼宇控制
S7102西门子通信协议过程自动化领域
DNP320000IEEE水处理
FINS9600欧姆龙公司过程自动化领域
GE SRTP18245美国通用电器,发那科过程自动化领域
MELSEC-Q5006/5007日本三菱过程自动化领域
Tridium-Niagara Fox协议1911Tridium公司智能建筑、基础设置管理、安防等行业
Crimson V3789redlion公司工控系统配置软件
CIP44818ODVA过程自动化
IEC-60870-5-1042400/2404国际电工委员会(IEC)电力行业
Moxa Npot4800台湾MOXA公司过程自动化
PCWorx1962菲尼克斯过程自动化
IEC6185048571国际电工委员会(IEC)电力行业
OPC DA动态端口OPC组织数据采集
OPC UA4840OPC组织数据采集
EGD18246GE,发那科过程自动
CC-link串口三菱电机过程自动化
EtherCAT34980Beckhoff过程自动化
CANopen串口CiA组织过程自动化
ControlNet44818罗克韦尔过程自动化
Deveicenet串口罗克韦尔过程自动化
Powerlink贝加莱、Kuka、 Hirschmann过程自动化
Host link串口欧姆龙公司过程自动化
Profinet34962、34963、34964西门子过程自动化
PROFIBUS串口西门子过程自动化
AS-i串口西门子过程自动化
IO-Link串口西门子过程自动化
SERCOSIIIIEC1491过程自动化
HSE1089、1090、1091IEC 61804过程自动化
ROC Plus4000EmersonDCS
Foxboro DCS FoxApi55555FoxboroDCS
Foxboro DCS AIMAPI45678FoxboroDCS
Foxboro DCS Informix1541FoxboroDCS
LonWorks2540、2541美国埃施朗公司半导体制造、照明控制系统、能源等行业
ICCP(IEC 60870-6/TASE.2)102IEC输电、配电和不同区域的发电厂
DyNet串口飞利浦PLC
DF1串口Allen-BradleyPLC
ProConOs20547德国科维高性能PLC运行时间引擎
EPA35004浙大中控化工领域
MELSEC-Q5007三菱命令处理程序

三、工业控制系统在各行各业的应用

在工业控制系统ICS中使用的通信协议在不同的行业、不同的区域和不同的供应商之间差别很大。

1、电力行业

1.1 IEC 60870-5

IEC 60870-5可能是国际上最流行的变电站自动化协议。在美国,它在功能上等同于DNP3,它使用IEC 60870-5的部分来为数据链路层提供基础。已经制定了许多配套标准,包括以下内容:

IEC 60870-5-101:用于远程控制、远程保护相关的电力系统,是具有监视、控制功能的通信传输协议IEC 60870-5-103:实现安全保护装置和变电站控制系统设备之间互操作性的传输协议IEC 60870-5-104:是IEC 60870-5-101的扩展,包括传输、网络、链路和物理层服务的变化,以及与TCP/IP和其他传输(ISDN、X.25帧中继等)连接的套件IEC 60870-5典型的通信介质包括以太网和串行,典型端口为2404/UDP和2404/TCP。

1.2 分布式网络协议3.0(DNP3)

DNP3广泛应用于北美地区,主要用于替代IEC 60870-5系列协议。它是在20世纪90年代早期开发的一种串行协议,但现在也存在UDP/IP和TCP/IP变体版本。DNP3和IEC 60870-5之间存在许多相似之处,因为IEC 60870-5开发委员会的几个成员在开发过程中离开,创建了后来的DNP3。因此,DNP3和IEC 60870-5的数据链路层非常相似,但协议的上层差异性较大。

DNP3主要应用于北美电力行业,但该协议也渗透到自来水和污水处理行业。根据牛顿-埃文斯研究公司调查,2008年北美电力公司中有一半以上使用DNP3协议的UDP/IP或TCP/IP变体版本。

目前,研究者正在开发DNP3的安全扩展,预计这些扩展将提供链接加密和密钥管理服务。

DNP3协议典型的通信介质包括以太网和串行连接,DNP3通常使用端口有20000/UDP,20000/TCP,19999/UDP和19999/TCP。

1.3 基金会现场总线(FOUNDATION Fieldbus)

基金会现场总线协议是不同工业进程中的主要现场总线协议。它主要用于过程/工厂自动化,已部署在各种装置中,包括发电厂/发电机控制和半导体制造的控制。Fieldbus的通信介质包括双绞线和光纤。典型端口包括1089/UDP,1089/TCP,1090/UDP,1090/TCP,1091/UDP和1091/TCP。

现场总线基金会网站上提供了基金会现场总线协议支持设备的公共列表。现场总线基金会的成员包括350多家领先的控制系统和仪表供应商以及一些最终用户。

1.4 控制中心间通信协议(ICCP)

ICCP(IEC 60870-6/TASE.2)用于控制中心之间的通信,主要用于电力行业。在美国,ICCP网络经常被用于公用事业公司的协同 -- 通常是具有传输业务的公用事业,如输电、配电和不同区域的发电厂,将这些不同区域的服务商连接在一起,可以以协调不同地区之间的电力输入和输出。ICCP通常使用端口102/TCP。

1.5 Modbus协议

由于其使用简单、可免费下载以及免版权费部署等特性,Modbus成为所有领域中最受欢迎的控制协议。

PLC和继电器等智能设备通常使用Modbus协议或者其变体与远程RTU等简单设备进行通信。除Modbus标准协议外,Modbus +是最普遍的一个变体。Modbus网站上提供了Modbus成员列表(属于Modbus开发人员组的公司和开发人员)。此列表包括各个成员以及每个成员制造的产品的简要说明。还提供了Modbus供应商列表、Modbus设备列表以及提供Modbus系统集成服务的公司列表。

现在有许多Modbus变体,Modbus RTU是一种开放标准、允许通过串行连接进行通信的二进制编码协议。Modbus ASCII也是一种开放标准、支持串行连接的ASCII编码协议。Modbus/TCP是一种开放标准、它将Modbus RTU有效负载封装在TCP数据包中,并对功能码进行了一些限制。Modbus/UDP因供应商而异,但最常见的是通过UDP传输Modbus/TCP。Modbus +是一种扩展的高速(1Mbps)版本,它使用令牌传递技术进行传输介质访问控制,但Modbus +是Modicon的专有协议。Enron(或Daniels)Modbus是标准的Modbus协议,具有供应商扩展,将32位值视为一个寄存器而不是两个。JBus是具有较小的寻址变化的Modbus协议版本。

Modbus典型的通信介质包括以太网和串口(RS485双线非常常见)。Modbus通常在端口502/TCP上通信。

2 石油和天然气行业

石油和天然气行业没有明显的主流专用协议。该行业使用各种协议,如DNP3,IEC 60870-5和Modbus。第1节更深入地讨论了这些协议。多种现场总线协议,如基金会现场总线协议Feildbus,也能在许多石油和天然气设施中也能看到。

石油和天然气行业的通信经常通过无线进行传输,通过RTU和传感器为PLC提供流量和压力数据,PLC运行安全保护系统和油井控制系统等。

2.1 DNP3和IEC 60870-5

关于DNP3和IEC 60870-5的讨论在5.2节的电力行业部分中已经给出。在Triangle Microworks Inc.网站上,列出了使用DNP3和IEC 60870-5的石油和天然气公司的清单,在该网站还可以找到关于协议的白皮书。

典型的通信介质包括以太网和串行连接。DNP3通常使用端口20000/UDP,20000/TCP,19999/UDP和19999/TCP,而IEC 60870-5通常使用2404/UDP和2404/TCP。

2.2 Modbus协议

如第5.2节中对Modbus的描述所述,Modbus是石油和天然气领域的流行控制协议。另外基金会现场总线协议在石化领域也很受欢迎。

典型的通信介质包括以太网和串口(RS485双线非常常见)。Modbus通常在端口502/TCP上运行。

3 水处理行业

3.1 DNP3协议

如第5.2节中对DNP3的描述所述,该协议在水处理领域也很受欢迎。典型的通信介质包括以太网和串行连接。DNP3通常使用端口20000/UDP,20000/TCP,19999/UDP和19999/TCP。

3.2 Modbus协议

在上文关于电力行业部分,对Modbus的描述中提到过,Modbus是水处理行业中比较流行控制协议。典型的通信介质包括以太网和串行总线。Modbus通常在端口502/TCP上运行。

4 建筑自动化领域

在建筑自动化领域,LonWorks(也称为LonTalk或ANSI/CEA 709.1B)是主流的通信协议,其次是DyNet,还有一些其他通信协议。典型的通信介质包括电力线载波、双绞线/以太网、光纤和RF。主要通信端口包括2540/UDP,2540/TCP,2541/UDP和2541/TCP。

4.1 LonWorks (LonTalk, 或ANSI/CEA 709.1-B)

美国埃施朗公司(Echelon)基于LonWorks协议了一个网络平台,也叫做LonWorks平台。该平台广泛应用于许多行业,包括半导体制造、照明控制系统、能源管理系统、HVAC系统、安防系统、家庭自动化、消费电器控制、公共街道照明/监控/控制和加油站控制。LonWorks的典型应用是用作恒温器,通过LonTalk协议与PC和PLC通信,来协调建筑物内部的空调和通风系统(HVAC)。

ISO和IEC已授予LonWorks平台兼容性标准号ISO/IEC 14908-1,-2,-3和-4(ANSI/CEA-852)。LonWorks还构成了IEEE 1473-L(列车网络,Locomotive networking)以及其他几个特定的应用领域的应用。中国已批准LonWorks作为国家控制标准(GB/Z 20177.1-2006)并作为建筑和智能社区标准(GB/T 20299.4-2006)。欧洲设备制造商委员会也已将LonWorks作为其家用电器控制和监控 - 应用互通规范标准的一部分。

4.2 DyNet

DyNet是由Dynalite(现为飞利浦电子公司所有)开发的专有协议。DyNet设备包括自己的可编程控制器,并通过点对点模型通信。

DyNet典型的通信介质包括RS-485串行总线、RS-232串行总线、以太网和红外。

4.3 其他协议

还有许多协议用于建筑自动化系统。最受欢迎的包括INSTEON,X10,ZigBee,X-Wave和KNX/Konnex。

5 过程自动化(制造业)领域

过程自动化领域的以现场总线协议为主,包括PROFINET、基金会现场总线协议Fieldbus和通用工业协议CIP及其衍生协议。IEC 61158和IEC 61784包含每种主要现场总线协议及其变体的详细说明。

5.1 DF1协议

DF1是ANSI X3.28协议中D1和F1部分中定义的串行通信协议。该协议最初由Allen-Bradley(现为罗克韦尔自动化公司所有)开发,通常用作向Allen-Bradley PLC传输可编程控制器通信命令(PCCC)。

5.2 基金会现场总线协议Fieldbus

基金会现场总线协议Fieldbus适用于基本和高级调节控制的应用,以及与这些功能相关的大部分离散控制场景。基金会现场总线协议Fieldbus有两种不同速度和不同传输媒介运行的实现方式:H1是最常见的实现方式,通常连接现场设备并以31.25Kbps运行; HSE(高速以太网)连接主机、I/O子系统、网关和现场设备,运行速度为100 Mbps。基金会现场总线协议Fieldbus已经作为IEC 61804中的现场总线标准。

5.3 过程现场总线协议Profibus

Profibus由德国教育和研究部门BMBF开发。它有两种变体,其中较常见的变体是分散式外围设备(DP)协议,通常用于集中控制器与传感器/执行器的通信;另一种变体是过程自动化(PA)协议,用于过程控制系统PCS监控测量设备。PA变体设计并用于爆炸性或危险区域,并使用符合IEC 61158-2的物理传输链路。PA和DP相同的基本相同的通信规约,但PA的运行速度为31.25Kpbs。DP网络和PA网络可以通过一个耦合器连接起来,DP用作骨干网。Profibus现场总线协议包含在IEC 61158和IEC 61784标准中。

5.4 Profinet IO协议

PROFINET概念具有两个视角:PROFINET CBA和PROFINET IO,两者都可以在同一总线系统上进行通信。它们可以单独操作或组合使用,PROFINET IO子系统可以从另一个角度作为PROFINET CBA系统。

POFINET IO开发用于与分布式外围设备的实时(RT)和等时(IRT)通信,实时通信RT的周期时间为10毫秒,等时通信IRT驱动循环时间为1ms或更短。PROFINET CBA适用于通过TCP/IP进行基于组件的通信,以及用于模块化系统工程中的实时通信。两种通信通信模式可以并行使用。PROFINET CBA的反应时间范围为100ms。

PROFINET现场总线协议包含在IEC 61158和IEC 61784标准中。

5.5 CC-Link协议

CC-Link是由日本三菱电机开发,并被其他日本供应商广泛采用的一种现场总线协议。目前,使用CC-Link设备总数超过600万台,涵盖1000多种不同的设备。使用CC-Link协议的工业以太网可以很方便的跟传统的IT网络进行集成。

有四种CC-Link格式:

① CC-Link。

② CC-Link LT(用于低通信需求设备的轻量化版本)。

③ CC-Link Safety(高可靠性版本,符合IEC 61508 SIL3和ISO13849-1 Cat 4标准)。

④ CC-Link IE(工业以太网版)典型的CC-Link通信介质包括双绞线和光纤,CC-Link合作伙伴协会提供合作伙伴名单。

5.6 通用工业协议(CIP)

通用工业协议(CIP)尝试为整个制造业提供统一的通信架构。CIP是EtherNet/IP、DeviceNet、CompoNet和ControlNet的等协议的统一应用层协议。CIP包含一整套消息和服务,用于收集制造自动化应用程序的控制、安全、同步、运动、配置等信息。该协议由Open DeviceNet Vendors Association (ODVA)管理。

5.7 ControlNet协议

ControlNet是由Allen-Bradley开发的一种CIP实现。ControlNet具有支持完全冗余链路电缆的内置功能,所有通信都经过严格的安排从而具有高度确定性。

ControlNet物理层是使用BNC连接器的RG-6同轴电缆或光纤。ControlNet使用曼彻斯特编码,总线速度为5 Mbps。链路层的运行周期称为网络更新时间(NUT),每个NUT具有两个阶段,第一阶段预留给的常规流量传输,以保证传输机会,第二阶段用于没有任何保证的计划外流量传输。ControlNet的最大帧大小为510字节。

5.8 DeviceNet协议

DeviceNet是由Allen-Bradley开发的另一个CIP实现版本。DeviceNet位于控制器区域网络(CAN)物理层之上,并采用ControlNet技术,与传统的基于RS-485的协议相比,它的成本更低和健壮更高。

DeviceNet的波特率分别为125 Kbps、250 Kbps和500 Kbps,主干线长度与总线速度成反比,即分别为500米、250米和125米。大多数部署使用主/从模式,但也可以使用点对点传输。多个主设备在单个逻辑网络上共存。DeviceNet经过精心设计,可以在复杂的电磁环境下稳定运行。

5.9 EtherNet/IP协议

EtherNet/IP是由罗克韦尔自动化开发的CIP协议的实现版本。协议的应用层是CIP。EtherNet/IP是在标准TCP/IP堆栈上构建的应用层协议,它将网络上的所有设备统一视为一系列“对象”,底层利用现有的以太网基础设施(无论速度如何)。整个EtherNet/IP堆栈可以在通用处理器上通过软件实现,无需ASIC或现场可编程门阵列(FPGA)。EtherNet/IP利用44818/TCP进行显式消息传递和2222/UDP用于隐式消息传递。

5.10 EtherCAT协议

EtherCAT(Ethernet for Control Automation Technology)是用于控制自动化技术的以太网协议,其Ethertype为0x88A4,通过将帧数据插入UDP数据包可以实现IP可路由。EtherCAT没有采用每个周期每个节点处理一个帧(更新时间)的模式,而是使用“即时处理”模式。EtherCAT不是简单的从设备接收以太网帧,而是在数据报通过设备时读取发往它们的数据,并在每个节点处作为过程数据进行解释和复制,类似地,在数据报通过时插入输入数据。许多节点可以用一帧寻址。

EtherCAT网络可以通过网关与CANopen,DeviceNet,PROFIBUS和其他协议集成。EtherCAT技术组是国际用户和供应商组建的组织; 截至2009年8月,它由来自47个国家的1100多家公司组成。EtherCAT作为现场总线协议包含在IEC 61158和IEC 61784标准中。EtherCAT使用端口34980/UDP和34980/TCP在以太网LAN之间进行路由。

5.11 EGD协议(Ethernet Global Data)

以太网全局数据(EGD)协议是一种通信机制,它使一个CPU能够以定期调度的周期速率与一个或多个其他CPU共享其内部存储器的一部分。某些GE发那科的PLC使用EGD协议。

5.12 FINS协议

FINS是欧姆龙(一家日本控制公司)开发的协议,并在其新的PLC中使用。它通常使用端口9600/UDP在支持IP的系统上运行。

5.13 Host Link协议

Host Link是欧姆龙为其旧PLC系列开发的协议,但是,许多新的欧姆龙PLC仍然可以使用HostLink协议进行通信。它是基于ASCII码的RS-232总线协议。

5.14 SERCOS协议(Serial Real-Time Communication System)

SERCOS具有严格的实时要求,尤其适用于运动控制,例如金属切割和成型、机械装配、包装、机器人、印刷和材料处理等领域。该协议由SERCOS International管理,目前的版本是SERCOS III。SERCOS在IEC 61158和IEC 61784标准中有详细的定义。

5.15 SRTP协议(Service Request Transfer Protocol)

SRTP是一种用于通过PC向PLC进行命令和数据通信的协议。它被GE发那科PLC用作应用层通信协议。

5.16 Sinec H1协议

Sinec H1是西门子开发的传输层协议,不同的应用层协议可以在其上运行。该协议的大带宽特性使其成为大数据量传输的理想选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

工业通讯领域的总线、协议、规范、接口、数据采集与控制系统 的相关文章

  • VirtualBox虚拟机配置ssh与宿主机互通,实现文件传输

    在virtualbox中安装好Ubuntu16 04之后 xff0c 由于virtualbox与主机之间的文件拖放总是失败 已经安装好了增强功能 xff0c 双向复制 xff0c 文件拖放功能 xff0c 但还是出现问题 xff0c 因此搭
  • catkin_make编译报错:/usr/bin/ld: 找不到 -lxxx

    Linux下编译程序的时候 xff0c 出现 usr bin ld cannot find lxxx的错误 xff0c 主要的原因是找不到相应的动态库 xff0c 库文件没有导入到ld检索目录中 比如找不到 xff1a usr bin ld
  • Altium designer的工程文件都被改成SolidWorks2022了,且无法修改默认的启动程序的解决办法:

    安装soildworks2022后就发现电脑里的PCB工程文件除了 xx PcbDoc 默认打开方式是AD xff0c 其他的默认打开方式都是SoildWorks 而且右键更改属性里的默认打开方式也无法解决问题 解决办法 xff1a 需要修
  • printf输出bool值 | printf转换符

    bool类型是当整形输出的 bool c 61 false printf 34 d n 34 c 1 xff0e 转换说明符 a A 浮点数 十六进制数字和p P 记数法 C99 c 字符 d 有符号十进制整数 f 浮点数 包括float和
  • Cmake升级 更新 Ubuntu16.04 + ROS

    重要提示 千万不要卸载 Ubuntu原有的cmake xff0c 否则之前经过原有cmake编译过的文件将也会被删除 xff0c 比如 ros 千万不要使用下面这句命令删除原有的 cmake xff01 xff01 xff01 xff01
  • Ubuntu下扫描同一局域网的其他设备IP

    1 安装arp scan sudo apt get install arp scan 2 使用ifconfig查看本机IP地址 xff0c 一般有线在interface en0 eth0 无线在wlan0上 ifconfig 箭头中所指是我
  • C/C++基础 C语言预编译宏__LINE__、__FILE__、__DATE__、__TIME__、__FUNCTION__

    ANSIC标准定义了以下6种可供C语言使用的预定义宏 xff1a LINE 在源代码中插入当前源代码行号 FILE 在源代码中插入当前源代码文件名 DATE 在源代码中插入当前编译日期 注意和当前系统日期区别开来 TIME 在源代码中插入当
  • linux下每次git clone不需输入账号密码的方法

    有的仓库有很多的子模块 submodule 当clone的时候每个子模块都会让输入一次账户密码 xff0c 不胜其烦 xff0c 解决方法如下 xff1a 在 下 xff0c touch创建文件 git credentials 用vim编辑
  • Ubuntu创建新用户的两种方法

    组里的服务器是Ubuntu系统 xff0c 跑实验的话需要远程访问 xff0c 这样的话需要在服务器上创建一个自己的账户 xff0c 本文记录一下在Ubuntu系统下创建新用户的过程 xff08 服务器的远程访问一般通过ssh来实现 xff
  • Ubuntu中gnome-terminal的使用

    基本使用 gnome terminal命令用于打开一个新的终端 xff0c 直接在命令行就可以打开一个新的终端 gnome terminal 打开后自动最大化 gnome terminal maximize 打开后全屏 gnome term
  • 【计算机基础】字节序

    字节序 计算机最小的存储单位是 位 xff08 Bit xff09 xff0c 但是 xff0c 计算机中最基本的存储单位是字节 xff08 Byte xff09 1 Byte 61 8 Bit 计算机在存储大于1字节的数据时 xff0c
  • 内存中堆和栈的区别

    在说堆和栈之前 xff0c 我们先说一下JVM xff08 虚拟机 xff09 内存的划分 xff1a Java程序在运行时都要开辟空间 xff0c 任何软件在运行时都要在内存中开辟空间 xff0c Java虚拟机运行时也是要开辟空间的 J
  • 1.5 万字 + 40 张图解 HTTP 常见面试题(值得收藏)

    作者 xff1a 小林coding 图解计算机基础网站 xff1a https xiaolincoding com 大家好 xff0c 我是小林 xff0c 我最开始写的第一篇图解文章就是这篇 xff1a 那时候我也就不到 100 读者 x
  • libcurl第七课 multipart/formdata表单使用

    场景 multipart form data是浏览器用表单上传文件的方式 最常见的情境是 xff1a 在写邮件时 xff0c 向邮件后添加附件 xff0c 附件通常使用表单添加 xff0c 也就是用multipart form data格式
  • 【测绘专用】中海达全站仪数据导入南方CASS

    先从全站仪导入数据到电脑 xff08 我是用U盘的 xff09 xff0c 然后打开数据文件后是这个样子 上图并不是导出后原先的数据格式 导出文件后 xff0c 它的数据格式实际上不是上面这样的 xff0c 要经过处理后才行 从中海达下载数
  • 广工 AnyviewC 数据结构习题 第二章

    广工 AnyviewC 数据结构习题 第二章 广工 AnyviewC 数据结构习题 第二章Anyview 数据结构 第二章1 题目 试写一算法 xff0c 实现顺序栈的判空操作2 题目 试写一算法 xff0c 实现顺序栈的取栈顶元素操作3
  • 广工 AnyviewC C语言习题 第六章

    Anyview 第六章 6 022 n是系统给定的外部变量 编写程序 xff0c 求1到n间的 自然数之和 请定义局部变量s存放求和的结果 xff0c 并用下 列语句输出结果 span class token function printf
  • 广工 AnyviewC C语言习题 第七章

    Anyview 第七章 习题7 010 写一函数求3个整数中最小的数 span class token keyword int span span class token function min span span class token
  • 广工 AnyviewC C语言习题 第十、十一章

    Anyview 第十 十一章 第十章 10 011 请编写一个函数func char s char t int n xff0c 由数组s中长度为n的字符序列构造其逆序列 xff0c 并存储在数组t中 例如 xff0c 由给定字符序列s 61
  • 【测绘专用】 MATLAB 四叉树分割遥感图像

    MATLAB 四叉树分割遥感图像 四叉树是遥感图像处理里面常用的一种算法 xff0c 我这里采用递归的方法来实现 数据处理的思路 对于图像矩阵 xff0c 我是判断它的方差是否小于某个阈值 xff0c 大于就继续分 xff0c 小于就不分

随机推荐

  • VS code配置latex美赛模板

    VS code配置latex美赛模板 首先要知道安装的latex版本是miktex还是texlive Miktex 我的是2 9的 解压模板文件 xff1a 用VScode打开上面红圈里的文件即可进行编辑 Texlive 打开 Tex Li
  • OkHttpUtils (OkHttpUtil工具类)

    public class OkHttpUtil static OkHttpUtil okHttpUtil private OkHttpClient Builder builder private Request Builder reques
  • C++经典类库(C++开发必看)

    现实中 xff0c C 43 43 的库门类繁多 xff0c 解决的问题也是极其广泛 xff0c 库从轻量级到重量级的都有 本文为你介绍了十一种类库 xff0c 有我们常见的 xff0c 也有不常见的 xff0c 一起来看 AD xff1a
  • libcurl第九课 Content-Length的添加机制

    场景 lt DOCTYPE HTML PUBLIC 34 W3C DTD HTML 4 01 EN 34 34 http www w3 org TR html4 strict dtd 34 gt lt HTML gt lt HEAD gt
  • 英伟达NX上使用 Python 硬解码ip摄像头h264视频流

    问题 用另一篇博客rtsp拉流的方法 xff0c 当单独拉流时 xff0c 不会出现任何问题 可是如果将拉流和检测算法结合 xff0c 就会出现断流 xff0c 花屏 xff0c 跳帧 xff0c 播放延迟 xff0c 播放速度卡顿等问题
  • http库

    当我们使用 Go 语言进行 Web 开发时 xff0c 不可避免地要使用到 http 包 该包提供了 HTTP 客户端和服务器的实现 xff0c 可以轻松地编写 HTTP 服务器和客户端 在本节中 xff0c 我们将学习如何使用 Go 语言
  • CMake链接静态库

    set CMAKE CXX STANDARD 14 include directories CMAKE SOURCE DIR include include directories CMAKE SOURCE DIR include rtk
  • 清晰解读C语言中的位域、字节序、比特序、大小端

    一 比特序 位序 比特序表示一个字节中8个比特位 xff08 bit xff09 之间的顺序问题 分为LSB 0 位序和MSB 0 位序 LSB least significant bit xff1a 数据的最低位存放在字节的第0位 MSB
  • swiper轮播图代码实例

    lt span class hljs constant DOCTYPE span html gt lt html gt lt head gt lt meta charset 61 span class hljs string 34 UTF
  • Ubuntu编译安装Node.js

    编译安装nodejs 1 wget c https nodejs org dist v6 9 1 node v6 9 1 tar gz 2 tar zxvf node v6 9 1 tar gz 3 cd node v6 9 1 4 con
  • node.js的post和get简单取值

    span class hljs reserved var span http 61 span class hljs built in require span span class hljs string 39 http 39 span s
  • php 判断是移动端还是pc端访问web页面

    function is mobile span class hljs variable user agent span 61 span class hljs variable SERVER span span class hljs stri
  • mongodb的where条件

    mongodb的where条件 1 比较条件 等于 db tian find span class hljs string 39 name 39 span span class hljs symbol span class hljs str
  • ZED相机的使用

    下面简要说明一下ZED双目相机的使用 1 开发环境搭建 首先zed的相机必须要nvidia显卡支持 xff0c 没有的同学可以洗洗睡了 xff0c 或者你可以拿来当普通相机用 首先安装cuda xff0c 再去zed官网下载对应cuda版本
  • libcurl第十一课 使用以及注意事项

    经验 1 xff09 配合Postman能够快速的生成例子代码 2 xff09 curl global init初始化 如果调用curl库函数的时候 xff0c 没有调用curl global init进行curl全局变量的初始化 xff0
  • 基于ROS的hector-slam使用Kinect V1建图

    距离值在ROS中被称为scan xff0c 并且姿态 xff08 位置 43 方向 xff09 信息会根据相对坐标关系而改变 xff0c 因此被称为tf xff08 transform xff09 一 建图实际操作 下载源码测试源码 xff
  • 下载Fiddler后不知从何下手?来看看怎么抓包抓接口吧

    1 Fiddler简介 Fiddler是位于客户端和服务器之间的一个代理 xff0c 类似于生活中厂家和客户之间的代理商或微商 2 Fiddler抓包实战 当打开Fiddler时 xff0c 便会自动开启代理服务器 xff0c 监听端口号抓
  • socket、select、poll、epoll实现TCP并发处理

    网络通信 常用网络通信接口大概四种 xff0c socket select poll epoll 使用socket实现服务器的并发处理 优点 xff1a 代码框架简单 缺点 xff1a 碍于内存的限制 xff0c 并发量不会大 xff0c
  • find_package opencv

    1 find package OpenCV 3 REQUIRED 通过OpenCV DIR变量寻找OpenCVConfig cmake文件 xff0c 默认在 usr share OpenCV中 set OpenCV DIR 34 34 指
  • 工业通讯领域的总线、协议、规范、接口、数据采集与控制系统

    一 工控安全 工控 xff0c 指的是工业控制自动化 xff0c 主要利用电气 机械 软件组合的方式实现 xff0c 即是工业控制系统 xff0c 或者是工厂自动化控制 工控安全指的是工业控制系统的数据 网络和系统安全 随着工业信息化的迅猛