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信号线间的桥梁,当IO-Link设备与主站相连时,主站会进行通讯初始化并与MCU交流数据,HMT7742则充任通讯的物理层。
因为MCU 的输出端口操控的3盏指示灯(额外电压为24 V)是由IO-Link电源线供电的,因而需监测电源线上的电流,以便在电流超越某设定好的阈值后触发恰当的更正办法,如将指示灯从IO-Link电源线上切除。电流监测模块运用的是INA194电流检测扩大器,作为一款高测电流检测器,INA194直接衔接至电源,可检测一切的下行毛病,具有十分高的共模抑制比以及较大的带宽和响应速度,可将感应电阻上的电压扩大5O倍输出到MCU 内部电压比较器的正向输入端AIN0,当AIN0的电压值超越反向输入端设置的阈值时,操控PB0输出低电平,即可将指示灯LAMP从IO-Link电源线上切除,完成过流维护功用。该部分电路如图6所示。
图6 电流监测与过流维护电路
4 IO-Link从站软件规划
软件规划依据IO-Link设备通讯协议栈,IO-Link设备通讯协议栈供给通用运用程序接口(API函数),这为IO-Link从站开发模块的规划供给了便当。
软件规划首要包含初始化模块和一个与IO-Link通讯相关的主循环模块,主程序流程如图7所示。
图7 主流程图
在图8所示的初始化程序中,栈初始化、SP-DU数值初始化、直接参数页面初始化是经过别离调用API函数完成的。
图8 初始化程厅流程图
图9为主循环流程图,每隔1 ms履行一次主循环,每过255 ms触发一次看门狗。在运转了IO-Link从机协议栈今后,就能够检测主站发送的有用输出进程数据并将它传递给运用模块(3盏指示灯),并依据按键的状况设置输入进程数据,并将数据传递给主站。别的,若产生了对直接参数页面的写拜访或有SPDU标识符置位,都要运转相应的处理程序。
图9 主循环流程图
5 试验成果及定论
试验构建了图2所示的体系,并经过IO-Link Device Tool软件测验体系功用,图10即为显现进程数据和参数的界面。程序中设置进程数据为一个字节,格局如图l1所示。由图l1可知,输入进程数据的Bit7为毛病确诊位,当IO-Link电源线上的电压和电流均正常时,该位为0,不然置1;Bit5至Bit0别离表明6个按键的状况。输出进程数据的Bit2至Bit0别离代表3盏指示灯的状况。
图10 进程数据和参数显现界面
图11 进程数据的格局
当电压和电流正常时,假如没有按键按下,输入进程数据为63(0011 1111)(见图10 a),假如只要按键1被按下,输入进程数据为62(00111110),以此类推。当电压或电流不在规则的规模内,假如没有按键按下,输入进程数据为一65(1011 1111)。若进行图10b所示的操作,可将获取的按键状况取反后送给主站。这样,当无按键按下且电压电流正常时,输入进程数据为0(00000000),若电压或电流不在规则的规模内,输入进程数据为一128(1000 0000)。
进程输出数据的Bit2至Bit0可别离用来操控3盏灯的状况,若电压电流正常,当输出进程数据为1(0000 0001)时,只要指示灯1亮,当输出进程数据为27(0000 0111)时,3盏灯全亮。以此类推。可是当电流超越了必定规模,硬件电路将完成过流维护,将指示灯从IO-Link电源线上切除,此刻输出进程数据将不能操控指示灯的状况,直到排除毛病从头上电。
IO-Link从机东西包关于IO-Link体系结构、通讯机制以及开发运用的研讨有着重要含义。本文规划的IO-Link从站是IO-Link主站与设备信号间的桥梁,也是IO-Link从机东西包的根底和中心。本文构建的依据IO-Link从站的演示体系形象地展现了IO-Link通讯的特色与优势,关于了解和深入研讨IO-Link通讯体系有着重要的含义。