倍福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下位,实现完整控制两轴模组的功能.可以发现,在上位层已经没有了运动控制的代码,不管是要执行哪种运动,无非是把目标参 ...
随机推荐
- 工作学习2-gcc升级引发的崩溃
分享一下调查gcc 8.0下,函数漏写返回值崩溃问题,调查记录. 现在新的硬件,基本操作系统都是redhat 8.0,升级后测试时,发现了一个崩溃问题,记录一下. ================== ...
- k8s StatefulSet控制器-独立存储
k8s-StatefulSet控制器-独立存储 1. StatefulSet控制器-独立存储 独享存储:StatefulSet的存储卷使用VolumeClaimTemplate创建,称为卷申请模板,当 ...
- 【Android】修改快捷键,前一步默认是Ctrl + Z,修改后一步
我已经忘了,我什么时候已经习惯前一步是Ctrl + Z,后一步是Ctrl + Y Android Studio默认前一步快捷键是相同的,但是后一步就不是了 Ctrl + Y变成删除一行代码,就是下图D ...
- 【Git项目管理】分布式 Git - 分布式工作流程
分布式 Git - 分布式工作流程 你现在拥有了一个远程 Git 版本库,能为所有开发者共享代码提供服务,在一个本地工作流程下,你也已经熟悉了基本 Git 命令.你现在可以学习如何利用 Git 提供的 ...
- 3.6 String 与 切片&str的区别
The rust String is a growable, mutable, owned, UTF-8 encoded string type. &str ,切片,是按UTF-8编码对St ...
- Output of C++ Program | Set 17
Predict the output of following C++ programs. Question 1 1 #include <iostream> 2 using namespa ...
- PhoneGap本地将html打包成安卓App
PhoneGap的在线打包有大小限制,超过30M的包无法在线打包.当然,可以把包里面的图片.声音文件去掉,然后打包.下载以后,解包,重新打包并签名.蛮麻烦的. 本地打包的简单方法如下: 下载安装Jav ...
- jquery datatable使用简单示例
目标: 使用 jQuery Datatable 构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时, jQuery Datatable 强大的功能支持:排序,分页,搜索等. Query ...
- 【编程思想】【设计模式】【创建模式creational】抽象工厂模式abstract_factory
Python版 https://github.com/faif/python-patterns/blob/master/creational/abstract_factory.py #!/usr/bi ...
- sqlserver 各种判断是否存在(表、视图、函数、存储过程等)
1.判断表是否存在 select * from sysobjects where id = object_id(表名) and OBJECTPROPERTY(id, N'IsUserTable') = ...














































