登录
首页 运动控制 施耐德电气伺服
回帖 发帖
正文

主题:TM241等普通PLC实现电子凸轮功能/CNC

点击:3097 回复:6

附件:TM241等普通PLC实现电子凸轮功能和CNC.pdf
[本地下载]
附件 SinCam.jpg
TM241等普通PLC实现电子凸轮功能/CNC
第三方库使用指南
==================================<具体见楼顶的附件,可下载>======================
1, 本方案的特点 2
2, 软件,硬件要求 2
3, 软件组态 3
4, 驱动配置 8
5, 软件参数配置 9
6, 软件功能块FB编程(完全兼容Softmotion FB功能块) 15
7, Zx FB功能块与Softmotion FB功能块的等价关系 15
8, CNC功能块简介 20
9, 电子凸轮同步功能 21
10, 附录:如何添加库文件 23
11, 常见问题及对策: 26
1, 本方案的特点
本方案使用普通的PLC,通过软件算法,实现伺服运动轨迹规划,通过Can总线控制伺服进行同步运动,使得伺服驱动器减少了运动轨迹计算,从而提高伺服的稳定性(以LXM28为例,通过上位机发送同步位置,不会一些莫名其妙的问题。如,定位信号完成done,该来不来,来了又不消失,或者,出现严重滞后等。这些都是因为驱动器在运算轨迹路径的过程中,出现抖动,或者响应慢。另外,done信号还需要通过Can传输给PLC,这也会导致信号延迟太大。而采用同步控制,路径规划计算放在PLC内部,降低了驱动器的负荷,有效改善了类似情况的发生)。同时,使用同步控制伺服,可以提高伺服的使用效果。即使是控制伺服走PTP,也可以非常方便的实时修改ACC,DEC等参数,可以中途修改路径终点,可以非常方便的实现S曲线,减少伺服对机械的冲击,降低设备运行噪音,提高设备性能,使用寿命,提升设备档次。
基于以上特点,市面上,凡是有同步运动功能的硬件,价格都比较昂贵。而该方案使用普通PLC的硬件,价格优势十分明显。LMC058价格几乎是TM241CEC24x3倍!而CPU性能几乎一样。这对价格敏感的客户,很尴尬。一方面,设备要求不高,没有必要使用高速高性能的运动控制器,另一方面,入门级的运动控制器,价格又不低。国产的运动控制器,价格也不便宜。而且,品牌影响力不高,尤其是出口机器。
另外,可以有效扩展运动控制器的同步轴数,比如LMC058的Canopen接口,TM262Lx5,可以增加TMSCO1模块,扩展Can接口,扩展非SERCOSIII同步轴。
2, 软件,硬件要求
1) 编程平台:Somachine V43,ESME V11
2) 添加ZxMcLib电子凸轮库(或ZxRobotLib CNC库)文件(详细见文章后面附录)
3) TM241,TM251,TM258,LMC058,M262+TMSCO1等,具有CanOpen接口或PTO接口
4) 具有Can接口的伺服,如LXM32A,LXM28A,并且支持IP(插补)或CSP(循环同步)模式。要求不高的场合,可以使用脉冲接口伺服,如LXM23D,LXM26
5) 完全兼容Softmotion功能块,Zx-FB的状态位,故障信息,Help,完全与对应的MC_FB保持一致。原来的编程知识是重要的知识积累,得到很好的保持
6) 性能表现(以全部做电子凸轮同步为准):
以TM241CEC24T为例
4轴凸轮同步,同步时间在2-4ms,若程序量较大,可以放大到6ms。
8轴凸轮同步,同步时间在4-6ms,若程序量较大,可以放大到8ms。
以LMC058为例
2个Can总线接口,都可以实现凸轮同步控制,理论上,同步轴数可以翻倍,当然还受限于CPU计算能力,会牺牲部分同步时间性能
以TM262+TMSCO1为例
由于CPU性能比TM241提高4-7倍,理论上,可以驱动更多的同步轴(还要综合考虑Can总线负荷)
需要编码器做主轴时:增加高速计数模块 TM3XHSC202
7) 各个PLC平台综合比较
从CPU性能,是否自带Can总线接口,是否自带HSC编码器接口,是否自带PTO接口(PTO可带脉冲凸轮伺服,或接伺服,或接步进),自带IO数量等综合因素来看,TM241CEC24x是性价比最高的硬件平台
8) 有没有同步轴数限制?
以TM241CECx为例,其Can接口最大从轴数量为63轴,如果启用同步功能,最大同步时间可以设置很大,但是同步性能会很差。故,一般设置10ms以内的同步时间周期为好。受此限制,Can总线同步轴数最大约10轴左右(PTO可以额外控制脉冲凸轮同步最大4个轴)。如果对同步性能要求不高,则可以驱动更多的同步轴。
9) PTO同步轴特点
使用PTO做凸轮控制,可以接任何普通的具有脉冲接口的伺服,或者步进,成本低廉,对性能要求不高,又需要做同步运动的机器,有很好的契合度。比如:枕式包装机,口罩机。针对这种机器,甚至可以选择TM241C40X等没有Can接口的PLC,直接用PTO控制4轴以内的同步驱动,可以进一步降低成本。另一方面,TM241的PTO脉冲频率上限为100KHz,在规划曲线时,要充分考虑,不要超过此限制。伺服设置上,可以通过增加电子齿轮比来提高脉冲频率对应的伺服转速,可以有效避免此缺陷。
3, 软件组态
1) 确定总线任务周期:单位:S(一定要匹配下面(小节3-3)SDO中的设置)否则:出现电机顿挫现象,而且给定参数-实际参数不一致。如:给定速度100,实际速度可能或者高一些,或者低一些
2) 配置Can总线
3) 配置同步总线
4) 添加LXM28A驱动器普通的EDS文件,
推荐版本:SELXM28_017528E.eds
5) 配置驱动器
1. 添加SDO(16#1006/16#60C2一定要匹配gcrCycletime)否则:出现电机顿挫现象
2. 配置R-PDO
3. 配置S-PDO
4, 驱动配置
1) 建立轴参数结构体:zAx
2) 建立主轴编码器
添加一个HSC,修改名称“MasterEncoder”
5, 软件参数配置
1) 编码器配置(注意:一定要将ZxEncToAxis,ZxDrive,eCam放在程序的前面,保证上电第一时间能够初始化,否则程序会Crash!!!)
跳出对话框
2) CanOpen总线伺服驱动配置(注意:一定要将ZxEncToAxis,ZxDrive,eCam放在程序的前面,保证上电第一时间能够初始化,否则程序会Crash!!!)
跳出对话框
相当于LMC058里面的下列参数
3) PTO脉冲伺服驱动配置
升级版本的ZxDrive_PTO功能块,增加了对PTO脉冲频率是否超过限制的判断:
如果使用CFC编程,注意指令执行的先后顺序,确保ADR(PTO_X)得到最先执行!否则程序会Crash,并跳出弹窗,提示“xxx无源代码。。。”
第一个式子,尽量降低PLC脉冲输出频率。
第二个式子,尽量提高P1-44/P1-45
简单核算脉冲是否合适公式:
6, 软件功能块FB编程(完全兼容Softmotion FB功能块)
1) 建立Motion程序
2) 建立主轴编码器对象(详细见4-1)
3) 建立轴对象实例(结合3-1,4-2)并在程序中调用
相当于CanMotion下面的马达对象
程序调用
7, Zx FB功能块与Softmotion FB功能块的等价关系
1) 使能ZxPower
2) 轴寻原点ZxHoming
3) 轴复位ZxReset
4) 轴设定位置ZxSetPostion
5) 轴停止ZxStop
6) 轴走速度模式ZxMoveVelocity
7) 轴走相对定位ZxMoveRelative
8) 轴走绝对定位ZxMoveAbsolute
9) 轴走二次定位ZxMoveAdditive
10) 轴暂停ZxHalt
11) 轴点动ZxJog
12) 轴寸动ZxInch
8, CNC功能块简介
通过读取Circle.txt文件,实现圆轨迹CNC功能
SMC_ReadNCFile1: ZxRobotLib.SM3_CNC.SMC_ReadNCFile := (sFileName:= 'circle.txt');

9, 电子凸轮同步功能
1) 建立凸轮曲线:建议使用LMC058的项目中的Cam编辑器,辅助设计凸轮曲线
定义电子凸轮对象及相关变量(注意:一定要将ZxEncToAxis,ZxDrive,eCam放在程序的前面,保证上电第一时间能够初始化,否则程序会Crash!!!)
注意:如果遇到编译出现“未知数据类型”错误,在数据类型前面加前缀:ZxMcLib。
其他如:
2) 调用ZxCamTableSelect,ZxCamIn使用凸轮曲线
3) 脱开凸轮曲线ZxCamOut
4) 电子齿轮编程
10, 附录:如何添加库文件
1) 找到Devices中的Library Manager,点击Library repository
2) 如下依次操作
3) 关闭当前窗口,返回到Library Manager界面,选择Add library
4) 选中相应的Company目录,比如ZxMotionControl,显示该目录下所有的库文件
5) 选中相应的库文件,点击OK,返回到Library Manager界面,即可看到加载好的库文件。现在,就可以正常使用该库文件了。
6) 该库文件为授权使用,未经授权,可以运行2小时。2小时后,重启可以继续运行2小时。
7) 若需要CNC功能,需要添加另外的功能库Zx_Robot_MotionControl_Vx1.9.3.xxxxx.compiled-library
11, 常见问题及对策:
1) 注意:
A:一定要将ZxEncToAxis,ZxDrive,eCam曲线数据等,放在程序的前面,保证上电第一时间能够初始化
B:先定义zAx结构体,使用zAx结构体之前,一定要结合对应的ZxDrive使用,具体见5-2
C:如果使用CFC编程,注意指令执行的先后顺序,确保ADR(PTO_X)得到最先执行!
否则程序会Crash!!!弹出对话框“没有有用的源代码”
2) 注意:
如果遇到编译出现“未知数据类型”错误,在数据类型前面加前缀:ZxMcLib。如:
3) 总线设备Optional Device选项对总线的影响
选中:上电时,该设备掉线,不影响其他Can设备的正常工作
不选中:上电时,该设备掉线,其他Can设备会受到影响,比如伺服,无法使能
4) 什么样的伺服驱动器可以实现Cam同步功能:
1. 支持IP模式,即:Interpolation Positon Mode
2. 支持CSP模式,即:Cyclic Synchronous Position Mode
5) IP与CSP模式的区别
相同点:从使用角度来说,二者没有本质区别。都可以实现Cam凸轮同步功能
不同点:R_PDO配置:
IP模式映射16#60C1_01
CSP模式映射16#607A_00
6) PDO映射区注意事项,起始地址使用(RPDO:16#1400, TPDO:16#1800)
7) 在使用LXM23A的过程中,遇到报警AL113(同步时间错误),按下图处理
8) 如何实现“凸轮开关”
该FC比“凸轮顶杆”(ZxDigitalCamSwitch)简单易用
例子:
9) 切换曲线时,ZxCamIn.StartMode尽量使用absolute,可以有效降低切换时的过冲现象。
10) 使用ZxGearIn时,如果该轴一直朝一个方向运行,最好改成“线性轴”,即:uiMoveType=1,否则容易出现跳变,LXM28报警AL520“位置偏差过大”
11) 更改Cam曲线的最后一点的dY值,比如
XCamPoint[0].dX:=0;
XCamPoint[0].dY:=0;

XCamPoint[1].dX:=360;
XCamPoint[1].dY:=360;
该凸轮曲线的最后一点为XCamPoint[1].dY:=360,根据工艺需要修改为270,为了避免电机突跳,应该使用ZxCamIn.EndOfProfile来触发ZxCamTableSelect,同时用ZxCamTableSelect.Done触发ZxCamIn。
Schneider Electric OEM-Packaging Solution ADE纵永刚
18616885540
2021-01-17
最后修改:2021/1/18 21:37:38
21-01-18 21:28
附件 SinCam.jpg
附件 ZxDrive.jpg
21-01-18 21:29
附件:TM241等普通PLC实现电子凸轮功能和CNC.pdf
[本地下载]
21-01-18 21:31
感谢分享!
21-01-19 09:09
第三方库文件在什么地方呢?
Good Luck~
21-01-19 10:01
第三方库是要付费的 ,也就是需要购买的吧 ?
21-01-19 10:54
要授权,要收钱
21-02-21 22:41

工控新闻

更多新闻资讯