[PLC]三菱Works3 编程CC-Link IEF Basic& 乐创Multiprog_Express编程Ethercat 总线伺服控制使用方式
目录
•2.浏览找到后缀为CSPP的配置文件(如MR-JE-C_1_zh-Hans.CSPP)
1.打开GX-WORKS 3软件,创建一个新的FX5U型PLC工程
8. 举例我这里添加8个MR-JE-C CC-LINK IE伺服
2. 实际传感器布置位置,MR-Configurator2找原点参数设置
总线伺服使用:WORKS3软件
FX5U-80MT/ES 通过网口组网连接CC-LINK IEF Basic伺服MR-JE-C
一、添加从站
三菱软件默认三菱JE和J4伺服配置文件在CC-Link IEF Basic配置-模块一览 中,如果没有对应的伺服,可如下配置
•1.浏览工具—配置文件管理—登录
•2.浏览找到后缀为CSPP的配置文件(如MR-JE-C_1_zh-Hans.CSPP)
•3.选中要添加的文件—右下角登录直到出现下面的对话框
二.新建工程
1.打开GX-WORKS 3软件,创建一个新的FX5U型PLC工程
2. 修改PLC型号
3. 修改软元件配置
4. 修改软元件(告诉)设置B、SB为2048
5. 修改软元件(标准)设置从512改为1024
注意,以上每个地方设置修改完成后需要
点击应用以便设置生效和存储起来
6. 网口参数修改如图(IP地址按常规需求设置,图为举例)
7. 组态添加MR-JE-C伺服
8. 举例我这里添加8个MR-JE-C CC-LINK IE伺服
请注意此处的值,非常关键。下一步需要用到
后面伺服对应的IP地址在同一个网段可以随意修改
192.168.3.XXX (XXX部分是可以修改的,前的黑色部分要和之前PLC的一致)
9. 设置完成上面的步骤,点击【反映设置并关闭】
10. 设置RY/RX, WRw、WRr参数
11. 刷新区域设置举例(8个轴的)
CC-link IE Basic
传输技术说明
以上数据区在PLC内部不断刷新,连接侧根据分配的地址,读写分配给自己的区域里面的内容。实现数据快速交互
所以实际上对于编程人员来说是在操作PLC内部的寄存器,并不需要关心数据等怎么传输给伺服的。由CC-LINK IE协议
完成
以上已经向硬件配置和参数配置讲解完毕
开始软件编程部分
1.26PIN接头配线
极限配置为:NC接法
原点DOG为: NO接法
2. 实际传感器布置位置,MR-Configurator2找原点参数设置
参数设置和回原点流程
3. 程序实例
流程结束返回
JOG控制动作流程
JOG速度模式控制
定位动作
位置控制时的控制命令字设置方法
总线伺服使用:Multiprog_express软件
I5-1213 通过Ethercat组网连接乐创Ethercat伺服PLC 工程建立
一.使用工程模版创建新工程
(1)导入运动控制功能块固件库
使用工程向导创建的工程,若要在程序中使用运动控制功能块库,还必须进行如下操作,
导入包含运动控制功能块的固件库。否则,只能使用 IO 从站和对应的逻辑控制;
导入运动控制功能固件库的步骤如下:
1) 打开“工程树窗口”。
2)插入固件库
鼠标右键单击【库】。在弹出菜单中选择【插入】->【固件库】。弹出如下对话框:
图 6.62
3)导入库
鼠标双击【MS_PLCopen_LIB】打开该文件夹,单击【包括】按钮;即可将固件库导入到
工程中。
(2)添加从站
导入 ESI 文件
ESI 文件由 EtherCAT 从站供应商提供,每个不同型号的从站均应当有对应的 ESI 文件。
MultiProg 必须导入 ESI 文件,才能自动扫描识别 EtherCAT 总线上连接的从站;或者手动
添加对应的从站到设备树;
ESI 导入方法如下:
先打开“视图”->“Ethercat”,然后鼠标点击选中 Ethercat 窗口,配置 ESI 的“Ethercat”
选项才会在菜单栏中出现。
1) ESI Manager
启动 MultiProg,单击菜单“EtherCAT”->“ESI Manager”,打开如下对话框:
2)Add ESI Files
在 ESI Manager 对话框中,单击“Add File”,在弹出的打开文件对话框中定位到要添加的
ESI 文件所在的文件夹,并选中要添加的 ESI 文件,单击“打开”按钮。
3)ESI manager中新增设备
添加文件进度条显示添加进度,完成后会在 ESI manager 窗口中显示新添加的设备列表
信息。可单击列表栏每行公司名称左侧的三角符号展开列表,在列表下一级显示具体的
ESI 文件列表项;继续单击 ESI 文件列表项左侧的三角符号,则展开 ESI 文件中描述的设
备名,设备描述信息以及版本信息。
4) 添加伺服从站
5) PDO 与 IO 变量映射
6) 配置运动控制参数
二. 编写程序并编译成功——程序编写实例
MC_Reset
描述:轴错误复位。
功能块图表示:
输入变量
输入变量 |
名称 |
数据类型 |
有效范围 |
初始值 |
内容 |
Execute |
启动 |
BOOL |
TRUE, FALSE |
FALSE |
上升沿启动指令。 |
输出变量
输出变量 |
名称 |
数据类型 |
有效范围 |
内容 |
Done |
指令执行完毕 |
BOOL |
TRUE, FALSE |
指令执行完毕。 TRUE:指令执行完毕; |
Busy |
执行中 |
BOOL |
TRUE, FALSE |
指令执行中。 TRUE:Execute的上升沿触发。 |
Error |
错误标记 |
BOOL |
TRUE, FALSE |
异常标记。 TRUE:发生异常变为TRUE; FALSE:异常解除变为FALSE。 |
ErrorID |
错误代码 |
WORD |
|
发生异常输出错误代码。16#0000为正常。 |
|
|
|
|
|
|
|
|
|
|
输出变量变化条件
输出变量 |
变为TRUE的条件 |
变为FALSE的条件 |
Done |
复位完成时 |
Execute为TRUE时,与Execute的FALSE同时; Execute为FALSE时,一个周期后。 |
Busy |
Execute的上升沿 |
Done为TRUE时; Error为TRUE时。 |
Error |
本指令的启动条件或输入参数含有异常因素时。 |
异常解除时。 |
|
|
|
|
|
|
输入输出变量
输入输出变量 |
名称 |
数据类型 |
有效范围 |
内容 |
Axis |
轴 |
AXIS_REF |
- |
指定轴 |
说明:
1、清除轴的异常;
2、先清除驱动器错误,再对控制器主站异常复位;
3、轴必须处于停止状态才能调用此指令。如果轴处于因异常而减速过程中,则无法执行本指令。
4、本指令不支持重启。当Execute发生重启操作时,指令仍按执行原来的动作。
5、本指令执行过程中,不受其它指令多重启动的影响。
MC_Stop
描述:该功能块用于轴减速停止。
功能块图:
ST语言:
MC_Stop_instance(Axis:=(* ANY *),Execute:=(* BOOL *),Deceleration:=(* REAL *),Jerk:=(* REAL *));
(* ANY *):=MC_Stop_instance.Axis;
(* BOOL *):=MC_Stop_instance.Done;
(* BOOL *):=MC_Stop_instance.Busy;
(* BOOL *):=MC_Stop_instance.CommandAborted;
(* BOOL *):=MC_Stop_instance.Error;
(* WORD *):=MC_Stop_instance.ErrorID;
输入变量
输入变量 |
名称 |
数据类型 |
有效范围 |
初始值 |
内容 |
Execute |
启动 |
BOOL |
TRUE, FALSE |
FALSE |
上升沿启动指令。 |
Deceleration |
缓停加速度 |
REAL |
正数或0 |
0 |
缓停加速度,单位[指令单位/s2] |
Jerk |
缓停加加速度 |
REAL |
正数或0 |
0 |
缓停加加速度,单位[指令单位/s3] |
输出变量
输出变量 |
名称 |
数据类型 |
有效范围 |
内容 |
Done |
完成 |
BOOL |
TRUE, FALSE |
指令执行完毕。 TRUE:指令执行完毕; |
Busy |
执行中 |
BOOL |
TRUE, FALSE |
指令执行中。 TRUE:Execute的上升沿触发。 |
CommandAborted |
执行中断 |
BOOL |
TRUE, FALSE |
指令中止。 TRUE:指令执行中止时。 |
Error |
错误标记 |
BOOL |
TRUE, FALSE |
异常标记。 TRUE:发生异常变为TRUE; FALSE:异常解除变为FALSE。 |
ErrorID |
错误代码 |
WORD |
|
发生异常输出错误代码。16#0000为正常。 |
输出变量变化条件
输出变量 |
变为TRUE的条件 |
变为FALSE的条件 |
Done |
指令完成时 |
Execute为TRUE时,与Execute的FALSE同时; Execute为FALSE时,一个周期后。 |
Busy |
Execute的上升沿 |
Done为TRUE时; Error为TRUE时; CommandAborted为TRUE时。 |
CommandAborted |
MC_ImmediateStop指令启动,中断本指令时; 因发生异常,中止本指令时; 异常发生中,启动本指令时。 |
Execute为TRUE时,与Execute的FALSE同时; Execute为FALSE时,一个周期后。 |
Error |
本指令的启动条件或输入参数含有异常因素时。 |
异常解除时。 |
输入输出变量
输入输出变量 |
名称 |
数据类型 |
有效范围 |
内容 |
Axis |
轴 |
AXIS_REF |
- |
指定轴 |
说明:
1、使轴由当前速度变为速度0,进行减速控制;若Deceleration=0则立即停止,无减速过程。
2、在Execute的上升沿,开始减速度停止的动作。
3、因启动MC_Stop指令而停止的运动指令,其输出CommandAborted=TRUE(执行中断)。
4、本指令执行中,启动其它运动指令,运动指令均不执行,并返回错误。
5、MC_Stop支持指令的重启。
6、MC_Stop执行过程中,只支持MC_ImmediateStop触发的多重启动。
7、采用本指令停止梯形运动指令(如MC_MoveAbsolute、MC_MoveRelative、MC_MoveVelocity的Jerk=0.0)时,减速控制的减速度由本指令下的Deceleration来进行减速;若采用本指令停止S形运动指令(如MC_MoveAbsolute、MC_MoveRelative、MC_MoveVelocity的Jerk>0.0)时,S形减速控制参数由被停止的运动指令的Acceleration和Jerk来决定。
MC_MoveAbsolute
描述:该功能块指定轴的绝对坐标的目标位置,进行定位。
功能块图表示:
输入变量
输入变量 |
名称 |
数据类型 |
有效范围 |
初始值 |
内容 |
Execute |
启动 |
BOOL |
TRUE, FALSE |
FALSE |
上升沿启动指令。 |
ContinuousUpdate |
更新模式 |
BOOL |
TRUE, FALSE |
FALSE |
bContinuousUpdate为TRUE,且输出参数bBusy=TRUE时,每个PLC周期将更新一次Position输入参数,即可动态改变目标位置。 |
Position |
目标位置 |
REAL |
负数,0,正数 |
0 |
指定绝对坐标的目标位置,单位为[指令单位] |
Velocity |
目标速度 |
REAL |
正数 |
0 |
指定目标速度,单位为[指令单位/s] |
Acceleration |
加速度 |
REAL |
正数,0 |
0 |
加速度,单位为[指令单位/s2] |
Deceleration |
减速度 |
REAL |
正数,0 |
0 |
减速度,单位为[指令单位/s2] |
Jerk |
加加速度 |
REAL |
正数,0 |
0 |
加加速度,单位为[指令单位/s3] Jerk=0:运动为梯形升降速; Jerk>0:运动为S形升降速,且为对称S形速度曲线,其加速度减速度都按照Acceleration来处理,Deceleration无效。 |
Direction |
运动方向 |
INT |
1,3,4 |
1 |
保留 1:正方向; 3:负方向; 4:当前方向。 |
BufferMode |
缓冲模式 |
INT |
0,1 |
0 |
0:立即模式; 1:缓冲模式。 |
输出变量
输出变量 |
名称 |
数据类型 |
有效范围 |
内容 |
Done |
完成 |
BOOL |
TRUE, FALSE |
指令执行完毕。 TRUE:指令执行完毕; |
Busy |
执行中 |
BOOL |
TRUE, FALSE |
指令执行中。 TRUE:Execute的上升沿触发。 |
Active |
控制中 |
BOOL |
TRUE, FALSE |
指令控制中。 TRUE: |
CommandAborted |
执行中断 |
BOOL |
TRUE, FALSE |
指令中止。 TRUE:指令执行中止时。 |
Error |
错误标记 |
BOOL |
TRUE, FALSE |
异常标记。 TRUE:发生异常变为TRUE; FALSE:异常解除变为FALSE。 |
ErrorID |
错误代码 |
WORD |
|
发生异常输出错误代码。16#0000为正常。 |
输出变量变化条件
输出变量 |
变为TRUE的条件 |
变为FALSE的条件 |
Done |
指令完成时 |
Execute为TRUE时,与Execute的FALSE同时; Execute为FALSE时,一个周期后。 |
Busy |
Execute的上升沿 |
Done为TRUE时; Error为TRUE时; CommandAborted为TRUE时。 |
Active |
开始指令后 |
Done为TRUE时; Error为TRUE时; CommandAborted为TRUE时。 |
CommandAborted |
因发生异常,中止本指令时; 异常发生中,启动本指令时。 |
Execute为TRUE时,与Execute的FALSE同时; Execute为FALSE时,一个周期后。 |
Error |
本指令的启动条件或输入参数含有异常因素时。 |
异常解除时。 |
输入输出变量
输入输出变量 |
名称 |
数据类型 |
有效范围 |
内容 |
Axis |
轴 |
AXIS_REF |
- |
指定轴 |
说明:
1、指定绝对坐标的目标位置,进行定位;
2、在Execute启动的上升沿,开始绝对定位的动作;
3、即使原点未确定也可以执行本指令;
4、可在输入变量中指定Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)、Jerk(加加速度);
5、与指令当前位置相同,指定Position并启动后,轴不发生移动,但是bDone将变为TRUE;
6、其它指令执行中,启动本指令时,对正在执行的指令,根据BufferMode模式,可切换(中断正在执行的指令)或缓存本指令的执行。每轴最多能缓存1条指令。
7、本指令不支持重启。当Execute发生重启操作时,指令仍按执行原来的动作。
8、本指令执行过程中,支持其它指令触发的多重启动。
程序