新搞的一个项目,上层是WINCC6,下层是S7-300,用5611卡连接。有3块采集现场模拟量(4-20mA)的AI卡。
原来我想直接在WINCC中读取AI卡的通道(如PIW256),但是通讯一直有问题,后来请教别人,他让我把采集的数据先放入DB块中,然后用WINCC读取DB块的内容,现在通讯正常,但又出现其他问题.
我是这样做的:先在PLC中做量程转换,把0-27648的量转换成0-100的实数(带小数点),然后把该数放入DB块中,DB块是0-100的数组,类型是REAL,我又在WINCC中建立外部变量,地址对应相应的DB块,如DB2.DBD4,变量类型是32位浮点数,不进行类型转换.
我在模块通道上加入4-20mA,画面上(用I/O域)看不到这个变量的正确值,一直是"97"不变.但在STEP7中看这个DB2.DBD4的值是正确的.所有的二进制变量也一切正常(画面上也正常).
说明下,其他没加任何信号的通道显示-97,哪个通道加信号哪个就变成97,但不随外部mA量的变化而变化.
请教高手,我哪里做错了,是变量类型错了吗?如果我没说清楚,请提出来,谢谢!