倍福CX5120嵌入式控制器使用教程
1.新建工程
新建TwinCAT XAE Project
2.连接设备
点击SYSTEM,再点击“Change Target...”
在弹出的“choose Targt System”界面,点击“Search(Ethernet)”。
点击“Boradcast Search”。
选择连接plc的网口。
当出现扫描到的plc为cx开头,点击“Add Route”。
在弹出的“Add Remote Route”窗口,user输入为“Administrator”,Password输入为1,然后点击“OK”。
当没弹出错误,显示就绪,点击“Close”。
点击“OK”,关闭“Choose Target System”。
弹出来来选择系统的窗口,选择“是”。
在底部状态栏显示绿色图标则表示通信成功。
如果为蓝色图标,则需要激活plc配置。
菜单栏点击“TwinCAT”,选择“Active Configuration”,等待一段时间后等待plc激活,plc连接成功后会出现绿色图标。
3.编写PLC程序
右键plc选择“添加新项”添加一个plc。
选择标准项目,名称自定义,最后点击“添加”。
在项目名下的“POUs”文件夹中存放程序,Main为执行程序。
Main程序被添加到"PlcTask"任务中,添加到Plctask的程序会循环执行。
双击“Main”,打开变量声明区和程序编辑区。
点击“表格方式”,切换变量声明区为表格方式。
点击“插入”按钮,新建一个布尔(bool)变量xStart。
在新建xStop和yLamp变量。
接下来编写ST程序。
添加一个视图,右键VISUs选择“添加”,再选择“Visualization”。
名称自定义,点击“Open”。
点击右侧工具箱,选择“Common controls”,拉取一个“Button”组件。
添加的“Button”组件如图所示。
点击“Button”组件,点击属性,选择Text,填写内容为“启动”。
在选择“输入配置”下的“Tap”,点击右侧的“..”。
映射变量xStart,点击“确定”。
复制“开始”按钮,修改文本为“停止”。
直接修改“停止”按钮的变量映射为“Main.xStop”。
再添加一个灯。
映射灯变量为“Main.yLamp”。
程序和视图编写完成了。
4.下载与调试
菜单栏“PLC”选择“登录到”。
或者点击菜单栏下的“登录到”。
“登录到”是将程序下载到控制器中,在下载过程中弹出的框,点击“yes”或者“是”就行了。
如果下载拒绝访问,就点击选择“Active Configuration”,等待一段时间后等待plc激活,plc连接成功后会出现绿色图标,此时再下载程序。
程序下载完成后,点击“启动”,程序就运行了。
在视图界面,点击启动按钮,灯亮。
点击“停止”按钮,灯灭。
程序验证完成,如果程序不能正常运行,也有可能是软件版本问题导致的,目前倍福官方提供的TwinCAT编程软件XAE(Full)版本为V 3.1 4024.22,要注意控制器的XAR版本文件是否为太低,太低会影响程序的运行。
这里演示的编程TwinCAT编程软件版本XAE版本为V 3.1 4024.22。
这里演示的控制器的XAR版本为3.14024,也是通过在官网下载的XAR软件在控制器内升级的。
5.总结
(1)主要的问题是在通讯连接后不要忘了设置“Active Configuration”,不然PLC连接或者下载程序可能会出问题。
(2)如果编写的程序不能正常运行,要记得检查一下编程软件XAE软件版本跟控制器XAR软件版本是否相差太多。
倍福CX5120嵌入式控制器使用教程的更多相关文章
- 倍福TwinCAT(贝福Beckhoff)应用教程12.3 TwinCAT控制松下伺服 NC进阶
在前面一节,我们简单介绍了通过PLC+HMI实现完整控制松下伺服的上使能-运动,采集位置,速度等功能,这里我们会大量简化用到的贝福功能块(为了更加实用).首先依然是对单个轴的封装,我们之前的做法,例如 ...
- 倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码
倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码 本次测试需要环境: VS2013,TwinCAT3(本人版本TC31-Full-Setup.3.1.4018.16) 代 ...
- C# 读写倍福plc beckhoff , 使用ADS协议实现读取plc
本文将使用库技术来读写倍福PLC数据,使用的是基于以太网的ADS实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地址:https://g ...
- 嵌入式LINUX基础教程 第2版
嵌入式LINUX基础教程 第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...
- 使用Keil语言的嵌入式C编程教程(下)
使用Keil语言的嵌入式C编程教程(下) 用8051单片机进行定时器/计数器的计算与编程 延迟是应用软件开发中的重要因素之一.然而,在实现定时延迟的过程中,正常的延迟并不能给出克服这一问题的宝贵结果. ...
- 使用Keil语言的嵌入式C编程教程(上)
使用Keil语言的嵌入式C编程教程(上) Embedded C Programming Tutorial with Keil Language Embedded System 嵌入式系统是指以单片机为 ...
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程1.1 TwinCAT背景知识
本节附件中有很多PPT介绍贝福TwinCAT和EtherCAT的相关技术,在此只做简单说明. 简单总结:EtherCAT就是一种总线技术,具有速度快,稳定性高,布线简单等优点,详细可以参考下面这个PP ...
- 倍福TwinCAT(贝福Beckhoff)应用教程13.3 TwinCAT控制松下伺服 NC配合完整上位
这是TwinCAT教程的最后一节,简单讲述了以C#为上位,通过ADS控制TwinCAT下位,实现完整控制两轴模组的功能.可以发现,在上位层已经没有了运动控制的代码,不管是要执行哪种运动,无非是把目标参 ...
随机推荐
- 并发 并行 进程 线程 协程 异步I/O python async
一些草率不精确的观点: 并发: 一起发生,occurence: sth that happens. 并行: 同时处理. parallel lines: 平行线.thread.join()之前是啥?落霞 ...
- 使用WtmPlus低代码平台提高生产力
低代码平台的概念很火爆,产品也是鱼龙混杂. 对于开发人员来说,在使用绝大部分低代码平台的时候都会遇到一个致命的问题:我在上面做的项目无法得到源码,完全黑盒.一旦我的需求平台满足不了,那就是无解. ...
- Function overloading and const keyword
Predict the output of following C++ program. 1 #include<iostream> 2 using namespace std; 3 4 c ...
- OpenStack之二: 安装OpenStack的yum源及相关组件
#: 在所有节点执行 [root@localhost ~]# yum install centos-release-openstack-stein -y #: 安装相关组件(只在管理端和计算几点安装) ...
- 【Linux】【Services】【nfs】nfs安装与配置
1. 概念 1.1. NFS:Network File System,传统意义上,文件系统在内核中实现. 1.2. RPC:Remote Procedure Call protocol,远程过程调用, ...
- matplotlib subplot 多图合一
1:第一种方法 # method1: subplot2grid ################# ''' 第一个参数(3, 3) 是把图分成3行3列 第二个参数是位置 (0, 0)表示从0行0列开始 ...
- request获取请求参数通用方式
package com.hopetesting.web.request;import javax.servlet.ServletException;import javax.servlet.annot ...
- minikube metrics-server HPA 自动扩缩容错误
minikube metrics-server pod 错误 启动 minikube addons enable metrics-server 之后查看 metrics-server pod 会有如下 ...
- [BUUCTF]PWN——[Black Watch 入群题]PWN
[Black Watch 入群题]PWN--栈劫持 入群题密码在 /password.txt Ubuntu 16 2020年02月27日:此入群题已作废,请看新版入群题. 附件 解题步骤: 例行检查, ...
- C51单片机0~60计数器
源码 #include<reg51.h> unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, ...














































