读取和比较日期、时间和计数器的技巧和窍门

说明:

本条目包含了读取和比较日期、时间和计数器的技巧和窍门。涉及到以下主题:n

  1. 读取和转换定时器的剩余时间
  2. 比较数据类型为“DATE”的月份
  3. 将 S5TIME 类型数据相加
  4. 来自计数器程序的不正确的值

下表提供了上面所列问题的信息和补救措施。

序号

读取和比较日期、时间和计数器的技巧和窍门

1读取和转换定时器的剩余时间
下面的STL程序使用MD8 "T1_IEC_time" 来确定关延时的剩余时间。 n

  • 定时器的 BCD 输出管脚的值被传送到MW6 "T1_BCD"。n
  • 此值的数据类型为 WORD 并且必须转换为 S5TIME 数据类型。n
  • 因为BCD值仍然包含定时器的时期的倍数,MW6 "T1_BCD"的值被复制到 MW12 "BCD_S5TIME"。n
  • 于是使用"Standard Library/IEC Function Blocks"库中的FC33 "S5TI_TIME" 来将 MW12 "BCD_S5TIME"转换为"TIME" 类型。n
  • 结果保存在MD8 "T1_IEC_time"中。

复制 "STEP7_V5_RestTime.zip" 文件到一个单独的文件夹,双击文件将项目中文件和文件夹释放。这样就可以用STEP 7 V5.4 来打开和处理项目了。n

读取和比较日期、时间和计数器的技巧和窍门 STEP7_V5_RestTime.zip ( 34 KB )

2

比较数据类型为“DATA”的月份
“DATA”数据类型以一个无符号整数表示的天数来显示,起始天为1990年1月1日。这就是为什么必须使用TIME_OF_DAY 数据类型将数据类型转换为DATE_AND_TIME 。DATE_AND_TIME 数据类型以BCD形式保存。n

读取和比较日期、时间和计数器的技巧和窍门
图01n

现在可以将月份信息以BCD形式与另一值作比较了。

3

将 S5TIME类型数据相加
S5TIME 数据类型以BCD形式保存数据。不能将两值简单相加。如果将时间转换为TIME数据类型,数据将以十进制数形式保存。转换为十进制数后就可使用使用SIMATIC S7的算术运算来处理这个数据类型了。

  • 可以使用标准库下"IEC Function Blocks"中的FC 33 (S5TI_TIM) 来将S5TIME 数据类型转换为TIME数据类型。
  • 如果需要时间在程序中以S5TIME 数据类型表示,则可使用FC 40 (TIM_S5TI) 来将日期转换为S5TIME 数据类型。本块也可在标准库下"IEC Function Blocks"中找到。
  • 使用SIMATIC Manager的" Open a project/library"按钮来打开标准库。这里选择"Libraries"选项卡,并选择"Standard Library"。

图02 给出了S5TIME和TIME 数据类型的限制。关于其它数据类型的更多信息参见STEP 7在线帮助下的 "LAD/STL/FBD - Edit Blocks"部分。

读取和比较日期、时间和计数器的技巧和窍门
图02

复制"STEP7_V5_S5time_Addition.zip" 文件到一个单独的文件夹,双击文件将项目中文件和文件夹释放。这样就可以用STEP 7 V5.4 来打开和处理项目了。

读取和比较日期、时间和计数器的技巧和窍门 STEP7_V5_S5time_Addition.zip ( 36 KB )

4来自计数器程序的不正确的值
为了在两个计数器串联的情况下在计数器程序中获得正确的值,必须在每个计数器前设置一个上升沿。而且必须将结果值另外保存。

读取和比较日期、时间和计数器的技巧和窍门
图03

创建环境

本FAQ中的图片和下载项均在STEP 7 V5.4 环境下创建。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论