其他回答说的很透彻。说几句多余的话。
考虑成本。能否用最少的硬件,最小的代价,实现同样的功能。
在实际工程中,没有采用@工控世界的方式,觉得中间环节太复杂。纯粹在西门子的硬件,软件内把通讯协议转来转去。
下面是步骤:
1 - 使用S7-200的COM口,并设置为MODBUS SLAVE,设置好站号,波特率。
2 - 一块MOXA5130,COM口转以太网口。设置好与PLC的通讯波特率,奇偶检验;
3 - 上位机使用Kepserver 5 作为OPC服务器,创建channel,使用s7-200驱动,如图:
设置好波特率,与MOXA的NPort Administrator配置相同。
这个也与PLC内的设置吻合。
然后添加一个新设备device,就可以与S7-200通讯了。
然后创建OPC标签,使用OPC Client查看通讯数据是否正常。
OK,上面说的,是使用Kepserver作为OPC server通过转接的COM口使用S7-200的通讯协议,读取S7-200的存储区数据。
那么剩下的就简单多了。ifix不是要使用OPC读取数据吗?正好其自带的OPC client派上用场。
然后,其实跟其他OPC客户端的用法一样,opcdidw打开配置项,添加OPC服务器:
你要是想把ifix与kepserver分开在不同的服务器,只要在同一个局域网内,那也是没问题的。开放kepserver的访问权限,在ifix opc client内配置为远程kepserver的ip地址,写好连接字符串就可以了。这样还能容灾,一个挂了,不影响另一个。
然后手动添加,或从KEPSERVER内导入标签,均可。
最后在ifix databasemanager内添加相应驱动的标签,选好DI/AI类型就可以了。
硬件成本,MOXA一块。软件成本,kepserver 5一套。
这个过程可以让我们更深入地了解OPC,并灵活使用。
以上。