重大违法建设项目举报网站,wordpress无法上传歌曲,c 多语言网站怎么做,蓬莱做网站价格导读#xff1a; 程序采用结构化程序#xff0c;把程序分成多个模块#xff0c;各模块完成相应的功能。结合起来就能实现一个复杂的控制系统。就像高级语言一样#xff0c;用子程序实现特定的功能#xff0c;再通过主程序调用各子程序#xff0c;从而能实现复杂的程序。 … 导读 程序采用结构化程序把程序分成多个模块各模块完成相应的功能。结合起来就能实现一个复杂的控制系统。就像高级语言一样用子程序实现特定的功能再通过主程序调用各子程序从而能实现复杂的程序。 在S7-300/400PLC中写在OB1模块里和程序就是主程序子程序写在功能(FC)功能块(FB)。 ① FC运行是产生临时变量执行结束后数据就丢失-----不具有储存功能 ② FB运行时需要调用各种参数于是就产生了背景数据块DB。例如用FB41来作PID控制则它的PID控制参数就要存在DB里面。FB具有储存功能 ③ 系统功能块SFB和系统功能SFC也是相当于子程序只不过SFB和SFC是集成在S7 CPU中的功能块用户能直接调用不需自已写程序。 ④ SFC与FC不具有储存功能,FB和SFB具有储存功能。 ⑤ OB模块相当于子程序负责调用其他模块。如果程序简单只需要OB就可以实现。 用西门子plc编程时可以用到功能块FB和功能FCFB、FC都是组织块资料上说FB与FC都可以作为用户编写的子程序但两者是有一定区别的在使用时应注意。 FB--功能块带背景数据块 FC--功能相当于函数 他们之间的主要区别是FC使用的是共享数据块FB使用的是背景数据块。 举个例子如果您要对3个参数相同的电机进行控制那么只需要使用FB编程外加3个背景数据块就可以了但是如果您使用FC那么您需要不断的修改共享数据块否则会导致数据丢失。FB确保了3个电机的参数互不干扰。 FB,FC本质都是一样的都相当于子程序可以被其他程序调用也可以调用其他子程序。他们的最大区别是FB与DB配合使用DB中保存着FB使用的数据即使FB退出后也会一直保留。FC就没有一个永久的数据块来存放数据只在运行期间会被分配一个临时的数据区。 在实际编程中是使用FB还是FC要看实际的需要决定。 FB与FC没有太大的差别FB带有背景数据块而FC没有。所以FB带上不同的数据块就可以带上不同的参数值。这样就可以用同一FB和不同的背景数据块被多个对象调用。FC和FB像C中的函数只不过FB可以生成静态变量在下次函数调用时数据可以保留而FC的变量只在调用期内有效下次调用又重新更换。 这是一般的理解FB需要背景数据块而FC是没有的参数的传递方式不同FB的输入输出对应着背景数据块地址而FC的输入输出是没有实际地址对应的只有的程序调用时才会和实际的地址产生对应关系。FB参数传递的是数据FC参数传递的是数据的地址。 FB功能块的处理方式是围绕着数据块处理数据他的入口参数和出口参数都是数据块里的数据以及STAT的数据都是数据块里,入口参数和出口参数、STAT可以认为是静态数据这些数据不会因为函数消失而逝去他会一直保存在数据块里。FB里的变量与他的背景数据块是一一对应的而他的对应并不是一层不变的。 更确切的说FB里的变量在调用时将根据AR2的值当作偏移量与背景数据块是一一对应。如果一个FB功能块里没有入口参数、出口参数及STAT数据他将不需要背景数据块这时的FB和没有入口出口参数的FC就没有什么区别了就只能使用临时变量和全局变量了。 用很多人认为FB的背景数据块必须由FB生成、FB里的第一个变量对应着背景数据块的第一个变量还有就是由FB生成的数据块只能作为FB的背景数据块使用。其实这些理解是错误的FB的背景数据块不一定是通过FB生成的可以像生成共享数据块一样生成FB的背景数据块。 换句话说普通的数据块也可以作为FB的背景数据块不过这种做法是有一定前提的就是这个数据块的字节数必须大于等于FB所需的字节数如果小于FB所需的字节数时FB访问到超出背景数据块的变量时就会找不到变量的地址肯定会出错了。FB里的第一个变量对应可以对应数据块字节数减去FB所需背景数据块字节数里的任意位置的变量。