为什么200要把数据写到V区后才能进行DP通讯,而主站接收到的数据应该是存储在映像存储区,那么请问下映像存储区和实际的地址的区别
最佳答案
1、楼主的疑问我非常理解,既然同是西门子的产品,为什么在通讯设置上不设计成一样的呢?要回答这个疑问,需要理解S7200和S7300/400之间的差异,因为S7200和S7300/400不是同一个公司开发出来的,S7200是西门子收购的产品,而S7300/400则是西门子独立研发的产品,所以两者在很多方面的差异是巨大的。
2、两者差异在硬件和软件方面都非常明显,例如S7200不需要硬件组态,IO地址系统自动分配,而S7300/400则需要组态硬件,客户可以自由分配IO地址;S7200功能模块和通讯模块是需要在系统变量(SM区)来设置,S7300/400则在硬件组态里设置就可以,程序中也可以访问;S7200的中断都是把中断事件和中断程序绑定实现,S7300/400的中断则在OB块里实现;S7300/400中数据可以存在DB块里,S7200原来没有DB块的概念,后来为了兼容就把V区当做DB1;两者在编程语句方面的差别更是巨大,就不列举了(虽然编程软件都叫step7,差别一目了然)。
3、既然两者不是同一个环境下开发出来的,必然设计理念和方法上差别就比较大,同时也造成了S7200和其他西门子产品兼容的问题,例如你所说的DP通讯,就比较麻烦,而且最初S7300/400的硬件库中甚至都没有S7200的GSD文件;到目前为止,wincc还只能通过OPC访问S7200,连基本的PPI都不行。
4、尽管有这么大的差别,但是作为PLC的基本一些东西还是一样的,所谓IO映像区、V区、M区等其实都是PLC在内存中划分的不同区域而已,只不过IO映像区是用于和外围的IO模块采集和输出用的用的区域,V区、M区是程序用的中间变量;在S7200中,IO映像区只能用于硬件IO,而在S7300/400中映像区除了硬件IO以外,通讯模块和通过通讯访问远程模块也被认为是“虚拟IO”,也通过IO映像区来交换数据,这就体现两者在设计理念上的差别。所以S7300/400主站接收到的数据应该是存储在映像存储区,S7200要把数据写到V区后才能进行DP通讯。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc315616.html