很多情况下我们都需要根据时间日期的变化来改变自动化系统的控制方式,这时候我们就需要将这些时间和日期的信息,从PLC中调出,下面我们就一起来学习,S7-300PLC是将时间日期信息如何进行存储的?

简单应用

01

S7-300PLC中实际上系统的时间日期信息是存储在主程序OB1的本地数据中,具体位置是OB1的LB12到LB18,分别存储的是年、月、日、小时、分钟、秒、毫秒、信息如图 1-1所示:

那么我们如果需要对这些信息进行提取最简单的方法就是使用MOVE指令把这些L区的数据读到其他区域比如说M区如图 1-2所示:

这里我们必须要注意所有时间的显示都是以16进制的方式而不是10进制的方式显示的。

高级应用

02

一、数据类型:DATE_AND_TIME

DATE_AND_TIME是Step7四种复杂数据类型(DATE_AND_TIME、STRING、ARRAY及STRUCT)的一种,表示由日期和时间组成的时间,可以使用缩写DT来代替DATE_AND_TIME。

DATE_AND_TIME变量由8个字节构成,分别代表年、月、日、时、分、秒、毫秒,最后一个字节0-3位代表星期,4-7位表示毫秒,数据以BCD码表示。如图1所示,为DATE_AND_TIME的数据格式。

DATE_AND_TIME数据类型的取值范围为:

最小:DT#1900-01-01-0:00:00.000

最大:DT#2089-12-31-23:59:59.999

二、设置系统时钟

1、在联机的情况下,通过STEP7软件菜单指令直接设定系统时钟,如图2.1、图2.2、图2.3所示。(前提:PG/PC要与实际PLC联网,或打开仿真器PLCSIM,即要处于"联机"状态)

图2.1 菜单命令设定系统时钟(一)

图2.2 菜单命令设定系统时钟(二)

图2.3 菜单命令设定系统时钟(三)

上述三种方法,都会弹出"设置时钟"的对话框,如图3所示,勾选"来自PG/PC",使用计算机时钟来同步PLC时钟。

图3 与PG/PC时钟同步

2、使用SFC0设置系统时间

除了使用PG/PC来同步系统时钟外,我么也可以使用系统功能SFC0来自定义系统时钟,方法如下:

1) 首先,创建一个DB块,如:DB20。并在其中定义一个DATE_AND_TIME变量。

图4 定义DATE_AND_TIME变量

2) 在OB1中编写代码,将参考时间以16进制BCD码的形式赋值给DATE_AND_TIME变量的各个字节。第7个字节包含毫秒的个位值及星期,一般不需要设定,系统会根据给定的年、月、日来自己计算星期值并赋值。如图5所示。

图5 为DATE_AND_TIME变量赋值

有很多初学者在这里常常会犯疑惑,为什么此时"ref_time"中的星期数不对呢?(如图5所示)。其实,ref_time中并不会显示当前的星期数,我们需要重新读取系统时钟,才能获得正确的星期值,这点我们将在接下来的"读取系统时钟"中继续讨论(图7、图9)。

3) 调用SFC0,将定义好的DATE_AND_TIME变量值(这里为DB20中的"ref_time")设定为系统时钟,如图5所示。当M0.0检测到上升沿信号后,系统的时钟将变为"time.ret_time"所指定的值,本例中为:2018-12-30 14:39:20。

图5 调用SFC0,自定义系统时钟

三、读取系统时钟

1、使用OB1中的临时量 “OB1_DATE_TIME"来读取系统时钟;

OB1中定义了名为"OB1_DATE_TIME"的临时变量,如图6所示。OB1的每个扫描周期都会读取系统时钟,并存储到"OB1_DATE_TIME"中。因此,通过该临时变量即可得到系统时钟。

图6 临时变量:"OB1_DATE_TIME"

图7 通过"OB1_DATE_TIME"读取系统时钟

2、调用SFC1来读取系统时钟

系统功能SFC1是专门用来读取系统时钟的,程序如如8所示。读取的系统时钟值存放于DB20中DBX8.0开始的8个字节空间中,如图9所示。

图8 调用SFC1来读取系统时钟

图9 调用SFC1来读取系统时钟

结合图7、图9,我们就可以解开图5的疑惑了。我们自定义的系统时钟后,系统会自动计算出"星期值",我们读取当前系统时钟时,自然会读出正确的"星期值",因此,在给定系统时间时,仅需要给出年、月、日、小时、分钟、秒即可。

文章来源:综合网络,侵权联删,谢谢。

戳这里,实用案例

10怎么设置pg接口_西门子S7300 PLC时间日期怎么读取?相关推荐

  1. 西门子real是什么数据类型_【图】西门子s7-300 plc的数据类型有哪些?

    有关西门子s7-300 plc的三种数据类型,基本数据类型.复合数据类型和参数类型,详细介绍了这些数据类型的分类与功能,重点是基本数据类型与复合数据类型的使用方法. 西门子s7-300 plc的数据类 ...

  2. 工业智能网关BL110应用之七十二: 实现西门子S7-300 PLC 接入华为云平台

    LAN 接口的配置COM口采集西门子S7-300 PLC的配置 工业智能网关BL110一共有一 个LAN 接口,一个WAN接口,可以通过LAN 接口采集数据,通过WAN接口接入局域网,设置过程不一样, ...

  3. s7300plc串口通信_实现S7-300 PLC与PC机的普通串口通信毕业论文

    摘  要 现代工业控制系统通常以PC机为上位机,通过与现场工控设备如PLC等的数据交换与处理,实现对工业生产的过程控制.这就促进了上位机与现场工控设备通信手段的不断发展和完善. 西门子S7-300 P ...

  4. 设置读取plc时间_最简单的一种方法来step7 读取PLC时间日期

    step7 读取PLC时间日期最简单的一种方法 很多情况下我们都需要根据时间日期的变化来改变自动化系统的控制方式,这时候我们就需要将这些时间和日期的信息,从PLC中调出,下面我们就一起来学习,S7-3 ...

  5. 博图怎么设置pcpg接口_为什么我的博途PG/PC接口里什么也没有-工业支持中心-西门子中国...

    先设定控制面板里的SET PG/PC选择S7 ONLINE,找到你网卡的TCP/IP驱动 后,选中确定.再试试看博图里还有没有选项. 回答者: SuperTai - 中级技术员&nbsp&am ...

  6. 西门子博图的FB块_西门子S7-300/400PLC OB-FB-FC-DB块介绍

    西门子S7-300/400的PLC用户程序结构与S7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程. 采用调用式结构与结构化编程时,程序以组织块(OB).程序块(FC).功能块 ...

  7. s7300plc串口通信_西门子S7-300/400串口通信模块的信息与使用

    原标题:西门子S7-300/400串口通信模块的信息与使用 1. 串行通讯模块基本信息介绍 CP340/CP341/CP440/CP441-1/CP441-2模块是西门子S7-300/400系列PLC ...

  8. s7-300 400plc应用技术_西门子S7300/400顺序功能图设计教程,看完豁然开朗!

    机工教育原创出品,欢迎转发到朋友圈,其他公众号未经授权请勿转载. 文末可获取教材配套PPT 西门子S7-300/400PLC编程技术及工程应用 主编 陈海霞,教材<西门子S7-300/400PL ...

  9. 如何取消重要地点加密_西门子S7-300/400PLC编程之软件加密

    一.程序块加密 通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护. 如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/O ...

最新文章

  1. VMware Tools按钮变灰色,无法安装的解决方法
  2. 关于IE6下CSS选择器失效的问题
  3. 汇编语言学习系列 for循环实现
  4. BP神经网络反向传播手动推导
  5. Google News优化技巧
  6. Linux内核基础--事件通知链(notifier chain)【转】
  7. 黑马程序员—————— 随机访问流
  8. Selenium UI自动化测试(二)IDE—使用
  9. 【图像处理】MATLAB:图像分割
  10. 10行python代码爬取百度热榜
  11. 运行 ROS-Academy-for-Beginners
  12. 华硕主板如何设置开机自启_华硕主板自动开机的设置方法.doc
  13. php+mysql模板个人记账系统
  14. 4、RH850 F1 定时器OSTM功能和配置
  15. js 正则去前后空格且长度不大于20_js去除空格的正则用法
  16. 设备管理器---usb大容量储存设备感叹号,USB大容量存储设备无法启动
  17. python的sqlite3说明_python之sqlite3使用详解
  18. OnlyOffice实现word转pdf
  19. JavaScript之promise对象及ajax的使用
  20. python脚本分享:xml文件批量修改

热门文章

  1. 安裝jpeg-6b png error错误解决方法
  2. OpenSSL加密与证书
  3. SetupFactory安装制作心得
  4. Study on Android【五】--自定义ContentProvider的语义
  5. css直接子元素怎么用,CSS 子元素选择器使用实例
  6. 黎明之路服务器正在维护,黎明之路进不去怎么办_黎明之路更新失败怎么办_玩游戏网...
  7. qtableview不选中_如何选中/取消选中QTableView并触发setData()
  8. mba学什么书_MBA的完整形式是什么?
  9. c#copyto_String.CopyTo()方法以及C#中的示例
  10. ftp服务器如何配置多个文件夹,ftp服务器如何配置多个文件夹