课程中心
HOME
课程中心
正文内容
beckhoff plc 编程 倍福PLC学习:扫描EtherCAT IO子站并测试模块
发布时间 : 2026-01-01
作者 : 小编
访问数量 : 23
扫码分享至微信

倍福PLC学习:扫描EtherCAT IO子站并测试模块

倍福(Beckhoff)PLC采用的EtherCAT实时以太网,它的子站配置方式与西门子的不同。西门子PLC的分布式I/O子站,无论是PROFIBUS-DP还是PROFINET,都需要先进行硬件组态并下载到CPU中才能完成配置。相比较而言,倍福EtherCAT子站的配置更简单一些,只需要通过扫描即可获取子站的配置信息,下面我们就来详细介绍下。

前提:

①倍福控制器(比如CX5020)与EtherCAT子站及编程电脑之间已经通过网线连接并且IP地址在同一个子网中;

②如果使用第三方EtherCAT子站,需先将其从站设备描述文件(.xml)复制到路径:C:\TwinCAT\3.1\Config\Io\EtherCAT

在扫描EtherCAT子站之前,首先我们需要连接到目标控制器。

运行TwinCAT3,新建TwinCAT项目,取名为IO_Scan。双击项目列表的“System”,在弹出的窗口中单击“Choose Target(选择目标)”,如下图所示:

在弹出的对话框中选择目标控制器(如果没有列出,请单击“Search Ethernet”在网络范围内查找),如下图所示:

单击“OK(确定)”,在弹出的对话框中激活配置,目标控制器查找完成。

倍福控制器简单来说有两种模式:一种称为运行模式,一种称为配置模式。运行模式下控制器运行用户程序,不能更改配置(比如扫描I/O等)。扫描EtherCAT子站只能在配置模式下进行。有两种方法可以识别控制器的当前模式:

①观察控制器上的TC指示灯;

②通过TwinCAT3编程开发环境右下角的图标颜色来判断;

无论是LED灯还是编程开发环境中的图标,绿色表示处于运行模式,蓝色表示处于配置模式,如下图所示:

如果控制器当前处于运行模式,先单击工具栏的配置模式按钮(下图中编号①)将其切换到配置模式。

另外说明一下:上图中编号②的按钮为切换到运行模式;编号③的按钮是切换Free Run(自由测试)模式,后面我们测试硬件会用到。

目标控制器切换到配置模式后,在左侧项目树的“I/O”→“Devices”下右键单击,在弹出的对话框中选择“Scan(扫描)”,如下图所示:

系统会提示“Not all types of devices can be found automatically(不是所有的设备都会自动检测到)”,单击“确定”按钮继续。

在弹出的对话框中勾选EtherCAT主站,如下图所示:

系统会提示是否扫描子站(Scan for boxes?)

单击“是”继续。扫描完成后会提示你是否激活自由测试模式(Active Free Run )?自由测试模式可以在没有程序的情况下测试硬件,比如让输出模块进行输出。根据你自己的实际情况选择是或者否。如果你选择否,后期又想执行自由测试,可以使用之前介绍的工具栏菜单按钮③进入该模式。在自由测试模式下,TwinCAT右下角的图标会红色和蓝色交替闪烁。

下面这张图就是我扫描出来的EtherCAT I/O子站(Box1):

在自由测试模式下,可以选择输出模块的任一输出通道,将其值写1,查看硬件是否正常,如下图所示:

好了,关于倍福PLC如何扫描EtherCAT I/O子站并使用自由测试模式测试硬件先介绍到这里。

倍福PLC学习:编写函数块及简单调试

今天这篇文章我们来编写一个简单的电机控制函数块,并将其下载到倍福CX5020控制器进行测试,以熟悉TwinCAT3环境下基本的编程步骤。

打开TwinCAT3(TC3),按照上一篇文章《倍福PLC学习:扫描EtherCAT I/O子站并测试模块》介绍的内容新建工程项目并扫描EtherCAT子站,项目名称为“motorControl”。

在左侧项目树的“PLC”节点下右键单击,选择“Add new item(添加新内容)”,添加新的PLC项目,命名为“CPU1”,如下图所示:

添加完成后,“CPU1 Project”中会有POUs、GVLs、DUTs等文件夹。其中,POU是程序组织单元,GVL是全局变量列表,UDT是用户自定义变量。我们计划编写一个电机控制的函数块,因此在“POUs”文件夹右键单击,在弹出的对话框中选择“添加(Add)”→“POUs”,如下图所示:

在弹出的“添加POU”对话框中,选择功能块(Function Block),命名为motorControl,编程语言选择ST语言,如下图所示:

在函数块motorControl中声明变量,其中:

VAR_INPUT是输入变量,包含电机启动 、停止信号;VAR_OUTPUT是输出变量,包含输出信号(线圈);VAR_STAT是静态变量,包含沿信号检测变量;

如下图所示(注意变量不区分大小写):

编写代码如下图所示:

为了分配参数,我们新建全局变量列表:GVL1,并添加变量如下图所示:

接下来要在主函数(MAIN)中调用电机控制函数块。首先在变量列表中声明motorControl的实例,命名为“motorControl1”,编写控制代码如下图所示:

单击工具栏“Build”→“Build CPU1”编译PLC程序。

单击工具栏“PLC”→“Download”下载PLC程序。

单击工具栏“PLC”→“Login”登录到在线状态,或者工具栏的快捷按钮,如下图所示:

如果PLC处于未运行状态,单击“Start(启动)”使其运行。本例程为了给出电机启动信号,我们将全局变量“startBtn1”的“Prepared Value”设置为“TRUE”,并单击工具栏“Write Values”按钮将该值写入到PLC中,如下图所示:

此时可以看到主程序MAIN中电机输出信号为TRUE,如下图所示:

如果想让函数输出对应到实际的输出模块,在“CPU 1 instance”→“PLCTask Outputs”→“GVL1.coilKM”,将其对应到“Linked to”指定的输出模块即可。

好了,关于倍福PLC编写函数块及简单调试就先介绍到这里。

相关问答

beckhoff模块是plc吗?

是的,Beckhoff模块是用于PLC(可编程逻辑控制器)系统的设备。Beckhoff是一家专门生产工业自动化设备的公司,他们的模块被广泛应用于各种工业控制系统中。这些...

plc编程快捷键?

1、F开头的:F1:获取帮助。F2:梯形图进入编辑模式。F3:梯形图进入运行模式。F4:编译程序。F5:常开接点输入。F6:常闭接点输入。F7:线圈输出。F8:...Sh...

倍福的plc编程软件叫什么名字?

德国倍福PLC的编程软件叫TwinCAT,目前有是2版本和3版本!2版本有64位版本和32位版本,官方网站上可以下载到,不过需要注册,而且是30天试用版!这个是倍福官...

倍福plc如何上传程序?

首先需要连接PLC和计算机。可以使用编程电缆将PLC与计算机连接起来。然后,使用倍福PLC编程软件,如倍福PLC编程软件或倍福PLC编程工具,...要上传倍福PLC的程...

倍福PLC的ST程序如何转换成LD的?

不可以转换,手动根据ST语言描述的流程图重新写LD,如果ST中包含指针的话,那么LD中是不可使用的。不可以转换,手动根据ST语言描述的流程图重新写LD,如果ST中包...

倍福plc连接外部模拟量过程?

倍福PLC连接外部模拟量需要以下步骤:首先,选择符合PLC输入规范的模拟量信号源并进行信号调节;其次,将模拟量信号导入PLC输入端口,并配置PLC输入端口为模拟...

西门子STEP7通过以太网怎样与倍福TWINCATPLC通讯?

西门子PLC和倍福的PLC以太网通讯协议不一样的,需要通过转换网关转一下。西门子PLC和倍福的PLC以太网通讯协议不一样的,需要通过转换网关转一下。

倍福plc程序可以备份吗?

倍福plc程序可以备份。倍福plc具有程序备份功能,用户可以通过编程软件或编程电缆将程序备份到计算机或其他存储设备。备份的程序可以用于恢复或复制到其他plc...

倍福的PLC与西门子的PLC都有哪些不同?哪个应用的更为广泛?软...

倍福的PLC与西门子的PLC都有哪些不同?哪个应用的更为广泛?软PLC是什么?举报西门子9人讨论8290次围观关注问题写回答讨论回答(9)mjz8931倍福PLC还在幼...

plc控制伺服电机最简单的方法和接线方式是什么,如何实现?

plc控制伺服电机最简单的方法和接线方式是什么如何实现,这个主要看你要想要伺服电机怎么样运行,如果你仅仅是让伺服电机转起来,看看它的实际工作方式,可以采...p...

 王子杰王子豪  陈小丽 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2026  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部