发布于 2008-10-22 15:05:40
0楼
呵呵,谢谢荒漠旅人的回复,可能你没有理解我的结构的定义,我把每一个模拟量都在DB块中定义一个结构变量,在DB块中给每一个变量命名,如下所示
STRUCT
TE1500_ST : "AI_ST"; //循环水进口温度
TE1501_ST : "AI_ST"; //化锌桶内温度
TE1502A_ST : "AI_ST"; //化铜桶内温度A
TE1502B_ST : "AI_ST"; //化铜桶内温度B
TE1502C_ST : "AI_ST"; //化铜桶内温度C
TE1503_ST : "AI_ST"; //冷凝器尾气温度
TE1504A_ST : "AI_ST"; //冷凝器尾气温度A
TEMP_AI1ST : "AI_ST"; //空闲地址
TE1504B_ST : "AI_ST"; //冷凝器尾气温度B
TE1504C_ST : "AI_ST"; //冷凝器尾气温度C
TE1505A_ST : "AI_ST"; //混合桶温度A
TE1505B_ST : "AI_ST"; //混合桶温度B
...
END_STRUCT
我在WINCC里也建一个这样的结构,也建这么多变量,在WINCC画面里用TAG-PREFIX技术建一个处理模拟量的公用画面,在这个公共画面里可以修改量程值和报警值,还用一个柱形图显示模拟量的状况,这样现场工作人员(当然是有权限的人员)可以直接在WINCC上修改量程和报警上、下限,根本不需要动到PLC程序。
而这段程序只是根据上位机量程的设定值做转换而以。您说在上位机上要查找一一对应关系,我觉得不需要查找啊,就象上面我列出的DB中的内容那样,给每一个结构的命名都按照位号来,在WINCC上建的结构变量命名也按照位号来,而且STEP7中的变量还可以直接上传到WINCC中。WINCC只要使用结构变量就可以了,谈不上费时费力啊,