(图片来源网络,侵删)
驼子在之前的文章《S7-300PLC之旅——模拟量输入、输出标准化FC105、FC106》中对两个逻辑块FC105、FC106的讲解出现了极大的错误,由于转发、收藏的小伙伴较多,因此,驼子一次不专业的错误,可能给许多虚心学习的小伙伴带来了极大的误导,驼子因而诚惶诚恐了许久因此,驼子决定在本文进行一次集中勘误,并再次尝试对FC105进行分析一、错误分析在《S7-300PLC之旅——模拟量输入、输出标准化FC105、FC106》一文中,错误出现在以PT100铂热电阻为例,煞有介事的讲起了FC105的上限值HI_LIM和下限值LO_LIM的整定中去了这个过程中,驼子犯了两个错误:1、HI_LIM、LO_LIM根本无需整定,它们只需根据程序的控制需要给定合适的值即可;2、模拟量的输入,比如PT100在经过模拟量输入模块时,会根据硬件配置按照1:10标准型或1:100气候型做转换,然后再送给CPU进行数据处理具体模拟量的采集和处理,驼子将在专门的一篇文章中探讨二、FC105的用法FC105是专门处理模拟量的在实际的工程中,各种模拟量,如:压力、温度、流量、位移等都采用各种各样的传感器进行测量传感器会输出标准的电压、电流、温度、电阻等信号供PLC采集,经由模拟量输入模板将这些信号转换成数字量——整型数INTERGET但在PLC内部处理这些数据时,又需要将整型数转换成实际的物理值(实型数),FC105就是用来完成从整型数到实数的转换的FC105除了EN、ENO外,还有四个输入变量和两个输出变量,如下表:下面,我们利用仿真功能,来分别测试各个输入变量的用法1、BIPOLAR如图1、图2分别为BIPOLAR=1和BIPOLAR=0时,输入和输出的关系可见,当BIPOLAR=1时,其可转换值的范围为(-27648,27648),而BIPOLAR=0时,转换值的范围为(0,27648)由于转换范围不同,因而两种情况下,同一个输入值,对应的输出就不一定相同了,比如图1、图2中,在HI_LIM、LO_LIM均一样,且输入IN都为0时,图1的输出为50,而图2的输出为0图1 BIPOLAR=1图2 BIPOLAR=0BIPOLAR该设为0还是1,应该由传感器送来的模拟量有关,如送来的是压力等只在一个方向变化的值,则最好将BIPOLAR设为0;而若送来的是位移值,由于位移有正位移、有负位移,因此可将BIPOLAR设为12、HI_LIM、LO_LIM下面我们在BIPOLAR=0时,来探究HI_LIM和LO_LIM的作用,如图3所示可见,当HI_LIM=100,LO_LIM=0时,FC105的转换范围是(0,100),而HI_LIM=1000,LO_LIM=0时,FC105的转换范围是(0,1000)图3 HI_LIM设定不同值可见,HI_LIM、LO_LIM定义了FC105输出端OUT输出值的范围,在BIPOLAR=0时,输入端(0,27648)这个范围的值将被转换成实数,并“压缩”到(LO_LIM,HI_LIM)的范围内;同理,BIPOLAR=1时,将输入端范围(-27648,27648)的值“压缩”到(LO_LIM,HI_LIM)的范围内同时,不同的(LO_LIM,HI_LIM)范围,输入端加1,输出端的转换“步长”也不同如当IN=0时,OUT均为1;而当IN=1时,(LO_LIM,HI_LIM)不同时的输出如图4可见,当HI_LIM=100时,“步长”为0.0036;当HI_LIM=1000时,“步长”为0.036;当HI_LIM=1000时,“步长”为0.0398图4 HI_LIM设定不同值其实,“步长”很好确定,以BIPOLAR=0为例,它是将(LO_LIM,HI_LIM)这个数字范围平均分成27648分,所以: “步长”=(HI_LIM - LO_LIM)/27648在STEP7中,FC105用于将模拟输入变量值整定到(LO_LI,HI_LIM)所指定的标尺范围内,标尺的最小刻度为“步长”值,即(HI_LIM - LO_LIM)/27648小结事实证明,我们遇见不十分确定的事情时,千万不能想当然,否则会犯了和驼子一样的错误在学习PLC编程时也是如此,在遇到不太熟悉的逻辑块时,我们一定要认真阅读帮助文本,并且可以自己编写一段测试程序,利用仿真工具进行仿真测试,帮助我们理解逻辑块的正确用途
0 评论