1.生成功能块
选中SIMATIC管理器左边窗口中的“块”图标,用鼠标右键点击右边窗口,执行出现的快捷菜单中的“插入新对象”→“功能块”,生成一个新的功能块。在出现的功能块属性对话框中,采用系统自动生成的功能块的名称FB1,选择梯形图(LAD)为默认的编程语言。点击“多情景标题”的复选框,使其中的“√”消失(没有多重背景功能)。点击“确认”按钮后返回SIMATIC管理器,可以看到右边窗口中新生成的功能块FB1。
2.局部变量
双击生成的FB1,打开程序编辑器。将鼠标的光标放在右边的程序区上面的分隔条上(见图4-13),按住鼠标的左键,往下拉动分隔条,分隔条上面是功能块的变量声明表,下面是程序区,左边是指令列表和库。将水平分隔条拉至程序编辑器视窗的**部,不再显示变量声明表,但是它仍然存在。
在变量声明表中声明块**的局部变量,局部变量只能在它所在的块中使用。
变量声明表的左边窗口给出了该表的总体结构,选中某一变量类型,例如“IN”,在表的右边显示的是输入参数Start等的详细情况。
由图4-13可知,功能块有5种局部变量
1)IN∶输入参数,用于将数据从调用块传送到被调用块。
2)OUT输出参数,用于将块的执行结果从被调用块返回给调用它的块。
3)IN_OUT(输入_输出参数)参数的初值由调用它的块提供,块执行后由同一个参数将执行结果返回给调用它的块。
4)TEMP(临时变量)暂时保存在局部数据区中的变量。临时变量区(L堆栈)类似于没有人管理的公告栏,谁都可以往上面贴告示,后贴的告示将原来的告示覆盖掉。只是在执行块时使用临时变量,执行完后,不再保存临时变量的数值,它可能被同一**级中别的块的临时数据覆盖。
5)STAT(静态变量)从功能块执行完,到下一次重新调用它,静态变量的值保持不变。
选中变量声明表左边窗口中的输入参数“IN”,在右边窗口中生成两个BOOL变量和一个INT变量(见图4-13)。用类似的方法生成其他局部变量,FBI的背景数据块(见图4-15)中的变量与变量声明表中的局部变量(不包括临时变量)相同。
块的局部变量名必须以字母开始,只能由英语字母、数字和下划线组成,不能使用汉字,但是在符号表中定义的共享数据的符号名可以使用其他字符(包括汉字)。
在变量声明表中赋值时,不需要*存储器根据各变量的数据类型,程序编辑器自动地为所有的局部变量*存储器地址。
块的输入参数、输出参数的数据类型可以是基本数据类型、复杂数据类型、Timer(定时器)、Counter(计数器)、块(FB、FC、DB)、Pointer(指针)和ANY等。
3.生成梯形图程序
图4-13的下面是功能块FBI的梯形图程序。用起保停电路来控制发动机的运行,功能块的输入参数Start和Stop分别用来接收起动命令和停止命令。输出参数Engine_On用来控制发动机的运行。用比较指令来监视转速,检查实际转速Actual_Speed是否大于等于预置转速Preset_Speed。如果满足比较条件,Bool输出参数#Overspeed(速)为1。
STEP7自动地在程序中的局部变量加上“#”号,符号表中定义的共享符号被自动加上双引号。
PLC控制系统可靠性降低的主要原因
虽然工业控制机和可编程控制器本身都具有很高的可靠性,但如果输入给PLC的开关量信号出现错误,模拟量信号出现较大偏差,PLC输出口控制的执行机构没有按要求动作,这些都可能使控制过程出错,造成无法挽回的经济损失。
影响现场输入给PLC信号出错的主要原因有:
1)造成传输信号线短路或断路(由于机械拉扯,线路自身老化,特别是鼠害),当传输信号线出故障时,现场信号无法传送给PLC,造成控制出错;
2)机械触点抖动,现场触点虽然只闭合一次,PLC却认为闭合了多次,虽然硬件加了滤波电路,软件增加微分指令,但由于PLC扫描周期太短,仍可能在计数、累加、移位等指令中出错,出现错误控制;
3)现场变送器,机械开关自身出故障,如触点接触不良,变送器反映现场非电量偏差较大或不能正常工作等,这些故障同样会使控制系统不能正常工作。
影响执行机构出错的主要原因有:
1)控制负载的接触不能可靠动作,PLC发出了动作指令,但执行机构并没按要求动作;
2)控制变频器起动,由于变频器自身故障,变频器所带电机并没按要求工作;
3)各种电动阀、电磁阀该开的没能打开,该关的没能关到位,由于执行机构没能按PLC的控制要求动作,使系统无常工作,降低了系统可靠性。要提高整个控制系统的可靠性,必须提高输入信号的可靠性和执行机构动作的准确性,否则PLC应能及时发现问题,用声光等报警办法提示给操作人员,尽除故障,让系统安全、可靠、正确地工作。
6ES72111BE400XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES72111AE400XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES72111HE400XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES72121BE400XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES72121AE400XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES72121HE400XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES72141BG400XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES72141AG400XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES72141HG400XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES72151BG400XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72151AG400XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES72151HG400XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |