CODESYS (V3.5 SP12 Patch)简单应用 第 2篇之单轴简单使用CFC+ST代码(硬件:长沙赛搏机器智能MIC7001总线控制器+松下A6BE总线驱动器)

1、接下来写单轴驱动的程序,采用的语言为CFC;

2、右击左侧导航栏中的Application→添加对象→程序组织单元→指定名称→类型为:程序→实现语言选择CFC;

3、效果图如下

4、将刚刚添加的POU程序组织单元拖动至EtherCAT_Task任务下面,效果图如下图所示,如果不这样做的话,即便是在POU里写了程序,也不会被执行,程序必须要放在指定的任务中才会被执行;

工程里默认产生的POU(PRG)可以直接删掉

5、在刚刚添加的程序组织单元中利用CFC编写单轴运动程序;

6、从右侧工具栏中拖一个运算块至程序组织单元中,如下图所示

7、指定运算块的类型:单击三个问号→出现一个按钮,上面有三个点→单击该按钮→在随后出现的界面左上角单击文本搜索→输入mc_power

8、单击右下角的确定,随后按三次回车;

9、之后再按照同样的顺序添加三个运算块,分别是MC_MOVEVELOCITY   MC_ReadStatus  MC_Reset

10、最后的效果图如下图所示

注意MC_MoveVelocity功能块的部分参数已经指定了,包括加速度、减速度和加加速度,指定参数的方法:单击功能块相应的引脚,直接输入相应的数字;

11、为程序组织单元添加方法,类似于C++的类方法,我们可以为类添加方法,在这里,我们也可以为程序组织单元添加方法,我们这里添加几个单轴运动的简单方法,changespeed—更改速度大小,changedirection—更改电机转动方向,stop—停止电机转动;

12、下面是具体添加步骤;

13、右击之前添加的程序组织单元à添加对象à方法,添加三个方法,分别命名为changeDir  changeSpeed  stop,并将其所属的程序组织单元POU重命名为single_axis,添加方法完毕后的效果如下图所示

14、changeDir()方法的代码如下图所示,注意上半部分是输入变量的定义部分,相当于C/C++中函数的形参,后面我们在调用这个方法的时候会给这个形参赋一个相应类型的值,比如这里的形参类型为MC_DIRECTION,后面我们在调用的时候赋值1,电机正方向转,如果赋值-1电机反方向转;下半部分是属于函数的实现部分;

功能块的调用,有一个需要注意的地方:通常方法会需要一个上升沿,所以在调用MC_MoveVelocity_0功能块实例的时候,首先需要给Execute赋值FALSE,然后修改完我们所需要的速度方向后,再赋值ExecuteTRUE,这样,对功能块参数的修改才能生效;

15、changeSpeed()方法的代码如下图所示,这个方法是修改电机转速的,所以方法的形参是数值类型的—REAL,注意这里修改完参数后,也是需要一个上升沿来让参数生效的;

16、stop()方法的代码如下图所示,让电机停下来就是使得其转速为零,跟之前的调速方法类似;

17、之后是操控界面的编写;

18、在左边导航栏处右击Application→添加对象→视图→确定,左边导航栏出现了visualization,页面添加完毕,接下来是具体按钮的添加和布局;

19、双击左边导航栏的visualization,切换到编辑页面;

20、进入右边导航栏工具箱页面,如下图所示,包括常用的基本控件和运动控制控件;

21、添加模拟电机功能块:进入工具箱底部的搜索框,搜索rot(不用区分大小写),选择如下的控件,并将其拖动到编辑区域;

22、随后软件会自动弹出一个如下图所示的界面

23、双击上一步中箭头所指的空白区域,空白区域会出现一个带有三个点的按钮,单击这个按钮,会出现另一个新的界面,如下图所示,点开红色箭头所指的“+”号

24、接着上一步来,点开之后选择我们之前创建的轴—axis_1,单击右下角确定

25、添加MC_Power功能块:与之前添加模拟电机功能块的操作类似,在右边导航栏的搜索框内搜索mc_power(不用区分大小写)

将mc_power控件拖动至编辑区域,软件会自动弹出一个页面,按照之前添加模拟电机控件的方法,将之前创建的MC_Power功能块与之进行关联,点击确定后,关闭页面,如下图所示

26、按照同样的方法,添加MC_MoveVelocity控件,关联MC_MoveVelocity功能块,添加MC_Reset控件,关联MC_Reset_0功能块,添加MC_ReadStatus控件,关联MC_ReadStatus_0功能块,如下几个图所示

27、添加按钮,和前几步类似,在右边导航栏搜索框内搜索button,待选区域出现了如下几个按钮

28、拖动按钮到界面的编辑区,一个需要添加5个,单击按钮,右边导航栏出现按钮的属性页面,在Texts—Text中添加具体的功能指示,分别是:调速1 调速2 顺时针转 逆时针转 停止

效果图如下图所示

29、接下来需要给按钮添加具体的功能的代码;

30首先给调速1添加代码;

31单击调速1按钮,转到按钮的属性页面,如下图所示

32、找到输入配置OnMouseClick,单击其后的配置。。。,出现如下界面

33、双击“执行ST代码”,右侧输入代码,调用相应的功能块实例,这里指定的速度值为50,单击“确定”

34、调速2按钮数值为100,其他均与调速1按钮相同;

35、停止按钮的编辑与调速按钮类似,只是速度值设置为0即可,这里不再赘述;

36、如果我们需要能控制电机两个方向上转动呢?这时候就需要调用我们之前定义的changeDir()函数,与调速1按钮类似,只是到了执行ST代码处,输入的参数是1或者-1,前者表示正方向(顺时针)转动,后者表示负方向(逆时针)转动,

37、至此,所有必须的功能块和相应的控件添加完毕;

38、单击登录到按钮,登陆到控制器,如下图所示;

39、单击运行,运行程序,如下图所示;

如果出现如下错误

则需要先停止运行,进行系统的冷/热复位,进入最上方的菜单栏,在线—冷/热复位,注意冷复位不能在运行状态下进行,需要先将程序停止;

40、冷复位完成后,点击运行,双击左边导航栏的视图页面,进入单轴操作的界面,如下图所示

41、多轴的配置只是重复上述单轴配置的过程,CFC程序部分可以直接进行复制粘贴,将输入轴改为新加入的轴即可;

42、建议速度、加速度先从小(比如从0.01开始)往大设置,速度设置过大的话,会报错:

 红色方框内的errorid是35

可以在该网址查有关错误的信息:CODESYS Online Help

搜索:SMC_ERROR 从ID 0到ID 12143

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CoDeSys 是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。 CoDeSys是可编程逻辑控制PLC的完整开发环境(CoDeSys是Controlled Developement System的缩写),在PLC程序员编程时,CoDeSys为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如Visual C++)。 现在国内PLC用户使用的版本多为CoDeSys V2.3, 最新的版本是CoDeSys V3V3 在软件架构上有了很大的改善,朝安全软件的方向发展,目前正在申请TUV关于EN 61508的SIL认证。 CoDeSys软件还可以编辑显示器界面(Visualization),具有很多的控制模块(Motion),可以放置图片等强大的功能,典型的用户有ifm等。 CoDeSys功能总览:如何构建一个工程、怎么样构建一个工程、怎么样测试工程、调试、附加联机功能。CoDeSys的附加功能、工具等。 ABB Bachmann,IFM易福门,EPEC派芬,HOLLYSYS和利时,intercontrol的PROSYD1131,赫思曼公司iFlex 系列、力士乐的RC系列,TT control 公司TTC系列[1] 控制器等PLC厂家都是使用Codesys平台开发自己的编程软件的。 国内首家采用codesys平台的国产PLC 和声 HSC C3系列控制器也已大批量产业应用。 同时,也有运动控制厂家如:Scheider Electric, Banchman, GoogolTech在在使用Codesys平台开发自己的编程软件。 CoDeSys 软件商是德国Smart software solution GmbH,该公司位于德国巴伐利亚州肯普腾市。 这个是CoDeSys的编程手册,中文版的。希望大家享用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值