step7编程知识

step7编程知识
step7编程知识

第一章符号表

在STEP7中,用户可以直接使用的变量包括PLC的输入/输出地址、M存储区地址、数据DB块名、功能块名和系统已经在组织块和逻辑块中定义的变量等。如果能在STEP7中将变量用具有实际意义的符号名字代替,那么用户程序的可读性就会更好。

1.全局符号和局部符号

STEP7中可以定义两类符合:全局符号和局部符号,与其它编程语言的定义一样,全局符号是在整个用户程序范围内有效;局部符号是仅仅在定义的块内部有效。

2.符号的定义

符号名的长度不能多于24个字符,而且定义时不区分大小写字符。数据块中的地址(DBD,DBW,DBB,DBX)不能在符号表中定义,而应在数据声明表中定义。组织块(OB)、某些系统功能块(SFB)以及系统功能(SFC)已被系统根据块的功能预先赋予了符号名。在符号表中可以定义全局符号,需要注意的是,并不需要下载符号表。编辑符号后并保持符号表,这时符号表就生效了。

3.符号表的导入导出功能

在符号表编辑器中,可以通过导入导出功能。用户可以导出当前的符号表到一个文本文件,这样就可以用文本编辑器对符号进行编辑,还可以将文本编辑器中的符号表导入到用户程序中。导出符号表时,用户可以选择文件格式为“*.DIF”,则可以在Excel中打开、编辑并存储DIF文件;也可以选择文件格式为“*.SDF”在Access中打开、编辑并存储SDF文件。

第二章组织块OB

组织块(Organization Block),STEP7提供了大量的组织块用于执行用户程序,OB是CPU操作系统与用户程序间的接口。OB被嵌在用户程序中,根据某个事件的发生,执行相应的中断,自动调用相应的OB。

1.OB1工作原理:

CPU启动完毕后,操作系统就调用OB1,并且循环执行OB1的程序,读取当前输入模块的信号状态,刷新输入映像区并接收全局数据。每一次OB1程序执行完后,操作系统发送全局数据,传送输出映像区数据到输出模块。循环处理的主程序OB1的优先级最低,除OB90(背景组织块)外,其他所有的OB块均可以中断OB1的执行。

2.OB10~OB17:

时间日期中断组织块,这8个OB的默认优先级相同,都没有指定默认时间。但是,只有S7-400系统的高级CPU才可以使用全部8个OB,S7-300系列只能使用OB10。

3.OB20~0B23:

延时中断组织块,S7-300系列只能使用OB20。

4.OB30~OB38:

循环中断组织块,它们经过一段固定的时间间隔中断用户的程序。循环中断组织块每一次运行的时间一定要短于中断的间隔。如果一个循环中断组织块没有执行完,循环中断时间到,又要求循环中断组织块运行,则时间故障组织块OB80启动。反复的循环中断导致了故障程序的运行。

5.OB40~OB47

硬件中断组织块,用于快速响应信号模块SM、通信处理模块CP和功能模块FM的信号变化。

6.OB80:

时间错误处理组织块,OB执行出现故障,操作系统调用OB80。这样的故障包括:循环时间超出、执行OB时应答故障、向前移动时间以至于跃过了OB的启动时间。例如,当循环中断组织块仍在执行前一次调用时,该组织块的启动事件发生,操作系统调用OB80。如果OB80未编程,则CPU变为STOP方式。

7.OB81:

电源故障处理组织块,电源故障包括后备电池失效或未安装电池,电源故障出现和消失时操作系统都要调用该块。

8.OB82:

诊断中断组织块用于检查和评估诊断中断。如果模块具有诊断能力而且激活了诊断中断,当它检测到故障时,输出一个诊断中断请求给CPU,操作系统将调用OB82。故障包括:有诊断功能的模块的断线故障,模拟输入模块的电源故障,输入信号超过模拟量模块的测量范围。9.OB86:

机架故障组织块,当扩展机架、DP主站系统或分布式I/O中从站故障时(到来和离去事件),CPU操作系统将调用OB86。

10.OB87:

通信错误组织块,在使用通信功能块或全局数据(GD)通信进行数据交换时,若出现以下几种错误,系统将调用OB87。一是接收全局数据时,检测到不正确的帧标识符。二是全局数据通信的状态信息数据块不存在或太短。三是接收到非法的全局数据包编号。

11.OB100~OB102:

启动组织块,OB100(暖启动)OB101(热启动)和OB102(冷启动)。对于大多数的S7-300CPU来说,启动类型为暖启动,启动时过程映像和不保持的定时器、计数器以及标志存储器被清除,然后程序从OB1的第一条指令开始执行。S7-400还支持热启动组织块0B101.在热启动时,所有数据(过程映像、定时器、计数器以及标志存储器)被保持,程序从断点处恢复执行。

12.OB121:

编程故障组织块,当有关程序处理的故障事件发生时,CPU的操作系统调用OB121,OB121与被中断的块在同一优先级中执行。

13.OB122:

I/O访问故障组织块,当对模块的数据访问出现故障时CPU的操作系统调用I/O访问故障组织块OB122。例如,直接访问I/O错误(模块损坏或找不到),或访问一个CPU不能识别的I/O 地址。

第三章功能块FB

功能块是用户编写的有固定存储区的块。FB为带“记忆”的逻辑块。它有一个数据结构与功能块参数表完全相同的数据块(DB),该数据块称之为背景数据块(Instance Data Block),当功能块被执行时,数据块被调用。功能块结束,调用随之结束。存放在背景数据块中的数据在FB块结束后,仍能继续使用,具有“记忆”功能。

本工程涉及到的功能块主要包括以下几个:

1.连续PID调节功能块——FB41

焦炉的加热过程是个单各燃烧室间歇、全炉连续的过程。加热用介质――煤气的流量调节控制直接影响着焦炉的温度加热。在绝大部分焦炉的控制系统中,主要包括:煤气流量调节、煤气管道压力调节(实质也时通过调节压力来达到控制煤气流量)、焦炉机/焦侧分烟道吸力调节、焦炉上升管压力调节等一些调节系统。

PID工作原理

PID模块的功能是将PID调节的输入物理量(设定值和测量值的偏差值)转换为0~100之间的数,然后再进行PID调节,调节完后再将0~100之间的数转换为输出对象的实际量程范围。将输入物理量进行这种标准化变化的目的是为了使所有的PID调节都在同一基准下,调节的速度一致,以使整个系统的物理量工作比较协调。

FB41管脚说明:

2.1PID调节公式:

PID_OUTV(t)=Kc×ER(t)×[1+t/Ti+(Td/Tm_lag) ×e-t/Tm_lag]

2.2 调节选择开关:

P_SEL:P_SEL=1时,GAIN增益起作用。

I_SEL:I_SEL=1时,TI积分起作用。

D_SEL:D_SEL=1时,TD微分起作用。

2.3 手自动切换开关:

MAN_ON:MAN_ON=1时,表示调节回路处于“手动”;

MAN_ON=0时,表示调节回路处于“自动”。

MAN为手动输出值:MAN_ON=1时,MAN中的数值送给相应的模拟量输出通道。

MAN_ON=0时,PID算法计算值送给相应的模拟量输出通道。

2.4 量程说明:

LMNLIMT为经过限位后的PID算法输出值。

LMN_HLM为输出上限。

LMN_LLM为输出下限。

LMN计算:

?LMN=LMNLIMT×LMN_FAC+LMN_OFF

?LMN_FAC=1

?LMN_OFF=0

CRP_OUT计算:

CRP_OUT=LMN×27648÷100%

2.5 其它说明:

COM_RST:再启动位,需在OB100~OB102中的一个OB块中将一变量位置“1”后,将该位传给“COM_RST”。

表1

第四章功能FC

功能是用户所编写的无固定存储区的块,它为不带“记忆”的逻辑块。所谓不带“记忆”表示没有背景数据块。当完成操作后,数据不能保持。这些数据为临时数据,对于那些需要保持的数据只能通过共享数据块(Share Data)来存储。

本工程涉及的功能FC包括以下一些主要的功能FC:

1.基本线形标定功能——FC91:

基本线形标定块,把4~20mA的信号转换为规定量程上下限的显示值。主要是处理压力(包括吸力)、氧含量信号、线性流量信号、液位显示信号以及阀位反馈信号等。

IN:符号地址或绝对地址

HI_LIM:量程上限

LO_LIM:量程下限

OUT:经过线性转换后的显示

FAULT:故障管脚

图3

2.温度线性标定功能——FC96:

由于焦炉检测信号中,温度信号占据了很大的一部分,而温度信号(热电偶信号和热电阻信号)经过转换后除以10直接得到的数值就是温度显示信号。

IN:符号地址或绝对地址

OUT:显示地址

FAIL:故障管脚

图4

3.换向保持程序——FC41:

焦炉交换过程实际是一个停止加热的过程,在交换过程中,管网压力波动比较大,因此在交换时刻需引入交换信号作为判断来保持20~50秒左右时间的流量控制系统输出值不变。

图5

图6

程序说明:

●2P1为交换信号

●DB41.DBD72为经过限位后的PID算法输出值?

●DB41.DBD16为手动输出值

●T1为时间延时器

相关主题
相关文档
最新文档