quote:以下是引用Automann在2014-05-10 07:32:54的发言:quote:以下是引用马嘉华在2014-05-10 00:00:38的发言:quote:以下是引用一生何求在2014-05-09 16:06:48的发言:
12...15对应到300里边是虚拟的,不占用实际点的IQ地址。现在的设置增加的FC1,2的长度。比如原先为P#M0.0 BYTE4,那现在就要增加12个偏移字节为P#M0.0 BYTE16 ,MB12,13,14,15对应你MM440的地址。


如上边两张图所示,
CP342-5组态DP主站,I/O地址分别为272...287,共16个字节;
DP从站FCM300变频器选择16字节长度的PPO Type7,I/O地址分别为0...15,共16个字节;
问题:
1、现在用FC1、FC2实现CPU与CP342-5之间交换数据,那么,指针参数SEND和RECV的字节长度该如何确定?
2、我用16字节长度,可以实现控制字、设定值的写入读取,可以实现变频器起停、速度给定等控制,也可以实现变频器数字输入端子状态的读取。可是,模拟量输入端子数值的读取出现了很大的误差。变频器模拟量0...10V电压输入端子输入10V的满量程电压信号,如果正常,CPU读取到的应该是27648的数值,可是我只能看到很小的数字。如果输入0V信号,可以看到0,这种现象是什么原因呢?
3、图中I/O地址0...15有什么作用?和变频器控制字等等的有没有联系?
I/O地址0...15有什么作用?这个你要看变频器的手册,它收、发的16字节数据的含义。
变频器手册里16字节的数据含义我知道,我不理解的是,CPU通过FC1、FC2与CP342-5之间交换数据,那么CP342-5是通过什么与变频器进行数据交换的?我在做实验的时候,只用了CP342-5的I/O272...287,编程时没有使用I/O0...15,可以实现变频器的控制。也就是说,主站CP342-5与从站变频器之间不需要用户编程,是自动实现数据交换吗?
还有一个问题,我用16字节长度,可以实现控制字、设定值的写入读取,可以实现变频器起停、速度给定等控制,也可以实现变频器数字输入端子状态的读取。可是,模拟量输入端子数值的读取出现了很大的误差。变频器模拟量0...10V电压输入端子输入10V的满量程电压信号,如果正常,CPU读取到的应该是27648的数值,可是我只能看到很小的数字。如果输入0V信号,可以看到0,这种现象是什么原因呢?
还有一个问题,FC1、FC2的指针参数SEND和RECV的字节长度该如何确定?和PPO Type数据长度相同吗?我在说明书上看到这样一句话,“指针参数(SEND”或RECV)的字节长度 = 最后一个PROFIBUS从站的I/O地址的最高地址+1”没有理解这句话的含义。
望指点一二……谢谢!
望指点一二。