smart200作为一款西门子低端的PLC各方面功能都不是太高,但该有的功能也都有。smart是不能使用FB块和UDT功能,这也是限制smart功能的一个很大的地方,下面介绍一种比较方便的方法来替代FB块的功能。
这里以模拟量数据采集监控为例,主要实现模拟量转换为实际数值,并对其进行报警处理。这是我们最常见的一种应用情况。
1,FC块的引脚介绍,FC块的引脚主要包括了“起始位”,“INPUT”,“量程最大值”,“量程最小值”,“输入下限”(模拟量输入最大固定为27648)和“报警允许”
2,FC块的temp区数据如下:(数据比较多不一一写出,11行的temp是占位用的,程序中没有使用到。)
3,指针的使用,指针主要分为程序开始时将外部指定区域数据读取到TEMP区(也可以将数据读取到一个未使用的V区),和程序结束后将TEMP区的数据写入到指定区域的数据中。
4,模拟量转换,数据修正,数据报警的程序。模拟量转换主要是通过官网提供的SCALE库实现的。数据报警因为这里使用的是回查就没有使用延时了。
5,FC块的使用方法,这个FC块使用起来也很方便,首先我们需要自行规划好数据区域,我这个使用到了34个字节,而我程序中写的是40个字节预留了一些以被修改。这有点类似与wincc中的结构变量,并且这个与wincc的结构变量联合使用会有很方便的。
以上就是我的一个小小的方案,我的方案主要思路是通过指针与"MLKMOV"指令,指定一片设计好的地址为FC的satic区,使指定区域的数据具有保持功能,也可以减少fc块的引脚数量。
欢迎各位大师指导我的方案,看看有没有什么需要改进或者优化的地方。