新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 开放式数控系统中IPC与PLC通信技术

开放式数控系统中IPC与PLC通信技术

作者:时间:2016-12-20来源:网络收藏

  IPC指的是工业中的使用计算机,也就是工业PC,工业PC的设计、制造与实际使用需要考虑到实际工作环境的影响,因为工业生产中的设备需要能够承受温度、湿度、机械扰动、电磁场甚至灰尘等恶劣条件的影响,因此IPC的制造需要使用工业级别的处理器,全部密封的封装箱柜,并且在设备中需要安装保持空气洁净的器件,同时还要能够铺垫避免机械扰动的物质和抗电磁干扰的屏蔽器件,加上多方面的保护措施才能够在工业环境中长期稳定运行,因此其具有极强的稳定性,可以广泛应用在工业、航空、矿业、军事等多种领域中。

  PLC的全称为可编程控制器,它是在计算机基础上进行开发而成的自动化工业控制器。在工作中可编程控制器可以进行随时更改程序、适应性强,因此具有很强的适应能力和计算能力,同时加上大容量空间、多样化的软件程序应用、便捷的操作和多种独特的功能,如今PLC已经在工业控制中获得了极其广泛的应用。在IPC和PLC发展如此迅猛的今天,两者进行联合开发,在数控领域中发挥强大功能已经获得了可能,在开放式的数控系统中,通过PLC作为下位机处理一线的物理处理和数据收集,IPC可以作为处理设备进行计算、控制、数据研究等多项后期工作,同时如果多个PLC连接还可以实现网络化的控制,因此这两者的联合控制模式,将成为工业数控领域内的主流发展方向。

一、数控系统结构

  开放性的数控系统采用了开放式的PLC,也就是外置式的PLC,传统的PLC是内置的,且多个PLC只能够由一个CPU进行控制,严重影响了工作效率也错误判别的准确性,外置式的PLC具有成熟的生产厂家,稳定的通信渠道,且具有独立的CPU对其进行控制,大大提高了通信的稳定性和执行效率。

数控系统结构

  在本文的数控系统中,将以数控机床中的数控系统为例,PLC的主要功能是在机床的工作前线进行数据的采集、判断上位指令的传达、执行输入的控制指令,也就是对数控机床的运行状态进行实时的状态数据采集工作。PLC在数控系统中处于协调自身所在的数控系统和外部的控制指令的位置,一方面它需要能够执行IPC传达的控制命令和发送数据信息,一方面也需要通过DMP接收机床操作命令,根据这些接收到的命令输入机床的各个电机环节进行操作。而上位的工业计算机IPC的主要工作是对采集好的数据进行存储、挖掘并将结果进行输出显示等工作,这样就能够通过两者的配合实现对数控机床工作数据进行实时的采集与显示工作,另外上位机还需要进行对活动的机械设备进行电机等运动器件位置与方向、速度等参数的实时控制工作。系统中IPC与PLC采用点对点的通信方式,具体是通过RS232串行接口进行连接,PLC与计算机的各个接口也都是通过RS232来进行。

二、IPC与PLC之间的通信

  数控系统中的通信接口主要有两个,一个通过RS232串行接口进行数据指令的传输,一个是通过数据线与计算机进行程序的输出与写入工作,该接口也是通过RS232的串行接口,通过RS232数据线进行程序的传输和读写操作。

  在通信工作开始之前,IPC与PLC的连接需要在正式开始之前进行初始化操作,PLC、IPC需要各自都采用同样的数据传输格式以及波特率参数。同时,在通信正式开始之前,PLC的寄存器也需要进行统一的读写操作,其中寄存器412用于进行选择计算机的连接方式,寄存器413用于选择奇校验,设置传输8位,并选择停止位,寄存器414的作用是设置数据传输的速率。在计算机中,默认设置一号端口为PLC的通信读写端口。

  在计算机通过串口对PLC进行通信程序的读写时,存在一套完备成熟的通信协议工具进行辅助程序通信,这个协议已经具备了如何接收上位机的控制指令、PLC的编号和命令设置方式。该指令的具体执行过程如下:

  首先,由上位机发出命令,该命令的前段包括起始码、接收的PLC的编号、特征码、正文命令内容、块校验码等内容,该格式由通信协议实现进行了规定;其次,PLC的工作,其在接收到上位机发出的命令之后会首先对其进行检查是不是一段完整的合法指令,然后再检查自身的PLC编号是不是与指令中的目的编号相符合,如果这一切都符合要求,那么其会进行数据的发送工作,不然其会进行中断以拒绝操作,根据错误的原因发送固定格式的错误代码。

  为了保证上位机与PLC之间通信的准确与可靠性,在通信协议中会设置一段块校验码,具体的使用方法是将上位机传来的指令进行校验,在校验中会将正文的指令内容进行一定形式的逻辑运算,转换为其它形式的代码,PLC在接收到信号后会对块校验码进行反演计算,如果与发送端的相同,那么就可以进行正常通信工作执行,否则就说明通信出现问题,根绝校验码输出的错误信息可以判断出发生问题的具体位置和原因。

三、IPC的通信程序

  对于作为上位机的IPC来说,在其与PLC通信的过程中,始终处于主动发送命令的位置,根据用户的需求,使用特定的功能,让IPC发送相应的命令信息,而PLC则始终处于被动接受信息和执行的状态,由于PLC中不需要进行编程信息的编写和存储,因此其只能够处于响应控制命令,不能够进行主动发送信息和命令。在数控系统中,各种一线设备的工作状态数据需要随时进行读取显示,因此IPC并不具备主动进行实时读取的功能,所以这样的方式影响了PLC的实时工作性质。   传统的上位机与PLC之间的通信方式采用定时进行查询的方式,该方式具体的做法是IPC会在固定的时间间隔点后进行读取PLC的工作状态,如果某一次对PLC的读取发现其状态异常,那么会触发对应的处理方案,这种方法在故障发生并不严重的时候可以发挥基本的监控和提醒作用,但是在实时性上仍然具有一定的劣势,且操作的效率不高。而当使用串行接口进行通信工作时,在一开始对PLC的端口进行了预先的设置后,并不需要进行定时的数据汇报,而是当其实时观察到的数据产生变化时才会触发紧急状态信息,这样的数据会立即被传送至上位机进行处理,这样IPC上位机就能够在错误发生的第一时间进行处理,工作的效率较高,也节省了大量的监控数据传送,从错误发生到事件处理之间的时间也大大减少。

  在IPC与PLC之间的通信中,需要开发相应的通信软件,以笔者所在的学校拥有的数控系统设备来讲,配备了成熟的串行通信程序编写控件MSComm,它能够为绝大多数的串口通信模块提供通信程序的编写工具。在Visual Basic环境中,利用该控件可以为各端口提供完备的输入输出数据信号的能力,另外其优势在于完善的中断功能,中断功能可以帮助开发者开发出更加成熟稳定的通信工具。如上述所说,通信中断的方式主要有两种,固定间隔的查询功能与实施状态变化发生的信息传送功能,如果数控系统涉及的器件不多,且结构简单无任何严重的不良后果,则可以采用定时查询的方式进行监控,如果数控系统的中断对即时性要求较高,那么则必须采用串口通信的方式处理错误事件。也叫做事件驱动方式。事件驱动方式的具体方法是当上位机决定好发送数据时,事件的属性定义为查询式传送数据时,系统将会以定时间间隔的方式由PLC汇报系统运行状态,而当事件的属性定义为事件驱动方式时,那么该通信会即时生效,开始处理程序,如果PLC汇报状态改变的信息时,上位机会立即作出处理。在处理的过程中,为了避免重复通信,可以继而转换为定时查询的方法向PLC发送信息处理状态,保证在处理过程中通信程序的畅通运行。

四、总结

  总的来说,在数控机床等非标准机械的开发制造过程中,PLC的长期稳定工作能够为系统的运行带来可靠性,但是自身带有无法进行信息管理的弱点,而且不能够直接与使用者进行交流,所以在故障的发现与排除、实时状态的汇报等方面无法实现功能,在本文中利用了其与IPC进行通信的方式,成功地解决了该弱点,PLC能够实现数控系统前沿的信息收集,由IPC进行信息处理和现实,对于用户来说使用更方便,可靠性更高,在实际的各类数控系统开发中都可以得到广泛的应用。



评论


技术专区

关闭