首页 > 编程语言 >[PLC]三菱Works3 编程CC-Link IEF Basic& 乐创Multiprog_Express编程Ethercat 总线伺服控制使用方式

[PLC]三菱Works3 编程CC-Link IEF Basic& 乐创Multiprog_Express编程Ethercat 总线伺服控制使用方式

时间:2023-04-18 22:24:37浏览次数:46  
标签:Execute 编程 FALSE MC Multiprog Express 指令 BOOL TRUE

目录

总线伺服使用:WORKS3软件

一、添加从站

1.浏览工具配置文件管理登录

2.浏览找到后缀为CSPP的配置文件(MR-JE-C_1_zh-Hans.CSPP)

3.选中要添加的文件右下角登录直到出现下面的对话框

.新建工程

1.打开GX-WORKS 3软件,创建一个新的FX5UPLC工程

2. 修改PLC型号

3. 修改软元件配置

4. 修改软元件(告诉)设置BSB2048

5. 修改软元件(标准)设置从512改为1024

6. 网口参数修改如图(IP地址按常规需求设置,图为举例)

7. 组态添加MR-JE-C伺服

8. 举例我这里添加8MR-JE-C CC-LINK IE伺服

9. 设置完成上面的步骤,点击【反映设置并关闭】

10. 设置RY/RX, WRwWRr参数

11. 刷新区域设置举例(8个轴的)

CC-link IE Basic

传输技术说明

开始软件编程部分

1.26PIN接头配线

2. 实际传感器布置位置,MR-Configurator2找原点参数设置

3. 程序实例

总线伺服使用:Multiprog_express软件

一.使用工程模版创建新工程

1)导入运动控制功能块固件库

2)添加从站

二. 编写程序并编译成功——程序编写实例

MC_Reset

MC_Stop

MC_MoveAbsolute

程序

 

 

总线伺服使用:WORKS3软件

 

FX5U-80MT/ES 通过网口组网连接CC-LINK IEF Basic伺服MR-JE-C

wps1 

 

一、添加从站

 

三菱软件默认三菱JEJ4伺服配置文件在CC-Link IEF Basic配置-模块一览 中,如果没有对应的伺服,可如下配置

wps2 

 

1.浏览工具配置文件管理登录

wps3 

 

2.浏览找到后缀为CSPP的配置文件(MR-JE-C_1_zh-Hans.CSPP)

wps4 

 

3.选中要添加的文件右下角登录直到出现下面的对话框

wps5 

 

 

.新建工程

1.打开GX-WORKS 3软件,创建一个新的FX5UPLC工程

wps6 

 

 

2. 修改PLC型号

wps7 

 

 

3. 修改软元件配置

wps8 

wps9 

 

4. 修改软元件(告诉)设置BSB2048

wps10 

 

5. 修改软元件(标准)设置从512改为1024

wps11 

 

注意,以上每个地方设置修改完成后需要

点击应用以便设置生效和存储起来

 

6. 网口参数修改如图(IP地址按常规需求设置,图为举例)

wps12 

 

7. 组态添加MR-JE-C伺服

wps13 

 

8. 举例我这里添加8MR-JE-C CC-LINK IE伺服 

wps14 

请注意此处的值,非常关键。下一步需要用到

后面伺服对应的IP地址在同一个网段可以随意修改

192.168.3.XXX (XXX部分是可以修改的,前的黑色部分要和之前PLC的一致)

 

9. 设置完成上面的步骤,点击【反映设置并关闭】

wps15 

 

10.  设置RY/RX, WRwWRr参数

wps16 

 

11.  刷新区域设置举例(8个轴的)

 

wps17 

 

 

CC-link IE Basic

传输技术说明 

wps18 

wps19 

以上数据区在PLC内部不断刷新,连接侧根据分配的地址,读写分配给自己的区域里面的内容。实现数据快速交互

所以实际上对于编程人员来说是在操作PLC内部的寄存器,并不需要关心数据等怎么传输给伺服的。由CC-LINK IE协议

完成

 

wps20 

以上已经向硬件配置和参数配置讲解完毕

 

 

 

 

 

 

 

 

 

 

开始软件编程部分

1.26PIN接头配线

极限配置为:NC接法

原点DOG: NO接法

wps21 

 

2. 实际传感器布置位置,MR-Configurator2找原点参数设置

wps22 

参数设置和回原点流程

wps23 

wps24 

 

3. 程序实例

wps25 

wps26 

wps27 

wps28 

 

 

 

流程结束返回

 

JOG控制动作流程

wps29 

 

JOG速度模式控制

wps30 

 

定位动作 

位置控制时的控制命令字设置方法

wps31 

wps32 

wps33 

wps34 

wps35 

 

 

 

总线伺服使用:Multiprog_express软件

 

I5-1213 通过Ethercat组网连接乐创Ethercat伺服PLC 工程建立

一.使用工程模版创建新工程

wps36 

 

1)导入运动控制功能块固件库 

使用工程向导创建的工程,若要在程序中使用运动控制功能块库,还必须进行如下操作,

导入包含运动控制功能块的固件库。否则,只能使用 IO 从站和对应的逻辑控制;

导入运动控制功能固件库的步骤如下:

1 打开工程树窗口

wps37 

2)插入固件库

 鼠标右键单击【库】。在弹出菜单中选择【插入】->【固件库】。弹出如下对话框:

wps38 

6.62

3)导入库

 鼠标双击【MS_PLCopen_LIB】打开该文件夹,单击【包括】按钮;即可将固件库导入到

工程中。

wps39 

2)添加从站 

导入 ESI 文件

ESI 文件由 EtherCAT 从站供应商提供,每个不同型号的从站均应当有对应的 ESI 文件。

MultiProg 必须导入 ESI 文件,才能自动扫描识别 EtherCAT 总线上连接的从站;或者手动

添加对应的从站到设备树;

ESI 导入方法如下:

先打开“视图”->Ethercat”,然后鼠标点击选中 Ethercat 窗口,配置 ESI Ethercat

选项才会在菜单栏中出现。

1 ESI Manager

启动 MultiProg,单击菜单EtherCAT->ESI Manager”,打开如下对话框:

wps40 

2Add ESI Files 

ESI Manager 对话框中,单击“Add File”,在弹出的打开文件对话框中定位到要添加的

ESI 文件所在的文件夹,并选中要添加的 ESI 文件,单击“打开”按钮。

wps41 

3ESI manager中新增设备 

添加文件进度条显示添加进度,完成后会在 ESI manager 窗口中显示新添加的设备列表

信息。可单击列表栏每行公司名称左侧的三角符号展开列表,在列表下一级显示具体的

ESI 文件列表项;继续单击 ESI 文件列表项左侧的三角符号,则展开 ESI 文件中描述的设

备名,设备描述信息以及版本信息。

wps42 

4) 添加伺服从站

 

wps43 

5PDO IO 变量映射

wps44 

 

6) 配置运动控制参数

wps45 

 

 

 

 

 

 

 

二. 编写程序并编译成功——程序编写实例

 

MC_Reset

描述:轴错误复位。

功能块图表示:

wps46 

 

输入变量

输入变量

名称

数据类型

有效范围

初始值

内容

Execute

启动

BOOL

TRUE,

FALSE

FALSE

上升沿启动指令。

 

 

输出变量

输出变量

名称

数据类型

有效范围

内容

Done

指令执行完毕

BOOL

TRUE,

FALSE

指令执行完毕。

TRUE:指令执行完毕;

Busy

执行中

BOOL

TRUE,

FALSE

指令执行中。

TRUEExecute的上升沿触发。

Error

错误标记

BOOL

TRUE,

FALSE

异常标记。

TRUE:发生异常变为TRUE

FALSE:异常解除变为FALSE

ErrorID

错误代码

WORD

 

发生异常输出错误代码。16#0000为正常。

 

 

 

 

 

 

 

 

 

 

 

输出变量变化条件

输出变量

变为TRUE的条件

变为FALSE的条件

Done

复位完成时

ExecuteTRUE时,与ExecuteFALSE同时;

ExecuteFALSE时,一个周期后。

Busy

Execute的上升沿

DoneTRUE时;

ErrorTRUE时。

Error

本指令的启动条件或输入参数含有异常因素时。

异常解除时。

 

 

 

 

 

 

 

输入输出变量

输入输出变量

名称

数据类型

有效范围

内容

Axis

AXIS_REF

   -

指定轴

 

说明:

1、清除轴的异常;

2、先清除驱动器错误,再对控制器主站异常复位;

3、轴必须处于停止状态才能调用此指令。如果轴处于因异常而减速过程中,则无法执行本指令。

4、本指令不支持重启。当Execute发生重启操作时,指令仍按执行原来的动作。

5、本指令执行过程中,不受其它指令多重启动的影响。

MC_Stop

描述:该功能块用于轴减速停止。

功能块图:

wps47 

 

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

指令执行中。

TRUEExecute的上升沿触发。

CommandAborted

执行中断

BOOL

TRUE,

FALSE

指令中止。

TRUE:指令执行中止时。

Error

错误标记

BOOL

TRUE,

FALSE

异常标记。

TRUE:发生异常变为TRUE

FALSE:异常解除变为FALSE

ErrorID

错误代码

WORD

 

发生异常输出错误代码。16#0000为正常。

 

输出变量变化条件

输出变量

变为TRUE的条件

变为FALSE的条件

Done

指令完成时

ExecuteTRUE时,与ExecuteFALSE同时;

ExecuteFALSE时,一个周期后。

Busy

Execute的上升沿

DoneTRUE时;

ErrorTRUE时;

CommandAbortedTRUE时。

CommandAborted

MC_ImmediateStop指令启动,中断本指令时;

因发生异常,中止本指令时;

异常发生中,启动本指令时。

ExecuteTRUE时,与ExecuteFALSE同时;

ExecuteFALSE时,一个周期后。

Error

本指令的启动条件或输入参数含有异常因素时。

异常解除时。

 

输入输出变量

输入输出变量

名称

数据类型

有效范围

内容

Axis

AXIS_REF

   -

指定轴

 

说明:

1、使轴由当前速度变为速度0,进行减速控制;若Deceleration=0则立即停止,无减速过程。

2、在Execute的上升沿,开始减速度停止的动作。

3、因启动MC_Stop指令而停止的运动指令,其输出CommandAborted=TRUE(执行中断)。

4、本指令执行中,启动其它运动指令,运动指令均不执行,并返回错误。

5MC_Stop支持指令的重启。

6MC_Stop执行过程中,只支持MC_ImmediateStop触发的多重启动。

7、采用本指令停止梯形运动指令(如MC_MoveAbsoluteMC_MoveRelativeMC_MoveVelocityJerk=0.0)时,减速控制的减速度由本指令下的Deceleration来进行减速;若采用本指令停止S形运动指令(如MC_MoveAbsoluteMC_MoveRelativeMC_MoveVelocityJerk>0.0)时,S形减速控制参数由被停止的运动指令的AccelerationJerk来决定。

 

 

 

 

 

 

 

 

MC_MoveAbsolute

描述:该功能块指定轴的绝对坐标的目标位置,进行定位。

功能块图表示:

wps48 

输入变量

输入变量

名称

数据类型

有效范围

初始值

内容

Execute

启动

BOOL

TRUE,

FALSE

FALSE

上升沿启动指令。

ContinuousUpdate

更新模式

BOOL

TRUE,

FALSE

FALSE

bContinuousUpdateTRUE,且输出参数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

134

1

保留

1:正方向;

3:负方向;

4:当前方向。

BufferMode

缓冲模式

INT

01

0

0:立即模式;

1:缓冲模式。

 

 

输出变量

输出变量

名称

数据类型

有效范围

内容

Done

完成

BOOL

TRUE,

FALSE

指令执行完毕。

TRUE:指令执行完毕;

Busy

执行中

BOOL

TRUE,

FALSE

指令执行中。

TRUEExecute的上升沿触发。

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

指令完成时

ExecuteTRUE时,与ExecuteFALSE同时;

ExecuteFALSE时,一个周期后。

Busy

Execute的上升沿

DoneTRUE时;

ErrorTRUE时;

CommandAbortedTRUE时。

Active

开始指令后

DoneTRUE时;

ErrorTRUE时;

CommandAbortedTRUE时。

CommandAborted

利用其他指令,多重启动中断本指令时;

因发生异常,中止本指令时;

异常发生中,启动本指令时。

ExecuteTRUE时,与ExecuteFALSE同时;

ExecuteFALSE时,一个周期后。

Error

本指令的启动条件或输入参数含有异常因素时。

异常解除时。

 

输入输出变量

输入输出变量

名称

数据类型

有效范围

内容

Axis

AXIS_REF

   -

指定轴

 

说明:

1、指定绝对坐标的目标位置,进行定位;

2、在Execute启动的上升沿,开始绝对定位的动作;

3、即使原点未确定也可以执行本指令;

4、可在输入变量中指定Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)、Jerk(加加速度);

5、与指令当前位置相同,指定Position并启动后,轴不发生移动,但是bDone将变为TRUE

6、其它指令执行中,启动本指令时,对正在执行的指令,根据BufferMode模式,可切换(中断正在执行的指令)或缓存本指令的执行。每轴最多能缓存1条指令。

7、本指令不支持重启。当Execute发生重启操作时,指令仍按执行原来的动作。

8、本指令执行过程中,支持其它指令触发的多重启动。

 

 

程序

 

wps49 

 

wps50 

 

 

标签:Execute,编程,FALSE,MC,Multiprog,Express,指令,BOOL,TRUE
From: https://www.cnblogs.com/automachinengineering/p/17331399.html

相关文章

  • 编程打卡:C语言趣味编程习题做
    编程打卡:C语言趣味编程习题做存钱问题问题描述给定不同期限档次整存整取的月利率,期限和本金,求出使利息最大的存款方案。设计思路遍历每种可能的存钱方案,求出利息最大的方案,然后输出。流程图graphA[开始]-->B[定义各种各样的变量]-->C[遍历所有存款方案,保存利率最大的......
  • 4.18 c++图形库easyx的基础编程
    头文件#include<graphcis.h>一基础绘图概念1.颜色用三原色表示RGB(红色部分,绿色部分,蓝色部分)每一部分的数值范围(0~255)。基本大写英文单词已对应例如BLUE蓝色2.窗口坐标的默认原点在左上角(0,0)x轴正方向向右,y轴正方向向下。二窗口函数initgraph(intwidth,intheigh......
  • 结对编程——随机生成四则运算程序
    在本次结对编程中,我和2152634王锴中同学一同进行参与了随机生成四则运算题目程序的编写,本次编写环境在clion上,使用c++风格的代码完成编写。在编写的过程中,我们一同探讨了用哪种语言进行编译,最终选定c++,原因在于对c++的掌握程度更深。在一起完成此项目的同时,我们收获了很多,尤其对方......
  • 【Java技术指南】「Unirest编程专题」一起认识一下一个“灰常”优秀的Http工具,让Http
    Unirest-Java是一个轻量级的HTTP客户端库,它提供了简单易用的API,可以帮助Java开发人员快速地发送HTTP请求和处理响应。在本文中,我们将深入探讨Unirest-Java的技术细节和使用方法。Unirest-Java的优点简单易用:Unirest-Java提供了一组简单易用的API,可以帮助Java开发人员快速地发送HTTP......
  • 每日编程一小时(第九天)
    一.问题描述彩票的号码有6位数字,若一张彩票的前3位上的数之和等于后3位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。二.设计思路1.输入一个数字a2.创建一个2维字符数组b[101][7]3.循环输入n个字符串4.循环设定两个变量m,n全部置为05.创建......
  • 面向接口编程实践之aspnetcoreapi的抽象
    最为一名越过菜鸟之后的开发,需要做接口开发。下面做一个纯粹的接口编程的实例demo,仅仅是一个webapi接口的抽象。下面是代码接口,AbsEFWork是webapi,BaseEntityFramework是一个接口库。先介绍一下webapi的实现,代码是从底层往上层写的,阅读代码的习惯应该是自上向下。publiccla......
  • c语言趣味编程(2)借书方案知多少
    一、问题描述小明有5本新书,要借给A,B,C这三位小朋友,若每次每人只能借一本,则可以有多少种不同的借法?二、设计思路(1)定义三个变量a,b,c来代表三位小朋友借的书的编号(2)利用for循环嵌套循环让a,b,c递增遍历得到满足条件的情况(3)并定义另一个变量i来代表借阅情况的总和,以便后面的输出三......
  • WebSocket和Socket编程
    面试一般会问socket原理socket为啥要有端口:确定一个链路的是一个四元组Socket编程socket通信你做过socket编程吗,socket是怎么实现知道有连接过来的说说WebSocket与socket的区别先谈谈Websocket与Socket的区别首先Socket==不属于协议范畴,它把TCP/IP层复杂的操作抽象为几个简......
  • EJB教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介EJB入门教程-从简单的步骤了解EJB3.0和3.1(EnterpriseJavaBean)框架,从基本概念到高级概念,包括概述,环境设置,应用服务器,容器,企业Bean,注释,会话,无状态会话,有状态会话,消息驱动,实体Bean,持久性,远程接口,查找,生命周期,接口,拦截器,可嵌入对象,Blob/Clobs,事务,安全性,JNDI绑定,实体关......
  • PHP 7 教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介PHP7入门教程-从简单的步骤了解PHP7,从基本到高级概念,包括简介,性能,环境设置,标量类型声明,返回类型声明,空值合并运算符,Spaceship运算符,常量数组,匿名类,Closure::call(),Filteredunserialize(),IntlChar,CSPRNG,Expectations,useStatement,ErrorHandling,IntegerDivision,Sess......