西门子CPU与汇川620F伺服通信与控制
- 一、西门子CPU与汇川620F伺服通信与控制
- 1、器件准备
- 2、==伺服软件设置==
- 3、==PLC添加汇川伺服描述文件==
- 4、PLC编程调试
- 5、总结
- 二、西门子s7-1500限位信号接到伺服的方法
- 1、==通过默认报文获取限位信号==
- 2、==添加自定义报文获取限位信号==
- 3、总结
- 三、西门子S7-1500自带模拟量控制伺服转速
一、西门子CPU与汇川620F伺服通信与控制
1、器件准备
西门子PLC、汇川伺服驱+动器、一根汇川伺服驱动器232通信线、一个USB转232通讯线(设置汇川伺服只能用串口通信,且通信线插到伺服CN5口);
2、伺服软件设置
步骤1,电脑插好USB转232
并连接到伺服后,打开设备管理查看串口的端口号
步骤2,打开汇川伺服调试软件
新建工程——选择伺服驱动器型号为IS620F-RT系列
,端口号选择与步骤一一样的端口号(如COM9)
步骤3,等待自动扫描出来,点击完成;
步骤4,设置伺服参数
-
参数1:设置驱动器控制模式为
11[11-PN总线控制]
(模式不对则PLC与驱动器将无法通信) -
参数2:设置点击旋转一圈需要的脉冲数(可以设置
H502
但是需要断电重启,也可以设置H509
)
36000
脉冲丝杆转一圈;
我们设置H509
分母为36000,360度,精度小数点后两位,设置完毕点击写入全部勾选项
驱动器编码器是23位,即转一圈编码器反馈的数量是8388608,这个分子H507
就是默认的8388608
-
参数3:确认报文是否是
111
,PLC用EPOS
模式;
这个参数可以不用设置,PLC端设置好后会自动更新;
-
参数4:设置伺服控制限制PLC输出最大电机速度
注意单位是1000LU/分钟
;
LU是西门子定义的一个单位,可以理解为细分;
比如说限制最大转速是3000转每分钟,转一圈的脉冲数36000,应该乘以60;
最大转速是3000每分钟,则1秒最快是50转,所以还要乘以50,单位是1000LU1分钟,则应该写108000;
计算公式:1圈36000脉冲*60秒*最大转速50转/s)1分钟最大脉冲频率108000000
,除以1000LU/分钟;
-
参数5:设置加减速度(速度的计算可以查看手册)
-
参数6:设置JOG速度,我这边验证用的,JOG速度设置1秒转一圈
步骤7:设置限位和原点设置
若只接了原点常开
和正限位常闭
,所以我就设置两个
注意要根据自己实际接线的DI引脚
选择,否则驱动器的信号将收不到;
设置完成点击 写入;
- 步骤8:设置找原(找零)
原点复归低速度默认300,3001000/60,低速度是1秒50度
【3001000=300000脉冲/分钟;每秒5000个脉冲,转一圈360度需要36000个脉冲,故5000÷36000*360°=50°/s
】
总结:伺服电机的参数大致设置这么多,其他需要可查看手册调整;
3、PLC添加汇川伺服描述文件
-
步骤1.从汇川官方网站下载
IS620F-RT
伺服的XML
文件 -
步骤2:博途软件添加汇川伺服描述文件
勾选需要添加的汇川伺服文件
,点击安装即可【必须安装,不然没办法添加驱动器】
添加完成后,打开硬件目录查看汇川伺服是否添加成功
4、PLC编程调试
按照图示把网络连接好,上电;
-
步骤1:添加驱动器到网络示图
点击未分组,添加网络
-
步骤2:配置驱动器
将汇川伺服驱动器与西门子PLC在网络试图中相连接;
添加驱动对象
添加111报文:
-
步骤3:添加EPOS工艺对象
①可以在工艺对象下新增对象;②也可以之间添加基本定位器功能块时选择;
选择方法②
-
步骤4:配置驱动对象
设置基本参数
设置硬件接口
设置机械系统
- 步骤5:PLC程序编写
实现使能、报警清除、JOG、找原、定位的功能
程序编写参考第一节课程
- 步骤6:下载程序到PLC
驱动器和IP地址的更改参考课程2
下载完成后驱动器显示界面也跟着变化了
驱动器显示43,表示报文111已连接成功
- 步骤7:在线调试
手动拨开I0.0,查看驱动器显示的内容,43RY
表示准备好,RN
表示使能中:
再测试下JOG,伺服器端设置的JOG速度是一秒360度
查看功能块当前的速度:
前速度是860左右,证明前面驱动器设置2160对应的速度是1秒360度
开始找原,采用的是被动找原;
打开I0.4,开始找原;
注意找原信号需要保持住;
假如目前伺服的位置在原点和极限之间,碰到正极限后,电机反转;
再碰到原点减速,原点信号从ON到OFF后反转;
再碰到原点后减速停止,原点确定;
当前位置也清零了;
测试下相对定位和绝对定位
5、总结
第三方驱动器的配置内容和西门子的配置内容基本一致,基本上会一种即可知道其他品牌的配置
二、西门子s7-1500限位信号接到伺服的方法
不要再把伺服限位信号接PLC上了,如果你这么做一个轴可以节省3个PLC输入点位
1、通过默认报文获取限位信号
- 步骤1:确认驱动器限位信号已经定义好
正限位常闭,原点信号常开
测试证明传感器信号没问题,但是为什么驱动器碰到极限后不报警提示呢?
- 步骤2:打开手册查看默认报文限位信号引用的方法
限位需要激活才有用,
我们只使用硬限位,根据手册需要给ConfigEPOS
这个参数的第3位置位激活
PLC编程中功能块的ConfigEpos
的第3个位或者111报文的STW1
的第15位
我在PLC中直接添加了一段程序直接控制ConfgEPOS
给I1.0
一个ON信号激活硬限位,再来测试下限位信号ON后会不会报警,这个时候驱动器报警了,证明如果让限位报警,还需要激活硬限位;
PLC功能块输出AxisWarn
有报警输出,ActWarm
也出现报警代码
根据伺服软件中报文监控的111报文
,传输方向位置状态字1,第9位是正限位信号,第11位是原点信号
对应PLC功能块输出EPOSZSW1
的点位,引用报文信号;
先看下伺服软件输出报文,监控状态:
挡住正限位光电开关后,伺服输出正向停止挡块生效信号给PLC
挡住正限位后,PLC功能块输出EPOSZSW1的值有变化,证明伺服已经通过报文把限位状态发给PLC了;
挡住原点信号后,何服并没有输出,测试了下,必须激活找原功能,才会有输出;
当拨动找原开关后,回原参考点激活有信号输出到PLC
找到原点后,何服回参考点激活信号停止输出
- 步骤3:引用默认报文信号
引用 默认111报文EPOSZSW1
的引脚输出感应器信号到PLC
直接引用功能块输出报文字中的位;
引用字中的位,方法是在字后面添加%+x+Btt
位;
正限位的信号是Bit9
原点激活信号是Bit11
把状态输出到Demo
机的输出上,更改下注释方便看程序;
把修改好的程序下载到PLC中,测试下
挡住正限位感应器时,PLC可以收到信号
执行找原命令时,原点信号可以收到
但是零位激活信号,并不能直接反应感应器的状态
如果想在调试设备的时候监控感应器状态,靠默认报文是行不通的;
接下来让我们来看下如何解决这个问题
添加自定义报文获取限位信号
2、添加自定义报文获取限位信号
-
步骤1.打开伺服软件,添加自定义报文
打开HOE(PN总线通信参数)
修改HO39的值,选择3,外部DI状态,下载到驱动器内存;
-
步骤2:打开报文监控查看信号伺服能否输出到报文;
选择自定义报文
挡住原点信号时,自定义报文的值是1,如下图:
挡到正限位时,报文值是16进制的80,如下图:
对应I0设置的DI1和DI8,相对应报文字的BIT0和BIT7 -
步骤3:在PLC中添加自定义报文的引用点位
打开PLC,引用自定义报文的值,输出到PLC
由于功能块没有输出自定义报文的输出,需要在伺服对象中查看,引用的报文地址是多少
打开末分组的设备,找到伺服,打开设备状态,之前添加报文的时候,PLC自动分配了输入和输出地址,所以直接引用即可:
自定义报文是最后一个字,对应的输入是I91;
之前添加报文的时候,PLC自动分配了输入和输出地址,所以直接引用即可
根据刚才伺服设置的DIN
配置,BIT位是0和7对应PLC的点位是I91.0和i91.7
下载进PLC
挡住感应器测试下效果,这个时候,原点信号的状态是实时传输的
3、总结
- 默认报文,需要激活硬限位才能收到限位信号
- 默认报文,原点信号不能实时输出到PLC
- ;自定义报文,需要伺服端设置DIN点位