打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
西门子PLC应用实例:触摸屏读、写PLC内部时钟

废话不多说先放一个组态完成的画面

触摸屏其实内部是有时间的I/O域的,不过长时间触摸屏不上电时间就会丢失,还需要重新设置,实际应用中很烦很烦,在西门子S7-200 CPU224 以上的版本才会有内部的时钟,其他型号的CPU是没有内部时钟的,所以想让触摸屏显示PLC的时钟,PLC必须是224的CPU,否则无法读取内部时钟。

其实呢读写时钟是2件事,而让触摸屏显示出PLC的时间和修改PLC的时间又是2件事,所以一共加起来是4件事,一句话两句话说不明白,咱们从头开始缕一缕!

首先从PLC这块说起……

PLC的内部时钟

当PLC与PC通讯正常以后可以首先对PLC时钟与PC时钟进行校正

点击PLC菜单中的“实时时钟”

然后读取PC的时间

PC的时间成功读取到,但PLC内还是没有时间的

点击设置才会把时钟设定到PLC的内部时钟里面!

这样我们就成功的给PLC一个时间了,接下来就是需要一个指令来实现对时钟的读、写!

读、写PLC内部时钟

在左侧的指令树里面有一个专门的“时钟”指令,而READ-RTC就是读取实时时钟,SET-RTC就是设置实时时钟,一共有四个指令,后面的扩展读写后面都有X,证明此指令不适合此PLC的CPU。

那么我们来看看这两个指令如何使用?

首先比较重要的是我们要知道读取的时间是存储在以“T”为起始位的连续8个字节里面,T这个符号是一个字节,比如说VB100,而不同的字节带表不同的意义,比如T=VB100:

那么 VB100=年

VB101=月

VB102=日

VB103=时

VB104=分

VB105=秒

VB106=0

并且读取到的VB100为起始位的八个字节都是BCD码,也就是说是16进制的数,如果我们想知道具体是多少需要进行一系列的转换才能够读出来,需要先把字节转换成整数,再把整数的BCD码转换成整数。

在这里我们把时钟读取到以VB110为起始位的八个字节里面,并且SM0.5每秒读取一次,确保时钟的实时性。

读取完以后把数值经过转换,以10进制字的形式输出到VW存储区。

到这一步,我们PLC部分的读取部分就完成了,这里面我们看到了最后结果输出到变量VW200里面。

接下来是对PLC的写时钟,也就是设定时钟,因为我们不能总是把PLC连接到PC上去同步时间,一旦时间错误我们可以利用触摸屏去修改时间。

这个是设置时钟的指令,在前端利用一个变量来触发设置,把以字节VB100为起始位的连续8位写入到时钟里面,需要注意的是此时的VB ……都是16进制的

触发条件为M0.0闭合就会把以VB300为起始位的连续8位字节(16进制)传送到VB100中,这段程序要写在设置程序的前面。

只要M0.0闭合一次,就会把变量VB300-VB307中的16进制数传送到VB100-VB107的时钟里,来保证时钟的成功设置。

此时我们PLC的所有准备工作就都完成了!接下来是触摸屏部分的组态!

触摸屏读取PLC时间的组态画面

我们要在变量管理里面新建大量的变量,其中包含了读取时钟存储到VW200-VW214,前面有提到把BCD码转换成10进制的整数,他们都是十进制的变量。

并且我们还要把设置时钟的变量VB300-VB307建立变量,并且是16进制的变量!

利用文本域、I/O域组建出时钟显示的样子

将I/O域与之前的变量相关联,这是读取到最后的十进制数值“年”

而设置时钟这部分在关联变量的同时也要注意把数据类型更改为16进制!否则无法成功写入到PLC内部。

我们要组态一个按钮触发M0.0

至此触摸屏来显示时间、设置时间的过程我们就都组态完成了,我都实验过程序完美运行。

如果大家还有什么问题可以随时在文章里评论。

我在组态画面里面还特意给你们准备了小姐姐!

读写程序全家福

最后放上读写所有程序。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何通过西门子Smart系列触摸屏面板修改S7200SMART PLC的时钟
【案例】S7-200SMART 实时时钟如何在MCGS触摸屏上显示并写入
S7-200SMART PLC与变频器MODBUS RTU通讯与SMART LINE系列屏控制(案例三)
跟着我一起来学习s7-200
通过PLC的变量切换HMI画面
实测:西门子200PLC和组态王自由口通信
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服