浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
西门子全国授权总代理商|低压总代理
发布时间:2023-10-26

西门子PLC子程序的编写方法FC功能

 当我们编写程序的时候经常会遇到被控制的设备的控制工艺都是一模一样的,这时如果我们还单独对每个设备进行程序的编写,就会显得非常麻烦与笨拙,对于这样大规模控制流程都一样的设备的编程通常我们时间都会想到子程序。那么本文的内容就主要来介绍西门子提供给我们的一种子程序的编写方法FC功能。
1、 无参数调用与有参数调用
  对于功能的使用我们可以分为无参数调用和有参数调用,无参数调用就是FC块不从外部或者说是主调程序中接收参数,也不向外部发出参数,有参数调用和无参数调用刚好相反,需要从主调程序接收参数,将接收到的参数处理完毕后将处理结果再返还给主调程序。图1所示程序段1是无参数调用,程序段2是有参数调用。


图1
2、 有参数调用
  通常情况下我们主要使用的就是有参数的调用,那么既然是有参数调用,被调用的FC功能要和调用它的主调程序进行参数的传递就必须要有参数传递的接口。就像我们去超市买东西,超市要有入口和出口一样。图2所示就是功能FC的各个接口.


图2
IN:输入接口,主调函数将参数传递给功能FC的接口,就像超市的入口参数只能进不能出。
OUT:输出接口,功能FC将处理完的结果返回给主调程序的接口,就像超市的出口参数只能出不能进。
IN_OUT:输入输出接口,参数既能从此接口进入也能从此接口输出。
TEMP:临时变量或者叫本地数据,是该功能FC的数据存储区域只在本功能中起作用。
RETURN:返回值,该类型下只能有一个接口,用于向主调程序返回参数

PLC模拟量输入模块的大输出值与实际输出值

 12位二进制数的大值为4095(212–1),对于单极性输入信号(例如DC 0~10V、0~20mA或4~20mA),为了计算方便,三菱的FX系列plc额定输入范围对应的输出值为0~4000,数据放在一个字的右侧(低位),称为右对齐。0~4000与12位二进制数可表示的范围0~4095基本上相同。
  S7-200和GE的90-30的12位模拟量输入模块的输出值范围为0~32000。A/D转换后的数据的高位为符号位,正数的符号位为0,负数的符号位为1。有效位数加符号位一共13位,它们被左移3位后,放在16位字的高13位,低3位添零,相当于实际的有效值被乘以8。因此32000实际上相当于右对齐的转换值4000,这种处理方法称为左对齐。
        对于双极性的模拟量(例如-10V ~ 10V),FX系列的额定输入范围对应于数据值–2000~+2 000(右对齐)。S7-200和GE的90-30对应于–32000~+32000,仍然为左对齐,右边空出来的位添0。
        S7-300/400的模拟量输入模块的位数是可以设置的(9~14位),不管转换后的实际位数是多少位,单极性模拟量转换后的输出值均为0~27648,双极性为–27648 ~ 27648(对应的十六进制数为9400H~7C00H)。模拟量输入值即使超过额定值18.5%,也不会产生溢出。 
       如果不是采用左对齐,而采用右对齐(转换值放在一个字的右侧),模拟量满量程时A/D转换器不同的位数得到的转换值的位数不同,给后续的处理带来困难,采用左对齐则可以解决这一问题

展开全文
优质商家推荐 拨打电话