倍福TwinCAT(贝福Beckhoff)应用教程11.1 TwinCAT应用小程序1 如何读写数字量模拟量输入输出(DI,DO,AI,AO)
常见的模拟量模块(还有更高端和更低端的,使用方法都一样)
EL3054和EL4024(4路模拟量输入和输出模块)


常见的数字量模块(还有更高端和更低端的,使用方法都一样)
EL1809和EL2809(16路数字输入和输出模块)


贝福模块的一个优点就是模块化结构(你可以选择要多少个数字输入输出,模拟量输入输出,也可以不要,所以扩展IO会非常方便,只需要多加一片就可以了,一片还可以分为2个,4个,8个,16个点的)


右击项目的IO-Devices,然后Scan(如果Scan不可用,请先把TwinCAT切换到Config模式下),然后扫描出来所有的数字量模拟量输入输出

可以先把简单的数字量输入输出做好,先定义一个BOOL类型的数组,注意加了AT%I和AT%Q,分别要和扫描出来的数字输入和输出链接

数字量输出比较简单,可以直接用一个Checkbox来表示数据(修改Variable的属性为对应的数组元素即可),实际测试的时候,勾选表示TRUE,不勾选表示FALSE(可以测试当DO输出的时候,对应的继电器有反应了)

同样使用Checkbox来表示数字输入(可以测试当传感器有输入的时候,对应的方框勾选,没有输入则方框不勾选,即便人为勾选也不会有反应)

对于模拟量输出EL4024来说,输出最终转换成4-20mA的数据


我们可以自己写一个简单的转换(因为真实绑定到端口上的数据是一个INT类型,而我们只知道输入4-20mA这种有意义的数据,可以在某个绑定的变量上修改Display Scaling为4-20来查看对应的mA值),并且我们知道转换过程应该是线性的,给定最低输入4mA的时候,应该实际往绑定INT变量给一个0,给定最高输入20mA的时候,应该输出一个32767

实际测试也确实如此,当AO_0给4-20的时候确实可以在这个数据内变动,同时可以观察到Online的数据也是对的

在实际连接中,我往AO_0端口写入了13.45mA的电流值,可以用万用表测试确实是这么多

对于模拟量输入EL3054来说,输入的最终需要转换成4-20mA的数据


转换过程雷同,只不过现在是把0-32767的INT类型输出变成我们能够看懂的4-20mA的输出,具体可以看代码,也是y=kx+b的公式得到的

在实际连接中,我在AI_0端口接了一个电阻,并用万用表测试了电流值,确实和TwinCAT采集到的是一致的

更多教学视频和资料下载,欢迎关注以下信息:
我的优酷空间:
http://i.youku.com/acetaohai123

我的在线论坛:
http://csrobot.gz01.bdysite.com/

问题交流:
QQ:910358960
倍福TwinCAT(贝福Beckhoff)应用教程11.1 TwinCAT应用小程序1 如何读写数字量模拟量输入输出(DI,DO,AI,AO)的更多相关文章
- 倍福TwinCAT(贝福Beckhoff)应用教程11.1 TwinCAT应用小程序1 贝福IO模块介绍
EL1002,EL1004,EL1008都是数字输入模块(2个点,4个点,8个点),输入高的范围是15V到30V,低的范围是-3V到5V EL2002,EL2004,EL2008都是数 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程1.2 TwinCAT安装配置
由于TC2和TC3都有可能用到,个人推荐都安装,但是注意必须是先安装的TwinCAT2,然后安装TwinCAT3,如果反了可能两个都没法用(打开TcSwitchRuntime提示Both TwinCA ...
- 倍福TwinCAT(贝福Beckhoff)基础教程1.1 TwinCAT背景知识
本节附件中有很多PPT介绍贝福TwinCAT和EtherCAT的相关技术,在此只做简单说明. 简单总结:EtherCAT就是一种总线技术,具有速度快,稳定性高,布线简单等优点,详细可以参考下面这个PP ...
- 倍福TwinCAT(贝福Beckhoff)应用教程13.1 TwinCAT控制松下伺服 NC高级
本节主要演示了使用自定义函数实现电机的运动(梯形曲线和S曲线都有实现),这里的JOG+和JOG-,针对单个关节实现了PTP的运动(跟贝福的MoveAbsolute功能块实现效果一致),在此没有介绍运动 ...
- 倍福TwinCAT(贝福Beckhoff)应用教程12.3 TwinCAT控制松下伺服 NC进阶
在前面一节,我们简单介绍了通过PLC+HMI实现完整控制松下伺服的上使能-运动,采集位置,速度等功能,这里我们会大量简化用到的贝福功能块(为了更加实用).首先依然是对单个轴的封装,我们之前的做法,例如 ...
- 倍福TwinCAT(贝福Beckhoff)应用教程12.2 TwinCAT控制松下伺服 NC初步
在前面我们已经学会了使用贝福自带的调试软件完成试运行,接下来是使用TWINCAT PLC实现这个功能,右击PLC添加一个PLC项目 在VISUs上右击添加一个HMI人机界面 目前PLC程序和人 ...
- 倍福TwinCAT(贝福Beckhoff)应用教程12.1 TwinCAT控制松下伺服 连接和试运行
首先是用松下伺服自带的软件可以测试运行(驱动器,电机都连接好,然后用USB线连接到松下伺服驱动器的X1口),打开调试软件会自动提示连接到伺服 一般需要对驱动器清除绝对值编码器数据(驱动器可能报错4 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程6.1 TwinCAT如何与高级语言通讯
因为使用TwinCAT的人用途不同,重视点就不同.如果用来代替传统PLC+HMI做项目的,很少会需要用到跟高级语言通讯,但是如果是用来做运动控制平台如做机器人运动控制器的,就肯定会用到.不管是否用得上 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT如何执行系统命令
TwinCAT提供了一系列的执行Windows系统命令的方法 Name 描述 NT_Shutdown 关机操作系统 NT_AbortShutdown 取消关机操作系统命令 NT_Reboot 重启操作 ...
随机推荐
- MYSQL使用外键进行优化
#转载请联系 假如你是京东的数据库管理员,你现在管理着这样一个数据库. mysql> select * from goods; +----+--------------------------- ...
- MVC架构中的controller的几种写法
开始写代码之前,我们先来看一下spring MVC概念.一张图能够清晰得说明. 除了controller,我们需要编写大量代码外,其余的都可以通过配置文件直接配置. MVC的本质即是将业务数据的抽取和 ...
- MATLAB求函数零点与极值
1. roots函数 针对多项式求零点(详见MATLAB多项式及多项式拟合) 2. fzero函数 返回一元函数在某个区间内的的零点. x0 = fzero(@(x)x.^2-3* ...
- 虚拟机Visualbox安装Ubuntu Server
关于虚拟机的新建及设置,请查看<Visualbox安装Ubuntu网络设置> 从光盘启动系统中,首先是选择语言,我这里选择英文 选择英文安装Ubuntu服务器 继续选择英文 选择地理位置, ...
- sonarQube Github pull request扫描代码
参考官方地址:https://docs.sonarqube.org/display/PLUG/GitHub+Plugin 运行环境:sonarQube6.2 + sonarScanner2.8 近来, ...
- python+selenium 组织用例方式 总结
1.unittest.main() 将一个单元测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们.执行 ...
- Dart基础
dartpad在线调试 :https://dartpad.dartlang.org 运行需要用墙 vscode执行dart 安装 安装dart插件 下载安装dart 配置环境变量 vscode新建 ...
- HDU 2710 Max Factor(数论,素数筛法)
#include<iostream> #include<stdio.h> #include<string.h> #include<cmath> usin ...
- ganglia笔记:rrd数据库
为了给ganglia监控的数据加上报警的功能,在jenkins里加了一个定时job,运行报警的脚本.脚本需要对ganglia记录的数据进行分析,以下是一点粗浅的理解. rrdtool的本质是用于画图的 ...
- KMP+差分 文章过滤器 (filter)
Description 给定一些短串,要求你在一个长串中,将这些短串部分变为\(*\) Input 第一行包括一个整数\(n\),表示短串的数量. 接下来的\(n\)行,为\(n\)个短串. 最后一行 ...