倍福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
相关文章
- 在大型软件中用Word做报表: 书签的应用
- Knockout 新版应用开发教程之Computed Observables
- 大数据研究常用软件工具与应用场景
- 【STM32H7教程】第20章 STM32H7的GPIO应用之无源蜂鸣器
- SAP UI5 应用开发教程之一百零三 - 如何在 SAP UI5 应用中消费第三方库试读版
- SAP UI5 应用开发教程之五十 - 如何使用 Cordova 将 SAP UI5 应用生成一个能在 Android 手机上安装的混合应用试读版
- SAP UI5 应用开发教程之四十四 - Label 和 Input 控件文本没有水平对齐的原因分析和解决方案
- SAP UI5 应用开发教程之一百零三 - 如何在 SAP UI5 应用中消费第三方库试读版
- SAP UI5 应用开发教程之八十二 - 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例试读版
- SAP UI5 应用开发教程之三十六 - 使用 Chrome 开发者工具 Elements 标签动态修改 CSS 类试读版
- SAP UI5 应用开发教程之六十八 - 如何实现 SAP UI5 路由失败时显示自定义的 NOT Found 页面试读版
- SAP UI5 初学者教程之十 - 什么是 SAP UI5 应用的描述符 Descriptor 试读版
- Fiori应用note字段的长度截断问题分析
- 使用Cordova将您的前端JavaScript应用打包成手机原生应用
- 关于 SAP Spartacus Shell App 客户应用的调试
- 医美小程序实战教程创建应用
- NLP之TM之Dirichlet:朴素贝叶斯NB的先验概率之Dirichlet分布的应用
- Android app和系统应用实现截屏功能
- 解构HE2E中的Kubernetes技术应用
- 基于蝗虫优化的BP神经网络(分类应用) - 附代码
- Linux在iptables教程基本应用防火墙
- GTK4+OpenGL+FreeTpye2显示文字教程——搭建一个基本的GTK4应用
- 暑假加餐|有钱人和你想的不一样(第20天)+改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)
- Qt数据库应用4-数据打印到纸张
- 【区块链技术开发】智能合约和区块链技术的基本概念及其应用(保姆级别教程)
- ansible实战应用系列教程3:部署ansible
- ansible实战应用系列教程4:执行ad hoc命令