上位机读取驱动数据,一般是上位机-->PLC-->驱动的方式,也就是需要PLC作为中介。
PLC和驱动的通信报文/过程数据,一般在项目完成后就固定下来了,假如上位机需要读取一些原来没有通信的数据,而PLC的程序或者驱动的参数我们又没有条件修改,那么这个方法可能对你有所帮助。因为现场只有两种CU,一个是CU320-2PN,一个是CU250S-2PN,所以没有条件测试其他CU是否工作,但是我相信应该是类似的。
读取方法如下
1,CU是类似300的PLC的,所以连接,通信的时候按照300的PLC来处理即可,由于是PN通信,所以无非就是Ip地址,rack0,slot2。读取的工具网上很多,这里不再浪费时间介绍了。
2,第一步解决了能连接,能读取。那么剩下的核心就是如何指定具体的对应地址,因为这里我们只知道参数地址,不像PLC有绝对地址I,Q,M,DB等等,比如读取某个参数Pxxx,怎么指定他是什么地址?这个问题总结以下几点
a,这些参数是存储在DB区域的,也就是要读取DBxxx,xxx就是参数号
b,db地址有了,那么偏移量是什么呢?这个稍微复杂一点,首先要检查你要读的对象在通信报文里的序号,如下图所示。我这里的CU250因为没有其他对象,所以这个序号就是0
然后检擦你要读取的参数的索引下标(如果有的话),如果只是单一参数不是数组,那下标就是0
c,最后总结读取的方式DB[参数].DBx[报文序号*1024+参数索引],这个x要根据你的参数类型,比如是16位,还是32位整数,还是32位浮点数,这个数据类型可以在参数列表里面查看。