学习随笔#1

前言

大学四年很快就要过去了,这个学期我要做毕业设计,题目是基于TwinCAT的机器人运动控制系统的设计。说实话,我校的机械设计制造及其自动化专业虽然在国内名列前茅,但对于本科阶段的教育过于注重设计与制造,而对于其自动化的部分则有明显轻视(也可能是因为我们没有立足自动化的课程设计吧,反正各种课设使我具备了扎实的机械设计制造基本功)。总之,对我来说基本是从零开始学习TwinCAT及其上位机的搭建,我在CSDN上找到了一些在此方面有经验的前辈,他们为我提供了不少解决方案。机器人运动控制系统的搭建在国内刚刚起步,在此特指协作机器人,机器人及数控一直以来都是我国的弱势领域,协作机器人的市场基本被ABB、KUKA和KEBA等公司瓜分,所以我认为在我之后仍然会有许多人在这个领域不断探索,我将把我的学习过程在博客里详细写出,希望能够对大家有所帮助。

需求

本课题的要求是搭建一个基于TwinCAT的运动控制系统,其需要具有人机界面,从而便于供客户控制协作机器人。

原料

TwinCAT 3:对于Win10及Win7 64位版本,是无法安装普通版本的TC2的,虽然倍福有64位版本的TC2推出,但它并不支持运行,只能作为编辑器使用。所以在此我选择了TC3来搭建运动控制系统。
C#及VS2013:C#作为一种在C及C++基础上发展了的语言,其在图形界面的制作方面具有得天独厚的优势,所以我计划使用C#来搭建上位机。当然,LabVIEW也是一个不错的选择。

难点

本课题的完成需要解决以下几个问题:

系统调通

首先要在安装好TC3之后能够控制伺服电机,现阶段我手头并没有伺服电机可使用,而且为了实现控制的实时性,必须要通过英特尔的网卡来制作EtherCAT网口,不幸的是目前大部分市售的笔记本电脑安装的并不是英特尔的网卡,所以这部分的内容我将在上机调试的阶段再完成。

插补功能

对于协作机器人,最基本的功能就是插补功能,包括直线插补和圆弧插补,这两个功能的实现决定了其他所有运动的实现。我们知道,TC3中其实包括一个运动控制模块,,即NC模块,通过这个模块我们可以轻松实现机器人的插补功能。但对于本课题,这项功能并不适用,因为本协作机器人需要实现一个特殊功能:机器人可在插补运动过程中被外力推离既定路线,插补中断,在外力消失后机器人可自动回到既定路线继续插补运动。在TC3的NC模块运行时,机器人是无法被推动的,所以我们必须绕过NC模块,通过PLC生成脉冲信号来直接控制电机。由于TC的所有功能的实现都是由功能块叠加组合来实现的,所以我们需要先找到NC模块中控制信号生成的那个功能块。

人机界面

在我之前已经有研究生做过人机界面,但我此次要做的人机界面与其说是控制器不如使用编译器更加合适,最后要实现的功能包括在我的程序中运行其他人的运动控制算法,包括视觉识别,手势示教等,所以将其他语言编译为IEC61131-3也是我面临的一个问题,对此我偶然知道了Roslyn这个微软的.Net平台的开源编译器,不知道它能不能帮助我解决这个问题。

通信

在上位机和TwinCAT之间通信也是一个问题,不过由于学长之前做过这个项目,所以据说只需要在工程中引用TcADS.dll和另一个批处理文件即可实现变量通讯。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值