通用网关实现PROFIBUS总线和串口仪表通讯应用案例
读仪表数据时,我们采取读NWORDS的方法,命令格式见图3:

图3:读取N个字的命令格式
返回的应答信息格式见图4

我们需要读取的数据为仪表的PV值、OP值和SP值。根据通讯说明书它们的MODBUS参数地址分别为1、3和2。因此要读取这三个值的命令应该为(MODBUS地址为1的仪表为例):010300010003CRC,在返回的数据中,我们就可以得到PV、SP和OP的值。
在PROFIBUS的输入和输出映像区的第一个字节本例中为(PQB256和PIB256)是用于控制和监控通讯状态的握手字节
下面为STEP程序的部分代码:

将MB20值设为1;读取MODBUS地址为1的仪表的数据。根据上面的应答格式,我们知道在返回的数据中PIW261为仪表的PV值;PIW263为仪表的SP值;PIW265为仪表的OP值。在变量表里进行监控并和仪表进行比较,我们发现数值是正确的。
要对多块仪表进行通讯,只要通过程序来改变MB20的值,因此我们可以每隔100MS将相应仪表的站地址送到MB20中去,等数据返回后,再将下一块仪表的站地址送到MB20中直到最后一块,然后重新从第一块仪表开始。由于返回的数据中包含了站地址信息,因此我们只要根据站地址将得到的数据送到相应的存储区域中即可。当然我们也可以对仪表进行写操作,需要注意的是读写转换的控制问题。
3结束语
我们在未来相当一段时间内将面对多种网络协议并存的现实,因此用于协议转换功能的网络部件将在未来自动化系统中发挥重要作用。拥有多种网络接口的自动化设备也必然具有更强的市场竞争力。NetTAP作为一种通用的协议网关,它支持多种协议间的转换,已经在很多场合中得到了实际应用,在未来也必将拥有广阔的市场前景。
评论