本课题的要求是搭建一个基于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和另一个批处理文件即可实现变量通讯。
本课题的要求是搭建一个基于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和另一个批处理文件即可实现变量通讯。
举报