4.1 主控制器软件设计
主控制器采用嵌入式plc芯片组,完成开关量输入输出、UART0、uart1、CAN、rs485/232互连和通信功能。基本软件框架由以下七个子程序组成。
init-config:端口初始化程序,完成输入输出端口配置,中间变量初始化,启动spi。
init-start:上电初始化程序,复位所有输出口。
init-set:设置初始化程序,复位所有输出口。
init-run:运行初始化程序。
step:指令周期扫描程序
tms:2.5ms周期扫描程序,采样输入口状态、刷新输出口状态、spi通信报文的发送和接收。
scan:演算周期扫描程序,输入口状态滤波,spi通信报文的解读。
4.2 从控制器软件设计
从控制器采用c8051f330单片机,指令运算速度高达25mips。从控制器对输入脉冲采样,接受主控制器发送的命令并进行相应的处理,输入脉冲经过分频后,输出相应频率的脉冲,并将有关信息发送给主站控制器。从控制器的作用相当于一个执行机构,它接受主控制器的命令执行不同的动作,并把执行的状态反馈给主控制器,主要由以下5个功能程序组成。
start:上电复位初始化程序,输入输出端口配置,复位中间变量单元,启动spi、int0中断。
int-int0:外部中断0服务程序,对输入脉冲进行分频处理及脉冲插补。
int-spi:spi中断服务程序,spi通信报文的接收和发送。
int-t3:定时器t3中断服务程序,监控spi通信状态和主程序执行状态。
main:主程序,解读spi通信报文,完成脉冲点动、定位。
4.3主从控制器的组合设计
主、从控制器之间以spi接口连接,spi通讯速率为500kbit/s,因此有利于提高系统的快速性和实时性。
主站采用定时发送/接收模式,嵌入程序初始化时,启动spi发送,定时时间到,先接收一字节数据,然后发送下一字节数据。当所有报文发送完成后,暂停发送等待主程序处理报文,报文处理完后才启动下一轮发送。
从站采用中断接收/发送模式,进入中断服务程序后,先接收一字节数据,然后发送一字节数据,当所有报文接收完成后,对应的有相同字节的报文发送完成。此时从站停止接收报文,等待主程序处理接收到的报文,报文处理完后,又启动下一轮报文接收过程。
报文结构:stx+报文内容+etx+crc。
stx:报文起始代码,固定为02h。
报文内容:起始2个字节为命令字对应的ascii码,以区别不同的报文,后面为报文实际 数据,全部采用ascii码。
etx:报文结束代码,固定为03h。
crc:校验和,报文内容所有字节相加后再加etx的数值,然后转换成ascii码。
5 应用举例
5.1控制设备名称
控制设备名称:4套色圆网印花机控制系统。