西门子博途与CoDeSys (IEC61131-3)的异同点(二)寻址方式异同

<a href=https://www.xmzyj.com/ximenzi>西门子</a>博途与CoDeSys (IEC61131-3)的异同点(二)寻址方式异同” inline=”0″></p>
<p> 上篇文章笼统的介绍了西门子博途软件与IEC61131-3的区别,本章将介绍两者另外一个最大的不同,寻址方式的区别,或者说内部存储区使用的区别,而这也是两者设计思想的最大区别,废话少说,直接上图</p>
<p>(*本位由譬如朝露2017-12-11发表于头条,其他平台复制粘贴请去掉此段*)</p>
<p><img src=

西门子博途与IEC61131-3 存储空间的区别

如图,上半部分是博途的存储空间,下半部分是IEC61131-3 的存储空间,两者有很大不同。

1) IEC61131-3 遵循计算机的存储结构,高位在高字节,低位在低字节。 这是正常的人类思维。而在博途中正好相反,高位在低字节,低位在高字节。这是机器思维 如果把一个WORD 比喻成一个队伍,这个队伍由16个人组成,每个人表示一个位(Bit)那么,在IEC61131-3 中 他们是这么报数的,从低个子开始 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 而在博途中是怎么报数的呢,是这样,还是从低个子的开始,9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8.怎么样,这就是机器思维和人类思维的差别。这一点尤其注意,特别是用西门子和其他PLC 进行通讯时,如果两者交互的数据不一致,不要怀疑通讯是不是错了,先检查下 高低位是不是反了。

西门子博途与CoDeSys (IEC61131-3)的异同点(二)寻址方式异同

西门子工业自动化系列教材:西门子S7-1200 PLC编程与应用(附DVD-ROM光盘)
¥34.7

购买

施耐德电气SoMachine控制器应用技巧120例
¥48.7

购买

2) 博途中不同的类型不存在地址不同的问题,而在IEC61131-3中,存在地址倍数的关系。怎么理解呢,还是看图

,MW0=MB0+MB1 MW2=MB2+MB3 MD2=MW2+MW3 这种方式简单,不存在地址重叠的问题,但却存在数据重叠的问题。比如,你用了MW0 就不能再用MW1,因为数据会重叠。这绝对是强迫症的天敌。比如在一个项目中,有10台伺服,每个伺服的位置值我都用一个WORD 表示,你只能用MW0 MW2 MW4 而不是MW0 MW1 MW3 强迫症看见也许会崩溃,数据和地址怎么老是错一位? 正是这种设计理念,导致博途的数据是高八位和低八位相反。

而在IEC61131-3 中,是绝对不会存在这种问题的,因为它的地址是连续分配的,但这会导致另外一个问题,那就是地址会有重叠,可以看到MW0=MB0+MB1 MW1=MB2+MB3 地址会有倍数关系。虽然地址有倍数关系,但确实按照正常的思维,低位在低字节,高位在低字节。

个人还是喜欢IEC61131-3 的寻址方式,符合人类的正常思维,其实把两者结合才是最好的,期待新标准的出现

你更喜欢哪种寻址思维 (单选)
0
0%

西门子博途的机器思维

0
0%

IEC61131-3的人类思维

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据