I/O接口概念

I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成。它是CPU和I/O设备之间交换信息的媒介和桥梁。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。

I/O接口基本功能

(1)进行端口地址译码设备选择。

(2)向CPU提供I/O设备的状态信息和进行命令译码。

(3)进行定时和相应时序控制。

(4)对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异。

(5)提供计算机与外设间有关信息格式的相容性变换。提供有关电气的适配

(6)还可以中断方式实现CPU与外设之间信息的交换。

控制方式

(1)程序查询方式

这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。

这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低

(2)中断处理方式

在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。

中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。

此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。

(3)DMA(直接存储器存取)传送方式

DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。

在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。

(4)无条件传送方式

(5)I/O通道方式

(6)I/O处理机方式

工业控制网络

工业控制网络一般为局域网,作用范围一般在几km之内。将分布在生产装置周围的测控设备连接为功能各异的自动化系统。控制网络遍布在工厂的生产车间、装配流水线、温室、粮库、堤坝、隧道、各种交通管系统、建筑、军工、消防、环境检测、楼宇家居等处。

工业控制网络的节点

工业控制网络的节点大都是具有计算与通信能力的测量设备。它们可能具有嵌入式CPU,但功能比较单一,其计算能力也许远不及普通PC,也没有键盘、显示等人机交互接口。有的甚至不带CPU、单片机,只带有简单的通信接口,例如限位开关、感应开关等各类开关,光电、温度、压力、流量、物位等各种传感器、变送器,各种数据采集装置等等。

控制网络的任务与工作环境

工业控制网络要面临工业生产的强电磁干扰,面临各种机械振动,面临严寒酷暑的野外工作环境,要去控制网络能适应这种恶劣的工作环境。另外,自控设备千差万别,实现控制网络的互联与互操作往往十分困难。

控制网络的实时性要求

控制网络必须满足对控制的实时性要求。实时控制对某些变量的数据往往要求准确定时刷新,控制作用必须在一定时限内完成,或者相关的控制动作一定要按事项规定的先后顺序完成[1]。

现场接口分类

基于控制网络的这些特点,其中的各种接口必须保证满足控制网络的要求。目前工业现场的接口种类有以下四类[2]:

(1)平台相关性通用协议:OPC/ DDE

OPC 是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。

(2)平台无关性通讯协议:ModBus、ProfiBus

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。Profibus,是一种国际化、开放式、不依赖于设备生产商的现场总线标准。Profibus 传送速度可在 9.6kbaud~12Mbaud 范围内选择且当总线系统启动时, 所有连接到总线上的装置应该被设成相同的速度。广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。Profibus是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。

(3)平台无关专有协议:大部分DCS协议、工业以太网协议

(4)特殊协议:编程口、打印口等特殊方式取得的协议

工业传输通讯的协议种类较多主要有历史遗留和人为垄断两方面的原因。虽然目前还有大量的现场总线标准,但没有任何一种标准比工业以太网更具生命力[2]。

各种现场总线/协议/接口总结[3]

比如:

Beckhoff的CX9000通过总线耦合器可以接出去多种总线:

EtherCAT可以集成很多现场总线:

类似的扩展其他总线的实物图是:

可以看到上面扩展出来的几个总线是:

  • Profibus
  • Profinet
  • CANopen
  • DeviceNet

参考文献:

[1] 阳宪惠. 现场总线技术及其应用[M]. 清华大学出版社, 2008.

[2] 张云. 工业控制实时数据库的接口协议研究[J]. 工业控制计算机, 2011(09):18-19.

[3] 工业自动化领域各种总线+协议+规范+接口;(https://www.crifan.com/industrial_automation_field_various_bus_protocol_specification_interface/).

[4] 百度百科, I/O接口.

作者:Brian2018
来源:CSDN
原文:https://blog.csdn.net/libing403/article/details/77076197
版权声明:本文为博主原创文章,转载请附上博文链接!

ethercat通讯协议_工业控制常用接口协议大全,长见识了相关推荐

  1. 史上最全网络通讯(IIOT、工业控制、5G、区块链)协议全景图

    ​ 写在前面 大家好,我是小智,智能制造之家号主~ 工业物联网浪潮的到来,IT.OT与CT技术之间联系越来越紧密,我们在完成各种ERP.PLM.MES/MOM.SCADA.DCS以及工业自动化项目的时 ...

  2. 通讯可以并联吗_工业控制知识:吃透RS485通讯的连接方式,接485总线就简单多了...

    RS485被广泛使用,可以支持ModBus协议.由于其简单.价优.可靠和成熟,因此,被广泛应用于工业控制.智能仪器和电力通信. 我们来看看RS485的一个典型组网结构: 理论上,RS485总线的传输距 ...

  3. 详解OPC协议-工业控制和自动化领域的接口标准

    OPC全称是OLE for Process Control,即用于过程控制的OLE,是针对现场控制系统的一个工业标准接口,是工业控制和生产自动化领域中使用的硬件和软件的接口标准.基于微软的OLE(现在 ...

  4. 【工控老马】详解OPC协议-工业控制和自动化领域的接口标准

    OPC全称是OLE for Process Control,即用于过程控制的OLE,是针对现场控制系统的一个工业标准接口,是工业控制和生产自动化领域中使用的硬件和软件的接口标准.基于微软的OLE(现在 ...

  5. adprw指令通讯案例_实例 | 三菱FX3U485无协议通讯程序详解(含程序)

    三菱FX2N PLC串行通讯指令(FNC 80 RS) 串行通讯指令(FNC 80 RS) 1.指令格式:[RS D0 K8 D10 K8] 发送数据帧起始地址和数目 ↓ 接收数据帧起始地址和数目 2 ...

  6. cs架构接口协议(常用socket协议)与bs架构接口协议(常用http协议)

    Socket原理以及与websocket.http的区别: B/S的系统通常使用http协议进行客户端和服务器商的信息交换,C/S的系统通常使用socket协议进行信息交换 参考:https://bl ...

  7. 网络协议——基于JSON的RESTful接口协议

    关于基于 XML 的 SOAP 协议其实使用起来并不简单.对于 SOAP 来讲,无论 XML 中调用的是什么函数,多是通过 HTTP 的 POST 方法发送的.但是咱们原来学 HTTP 的时候,我们知 ...

  8. python实现mqtt协议_自己动手实现MQTT协议

    写在前面 前段时间弄IoT相关的东西,系统学习了一下 MQTT 协议,在此分享出来. 本文先是对 MQTT 协议做了简单的介绍:接着是对 MQTT协议的内容做了较为全面的解读:最后使用 Python ...

  9. 常用傅里叶变换公式大全_高二数学常用导数公式大全

    在学习数学的时候公式是一定要牢牢记住的,下面为大家带来了高二数学常用导数公式大全,一起来回顾一下吧! 导数(Derivative)是微积分中的重要基础概念.当函数y=f(x)的自变量X在一点x0上产生 ...

最新文章

  1. STM32普通定时器(TIM2-7)的时钟源
  2. 删除10亿人脸数据,Meta关闭了Facebook的人脸识别系统
  3. 2020-12-11 python查看pytorch版本
  4. 安全感与职业发展的几点思考
  5. weblogic双机热备部署linux,WebLogic应用在集群环境下的一些基本知识【转载】
  6. 【牛客 - 370A】签到题(线段树扫描线 或 STLset)(求线段并)
  7. java 值传递 引用传递_Java小白进阶之值传递-引用传递
  8. 欢迎关注微信公众号Android系统攻城狮,会持续分享技术输出!!!
  9. Nask汇编编写操作系统,自制NaskCode开发环境
  10. 嵌入式Linux应用开发完全手册 pdf 韦东山
  11. 虚幻4连接mysql蓝图教程_[unreal4蓝图教程]虚幻4蓝图使用小技巧
  12. 怎么提高电动车续航里程?
  13. width:100%和width:auto的区别
  14. 数学小故事之 柯西的故事
  15. 自己想要什么 过什么样的生活
  16. 手机在线测试黄疸软件,智能手机APP:可在几分钟内检测出新生儿黄疸
  17. 【中英双语】C 语言的历史
  18. matlab中numden函数,numden函数 MATLAB里面numden函数有什么用?
  19. DELLEMC VxRail POC 注意点
  20. 前端 css实现文字竖向排列

热门文章

  1. FFmpeg过滤器框架分析
  2. 腾讯初探AI+农业 获国际AI温室种植大赛亚军
  3. lua-nginx-module directives 中文版
  4. 如何使用 一行代码 搞定一组数据的(极值、平均值、中位数、四分位数、数量统计和标准差)
  5. 有初学的同学问你为什么Java的main方法必须是public static void?请告诉ta!
  6. ORC文件存储格式的深入探究
  7. mybatis实现反向工程
  8. leetcode 877. Stone Game | 877. 石子游戏(递归/动态规划/数学解法)
  9. leetcode 332. Reconstruct Itinerary | 332. 重新安排行程(Java)
  10. 【Java设计模式】GOF32 - 单例模式