1.定义变量
为了进行结构化编程,必须编制功能块。从搅拌机控制要求可见,泵A、泵B、搅拌电机的控制要求相似,都是接受操作面板的启动按钮、停止按钮控制,都需要满足一定的控制条件,都需要检测错误,都有工作、停止指示灯等。因此,可以通过一个统一的FB块进行结构化编程。
功能块FB需要的变量较多,本例中,作为泵A、泵B、搅拌电机共同的输入,包括了启动信号( start)、停止信号(stop)、接触器辅助触点反馈(fbk)、定时器(T no)、检测时间(fbk time)等,定义的输入变量表如图11-5.1所示。
作为泵A、泵B、搅拌电机共同的输出,包括了故障标志寄存器输出( err)、工作指示灯(start lt)、停止指示灯( stop_lt),定义的输出变量表如图11-5.2所示。
作为泵A、泵B、搅拌电机共同的输入/输出,有接触器线圈输出( coil),定义的输入/输出变量表如图11-5.3所示。
作为泵A、泵B、搅拌电机共同的静态变量,有启动延时(timl BIN与timl BCD),定义的静态变量表如图11-5.4所示。
2.编制功能块
根据以上变量定义与控制要求,用于搅拌机泵A、泵B、搅拌电机控制的功能块FB1编制如图11-5.5所示。
功能块包括了接触器的启动/停止控制、故障检测、指示灯3部分的控制程序,全部采用符号地址(形式参数)进行编程。