技术论坛

 用于200Smart控制V90PN的仿博途轴工艺对象MC指令

返回主题列表
作者 主题
ChangeWang
游侠

经验值: 458
发帖数: 50
精华帖: 3
楼主    2019-04-23 10:30:33
主题:用于200Smart控制V90PN的仿博途轴工艺对象MC指令 精华帖 

        200smart近期又火起来了,因为v2.4支持Profinet,能走Epos控制V90PN。编程软件里提供的Sian_Pos块其实是仅作为“驱动程序”,实现与V90驱动器的数据交互,具体实现各个运动功能,还需对Sina_Pos块里的各参数进行配置。为了方便使用,本人参照博途轴工艺对象里Motion Control指令,做了几个简单的功能块,以实现对伺服进行初始化、操作错误上报、运动参数设置、相对定位、绝对定位、寻找参考点、点动、增量点动。控制多台伺服直接对这些功能块进行多次调用即可。

        前期对200smart与v90PN的配置工作在此不赘述了,可以参考“刚刚入门”兄的精华帖“一步一步实战200smart与V90PN的定位控制”——http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1548104&b_id=64&b_sid=0&s_id=0&num=20#anch

        下面进入示例程序。在此假设控制一台伺服“轴1”。编程之前首先进行数据规划,将需要用到的变量建出来。把变量放在多个符号表里,便于查找和管理。在此创建三个符号表:dbSinaPosAxis1,用于轴1的Sina_Pos块;dbCtrlAixs1,用于轴1的控制命令;dbSystem,用于全程序使用。

        注:对于变量规划命名有两点小建议:

        1、多个对象的相同操作,假设同对对象1、对象2、对象3进行开启,则在建立对象1的变量时,命名为“start_对象1”,这样对象2、对象3直接复制粘贴对象1,把最后的数字改一下就行。

        2、长度为一个字的变量,地址用2的整数倍;长度为一个双字的变量,地址用4的整数倍。防止地址重叠。

dbSinaPosAxis1


dbCtrlAxis1

dbSystem

下面是Main程序总览

        时间有限,暂时发这么多,望大家理解。后续我会对每个功能块进行详细介绍。


ChangeWang
游侠

经验值: 458
发帖数: 50
精华帖: 3
2楼    2019-04-23 13:52:42
主题:回复:用于200Smart控制V90PN的仿博图轴工艺对象MC指令

        在介绍运动控制功能块之前,先介绍一个小子程序TimeBase。它用来给整个程序提供一个100ms的定时时基,可避免在程序中,尤其是子程序中大量使用定时器。虽然这种方式计时不是太精确,但可满足大部分应用场合。

TimeBase

        这段程序可每隔100ms产生一个上升沿脉冲。如想实现计时功能,可建立一Int(长度为1个word)型变量wTon,使用“TB_100ms”去执行wTon的INC(自加1)操作,则wTon=1便是计时了100ms,wTon=10便是计时了1s。


ChangeWang
游侠

经验值: 458
发帖数: 50
精华帖: 3
4楼    2019-04-23 14:40:41
主题:回复:用于200Smart控制V90PN的仿博图轴工艺对象MC指令

        下面是各功能块程序,注释比较详细,请大家查阅,并希望大家提出宝贵意见。

1、MC_MoveRelative

功能块接口变量

功能块程序

2、MC_MoveAbsolute

功能块接口变量

功能块程序

3、MC_ToRef

功能块接口变量

功能块程序

4、MC_MoveJog

功能块接口变量

功能块程序

5、MC_MoveIncJog

功能块接口变量

功能块程序

6、MC_Initialize

注:200smart的Sina_Pos块有个特性,就是操作模式为0时,会报错“3,不支持的操作模式”,且无法使能,所以初始化时先任意给其赋值一个操作模式。因刚上电一般都需寻找参考点,所以这里把操作模式设置成“4”。

功能块接口变量

功能块程序

7、MC_MotionParam

注:这里是对伺服的速度、加减速百分比、相对定位、绝对定位的速度、位置进行设置

功能块接口变量

功能块程序

8、MC_OprateError

注:这个块反馈的是“操作错误”,因系统性错误,如伺服故障、到达硬限位等在驱动器的报警代码里都会体现,所以这里反馈的是“未使能便触发动作命令”、“速度、位置设定值超出允许范围”等操作性错误。

功能块接口变量

功能块程序

        这些子程序封装成库,后期就能随时调用了。


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。