说起PROFIBUS,大家耳熟能详都知道有PROFIBUS-DP用于主从通信;PROFIBUS-PA用于PA仪表的通信;PROFIBUS-FMS用于主站间的通信。但是又有多少工程师使用过PROFIBUS-FMS通信呢?
那我们先了解一下PROFIBUS-FMS通信服务是怎么实现的。FMS是采用主从方式,主站通过“读”、“写”指令与从站进行数据交换,由于各厂家地址区定义的差异性,例如西门子有DB、M、I、Q等地址区,但是别人家不一定是这样呀,那就采用符号名的方式,给PLC变量命名一个符号名称,或者采用INDEX方式,给变量一个编号,例如101、102等。S7-300/400被读写的变量需要在符号表中一一定义。
然后还需要建立FMS连接。
通信双方的属性必须相匹配。最后调用读写指令进行数据交换。
使用PROFIBUS_FMS通信想法是好的,但是参数设置过于繁琐,也缺少合适的说明文档和示例程序,最终导致使用者甚少,就连西门子站点间的通信都使用FDL和S7连接而非FMS连接。与第三方设备的通信使用TCP替代了。
那么使用符号名方式进行通信是不是不好呢?答案肯定是不对的。
例如OPC UA就是使用符号名方式进行通信,设置参数也比FMS多,但是在通信的组态和编程阶段大量使用了对话窗口和向导功能,同时配有详细的说明文档和示例程序,做起来反而更容易上手。所以说好的想法也需要简单的实现方式,这样才能满足大家的需求!
作者:崔坚