二、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进行信息处理和现实,对于用户来说使用更方便,可靠性更高,在实际的各类数控系统开发中都可以得到广泛的应用。