网站首页 > 博客文章 正文
我以前用过单片机将温度显示在LCD1602显示屏上,前一段时间有位学员朋友在学习PLC模拟量输入时,想使用温度传感器实时显示所测环境的温度,在操作时由于没有处理好显示数值的类型,得不到想要显示的小数点数据,造成了显示有误差,今天给朋友们分享一下如何在触摸屏上显示出带小数的温度数据。
这个操作过程一般分为三个过程,第一步是硬件的准备,先准备好PLC及A/D转换模块、PT100温度传感器、触摸屏、24V电源等硬件;然后再进行PLC的硬件线路的连接,硬件接线比较简单,除了给PLC加上220V交流工作电压以外,我们还要给触摸屏加上直流24V电源。
在数据线连接方面,我们需要两根数据线,一根线用来把电脑与PLC连接起来,起到下载梯形图和软件监控梯形图的作用;另一根线用来把PLC与触摸屏连接起来的数据线,起到PLC与触摸屏通信的作用。在电脑端,两根线的端口使用的是USB口,在PLC端使用的端口为USB转RS232串口,形状为圆形八针线;在触摸屏端,使用的是USB接口线。最后我们再将温度传感器的两根线接到模拟量输入口的0V和A1点就完成了硬件线路的连接。
接着在电脑端打开组态软件,在“设备窗口”添加“通用串口父设备”,设备选择我们当前使用的PLC型号,比如本案例中我们使用FX3UC类型的PLC。同时还要我们还要再设置电脑与PLC和触摸屏三者之间的通信端口号,这主要是为了防止电脑与触摸屏、电脑与PLC之间通信时产生冲突。
在电脑端通过组态软件,把触摸屏上的RS232串口端设置为COM1;我们再通过PLC的编程软件,把PLC的串口端号设置为COM3;最后在电脑的硬件属性中使用COM1和COM3端口就可以了,这样我们就要可以在电脑、PLC和触摸屏之间进行程序下载、组态下载以及三者之间的相互通信了。我们在设置这些硬件和软件时要考虑周全,否则会造成通信错误的现象。从训练来看有部分学员通讯没有成功,就是因为三个硬件之间的通信端口号设置不当造成的,这是我们在操作时,需要注意的地方。
操作的第二步是编写梯形图,我们用PLC编程软件GX-Works2/3或者GX-Developer编写温度采集转换的梯形图。我们通过PT100温度传感器把实时采集到的温度信号,通过A/D转换模块把数据送到D8058温度数据寄存器中。然后通过传送指令把温度数据寄存器中的实时温度数据送到通用寄存器D0中,为了能够得到带有小数点的精确温度,我们再用一条浮点数据处理指令FLT,通过整数转为浮点数指令,也就是把整数值转换为带小数的数值,再把这个数据传送到通用寄存器D2之中。最后为了能够在触摸屏中显示带小数点的实时温度数据,还要用一条带处理浮点数的除法质量,就是把D2中的数据缩小十倍,然后送到D4寄存器中显示出来。
这几条语句写完之后,按下F4快捷键编译无误后就可以下载到PLC中了,我们点击编辑按钮,就可以通过软件在线仿真了,从仿真软件梯形图中可以看到,此时通用寄存器D4中所显示的24.6就是当前传感器采集的实时温度值,如下图所示。
接下来,我们要做的是如何把采集的实时温度数据显示到触摸屏上。我们用MCGS组态软件建立一个动画组态显示窗口,在窗口的工具栏中拿出一个“标签A”,用鼠标双击所建的标签A,然后在“输入输出连接”下面的选项中的“显示输出”前打个“”。在“显示输出”编辑页面中选中“数值量输出”,在变量表达式中把“根据采集信息生成”选中;通道类型选“D数据类型寄存器”、通道地址写0,这表明我们在建立的标签中显示D0中的数据是整数。
编辑完之后,我们编译下载到触摸屏中,这时我们就可以看到D0显示的温度数据了。但是寄存器D0中的数据没有小数部分,这不是我们想要看到的数据。我们不妨再建立一个标签A,用第二个显示标签来显示带有小数点的温度值。
前面的组态编写都一样,所不同的是在通道地址写4,这表明我们在建立的标签中显示D4中的数据是带有小数的数据。接下来重点到了,我们要在数据类型中选择“32位浮点数”,在操作过程中,很多学员都默认选了16位无符号二进制造成了显示错误,如下图所示。
最后,再一次下载组态程序,验证组态是否显示正确。下载后我们观察到温度显示已经达到了要求,为了显示更加形象逼真,我们可以在所显示的温度数据后面设置单位,比如度或者℃,这只需要在“标签动画组态属性设置”中设置添加温度符号就可以了,如下图所示。
通过这个小小的实践案例我们可以看出,在实践操作中我们要把问题考虑周全,不能想当然地认为。另外还需要多多练习,从实践锻炼自己分析问题和解决问题的能力。
- 上一篇: 西门子SCL高级语言之数据转换介绍
- 下一篇: 6.4 数据类型转换(数据类型转化)
猜你喜欢
- 2025-03-18 Redis 浮点数累计实现(redis lfu 实现原理)
- 2025-03-18 详解Javascript中被你忽略的浮点数运算的坑,来学习吧
- 2025-03-18 「精品博文」FPGA定点小数计算(Verilog版)第四篇——定点小数转换为浮点小数
- 2025-03-18 6.4 数据类型转换(数据类型转化)
- 2025-03-18 西门子SCL高级语言之数据转换介绍
- 2025-03-18 Unity Pro XL中Modbus通讯下来实现浮点数读取的精确转换方法!
- 2025-03-18 PLC编程基础浮点数的三角函数转换计算
- 2025-03-18 wincc怎么转换浮点数(互换)类型的数据
- 2025-03-18 PLC常识||浮点数是什么意思?它和实数不同?浮点数转换实例
你 发表评论:
欢迎- 374℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 369℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃初次使用IntelliJ IDEA新建Maven项目
- 353℃Maven技术方案最全手册(mavena)
- 351℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 349℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 348℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 344℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)