如果接触过51单片机,就会知道51单片机是8位处理器的微处理器。
读过《微机原理》这本书的朋友,肯定对8086微处理器很熟悉。
Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。——百度百科
Intel8086是16位的微处理器芯片。
现在我们使用的计算机基于有X86和X64架构的处理器。
当然,我们使用的PLC也分为16位和32位微处理器之分。
例如西门子S7-300、S7-1500属于32位微处理器
哪些PLC搭载的16位/32位微处理器,大家可以留言讨论
在PLC中每16bit作为一个数据寻址地址
比如我们使用PLC的按位寻址的寄存器VB0.0、VB1.0、MB0.0、X0.0、Y1.0都作为遵循下面表格定义。
地址中的数据高位在前,低位在后。如图所示。
实际中,我们使用PLC时候,是从MB0、MB1、MB2...寻址的,并非是从MB1、MB0、MB3、MB2这样按照数据存储的方式从高位到低寻址的。
这样就会存在数据解析的时候存在错误。
看一下西门子S7-1217数据解析格式(按照ABCD方式解析)
看一下松下FP-X C60T数据解析格式(按照ABCD方式解析)
读取上来的数据为 0x3C00 对应PLC上的Y点位
由此证明,数据读取上来和我们实际高八位和低八位位置相反,所以,在解析的时候一定不要忘记将byte数据进行互换。
关注微信公众号【工业技术互联】阅读其它100+篇原创技术文章。