SIMATIC S7-1500函数FC及其应用

发布时间:2024-07-25  

(1)函数(FC)介绍

①函数(FC)是用户编写的程序块,是不带存储器的代码块。由于没有可以存储块参数值的数据存储器,因此,调用函数时,必须给所有形参分配实参。

②FC里有一个局域变量表和块参数。局域变量表里有:Input(输入参数)、Output(输出参数)、InOut (输入/输出参数)、Temp(临时数据)、Return(返回值RET_VAL)。Input(输入参数)将数据传递到被调用的块中进行处理。Output(输出参数)是将结果传递到调用的块中。InOut(输入/输出参数)将数据传递到被调用的块中,在被调用的块中处理数据后,再将被调用的块中发送的结果存储在相同的变量中。Temp(临时数据)是块的本地数据,并且在处理块时将其存储在本地数据堆栈。关闭并完成处理后,临时数据就变得不再可访问。Return包含返回值RET_VAL。

(2)函数(FC)的应用

函数(FC)类似于VB语言中的子程序,用户可以将具有相同控制过程的程序编写在FC中,然后在主程序Main[OB1]中调用。创建函数的步骤是:先建立一个项目,再在TIA博途软件项目视图的项目树中选中“已经添加的设备”(如:PLC_1)→“程序块”一“添加新块”,即可弹出要插入函数的界面。以下用例1说明函数(FC)的应用。

【例1】用函数FC实现电动机的启停控制。

【解】①新建一个项目,本例为“启停控制(FC)”。在TIA博途软件项目视图的项目树中,选中并单击已经添加的设备“PLC_1”-“程序块”-“添加新块”,如图1所示,弹出添加块界面。

caf88fce-23ed-11ee-962d-dac502259ad0.png

图1

②如图2所示,在“添加新块”界面中,选择创建块的类型为“函数”,再输入函数的名称(本例为启停控制),之后选择编程语言(本例为LAD),最后单击“确定”按钮,弹出函数的程序编辑器界面。

cb2f342a-23ed-11ee-962d-dac502259ad0.png

图2

③在“程序编辑器”中,输入如图3所示的程序,此程序能实现启停控制,再保存程序。

cb4ef9fe-23ed-11ee-962d-dac502259ad0.png

图3

④在TIA 博途软件项目视图的项目树中,双击“Main[OB1]”,打开主程序块“Main[OB1]”,选中新创建的函数“启停控制(FC1)”,并将其拖拽到程序编辑器中,如图4所示。至此,项目创建完成。

cb7aa9aa-23ed-11ee-962d-dac502259ad0.png

图4

【例2】用函数实现电动机的启停控制。

【解】本例的1、2步与例1相同。

③在TIA博途软件项目视图的项目树中,双击函数块“启停控制(FC1)”,打开函数,弹出“程序编辑器”界面,先选中Input(输入参数),新建参数“Start”和“Stopl”,数据类型为“Bool”。再选中InOut (输入/输出参数),新建参数“Motor”,数据类型为“Bool”,如图5所示。最后在程序段1中输入程序.

cbbbc39a-23ed-11ee-962d-dac502259ad0.png

图5

如图6所示,注意参数前都要加“#”。

cbeade5a-23ed-11ee-962d-dac502259ad0.png

图6

④在TIA 博途软件项目视图的项目树中,双击“Main[OBI]”,打开主程序块“Main[OB1]”,选中新创建的函数“启停控制(FC1)”,并将其拖拽到程序编辑器中,如图7所示。

cc0a82f0-23ed-11ee-962d-dac502259ad0.png

图7

如果将整个项目下载到PLC中,就可以实现“启停控制”。这个程序的函数“FC1”的调用比较灵活,与例1不同,启动不只限于I0.0,停止不只限于I0.1,在编写程序时,可以灵活分配应用。

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>