西门子PLC S7-200 SMART时钟的读写及数码转换

电子说

1.2w人已加入

描述

解决两个问题:一是西门子PLC S7-200 SMART主模块内的时钟如何在程序中读写,二是BCD码及转换。   先说BCD码,简单来说BCD码是用用4位二进制数来表示1位十进制数中的0~9这10个数码。举个例子,一位十进制数“9”的二进制BCD码是“1001”,两位十进制数“99"的BCD二进制码是“10011001”。这个二进制数如果直接转化为十进制是“153”,但是如果是BCD码,就表示“99”。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。   然后再说怎么读写PLC的时钟,有两条指令。下图给出了这两条指令  

plc

READ_RTC指令会把PLC的内部时钟读出来,以BCD码的形式,存放在T参数指定存储单元开始的8个字节内,图上是从VB100开始的8个存储单元内,具体内容如下图。   SET_RTC指令会把从T参数指定的存储单元开始的8个字节内的值写入到PLC的内部时钟,具体内容如下图。我们要把要时钟值,以BCD码形式,先存储到这8个字节内,上图指令中是从VB1000开始的8个字节。  

plc

比如今天是2020年02月19日星期三,读取出来时钟后,如果T=VB100,那么VB100开始的前三个字节的值用十进制表示依次是:32,02,25, (分别是20,02,19的BCD码)。表示星期的VB107内的值用十进制表示为04,也就是星期三。  

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分