IO-Link通信从站的设计
IO-Link是独立于任何现场总线,适用于工业控制最底层的简单传感器和执行器的工业通信接口。IO-Link系统包含IO-Link设备(如传感器、执行器)、IO-Link主站和标准传感器用电缆,系统结构如图1所示。例如,当一个兼容EtherNet/IP的远程IO模块作主站时,除了标准的I/O信号,该模块通过脉冲调制过程发送和接收配置数据、诊断数据或增强的过程数据,然后打包到EtherNet/IP数据报文中,最后传送给网络主控站,通常是一台PLC.上述应用中,远程I/O与IO-Link设备的连接与传统离散设备保持相同,IO-Link的优势主要在于更大的信息交换能力,这是以前标准I/O设备无法实现的。IO -Link的另一个好处是不依赖于任何现场总线,通过任何遵守IO-Link协议的I/O模块(包括本地I/O和远程I/O),IO-Link传感器或执行器便可被集成到任何现场总线系统中。
图1 IO-Link系统结构
为了对IO-Link系统结构、通信机制以及开发应用做进一步研究,可设计开发IO-Link从机工具包,包括IO-Link通用开发模块、IO-Link分析工具以及IO-Link从机协议栈。IO-Link通用开发模块是进行该项工作的基础,也是IO-Link主站与设备信号间的桥梁。IO-Link分析工具可以帮助开发人员和测试人员分析通讯细节,从而找出并解决问题。IO-Link从机协议栈是一个固件库,它提供硬件抽象层和应用程序接口,开发者可以利用它方便快速地在各种微处理器平台上开发IO-Link从机产品。本文研究的IO-Link从站只针对数字(按键)信号输入和数字信号输出(指示灯),IO-Link通用开发模块的设计只需在此基础上进行扩展,使之具备处理模拟信号的能力。
1系统结构
图2是IO-Link从机工具包及演示系统的结构示意图。
图2 IO-Link从机工具包及演示系统的结构图
本文所使用的IO-Link主站模块USB IO-Link Master可将IO-Link设备与PC机相连,这样可通过IO-Link Device Tool软件配置并测试IO-Link设备或演示设备功能。IO-Link设备必须通过一个设备描述文件(IODD文件)来描述,它包括一组XML文本文件和PNG图形文件,这些文件包含设备的识别、通信特点、参数、过程数据和诊断数据的信息。图2中椭圆虚线内的部分是IO-Link三线电缆,L+/I-是24 V直流电源,C/Q为信号线,用来传输过程数据、诊断数据、配置数据等。IO-Link通用开发模块主要由数据收发器和微处理器构成,它可对传感器的输入信号进行处理并将信息传递给IO-Link主站,也可接收并处理来自主站的数据信息,传递给执行器。IO-Link分析工具可以帮助开发人员查看、记录、分析数据,了解通讯细节,该部分设计本文不作论述。
2 IO-Link通讯模式简介
IO-Link设备可以工作在SIO模式(标准I/O模式)或IO-Link模式(通讯模式)。上电后,设备总是工作在SIO模式。主站的端口有不同的配置方式,如果配置为SIO模式,主站把该端口视为标准数字输入,如果配置为通讯模式,主站会自动识别可通讯的装置,进行通讯。
2.1数据类型
IO-Link通讯的3种基本数据类型为:周期性数据(或过程数据PD)、非周期性数据(或服务数据SD)、事件(Event)。
设备的过程数据(PD)以一个数据帧的形式周期性地传输,而服务数据(SD)只有在主站发出请求后才会进行交换,图3为典型的IO-Link报文结构。当事件(Event)发生时,设备的"事件标志"置位,主站检测到该置位后读出报告的事件(读取过程中不能交换服务数据),于是,污染、过热、短路等事件或设备状态便可通过主站传送给PLC或可视化的软件。
图3 IO-Link报文结构
2.2参数数据交换
由于服务数据(SD)必须经由PLC请求才能传送,于是定义了SPDU(服务协议数据单元)。在主站中,读写服务的请求编写到SPDU并通过IO-Link接口传送给设备。
SPDU一般结构如图4所示,其排列顺序与传输顺序一致。SPDU中的各元素可根据服务种类采取不同的形式。SPDU允许访问希望进行传输的数据对象,Index用于指定远程IO-Link设备上被请求的数据对象的地址。IO-Link中有一个名词叫直接参数页(direct parameter page),其中存放了最小周期时间、供应商ID、主站命令等参数信息,直接参数页中可访问的数据对象可以有选择地通过SPDU来提供。
图4 SPDU一般结构
3 IO-Link从站硬件设计
IO-Link从站的系统结构如图5所示,主要包括数据收发器HMT7742、微控制器AT-mega328P、信号输入输出通道、电压电流监测模块以及过流保护模块等。
图5 IO-Link从站结构图
HMT7742是一款IO-Link从机收发器芯片,是外接传感器或执行器的MCU与支持IO-Link通信的24 V信号线间的桥梁,