0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_61nrsJTz 来源:方正智芯 作者:方正智芯 2022-11-09 09:34 次阅读

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

5f2fd92e-5fbb-11ed-8abf-dac502259ad0.png

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

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

5f6e10fe-5fbb-11ed-8abf-dac502259ad0.png

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

5f941e52-5fbb-11ed-8abf-dac502259ad0.png

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

5fb4bf0e-5fbb-11ed-8abf-dac502259ad0.png

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

VAR_INPUT是输入变量,包含电机启动 、停止信号

VAR_OUTPUT是输出变量,包含输出信号(线圈);

VAR_STAT是静态变量,包含沿信号检测变量;

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

5fceb832-5fbb-11ed-8abf-dac502259ad0.png

编写代码如下图所示:

5ff5781e-5fbb-11ed-8abf-dac502259ad0.png

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

60183f66-5fbb-11ed-8abf-dac502259ad0.png

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

602eac4c-5fbb-11ed-8abf-dac502259ad0.png

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

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

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

6059e222-5fbb-11ed-8abf-dac502259ad0.png

6072bfa4-5fbb-11ed-8abf-dac502259ad0.png

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

6088510c-5fbb-11ed-8abf-dac502259ad0.png

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

60a5683c-5fbb-11ed-8abf-dac502259ad0.png

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

60c34b0e-5fbb-11ed-8abf-dac502259ad0.png

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电机控制
    +关注

    关注

    3522

    文章

    1848

    浏览量

    268093
  • plc
    plc
    +关注

    关注

    5006

    文章

    13093

    浏览量

    461310
  • 函数
    +关注

    关注

    3

    文章

    4276

    浏览量

    62303

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

文章出处:【微信号:方正智芯,微信公众号:方正智芯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何查看及更改函数/函数的调用环境

    模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数函数,这样就可以反复调用。其优点是:使程序架构更加清晰,避免重复编写相似功能的代码。不过可能会产生一个疑惑:既然
    的头像 发表于 11-17 09:08 814次阅读
    如何查看及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b><b class='flag-5'>块</b>的调用环境

    PLC数据 转 CCLink IE Field Basic项目案例

    使用VFBOX网关实现PLC与不同系统间的数据交换,支持多种协议转换,配置简单,节省成本,符合工业应用场景,长期稳定工作,无需修改设备程序。
    的头像 发表于 08-12 10:25 573次阅读
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>数据 转 CCLink IE Field Basic项目案例

    plc怎么与labview 实现mudbus tcp 协议通讯

    这是我写的程序,已经实现与plc 1200通讯读写程序,但是用相同的程序想读取plc就是不行,想问问大神们有没有范例让我学习一下
    发表于 10-26 10:10

    如何对C51单片机进行简单调试

    学习嵌入式开发板STM32之前,我们先来回顾学习一下proteus仿真软件以及C51单片机的简单调试
    发表于 07-14 08:00

    单调函数的列表判别方法

    单调函数的列表判别方法
    发表于 05-07 10:42 25次下载

    简单调节系统

    简单调节系统 一、 实验目的1、 熟悉简单调节系统的组成,结构与原理。2、 通过选定的控制对象来组成相应的调节
    发表于 05-17 10:54 1875次阅读
    <b class='flag-5'>简单调</b>节系统

    C51精确延时函数编写调试方法

    本内容详细介绍了C51精确延时函数编写调试方法
    发表于 05-24 11:33 272次下载
    C51精确延时<b class='flag-5'>函数</b>的<b class='flag-5'>编写</b>及<b class='flag-5'>调试</b>方法

    福和西门子哪个更好_PLC与西门子主要区别在哪里

    本文开始介绍了德国的的主要产品以及介绍了德国产品优点,其次介绍了
    的头像 发表于 04-04 09:05 12.3w次阅读

    PLC学习:变量概述

    今天这篇文章,我们基于(Beckhoff)TwinCAT3编程开发环境,对PLC的变量进行介绍。本文包括如下几个主题。
    的头像 发表于 11-23 09:10 4517次阅读

    如何编写一个简单的电机控制函数

    今天这篇文章我们来编写一个简单的电机控制函数,并将其下载到CX5020控制器进行测试,以熟
    的头像 发表于 02-07 14:00 1715次阅读
    如何<b class='flag-5'>编写</b>一个<b class='flag-5'>简单</b>的电机控制<b class='flag-5'>函数</b><b class='flag-5'>块</b>?

    BECKHOFF PLC:自动化编程入门

    周期循环,简单来说 在PLC中写代码就是在周期中断服务函数中写代码。 4、还是与理解程序流有关系,就是plc程序的机制是不断循环的(周期扫描机制),在
    发表于 04-20 10:34 3次下载
    <b class='flag-5'>倍</b><b class='flag-5'>福</b>BECKHOFF <b class='flag-5'>PLC</b>:自动化编程入门

    PLC中定时器的使用

    定时器指令存放在函数库:Tc2_Standard,在新项目创建时会自动加载。我在之前的文章中多次介绍过IEC定时器,比如【西门子SCL编程入门教程连载(7)-定时器指令】,今天这篇文章,我们在TC3编程环境下再次
    的头像 发表于 05-04 16:00 3408次阅读
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>中定时器的使用

    EtherCAT转Profinet协议网关使西门子和PLC实现通讯的方法

    通过PLC协议,远创智控YC-ECTM-PN网关能与系列的PLC进行通信,一起探索下如何
    的头像 发表于 10-27 18:00 1000次阅读
    EtherCAT转Profinet协议网关使西门子和<b class='flag-5'>倍</b><b class='flag-5'>福</b>的<b class='flag-5'>PLC</b>实现通讯的方法

    PLC如何实现远程编程调试和远程上下载程序

    PLC是工业生产中常见的自动化控制设备,有时候需要其程序进行调试修改。如果选择派出工程师出差前往现场会很不划算,需要付出额外的交通、住宿、饮食等成本,此时采用
    的头像 发表于 12-05 17:13 1376次阅读
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>如何实现远程编程<b class='flag-5'>调试</b>和远程上下载程序

    PLC数据采集网关有什么功能

    在工业自动化领域,PLC(可编程逻辑控制器)作为核心控制设备,扮演着至关重要的角色。而PLC
    的头像 发表于 08-25 09:28 328次阅读
    <b class='flag-5'>倍</b><b class='flag-5'>福</b><b class='flag-5'>PLC</b>数据采集网关有什么功能