最近有个项目用到了S7-1200,在编程处理模拟量时,要用到时SCALE(FC105)块,但1200不支持这个块,只有NORM_X和SCALE_X,虽然也能用,但还是没FC105块用的顺手(一、嫌编程麻烦;二、对FC105有感情了,STEP 7编程过来的人
),于是先官网上下了个FC105的库,发现是老版本V13之前的,用在V14上,还得先转为V13 SP1(还好有V13),之后成功导入V14上了,但编译又通不过。没办法,只能自己编程序了。
按照STEP 7 FC105的STL原程序,在TIA中用SCL编好了,测试时发现HI_LIM>LO_LIM时(一般都这样设置),输出正常,但如果HI_LIM<LO_LIM(有时需要这样设置),发现输出有问题了,详细见贴图。于是打开STEP 7测试原程序,发现不是我编程的问题,原STEP 7中的程序 就是这样的结果,于是就有了下面这一系列的测试结果与问题点:
1. 正常设置:HI_LIM>LO_LIM,不讨论;
2. 反向设置:HI_LIM<LO_LIM
A. STEP 7版本 FC105
a. IN在正常范围内,不讨论;
b. IN超出正常范围
IN<0,OUT=HI_LIM;
IN>27648, OUT=LO_LIM;
(红色部份是问题一,应该是IN<0,OUT=LO_LIM,IN>27658,OUT=HI_LIM)
实际应用中,本来是最大值,一但超出上范围,输出变为0了,会带来一些问题。
B. TIA V14 SP1版本 FC105
a. IN在正常范围内,不讨论;
b. IN超出正常范围
IN<0,OUT=LO_LIM;
IN>27648, OUT=HI_LIM;
(红色部份是问题二,POTAL中,FC105为什么又修改,难道是发现了问题?)
C. STEP7 版本和TIA V14版本的FC106都是和STEP7版本的FC105一样的
IN<0,OUT=HI_LIM;
IN>27648, OUT=LO_LIM;
(红色部份是问题三,为什么2个平台上的FC106又是一样的结果?)
D. TIA V13 SP1版本的FC105是和TIA V13的版本一样的
E. TIA V13 SP1版本的FC106是不支持反向设置的
