(1) 管理层:是最高层,负责系统的管理与决策。其中PLC是整个控制网络的核心,它作为Modbus网络的主设备,通过Modbus网络与各运动控制器之间传输生产管理信息、质量管理信息及CNC的运行情况等数据。上位计算机运行组态软件,通过RS-232串行通信口与PLC通信,实时监控系统的运行。
(2) 控制层:是整个网络系统的中间层,各运动控制模块挂接在Modbus网络上成为其从节点,负责下面CNC运行过程的监控、协调和优化。
(3) 器件层:雕刻机是整个网络的最低层,是现场总线网络中直接面对现场的器件和设备,为网络的终端执行机构。
2.2 用协议宏功能实现Modbus协议
在协议宏软件CX-Protocol上创建工程,选择正确的设备名称、型号及网络类型。然后创建通信序列和接收序列,并下载到PLC通信板中。在PLC中编写程序,用PMCR指令调用指定的通信序列,实现与运动控制模块的通信。通信协议宏主要由发送/接收数据程序构成,每个通信协议最多包含0~999个发送/接收数据程序,每个发送/接收程序最多由16步构成。协议宏结构如图6所示[3]。
2.2.1创建通信序列
将通信序列号设为“000”,在通信序列中要设置PLC与通信板链接字、传输控制参数、响应接收方式、数据接收监控时间、数据接收完成监控时间、数据发送完成监控时间等内容。
(1) 创建通信步(Step)
在通信序列“000”中创建Step00和Step01 2个通信步。Step00用于控制运动控制模块的运行,Step01用于查询运行状态。在每一个通信步中包括步号(Step)、重复计数器(Repeat)、命令(Command)、重试次数(Retry)、发送信息(Send Message)、接收信息(Recv Message)、是否响应(Response)、出错处理方式(Error)等内容。
(2)创建发送和接收信息
发送信息与接收信息必须严格按照Modbus协议格式编写,需要设置校验码(Check Code)、数据长度(Length)、地址(Address)和数据(Data)等信息。
(3)创建接收阵列
PLC向运动控制模块发送指令时,模块可能返回运行正常或错误响应信息,在接收数据时,使用阵列的形式加以区分。系统创建了2种可能接收的信息“Run Normal”和“Error”,并针对每一种情况设定不同的处理方法(Next Process),用于可能出现的各种响应信息的处理。
2.2.2 通信实现
(1) 通信设置
PLC的通信参数设定必须与运动控制模块的参数一致。对通信板上的开关做调整时,设SW1置于ON侧,使用RS-485方式;SW2设定为ON,接入120 Ω的终端电阻;设定通信板端口A为通信协议宏方式。
(2) 编写通信程序
通信协议宏的调用程序段如图7所示,图中:289.08为通信板端口A操作标志,当289.08为OFF时,表示可以使用端口A进行通信。通信过程中289.08置为ON,通信结束后,289.08置为OFF状态;当2.00由OFF变为ON、且289.08为OFF时,调用通信板上的通信序列,通过端口A发送和接收数据。通信序列号、发送和接收数据的存放区由PMCR指令的3个操作数指定,其梯形图见图7。
使用2片32位高性能单片机组成双核系统实现运动控制模块的功能,兼顾了性能和价格。同时因为使用了ANSI C的标准库函数,程序移植性好,数控解释程序中的关键技术G代码解释器的开发难度大大降低。在运动控制模块中移植Modbus协议,从而使其能简单地与PLC系统组成运动控制网络。采用欧姆龙通信协议宏实现控制多台运动控制模块,简化了现场布线,达到了设计要求,取得了很好的效果。