在编写FC(Function Block,功能块)程序时,需要遵循以下规矩:
参数传递
FC块没有循环数据存储,因此调用函数时必须给所有形参分配实参。
输入参数(Input)每次块调用前只能读取一次,只能写入形参,不能影响实参。
输出参数(Output)每次块调用后只能读取一次,不能写入形参,只能读取形参的值。如果需要读取输出参数的值,将会读取形参的值,而不是块中实参的值。
变量类型和存储
FC块中的变量包括IN(外部输入,只能读)、OUT(本程序块输出,可读写)、IN_OUT(输入输出,可读写)和TEMP(临时变量,存储在CPU工作存储区的局部数据堆栈中)。
由于FC块没有独立的存储区,它使用全局DB(数据块)或M(存储器)区来存储数据。
命名规范
FC块的命名通常要遵循西门子公司的相关规范,名称通常以“FC”开头,后面跟上数字和可选的英文单词及其他特殊字符。
调用方式
在主程序中需要调用相应的FC块,并传入所需的输入参数,FC块会根据程序执行结果返回输出参数。
编程步骤
创建FC块并填写接口参数,包括IN、OUT、IN_OUT和TEMP变量。
在FC块中编写程序,确保所有路径都将值写入输出参数。
在主程序中调用FC块,并在启动、停止、输出等管脚填写地址变量,可以是内部地址M或外部地址I点。
这些规矩有助于确保FC块程序的正确性和可维护性,避免潜在的错误和数据不一致问题。