贝加莱(B&R)北京培训5.24——5.27
1.4、功能块调用
ST中调用功能块的方法:写出功能块的名称,并在括号中给的需的输入参数分配变量名。
图23、调用功能块流程图
在调用功能块之前,需要给输入参数分配所需的值。功能块调用放在一行里,以分号结束。在调用功能块之后才能读取FB输出值。
图24、功能块调用的明细
首先是功能块的名称,接着是位于括号里的输入参数。输入参数用逗号隔开。功能块调用以分号结束。
21
贝加莱(B&R)北京培训5.24——5.27
2、ST语言练习(答案图25) 1) 新建water任务,循环时间为100ms
2) 仿真水温 water_temp : 0,1,2..100,99,98..0,1..(trace此变量) (从0开始+1,到100后每周期再-1,然后循环此过程) 3) water_temp >= 80:display(字符串变量):too high 20 =< water_temp < 80 : display : normal 0 =< water_temp < 20 : display : too low
4) 当water_temp >= 80 超过1s,变量warning置1,小于80时复位为0
5) 记录报警的次数(即warning置1的次数)
图25
22
贝加莱(B&R)北京培训5.24——5.27
调用功能块按钮 图26
功能块调用步骤:(1)点击图26中调用功能块按钮,弹出选择对话框(图27)。(2)选择需要调用的功能块,左侧第二个复选框可以显示扩展功能库,当调用过一次后会自动加到项目Libraries库内,方便下次再调用。
图27
23
贝加莱(B&R)北京培训5.24——5.27
四、5月27日
1、数据存储
数据存储是为了避免PLC进行Warm start、 Cold start以及电池掉电时数据丢失而造成系统不能正常运行。
变量定义是有个Retain选项,如果这个选项勾上,Local变量数据在Warm start时不会丢失,但是Cold start时会丢失。Global变量数据在Warm start、 Cold start都不会丢失。但需要多增加一个步骤:如图28,选择“Open Permanent Variables”。在打开的窗口增加已定义的需要数据保存的Global变量。
图28
由于存储Permanent Variables的内存空间系统默认为0(M),因此需要开辟一定的空间来存放这些Permanent Variables。如图29,选中CPU,右键选择“Properties”,调出对话框(图30)。
24
贝加莱(B&R)北京培训5.24——5.27
图29
点击该按钮弹出空间分配对话框。 输入参数,设定需要的存储空间。 图30
注1:图30中有个地方是全局变量配置空间,2.7软件最大是64K,3.0软件没有限制,但是也没试过到底会有什么影响。
注2:掉电属于Warm start。
以上两种数据保存,都是在RAM空间里实现,如果当CPU内电池掉电是,RAM空间里的数据都会丢失。因此,需要将数据保存到ROM中才能避免丢失,该过程可以通过以下两种方式编程实现。
25