北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8642032

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

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

cover.png

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

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

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

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

system_clock_memory.PNG

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

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

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

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

system_byte.PNG

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

system_memory_byte.PNG

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

clock_byte.PNG

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

clock_memory_byte.PNG

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

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

好了,关于S7-1200/1500的系统字节位与时钟字节位就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。

founderchip.png

已经过安全软件检测无毒,请您放心下载。

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论