预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4章S7-1200的用户程序结构在接口区中生成局部变量,后者只能在它所在的块中使用。 右键单击项目树中的FC1,单击快捷菜单中的“属性”,选中打开的对话框左边的“属性”,用复选框取消默认的属性“块的优化访问”。成功编译后接口区出现“偏移量”列,只有临时数据才有偏移量。 函数各种类型的局部变量的作用如下: 1)输入参数Input用于接收调用它的主调块提供的输入数据。 2)输出参数Output用于将块的程序执行结果返回给主调块。 3)输入_输出参数InOut的初值由主调块提供,块执行完后用同一个参数将它的值返回给主调块。6)常量Constant是块中使用并且带有符号名的常量。 4.FC1的程序设计 程序见下图,运算的中间结果用临时局部变量“中间变量”保存。STEP7自动地在局部变量的前面添加#号。 5.在OB1中调用FC1 在变量表中生成调用FC1时需要的3个变量,将项目树中的FC1拖放到右边的程序区的水平“导线”上。FC1的方框中左边的“输入数据”等是在FC1的接口区中定义的输入参数和输入/输出参数,右边的“压力值”是输出参数。它们被称为块的形式参数,简称为形参,形参在FC内部的程序中使用。方框外是调用时为形参指定的实际参数,简称为实参。实参与它对应的形参应具有相同的数据类型。STEP7自动地在全局变量的符号地址两边添加双引号。6.函数应用的仿真实验 将程序下载到仿真CPU后,CPU切换到RUN模式。单击精简视图右下角的按钮,切换到项目视图。双击打开项目树中的“SIM表1”。 令I0.6为1状态,调用FC1,令IW64为13824(27648的一半),执行FC1中的程序后,输出参数“压力值”的值5.0MPa被传送给它的实参“压力计算值”MD18。3.生成函数块的局部变量 函数块的输入、输出参数和静态数据用指定的背景数据块保存。在FB中,定时器如果使用一个固定的背景数据块,在同时多次调用该FB时,该数据块将会被同时用于两处或多处。为此在块接口中生成数据类型为IEC_TIMER的静态变量“定时器DB”,用它提供定时器TOF的背景数据。4.FB1的控制要求与程序 用输入参数“起动按钮”和“停止按钮”控制InOut参数“电动机”。按下停止按钮,断开延时定时器(TOF)开始定时,输出参数“制动器”为1状态,经过输入参数“定时时间”设置的时间预置值后,停止制动。 在TOF定时期间,每个扫描周期执行完FB1之后,用静态变量“定时器DB” 来保存TOF的背景数据。可以修改函数块的输入、输出参数和静态变量的默认值。该默认值作为FB的背景数据块同一个变量的启动值。调用FB时没有指定实参的形参使用背景数据块中的启动值。5.在OB1中调用FB1 在PLC变量表中生成两次调用FB1使用的符号地址。在OB1中两次调用FB1,自动生成背景数据块。为各形参指定实参。 6.调用函数块的仿真实验 将程序下载到仿真PLC,后者进入RUN模式。在S7-PLCSIM的项目视图打开项目树中的“SIM表1”,在表中生成IB0和QB0的SIM表条目。 两次单击起动按钮I0.0,1号设备Q0.0变为1状态。两次单击停止按钮I0.1,Q0.0变为0状态,制动Q0.1变为1状态。经过参数“定时时间”设置的时间后Q0.1变为0状态。可以令两台设备几乎同时起动、同时停车和制动延时。7.处理调用错误 调用符号名为“电动机控制”的FB1之后,在FB1的接口区增加了输入参数“定时时间”,被调用的FB1的字符变为红色。右键单击出错的FB1,执行快捷菜单中的“更新块调用”命令,出现“接口同步”对话框,显示出原有的块接口和增加了输入参数后的块接口。单击“确定”按钮,“接口同步”对话框消失。被调用的FB1被修改为新的接口,程序中FB1的红色字符变为黑色。8.函数与函数块的区别 FB和FC均为用户编写的子程序,接口区中均有Input、Output、InOut参数和Temp数据。FC的返回值实际上属于输出参数。下面是FC和FB的区别: 1)函数块有背景数据块,函数没有。 2)只能在函数内部访问它的局部变量。其他代码块或HMI可以访问函数块的背景数据块中的变量。 3)函数没有静态变量,函数块有保存在背景数据块中的静态变量。如果函数或函数块的内部不使用全局变量,只使用局部变量,不需要做任何修改,就可以将块移植到其他项目。如果代码块有执行完后需要保存的数据,应使用函数块。 4)在调用函数块时可以不设置某些输入、输出参数的实参,而是使用它们的默认值。函数的局部变量没有默认值,调用时应给所有的形参指定实参。 5)函数块的输出、输入参数和用静态数据保存的内部状态数据有关。 9.组织块与FB和FC的区别 出现事件或故障时,由操作系统调用对应的组织块,FB和FC是用户程序在代码块中调用的。组织块没有输出参数、InOu