当前位置:首页技术文章 › 如何使用S7-1200/1500的系统位与时钟位?

如何使用S7-1200/1500的系统位与时钟位?

发布来源:湖南西田电子科技有限公司  发布日期: 2020-12-07  访问量:719

在PLC的程序设计中,有时候会有这种需求:希望某段逻辑一直为真(1)或一直为假(0);希望某段程序仅在PLC启动后执行一次;希望有一个频率固定的时钟脉冲来进行通信或控制报警灯。所有这些需求,都可以手动编程来实现。但我今天想给大家介绍的一个小技巧,不需要任何编程,利用S7-1200/1500 CPU本身提供的系统字节位(System Byte Bits)与时钟字节位(Clock Byte Bits)来实现上述功能。

所谓“系统字节位”,是指系统字节(byte)中的位(bit)。

这里的“系统字节”,是在CPU的硬件配置中*的一个M存储区的字节。当将硬件配置下载到CPU之后,操作系统会对该字节的某些位进行写操作,以实现特定的功能(比如:某个位常为1,某个位常为0)。

时钟字节与系统字节类似,也是在硬件配置中*的M存储区的字节,它的位(bits)可以周期性的变化。

我们以CPU1215C为例,打开其硬件组态,在属性页面中,找到“系统与时钟存储区(System and clock memory)”,如下图:

 

可以看到,默认情况下,系统字节位与时钟字节位都没有启用。

通过勾选“使用系统存储区字节(Enable the use of system memory byte)”就可以启用系统字节位。系统默认使用位存储区(M)的个字节(Byte1)作为系统字节。

系统字节的值是可以修改的,其范围在0~8191之间。

无论使用哪个字节作为系统字节,其0~7位(bits)都遵循如下规则:

 

使用默认的MB1作为系统字节的硬件配置如下图:

 

时钟字节(Clock byte)第0~7位的定义见下表:

 

使用默认MB0作为时钟字节的硬件配置如下图:

 

注:S7-300/400中也支持时钟字节,但是不支持系统字节。

硬件配置好之后,将其编译下载到CPU中,便可以在程序中使用了。是不是很方便呢?

http://www.yizdq.com