CoDeSys平台Delta机械臂设计

❤ 2018.5.14

〇 前记

今天开了个新坑,准备用codesys做一个delta机械臂的程序,如果过程顺利再加上老师支持的话可能会做一个3D打印机,emmm。。。。

不过这首先是个PLC的课程作业,先要实现最基础的功能,老师给定的要求如下:

看起来很简单的嘛哈哈哈。。。。

不过不知道该怎么下手啊 。。。。

看了师兄们以前的作业。。。。

。。。。这么复杂!什么鬼!完全看不懂!

老师在课上讲了如下这些【有用】的内容:

反正就是相当于老师讲了1+1=2,然后说大家证明一下哥德巴赫猜想吧~

。。。。

好吧,下面开始正题。

○ 平台 CoDeSys V3.5SP8

〇 思路分析:

先给自己定个(小)目标:

○ 模块化可移植,现在softmotion上模拟,条件成熟后要能在rte上运行。

○ 能接收切片软件生成的G代码,能用上位机控制。

(等待补充)

 预期步骤:

1、首先,一口吃不成个胖子,先按照老师讲的,添加轴,然后各种功能块,能实现轴的单独点动,嗯。

2、然后,能实现坐标轴方向的单轴点动,并实现必要的复位和报警功能。

3、再然后,能实现运动到指定点。

4、再再然后,能实现自动运行。

5、设计优化界面,能够达到作业要求并能够显示运行轨迹。

6、连接步进电机在现有的delta平台上能够正常运行。

7、(未完待续。。。。2018.5.16)

现在有条件实现的大概就以上这些,看完成情况和老师的支持程度再决定接下来的任务(其实接下来要干嘛我也不知道。。。)。

❤ 2018.5.16

〇 第一步:实现单个电机的点动。

今天想了下,直接实现坐标轴方向的点动确实比较困难(关键是不会),所以先做个能够实现单个单机的电动,这个在作业里虽然没有什么用,但是还是很有实际意义的,比如手动调零什么的时候。

主程序:

这个是现在的界面:

用的都是功能块自带的界面,能够实现单个电机的点动,没有急停没有重置没有报错啥啥都没有。。。

不过确实实现了第一步。

〇 第二步:实现坐标轴方向的单轴点动,并实现必要的复位及报警功能。

思路:

    点动嘛,肯定是按照坐标轴的方向去运动,但是如果直接在三个轴上关联MC_Jog功能块,那点动的就是三个电机,其末端轨迹肯定不是坐标轴方向的,如果要实现坐标轴方向的运动,三个电机肯定是以某种方式联动的。

    我最开始的想法是,点动按钮并不直接关联MC_Jog功能块,而是执行一个当前位置的自增/自减运算,然后再将运算后的结果进行反解,最后实现单轴方向的点动。但是缺点就是,运算显示的数值和当前轴的实际位置肯定不同步,而且几乎无法做到长按按钮的时候沿坐标轴方向连续运动且松开按钮时运动停止。

    不过我运气很好,师兄们以前做过delta机械臂的程序,但是和我的不太一样,不过从原理来说是一样的。师兄实现的方法是,把实际的电机设为三个实轴,XYZ方向再各设置一个虚轴,点动的时候通过MC_Jog功能块控制虚轴在坐标轴方向上运动,然后把反解得到的数据通过SMC_ControlAxisByPosition功能块关联到实轴,实现实轴的运动。

    其实这个方法的关键还是对codesys功能块的熟悉,比如我要是不看师兄的程序我就不知道轴有fSetPosition这个输出值,其实好多东西都是这样,有些知识就是只有知道和不知道的区别,知道就会弄,不知道就不会,并没有掌握的程度的问题。

    (待续。。。2018.5.20)

♣ sfc的每个step结束那里不应该直接true,万一一次循环结束step内的语句还没执行完是不应该跳到下一个step的,所以应该在最后有一个跳转条件为true的语句。

○ 初始化应该包括哪些内容?

(1)回零点。(这个理论上来说应该是的,但是如果考虑到将来如果有断点续做的功能(大概不是这个名字)的话那么就应该有特殊的处理方式)

(2)(待续。。。2018.5.16)

❤ 2018.8.22

    关于单片机作业匆匆赶出来一个版本,勉强交上去了,不过离我预期的目标还有很远,这个是我做的界面,虽然老师要求的功能都实现了,但是xyz轴映射到三个实轴上还是没能实现,更别说连电机了。

    下面先把现在的成果贴一下:

界面:

模拟图:

主函数:

具体的功能块我就不贴了。

    总结:

    首先呢对于codesys的功能特点不熟悉,很多需要的功能找不到;然后就是对于PLC的工作方式不熟悉,很多根据PLC特点采取的编程方法都不知道,虽然有师兄们的程序可以作为参考,但是一方面自身水平有限,很多地方看不懂,另一方面师兄们的水平也有限,因此单纯地模仿也很难发挥PLC的特点;还有就是对于codesys编程语言的不熟悉,老师和师兄们推荐的编程方法是用顺序流程图作为框架,用结构化文本来实现各个功能,但是程序自带的例程很多是使用连续功能图来编写的,而且梯形图和功能块图我觉得在实现某些功能时能够使程序更直观,所以也想去尝试。

    我最终的目标是编写一个通用型的codesys程序,能实现3d打印机的功能,现在的设想是参考merlin的3d打印程序,所以目前的计划是先去了解了解基于arduino的merlin程序,然后搭建一个3d打印机平台,先能够实现3d打印的功能。

    因为本文的题目是基于codesys平台,所以arduino的3d打印机搭建我就不在这里更新了,会另开一篇笔记,这篇文章先更到这里,希望能继续完善我的codesys3d打印机^_^

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: CodeSys是一种可编程控制器软件(PLC),在机械手控制中被广泛应用。CodeSys提供了强大的功能和工具,用于编写和执行机械手控制程序。 首先,使用CodeSys可以轻松地创建和编辑机械手的控制程序。通过CodeSys的图形化界面,用户可以直观地设计机械手的运动轨迹,设置操作参数和条件。CodeSys还提供了丰富的函数库和算法,以支持复杂的运动控制和路径规划。 其次,CodeSys提供了丰富的通信接口和协议,可以方便地与机械手的各个部件进行通信。用户可以使用CodeSys与机械手的传感器和执行器进行数据交换,实现实时的位置和力检测,以及精确的运动控制。 此外,CodeSys还支持多种编程语言,如Ladder Diagram(LD)、Structured Text(ST)和Function Block Diagram(FBD),满足不同用户的编程需求。用户可以选择最适合自己的编程语言,并根据需要进行灵活的编程。 最后,CodeSys不仅可以用于简单的机械手控制任务,还可以应用于复杂的自动化系统中。它可以与其他设备和系统集成,实现更高级的控制和协作。同时,CodeSys还提供了强大的调试和监控工具,方便用户进行调试和优化。 综上所述,CodeSys是一种功能强大的软件平台,适用于机械手的控制。它提供了丰富的功能和工具,可以帮助用户实现高效精确的机械手控制,满足不同应用需求。 ### 回答2: CODESYS是一款广泛使用的工业自动化编程软件,常用于编程控制机械设备和机器人。CODESYS可以用于控制各种类型的机械手,来完成各种工业自动化任务。 在使用CODESYS控制机械手时,首先需要创建一个项目,并选择合适的目标设备,例如PLC(可编程逻辑控制器)。接下来,可以使用CODESYS提供的函数库和工具,编写程序来控制机械手的运动和操作。 一个典型的CODESYS程序包含了几个重要的部分,包括初始化、运动控制、逻辑控制和安全控制。在初始化部分,需要对机械手进行参数设置和初始化工作,例如设置初始位置和速度。运动控制部分包括了对机械手运动轨迹的控制,可以通过编程来实现机械手的移动、旋转和抓取动作。逻辑控制部分则负责根据输入信号和逻辑条件,决定机械手的具体操作,例如判断是否抓取物体或释放物体。最后,安全控制部分可以确保机械手的运动是安全的,防止发生意外事故。 CODESYS提供了直观易用的编程界面,可以通过拖拽、点击和输入代码来完成机械手的控制。同时,CODESYS还支持与其他设备和系统的通信,可以与人机界面(HMI)进行交互,或者通过网络与其他设备进行数据交换。 总之,使用CODESYS可以方便快捷地实现对机械手的控制。通过编写程序,可以实现对机械手的各种运动和操作,从而满足不同工业自动化需求。CODESYS的强大功能和灵活性,使其成为许多工业领域中控制机械手的首选软件之一。 ### 回答3: CODESYS (Controller Development System) 是一种通用的软件开发工具,用于编程和控制各种自动化系统,包括机械手控制。 CODESYS提供了一个强大的编程环境,允许用户使用各种编程语言(如Ladder Diagram,Structured Text,Function Block Diagram等)来编写自定义的控制逻辑。这些编程语言允许用户创建算法,处理输入和输出信号,控制运动轴和执行多种操作。 机械手控制是CODESYS的一个重要应用领域。通过CODESYS,用户可以使用其丰富的机械手控制函数库,来编写用于机械手运动和操作的控制程序。这些函数库提供了各种运动控制功能,如坐标转换、速度控制、轨迹规划等。用户可以根据应用需求选择适当的函数和参数,以实现机械手在不同场景中的灵活控制。 CODESYS还提供了与多种硬件设备和传感器的接口功能。用户可以通过适当的硬件配置和通信设置,将CODESYS与机械手的电机、编码器、传感器等进行连接,以实现对机械手的实时监控和控制。此外,CODESYS还支持与外部设备的通信,如人机界面(HMI)和控制台等。 总之,CODESYS是一种强大的软件开发工具,适用于各种自动化系统的控制编程,包括机械手控制。通过CODESYS,用户可以使用丰富的函数库和编程语言,实现对机械手的各种运动和操作的控制,并与硬件设备和传感器进行连接和通信。CODESYS为机械手控制提供了高度灵活和可定制的解决方案。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值