我现在有8台西门子S7200与其它厂牌的PLC需做通讯联机,有不少的数据需要做通讯,而且数据更新不可太慢。因为是S7200,考虑成本不想加网络模块。所以我想用计算机及OPC软件来做数据交换。可是有几个问题想问问大家…
(1) 请问这8台S7200是否可以用PPI网络然后用一条PPI CABLE连到计算机的COM PORT与OPC联机呢?
(2) 是否有什么厂牌的OPC软件可以直接定义各站的数据交换呢?假设我可以将这8台的S7200与其它厂牌的PLC都连接在OPC上了,然后我可以直接在OPC的软件就定议那个缓存器是要传送到哪一个设备的缓存器位置,因为不需要图控软件,所以想是否有可能各设备的数据交换在OPC上就可执行?
问题补充:
我现在网络读(NetR)和网络写(NetW)指令做8台PPI网络通讯。为什么我现在扫瞄周期越长,通讯就会越慢呢(都约需要2-3秒)?
最佳答案
(1)完全可以的。由于通信端口在物理上是RS485通信口,因此即便工作在自由口模式下,它也是支持总线通信的。
其详细做法可参考:
如何监视 S7-200 和串行设备之间的自由口通信?:http://www2.ad.siemens.com.cn/download/Upload/AS/faq/26726155.pdf
(2)建议采用西门子的OPC软件即可。因为你是S7-200的,还要使用PPI电缆建立通信,你只用采用专门针对S7-200的OPC软件PC Acess,
详细可参考:
1.PC Access快速入门:http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0297.pdf
2.S7-200 PC-Access V1.0 SP3 软件:
http://www.ad.siemens.com.cn/download/Html/download.aspx?DownloadID=1128&TreeID=2&URL=http%3a%2f%2fwww.ad.siemens.com.cn%2fdownload%2fTip.aspx
3.STEP 7 Micro/WIN 或 S7-200 PC Access 与 MS Windows 的版本兼容性怎样? :
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=8675614&caller=view
(3)关于补充问题回答:
条网络读写指令最多能够读或者写16个字节的数据;每个CPU内最多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。
只有通信主站能够使用网络读写指令。缺省情况下,S7-200 CPU的通信口设置为从站模式。因此在编程时,需要把通信口设置为通信主站模式。
在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主站既可以读写从站的数据,也可以读写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。
一个主站CPU可以读写网络中任何其他CPU的数据。
由于串行通信的特点,通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。所有的通信活动都需要PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令只是告诉操作系统有需要处理的通信任务。因此,网络读写指令采取通信数据缓冲区的方式,在操作系统的通信管理功能与PLC的用户程序之间交换信息。
网络读写指令(NetR/NetW)的数据缓冲区类似。数据缓冲区除了状态字节和地址、数据长度之外,剩余的部分就是纯数据字节。能够传送到通信对象,或者从对象接收的仅仅是数据字节,不包括数据个数等信息。远程站(通信对象)的数据缓冲区则是纯数据区域。
详细可参考:
S7-200 系统手册:http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1017[2].pdf
提问者对于答案的评价:
thx
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc163383.html