1、本文档由 碱性玫瑰精 整理提供 代专利下载 1 元/篇 QQ 1410007848买 染料 及包装机械 请致电:0317-7723188 刘雨桐精品文档碱性玫瑰精 整理2011 年 10 月 2 号如需购买 碱性玫瑰精 ,请留下以下联系方式备用电话:0317-7896222 0317-7896333 传真:0317-7727900河北省东光宏浩染料 网址:联系人:刘雨桐CANOpen 总线与软 PLC 在 MPS 中的应用本文档由 碱性玫瑰精 整理提供 代专利下载 1 元/篇 QQ 1410007848买 染料 及包装机械 请致电:0317-7723188 刘雨桐孙树文(北京工业大学机电学院-
2、;北京 100124)摘要:应用 C8051F040 单片机开发了基于 CANopen 协议的 I/O 从站,本文介绍了从站的硬件设计和软件设计。通过上位机 CAN 卡构建了基于 CoDeSys 软 PLC 的分布式 I/O 控制系统。给出了该系统在 MPS 中的调试过程。关键词:CANopen; C8051F040;软 PLC;MPS中国分类号:TP273 文献标识码: AApplication ofCANopenand softPLC on MPSZhang Yunting, Yang Jianwu-;Sun Shuwen(College of MechanicalEngineering为
3、了提高抗干扰能力,系统中采用双路电源模块供电,在控制器和传输介质之间加接光电隔离器件 ADuM1201 高速数字隔离器替代传统的光电耦合器(如 6N137),简化了电路,极大的降低了功耗。此外,从站 I/O端口电路还采用了光耦 TLP521 隔离器进行光电隔离。为了使继电器输出得到足够的电流供应-;光耦输出后加达林顿管以加大驱动电流。最后接自恢复式保险丝-;然后输出。在图 2 中只给出一路输入输出-;16 路类同。在工业现场-;需要共阴极的继电器输出-;设计的数字 IO 从站需要 16 路输入-;16 路输出。基于此-;选择两片 UDN2982 达林顿管。单片机在复位时-;端口为高电平-;为了
4、避本文档由 碱性玫瑰精 整理提供 代专利下载 1 元/篇 QQ 1410007848买 染料 及包装机械 请致电:0317-7723188 刘雨桐免复位期间继电器动作-;所以图 2 系统硬件简图设计低电平光耦连通-;继电器吸合。由此-;输出光耦使用下拉电阻。输入输出都有LED 显示。3.2 系统的软件设计本系统的软件设计采用模块化设计-;使用 C51Windows 编程语言进行软件编程。程序框图如图 3 所示,程序模块分为主程序模块、CANopen 协议模块、对象字典与节点配置模块、系统 I/O 模块、单片机与 CAN 控制器硬件驱动模块。CANopen 协议的软件实现遵循 CANopen 协
5、议预定义主/从连接集,从站节点支持 4 个接收 PDO,4 个发送 PDO,1 个 SDO,1 个紧急对象和 1 个节点错误控制对象。结合通讯协议的特点,软件设计中采用结构体的方式来定义诸如 CAN 报文、发送和接收 PDO 配置对象、CANopen 协议配置对象等,通过定义结构体型指针变量完成对对象中相关数据的读写,给程序的编制带来了方便。此外,利用定义数组的方法实现了对象字典和过程数据映像的操作。在 SDO 报文处理子函数中,通过被访问对象的主索引和子索引,以数组查询的方式实现了对对象字典的读写访问。CANopenI/O 从站的状态机转换通过判断接收 NMT 报文命令字,对心跳报文标志字节
6、代码进行读写,产生程序散转的方式得以实现。对于 PDO、SDO 通讯对象的处理则根据心跳报文标志字节代码指明的当前状态分别进行处理。开始单片机初始化C A N 接口和 C AN O p e n 协议栈初始化接受和发送 P DO 初始化C A N O p e n 协议栈操作程序刷新过程数据错误代码生成函数初始化完成中断使能图 3 系统主程序软件框架图软件设计的关键在于 C8051F040 的 CAN 信息的收发函数、如何滤波以及对象字典在程序中的实现。C8051F040集成的CAN控制器是Bosch全功本文档由 碱性玫瑰精 整理提供 代专利下载 1 元/篇 QQ 1410007848买 染料 及
7、包装机械 请致电:0317-7723188 刘雨桐能CAN模块-;在编写收发函数时-;首先初始化邮箱-;然后是发送信息函数和接收信息函数。滤波的时候只要把滤波地址放到对应的一个邮箱去-;这样就使一个接受邮箱对应一个滤波地址。对象字典在程序中是以数组形式实现的-;另外为了在监测软件上读出PDO映像的实时数据-;这就需要开辟实时数据的存储区-;然后在程序中进行询问。3.3 系统的连接与配置对于从站模块 CANopen 协议的开发与调试,采用了德国 PEAK 公司的 CANopen 开发系统,硬件包括 PCI 和 USB 接口的 CAN 卡,上位机软件是 PCANopen Magic Pro3.0
8、专业开发版,很好的实现了对 CANopen 网络节点的配置、分析和实时监控。调试时,采用的通讯结构如图 1 所示,在PC 机中安装 USB-CAN 卡和 PCANopen Magic Pro3.0 软件,构成监控调试节点, 与从站进行通讯。应用 I/O 从站通过上位机 PCAN-PCI卡构建了基于 CoDeSys 软 PLC 的分布式 I/O控制系统。总线上挂接 9 个从节点-;分别于MPS 系统的模块单元连接。I/O 从站的输出与MPS 系统的输出相连-;使 MPS 系统接受控制指令;I/O 从站的输入与 MPS 系统的输入相连-;接受 MPS 系统的传感器信号。系统通过总线连接后,还需要对
9、 CoDeSys软 PLC 进行配置-;如图 4 所示。配置工作包括安装系统支持的 PCAN-PCI 卡的驱动(由 3S提供),加载从站设备的 EDS 文件,设置 CAN 相关通讯参数 (如波特率,本系统设置为250kbps),设置 CANopen 协议的相关参数(如从站 ID 号、启动方式、心跳报文时间等)。图 4 软 PLC 配置监控界面4 软 PLC 编程及对 MPS 控制以上完成了总线连接和软 PLC 的配置工作-;下面编写软 PLC 的程序来控制 MPS 系统的模块单元。在 MPS 系统的 9 个模块中-;以加工单元较为复杂-;由于篇幅的关系-;这里只介绍加工单元这一模块的控制方法-
10、;其他单元类同。如图 5 所示-;加工单元软 PLC 控制程序流程。如表 1 所示-;加工单元的 IO 详细列表。在 CoDeSys 软 PLC 上-;主程序使用 SFC顺序功能图语言-;在每一步里的具体程序以及转换条件使用 ST 指令表语言。这样使得程序很容易编写-;也很容易看懂。由此编写控制程序。程序开始进入初始化状态-;钻头停转-;钻台在上行位-;使工件放松。在程序上分别使得 O3_04=1-;O3_05=1- ;O3_01=0-;O3_0 2=0-;O3_03=0-;O3_06=0。进入下一步的条件本文档由 碱性玫瑰精 整理提供 代专利下载 1 元/篇 QQ 1410007848买 染
11、料 及包装机械 请致电:0317-7723188 刘雨桐是钻台在最上-;工件已放松。即 I3_04=1-;I3_0 2=1。然后进入下一步-;这一步要是转盘旋转-;工件放松-;O3_02=1-;O3_05=1-;O3_04=0-;然后进入下一步 -;转换条件是转盘转至正位 90 度-;即 I3_01=1。Address SymbolI3_00 有工件I3_01 在工位I3_02 固定装置在后I3_03 固定装置在前I3_04 钻头在上I3_05 钻头在下I3_06 测高在上I3_07 测高在下O3_00 O3_01 钻头转O3_02 工作台转O3_03 钻头向下O3_04 钻头向上O3_05
12、固定装置伸出O3_06 测高向下O3_07 表 1 加工单元 IO 列表第三步转盘停转-;放松工件 -;O3_02=0-;O3_05=1-;检测条件有新工件放入I3_00=1。第四步转盘旋转-;放松工件-;O3_02=1-;O3_05=1-;检测条件延时 1 秒已到-;转至正位 90 度 I3_01=1。然后-;同时进入第五步和第九步。第五步转盘停转-;加紧工件-;O3_0 2=0-;O3_05=0-;检测条件工件已加紧 -;I3_03=1 。进入第六步-;钻头旋转-;转台下行-;加紧工件-;O3_01=1- ;O3_0 3=1。如果下行到位 I3_05=1-;进入到第七步 -;钻头停转-;转
13、台上行-;加紧工件-;O3_04=1-;O3_01=0-;O3_03=0。如果检测到上行到位 I3_04=1-;进入到第八步-;放松工件-;停止转台上行 O3_05=1-;O3_0 4=0。与第五步同时进行的第九步检测缸伸出-;O3_06=1。如果伸出到位 I3_07=1-;进入到第十步检测缸缩回 O3_06=0-;检测条件是缩回到位 I3_06=1 (检测合格 );计时 3 秒已到 Q0.0=1 (检测不合格)-;延时一段时间。最终两条同时进行的线路-;检测条件 I3_04=0-;然后返回第四步。至此完成软 PLC 对加工单元的控制。本文档由 碱性玫瑰精 整理提供 代专利下载 1 元/篇 Q
14、Q 1410007848买 染料 及包装机械 请致电:0317-7723188 刘雨桐钻 头 停 转钻 台 上 行放 松 工 件转 盘 停 转放 松 工 件转 盘 旋 转放 松 工 件转 盘 停 转加 紧 工 件延 时 1 秒 已 到转 至 正 位 9 0 度钻 头 旋 转转 台 下 行加 紧 工 件钻 头 停 转转 台 上 行加 紧 工 件检 测 缸 伸 出检 测 缸 缩 回转 盘 旋 转放 松 工 件转 至 正 位 9 0 度 放 松 工 件停 止 转 台 上 行等 待开 始S t o p S t a r t 钻 台 在 最 上 工 件 已 放 松 有新工件放入已加紧下行到位上行到位缩 回
15、 到 位 ( 检 测 合 格 )计 时 3 秒 已 到( 检 测 不 合 格 )图 5 软 PLC 控制程序流程5 结束语应用 C8051F040 单片机自行开发了基于CANopen 协议的 I/O 从站,实现了与 CoDeSys软 PLC 的组网通讯,最终通过软 PLC 控制了MPS 系统。同时验证了信息传递的可靠性、准确性和实时性。 参考文献1CiA DS-301,Version 4.0,June 16 1999.2CiA DSP-401,Version 1.4,Dec 1996.3CANopen high-level protocol for CAN-bus H.BoterenbroodNIKHEF,March 20,20004 C8051F040混合信号ISP FLASH 微控制器数据手册-;潘琢金译-;Rev 1.4 2004.12